:root,:root[data-theme=dark]{--bg:#171718;--bg-elevated:#1c1c1e;--surface:#1f1f21;--surface-2:#242427;--surface-hover:#2a2a2e;--border:#2e2e32;--border-strong:#3d3d43;--text:#ededee;--text-muted:#a0a0ab;--text-dim:#757580;--primary:#3ecf8e;--primary-text:#12241c;--primary-hover:#4ade9c;--accent:#3ecf8e;--ok:#3ecf8e;--warn:#e2b341;--bad:#f0736a;--ok-border:#27614a;--warn-border:#6b5423;--bad-border:#6b352f;--ok-bg:#14241d;--warn-bg:#241f11;--bad-bg:#241614;--lattice-line:rgba(62,207,142,0.07);--lattice-line-strong:rgba(62,207,142,0.14);--lattice-glow:rgba(62,207,142,0.1);--shadow:0 1px 2px rgba(0,0,0,0.4),0 8px 24px -12px rgba(0,0,0,0.6);--ring:rgba(62,207,142,0.25);color-scheme:dark}:root[data-theme=light]{--bg:#fcfcfc;--bg-elevated:#ffffff;--surface:#ffffff;--surface-2:#f6f7f8;--surface-hover:#eef0f1;--border:#e6e8eb;--border-strong:#d3d7db;--text:#1c1c1c;--text-muted:#5e6772;--text-dim:#8b929b;--primary:#3ecf8e;--primary-text:#10241b;--primary-hover:#35bd80;--accent:#248a5f;--ok:#12805a;--warn:#8a6314;--bad:#b6382e;--ok-border:#b6e2cb;--warn-border:#e8d9a8;--bad-border:#f0c4bf;--ok-bg:#f0faf5;--warn-bg:#fdf8ec;--bad-bg:#fdf2f1;--lattice-line:rgba(36,138,95,0.08);--lattice-line-strong:rgba(36,138,95,0.15);--lattice-glow:rgba(62,207,142,0.12);--shadow:0 1px 2px rgba(16,24,20,0.05),0 8px 24px -12px rgba(16,24,20,0.12);--ring:rgba(36,138,95,0.2);color-scheme:light}:root{--radius:10px;--radius-sm:7px;--sidebar-w:232px;--topbar-h:52px;--lattice-size:46px}.lattice:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:repeating-linear-gradient(0deg,var(--lattice-line) 0 1px,transparent 1px var(--lattice-size)),repeating-linear-gradient(60deg,var(--lattice-line) 0 1px,transparent 1px var(--lattice-size)),repeating-linear-gradient(120deg,var(--lattice-line) 0 1px,transparent 1px var(--lattice-size))}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font:14px/1.55 system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;transition:background-color .18s ease,color .18s ease}a{color:inherit;text-decoration:none}.shell{display:flex;min-height:100vh;position:relative;z-index:1}.sidebar{width:var(--sidebar-w);flex-shrink:0;border-right:1px solid var(--border);background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:.65rem;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh}.org-chip{display:flex;align-items:center;gap:.6rem;padding:.5rem .55rem;border-radius:var(--radius-sm);margin-bottom:.9rem;transition:background .12s ease}.org-chip:hover{background:var(--surface-hover)}.org-mark{width:24px;height:24px;border-radius:7px;background:linear-gradient(140deg,var(--accent),#4b3fc4);color:#fff;display:grid;place-items:center;font-size:.72rem;font-weight:700;flex-shrink:0;box-shadow:var(--shadow)}.org-name{font-weight:600;font-size:.87rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:.65rem;padding:.45rem .55rem;border-radius:var(--radius-sm);color:var(--text-muted);font-size:.86rem;border:1px solid transparent;transition:background .12s ease,color .12s ease}.nav-item:hover{background:var(--surface-hover);color:var(--text)}.nav-item.active{background:var(--surface-2);border-color:var(--border);color:var(--text);font-weight:500}.nav-item svg{width:15px;height:15px;flex-shrink:0;opacity:.9}.sidebar-footer{margin-top:auto;padding-top:.7rem;border-top:1px solid var(--border);font-size:.8rem;color:var(--text-muted)}.main{flex:1 1;min-width:0;display:flex;flex-direction:column}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--border);justify-content:space-between;padding:0 1.1rem;gap:1rem;position:-webkit-sticky;position:sticky;top:0;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20}.crumbs,.topbar{display:flex;align-items:center}.crumbs{gap:.5rem;font-size:.85rem;color:var(--text-muted);min-width:0}.crumbs a:hover{color:var(--text)}.crumbs .sep{color:var(--text-dim)}.crumbs strong{color:var(--text);font-weight:600}.content{position:relative;z-index:1;padding:2.25rem 1.9rem 5rem;max-width:1060px;width:100%}.theme-toggle{display:inline-flex;padding:2px;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:99px}.theme-toggle button{all:unset;display:grid;place-items:center;width:26px;height:24px;border-radius:99px;cursor:pointer;color:var(--text-dim);transition:background .14s ease,color .14s ease}.theme-toggle button:hover{color:var(--text)}.theme-toggle button[aria-pressed=true]{background:var(--bg-elevated);color:var(--text);box-shadow:var(--shadow)}.theme-toggle svg{width:14px;height:14px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.9rem}h1{font-size:1.5rem;letter-spacing:-.016em}h1,h2{font-weight:600;margin:0}h2{font-size:.95rem}.subtitle{color:var(--text-muted);font-size:.885rem;margin:.35rem 0 0}.section{margin-bottom:2.4rem}.section-head{margin-bottom:.9rem}.section-head h2{margin-bottom:.25rem;font-size:1rem}.section-head p{margin:0;max-width:64ch}.muted,.section-head p{color:var(--text-muted);font-size:.86rem}.dim{color:var(--text-dim);font-size:.8rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.card+.card{margin-top:.8rem}.card-body{padding:1.15rem 1.2rem}.card-head{padding:.95rem 1.2rem;border-bottom:1px solid var(--border)}.card-foot,.card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.card-foot{padding:.85rem 1.2rem;border-top:1px solid var(--border);background:var(--surface-2)}.setting{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-gap:1.6rem;gap:1.6rem;padding:1.15rem 1.2rem;align-items:start}.setting+.setting{border-top:1px solid var(--border)}.setting-label{font-size:.885rem;font-weight:500}.setting-label p{margin:.25rem 0 0;color:var(--text-muted);font-weight:400;font-size:.825rem}.stack>*+*{margin-top:.7rem}.row{gap:.55rem}.between,.row{display:flex;align-items:center}.between{justify-content:space-between;gap:1rem}label.field{display:block;font-size:.83rem;color:var(--text-muted);margin-bottom:.4rem}input,select,textarea{width:100%;padding:.55rem .7rem;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:.885rem;outline:none;transition:border-color .14s ease,box-shadow .14s ease}input:focus,select:focus,textarea:focus{border-color:var(--text-dim);box-shadow:0 0 0 3px var(--ring)}input::placeholder,textarea::placeholder{color:var(--text-dim)}textarea{min-height:5rem;resize:vertical}button{padding:.48rem .85rem;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--primary);color:var(--primary-text);font:inherit;font-size:.86rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .14s ease,border-color .14s ease,opacity .14s ease}button:hover{background:var(--primary-hover)}button.secondary{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}button.secondary:hover{background:var(--surface-hover)}button.ghost{background:transparent;color:var(--text-muted)}button.ghost:hover{background:var(--surface-hover);color:var(--text)}button.wide{width:100%;padding:.62rem .85rem;justify-content:center}button:disabled{opacity:.45;cursor:not-allowed}button:disabled:hover{background:var(--primary)}button.secondary:disabled:hover{background:var(--surface-2)}table{width:100%;border-collapse:collapse;font-size:.875rem}thead th{text-align:left;padding:.62rem 1.2rem;font-family:ui-monospace,SF Mono,monospace;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);font-weight:500;background:var(--surface-2)}tbody td,thead th{border-bottom:1px solid var(--border)}tbody td{padding:.75rem 1.2rem;vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface-2)}.badge{display:inline-flex;align-items:center;gap:.38rem;padding:.16rem .55rem;border-radius:99px;font-size:.735rem;font-weight:500;border:1px solid var(--border-strong);color:var(--text-muted);white-space:nowrap}.badge:before{content:"";width:5px;height:5px;border-radius:99px;background:currentColor}.badge.plain:before{display:none}.badge.ok{color:var(--ok);border-color:var(--ok-border);background:var(--ok-bg)}.badge.warn{color:var(--warn);border-color:var(--warn-border);background:var(--warn-bg)}.badge.bad{border-color:var(--bad-border)}.badge.bad,.error{color:var(--bad);background:var(--bad-bg)}.error{border:1px solid var(--bad-border);border-radius:var(--radius-sm);font-size:.86rem}.error,.notice{padding:.68rem .85rem}.notice{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-muted);border-radius:var(--radius-sm);font-size:.84rem}.mono,code{font-family:ui-monospace,SF Mono,monospace;font-size:.82em}code{background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:.1rem .36rem;color:var(--text)}.empty{text-align:center;padding:4rem 1.5rem}.empty-mark{width:58px;height:58px;margin:0 auto 1.15rem;border-radius:15px;background:linear-gradient(150deg,var(--surface-hover),var(--bg));border:1px solid var(--border-strong);box-shadow:var(--shadow)}.empty h3{margin:0 0 .4rem;font-size:1rem;font-weight:600}.empty p{margin:0 auto 1.3rem;color:var(--text-muted);font-size:.875rem;max-width:36ch}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem;position:relative;overflow:hidden;background:var(--bg)}.auth-wrap:before{inset:0;background-image:repeating-linear-gradient(0deg,var(--lattice-line-strong) 0 1px,transparent 1px var(--lattice-size)),repeating-linear-gradient(60deg,var(--lattice-line-strong) 0 1px,transparent 1px var(--lattice-size)),repeating-linear-gradient(120deg,var(--lattice-line-strong) 0 1px,transparent 1px var(--lattice-size));mask-image:radial-gradient(ellipse 46% 44% at 50% 50%,transparent 20%,#000 78%);-webkit-mask-image:radial-gradient(ellipse 46% 44% at 50% 50%,transparent 20%,#000 78%)}.auth-wrap:after,.auth-wrap:before{content:"";position:absolute;pointer-events:none}.auth-wrap:after{width:62vw;height:62vw;max-width:820px;max-height:820px;border-radius:50%;background:radial-gradient(circle,var(--lattice-glow),transparent 65%);filter:blur(60px)}.auth-card{width:100%;max-width:372px;position:relative;z-index:2;text-align:center}.auth-mark{width:46px;height:46px;margin:0 auto 1.3rem;border-radius:13px;background:linear-gradient(150deg,var(--surface-hover),var(--bg-elevated));border:1px solid var(--border-strong);display:grid;place-items:center;font-weight:700;font-size:1.05rem;box-shadow:var(--shadow)}.auth-card h1{font-size:1.6rem;margin-bottom:.45rem}.auth-sub{color:var(--text-muted);font-size:.885rem;margin:0 0 1.6rem}.auth-sub button{all:unset;cursor:pointer;color:var(--text);font-weight:600}.auth-sub button:hover{text-decoration:underline}.auth-form{text-align:left;display:flex;flex-direction:column;gap:.85rem}.auth-terms{margin:1.4rem 0 0;font-size:.78rem;color:var(--text-dim)}.auth-theme{position:absolute;top:1.2rem;right:1.4rem;z-index:2}.oauth-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.6rem;gap:.6rem}.oauth-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem .7rem;background:var(--surface-2);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.855rem;font-weight:500}.oauth-btn:hover{background:var(--surface-hover)}.oauth-btn svg{width:16px;height:16px;flex-shrink:0}.divider{display:flex;align-items:center;gap:.8rem;color:var(--text-dim);font-size:.8rem;margin:1.15rem 0}.divider:after,.divider:before{content:"";flex:1 1;height:1px;background:var(--border)}