:root{--bg-l: #f3f7f8;--surface-l: #ffffff;--surface2-l: #eaf1f3;--ink-l: #17282e;--muted-l: #5a7079;--line-l: #d9e3e6;--side-l: #ffffff;--accent-l: #0c7c8f;--accent-strong-l: #095f6e;--accent-soft-l: #dcf0f4;--on-accent-l: #ffffff;--coral-l: #c25a3a;--coral-soft-l: #f9e7e0;--amber-l: #996a0c;--amber-soft-l: #f7eed7;--good-l: #25784a;--good-soft-l: #e1f2e8;--bad-l: #bb3a3a;--bad-soft-l: #f9e6e4;--shadow-l: 0 1px 2px rgba(23, 40, 46, .05), 0 8px 24px rgba(23, 40, 46, .06);--bg-d: #0e1519;--surface-d: #151e24;--surface2-d: #1c2830;--ink-d: #dfe9ec;--muted-d: #8fa3ac;--line-d: #2a3a42;--side-d: #121a20;--accent-d: #55c3d6;--accent-strong-d: #7dd2e2;--accent-soft-d: #103641;--on-accent-d: #06171b;--coral-d: #e08a6c;--coral-soft-d: #3a2018;--amber-d: #d9ae55;--amber-soft-d: #33290f;--good-d: #66c48c;--good-soft-d: #153324;--bad-d: #e2837e;--bad-soft-d: #3a1a18;--shadow-d: 0 1px 2px rgba(0, 0, 0, .35), 0 10px 28px rgba(0, 0, 0, .35);color-scheme:light;--bg: var(--bg-l);--surface: var(--surface-l);--surface2: var(--surface2-l);--ink: var(--ink-l);--muted: var(--muted-l);--line: var(--line-l);--side: var(--side-l);--accent: var(--accent-l);--accent-strong: var(--accent-strong-l);--accent-soft: var(--accent-soft-l);--on-accent: var(--on-accent-l);--coral: var(--coral-l);--coral-soft: var(--coral-soft-l);--amber: var(--amber-l);--amber-soft: var(--amber-soft-l);--good: var(--good-l);--good-soft: var(--good-soft-l);--bad: var(--bad-l);--bad-soft: var(--bad-soft-l);--shadow: var(--shadow-l);--sans: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, sans-serif;--display: "Segoe UI Variable Display", "Segoe UI", system-ui, sans-serif;--mono: "Cascadia Code", "Consolas", ui-monospace, monospace;--r: 12px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: var(--bg-d);--surface: var(--surface-d);--surface2: var(--surface2-d);--ink: var(--ink-d);--muted: var(--muted-d);--line: var(--line-d);--side: var(--side-d);--accent: var(--accent-d);--accent-strong: var(--accent-strong-d);--accent-soft: var(--accent-soft-d);--on-accent: var(--on-accent-d);--coral: var(--coral-d);--coral-soft: var(--coral-soft-d);--amber: var(--amber-d);--amber-soft: var(--amber-soft-d);--good: var(--good-d);--good-soft: var(--good-soft-d);--bad: var(--bad-d);--bad-soft: var(--bad-soft-d);--shadow: var(--shadow-d)}}:root[data-theme=dark]{color-scheme:dark;--bg: var(--bg-d);--surface: var(--surface-d);--surface2: var(--surface2-d);--ink: var(--ink-d);--muted: var(--muted-d);--line: var(--line-d);--side: var(--side-d);--accent: var(--accent-d);--accent-strong: var(--accent-strong-d);--accent-soft: var(--accent-soft-d);--on-accent: var(--on-accent-d);--coral: var(--coral-d);--coral-soft: var(--coral-soft-d);--amber: var(--amber-d);--amber-soft: var(--amber-soft-d);--good: var(--good-d);--good-soft: var(--good-soft-d);--bad: var(--bad-d);--bad-soft: var(--bad-soft-d);--shadow: var(--shadow-d)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button{font-family:inherit}input,select,textarea{font-family:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);font-weight:650;font-size:13.5px;border-radius:9px;padding:8px 16px;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .06s ease}.btn:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.55;cursor:default}.btn.ghost{background:transparent;color:var(--accent)}.btn.ghost:hover{background:var(--accent-soft)}.btn.subtle{background:var(--surface);border-color:var(--line);color:var(--ink);font-weight:600}.btn.subtle:hover{background:var(--surface2)}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:650}.field input,.field select{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:9px 12px;font-size:14px;transition:border-color .12s ease,box-shadow .12s ease}.field input:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow)}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:650;padding:2px 10px;border-radius:999px;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.pill.ok{background:var(--good-soft);color:var(--good)}.pill.warn{background:var(--amber-soft);color:var(--amber)}.pill.info{background:var(--accent-soft);color:var(--accent)}.pill.off{background:var(--surface2);color:var(--muted)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow)}table.data{width:100%;border-collapse:collapse;font-size:13.5px}table.data th{text-align:left;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:650;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--surface2);white-space:nowrap}table.data td{padding:10px 14px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}table.data tr:last-child td{border-bottom:0}table.data tbody tr{cursor:default;transition:background .1s ease}table.data tbody tr:hover{background:var(--surface2)}.empty{padding:44px 20px;text-align:center;color:var(--muted)}.empty .big{font-size:30px;margin-bottom:8px}.error-note{background:var(--bad-soft);color:var(--bad);border-radius:8px;padding:9px 13px;font-size:13px;font-weight:600}.login-split{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}@media (max-width: 860px){.login-split{grid-template-columns:1fr}.login-brand{display:none}}.login-brand{position:relative;overflow:hidden;background:radial-gradient(1100px 500px at -10% -10%,rgba(85,195,214,.25),transparent 60%),radial-gradient(800px 600px at 110% 110%,rgba(224,138,108,.22),transparent 55%),linear-gradient(160deg,#0a2e37,#0c7c8f);color:#eaf6f8;display:flex;flex-direction:column;justify-content:space-between;padding:48px}.login-brand .word{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;opacity:.85}.login-brand h1{font-family:var(--display);font-size:clamp(26px,3.2vw,40px);line-height:1.15;letter-spacing:-.015em;margin:18px 0 10px;max-width:14ch}.login-brand p{max-width:40ch;opacity:.85;margin:0}.brand-cards{position:relative;height:190px}.brand-card{position:absolute;width:168px;border-radius:14px;background:#ffffff1a;border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:14px}.brand-card .bc-photo{width:44px;height:44px;border-radius:8px;background:#ffffff40;margin-bottom:10px}.brand-card .bc-line{height:7px;border-radius:4px;background:#ffffff4d;margin:7px 0}.brand-card .bc-line.s{width:60%}.brand-card.one{left:0;bottom:8px;transform:rotate(-7deg)}.brand-card.two{left:150px;bottom:26px;transform:rotate(4deg);background:#ffffff29}.brand-card.three{left:300px;bottom:4px;transform:rotate(-2deg);opacity:.65}.login-side{display:flex;align-items:center;justify-content:center;padding:40px 24px}.login-box{width:100%;max-width:360px}.login-box .mark{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:var(--on-accent);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;font-family:var(--display);margin-bottom:18px}.login-box h2{font-family:var(--display);font-size:24px;letter-spacing:-.01em;margin:0 0 4px}.login-box .sub{color:var(--muted);margin:0 0 24px}.login-box form{display:flex;flex-direction:column;gap:14px}.login-box .btn{width:100%;justify-content:center;padding:11px;font-size:14.5px}.login-box .foot{margin-top:18px;font-size:12.5px;color:var(--muted);text-align:center}.shell{display:grid;grid-template-columns:244px 1fr;min-height:100vh}@media (max-width: 860px){.shell{grid-template-columns:64px 1fr}.side .label,.side .brand-name,.side .brand-sub,.side .user-meta,.side .nav-label{display:none}.side nav a{justify-content:center;padding:9px 0}.side .brand{justify-content:center;padding-left:0;padding-right:0}.side .user{justify-content:center}.side .user button{margin-left:0}}.side{background:var(--side);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:16px 12px 14px;position:sticky;top:0;height:100vh;overflow-y:auto}.side .brand{display:flex;align-items:center;gap:11px;padding:4px 8px 14px}.side .brand .mark{width:36px;height:36px;flex:none;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:var(--on-accent);display:flex;align-items:center;justify-content:center;font-weight:800;font-family:var(--display)}.side .brand-name{font-weight:700;font-family:var(--display);letter-spacing:-.01em}.side .brand-sub{font-size:11px;color:var(--muted)}.side nav{display:flex;flex-direction:column;flex:1}.side .nav-label{font-size:10px;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:14px 12px 6px}.side nav a{display:flex;align-items:center;gap:11px;padding:8px 12px;border-radius:9px;margin-bottom:1px;color:var(--muted);text-decoration:none;font-weight:550;font-size:13.5px;position:relative;transition:background .1s ease,color .1s ease}.side nav a:hover{background:var(--surface2);color:var(--ink)}.side nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:650}.side nav a.active:before{content:"";position:absolute;left:-12px;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.side nav a .ico{width:18px;display:flex;justify-content:center;flex:none}.side .user{border-top:1px solid var(--line);padding-top:12px;display:flex;align-items:center;gap:10px}.side .user .avatar{width:32px;height:32px;flex:none;border-radius:50%;background:var(--coral-soft);border:none;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:var(--coral)}.side .user .user-meta{min-width:0}.side .user .u-name{font-weight:650;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side .user .u-role{font-size:11px;color:var(--muted)}.side .user button{margin-left:auto;background:none;border:none;color:var(--muted);cursor:pointer;display:flex;padding:6px;border-radius:7px}.side .user button:hover{color:var(--bad);background:var(--bad-soft)}.main{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:12px;padding:10px 28px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.tb-search{display:flex;align-items:center;gap:9px;flex:0 1 320px;background:var(--surface2);border:1px solid var(--line);border-radius:9px;padding:6px 12px;color:var(--muted)}.tb-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tb-search svg{flex:none}.tb-search input{border:none;background:none;outline:none;font-size:13px;width:100%;color:var(--ink)}.tb-search input::placeholder{color:var(--muted)}.tb-right{margin-left:auto;display:flex;align-items:center;gap:10px}.session-chip{display:inline-flex;align-items:center;gap:8px;background:var(--good-soft);color:var(--good);border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:650;text-decoration:none;white-space:nowrap}.session-chip .dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.session-chip.none{background:var(--amber-soft);color:var(--amber)}.session-chip.none:hover{text-decoration:underline}.icon-btn{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--muted);border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:background .1s ease,color .1s ease}.icon-btn:hover{background:var(--surface2);color:var(--ink)}@media (max-width: 700px){.tb-search{display:none}}.workspace-banner{background:var(--amber-soft);color:var(--amber);border-bottom:1px solid var(--amber);padding:8px 24px;font-size:13px;font-weight:650;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.workspace-banner button{margin-left:auto;border:1px solid var(--amber);background:transparent;color:var(--amber);border-radius:7px;padding:3px 12px;font-family:var(--mono);font-size:11.5px;font-weight:600;cursor:pointer}.workspace-banner button:hover{background:var(--amber);color:var(--bg)}.page{padding:26px 28px 48px;max-width:1180px;width:100%;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.page-head h1{font-family:var(--display);font-size:23px;font-weight:650;letter-spacing:-.01em;margin:0}.page-head .crumb{font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-weight:650;margin-bottom:3px}.page-head .actions{display:flex;gap:8px;flex-wrap:wrap}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:20px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:15px 17px;box-shadow:var(--shadow)}.stat-card .k{font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);font-weight:650}.stat-card .v{font-size:26px;font-weight:700;font-family:var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1.25;margin-top:4px}.stat-card .d{font-size:12px;color:var(--muted);margin-top:2px}.stat-card .d.good{color:var(--good)}.stat-card .d.warn{color:var(--amber)}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;align-items:center}.toolbar input,.toolbar select{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:7px 11px;font-size:13px}.toolbar input:focus,.toolbar select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dash-grid{display:grid;grid-template-columns:1fr 300px;gap:18px;align-items:start}@media (max-width: 980px){.dash-grid{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}.panel-head{display:flex;align-items:center;gap:10px;padding:13px 18px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-family:var(--display);font-size:14.5px;font-weight:650}.panel-head .more{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--accent);text-decoration:none}.panel-head .more:hover{text-decoration:underline}.panel .table-wrap{border:none;border-radius:0;box-shadow:none}.qa-list{display:flex;flex-direction:column}.qa-list a{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:13.5px;font-weight:600;transition:background .1s ease}.qa-list a:last-child{border-bottom:none}.qa-list a:hover{background:var(--surface2)}.qa-list .qi{width:32px;height:32px;border-radius:9px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent)}.qa-list .qi.c{background:var(--coral-soft);color:var(--coral)}.qa-list small{display:block;color:var(--muted);font-weight:400;font-size:11.5px;margin-top:1px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#08121680;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);width:100%;max-width:460px;max-height:90vh;overflow-y:auto;padding:22px}.modal h3{margin:0 0 16px;font-family:var(--display);font-size:18px}.modal .grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal .grid2 .full{grid-column:1 / -1}.modal .modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.avatar-sq{width:34px;height:34px;border-radius:9px;background:var(--accent-soft);border:none;display:flex;align-items:center;justify-content:center;color:var(--accent);font-weight:700;font-size:13px;flex:none}@media (prefers-reduced-motion: reduce){*{transition:none!important}}
