:root{color-scheme:light;--fx-primary: #2563EB;--fx-primary-hover: #1D4ED8;--fx-primary-active: #1E40AF;--fx-primary-fg: #FFFFFF;--fx-primary-soft: #EEF3FF;--fx-primary-soft-fg: #1D4ED8;--fx-link: #2563EB;--fx-focus-ring: #2563EB;--fx-sidebar-bg: #F6F6F8;--fx-sidebar-border: #E8E8EE;--fx-sidebar-fg: #52525B;--fx-sidebar-fg-hover: #18181B;--fx-sidebar-hover-bg: #ECECF0;--fx-sidebar-active-bg: #FFFFFF;--fx-sidebar-active-fg: #18181B;--fx-sidebar-section: #6B6B74;--fx-canvas: #FBFBFC;--fx-surface: #FFFFFF;--fx-surface-subtle: #F4F4F7;--fx-surface-overlay: rgba(24, 24, 27, .45);--fx-border: #E8E8EE;--fx-border-strong: #D6D6DE;--fx-border-control: #71717A;--fx-text: #18181B;--fx-text-secondary: #52525B;--fx-text-muted: #6B6B74;--fx-text-disabled: #A1A1AA;--fx-text-inverse: #FFFFFF;--fx-positive-bg: #E8F6ED;--fx-positive-fg: #15803D;--fx-positive-solid: #16A34A;--fx-negative-bg: #FDECEC;--fx-negative-fg: #B91C1C;--fx-negative-solid: #DC2626;--fx-warning-bg: #FDF2E2;--fx-warning-fg: #92400E;--fx-warning-solid: #D97706;--fx-info-bg: #EEF3FF;--fx-info-fg: #1D4ED8;--fx-neutral-bg: #F0F0F3;--fx-neutral-fg: #52525B;--fx-chart-1: #2563EB;--fx-chart-2: #0891B2;--fx-chart-3: #7C3AED;--fx-chart-4: #D97706;--fx-chart-5: #DB2777;--fx-chart-grid: #E8E8EE;--fx-chart-axis: #6B6B74}:root.dark,:root[data-theme=dark]{color-scheme:dark;--fx-primary: #2563EB;--fx-primary-hover: #1D4ED8;--fx-primary-active: #1E40AF;--fx-primary-fg: #FFFFFF;--fx-primary-soft: #141E36;--fx-primary-soft-fg: #93B4FF;--fx-link: #7AA2FF;--fx-focus-ring: #5B8CFF;--fx-sidebar-bg: #0D0D10;--fx-sidebar-border: #1F1F24;--fx-sidebar-fg: #A1A1AA;--fx-sidebar-fg-hover: #F4F4F5;--fx-sidebar-hover-bg: #18181C;--fx-sidebar-active-bg: #1C1C21;--fx-sidebar-active-fg: #FFFFFF;--fx-sidebar-section: #8A8A94;--fx-canvas: #0A0A0C;--fx-surface: #121215;--fx-surface-subtle: #1A1A1E;--fx-surface-overlay: rgba(0, 0, 0, .65);--fx-border: #232329;--fx-border-strong: #33333B;--fx-border-control: #6B6B75;--fx-text: #F4F4F5;--fx-text-secondary: #C4C4CC;--fx-text-muted: #A1A1AA;--fx-text-disabled: #52525B;--fx-text-inverse: #0A0A0C;--fx-positive-bg: #0F2619;--fx-positive-fg: #5AD68A;--fx-positive-solid: #22C55E;--fx-negative-bg: #2D0F10;--fx-negative-fg: #FCA5A5;--fx-negative-solid: #EF4444;--fx-warning-bg: #2A1E0A;--fx-warning-fg: #F2C25B;--fx-warning-solid: #F59E0B;--fx-info-bg: #141E36;--fx-info-fg: #93B4FF;--fx-neutral-bg: #1D1D22;--fx-neutral-fg: #C4C4CC;--fx-chart-1: #5B8CFF;--fx-chart-2: #22D3EE;--fx-chart-3: #A78BFA;--fx-chart-4: #FBBF24;--fx-chart-5: #F472B6;--fx-chart-grid: #232329;--fx-chart-axis: #A1A1AA}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not(.light){color-scheme:dark;--fx-primary: #2563EB;--fx-primary-hover: #1D4ED8;--fx-primary-active: #1E40AF;--fx-primary-fg: #FFFFFF;--fx-primary-soft: #141E36;--fx-primary-soft-fg: #93B4FF;--fx-link: #7AA2FF;--fx-focus-ring: #5B8CFF;--fx-sidebar-bg: #0D0D10;--fx-sidebar-border: #1F1F24;--fx-sidebar-fg: #A1A1AA;--fx-sidebar-fg-hover: #F4F4F5;--fx-sidebar-hover-bg: #18181C;--fx-sidebar-active-bg: #1C1C21;--fx-sidebar-active-fg: #FFFFFF;--fx-sidebar-section: #8A8A94;--fx-canvas: #0A0A0C;--fx-surface: #121215;--fx-surface-subtle: #1A1A1E;--fx-surface-overlay: rgba(0,0,0,.65);--fx-border: #232329;--fx-border-strong: #33333B;--fx-border-control: #6B6B75;--fx-text: #F4F4F5;--fx-text-secondary: #C4C4CC;--fx-text-muted: #A1A1AA;--fx-text-disabled: #52525B;--fx-text-inverse: #0A0A0C;--fx-positive-bg: #0F2619;--fx-positive-fg: #5AD68A;--fx-positive-solid: #22C55E;--fx-negative-bg: #2D0F10;--fx-negative-fg: #FCA5A5;--fx-negative-solid: #EF4444;--fx-warning-bg: #2A1E0A;--fx-warning-fg: #F2C25B;--fx-warning-solid: #F59E0B;--fx-info-bg: #141E36;--fx-info-fg: #93B4FF;--fx-neutral-bg: #1D1D22;--fx-neutral-fg: #C4C4CC;--fx-chart-1: #5B8CFF;--fx-chart-2: #22D3EE;--fx-chart-3: #A78BFA;--fx-chart-4: #FBBF24;--fx-chart-5: #F472B6;--fx-chart-grid: #232329;--fx-chart-axis: #A1A1AA}}:root{--portal-sidebar: #1e3a5f;--portal-sidebar-fg: #bfdbfe;--portal-sidebar-section: #93c5fd;--radius: 8px;--shadow-pop: 0 20px 50px rgba(15, 23, 42, .2);--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}:root[data-theme=dark]{--portal-sidebar: #020617;--portal-sidebar-fg: #cbd5e1;--portal-sidebar-section: #94a3b8}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--portal-sidebar: #020617;--portal-sidebar-fg: #cbd5e1;--portal-sidebar-section: #94a3b8}}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--fx-canvas);color:var(--fx-text);-webkit-font-smoothing:antialiased;line-height:1.45}a{color:var(--fx-link);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--fx-focus-ring);outline-offset:2px}.mono{font-family:var(--mono)}.muted{color:var(--fx-text-muted)}.small{font-size:12px}.xs{font-size:11px}.nowrap{white-space:nowrap}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.spacer{flex:1}.stack{display:flex;flex-direction:column;gap:12px}.shell{display:flex;height:100vh}.sidebar{width:220px;flex-shrink:0;background:var(--portal-sidebar);color:var(--portal-sidebar-fg);display:flex;flex-direction:column;z-index:30}.side-head{padding:18px 18px 12px;border-bottom:1px solid rgba(255,255,255,.06)}.brand{display:flex;align-items:center;gap:8px;color:#fff;font-weight:600;font-size:13px}.brand-mark{width:26px;height:26px;border-radius:6px;background:#fff;display:grid;place-items:center}.workspace-name{font-size:10px;color:var(--portal-sidebar-section);margin-top:6px;text-transform:uppercase;letter-spacing:.05em}.side-nav{flex:1;padding:8px;display:flex;flex-direction:column;gap:1px;overflow-y:auto}.side-section{font-size:10px;color:var(--portal-sidebar-section);text-transform:uppercase;letter-spacing:.06em;padding:9px 8px 3px}.nav-item{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:6px;font-size:12.5px;color:var(--portal-sidebar-fg);transition:background .15s,box-shadow .15s,color .15s}.nav-item svg{width:15px;height:15px;flex-shrink:0}.nav-item:hover{background:#ffffff14;color:#fff;text-decoration:none}.nav-item.active{color:#fff;background:linear-gradient(135deg,#ffffff3d,#ffffff0f);box-shadow:inset 0 1px #ffffff59,inset 0 0 0 1px #ffffff2e,0 6px 16px #02061747}.side-foot{padding:10px;border-top:1px solid rgba(255,255,255,.06)}.quota-label{font-size:10px;color:var(--portal-sidebar-section);margin-bottom:6px}.quota-track{height:4px;background:#ffffff1a;border-radius:999px;margin-bottom:10px;overflow:hidden}.quota-fill{height:100%;background:#60a5fa;border-radius:999px}.quota-fill.warn{background:#fbbf24}.side-user{display:flex;align-items:center;gap:8px;padding:4px;width:100%;border:0;background:none;border-radius:6px;cursor:pointer;text-align:left;color:inherit}.side-user:hover{background:#ffffff14}.side-user strong{display:block;font-size:12px;font-weight:500;color:#fff}.side-user small{font-size:10px;color:var(--portal-sidebar-section);text-transform:capitalize}.avatar{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;flex-shrink:0}.avatar.soft{background:var(--fx-primary-soft);color:var(--fx-primary-soft-fg);width:30px;height:30px}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:52px;border-bottom:1px solid var(--fx-border);background:var(--fx-surface);display:flex;align-items:center;justify-content:space-between;padding:0 22px;flex-shrink:0;gap:12px}.crumbs{font-size:13px;display:flex;gap:6px;align-items:center;white-space:nowrap;min-width:0;overflow:hidden}.crumbs span:first-child{color:var(--fx-text-muted)}.crumbs .sep{color:var(--fx-text-disabled)}.crumbs strong{font-weight:600;overflow:hidden;text-overflow:ellipsis}.search-pill{display:flex;align-items:center;gap:6px;padding:5px 10px;background:var(--fx-surface-subtle);border:1px solid var(--fx-border);border-radius:6px;color:var(--fx-text-muted);font-size:12px;cursor:pointer;white-space:nowrap}.search-pill:hover{border-color:var(--fx-border-strong)}.search-pill kbd{background:var(--fx-border);border-radius:3px;padding:1px 5px;font-size:10px;font-family:var(--mono)}.menu-toggle{display:none}.content{flex:1;overflow-y:auto;padding:22px 24px 48px}.content-inner{max-width:1280px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:18px}.page-head h1{font-size:22px;font-weight:600;letter-spacing:-.02em}.page-head p{font-size:13px;color:var(--fx-text-muted);margin-top:3px;max-width:720px}.back{font-size:12px;display:inline-block;margin-bottom:10px}.card{background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:var(--radius);min-width:0}.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--fx-border);font-size:13px;font-weight:600;flex-wrap:wrap}.card-head a,.card-head .link{font-size:11.5px;font-weight:500}.card-body{padding:14px}.card.pad{padding:16px}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.mb{margin-bottom:14px}.list-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--fx-border);flex-wrap:wrap}.list-row:last-child{border-bottom:0}.list-row.clickable{cursor:pointer}.list-row.clickable:hover{background:var(--fx-surface-subtle)}.overline{font-size:10px;color:var(--fx-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.dl{display:grid;grid-template-columns:120px 1fr;row-gap:7px;column-gap:10px;font-size:12px}.dl dt{color:var(--fx-text-muted)}.divider{border-top:1px solid var(--fx-border);padding-top:12px}.stat{background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:var(--radius);padding:13px 14px;transition:box-shadow .15s,border-color .15s}.stat:hover{box-shadow:0 8px 16px #2563eb12;border-color:color-mix(in srgb,var(--fx-primary) 25%,var(--fx-border))}.stat .value{font-size:22px;font-weight:600;letter-spacing:-.02em;margin-top:6px;font-variant-numeric:tabular-nums}.stat .delta{font-size:11px;font-weight:500;margin-top:3px;color:var(--fx-text-muted)}.delta.up{color:var(--fx-positive-fg)}.delta.down{color:var(--fx-negative-fg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;flex-shrink:0;padding:7px 14px;border-radius:6px;font-size:13px;font-weight:500;background:var(--fx-surface);color:var(--fx-text);border:1px solid var(--fx-border-strong);cursor:pointer;transition:background .12s,border-color .12s;text-decoration:none}.btn:hover{background:var(--fx-surface-subtle);text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--fx-primary);color:var(--fx-primary-fg);border-color:var(--fx-primary)}.btn.primary:hover{background:var(--fx-primary-hover);border-color:var(--fx-primary-hover)}.btn.danger{background:transparent;color:var(--fx-negative-fg);border-color:var(--fx-border)}.btn.danger:hover{background:var(--fx-negative-bg);border-color:var(--fx-negative-solid)}.btn.danger.solid{background:var(--fx-negative-solid);color:#fff;border-color:var(--fx-negative-solid)}.btn.ghost{background:transparent;border-color:transparent;color:var(--fx-text-muted)}.btn.ghost:hover{background:var(--fx-surface-subtle);color:var(--fx-text)}.btn.sm{padding:4px 10px;font-size:12px}.btn.lg{padding:10px 18px;font-size:14px}.btn.icon{padding:6px}.btn svg{width:14px;height:14px}.link-btn{background:none;border:0;color:var(--fx-link);cursor:pointer;font-size:12px;font-weight:500;padding:0}.link-btn:hover{text-decoration:underline}.link-btn.danger{color:var(--fx-negative-fg)}.link-btn:disabled{color:var(--fx-text-disabled);cursor:not-allowed;text-decoration:none}.actions{display:flex;gap:14px;justify-content:flex-end}.field{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:500;min-width:0}.field .hint{font-weight:400;color:var(--fx-text-muted);font-size:11px}.field .optional{font-weight:400;color:var(--fx-text-muted)}.input,.select,textarea.input{width:100%;padding:7px 10px;border:1px solid var(--fx-border-strong);border-radius:6px;font-size:13px;background:var(--fx-surface);color:var(--fx-text);min-width:0}.input:hover,.select:hover{border-color:var(--fx-border-control)}.input:focus,.select:focus{outline:2px solid color-mix(in srgb,var(--fx-focus-ring) 35%,transparent);border-color:var(--fx-focus-ring);outline-offset:0}.input.lg{padding:10px 12px;font-size:14px}.input[readonly]{background:var(--fx-surface-subtle)}.input-group{display:flex;border:1px solid var(--fx-border-strong);border-radius:6px;overflow:hidden;background:var(--fx-surface);min-width:0}.input-group:focus-within{border-color:var(--fx-focus-ring)}.input-group .select,.input-group .input{border:0;border-radius:0;outline:none}.input-group .select{width:auto;max-width:50%;background:var(--fx-surface-subtle);border-right:1px solid var(--fx-border);color:var(--fx-text-secondary)}.form-grid{display:grid;gap:12px;grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1 / -1}.check{display:flex;gap:8px;align-items:center;font-size:12.5px;font-weight:400;cursor:pointer}.check input{width:15px;height:15px;accent-color:var(--fx-primary)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}.filters .input{flex:1;min-width:220px;max-width:340px}.filters .select{width:auto;font-size:12.5px}.segmented{display:inline-flex;background:var(--fx-surface-subtle);border-radius:7px;padding:3px;gap:2px}.segmented button{padding:5px 12px;border-radius:5px;font-size:12px;font-weight:500;cursor:pointer;border:0;background:transparent;color:var(--fx-text-muted)}.segmented button.on{background:var(--fx-surface);color:var(--fx-text);box-shadow:0 1px 2px #00000014}.error-text{color:var(--fx-negative-fg);font-size:12px}.badge{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;background:var(--fx-neutral-bg);color:var(--fx-neutral-fg)}.badge.positive{background:var(--fx-positive-bg);color:var(--fx-positive-fg)}.badge.warning{background:var(--fx-warning-bg);color:var(--fx-warning-fg)}.badge.negative{background:var(--fx-negative-bg);color:var(--fx-negative-fg)}.badge.info{background:var(--fx-info-bg);color:var(--fx-info-fg)}.badge.outline{background:transparent;border:1px solid var(--fx-border);color:var(--fx-text-muted)}.method{font-family:var(--mono);font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;min-width:52px;text-align:center}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;padding:8px 12px;color:var(--fx-text-muted);font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;background:var(--fx-surface-subtle);border-bottom:1px solid var(--fx-border);white-space:nowrap}td{padding:10px 12px;font-size:12.5px;border-bottom:1px solid var(--fx-border);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr.hover:hover{background:var(--fx-surface-subtle)}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}td.check-cell,th.check-cell{width:34px;padding-right:0}.short{font-family:var(--mono);font-weight:600;color:var(--fx-link);font-size:12.5px}.cell-title{font-size:11.5px;color:var(--fx-text-muted);margin-top:1px}.dest{color:var(--fx-text-muted);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pager{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;color:var(--fx-text-muted);border-top:1px solid var(--fx-border);gap:10px;flex-wrap:wrap}.bulk-bar{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--fx-primary-soft);color:var(--fx-primary-soft-fg);font-size:12.5px;border-bottom:1px solid var(--fx-border);flex-wrap:wrap}.empty{text-align:center;padding:44px 20px;color:var(--fx-text-muted);font-size:13px}.empty strong{display:block;color:var(--fx-text);font-size:14px;margin-bottom:4px}.empty .btn{margin-top:14px}.chart{padding:16px 14px 10px}.bars{display:flex;align-items:flex-end;gap:3px;height:170px;border-bottom:1px solid var(--fx-chart-grid);position:relative}.bars .col{flex:1;height:100%;display:flex;align-items:flex-end;gap:1px;position:relative}.bars .bar{flex:1;background:var(--fx-chart-1);border-radius:2px 2px 0 0;min-height:0;transition:opacity .12s}.bars .bar.b2{background:var(--fx-chart-2)}.bars .stackbar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%}.bars .stackbar .bar{flex:none}.bars .stackbar .err{background:var(--fx-negative-solid);border-radius:0}.bars .col:hover .bar{opacity:.75}.bars .col .tip{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--fx-text);color:var(--fx-surface);font-size:11px;padding:5px 8px;border-radius:5px;white-space:nowrap;z-index:5;pointer-events:none;line-height:1.5}.bars .col:hover .tip{display:block}.axis{display:flex;justify-content:space-between;font-size:10.5px;color:var(--fx-chart-axis);margin-top:6px}.legend{display:flex;gap:14px;font-size:11px;color:var(--fx-text-muted);font-weight:400;flex-wrap:wrap}.legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px;vertical-align:0}.meter{height:8px;background:var(--fx-surface-subtle);border-radius:999px;overflow:hidden}.meter.thin{height:6px}.meter>div{height:100%;border-radius:999px;background:var(--fx-chart-1)}.meter>div.warn{background:var(--fx-warning-solid)}.meter>div.over{background:var(--fx-negative-solid)}.callout{border-radius:var(--radius);padding:14px 16px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;background:var(--fx-info-bg);color:var(--fx-info-fg);border:1px solid color-mix(in srgb,var(--fx-info-fg) 20%,transparent);margin-bottom:14px}.callout.warning{background:var(--fx-warning-bg);color:var(--fx-warning-fg);border-color:color-mix(in srgb,var(--fx-warning-fg) 25%,transparent)}.callout.positive{background:var(--fx-positive-bg);color:var(--fx-positive-fg);border-color:color-mix(in srgb,var(--fx-positive-fg) 25%,transparent)}.callout strong{font-size:13px}.callout p{font-size:12px;margin-top:2px}.secret-grid{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:11.5px;align-items:center;min-width:0}.secret-grid code{background:var(--fx-surface);color:var(--fx-text);padding:3px 7px;border-radius:4px;font-family:var(--mono);word-break:break-all}.code-card{background:#18181b;border-radius:var(--radius);overflow:hidden;min-width:0;color:#e4e4e7}.code-tabs{display:flex;gap:2px;padding:6px 8px;border-bottom:1px solid #27272a;align-items:center}.code-tabs button{padding:4px 10px;border-radius:5px;font-size:12px;cursor:pointer;background:transparent;border:0;color:#a1a1aa}.code-tabs button.on{background:#27272a;color:#fff}.code-tabs .copy{margin-left:auto}pre.code{margin:0;padding:16px;font-size:12px;line-height:1.65;font-family:var(--mono);white-space:pre-wrap;word-break:break-all}pre.code.response{color:#93c5fd;padding-top:0}.code-label{padding:12px 16px;border-top:1px solid #27272a;font-size:11px;color:#a1a1aa}.kv{display:grid;grid-template-columns:140px 1fr;gap:6px;font-family:var(--mono);font-size:12px;margin-top:10px;word-break:break-all}.dropzone{background:var(--fx-surface);border:1.5px dashed var(--fx-border-strong);border-radius:var(--radius);padding:36px 20px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;transition:border-color .15s,background .15s}.dropzone.over{border-color:var(--fx-primary);background:var(--fx-primary-soft)}.drop-icon{width:42px;height:42px;border-radius:9px;background:var(--fx-primary-soft);color:var(--fx-primary-soft-fg);display:grid;place-items:center}.drop-icon svg{width:19px;height:19px}.plan{background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:12px}.plan.current{border-color:var(--fx-primary);box-shadow:0 0 0 3px var(--fx-primary-soft)}.plan .price{font-size:28px;font-weight:600;letter-spacing:-.02em}.plan ul{list-style:none;display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--fx-border);padding-top:12px;font-size:12px}.plan li{display:flex;gap:7px;align-items:flex-start}.plan li svg{width:13px;height:13px;color:var(--fx-positive-solid);flex-shrink:0;margin-top:2px}.plan .btn{margin-top:auto}.card-brand{width:44px;height:30px;border-radius:5px;background:var(--portal-sidebar);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}.danger-zone{border-color:color-mix(in srgb,var(--fx-negative-solid) 35%,var(--fx-border))}.danger-zone h3{color:var(--fx-negative-fg);font-size:13px}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--fx-surface-overlay);display:flex;align-items:flex-start;justify-content:center;padding:60px 16px;overflow-y:auto;z-index:50;animation:fade .12s ease-out}.modal{background:var(--fx-surface);border-radius:10px;width:100%;max-width:540px;box-shadow:var(--shadow-pop);border:1px solid var(--fx-border);animation:rise .15s ease-out}.modal.wide{max-width:680px}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--fx-border)}.modal-head h2{font-size:16px;font-weight:600}.modal-body{padding:18px;display:flex;flex-direction:column;gap:12px}.modal-body p{font-size:13px;color:var(--fx-text-secondary)}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--fx-border)}.palette{max-width:600px}.palette-input{width:100%;border:0;border-bottom:1px solid var(--fx-border);padding:14px 18px;font-size:15px;background:transparent;outline:none}.palette-list{max-height:380px;overflow-y:auto;padding:6px}.palette-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:6px;cursor:pointer;font-size:13px}.palette-item.on,.palette-item:hover{background:var(--fx-surface-subtle)}.palette-item .ellipsis{flex:1;min-width:0}.palette-group{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--fx-text-muted);padding:8px 12px 4px}#toasts{position:fixed;bottom:18px;right:18px;display:flex;flex-direction:column;gap:8px;z-index:60}.toast{background:var(--fx-text);color:var(--fx-surface);padding:10px 14px;border-radius:8px;font-size:13px;box-shadow:var(--shadow-pop);max-width:380px;animation:rise .15s ease-out}.toast.error{background:var(--fx-negative-solid);color:#fff}.menu{position:fixed;background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:8px;box-shadow:var(--shadow-pop);padding:5px;min-width:200px;z-index:55;color:var(--fx-text)}.menu button,.menu a{display:flex;width:100%;gap:8px;align-items:center;padding:7px 10px;border:0;background:none;border-radius:5px;font-size:13px;cursor:pointer;color:inherit;text-align:left}.menu button:hover,.menu a:hover{background:var(--fx-surface-subtle);text-decoration:none}.menu hr{border:0;border-top:1px solid var(--fx-border);margin:4px 0}.menu .menu-meta{padding:7px 10px;font-size:12px;color:var(--fx-text-muted)}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.skeleton{background:linear-gradient(90deg,var(--fx-surface-subtle),var(--fx-border),var(--fx-surface-subtle));background-size:200% 100%;animation:shimmer 1.2s infinite linear;border-radius:6px}@keyframes shimmer{to{background-position:-200% 0}}.loading-block{height:120px;margin-bottom:14px}.auth{min-height:100vh;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.auth-hero{background:var(--portal-sidebar);color:#bfdbfe;padding:48px;display:flex;flex-direction:column;justify-content:space-between;gap:40px}.auth-hero .brand-mark{width:36px;height:36px;border-radius:8px}.auth-hero .tag{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#93c5fd}.auth-hero h1{font-size:40px;font-weight:600;letter-spacing:-.03em;line-height:1.1;color:#fff}.auth-hero p{font-size:15px;margin-top:14px;max-width:420px;line-height:1.5}.auth-side{background:var(--fx-surface);display:flex;align-items:center;justify-content:center;padding:40px 24px}.auth-form{width:100%;max-width:380px;display:flex;flex-direction:column;gap:12px}.auth-form h2{font-size:24px;font-weight:600;letter-spacing:-.02em;margin-top:6px}.auth-form .lead{font-size:13px;color:var(--fx-text-muted);margin:-6px 0 10px}.auth-form .input{padding:9px 11px;font-size:14px}@media(max-width:860px){.sidebar{position:fixed;inset:0 auto 0 0;transform:translate(-100%);transition:transform .2s;box-shadow:var(--shadow-pop)}.shell.nav-open .sidebar{transform:none}.shell.nav-open:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:var(--fx-surface-overlay);z-index:20}.menu-toggle{display:inline-flex}.topbar{padding:0 14px}.content{padding:18px 16px 40px}.search-pill .label,.search-pill kbd{display:none}.form-grid{grid-template-columns:1fr}.auth-hero{padding:32px 24px}.auth-hero h1{font-size:30px}.dl{grid-template-columns:100px 1fr}}@media(max-width:520px){.topbar .new-link .label{display:none}.page-head .btn{flex:1}}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--fx-border);margin-bottom:16px;overflow-x:auto}.tabs a{padding:9px 12px;font-size:13px;font-weight:500;color:var(--fx-text-muted);white-space:nowrap;text-decoration:none}.tabs a:hover{color:var(--fx-text)}.tabs a.on{color:var(--fx-text);box-shadow:inset 0 -2px 0 var(--fx-primary)}.chips{display:inline-flex;gap:6px;flex-wrap:wrap}.chip{padding:4px 11px;border-radius:999px;font-size:12px;font-weight:500;cursor:pointer;background:var(--fx-surface);border:1px solid var(--fx-border);color:var(--fx-text-muted)}.chip.on{background:var(--fx-primary-soft);color:var(--fx-primary-soft-fg);border-color:color-mix(in srgb,var(--fx-primary) 30%,transparent)}.chip .count{opacity:.7;margin-left:4px}.switch{position:relative;width:36px;height:20px;flex-shrink:0}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--fx-border-strong);transition:background .15s}.switch span:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px #0003}.switch input:checked+span{background:var(--fx-primary)}.switch input:checked+span:after{transform:translate(16px)}.switch input:disabled{cursor:not-allowed}.switch input:disabled+span{opacity:.5}.switch input:focus-visible+span{outline:2px solid var(--fx-focus-ring);outline-offset:2px}.alert-row{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border-bottom:1px solid var(--fx-border);text-decoration:none;color:inherit}.alert-row:last-child{border-bottom:0}a.alert-row:hover{background:var(--fx-surface-subtle);text-decoration:none}.alert-row .badge{flex-shrink:0;margin-top:1px}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.choice{border:1px solid var(--fx-border);border-radius:8px;padding:10px;cursor:pointer;font-size:12px;background:var(--fx-surface);display:block}.choice input{position:absolute;opacity:0;pointer-events:none}.choice strong{display:block;font-size:12.5px}.choice:has(input:checked){border-color:var(--fx-primary);background:var(--fx-primary-soft)}.choice:has(input:focus-visible){outline:2px solid var(--fx-focus-ring);outline-offset:2px}.section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--fx-text-muted);margin-top:4px}.topbar-meta{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--fx-text-muted);white-space:nowrap}.dot{width:7px;height:7px;border-radius:50%;background:var(--fx-positive-solid);display:inline-block}.dot.off{background:var(--fx-negative-solid)}.env-pill{padding:2px 8px;border-radius:999px;border:1px solid var(--fx-border);font-size:11px}@media(max-width:860px){.topbar-meta .hide-sm{display:none}.choice-grid{grid-template-columns:1fr}}@media print{.sidebar,.topbar,.no-print,#toasts{display:none!important}.shell,.main,.content{display:block;height:auto;overflow:visible}body{background:#fff}}.grid.split{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}@media(max-width:1000px){.grid.split{grid-template-columns:minmax(0,1fr)}}:root{--font-display: "Funnel Display", "Funnel Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-body: "Funnel Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius: 12px;--radius-sm: 8px;--shadow-card: 0 1px 2px rgba(24, 24, 27, .04);--shadow-pop: 0 0 0 1px rgba(24, 24, 27, .06), 0 24px 48px -12px rgba(24, 24, 27, .22);--hero-ink: #111114;font-family:var(--font-body);font-size:14px}:root[data-theme=dark]{--shadow-card: none;--shadow-pop: 0 0 0 1px rgba(255,255,255,.08), 0 24px 48px -12px rgba(0,0,0,.7)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--shadow-card: none;--shadow-pop: 0 0 0 1px rgba(255,255,255,.08), 0 24px 48px -12px rgba(0,0,0,.7)}}body{line-height:1.5}.shell{height:100vh;height:100dvh}.page-head h1,.modal-head h2,.auth-hero h1,.auth-form h2,.stat .value,.plan .price,.brand,.empty strong{font-family:var(--font-display)}.page-head h1{font-size:26px;font-weight:600;letter-spacing:-.025em;line-height:1.15;text-wrap:balance}.page-head p{font-size:13.5px}.stat .value{font-size:26px;letter-spacing:-.02em}.modal-head h2{font-size:18px;letter-spacing:-.01em}.card-head{font-size:13.5px}.overline,.side-section,.workspace-name,.palette-group,.section-label,th{font-family:var(--mono);font-weight:500;letter-spacing:.06em}th{font-size:10.5px}.short,.method,pre.code,.kv,.secret-grid code,.mono,kbd{font-family:var(--mono)}.brand{gap:10px;font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--fx-text)}.brand-mark{width:30px;height:30px;background:none;border-radius:9px;flex-shrink:0;box-shadow:0 1px 2px #18181b14}.brand-mark img{width:100%;height:100%;display:block}.sidebar{width:236px;background:var(--fx-sidebar-bg);color:var(--fx-sidebar-fg);border-right:1px solid var(--fx-sidebar-border)}.side-head{padding:16px 16px 14px;border-bottom:1px solid var(--fx-sidebar-border)}.workspace-name{color:var(--fx-sidebar-section);font-size:10px;margin-top:8px}.side-nav{padding:10px;gap:2px}.side-section{color:var(--fx-sidebar-section);font-size:10px;padding:12px 10px 4px}.nav-item{color:var(--fx-sidebar-fg);font-size:13.5px;font-weight:500;padding:7px 10px;border-radius:8px}.nav-item svg{width:16px;height:16px;opacity:.85}.nav-item:hover{background:var(--fx-sidebar-hover-bg);color:var(--fx-sidebar-fg-hover)}.nav-item.active{background:var(--fx-sidebar-active-bg);color:var(--fx-sidebar-active-fg);box-shadow:0 0 0 1px var(--fx-sidebar-border),0 1px 2px #18181b0f}.nav-item.active svg{color:var(--fx-primary);opacity:1}:root[data-theme=dark] .nav-item.active svg{color:var(--fx-link)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .nav-item.active svg{color:var(--fx-link)}}.side-foot{padding:12px;border-top:1px solid var(--fx-sidebar-border)}.quota-label{color:var(--fx-sidebar-section);font-size:11px}.quota-track{background:var(--fx-border)}.quota-fill{background:var(--fx-primary)}.quota-fill.warn{background:var(--fx-warning-solid)}.side-user{padding:6px;border-radius:8px}.side-user:hover{background:var(--fx-sidebar-hover-bg)}.side-user strong{color:var(--fx-text);font-size:13px}.side-user small{color:var(--fx-sidebar-section);font-size:11px}.avatar{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.topbar{height:56px;background:color-mix(in srgb,var(--fx-surface) 88%,transparent)}.crumbs{font-size:13.5px}.search-pill{border-radius:8px;padding:6px 10px;font-size:12.5px}.content{padding:26px 28px 56px}.card,.stat,.plan{border-radius:var(--radius);box-shadow:var(--shadow-card)}.card-head{padding:12px 16px}.card-body{padding:16px}.list-row{padding:12px 16px}.stat{padding:14px 16px}.btn{border-radius:var(--radius-sm);min-height:34px;padding:7px 14px;font-weight:500}.btn.sm{min-height:28px;border-radius:7px}.btn.icon{min-height:0}.btn.primary{box-shadow:0 1px 2px #2563eb40,inset 0 1px #ffffff1f}.input,.select,textarea.input,.input-group{border-radius:var(--radius-sm)}.input,.select{min-height:36px}.input-group .input,.input-group .select{min-height:34px}.segmented{border-radius:9px}.segmented button{border-radius:7px}.modal{border-radius:14px}.toast,.menu{border-radius:10px}.code-card{background:#111114;border-radius:var(--radius)}.card-brand{background:#18181b}.badge{font-weight:500}th{padding:9px 12px}td{padding:11px 12px;font-size:13px}.auth-hero{position:relative;overflow:hidden;background:var(--hero-ink);color:#a1a1aa}.auth-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(91,140,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(91,140,255,.08) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 30% 40%,#000 25%,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 30% 40%,#000 25%,transparent 75%)}.auth-hero>*{position:relative}.auth-hero .brand-mark{width:40px;height:40px;border-radius:11px}.auth-hero .tag{color:#93b4ff;font-family:var(--mono)}.auth-hero h1{color:#fff;font-size:44px;letter-spacing:-.035em;line-height:1.04}.auth-hero p{color:#a1a1aa}.auth-form h2{font-size:28px;letter-spacing:-.025em}.auth-form .btn.primary{min-height:42px}.auth{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));min-height:100dvh}.grid.two{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}.grid.stats{grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr))}.content-inner,.card,.modal{min-width:0}@media(max-width:860px){.sidebar{width:min(280px,86vw);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.shell.nav-open:after{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.topbar{padding:0 max(14px,env(safe-area-inset-right,0px)) 0 max(10px,env(safe-area-inset-left,0px))}.content{padding:20px max(16px,env(safe-area-inset-right,0px)) calc(48px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}.nav-item{min-height:44px;font-size:15px}.side-section{padding-top:14px}.menu-toggle{min-width:40px;min-height:40px}.grid.split{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.input,.select,textarea.input,.palette-input,.filters .select,.auth-form .input,.input.lg{font-size:16px}.input,.select{min-height:42px}.page-head{align-items:stretch;margin-bottom:16px}.page-head h1{font-size:22px}.page-head>.row,.page-head .actions{width:100%}.page-head .btn{flex:1 1 auto}.stat .value{font-size:22px}.grid.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.btn{min-height:40px}.btn.sm{min-height:34px;padding:6px 12px}.btn.icon{min-width:40px;min-height:40px}.link-btn{padding:6px 0}.chip,.segmented button{min-height:34px}.tabs a{padding:12px}.check{min-height:32px}.check input{width:18px;height:18px}.side-user{min-height:48px}.filters{gap:8px}.filters .input{flex:1 1 100%;min-width:0;max-width:none}.filters .select{flex:1 1 auto}.filters .btn{flex:0 0 auto}.card-head{padding:12px 14px}.card-body,.card.pad{padding:14px}.list-row{padding:12px 14px}td,th{padding-left:10px;padding-right:10px}.dest{max-width:170px}.table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.dl{grid-template-columns:110px minmax(0,1fr)}.dl dd{min-width:0;overflow-wrap:anywhere}.kv,.secret-grid{grid-template-columns:minmax(0,1fr)}.kv>:nth-child(odd),.secret-grid>:nth-child(odd){color:var(--fx-text-muted);margin-top:4px}.form-grid,.choice-grid{grid-template-columns:minmax(0,1fr)}.callout{padding:12px 14px}.callout .btn{width:100%}pre.code{font-size:12px}.scrim{align-items:flex-end;padding:0}.modal,.modal.wide,.palette{max-width:none;width:100%;border-radius:16px 16px 0 0;max-height:92dvh;display:flex;flex-direction:column}.modal-body{overflow-y:auto}.modal-head{padding:14px 16px}.modal-body{padding:16px}.modal-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));flex-wrap:wrap}.modal-foot .btn{flex:1 1 0}.palette{margin-top:auto}.palette-list{max-height:60dvh}#toasts{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}.toast{max-width:none}.menu{max-width:calc(100vw - 24px)}.auth-hero{padding:28px 20px;gap:24px}.auth-hero h1{font-size:30px}.auth-hero p{font-size:14px}.auth-side{padding:32px max(20px,env(safe-area-inset-right,0px)) calc(32px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));align-items:flex-start}}@media(max-width:520px){.crumbs>span:first-child,.crumbs>.sep{display:none}.topbar-meta{display:none}}@media(max-width:340px){.grid.stats{grid-template-columns:minmax(0,1fr)}}@media(max-width:380px){.dl{grid-template-columns:minmax(0,1fr);row-gap:2px}.dl dd{margin-bottom:8px}}@media(max-width:640px){.card-head a,.card-head .link,.card-head .link-btn{display:inline-flex;align-items:center;min-height:36px;margin:-8px 0}.switch{width:46px;height:28px}.switch span:after{width:24px;height:24px}.switch input:checked+span:after{transform:translate(18px)}}
