:root{--bg:#f5f7f6;--sf:#fff;--sf2:#f0f3f1;--tx:#17211c;--tx2:#5e6a62;--bd:#e1e7e2;--pri:#173f35;--act:#16794b;--acc:#16a66a;--okc:#11683f;--okbg:#e2f3ea;--warn:#8a5a00;--warnbg:#fbf1dc;--bad:#b83232;--badbg:#fbe7e7;--info:#2a64a6;--infobg:#e4eef9;--mute:#56605a;--mutebg:#ecefed;--side:#173f35;--sidetx:#c9d9d2;--c1:#16794b;--c2:#3478c5;--c3:#d99516;--c4:#8b5cc7;--sh:0 1px 2px #17211c0f;--sh-lg:0 12px 32px #17211c24;--r:10px;--r-sm:8px;--side-w:248px;--top-h:60px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0e1512;--sf:#151f1a;--sf2:#1b2721;--tx:#e6ede9;--tx2:#a1aea6;--bd:#29372f;--pri:#2e6b57;--act:#1b8a55;--acc:#2bc27e;--okc:#6bd9a0;--okbg:#16a66a29;--warn:#f0b44c;--warnbg:#d9951629;--bad:#f38b8b;--badbg:#d645452e;--info:#8bbaf0;--infobg:#3478c533;--mute:#aab4ae;--mutebg:#24302a;--side:#0a110d;--sidetx:#b6c8bf;--c1:#3cc985;--c2:#6ea8ea;--c3:#e9b04a;--c4:#b08be6;--sh:none;--sh-lg:0 12px 32px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--tx);-webkit-font-smoothing:antialiased;margin:0;font:400 14px/1.45 Inter,system-ui,-apple-system,sans-serif}h1,h2,h3{letter-spacing:-.01em;margin:0;font-family:Manrope,Inter,sans-serif}h1{font-size:22px;font-weight:700}h2{font-size:15px;font-weight:700}h3{font-size:13px;font-weight:700}a{color:var(--act);text-decoration:none}button{font:inherit;color:inherit}.mono{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.muted{color:var(--tx2)}.sub{color:var(--tx2);margin:4px 0 0;font-size:13px}.sub2{color:var(--tx2);margin:2px 0 0;font-size:12px}.num{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.app{grid-template-columns:var(--side-w) 1fr;min-height:100vh;display:grid}.app.collapsed{grid-template-columns:72px 1fr}.side{background:var(--side);height:100vh;color:var(--sidetx);scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;z-index:30;padding:14px 10px 24px;position:sticky;top:0;overflow-y:auto}.brand{color:#fff;align-items:center;gap:10px;padding:4px 6px 16px;display:flex}.brand .logo{background:var(--acc);border-radius:9px;flex:none;place-items:center;width:36px;height:36px;display:grid}.brand b{font:700 16px/1.2 Manrope,sans-serif;display:block}.brand small{color:var(--sidetx);opacity:.85;font-size:11px;display:block}.grp{letter-spacing:.08em;text-transform:uppercase;color:var(--sidetx);opacity:.7;padding:16px 10px 6px;font-size:10.5px;font-weight:700}.nv{color:#fff;opacity:.92;white-space:nowrap;border-radius:8px;align-items:center;gap:10px;height:36px;padding:0 10px;font-size:13px;font-weight:500;display:flex;overflow:hidden}.nv svg{opacity:.85;flex:none}.nv span.t{text-overflow:ellipsis;flex:1;overflow:hidden}.nv:hover{opacity:1;background:#ffffff12}.nv.on{box-shadow:inset 3px 0 0 var(--acc);opacity:1;background:#16a66a3d}.nv .cnt{background:#ffffff24;border-radius:9px;place-items:center;min-width:20px;height:18px;padding:0 6px;font-size:11px;font-weight:600;display:grid}.collapsed .brand div,.collapsed .grp,.collapsed .nv span.t,.collapsed .nv .cnt{display:none}.collapsed .nv{justify-content:center}.main{flex-direction:column;min-width:0;display:flex}.top{z-index:20;height:var(--top-h);background:var(--sf);border-bottom:1px solid var(--bd);align-items:center;gap:14px;padding:10px 20px;display:flex;position:sticky;top:0}.crumb{color:var(--tx2);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.crumb b{color:var(--tx);font-weight:600}.search{flex:1;max-width:420px;position:relative}.search input{border:1px solid var(--bd);background:var(--sf2);width:100%;height:36px;color:var(--tx);border-radius:8px;padding:0 12px 0 34px;font-size:13px}.search>svg{color:var(--tx2);position:absolute;top:10px;left:11px}.search .results{background:var(--sf);border:1px solid var(--bd);box-shadow:var(--sh-lg);border-radius:10px;max-height:440px;padding:6px;position:absolute;top:42px;left:0;right:0;overflow:auto}.search .results .hd{letter-spacing:.06em;text-transform:uppercase;color:var(--tx2);padding:8px 8px 4px;font-size:10.5px;font-weight:700}.search .results button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.search .results button:hover{background:var(--sf2)}.spacer{flex:1}.iconbtn{cursor:pointer;width:36px;height:36px;color:var(--tx);background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:relative}.iconbtn:hover{background:var(--sf2)}.iconbtn .dot{background:var(--bad);color:#fff;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:grid;position:absolute;top:4px;right:4px}.who{cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:4px 8px 4px 4px;display:flex}.who:hover{background:var(--sf2)}.who b{text-align:left;font-size:13px;line-height:1.2;display:block}.who small{color:var(--tx2);text-align:left;font-size:11.5px;display:block}.av{background:var(--pri);color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font:700 12px Manrope,sans-serif;display:grid}.envpill{background:var(--okbg);height:26px;color:var(--okc);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:11.5px;font-weight:600;display:inline-flex}.envpill i{background:var(--acc);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #16a66a33}.page{width:100%;max-width:1600px;padding:20px 24px 56px}.ph{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.ph .acts{flex-wrap:wrap;gap:8px;display:flex}.card{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r);box-shadow:var(--sh)}.card.pad{padding:14px 16px}.card-h{justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 6px;display:flex}.card-b{padding:6px 16px 16px}.btn{border:1px solid var(--bd);background:var(--sf);height:36px;color:var(--tx);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font:500 13px/1 Inter,sans-serif;display:inline-flex}.btn:hover{background:var(--sf2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.p{background:var(--act);border-color:var(--act);color:#fff}.btn.p:hover{filter:brightness(1.06)}.btn.danger{color:var(--bad)}.btn.danger.p{background:var(--bad);border-color:var(--bad);color:#fff}.btn.sm{height:30px;padding:0 10px;font-size:12.5px}.btn.ghost{background:0 0;border-color:#0000}.link{color:var(--act);cursor:pointer;background:0 0;border:0;padding:0;font-size:12.5px;font-weight:600}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--bd);background:var(--sf);height:30px;color:var(--tx2);cursor:pointer;white-space:nowrap;border-radius:999px;padding:0 12px;font:500 12.5px Inter,sans-serif}.chip:hover{color:var(--tx)}.chip.on{background:var(--pri);border-color:var(--pri);color:#fff}.badge{white-space:nowrap;background:var(--mutebg);height:22px;color:var(--mute);border-radius:999px;align-items:center;gap:5px;padding:0 8px;font-size:11.5px;font-weight:600;display:inline-flex}.badge:before{content:"";opacity:.85;background:currentColor;border-radius:50%;width:6px;height:6px}.badge.ok{background:var(--okbg);color:var(--okc)}.badge.warn{background:var(--warnbg);color:var(--warn)}.badge.bad{background:var(--badbg);color:var(--bad)}.badge.info{background:var(--infobg);color:var(--info)}.badge.plain:before{display:none}label.f{color:var(--tx2);flex-direction:column;gap:6px;min-width:0;font-size:12px;font-weight:600;display:flex}.inp{border:1px solid var(--bd);background:var(--sf);height:36px;color:var(--tx);border-radius:8px;width:100%;padding:0 10px;font:400 13px Inter,sans-serif}textarea.inp{resize:vertical;height:auto;min-height:88px;padding:8px 10px;line-height:1.45}select.inp{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%235E6A62' stroke-width='2'%3E%3Cpath d='M3 4.5l3 3 3-3'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.inp:focus{border-color:var(--acc);outline:none;box-shadow:0 0 0 3px #16a66a26}.filters{margin-bottom:16px;padding:14px 16px}.filters .lbl{color:var(--tx2);margin-bottom:8px;font-size:12px;font-weight:600}.frow{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-items:end;gap:12px;margin-top:12px;display:grid}.presets{color:var(--tx2);flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 14px;font-size:12.5px;display:flex}.kpis{grid-template-columns:repeat(auto-fill,minmax(204px,1fr));gap:12px;margin-bottom:16px;display:grid}.kpi{text-align:left;border:1px solid var(--bd);cursor:default;min-height:168px;font:inherit;color:inherit;flex-direction:column;padding:14px 16px 12px;display:flex}button.kpi{cursor:pointer}button.kpi:hover{border-color:var(--acc)}.kpi .kl{color:var(--tx2);font-size:12px;font-weight:600}.kpi .kv{letter-spacing:-.02em;margin-top:4px;font:700 24px/1.15 Manrope,sans-serif}.kpi .kd{color:var(--tx2);margin-top:2px;font-size:12px}.kpi .kd b{margin-right:4px;font-weight:700}.up{color:var(--okc)}.dn{color:var(--bad)}.flat{color:var(--tx2)}.kpi .spark{height:30px;margin:10px 0 8px}.kpi .kn{color:var(--tx2);flex:1;font-size:12px}.kpi .kgo{color:var(--act);margin-top:8px;font-size:12px;font-weight:600}.g2{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px;margin-bottom:12px;display:grid}.g3{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.g2e{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.section-t{margin:24px 0 2px}.section-s{margin-bottom:12px}@media (width<=1180px){.g2,.g3{grid-template-columns:repeat(2,minmax(0,1fr))}.g2>:first-child{grid-column:1/-1}}@media (width<=820px){.app,.app.collapsed{grid-template-columns:1fr}.side{width:var(--side-w);transition:transform .2s;position:fixed;left:0;transform:translate(-100%)}.app.mobile-open .side{box-shadow:var(--sh-lg);transform:none}.g2,.g3,.g2e{grid-template-columns:1fr}.top .crumb,.top .envpill,.who div{display:none}.page{padding:16px 16px 48px}}.rows>*{border-top:1px solid var(--bd);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.rows>:first-child{border-top:0}.rows .t1{font-size:13px;font-weight:600}.rows .t2{color:var(--tx2);margin-top:2px;font-size:12px}.bar{background:var(--sf2);border-radius:4px;height:8px;overflow:hidden}.bar>i{background:var(--c1);border-radius:4px;height:100%;display:block}.legend{color:var(--tx2);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:9px;height:9px;margin-right:6px;display:inline-block}.live{padding:14px 16px}.live .lv{margin:6px 0 4px;font:700 22px Manrope,sans-serif}.tbl-wrap{overflow-x:auto}table.tbl{border-collapse:collapse;width:100%;font-size:13px}.tbl th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--tx2);border-bottom:1px solid var(--bd);background:var(--sf2);white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:700}.tbl td{border-bottom:1px solid var(--bd);vertical-align:middle;padding:11px 12px}.tbl tr:last-child td{border-bottom:0}.tbl tbody tr.click{cursor:pointer}.tbl tbody tr:hover td{background:color-mix(in srgb, var(--sf2) 60%, transparent)}.tbl td.r,.tbl th.r{text-align:right}.tbl td.c,.tbl th.c{text-align:center}.tbl .strong{font-weight:600}.tbl td.mono,.tbl td .mono{white-space:nowrap}.pager{border-top:1px solid var(--bd);color:var(--tx2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:12.5px;display:flex}.pager .pg{align-items:center;gap:8px;display:flex}.skel{background:linear-gradient(90deg, var(--sf2) 25%, var(--bd) 37%, var(--sf2) 63%);background-size:400% 100%;border-radius:6px;animation:1.3s infinite sk}@keyframes sk{0%{background-position:100%}to{background-position:0}}.empty{text-align:center;color:var(--tx2);padding:40px 16px;font-size:13px}.empty svg{color:var(--tx2);opacity:.6;margin-bottom:8px}.alert{border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:12px;padding:10px 12px;font-size:13px;display:flex}.alert.bad{background:var(--badbg);color:var(--bad)}.alert.info{background:var(--infobg);color:var(--info)}.alert.warn{background:var(--warnbg);color:var(--warn)}.scrim{z-index:60;background:#0a110d61;animation:.15s fade;position:fixed;inset:0}.drawer{background:var(--sf);z-index:61;width:min(560px,100vw);box-shadow:var(--sh-lg);flex-direction:column;animation:.18s ease-out slide;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer .dh{border-bottom:1px solid var(--bd);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.drawer .db{flex:1;padding:16px 18px;overflow-y:auto}.drawer .df{border-top:1px solid var(--bd);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.kvs{grid-template-columns:150px 1fr;gap:8px 14px;font-size:13px;display:grid}.kvs dt{color:var(--tx2)}.kvs dd{overflow-wrap:anywhere;min-width:0;margin:0}.timeline{border-left:2px solid var(--bd);margin:6px 0 0 6px;padding-left:14px}.timeline>div{padding-bottom:14px;font-size:13px;position:relative}.timeline>div:before{content:"";background:var(--sf);border:2px solid var(--acc);border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:-20px}.timeline .internal:before{border-color:var(--c3)}.toasts{z-index:80;flex-direction:column;gap:8px;display:flex;position:fixed;top:72px;right:20px}.toast{background:var(--tx);min-width:260px;max-width:380px;color:var(--sf);box-shadow:var(--sh-lg);border-radius:10px;padding:10px 14px;font-size:13px;animation:.2s ease-out slide-up}.toast.bad{background:var(--bad);color:#fff}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{opacity:0;transform:translate(24px)}}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}}.chart{width:100%;min-width:0;overflow:hidden}.chart text{fill:var(--tx2);font:11px Inter,sans-serif}.chart .grid{stroke:var(--bd);stroke-width:1px}.chart .tip{pointer-events:none}.donut-wrap{flex-direction:column;align-items:center;gap:14px;display:flex}.login{grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.login .art{background:var(--side);color:#fff;flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.login .art:after{content:"";border:70px solid #2bc27e1f;border-radius:50%;width:520px;height:520px;position:absolute;bottom:-180px;right:-160px}.login .art h1{color:#fff;max-width:460px;font-size:34px;line-height:1.15}.login .art p{color:var(--sidetx);max-width:440px;font-size:15px}.login .pane{background:var(--bg);place-items:center;padding:32px 20px;display:grid}.login form{width:min(400px,100%)}.otp{gap:10px;display:flex}.otp input{text-align:center;width:52px;height:56px;font:700 22px Manrope,sans-serif}.testers{margin-top:18px}.testers button{border:1px solid var(--bd);background:var(--sf);cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:100%;margin-top:6px;padding:9px 12px;display:flex}.testers button:hover{border-color:var(--acc)}@media (width<=900px){.login{grid-template-columns:1fr}.login .art{display:none}}.rows>.rowbtn{border:0;border-top:1px solid var(--bd);cursor:pointer;width:100%;font:inherit;color:inherit;text-align:left;background:0 0;border-radius:0}.rows>.rowbtn:first-child{border-top:0}.rows>.rowbtn:hover{background:var(--sf2)}
