:root{font-family:Inter,system-ui,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color:#e2e8f0;background-color:#0b1120;--bg: #0b1120;--panel: #0f172a;--panel-alt: #0b1220;--border: #1f2937;--text: #e2e8f0;--text-muted: #94a3b8;--text-soft: #cbd5f5;--accent: #2563eb;--accent-contrast: #ffffff;--success: #a7f3d0;--danger: #fca5a5;--warn: #f59e0b;--hover: rgba(148, 163, 184, .08);--menu-hover: #1e293b;--sidebar: #0f172a}[data-theme=light]{color:#0f172a;background-color:#f5f7fb;--bg: #f5f7fb;--panel: #ffffff;--panel-alt: #f1f5f9;--border: #e2e8f0;--text: #0f172a;--text-muted: #64748b;--text-soft: #475569;--accent: #2563eb;--accent-contrast: #ffffff;--success: #16a34a;--danger: #dc2626;--warn: #d97706;--hover: rgba(15, 23, 42, .05);--menu-hover: #e2e8f0;--sidebar: #ffffff}[data-theme=mint]{color:#1a3a2a;background-color:#f2f9f5;--bg: #f2f9f5;--panel: #ffffff;--panel-alt: #e8f5ed;--border: #c8e6d4;--text: #1a3a2a;--text-muted: #5c8a6e;--text-soft: #36604a;--accent: #16a34a;--accent-contrast: #ffffff;--success: #16a34a;--danger: #dc2626;--warn: #d97706;--hover: rgba(26, 58, 42, .05);--menu-hover: #ddf0e4;--sidebar: #e8f5ed}[data-theme=sky]{color:#1a2e40;background-color:#f0f7fd;--bg: #f0f7fd;--panel: #ffffff;--panel-alt: #e4f0fb;--border: #c4ddf2;--text: #1a2e40;--text-muted: #5a82a6;--text-soft: #2e5a80;--accent: #2563eb;--accent-contrast: #ffffff;--success: #16a34a;--danger: #dc2626;--warn: #d97706;--hover: rgba(26, 46, 64, .05);--menu-hover: #d6eaf7;--sidebar: #e4f0fb}[data-theme=silver]{color:#2a2a2e;background-color:#f4f4f6;--bg: #f4f4f6;--panel: #ffffff;--panel-alt: #ebebef;--border: #d4d4da;--text: #2a2a2e;--text-muted: #71717a;--text-soft: #4a4a52;--accent: #52525b;--accent-contrast: #ffffff;--success: #16a34a;--danger: #dc2626;--warn: #d97706;--hover: rgba(42, 42, 46, .05);--menu-hover: #e0e0e6;--sidebar: #ebebef}[data-theme=rose]{color:#3b1f2b;background-color:#fdf2f5;--bg: #fdf2f5;--panel: #ffffff;--panel-alt: #fbe8ee;--border: #f0d0da;--text: #3b1f2b;--text-muted: #9a6b7c;--text-soft: #6b3a50;--accent: #e11d68;--accent-contrast: #ffffff;--success: #16a34a;--danger: #dc2626;--warn: #d97706;--hover: rgba(59, 31, 43, .05);--menu-hover: #f5dce4;--sidebar: #fbe8ee}[data-theme=lavender]{color:#2b2640;background-color:#f5f3fa;--bg: #f5f3fa;--panel: #ffffff;--panel-alt: #eee9f6;--border: #d8d0e8;--text: #2b2640;--text-muted: #7b6f99;--text-soft: #4e4370;--accent: #7c3aed;--accent-contrast: #ffffff;--success: #16a34a;--danger: #dc2626;--warn: #d97706;--hover: rgba(43, 38, 64, .05);--menu-hover: #e4ddf0;--sidebar: #eee9f6}[data-theme=slate]{color:#e2e8f0;background-color:#0a0f1a;--bg: #0a0f1a;--panel: #111827;--panel-alt: #0f172a;--border: #1f2937;--text: #e2e8f0;--text-muted: #94a3b8;--text-soft: #cbd5f5;--accent: #7c3aed;--accent-contrast: #ffffff;--success: #34d399;--danger: #f87171;--warn: #fbbf24;--hover: rgba(148, 163, 184, .08);--menu-hover: #1e293b;--sidebar: #0f172a}[data-theme=ocean]{color:#e0f2fe;background-color:#051923;--bg: #051923;--panel: #0a2536;--panel-alt: #0b2e44;--border: #114b5f;--text: #e0f2fe;--text-muted: #9cc3d5;--text-soft: #cfe7f4;--accent: #38bdf8;--accent-contrast: #001018;--success: #86efac;--danger: #f87171;--warn: #fbbf24;--hover: rgba(125, 211, 252, .12);--menu-hover: #0f3a52;--sidebar: #0a2536}[data-theme=forest]{color:#e2f5e8;background-color:#0b1f16;--bg: #0b1f16;--panel: #112a1f;--panel-alt: #0f2f21;--border: #1f3a2b;--text: #e2f5e8;--text-muted: #9ec6b1;--text-soft: #cfe9da;--accent: #22c55e;--accent-contrast: #062012;--success: #86efac;--danger: #f87171;--warn: #fbbf24;--hover: rgba(134, 239, 172, .12);--menu-hover: #1c3d2d;--sidebar: #112a1f}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text)}a{color:inherit}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.modal-shell{background:var(--panel);border:1px solid var(--border);border-radius:10px;width:100%;max-width:640px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 12px 40px #00000059;overflow:hidden}.modal-shell--wide{max-width:820px}.modal-shell__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .75rem;border-bottom:1px solid var(--border)}.modal-shell__header h3{margin:0;font-size:1rem;font-weight:600}.modal-shell__close{background:none;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;padding:2px 6px;border-radius:4px}.modal-shell__close:hover{background:var(--panel-alt)}.modal-shell__body{flex:1;overflow-y:auto;padding:1rem 1.25rem}.modal-shell__footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1.25rem;border-top:1px solid var(--border)}.modal-shell__footer--between{justify-content:space-between}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}#root{min-height:100vh}.layout{display:flex;min-height:100vh}.sidebar{width:200px;min-width:200px;background:var(--sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;transition:width .2s ease,min-width .2s ease}.sidebar--collapsed{width:52px;min-width:52px}.brand{font-weight:700;font-size:1.05rem;padding:.9rem 1rem;display:flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--border);letter-spacing:.02em}.sidebar--collapsed .brand{justify-content:center;padding:.9rem 0}.brand__toggle{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:0;display:flex;align-items:center;transition:color .15s;flex-shrink:0}.brand__toggle:hover{color:var(--text)}.brand__text{white-space:nowrap;overflow:hidden}.sidebar__nav{display:flex;flex-direction:column;padding:.5rem 0;flex:1;overflow-y:auto;min-height:0}.nav-item{text-align:left;background:transparent;border:none;color:var(--text);padding:.55rem 1rem;cursor:pointer;display:flex;align-items:center;gap:.6rem;font-size:.9rem;font-weight:500;transition:background .15s,color .15s;border-left:3px solid transparent}.nav-item:hover{background:var(--hover)}.nav-item.active{background:var(--accent);color:var(--accent-contrast, #fff);border-left-color:var(--accent);font-weight:600}.nav-item__icon{font-size:.95rem;width:20px;text-align:center;flex-shrink:0}.nav-item__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar--collapsed .nav-item{justify-content:center;padding:.55rem 0;border-left:none}.sidebar--collapsed .nav-item.active{border-left:none}.nav-muted{color:var(--text-muted);font-size:.8rem;white-space:nowrap}.sidebar__footer{margin-top:auto;border-top:1px solid var(--border);display:flex;flex-direction:column}.sidebar--collapsed .sidebar__footer{align-items:center}.nav-section-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:.75rem 1rem .25rem}.theme-picker{display:flex;align-items:center;gap:.5rem;padding:.35rem 1rem}.theme-picker .searchable-select{flex:1;min-width:0}.theme-picker .searchable-select__trigger{padding:.25rem .5rem;font-size:.8rem;border-radius:.4rem}.user-badge{font-size:.75rem;color:var(--text-muted);padding:.5rem 1rem 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{flex:1;padding:1.5rem 2rem 2rem;overflow-y:auto}.loading-spinner{color:var(--text-muted);padding:2rem;text-align:center}.page-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem}.page-header__title h1{margin:0;font-size:1.5rem;font-weight:600}.page-header__title p{margin:.25rem 0 0;color:var(--text-muted);font-size:.9rem}.page-header__actions{display:flex;gap:.5rem;flex-wrap:wrap}.primary{background:var(--accent);color:var(--accent-contrast);border:none;border-radius:999px;padding:.5rem 1.25rem;font-weight:600;font-size:.85rem;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:.4rem;transition:opacity .15s}.primary:hover{opacity:.9}.primary:disabled{opacity:.6;cursor:not-allowed}.ghost{background:transparent;color:var(--text);border:1px solid var(--border);border-radius:999px;padding:.5rem 1.1rem;font-size:.85rem;font-weight:500;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:.4rem;transition:background .15s}.ghost:hover{background:var(--hover)}.ghost:disabled{opacity:.5;cursor:not-allowed}.danger{background:transparent;color:var(--danger);border:1px solid var(--danger);border-radius:999px;padding:.5rem 1.1rem;font-size:.85rem;font-weight:500;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:.4rem}.danger:hover{background:#ef44441a}.danger:disabled{opacity:.5;cursor:not-allowed}.form{display:flex;flex-direction:column;gap:.75rem}.form label{display:flex;flex-direction:column;gap:.4rem;color:var(--text-soft);font-weight:600;font-size:.85rem}.form input,.form select,.form textarea{padding:.5rem .75rem;border-radius:.5rem;border:1px solid var(--border);background:var(--panel-alt);color:var(--text);font:inherit;font-weight:400;width:100%}.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--accent)}.form textarea{resize:vertical;min-height:60px}.hint{font-size:.78rem;color:var(--text-muted);font-weight:400;margin-top:-.15rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.form label.checkbox-field{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.6rem;padding:.6rem .75rem;background:var(--panel-alt);border:1px solid var(--border);border-radius:.5rem;cursor:pointer;font-weight:500;font-size:.85rem;color:var(--text)}.form label.checkbox-field input[type=checkbox]{width:auto;margin:.15rem 0 0;accent-color:var(--accent);cursor:pointer}.form label.checkbox-field code{background:var(--panel);padding:.05rem .35rem;border-radius:.25rem;font-size:.78rem;color:var(--accent)}.alert{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;border:1px solid var(--border);background:var(--panel-alt);color:var(--text);font-size:.88rem}.alert--error{border-color:var(--danger);color:var(--danger)}.alert--warn{border-color:var(--warn)}.alert--info{border-color:var(--accent)}.overview-card{background:var(--panel);border:1px solid var(--border);border-radius:.5rem;padding:.75rem 1rem;margin-bottom:1rem}.overview-card__title{margin:0 0 .5rem;font-size:.95rem;font-weight:600}.overview-card table{width:100%;border-collapse:collapse}.overview-card th,.overview-card td{padding:.4rem .5rem;text-align:left;border-bottom:1px solid var(--border);font-size:.88rem;vertical-align:top}.overview-card th{color:var(--text-muted);width:180px;font-weight:500;font-size:.82rem}.overview-card tr:last-child th,.overview-card tr:last-child td{border-bottom:none}.menu{position:relative;display:inline-block}.menu-trigger{background:transparent;border:1px solid var(--border);color:var(--text);border-radius:.5rem;padding:.3rem .55rem;cursor:pointer;font-size:.9rem;transition:background .12s}.menu-trigger:hover{background:var(--hover)}.menu-content{position:absolute;right:0;top:calc(100% + 6px);background:var(--panel);border:1px solid var(--border);border-radius:.5rem;padding:.25rem;display:none;min-width:160px;z-index:20;box-shadow:0 4px 16px #00000040}.menu:hover .menu-content,.menu:focus-within .menu-content{display:grid}.menu-content button{text-align:left;background:transparent;border:none;color:var(--text);padding:.45rem .7rem;border-radius:.4rem;cursor:pointer;font-size:.85rem}.menu-content button:hover{background:var(--menu-hover)}.menu-content button.danger{border:none;padding:.45rem .7rem;border-radius:.4rem;color:var(--danger)}.menu-content button.danger:hover{background:#ef44441f}.pill{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid var(--border);background:var(--panel-alt);color:var(--text-muted);white-space:nowrap}.pill--ok{color:var(--success);border-color:var(--success)}.pill--err{color:var(--danger);border-color:var(--danger)}.pill--warn{color:var(--warn);border-color:var(--warn)}.pill--muted{color:var(--text-muted)}.code{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.85rem;background:var(--panel-alt);border:1px solid var(--border);padding:.15rem .4rem;border-radius:4px}.code-block{background:var(--panel-alt);border:1px solid var(--border);padding:.75rem;border-radius:6px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.82rem;white-space:pre-wrap;word-break:break-all;-webkit-user-select:all;user-select:all;margin:0;color:var(--text)}.copy-row{display:flex;align-items:stretch;gap:.5rem}.copy-row .code-block{flex:1}.icon-button{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:.4rem .55rem;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;transition:color .15s,background .15s;font-size:.8rem;white-space:nowrap}.icon-button:hover{color:var(--text);background:var(--hover)}.icon-button--ok{color:var(--success);border-color:var(--success)}.tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:1rem}.tab{background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--text-muted);padding:.55rem 1rem;cursor:pointer;font-weight:500;font-size:.9rem;transition:color .15s,border-color .15s}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.empty-state{padding:2rem;background:var(--panel);border:1px dashed var(--border);border-radius:8px;text-align:center;color:var(--text-muted)}.empty-state p{margin:0}.muted{color:var(--text-muted)}.numeric{font-variant-numeric:tabular-nums}.stack{display:flex;flex-direction:column;gap:.75rem}.stack--lg{gap:1.25rem}.row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.row--between{justify-content:space-between}.panel-section{background:var(--panel);border:1px solid var(--border);border-radius:.5rem;padding:1rem 1.25rem;margin-bottom:1rem}.panel-section__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;gap:.5rem}.panel-section__header h2{margin:0;font-size:1rem;font-weight:600}.searchable-select{position:relative;min-width:260px}.searchable-select__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.45rem .75rem;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:.9rem;cursor:pointer;text-align:left;gap:8px}.searchable-select__trigger:hover{border-color:var(--accent, #4a90d9)}.searchable-select__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select__placeholder{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select__arrow{flex-shrink:0;font-size:.7rem;transition:transform .15s ease;color:var(--text-muted)}.searchable-select__arrow--open{transform:rotate(180deg)}.searchable-select__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:100;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #00000040;overflow:hidden}.searchable-select__input{width:100%;padding:8px 12px;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font-size:.85rem;outline:none;box-sizing:border-box}.searchable-select__input::placeholder{color:var(--text-muted)}.searchable-select__list{list-style:none;margin:0;padding:4px 0;max-height:260px;overflow-y:auto}.searchable-select__option{padding:6px 12px;font-size:.85rem;cursor:pointer;color:var(--text)}.searchable-select__option:hover{background:var(--hover)}.searchable-select__option--selected{font-weight:600;color:var(--accent, #4a90d9)}.searchable-select__option--placeholder{color:var(--text-muted);font-style:italic}.searchable-select__option--empty{color:var(--text-muted);font-style:italic;cursor:default}.searchable-select__option--empty:hover{background:transparent}.searchable-select--disabled{opacity:.5;pointer-events:none}.searchable-select--disabled .searchable-select__trigger{cursor:not-allowed}
