:root,:root[data-theme=dark]{--bg:#0b1020;--bg-grad-1:#3861fb59;--bg-grad-2:#10b98138;--bg-grad-3:#a855f738;--glass:#ffffff0f;--glass-strong:#ffffff1a;--glass-border:#ffffff1f;--glass-shadow:0 8px 32px #00000059;--text:#e8ecf8;--text-muted:#9aa3bd;--accent:#6d8cff;--accent-ink:#fff;--input-bg:#ffffff0d;--good:#34d399;--good-bg:#34d39926;--warn:#fbbf24;--warn-bg:#fbbf2426;--bad:#f87171;--bad-bg:#f8717129;--info:#60a5fa;--info-bg:#60a5fa26;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#eef2fb;--bg-grad-1:#6384ff59;--bg-grad-2:#34d39940;--bg-grad-3:#c084fc40;--glass:#ffffff8c;--glass-strong:#ffffffbf;--glass-border:#fffc;--glass-shadow:0 8px 32px #1f29501f;--text:#141a2e;--text-muted:#59627c;--accent:#3b5bdb;--accent-ink:#fff;--input-bg:#ffffffb3;--good:#047857;--good-bg:#10b98126;--warn:#b45309;--warn-bg:#f59e0b29;--bad:#b91c1c;--bad-bg:#ef444421;--info:#1d4ed8;--info-bg:#3b82f621;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{color:var(--text);background:radial-gradient(60vw 60vw at 0% 0%, var(--bg-grad-1), transparent 60%), radial-gradient(50vw 50vw at 100% 20%, var(--bg-grad-3), transparent 60%), radial-gradient(60vw 60vw at 50% 110%, var(--bg-grad-2), transparent 60%), var(--bg);background-attachment:fixed;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px}a{color:var(--accent);text-decoration:none}h1,h2,h3{margin:0 0 12px;font-weight:600}h1{font-size:22px}h2{font-size:17px}h3{font-size:15px}.glass{background:var(--glass);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(18px)saturate(140%);border-radius:16px}.card{padding:18px}.muted{color:var(--text-muted)}.small{font-size:12px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.spread{justify-content:space-between}.stack{flex-direction:column;gap:16px;display:flex}.grid{gap:16px;display:grid}.grid-4{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.shell{grid-template-columns:230px 1fr;min-height:100%;display:grid}.sidebar{flex-direction:column;gap:4px;height:calc(100vh - 32px);margin:16px 0 16px 16px;padding:18px 12px;display:flex;position:sticky;top:16px}.brand{padding:4px 10px 18px;font-size:17px;font-weight:700}.brand span{color:var(--accent)}.nav a{color:var(--text-muted);border-radius:10px;padding:10px 12px;font-weight:500;display:block}.nav a:hover{background:var(--glass-strong);color:var(--text)}.nav a.active{background:var(--glass-strong);color:var(--text);box-shadow:inset 3px 0 0 var(--accent)}.sidebar .bottom{flex-direction:column;gap:10px;margin-top:auto;padding:0 6px;display:flex}.main{min-width:0;padding:16px 20px 40px}.topbar{justify-content:space-between;align-items:center;margin-bottom:18px;padding:12px 18px;display:flex}@media (width<=820px),(height<=520px) and (orientation:landscape){.shell{grid-template-columns:1fr}.sidebar{z-index:20;border-top:0;border-radius:0 0 16px 16px;grid-template-columns:1fr auto;align-items:center;gap:8px;height:auto;margin:0;padding:10px 12px 8px;display:grid;position:sticky;top:0}.brand{padding:0 4px;font-size:16px}.sidebar .bottom{flex-direction:row;grid-area:1/2;align-items:center;gap:8px;margin-top:0;padding:0}.sidebar .bottom .who{display:none}.sidebar .bottom select{padding:6px 8px;font-size:13px}.nav{overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;grid-column:1/-1;gap:4px;margin:0 -12px;padding:0 12px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 12px calc(100% - 24px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 12px calc(100% - 24px),#0000 100%)}.nav::-webkit-scrollbar{display:none}.nav a{white-space:nowrap;scroll-snap-align:start;flex:none;padding:8px 12px;font-size:14px}.nav a.active{box-shadow:inset 0 -2px 0 var(--accent)}.main{padding:12px 12px 32px}h1{font-size:20px}}.steps{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.steps::-webkit-scrollbar{display:none}.steps>*{white-space:nowrap;flex:none}button,.btn{font:inherit;cursor:pointer;border:1px solid var(--glass-border);background:var(--glass-strong);color:var(--text);border-radius:10px;padding:9px 16px;font-weight:600;transition:transform 50ms,background .15s}button:hover{background:var(--glass-border)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}button.primary:hover{filter:brightness(1.08)}button.good{background:var(--good-bg);color:var(--good);border-color:#0000}button.bad{background:var(--bad-bg);color:var(--bad);border-color:#0000}button.sm{padding:5px 10px;font-size:12px}input,select,textarea{font:inherit;color:var(--text);background:var(--input-bg);border:1px solid var(--glass-border);border-radius:10px;width:100%;padding:9px 12px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}select option{background:var(--bg);color:var(--text)}label{flex-direction:column;gap:6px;font-weight:500;display:flex}label.check{flex-direction:row;align-items:center;gap:8px}label.check input{width:auto}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}th,td{border-bottom:1px solid var(--glass-border);vertical-align:top;padding:10px 12px}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--glass)}.badge{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-block}.badge.good{background:var(--good-bg);color:var(--good)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.badge.info{background:var(--info-bg);color:var(--info)}.badge.neutral{background:var(--glass-strong);color:var(--text-muted)}.stat .value{font-size:30px;font-weight:700}.stat .label{color:var(--text-muted);font-weight:500}.alert{border-radius:12px;padding:12px 14px}.alert.bad{background:var(--bad-bg);color:var(--bad)}.alert.warn{background:var(--warn-bg);color:var(--warn)}.alert.good{background:var(--good-bg);color:var(--good)}.alert ul{margin:6px 0 0;padding-left:18px}.steps{gap:8px;margin-bottom:16px;display:flex}.steps .step{background:var(--glass);color:var(--text-muted);border-radius:999px;padding:6px 12px;font-weight:500}.steps .step.on{background:var(--accent);color:var(--accent-ink)}.thumbs{flex-wrap:wrap;gap:12px;display:flex}.thumb{width:140px;padding:6px}.thumb img{object-fit:cover;border-radius:10px;width:100%;height:170px;display:block}.viewer img{border-radius:12px;width:100%;display:block}.split{grid-template-columns:minmax(280px,.9fr) 1.4fr;align-items:start;gap:16px;display:grid}@media (width<=1100px){.split{grid-template-columns:1fr}}.login-wrap{place-items:center;min-height:100%;padding:16px;display:grid}.login{width:100%;max-width:380px;padding:28px}.spinner{border:2px solid var(--glass-border);border-top-color:var(--accent);vertical-align:middle;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}
