:root{--k-purple:#a24ca5;--k-green:#038f43;--k-red:#e21b1b;--k-violet:#5a3db3;--k-lime:#74d044;--bg:#f3f4f8;--panel:#fff;--panel2:#f1f2f6;--hover:#f6f6fa;--text:#1b1f2a;--muted:#687083;--line:#e3e5ec;--line2:#d5d8e1;--accent:#5a3db3;--accent-2:#6d50cc;--accent-weak:#eee9fb;--ok:#038f43;--ok-weak:#e2f4e9;--warn:#b26f08;--warn-weak:#fcf1dd;--bad:#d81f1f;--bad-weak:#fde7e7;--side:#45308f;--side-2:#3a2879;--side-text:#e6e0fb;--side-muted:#e6e0fb9e;--lime-text:#17112e;--shadow:0 1px 2px #1f16460d,0 2px 10px #1f16460a;--shadow-lg:0 18px 50px #140e3238;--ring:0 0 0 3px #5a3db338;--r:12px;--r-sm:8px;--sidew:236px;--ease:cubic-bezier(.2,.7,.2,1);--t:.18s}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121317;--panel:#1b1d22;--panel2:#24262d;--hover:#22242a;--text:#e9eaee;--muted:#9aa0ac;--line:#2e3138;--line2:#3a3e47;--accent:#9e88f4;--accent-2:#b19ff7;--accent-weak:#2a2350;--ok:#4cd17a;--ok-weak:#163122;--warn:#e8a53c;--warn-weak:#382a13;--bad:#ff6767;--bad-weak:#3c1b1d;--side:#1e1640;--side-2:#181133;--side-text:#d6cff4;--side-muted:#d6cff48c;--shadow:0 1px 2px #0000004d;--shadow-lg:0 18px 50px #0000008c;--ring:0 0 0 3px #9e88f44d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#121317;--panel:#1b1d22;--panel2:#24262d;--hover:#22242a;--text:#e9eaee;--muted:#9aa0ac;--line:#2e3138;--line2:#3a3e47;--accent:#9e88f4;--accent-2:#b19ff7;--accent-weak:#2a2350;--ok:#4cd17a;--ok-weak:#163122;--warn:#e8a53c;--warn-weak:#382a13;--bad:#ff6767;--bad-weak:#3c1b1d;--side:#1e1640;--side-2:#181133;--side-text:#d6cff4;--side-muted:#d6cff48c;--shadow:0 1px 2px #0000004d;--shadow-lg:0 18px 50px #0000008c;--ring:0 0 0 3px #9e88f44d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;transition:background-color .25s,color .25s}a{color:var(--accent);cursor:pointer;transition:color var(--t);text-decoration:none}a:hover{color:var(--accent-2)}:focus-visible{box-shadow:var(--ring);border-radius:6px;outline:none}::selection{background:var(--accent-weak)}*{scrollbar-width:thin;scrollbar-color:var(--line2) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line2);background-clip:content-box;border:3px solid #0000;border-radius:10px}::-webkit-scrollbar-track{background:0 0}.i{flex-shrink:0;width:18px;height:18px;display:block}#app{grid-template-columns:var(--sidew) minmax(0,1fr);height:100dvh;transition:grid-template-columns .28s var(--ease);display:grid}body.side-mini{--sidew:72px}#side{background:linear-gradient(180deg,var(--side),var(--side-2));color:var(--side-text);z-index:40;flex-direction:column;gap:6px;padding:14px 12px;display:flex;overflow:hidden auto}.logo{text-align:center;transition:padding .25s var(--ease);background:#fff;border-radius:12px;margin:0 0 12px;padding:10px 10px 8px}.logo svg{width:100%;height:auto;display:block}.logo .full{transition:opacity .2s}.logo .mini{width:30px;height:30px;margin:0 auto;display:none}.logo small{letter-spacing:.03em;color:var(--k-red);white-space:nowrap;margin-top:5px;font-size:9.5px;font-weight:800;display:block}.logo .sub{color:#6c6684;white-space:nowrap;margin-top:2px;font-size:10px;display:block}.nav{flex-direction:column;gap:2px;display:flex}.nav a{color:var(--side-text);white-space:nowrap;transition:background-color var(--t),color var(--t),transform var(--t);border-radius:10px;align-items:center;gap:12px;padding:9px 11px;display:flex;position:relative}.nav a:hover{color:#fff;background:#ffffff17}.nav a:active{transform:scale(.98)}.nav a.on{background:var(--k-lime);color:var(--lime-text);font-weight:600;box-shadow:0 4px 14px #74d04447}.nav .lbl{transition:opacity .2s}.nav .cnt{background:var(--k-red);color:#fff;text-align:center;border-radius:10px;min-width:18px;margin-left:auto;padding:0 5px;font-size:11px;font-weight:600;line-height:18px}.side-foot{margin-top:auto;padding-top:10px}.side-collapse{width:100%;color:var(--side-muted);background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:9px 11px;font-size:13px;display:flex}.side-collapse:hover{color:#fff;background:#ffffff14;border:0}.side-collapse .i{transition:transform .28s var(--ease)}body.side-mini .side-collapse .i{transform:rotate(180deg)}body.side-mini #side{padding:14px 10px}body.side-mini .logo{padding:8px 4px}body.side-mini .logo .full,body.side-mini .logo small,body.side-mini .logo .sub{display:none}body.side-mini .logo .mini{display:block}body.side-mini .nav a,body.side-mini .side-collapse{justify-content:center;padding:10px 0}body.side-mini .nav .lbl,body.side-mini .side-collapse .lbl{display:none}body.side-mini .nav .cnt{min-width:16px;padding:0 4px;font-size:10px;line-height:16px;position:absolute;top:3px;right:6px}#scrim{display:none}#wrap{flex-direction:column;min-width:0;height:100dvh;display:flex}#top{background:color-mix(in srgb,var(--panel) 88%,transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--line);z-index:10;align-items:center;gap:8px;padding:10px 20px;display:flex;position:relative}#top h1{white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;flex:1;min-width:0;margin:0 0 0 4px;font-size:17px;font-weight:650;overflow:hidden}.icon-btn{border-radius:10px;place-items:center;width:36px;height:36px;padding:0;display:inline-grid}#mechip{color:var(--text);transition:background-color var(--t);border-radius:999px;flex-wrap:nowrap;gap:8px;padding:4px 10px 4px 4px}#mechip:hover{background:var(--panel2)}#main{scroll-behavior:smooth;flex:1;padding:20px 24px 48px;overflow:auto}#main.enter>*{animation:fadeUp .26s var(--ease) both}#main.enter>:nth-child(2){animation-delay:30ms}#main.enter>:nth-child(3){animation-delay:60ms}#main.enter>:nth-child(4){animation-delay:90ms}#main.enter>:nth-child(n+5){animation-delay:.12s}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}button,.btn{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;white-space:nowrap;transition:background-color var(--t),border-color var(--t),color var(--t),box-shadow var(--t),transform 80ms,filter var(--t);border-radius:9px;align-items:center;gap:7px;padding:7px 13px;font-weight:500;display:inline-flex}button:hover{border-color:var(--line2);background:var(--hover)}button:active{transform:scale(.97)}button.pri{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 8px #5a3db340}button.pri:hover{background:var(--accent-2);border-color:var(--accent-2)}button.ok{background:var(--ok);border-color:var(--ok);color:#fff}button.bad{background:var(--bad);border-color:var(--bad);color:#fff}button.ok:hover,button.bad:hover{filter:brightness(1.07)}button.lime{background:var(--k-lime);border-color:var(--k-lime);color:var(--lime-text);font-weight:600;box-shadow:0 2px 10px #74d0444d}button.lime:hover{filter:brightness(1.05);background:var(--k-lime);border-color:var(--k-lime)}button.sm{border-radius:7px;padding:3px 9px;font-size:12px}button:disabled{opacity:.45;cursor:not-allowed;transform:none}input,select,textarea{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);width:100%;transition:border-color var(--t),box-shadow var(--t),background-color var(--t);border-radius:9px;padding:7px 10px}input:hover,select:hover,textarea:hover{border-color:var(--line2)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}textarea{resize:vertical;min-height:64px}input:disabled,select:disabled,textarea:disabled{background:var(--panel2);color:var(--muted)}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);padding:0}label.chk{cursor:pointer;align-items:center;gap:8px;display:flex}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);min-width:0;margin-bottom:16px;padding:16px 18px}.card h3{letter-spacing:-.005em;margin:0 0 12px;font-size:14.5px;font-weight:650}.card h3 .muted{font-weight:400}.grid{gap:16px;display:grid}.grid>*{min-width:0}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.side2{grid-template-columns:minmax(0,1fr) 360px}.split{grid-template-columns:minmax(0,320px) minmax(0,1fr)}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);transition:transform var(--t),box-shadow var(--t);padding:14px 16px}.kpi:hover{transform:translateY(-2px);box-shadow:0 8px 24px #1f164614}.kpi .l{color:var(--muted);font-size:12px}.kpi .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:3px 0;font-size:24px;font-weight:700}.kpi .s{color:var(--muted);font-size:12px}.muted{color:var(--muted)}.small{font-size:12px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sp{flex:1}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th{text-align:left;letter-spacing:.02em;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:var(--panel);padding:9px 10px;font-size:11.5px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 10px}tbody tr:last-child td{border-bottom:0}tr.click{cursor:pointer}tr.click td{transition:background-color .12s}tr.click:hover td{background:var(--hover)}.tw{-webkit-overflow-scrolling:touch;overflow:auto}.card.tw[style*=padding\:0]{overflow:auto}.b{background:var(--panel2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:500;display:inline-block}.b-ok{background:var(--ok-weak);color:var(--ok)}.b-warn{background:var(--warn-weak);color:var(--warn)}.b-bad{background:var(--bad-weak);color:var(--bad)}.b-acc{background:var(--accent-weak);color:var(--accent)}.cls{border-radius:7px;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-grid}.cls-A{background:var(--ok-weak);color:var(--ok)}.cls-B{background:var(--accent-weak);color:var(--accent)}.cls-C{background:var(--panel2);color:var(--muted)}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:2px;margin-bottom:16px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs a{color:var(--muted);white-space:nowrap;transition:color var(--t),border-color var(--t),background-color var(--t);border-bottom:2px solid #0000;border-radius:8px 8px 0 0;margin-bottom:-1px;padding:9px 13px}.tabs a:hover{color:var(--text);background:var(--hover)}.tabs a.on{color:var(--text);border-color:var(--accent);font-weight:600}.tabs a .b{margin-left:4px}.kanban{scroll-snap-type:x proximity;align-items:flex-start;gap:16px;padding:2px 2px 14px;display:flex;overflow-x:auto}.col{--stage:var(--accent);background:color-mix(in srgb,var(--stage) 6%,var(--panel2));border:1px solid color-mix(in srgb,var(--stage) 18%,var(--line));border-top:4px solid var(--stage);scroll-snap-align:start;width:268px;min-width:268px;box-shadow:var(--shadow);transition:outline-color var(--t),background-color var(--t),box-shadow var(--t);border-radius:14px;flex-shrink:0}.col.over{outline:2px dashed var(--stage);outline-offset:2px;background:color-mix(in srgb,var(--stage) 14%,var(--panel2));box-shadow:0 10px 30px #1f16461f}.col-head{border-bottom:1px solid color-mix(in srgb,var(--stage) 18%,var(--line));background:color-mix(in srgb,var(--stage) 9%,var(--panel));border-radius:10px 10px 0 0;padding:11px 14px 10px}.col h4{justify-content:space-between;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:650;display:flex}.col h4>span:first-child{align-items:center;gap:8px;min-width:0;display:flex}.col-n{background:var(--stage);color:#fff;border-radius:6px;flex-shrink:0;place-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:inline-grid}.col-c{background:var(--panel);color:var(--text);border:1px solid var(--line);text-align:center;border-radius:999px;min-width:24px;padding:0 8px;font-size:11.5px;font-weight:600;line-height:20px}.col-sub{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:4px;font-size:12px}.col-sub b{color:var(--text);font-weight:600}.col-body{min-height:120px;padding:10px}.col-empty{border:1.5px dashed color-mix(in srgb,var(--stage) 30%,var(--line));text-align:center;color:var(--muted);border-radius:10px;padding:18px 10px;font-size:12px}.col.win,.col.lost{background:color-mix(in srgb,var(--stage) 6%,var(--panel2))}.dc{background:var(--panel);border:1px solid var(--line);cursor:pointer;transition:transform var(--t) var(--ease),box-shadow var(--t),border-color var(--t),opacity var(--t);border-radius:10px;margin-bottom:8px;padding:9px 11px;font-size:13px;box-shadow:0 1px 2px #1f16460a}.dc:hover{border-color:var(--line2);transform:translateY(-2px);box-shadow:0 8px 20px #1f16461a}.dc.dragging{opacity:.45;transform:rotate(1deg)}.dc.late{border-left:3px solid var(--bad)}.dc .t{margin-bottom:2px;font-weight:600}.dc .m{flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;display:flex}.stages{scrollbar-width:none;gap:2px;margin:12px 0 14px;display:flex;overflow-x:auto}.stages::-webkit-scrollbar{display:none}.stages a{background:var(--panel2);min-width:112px;color:var(--muted);text-align:center;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%,9px 50%);transition:background-color var(--t),color var(--t);flex:1;padding:8px 12px;font-size:12px}.stages a:first-child{clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%);border-radius:8px 0 0 8px}.stages a[onclick]:hover,.stages a.done{background:var(--accent-weak);color:var(--accent)}.stages a.cur{background:var(--accent);color:#fff;font-weight:600}.fld{margin-bottom:12px}.fld>label{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.fld.miss>label{color:var(--bad)}.fld.miss input,.fld.miss select,.fld.miss textarea{border-color:var(--bad)}.stgbox{border:1px solid var(--line);transition:border-color var(--t);border-radius:10px;margin-bottom:10px;padding:11px 13px}.stgbox.cur{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.stgbox h5{margin:0 0 4px;font-size:13px}.stgbox .ex{color:var(--muted);margin-bottom:8px;font-size:12px}details.stgbox summary{align-items:center;gap:6px;list-style:none;display:flex}details.stgbox summary::-webkit-details-marker{display:none}details.stgbox summary:before{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);width:7px;height:7px;transition:transform var(--t);margin-right:4px;transform:rotate(-45deg)}details.stgbox[open] summary:before{transform:rotate(45deg)}details[open]>:not(summary){animation:fadeUp .2s var(--ease)}.feed .it{border-left:2px solid var(--line);margin-left:4px;padding:2px 0 12px 12px;position:relative}.feed .it:before{content:"";background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 3px var(--panel);border-radius:50%;position:absolute;top:6px;left:-5px}.feed .it.task:before{background:var(--warn)}.feed .it.sys:before{background:var(--muted)}.feed .h{color:var(--muted);font-size:12px}.bar{background:var(--panel2);border-radius:99px;height:8px;overflow:hidden}.bar i{background:var(--accent);height:100%;animation:grow .6s var(--ease) both;transform-origin:0;border-radius:99px;display:block}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.brow{grid-template-columns:180px minmax(0,1fr) 110px;align-items:center;gap:10px;margin-bottom:7px;font-size:13px;display:grid}.brow .bar{height:12px}#modal{-webkit-backdrop-filter:blur(3px);z-index:60;background:#0e0a226b;justify-content:center;align-items:flex-start;padding:6vh 16px 40px;animation:.16s fadeIn;display:flex;position:fixed;inset:0;overflow:auto}#modal:not(.hidden) .mbox{animation:rise .22s var(--ease)}#modal.closing{animation:.14s reverse forwards fadeIn}#modal.closing .mbox{animation:.14s reverse forwards rise}#modal.hidden,#np.hidden{display:none}.mbox{background:var(--panel);border:1px solid var(--line);width:640px;max-width:100%;box-shadow:var(--shadow-lg);border-radius:16px;padding:20px 22px}.mbox.wide{width:980px}.mbox h2{letter-spacing:-.01em;margin:0 0 14px;font-size:17px}.mfoot{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}#np{background:var(--panel);border:1px solid var(--line);width:380px;max-width:calc(100% - 32px);max-height:70vh;box-shadow:var(--shadow-lg);z-index:50;animation:pop .18s var(--ease);transform-origin:100% 0;border-radius:14px;padding:8px;position:fixed;top:60px;right:16px;overflow:auto}#np .n{cursor:pointer;border-radius:9px;padding:9px 10px;font-size:13px;transition:background-color .12s}#np .n:hover{background:var(--hover)}#np .n.unread{box-shadow:inset 3px 0 0 var(--accent)}.bell{position:relative}.bell .cnt{background:var(--k-red);color:#fff;text-align:center;min-width:16px;box-shadow:0 0 0 2px var(--panel);border-radius:10px;padding:0 4px;font-size:10px;font-weight:600;line-height:16px;position:absolute;top:-5px;right:-5px}#toast{background:var(--text);color:var(--panel);opacity:0;transition:opacity .25s var(--ease),transform .25s var(--ease);pointer-events:none;z-index:70;max-width:calc(100% - 32px);box-shadow:var(--shadow-lg);border-radius:12px;padding:10px 18px;font-size:13.5px;position:fixed;bottom:24px;left:50%;transform:translate(-50%,14px)}#toast.on{opacity:1;transform:translate(-50%)}.log div{border-bottom:1px dashed var(--line);animation:fadeUp .25s var(--ease) both;padding:5px 0;font-size:13px}.log div:nth-child(2){animation-delay:40ms}.log div:nth-child(3){animation-delay:80ms}.log div:nth-child(4){animation-delay:.12s}.log div:nth-child(5){animation-delay:.16s}.log div:nth-child(6){animation-delay:.2s}.log div:nth-child(n+7){animation-delay:.24s}.log .ok:before{content:"✓ ";color:var(--ok)}.log .warn:before{content:"! ";color:var(--warn);font-weight:700}.log .bad:before{content:"✕ ";color:var(--bad)}.log .info:before{content:"→ ";color:var(--accent)}pre.raw{white-space:pre-wrap;background:var(--panel2);border-radius:10px;max-height:240px;padding:12px;font-size:12px;overflow:auto}.sla-ok{color:var(--ok)}.sla-warn{color:var(--warn);font-weight:600}.sla-bad{color:var(--bad);font-weight:600}.matrix td,.matrix th{text-align:center;font-size:12px}.matrix td:first-child,.matrix th:first-child{text-align:left}.dl{grid-template-columns:150px minmax(0,1fr);gap:5px 12px;font-size:13px;display:grid}.dl dt{color:var(--muted)}.dl dd{overflow-wrap:anywhere;min-width:0;margin:0}.empty{color:var(--muted);text-align:center;padding:18px}.rag{border-radius:50%;width:10px;height:10px;display:inline-block}.rag-G{background:var(--ok)}.rag-A{background:var(--warn)}.rag-R{background:var(--bad)}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.toolbar input,.toolbar select{width:auto}.seg{border:1px solid var(--line);background:var(--panel);border-radius:9px;display:inline-flex;overflow:hidden}.seg a{color:var(--muted);border-right:1px solid var(--line);transition:background-color var(--t),color var(--t);padding:6px 12px}.seg a:hover{background:var(--hover);color:var(--text)}.seg a:last-child{border-right:0}.seg a.on{background:var(--accent-weak);color:var(--accent);font-weight:600}.hint{background:var(--accent-weak);color:var(--text);border-radius:10px;margin-bottom:14px;padding:10px 14px;font-size:13px}.warnbox{background:var(--warn-weak);border-radius:10px;margin-bottom:14px;padding:10px 14px;font-size:13px}.badbox{background:var(--bad-weak);border-radius:10px;margin-bottom:14px;padding:10px 14px;font-size:13px}#app.hidden,#auth.hidden{display:none}#auth{background:radial-gradient(1200px 600px at 10% -10%,#7a5ad8 0,transparent 60%),radial-gradient(900px 500px at 110% 110%,#2f8f55 0,transparent 55%),linear-gradient(160deg,var(--k-violet),#271a63);justify-content:center;align-items:flex-start;min-height:100vh;padding:7vh 16px 40px;display:flex}.authbox{background:var(--panel);width:420px;max-width:100%;animation:rise .35s var(--ease);border-radius:18px;padding:24px 26px;box-shadow:0 30px 70px #0a061e66}.authbox.wide{width:620px}.authbox h2{letter-spacing:-.01em;margin:0 0 14px;font-size:19px}.authlogo{text-align:center;margin-bottom:18px}.authlogo svg{width:240px;max-width:100%;height:auto}.authlogo small{color:var(--k-red);letter-spacing:.03em;margin-top:4px;font-size:11px;font-weight:800;display:block}.demo-acc{border:1px solid var(--line);border-radius:10px;max-height:250px;margin-top:8px;font-size:12px;overflow:auto}.demo-acc td{padding:6px 9px}details summary{cursor:pointer}tr.closed td{opacity:.5}.av{background:linear-gradient(135deg,var(--k-violet),var(--k-purple));color:#fff;border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:inline-grid;position:relative;overflow:hidden}.av img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.tree a{color:var(--text);border-radius:8px;padding:7px 9px;transition:background-color .12s;display:block}.tree a:hover{background:var(--hover)}.tree a.on{background:var(--accent-weak);font-weight:600}.chk-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:5px 12px;display:grid}.mt{margin-top:12px}.ok-t{color:var(--ok);font-weight:600}.bad-t{color:var(--bad);font-weight:600}code{background:var(--panel2);border-radius:5px;padding:1px 6px}@media (width<=1200px){.side2{grid-template-columns:minmax(0,1fr) 320px}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1024px){.side2,.split{grid-template-columns:minmax(0,1fr)}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){#app,body.side-mini #app{grid-template-columns:minmax(0,1fr)}#side{width:272px;max-width:86vw;transition:transform .3s var(--ease),box-shadow .3s;padding-top:calc(14px + env(safe-area-inset-top,0px));padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));position:fixed;top:0;bottom:0;left:0;transform:translate(-102%)}body.side-open #side{transform:none;box-shadow:24px 0 60px #0a061e59}body.side-mini #side{padding:14px 12px}body.side-mini .logo .full,body.side-mini .logo small,body.side-mini .logo .sub{display:block}body.side-mini .logo .mini{display:none}body.side-mini .nav a{justify-content:flex-start;padding:9px 11px}body.side-mini .nav .lbl{display:inline}body.side-mini .nav .cnt{position:static}.side-foot{display:none}#scrim{opacity:0;pointer-events:none;z-index:35;background:#0e0a2273;transition:opacity .3s;display:block;position:fixed;inset:0}body.side-open #scrim{opacity:1;pointer-events:auto}#top{gap:6px;padding:8px 12px;position:sticky;top:0}#top h1{font-size:15px}.hide-sm{display:none!important}#main{padding:14px 16px 40px}.g3,.g2{grid-template-columns:minmax(0,1fr)}.brow{grid-template-columns:110px minmax(0,1fr) 80px}.dl{grid-template-columns:110px minmax(0,1fr)}.toolbar>input,.toolbar>select{flex:160px;min-width:0}.col{width:80vw;min-width:80vw}#modal{align-items:flex-end;padding:0}.mbox,.mbox.wide{width:100%;max-height:92vh;padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px));border-radius:18px 18px 0 0;overflow:auto}#modal:not(.hidden) .mbox{animation:sheet .26s var(--ease)}#np{width:auto;max-width:none;top:56px;left:8px;right:8px}.kpi .v{font-size:21px}}body.resizing #side,body.resizing #app{transition:none!important}@keyframes sheet{0%{opacity:.4;transform:translateY(40px)}to{opacity:1;transform:none}}@media (width<=520px){.g4{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.kpi{padding:12px}.card{padding:14px}.authbox{padding:20px 18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-delay:0s!important}}#root{min-height:100%}.page-enter>*{animation:fadeUp .26s var(--ease) both}.spin{border:2px solid var(--line2);border-top-color:var(--accent);vertical-align:middle;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite sp;display:inline-block}@keyframes sp{to{transform:rotate(360deg)}}.loading{text-align:center;color:var(--muted);padding:40px}.phase2{color:var(--muted);border:1px dashed var(--line2);border-radius:6px;padding:1px 6px;font-size:11px}button.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0}
