@charset "UTF-8";.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--bg: #f5f6f7;--bg-elev: #ffffff;--bg-elev-2: #e9ecee;--border: #dce1e3;--border-strong: #828e94;--text: #16232b;--text-dim: #4a5a64;--text-faint: #5e686f;--accent: #0e7c86;--accent-soft: rgba(14, 124, 134, .12);--accent-2: #1b7f4b;--accent-on: #ffffff;--logo-tile: #0e7c86;--logo-tile-on: #ffffff;--danger: #c0392f;--warn: #a87c42;--danger-fg: #a3271d;--ok-fg: #12653a;--warn-fg: #7a5522;--preview-mat: #b8bec7;--brand-glow-a: rgba(14, 124, 134, .13);--brand-glow-b: rgba(168, 124, 66, .11);--shadow: 0 6px 22px rgba(20, 28, 40, .1);--radius: 12px;--radius-sm: 8px;--sidebar-w: 268px;--admin-max: 1560px;--admin-pad: 32px;--header-h: 62px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0e1418;--bg-elev: #11181d;--bg-elev-2: #18222a;--border: #243039;--border-strong: #5d717d;--text: #edf2f4;--text-dim: #93a4ad;--text-faint: #7f909a;--accent: #5cd2da;--accent-soft: rgba(92, 210, 218, .14);--accent-2: #4ed18a;--accent-on: #0e1418;--danger: #ff6b6b;--warn: #e0be84;--danger-fg: #ffb3b3;--ok-fg: #6fe0a4;--warn-fg: #e0be84;--preview-mat: #6f757e;--brand-glow-a: rgba(92, 210, 218, .15);--brand-glow-b: rgba(224, 190, 132, .11);--shadow: 0 8px 28px rgba(0, 0, 0, .45);color-scheme:dark}}:root[data-theme=dark]{--bg: #0e1418;--bg-elev: #11181d;--bg-elev-2: #18222a;--border: #243039;--border-strong: #5d717d;--text: #edf2f4;--text-dim: #93a4ad;--text-faint: #7f909a;--accent: #5cd2da;--accent-soft: rgba(92, 210, 218, .14);--accent-2: #4ed18a;--accent-on: #0e1418;--danger: #ff6b6b;--warn: #e0be84;--danger-fg: #ffb3b3;--ok-fg: #6fe0a4;--warn-fg: #e0be84;--preview-mat: #6f757e;--brand-glow-a: rgba(92, 210, 218, .15);--brand-glow-b: rgba(224, 190, 132, .11);--shadow: 0 8px 28px rgba(0, 0, 0, .45);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.btn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-elev-2);color:var(--text);font-weight:500;transition:background .15s,border-color .15s,transform .1s}.btn:hover{background:color-mix(in srgb,var(--bg-elev-2) 88%,var(--text));border-color:var(--border-strong)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-on);font-weight:600}.btn.primary:hover{background:color-mix(in srgb,var(--accent) 86%,var(--text));border-color:color-mix(in srgb,var(--accent) 86%,var(--text))}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-dim)}.btn.ghost:hover{background:var(--bg-elev-2);color:var(--text)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.4;cursor:not-allowed}.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text-dim);font-size:11.5px;white-space:nowrap}.spinner{width:20px;height:20px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}body.has-modal .app-bar{z-index:1}body.has-modal{overflow:hidden}
