:root{color-scheme:light dark;--bg: light-dark(#f6f7f9, #101216);--surface: light-dark(#ffffff, #191c22);--surface-2: light-dark(#f0f2f5, #21252d);--line: light-dark(#e3e6eb, #2c313b);--line-strong: light-dark(#c9cfd8, #3a4150);--ink: light-dark(#171a21, #e9ebef);--muted: light-dark(#5d6674, #9aa3b0);--faint: light-dark(#8b93a0, #6b7482);--accent: light-dark(#5b5bd6, #8583f2);--accent-ink: #ffffff;--accent-soft: light-dark(#eeeefc, #26263e);--accent-line: light-dark(#c9c9f4, #3d3d6b);--ok: light-dark(#1a7f4e, #4ade80);--ok-soft: light-dark(#e6f5ec, #14291d);--warn: light-dark(#996a13, #fbbf24);--warn-soft: light-dark(#fdf3dd, #2e2410);--danger: light-dark(#c23934, #f87171);--danger-soft: light-dark(#fdeceb, #321a19);--shadow-1: 0 1px 2px light-dark(rgb(23 26 33 / .06), rgb(0 0 0 / .4));--shadow-2: 0 4px 16px light-dark(rgb(23 26 33 / .08), rgb(0 0 0 / .5));--radius: 10px;--radius-sm: 7px;--font-ui: "Schibsted Grotesk", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, Consolas, monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:14.5px;line-height:1.55}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}code{font-family:var(--font-mono);font-size:.82em;background:var(--surface-2);border:1px solid var(--line);padding:1px 6px;border-radius:5px;word-break:break-all;font-variant-numeric:tabular-nums}:is(a,button,input,select,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.shell{display:flex;min-height:100dvh}.sidebar{width:224px;flex-shrink:0;border-right:1px solid var(--line);background:var(--surface);padding:20px 12px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100dvh}.sidebar .brand{display:flex;align-items:center;gap:10px;padding:4px 10px 18px;font-weight:700;font-size:1.05rem;letter-spacing:-.01em;color:var(--ink)}.sidebar .brand:hover{text-decoration:none}.brand-mark{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--accent),light-dark(#8a5bd6,#b8a2f5));display:grid;place-items:center;color:#fff;flex-shrink:0}.navlink{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-sm);color:var(--muted);font-weight:500;min-height:38px;transition:background .15s ease-out,color .15s ease-out}.navlink:hover{background:var(--surface-2);color:var(--ink);text-decoration:none}.navlink.on{background:var(--accent-soft);color:var(--accent)}.navlink svg{flex-shrink:0}.sidebar .spacer{flex:1}.userbox{border-top:1px solid var(--line);padding:12px 10px 2px;display:flex;align-items:center;gap:10px}.avatar{width:30px;height:30px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:700;font-size:.8rem;flex-shrink:0;text-transform:uppercase}.userbox .who{min-width:0;flex:1}.userbox .who .em{font-size:.78rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{flex:1;min-width:0}.page{max-width:980px;margin:0 auto;padding:36px 32px 80px}.page-head{margin-bottom:24px}.page h1{font-size:1.45rem;font-weight:700;letter-spacing:-.02em;margin:0 0 4px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page .sub{color:var(--muted);margin:0;font-size:.92rem;max-width:64ch}.crumb{font-size:.82rem;color:var(--muted);margin:0 0 10px;display:inline-flex;align-items:center;gap:6px}@media(max-width:860px){.shell{flex-direction:column}.sidebar{width:100%;height:auto;position:static;flex-direction:row;align-items:center;padding:10px 14px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand{padding:0 8px 0 0}.navlink{padding:8px 10px}.userbox{border:0;padding:0;margin-left:auto}.userbox .who{display:none}.page{padding:24px 16px 64px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:18px;box-shadow:var(--shadow-1)}.card h2{font-size:.98rem;font-weight:650;margin:0 0 14px;display:flex;align-items:center;gap:8px}.card h2 svg{color:var(--muted)}.row{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}.grow{flex:1;min-width:180px}label{display:block;font-size:.78rem;font-weight:550;color:var(--muted);margin:12px 0 5px}input,select{width:100%;padding:9px 11px;min-height:40px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);font:inherit;transition:border-color .15s ease-out,box-shadow .15s ease-out}input::placeholder{color:var(--faint)}input:hover,select:hover{border-color:var(--line-strong, var(--muted))}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}button{font:inherit;font-weight:600;padding:9px 16px;min-height:40px;border:0;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:filter .15s ease-out,background .15s ease-out,transform .1s ease-out}button:hover{filter:brightness(1.08)}button:active{transform:scale(.98)}button:disabled{opacity:.55;cursor:default;filter:none;transform:none}button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}button.ghost:hover{background:var(--surface-2);filter:none}button.danger{background:var(--danger);color:#fff}button.subtle{background:var(--surface-2);color:var(--ink)}button.subtle:hover{filter:none;background:var(--line)}button.icon{padding:6px;min-height:30px;min-width:30px;background:transparent;color:var(--muted);border-radius:6px}button.icon:hover{background:var(--surface-2);color:var(--ink);filter:none}.tablewrap{overflow-x:auto;margin:0 -6px}table{width:100%;border-collapse:collapse;font-size:.88rem}th{text-align:left;color:var(--faint);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;padding:8px 12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top;font-variant-numeric:tabular-nums}tbody tr{transition:background .12s ease-out}tbody tr:hover{background:var(--surface-2)}tr:last-child td{border-bottom:0}td .cell-title{font-weight:600}td .cell-sub{color:var(--muted);font-size:.8rem;margin-top:1px}.pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:99px;font-size:.72rem;font-weight:650;letter-spacing:.01em;vertical-align:middle}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill.active{background:var(--ok-soft);color:var(--ok)}.pill.suspended,.pill.banned{background:var(--danger-soft);color:var(--danger)}.pill.provisioning{background:var(--warn-soft);color:var(--warn)}.pill.plan{background:var(--accent-soft);color:var(--accent)}.pill.plan:before,.pill.role:before{display:none}.pill.role{background:var(--warn-soft);color:var(--warn)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto}.tabs button{background:transparent;color:var(--muted);border-radius:0;padding:10px 14px;min-height:42px;font-weight:550;box-shadow:none;position:relative;white-space:nowrap}.tabs button:hover{color:var(--ink);filter:none}.tabs button:active{transform:none}.tabs button.on{color:var(--accent);font-weight:650}.tabs button.on:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:var(--accent)}.error{color:var(--danger);font-size:.85rem;min-height:1.2em;margin-top:8px}.notice{color:var(--ok);font-size:.85rem;margin-top:8px}.empty{color:var(--muted);padding:40px 24px;text-align:center;font-size:.9rem;display:flex;flex-direction:column;align-items:center;gap:10px}.empty svg{color:var(--faint)}.secret{background:var(--ok-soft);border:1px solid color-mix(in srgb,var(--ok) 35%,transparent);border-radius:var(--radius-sm);padding:14px 16px;margin-top:14px;font-size:.85rem;display:grid;gap:6px}.secret strong{color:var(--ok)}.secret .kv{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.callout{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--radius-sm);padding:12px 14px;font-size:.85rem;color:var(--ink)}.chip{display:inline-flex;align-items:center;gap:6px;max-width:100%}.chip code{border-radius:6px 0 0 6px;border-right:0;padding:4px 8px}.chip button.icon{border:1px solid var(--line);border-radius:0 6px 6px 0;min-height:27px;background:var(--surface-2)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-2) 25%,var(--line) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite linear;height:14px}@keyframes shimmer{to{background-position:-200% 0}}.authwrap{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(680px 380px at 15% 0%,light-dark(rgb(91 91 214 / .09),rgb(133 131 242 / .1)),transparent 65%),radial-gradient(560px 340px at 95% 100%,light-dark(rgb(138 91 214 / .07),rgb(184 162 245 / .06)),transparent 60%),var(--bg)}.authbox{width:min(94vw,400px)}.authbox .brandline{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:20px;font-weight:700;font-size:1.1rem;letter-spacing:-.01em}.authbox .card{padding:28px;box-shadow:var(--shadow-2);margin:0}.authbox h1{font-size:1.2rem;margin:0 0 4px;letter-spacing:-.015em}.authbox .sub{margin-bottom:6px}.authbox form button[type=submit]{width:100%}.authfoot{text-align:center;color:var(--faint);font-size:.78rem;margin-top:18px}button.google{width:100%;background:var(--surface);color:var(--ink);border:1px solid var(--line);font-weight:550}button.google:hover{border-color:var(--line-strong, var(--muted));background:var(--surface-2);filter:none}.divider{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;margin:16px 0 4px}.divider:before,.divider:after{content:"";flex:1;border-top:1px solid var(--line)}.linkbtn{background:none;border:0;padding:0;min-height:0;color:var(--accent);font-weight:550;cursor:pointer;font-size:.85rem}.linkbtn:hover{text-decoration:underline;filter:none}.linkbtn:active{transform:none}
