@import "https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--bp-mobile-max:640px;--bp-tablet-min:641px;--bp-tablet-max:1024px;--bp-desktop-min:1025px;--wb-cyan:#00d4ff;--wb-purple:#7b2fff;--wb-orange:#ff6b00;--wb-green:#1d9e75;--wb-red:#e05555;--wb-cyan-bg:#0a2a38;--wb-purple-bg:#1e1635;--wb-orange-bg:#2e1a0d;--wb-green-bg:#0a2a1e;--wb-red-bg:#2e0d0d;--wb-cyan-08:#00d4ff0d;--wb-cyan-11:#00d4ff12;--wb-cyan-13:#00d4ff21;--wb-cyan-22:#00d4ff21;--wb-cyan-44:#00d4ff45;--wb-white-08:#ffffff08;--wb-white-12:#ffffff0d;--surface-base:#161622;--surface-sidebar:#1a1a2c;--surface-card:#223;--surface-inset:#181828;--surface-code:#121220;--surface-scrim:#000000b8;--border-subtle:#363650;--border-accent:var(--wb-cyan-22);--text-primary:#fff;--text-secondary:#bbb;--text-muted:#888;--text-dim:#555;--text-faint:#444;--text-on-accent:#000;--text-on-brand:#fff;--accent:var(--wb-cyan);--accent-bg:var(--wb-cyan-bg);--success:var(--wb-green);--danger:var(--wb-red);--warning:var(--wb-orange);--link:var(--wb-cyan);--font-sans:"Hanken Grotesk", "Aptos", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--text-2xs:10px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:15px;--text-xl:18px;--text-2xl:24px;--text-3xl:32px;--text-4xl:48px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.3;--leading-snug:1.4;--leading-normal:1.6;--leading-loose:1.7;--tracking-label:.5px;--space-0:0;--space-1:4px;--space-2:6px;--space-3:8px;--space-4:10px;--space-5:12px;--space-6:14px;--space-7:16px;--space-8:20px;--space-9:24px;--space-10:28px;--space-11:32px;--space-12:48px;--sidebar-width:300px;--header-height:72px;--card-padding:16px;--grid-gap:20px;--panel-padding:48px;--field-padding-y:8px;--field-padding-x:10px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:9px;--radius-xl:12px;--radius-2xl:14px;--radius-pill:999px;--border-hairline:.5px;--border-thin:1px;--border-thick:1.5px;--shadow-overlay:0 24px 60px #0009;--shadow-popover:0 8px 24px #00000080;--glow-cyan:0 0 12px #00d4ff8c, 0 0 28px #00d4ff40;--glow-purple:0 0 12px #7b2fff8c, 0 0 28px #7b2fff40;--glow-soft:0 0 0 3px #00d4ff40;--ease-standard:cubic-bezier(.4, 0, .2, 1);--dur-fast:.15s;--dur-base:.2s}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--surface-base);color:var(--text-primary);font-family:var(--font-sans);height:100vh;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--surface-sidebar)}::-webkit-scrollbar-thumb{background:var(--wb-cyan-13);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--wb-cyan-44)}.layout{flex-direction:column;height:100vh;display:flex;overflow:hidden}.sidebar-password-wrapper{align-items:center;width:100%;display:flex;position:relative}.sidebar-input{width:100%;padding:var(--field-padding-y) 32px var(--field-padding-y) var(--field-padding-x);background:var(--surface-inset);border:var(--border-hairline) solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-sans)}.sidebar-input:focus{border-color:var(--wb-cyan-44);outline:none}.sidebar-password-toggle{color:var(--text-dim);cursor:pointer;transition:color var(--dur-fast);border-radius:var(--radius-xs);background:0 0;border:none;align-items:center;padding:2px;display:flex;position:absolute;right:7px}.sidebar-password-toggle:hover{color:var(--text-muted)}.sidebar-error{font-size:var(--text-xs);color:var(--wb-red)}.sidebar-feedback{font-size:var(--text-xs);color:var(--wb-cyan)}.admin-content{gap:var(--space-3);width:100%;margin-top:var(--space-7);flex-direction:column;display:flex}.admin-section-title{font-size:var(--text-2xs);font-weight:var(--weight-semibold);color:var(--wb-cyan);text-transform:uppercase;letter-spacing:var(--tracking-label);margin-bottom:2px}.main-panel{padding:var(--space-12) var(--space-11);flex:1;overflow-y:auto}.grid{gap:var(--grid-gap);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}@media (width<=640px){.main-panel{padding:var(--space-8) var(--space-7)}.grid{gap:var(--space-6);grid-template-columns:1fr}}.card{background:var(--surface-card);border:var(--border-hairline) solid var(--border-subtle);border-radius:var(--radius-xl);overflow:hidden}.card-bar{height:4px}.card-body{padding:var(--card-padding)}.card-header-row{align-items:center;gap:var(--space-5);margin-bottom:var(--space-6);display:flex}.card-icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.card-name{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-primary);line-height:var(--leading-tight)}.card-divider{height:2px;margin-bottom:var(--space-6);opacity:.35;border-radius:1px}.card-desc{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-8);line-height:var(--leading-normal)}.card-actions{gap:var(--space-4);flex-direction:column;display:flex}.open-btn{justify-content:center;align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:var(--weight-semibold);font-family:var(--font-sans);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-7);cursor:pointer;transition:opacity var(--dur-base);border:none;width:100%;display:flex}.open-btn:hover{opacity:.85}.session-label{font-size:var(--text-xs);color:var(--wb-cyan);align-items:center;gap:var(--space-1);display:flex}.lock-label{font-size:var(--text-xs);color:var(--text-dim);align-items:center;gap:var(--space-1);display:flex}.loading-screen{background:var(--surface-base);z-index:200;opacity:1;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:fixed;inset:0}.loading-screen--hidden{opacity:0;pointer-events:none}.loading-spinner{border:3px solid var(--wb-cyan-22);border-top-color:var(--wb-cyan);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}.modal-overlay{background:var(--surface-scrim);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface-card);border:var(--border-hairline) solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-11);gap:var(--space-7);flex-direction:column;min-width:320px;display:flex}.modal h2{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.modal p{color:var(--text-muted);font-size:var(--text-base)}.modal input,.modal select{padding:var(--space-5) var(--space-6);background:var(--surface-inset);border:var(--border-hairline) solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-base);font-family:var(--font-sans)}.modal input:focus,.modal select:focus{border-color:var(--text-dim);outline:none}.modal button{padding:var(--space-5) var(--space-7);border-radius:var(--radius-md);background:var(--wb-cyan);color:var(--text-on-accent);font-size:var(--text-base);font-weight:var(--weight-semibold);font-family:var(--font-sans);cursor:pointer;transition:opacity var(--dur-base);border:none}.modal button:hover{opacity:.85}.modal button:disabled{opacity:.5;cursor:not-allowed}.password-wrapper{align-items:center;display:flex;position:relative}.password-wrapper input{flex:1;padding-right:36px}.modal .password-toggle{color:var(--text-dim);cursor:pointer;transition:color var(--dur-fast);border-radius:var(--radius-xs);background:0 0;border:none;align-items:center;padding:2px;line-height:1;display:flex;position:absolute;right:8px}.modal .password-toggle:hover{color:var(--text-muted);opacity:1;background:0 0}.error{color:var(--wb-red);font-size:var(--text-sm)}.feedback{font-size:var(--text-sm);color:var(--wb-cyan)}.admin-add-btn{width:100%;padding:var(--field-padding-y) var(--space-5);border:var(--border-hairline) solid var(--wb-cyan-44);border-radius:var(--radius-md);color:var(--wb-cyan);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:var(--font-sans);cursor:pointer;transition:background var(--dur-base);justify-content:center;align-items:center;gap:var(--space-1);margin-bottom:var(--space-3);background:0 0;display:flex}.admin-add-btn:hover{background:var(--wb-cyan-08)}.admin-remove-btn{width:100%;padding:var(--field-padding-y) var(--space-5);border-radius:var(--radius-md);background:var(--wb-red);color:var(--text-on-brand);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:var(--font-sans);cursor:pointer;transition:opacity var(--dur-base);border:none}.admin-remove-btn:hover{opacity:.85}.admin-remove-btn:disabled{opacity:.4;cursor:not-allowed}.overlay-backdrop{background:var(--surface-scrim);z-index:200;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay-modal{background:var(--surface-card);border:var(--border-hairline) solid var(--border-subtle);border-radius:var(--radius-2xl);flex-direction:column;width:960px;max-width:95vw;height:85vh;display:flex;overflow:hidden}.overlay-header{border-bottom:var(--border-hairline) solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 24px 14px;display:flex}.overlay-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-primary)}.overlay-close{color:var(--text-dim);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:color var(--dur-fast), background var(--dur-fast);background:0 0;border:none;align-items:center;display:flex}.overlay-close:hover{color:var(--text-primary);background:var(--border-subtle)}.overlay-body{flex:1;min-height:0;display:flex;overflow:hidden}.overlay-stepper{border-right:var(--border-hairline) solid var(--border-subtle);padding:var(--space-7) var(--space-6);gap:var(--space-2);flex-direction:column;flex:0 0 45%;display:flex;overflow-y:auto}.overlay-form{gap:var(--space-5);flex-direction:column;flex:0 0 55%;padding:18px 20px;display:flex;overflow-y:auto}.stepper-item{gap:var(--space-4);cursor:pointer;border-radius:var(--radius-md);transition:background var(--dur-fast);align-items:flex-start;padding:9px 12px;display:flex}.stepper-item:hover{background:var(--wb-white-08)}.stepper-item.stepper-active{background:var(--wb-cyan-08)}.stepper-check{border:var(--border-thick) solid var(--border-subtle);border-radius:var(--radius-xs);cursor:pointer;width:18px;height:18px;color:var(--text-primary);transition:background var(--dur-fast), border-color var(--dur-fast);background:0 0;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;padding:0;display:flex}.stepper-check.stepper-checked{background:var(--wb-green);border-color:var(--wb-green)}.stepper-content{flex:1;min-width:0}.stepper-label{font-size:var(--text-xs);color:var(--text-secondary);line-height:var(--leading-snug);display:block}.stepper-label.stepper-done{color:var(--wb-green);text-decoration:line-through}.stepper-hint{margin-top:var(--space-3);padding-right:var(--space-2)}.stepper-hint-text{font-size:var(--text-xs);color:var(--text-muted);line-height:var(--leading-loose);white-space:pre-line}.code-block{margin-top:var(--space-3);position:relative}.code-copy-btn{color:var(--text-dim);border-radius:var(--radius-sm);padding:var(--space-1);cursor:pointer;transition:color var(--dur-fast), background var(--dur-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:6px;right:6px}.code-copy-btn:hover{color:var(--text-secondary);background:var(--wb-white-12)}.code-copy-btn.code-copy-btn-done,.code-copy-btn.code-copy-btn-done:hover{color:var(--wb-green)}.code-block-pre{background:var(--surface-code);border:var(--border-hairline) solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);margin:0;overflow-x:auto}.code-block-pre code{font-family:var(--font-mono);font-size:var(--text-2xs);color:#d8e8e8;line-height:var(--leading-normal);white-space:pre}.overlay-field{gap:var(--space-1);flex-direction:column;display:flex}.overlay-field label{font-size:var(--text-2xs);font-weight:var(--weight-semibold);color:var(--wb-cyan);text-transform:uppercase;letter-spacing:var(--tracking-label)}.overlay-auto-label{color:var(--text-faint);font-weight:var(--weight-regular);text-transform:none;letter-spacing:0}.overlay-field input,.overlay-field select{padding:var(--field-padding-y) var(--field-padding-x);background:var(--surface-inset);border:var(--border-hairline) solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-sans)}.overlay-field input:focus,.overlay-field select:focus{border-color:var(--wb-cyan-44);outline:none}.overlay-field input:disabled,.overlay-field select:disabled{opacity:.4;cursor:not-allowed}.overlay-input-readonly{color:var(--text-faint)!important;cursor:default!important}.overlay-error{font-size:var(--text-xs);color:var(--wb-red)}.overlay-save-btn{padding:var(--space-5) var(--space-7);border-radius:var(--radius-md);background:var(--wb-cyan);color:var(--text-on-accent);font-size:var(--text-base);font-weight:var(--weight-semibold);font-family:var(--font-sans);cursor:pointer;transition:opacity var(--dur-base);margin-top:var(--space-1);border:none}.overlay-save-btn:hover{opacity:.85}.overlay-save-btn:disabled{opacity:.4;cursor:not-allowed}.tso-modal{background:var(--surface-card);border:var(--border-hairline) solid var(--border-subtle);border-radius:var(--radius-2xl);flex-direction:column;width:1100px;max-width:95vw;height:85vh;display:flex;overflow:hidden}.tso-layout{flex:1;min-height:0;display:flex;overflow:hidden}.tso-nav{border-right:var(--border-hairline) solid var(--border-subtle);padding:var(--space-6) var(--space-4);flex-direction:column;flex:0 0 200px;gap:2px;display:flex;overflow:hidden}.tso-nav-item{text-align:left;border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:var(--font-sans);cursor:pointer;transition:background var(--dur-fast), color var(--dur-fast);background:0 0;border:none;padding:9px 12px}.tso-nav-item:hover{background:var(--wb-white-08);color:var(--text-secondary)}.tso-nav-item.tso-nav-active{background:var(--wb-cyan-08);color:var(--wb-cyan)}.tso-nav-item.tso-nav-danger{color:var(--wb-red)}.tso-nav-item.tso-nav-danger:hover{color:var(--wb-red);background:#e0555512}.tso-nav-item.tso-nav-danger.tso-nav-active{color:var(--wb-red);background:#e0555518}.tso-content{padding:var(--space-8) var(--space-9);flex:1;overflow-y:auto}.tso-pane{gap:var(--space-4);flex-direction:column;max-width:460px;display:flex}.tso-pane-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.tso-pane-title.tso-danger-title{color:var(--wb-red)}.tso-field-spaced{margin-top:var(--space-2)}.tso-grid{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.tso-grid-full{grid-column:1/-1}.tso-actions-end{justify-content:flex-end;display:flex}.tso-row{align-items:flex-end;gap:var(--space-4);display:flex}.tso-row-field{flex:1;min-width:0}.tso-action-btn{padding:var(--space-3) var(--space-7);border-radius:var(--radius-md);background:var(--wb-cyan);color:var(--text-on-accent);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:var(--font-sans);cursor:pointer;transition:opacity var(--dur-base);white-space:nowrap;border:none;flex-shrink:0}.tso-action-btn:hover{opacity:.85}.tso-action-btn:disabled{opacity:.4;cursor:not-allowed}.tso-visibility-preview{font-size:var(--text-xs);color:var(--text-muted)}.tso-switch{align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;display:flex}.tso-switch input{opacity:0;width:0;height:0;position:absolute}.tso-switch-track{background:var(--border-subtle);border-radius:var(--radius-pill);width:34px;height:18px;transition:background var(--dur-fast);flex-shrink:0;position:relative}.tso-switch-thumb{background:var(--text-muted);width:14px;height:14px;transition:transform var(--dur-fast), background var(--dur-fast);border-radius:50%;position:absolute;top:2px;left:2px}.tso-switch input:checked+.tso-switch-track{background:var(--wb-cyan-13)}.tso-switch input:checked+.tso-switch-track .tso-switch-thumb{background:var(--wb-cyan);transform:translate(16px)}.tso-textarea{padding:var(--space-4);background:var(--surface-inset);border:var(--border-hairline) solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-sans);resize:vertical;min-height:70px}.tso-textarea:focus{border-color:var(--wb-cyan-44);outline:none}.tso-link-result{align-items:center;gap:var(--space-2);display:flex}.tso-link-input{padding:var(--field-padding-y) var(--field-padding-x);background:var(--surface-inset);border:var(--border-hairline) solid var(--border-subtle);border-radius:var(--radius-md);color:var(--wb-cyan);font-size:var(--text-xs);font-family:var(--font-mono);flex:1}.tso-icon-btn{color:var(--text-dim);border:var(--border-hairline) solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;transition:color var(--dur-fast), background var(--dur-fast), border-color var(--dur-fast);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tso-icon-btn:hover{color:var(--text-secondary);background:var(--wb-white-12)}.tso-icon-btn.tso-icon-btn-done{color:var(--wb-green);border-color:var(--wb-green)}.tso-danger{border:var(--border-hairline) solid #e0555554;border-radius:var(--radius-xl);padding:var(--space-6)}.tso-danger-text{font-size:var(--text-xs);color:var(--text-muted);line-height:1.5}.tso-danger-text strong{color:var(--text-primary);font-family:var(--font-mono)}.tso-danger-input{padding:var(--field-padding-y) var(--field-padding-x);background:var(--surface-inset);border:var(--border-hairline) solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-sans)}.tso-danger-input:focus{border-color:#e0555545;outline:none}.sl-page{gap:var(--space-6);flex-direction:column;max-width:720px;display:flex}.sl-toolbar{justify-content:flex-end;display:flex}.sl-refresh-btn{align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);border:var(--border-hairline) solid var(--wb-cyan-44);border-radius:var(--radius-md);color:var(--wb-cyan);font-size:var(--text-xs);font-weight:var(--weight-semibold);font-family:var(--font-sans);cursor:pointer;transition:background var(--dur-base);background:0 0;display:flex}.sl-refresh-btn:hover{background:var(--wb-cyan-08)}.sl-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.sl-section{gap:var(--space-2);flex-direction:column;display:flex}.sl-empty{font-size:var(--text-xs);color:var(--text-dim);padding:var(--space-2) var(--space-3)}.sl-list{gap:var(--space-2);flex-direction:column;display:flex}.sl-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--surface-inset);border:var(--border-hairline) solid var(--border-subtle);border-radius:var(--radius-md);display:flex}.sl-row-info{flex-direction:column;gap:2px;min-width:0;display:flex}.sl-row-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sl-row-meta{font-size:var(--text-2xs);color:var(--text-dim)}.sl-row-remaining{font-size:var(--text-2xs);color:var(--wb-cyan)}.sl-row-remaining.sl-permanent{color:var(--wb-green)}.sl-row-actions,.sl-confirm-row{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.sl-confirm-text{font-size:var(--text-2xs);color:var(--text-muted);white-space:nowrap}.sl-cancel-btn{border:var(--border-hairline) solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-2xs);font-family:var(--font-sans);cursor:pointer;transition:background var(--dur-fast);background:0 0;padding:5px 10px}.sl-cancel-btn:hover{background:var(--wb-white-08)}.sl-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.sl-revoke-btn{border-radius:var(--radius-sm);background:var(--wb-red);color:var(--text-on-brand);font-size:var(--text-2xs);font-weight:var(--weight-semibold);font-family:var(--font-sans);cursor:pointer;transition:opacity var(--dur-base);border:none;padding:5px 10px}.sl-revoke-btn:hover{opacity:.85}.sl-revoke-btn:disabled{opacity:.4;cursor:not-allowed}@media (width<=640px){.sl-row{flex-wrap:wrap}.sl-confirm-row{flex-wrap:wrap;width:100%}.sl-confirm-text{white-space:normal;width:100%}}.admin-tool-list{flex-direction:column;gap:2px;display:flex}.admin-tool-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);display:flex}.admin-tool-row:hover{background:var(--wb-white-08)}.admin-tool-info{align-items:center;gap:var(--space-2);min-width:0;display:flex;overflow:hidden}.admin-tool-name{font-size:var(--text-sm);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-tool-hidden-label{font-size:var(--text-2xs);color:var(--text-dim);white-space:nowrap;flex-shrink:0;align-items:center;gap:3px;display:flex}.admin-tool-settings-btn{color:var(--text-dim);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--dur-fast), background var(--dur-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:5px;display:flex}.admin-tool-settings-btn:hover{color:var(--wb-cyan);background:var(--wb-cyan-08)}.admin-logout-btn{width:100%;margin-top:var(--space-5);padding:var(--field-padding-y) var(--space-5);border:var(--border-hairline) solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:var(--font-sans);cursor:pointer;transition:background var(--dur-base), color var(--dur-base);background:0 0}.admin-logout-btn:hover{background:var(--wb-white-08);color:var(--text-primary)}.app-header{width:100%;min-height:var(--header-height);justify-content:space-between;align-items:stretch;gap:var(--space-8);padding:var(--space-6) var(--space-9);background:var(--surface-sidebar);border-bottom:var(--border-thin) solid var(--border-accent);box-sizing:border-box;flex-shrink:0;display:flex}.app-header-logo-wrap{flex-shrink:0;align-items:center;display:flex}.app-header-logo{object-fit:contain;height:42px;display:block}.app-header-nav{justify-content:center;align-items:center;gap:var(--space-3);flex:1;display:flex}.app-header-nav-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:var(--font-sans);cursor:pointer;transition:color var(--dur-base), background var(--dur-base);background:0 0;border:none;display:flex}.app-header-nav-item:hover{color:var(--text-secondary);background:var(--wb-white-08)}.app-header-nav-item-active{color:var(--wb-cyan);background:var(--wb-cyan-08)}.app-header-admin{align-items:center;gap:var(--space-5);flex-shrink:0;display:flex}.app-header-admin-panel{align-self:stretch;align-items:center;display:flex;position:relative}.app-header-admin-panel .admin-content{top:calc(100% + var(--space-4));background:var(--surface-sidebar);border:var(--border-hairline) solid var(--border-subtle);border-radius:var(--radius-xl);width:280px;padding:var(--space-7);box-shadow:var(--shadow-popover);z-index:50;margin-top:0;position:absolute;right:0}.app-header-admin-login{align-items:center;gap:var(--space-3);display:flex}.app-header-password-wrapper{align-items:center;width:180px;display:flex;position:relative}.app-header-input{width:100%;padding:var(--field-padding-y) 32px var(--field-padding-y) var(--field-padding-x);background:var(--surface-inset);border:var(--border-hairline) solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-sans);box-sizing:border-box}.app-header-input:focus{border-color:var(--wb-cyan-44);outline:none}.app-header-password-toggle{color:var(--text-dim);cursor:pointer;transition:color var(--dur-fast);border-radius:var(--radius-xs);background:0 0;border:none;align-items:center;padding:2px;display:flex;position:absolute;right:7px}.app-header-password-toggle:hover{color:var(--text-muted)}.app-header-login-btn{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);background:var(--wb-cyan);color:var(--text-on-accent);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;transition:opacity var(--dur-base);border:none;display:flex}.app-header-login-btn:hover{opacity:.85}.app-header-lock-btn{color:var(--text-dim);cursor:pointer;padding:var(--space-3);border-radius:var(--radius-md);transition:color var(--dur-base), background var(--dur-base);background:0 0;border:none;align-items:center;display:flex}.app-header-lock-btn:hover{color:var(--wb-cyan);background:var(--wb-cyan-08)}.app-header-lock-btn.app-header-lock-active{color:var(--wb-cyan)}.app-header-menu-toggle{color:var(--text-dim);cursor:pointer;padding:var(--space-3);border-radius:var(--radius-md);transition:color var(--dur-base), background var(--dur-base);background:0 0;border:none;justify-content:center;align-items:center;display:none}.app-header-menu-toggle:hover{color:var(--wb-cyan);background:var(--wb-cyan-08)}.app-header-panel{display:contents}@media (width<=640px){.app-header{position:relative}.app-header-menu-toggle{display:flex}.app-header-panel{align-items:stretch;gap:var(--space-7);padding:var(--space-7) var(--space-9);background:var(--surface-sidebar);border-bottom:var(--border-thin) solid var(--border-accent);box-shadow:var(--shadow-popover);z-index:50;flex-direction:column;display:none;position:absolute;top:100%;left:0;right:0}.app-header-panel.app-header-panel-open{display:flex}.app-header-panel .app-header-nav{flex:none;justify-content:flex-start}.app-header-panel .app-header-nav-item{width:100%}.app-header-panel .app-header-admin,.app-header-panel .app-header-admin-login{flex-direction:column;align-items:stretch}.app-header-panel .app-header-password-wrapper{width:100%}.app-header-panel .app-header-admin-panel .admin-content{width:100%;margin-top:var(--space-4);box-shadow:none;background:0 0;border:none;padding:0;position:static}}
