:root{color-scheme:light;--background: oklch(.983 .003 286.4);--foreground: oklch(.108 .015 220.9);--card: oklch(1 0 0);--card-foreground: oklch(.108 .015 220.9);--popover: oklch(1 0 0);--popover-foreground: oklch(.108 .015 220.9);--primary: oklch(.108 .015 220.9);--primary-foreground: oklch(1 0 0);--secondary: oklch(.956 .005 286.3);--secondary-foreground: oklch(.108 .015 220.9);--muted: oklch(.956 .005 286.3);--muted-foreground: oklch(.506 .013 285.9);--accent: oklch(.956 .005 286.3);--accent-foreground: oklch(.108 .015 220.9);--destructive: oklch(.504 .178 22.9);--success: oklch(.514 .1 167.2);--border: oklch(.894 .014 286.1);--input: oklch(.894 .014 286.1);--ring: oklch(.644 .167 276.1);--radius: .625rem;--radius-sm: calc(var(--radius) - .25rem);--radius-lg: calc(var(--radius) + .25rem);--shadow-card: 0 1px 2px rgb(16 24 40 / .04);--shadow-pop: 0 8px 24px rgb(16 24 40 / .08);--sidebar: oklch(.948 .011 286.2);--sidebar-foreground: oklch(.108 .015 220.9);--sidebar-primary: oklch(.108 .015 220.9);--sidebar-primary-foreground: oklch(1 0 0);--sidebar-accent: oklch(.832 .085 281.4 / .3);--sidebar-accent-foreground: oklch(.108 .015 220.9);--sidebar-border: oklch(.894 .014 286.1);--sidebar-ring: oklch(.644 .167 276.1);--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--tint-success: color-mix(in oklab, var(--success) 12%, white);--tint-success-border: color-mix(in oklab, var(--success) 35%, white);--tint-warning: color-mix(in oklab, #b45309 12%, white);--tint-warning-border: color-mix(in oklab, #b45309 35%, white);--tint-danger: color-mix(in oklab, var(--destructive) 10%, white);--tint-danger-border: color-mix(in oklab, var(--destructive) 32%, white);--tint-info: color-mix(in oklab, var(--ring) 14%, white);--tint-info-border: color-mix(in oklab, var(--ring) 36%, white);--warning: #b45309}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--foreground);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--border)}a:hover{text-decoration-color:var(--foreground)}h1{font-size:22px;font-weight:650;letter-spacing:-.01em;margin:0;color:var(--foreground)}h2{font-size:13px;font-weight:600;letter-spacing:.02em;margin:0;color:var(--foreground)}code{font-family:var(--font-mono);font-size:12px;background:var(--muted);color:var(--foreground);padding:2px 6px;border-radius:6px}.muted{color:var(--muted-foreground)}.small{font-size:12.5px}.shell{display:flex;min-height:100vh;background:var(--background)}.sidebar{width:260px;flex:0 0 260px;background:var(--sidebar);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;gap:18px;padding:18px 14px 14px;position:sticky;top:0;height:100vh;z-index:30}.sidebar-head{display:flex;align-items:center;gap:10px;padding:2px 6px 8px}.sidebar-head img{border-radius:10px}.brand-text{display:flex;flex-direction:column;line-height:1.2}.brand-name{font-weight:650;font-size:15px;letter-spacing:-.01em}.brand-sub{font-size:11.5px;color:var(--muted-foreground)}.sidebar-section{display:flex;flex-direction:column;gap:6px;padding:0 4px}.sidebar-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);padding:0 6px}.tenant-select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;font:inherit;font-size:13px;box-shadow:var(--shadow-card)}.tenant-select:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.nav{display:flex;flex-direction:column;gap:2px;padding:0 4px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:var(--sidebar-foreground);font:inherit;font-size:13.5px;font-weight:500;text-align:left;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s ease,color .12s ease}.nav-item svg{width:17px;height:17px;flex:0 0 17px;opacity:.72}.nav-item:hover{background:color-mix(in oklab,var(--sidebar-accent) 55%,transparent)}.nav-item.is-active{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground);font-weight:600}.nav-item.is-active svg{opacity:1}.nav-item:focus-visible{outline:2px solid var(--sidebar-ring);outline-offset:1px}.sidebar-foot{margin-top:auto;display:flex;align-items:center;gap:10px;padding:10px 8px 2px;border-top:1px solid var(--sidebar-border)}.avatar{width:32px;height:32px;border-radius:999px;background:var(--card);border:1px solid var(--border);display:grid;place-items:center;font-size:12px;font-weight:650;color:var(--foreground);flex:0 0 32px}.who{display:flex;flex-direction:column;min-width:0;flex:1}.who-email{font-size:12.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.who-role{font-size:11.5px;color:var(--muted-foreground)}.icon-btn{border:1px solid transparent;background:transparent;color:var(--muted-foreground);width:30px;height:30px;border-radius:var(--radius-sm);cursor:pointer;display:grid;place-items:center;padding:0}.icon-btn:hover{background:var(--card);border-color:var(--border);color:var(--foreground)}.icon-btn:focus-visible{outline:2px solid var(--sidebar-ring);outline-offset:1px}.main{flex:1;min-width:0;display:flex;flex-direction:column}.main-top{display:flex;align-items:center;gap:12px;height:56px;padding:0 24px;border-bottom:1px solid var(--border);background:var(--card);position:sticky;top:0;z-index:20}.hamburger{display:none}.crumbs{display:flex;align-items:center;gap:6px;font-size:13px;min-width:0}.crumb-muted{color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumb-sep{color:var(--border)}.crumb-current{font-weight:600}.main-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.content{padding:24px;max-width:1120px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:18px;min-height:calc(100vh - 56px)}.backdrop{display:none}.stack{display:flex;flex-direction:column;gap:18px}.page-head{display:flex;flex-direction:column;gap:4px}.page-head p{margin:0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.grid-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-card)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.metric{font-size:24px;font-weight:650;letter-spacing:-.02em;margin:0}.badges{display:flex;gap:6px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:550;padding:2px 8px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.badge-neutral{background:var(--muted);color:var(--muted-foreground);border-color:var(--border)}.badge-info{background:var(--tint-info);color:color-mix(in oklab,var(--ring) 70%,black);border-color:var(--tint-info-border)}.badge-success{background:var(--tint-success);color:color-mix(in oklab,var(--success) 78%,black);border-color:var(--tint-success-border)}.badge-warning{background:var(--tint-warning);color:var(--warning);border-color:var(--tint-warning-border)}.badge-danger{background:var(--tint-danger);color:color-mix(in oklab,var(--destructive) 85%,black);border-color:var(--tint-danger-border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:13px;font-weight:550;border-radius:var(--radius);border:1px solid var(--border);background:var(--card);color:var(--foreground);padding:8px 14px;cursor:pointer;box-shadow:var(--shadow-card);transition:background .12s ease,border-color .12s ease,box-shadow .12s ease;text-decoration:none}.btn:hover{background:color-mix(in oklab,var(--muted) 55%,white);border-color:color-mix(in oklab,var(--border) 70%,black)}.btn:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.btn-primary:hover{background:color-mix(in oklab,var(--primary) 88%,white);border-color:color-mix(in oklab,var(--primary) 88%,white)}.btn-ghost{background:transparent;box-shadow:none}.btn-ghost:hover{background:var(--muted);border-color:var(--border)}.btn-small{padding:5px 10px;font-size:12.5px;border-radius:var(--radius-sm)}.btn-block{width:100%}.center{display:grid;place-items:center;min-height:100vh;padding:24px;background:var(--background)}.panel{width:min(420px,100%);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-pop)}.panel h1{margin:0;font-size:20px}.panel img{align-self:flex-start}.field{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:500;color:var(--foreground)}.field input,.field select{background:var(--card);border:1px solid var(--input);border-radius:var(--radius);color:var(--foreground);padding:9px 11px;font:inherit;font-size:13.5px;box-shadow:var(--shadow-card)}.field input:focus,.field select:focus{outline:2px solid var(--ring);outline-offset:1px;border-color:transparent}.form-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.form-row .grow{flex:1;min-width:180px}.divider{display:flex;align-items:center;gap:10px;color:var(--muted-foreground);font-size:12px}.divider:before,.divider:after{content:"";height:1px;background:var(--border);flex:1}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.list-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in oklab,var(--background) 55%,white)}.list-main{display:flex;flex-direction:column;gap:4px;min-width:0}.list-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.error-inline{color:var(--destructive);font-size:12.5px}.keys{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.key-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid var(--border);border-radius:999px;background:var(--card)}.key-revoked{opacity:.6}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}.table th{color:var(--muted-foreground);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.table tr:last-child td{border-bottom:0}.bar{height:6px;border-radius:999px;background:var(--muted);overflow:hidden}.bar span{display:block;height:100%;border-radius:999px;transition:width .2s ease}.bar-success span{background:var(--success)}.bar-warning span{background:#d97706}.bar-danger span{background:var(--destructive)}.bar-info span{background:var(--ring)}.bar-neutral span{background:var(--muted-foreground)}.error-box{background:var(--tint-danger);border:1px solid var(--tint-danger-border);color:color-mix(in oklab,var(--destructive) 85%,black);padding:10px 14px;border-radius:var(--radius);font-size:13px}.key-banner{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid var(--tint-success-border);background:var(--tint-success);padding:14px 16px;border-radius:var(--radius);flex-wrap:wrap}.key-banner code{display:block;margin-top:6px;font-size:13.5px;word-break:break-all;background:var(--card);border:1px solid var(--border)}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.row-actions{display:flex;gap:8px}.empty{color:var(--muted-foreground);padding:22px;border:1px dashed var(--border);border-radius:var(--radius);text-align:center;background:color-mix(in oklab,var(--card) 60%,transparent)}.loading{color:var(--muted-foreground)}.footer{display:flex;justify-content:space-between;padding:16px 0 4px;margin-top:auto;border-top:1px solid var(--border);color:var(--muted-foreground);font-size:12px}@media(max-width:900px){.sidebar{position:fixed;inset:0 auto 0 0;transform:translate(-105%);transition:transform .18s ease;box-shadow:var(--shadow-pop)}.sidebar.is-open{transform:translate(0)}.hamburger{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--foreground);cursor:pointer}.backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#10182847;border:0;padding:0;z-index:25}.main-top{padding:0 16px}.content{padding:18px 16px}.panel{padding:22px}.list-row{flex-direction:column}.list-side{align-items:flex-start}}.toolbar{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.toolbar .grow{flex:1;min-width:180px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}.form-actions{display:flex;justify-content:flex-end}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.table-wrap .table{min-width:640px}.row-clickable{cursor:pointer}.row-clickable:hover td{background:color-mix(in oklab,var(--muted) 40%,white)}.cell-sub{display:block;margin-top:2px}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.detail-head h1{margin-bottom:4px}.notice{background:var(--tint-info);border:1px solid var(--tint-info-border);color:color-mix(in oklab,var(--ring) 70%,black);padding:10px 14px;border-radius:var(--radius);font-size:13px}.back-link{align-self:flex-start}
