:root{--nb-indigo: #059669;--nb-indigo-hover: #047857;--nb-violet: #10B981;--nb-teal: #14B8A6;--nb-amber: #F59E0B;--nb-rose: #E11D48;--nb-green: #059669;--nb-red: #DC2626;--ink-900: #0B0F1A;--ink-800: #10162A;--ink-700: #161D35;--ink-600: #1D2643;--ink-500: #283154;--ink-400: #3A4468;--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--ease: cubic-bezier(.22, 1, .36, 1);--font-sans: "Inter", "SF Pro Display", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", "Fira Code", Menlo, Consolas, monospace;--sidebar-w: 264px}[data-theme=light]{--bg: #F4F5FA;--bg-grad: radial-gradient(1200px 600px at 80% -10%, rgba(5, 150, 105, .07), transparent 60%), radial-gradient(900px 500px at -10% 110%, rgba(20, 184, 166, .06), transparent 60%);--surface: #FFFFFF;--surface-2: #F7F8FC;--surface-3: #EEF0F7;--border: #E5E8F2;--border-strong: #D6DAEA;--text: #0F172A;--text-muted: #5B6478;--text-subtle: #8B93A9;--accent: var(--nb-indigo);--accent-hover: var(--nb-indigo-hover);--accent-soft: rgba(5, 150, 105, .09);--accent-fg: #FFFFFF;--accent-grad: linear-gradient(135deg, #059669 0%, #10B981 100%);--ok: var(--nb-green);--ok-soft: rgba(5, 150, 105, .1);--warn: var(--nb-amber);--warn-soft: rgba(245, 158, 11, .12);--danger: var(--nb-red);--danger-soft: rgba(220, 38, 38, .09);--info: #2563EB;--info-soft: rgba(37, 99, 235, .09);--teal-soft: rgba(20, 184, 166, .1);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow: 0 1px 3px rgba(15, 23, 42, .07), 0 1px 2px rgba(15, 23, 42, .05);--shadow-lg: 0 18px 40px -12px rgba(15, 23, 42, .16), 0 4px 12px rgba(15, 23, 42, .05);--rail-bg: var(--ink-900);--rail-fg: #C9CEE0;--rail-muted: #7D86A0;--rail-hover: rgba(255, 255, 255, .06);--rail-active: rgba(5, 150, 105, .22);--code-bg: #F1F2F9}[data-theme=dark]{--bg: var(--ink-900);--bg-grad: radial-gradient(1200px 600px at 80% -10%, rgba(16, 185, 129, .12), transparent 60%), radial-gradient(900px 500px at -10% 110%, rgba(20, 184, 166, .08), transparent 60%);--surface: #121931;--surface-2: #18203A;--surface-3: #202A4A;--border: #232C48;--border-strong: #2E3A5E;--text: #E7EAF5;--text-muted: #99A2BC;--text-subtle: #6C7694;--accent: #34D399;--accent-hover: #6EE7B7;--accent-soft: rgba(52, 211, 153, .14);--accent-fg: #0B0F1A;--accent-grad: linear-gradient(135deg, #059669 0%, #34D399 100%);--ok: #34D399;--ok-soft: rgba(52, 211, 153, .12);--warn: #FBBF24;--warn-soft: rgba(251, 191, 36, .13);--danger: #F87171;--danger-soft: rgba(248, 113, 113, .12);--info: #60A5FA;--info-soft: rgba(96, 165, 250, .12);--teal-soft: rgba(45, 212, 191, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 1px 3px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .3);--shadow-lg: 0 24px 48px -12px rgba(0, 0, 0, .55), 0 8px 16px rgba(0, 0, 0, .3);--rail-bg: #0D1220;--rail-fg: #C9CEE0;--rail-muted: #6C7694;--rail-hover: rgba(255, 255, 255, .05);--rail-active: rgba(5, 150, 105, .24);--code-bg: #18203A}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-sans);background:var(--bg);background-image:var(--bg-grad);background-attachment:fixed;color:var(--text);line-height:1.55;font-size:14.5px;letter-spacing:-.006em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;font-size:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:var(--text)}h1,h2,h3,h4{letter-spacing:-.02em;line-height:1.25}code,pre{font-family:var(--font-mono)}.mono{font-family:var(--font-mono);font-size:.86em}::selection{background:#05966940}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--text-subtle);background-clip:content-box}.app{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--rail-bg);color:var(--rail-fg);display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh;overflow:hidden;border-right:1px solid rgba(255,255,255,.04);z-index:40}.sidebar-brand{display:flex;align-items:center;gap:.7rem;padding:1.15rem 1.25rem;font-weight:700;font-size:1.02rem;color:#fff;letter-spacing:-.01em}.sidebar-brand:hover{text-decoration:none}.brand-mark{width:34px;height:34px;border-radius:10px;flex-shrink:0;background:var(--accent-grad);box-shadow:0 4px 14px #05966966,inset 0 1px #ffffff40;position:relative}.brand-mark:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.18),transparent 45%)}.brand-sub{font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rail-muted);display:block;line-height:1.1;margin-top:2px}.project-selector{padding:0 .9rem .9rem;position:relative}.project-selector-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.62rem .8rem;border-radius:var(--radius-sm);background:#ffffff0b;color:var(--rail-fg);font-size:.84rem;font-weight:500;border:1px solid rgba(255,255,255,.08);transition:background .15s var(--ease),border-color .15s var(--ease)}.project-selector-btn:hover{background:#ffffff14;border-color:#ffffff24}.project-selector-btn .current{display:flex;align-items:center;gap:.45rem;overflow:hidden;min-width:0}.project-selector-btn .current-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-selector-btn svg{width:14px;height:14px;stroke:var(--rail-muted);flex-shrink:0}.project-dropdown{display:none;position:absolute;left:.9rem;right:.9rem;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-height:320px;overflow-y:auto;z-index:100}.project-dropdown.open{display:block}.project-search{width:100%;padding:.55rem .85rem;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font-size:.85rem;outline:none}.project-list{padding:.3rem 0}.project-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .85rem;cursor:pointer;font-size:.85rem;color:var(--text);transition:background .1s}.project-item:hover{background:var(--surface-2)}.project-item.active{background:var(--accent-soft);color:var(--accent)}.project-item .name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-item .id{font-size:.7rem;color:var(--text-subtle);font-family:var(--font-mono)}.project-item.active .id{color:var(--accent);opacity:.75}.sidebar-nav{flex:1;overflow-y:auto;padding:.25rem .65rem .75rem}.nav-section{font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;color:var(--rail-muted);margin:1.1rem .55rem .4rem;font-weight:700}.nav-item{position:relative;display:flex;align-items:center;gap:.65rem;padding:.52rem .7rem;border-radius:var(--radius-sm);color:var(--rail-muted);font-size:.855rem;font-weight:500;transition:background .16s var(--ease),color .16s var(--ease);text-decoration:none}.nav-item:hover{background:var(--rail-hover);color:var(--rail-fg);text-decoration:none}.nav-item.active{background:var(--rail-active);color:#fff}.nav-item.active:before{content:"";position:absolute;left:-.65rem;top:20%;bottom:20%;width:3px;border-radius:3px;background:var(--accent-grad)}.nav-item svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sidebar-footer{padding:.8rem;border-top:1px solid rgba(255,255,255,.06)}.user-card{display:flex;align-items:center;gap:.6rem}.user-avatar{width:34px;height:34px;border-radius:50%;background:var(--accent-grad);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0;box-shadow:inset 0 1px #ffffff4d}.user-info{flex:1;min-width:0}.user-name{font-size:.85rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.7rem;color:var(--rail-muted);text-transform:capitalize}.theme-toggle{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--rail-muted);background:#ffffff0d;transition:all .15s}.theme-toggle:hover{color:#fff;background:#ffffff1a}.theme-toggle svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2}.theme-toggle .sun{display:none}[data-theme=dark] .theme-toggle .sun{display:block}[data-theme=dark] .theme-toggle .moon{display:none}.main{flex:1;min-width:0;display:flex;flex-direction:column}.header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.6rem;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);min-height:60px}.header-title{font-size:1.02rem;font-weight:700;letter-spacing:-.015em}.header-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:600;font-family:var(--font-mono);color:var(--accent);background:var(--accent-soft);padding:.24rem .6rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent)}.header-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.mobile-toggle{display:none;width:36px;height:36px;border-radius:8px;align-items:center;justify-content:center;color:var(--text-muted);border:1px solid var(--border);background:var(--surface)}.mobile-toggle svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round}.sidebar-backdrop{display:none;position:fixed;inset:0;background:#0508128c;z-index:39;opacity:0;transition:opacity .2s}.sidebar-backdrop.open{display:block;opacity:1}.content{flex:1;padding:1.6rem;max-width:1280px;width:100%;margin:0 auto}.footer{padding:1.1rem 1.6rem;color:var(--text-subtle);font-size:.75rem;text-align:center}.subtitle{color:var(--text-muted);font-size:.92rem;margin:.2rem 0 1.4rem;max-width:64ch}.page-head{margin-bottom:1.4rem}.page-head h1{font-size:1.45rem;font-weight:800}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm);transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.card:hover{border-color:var(--border-strong)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:-1.25rem -1.25rem 1.1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.card-title{font-size:.98rem;font-weight:700;letter-spacing:-.01em}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.9rem}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.05rem 1.15rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.55rem;transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease)}.stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--border-strong)}.stat-icon{width:38px;height:38px;border-radius:10px;background:var(--accent-grad);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0596694d}.stat-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.stat-icon.ok{background:linear-gradient(135deg,#059669,#14b8a6);box-shadow:0 4px 12px #14b8a64d}.stat-icon.warn{background:linear-gradient(135deg,#d97706,#f59e0b);box-shadow:0 4px 12px #f59e0b4d}.stat-icon.danger{background:linear-gradient(135deg,#e11d48,#f43f5e);box-shadow:0 4px 12px #e11d484d}.stat-value{font-size:1.65rem;font-weight:800;letter-spacing:-.03em;font-family:var(--font-mono)}.stat-label{font-size:.76rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.07em}.stat-delta{font-size:.75rem;color:var(--text-subtle)}.stat-delta.up{color:var(--ok)}.stat-delta.down{color:var(--danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.55rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;letter-spacing:-.005em;border:1px solid transparent;transition:all .16s var(--ease);white-space:nowrap}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.btn-primary{background:var(--accent-grad);color:#fff;box-shadow:0 4px 14px #05966952,inset 0 1px #fff3}.btn-primary:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 6px 18px #0596696b;transform:translateY(-1px)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 25%,transparent)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.btn-sm{padding:.38rem .7rem;font-size:.78rem;border-radius:7px}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto;box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse;font-size:.86rem}thead th{text-align:left;padding:.7rem 1rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}tbody td{padding:.72rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .12s}tbody tr:hover{background:var(--surface-2)}.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}.label{font-size:.78rem;font-weight:600;color:var(--text-muted)}.input,.select,textarea,.textarea{width:100%;padding:.6rem .8rem;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.88rem;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.input:focus,.select:focus,textarea:focus,.textarea:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.textarea,textarea{min-height:90px;resize:vertical;font-family:var(--font-mono);font-size:.82rem}.select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:2.2rem}.hint{font-size:.75rem;color:var(--text-subtle)}.muted{color:var(--text-muted)}.error{color:var(--danger);font-size:.82rem}.badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;letter-spacing:.03em;padding:.22rem .6rem;border-radius:999px;border:1px solid transparent;white-space:nowrap}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.badge-green{color:var(--ok);background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 24%,transparent)}.badge-red{color:var(--danger);background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 24%,transparent)}.badge-blue{color:var(--info);background:var(--info-soft);border-color:color-mix(in srgb,var(--info) 24%,transparent)}.badge-gold{color:var(--warn);background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 24%,transparent)}.badge-teal{color:var(--nb-teal);background:var(--teal-soft);border-color:color-mix(in srgb,var(--nb-teal) 24%,transparent)}.badge-gray{color:var(--text-muted);background:var(--surface-3);border-color:var(--border-strong)}.badge.badge-plain:before{display:none}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;text-align:center;padding:3rem 1.5rem;background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius)}.empty-icon{width:52px;height:52px;border-radius:14px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}.empty-icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.empty-title{font-weight:700;font-size:.95rem}.modal-overlay{position:fixed;inset:0;z-index:200;background:#070a1699;backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:1.5rem}.modal-overlay.open{display:flex}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:540px;max-height:88vh;overflow-y:auto;padding:1.5rem;animation:modalIn .22s var(--ease)}@keyframes modalIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.toast-container{position:fixed;bottom:1.4rem;right:1.4rem;z-index:300;display:flex;flex-direction:column;gap:.6rem}.toast{display:flex;align-items:center;gap:.7rem;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:.75rem 1rem;font-size:.85rem;max-width:380px;animation:toastIn .25s var(--ease)}.toast.success{border-left-color:var(--ok)}.toast.error{border-left-color:var(--danger)}.toast.warn{border-left-color:var(--warn)}.toast.info{border-left-color:var(--info)}.toast.warning{border-left-color:var(--warn)}.toast-close{margin-left:auto;cursor:pointer;color:var(--text-subtle);font-size:1rem;padding:0 .15rem}.toast-close:hover{color:var(--text)}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.info-box{background:var(--info-soft);border:1px solid color-mix(in srgb,var(--info) 22%,transparent);color:var(--text);border-radius:var(--radius-sm);padding:.8rem 1rem;font-size:.84rem}.divider{height:1px;background:var(--border);margin:1.1rem 0;border:none}.spec-section{margin-top:1.5rem}.login-card{max-width:400px;margin:8vh auto 2rem}.twofa-notice{font-size:.82rem;color:var(--text-muted);margin-top:.6rem}.oauth-buttons{display:grid;gap:.6rem;margin-top:1rem}.oauth-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);font-size:.86rem;font-weight:600;color:var(--text);transition:all .15s}.oauth-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);text-decoration:none}.bucket-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.bucket-item-tag{display:inline-block;font-size:.68rem;font-family:var(--font-mono);background:var(--surface-3);color:var(--text-muted);padding:.14rem .5rem;border-radius:6px;margin:.1rem .15rem .1rem 0}.console-log{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.76rem;line-height:1.65;padding:.9rem 1rem;overflow:auto;max-height:420px;white-space:pre-wrap;word-break:break-word}.console-log .log-err{color:var(--danger)}.console-log .log-out{color:var(--text-muted)}.kv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.85rem}.kv{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.7rem .85rem}.kv .k{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle)}.kv .v{font-size:.88rem;font-weight:600;margin-top:.15rem;word-break:break-all}.pill-row{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.memory-bar{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.memory-bar>span{display:block;height:100%;border-radius:999px;background:var(--accent-grad);transition:width .4s var(--ease)}.memory-bar>span.hot{background:linear-gradient(90deg,#f59e0b,#e11d48)}.hidden{display:none!important}.flex{display:flex}.grid{display:grid}.block{display:block}.items-center{align-items:center}.justify-between{justify-content:space-between}.cursor-pointer{cursor:pointer}.text-sm{font-size:.84rem}.text-xs{font-size:.74rem}.text-xl{font-size:1.2rem}.text-3xl{font-size:1.8rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-mono{font-family:var(--font-mono)}.w-full{width:100%}.mx-auto{margin-left:auto;margin-right:auto}.max-w-4xl{max-width:56rem}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:8px}.rounded-lg{border-radius:12px}.rounded-xl{border-radius:16px}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-1{margin-top:.25rem}.mt-3{margin-top:.75rem}.ml-2{margin-left:.5rem}.p-3{padding:.75rem}.p-6{padding:1.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.hover\:underline:hover{text-decoration:underline}.text-white{color:#fff}.hover\:bg-emerald-700:hover{filter:brightness(1.08)}.border{border:1px solid var(--border-strong)}.bg-slate-900,.bg-slate-800{background:var(--surface-2)}.border-slate-700{border-color:var(--border)}.text-slate-300,.text-slate-400{color:var(--text-muted)}.text-slate-500{color:var(--text-subtle)}.text-emerald-500{color:var(--ok)}.bg-emerald-600{background:var(--nb-green);color:#fff}@media (max-width: 900px){.mobile-toggle{display:inline-flex}.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:60;transform:translate(-100%);transition:transform .24s var(--ease);width:min(var(--sidebar-w),84vw)}.sidebar.open{transform:none;box-shadow:var(--shadow-lg)}.content{padding:1.1rem}.header{padding:.75rem 1.1rem}}
