@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-vietnamese-600-normal-Ipewt4hn.woff2) format("woff2"),url(/assets/bricolage-grotesque-vietnamese-600-normal-r2YRjR6a.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-latin-ext-600-normal-CT8aaBbz.woff2) format("woff2"),url(/assets/bricolage-grotesque-latin-ext-600-normal-CHXuV8DN.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-latin-600-normal-bj8FJOMY.woff2) format("woff2"),url(/assets/bricolage-grotesque-latin-600-normal-DVD4Ix5s.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-BJItruJi.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-C1SKuNhx.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-BPWuI_CM.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-CTUnhTqV.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-n6oPB5VF.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-DSasf_jt.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-B97dYap6.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-OKGpH0gQ.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-BHf956ki.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-CyDjbWPV.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CdZtFfYS.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-BU83cd9M.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cfrm0EKX.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DujcQJCN.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-D1zm99-P.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-BEypoZQd.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-By04ZBDJ.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-BwBTeJfm.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-rpgY82Kd.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-V_-bWxzT.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DprGrCew.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-CgrnmiIU.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-BFLYOLbL.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-Dh0NORqx.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-jBHiQjEG.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-CJ5MtzOJ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-DM9A4i1K.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BuRiwhxF.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-FZrtz_q-.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-BJUfoJTU.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DHNi5J5O.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-D03elqKW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-dAZVOL-H.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-bp4QDljZ.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-BGOKnPO6.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-ZykYOGKL.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f1f4f4;--surface:#ffffff;--surface-2:#f6f9f9;--line:#dbe3e4;--line-strong:#c2cdcf;--fg:#15262a;--muted:#587074;--accent:#0b7a82;--accent-ink:#ffffff;--accent-soft:#dcf0f1;--ok:#1b8450;--ok-soft:#dcf3e6;--warn:#a96300;--warn-soft:#fcefd3;--bad:#c0352f;--bad-soft:#fbe4e2;--info:#2a5fc4;--info-soft:#e2ebfb;--mute-soft:#e8eded;--side:#0e2a2e;--side-fg:#b8d0d2;--side-fg-strong:#ffffff;--side-active:#173d42;--hl:#fff6cf;--sel:#e3f1f6;--font-ui:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:"Bricolage Grotesque","IBM Plex Sans",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;--r:12px;--r-sm:8px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg:#0d1517;--surface:#142124;--surface-2:#192a2d;--line:#25383c;--line-strong:#33494e;--fg:#e5eeee;--muted:#8fa7aa;--accent:#3dc0c9;--accent-ink:#052a2d;--accent-soft:#12393d;--ok:#4cc88a;--ok-soft:#123826;--warn:#f0b04a;--warn-soft:#3b2d10;--bad:#f2716b;--bad-soft:#44191a;--info:#7ca8f6;--info-soft:#172c52;--mute-soft:#223235;--side:#08171a;--side-fg:#93b0b3;--side-fg-strong:#ffffff;--side-active:#12302f;--hl:#3a3414;--sel:#14343c;color-scheme:dark}}:root[data-theme=dark]{--bg:#0d1517;--surface:#142124;--surface-2:#192a2d;--line:#25383c;--line-strong:#33494e;--fg:#e5eeee;--muted:#8fa7aa;--accent:#3dc0c9;--accent-ink:#052a2d;--accent-soft:#12393d;--ok:#4cc88a;--ok-soft:#123826;--warn:#f0b04a;--warn-soft:#3b2d10;--bad:#f2716b;--bad-soft:#44191a;--info:#7ca8f6;--info-soft:#172c52;--mute-soft:#223235;--side:#08171a;--side-fg:#93b0b3;--side-fg-strong:#ffffff;--side-active:#12302f;--hl:#3a3414;--sel:#14343c;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.45 var(--font-ui);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;text-wrap:balance}.ic{flex:none;display:block}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;font-weight:500;white-space:nowrap;transition:background .12s,border-color .12s}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--muted)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.pri:hover:not(:disabled){background:var(--accent);filter:brightness(1.08)}.btn.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,var(--line))}.btn.bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,var(--line))}.btn.sm{height:29px;padding:0 10px;font-size:13px}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover:not(:disabled){background:var(--mute-soft);border-color:transparent}.ib{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;cursor:pointer;color:var(--muted)}.ib:hover{background:var(--mute-soft);color:var(--fg)}input[type=text],input[type=password],input[type=date],input[type=time],input[type=search],input[type=number],select,textarea{width:100%;min-width:0;height:34px;padding:0 10px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--fg)}textarea{height:auto;padding:9px 10px;resize:vertical;line-height:1.5}select{padding-right:6px}input:disabled,select:disabled,textarea:disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--accent);margin:0}.fl{display:flex;flex-direction:column;gap:4px;min-width:0}.fl>span{font-size:12px;color:var(--muted);font-weight:500}.ro{min-height:34px;display:flex;align-items:center;padding:0 10px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);min-width:0}.ro>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chk{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-size:13px}.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--r-sm);overflow:hidden;background:var(--surface)}.seg button{border:0;background:transparent;height:30px;padding:0 12px;cursor:pointer;font-size:13px;font-weight:500;color:var(--muted)}.seg button+button{border-left:1px solid var(--line)}.seg button.on{background:var(--accent-soft);color:var(--accent)}.err{color:var(--bad);font-size:13px;min-height:18px}.bd{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap;background:var(--mute-soft);color:var(--muted)}.bd i{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.bd.t-info{background:var(--info-soft);color:var(--info)}.bd.t-prog{background:var(--accent-soft);color:var(--accent)}.bd.t-wait{background:var(--warn-soft);color:var(--warn)}.bd.t-esc{background:var(--bad-soft);color:var(--bad)}.bd.t-ok{background:var(--ok-soft);color:var(--ok)}.bd.t-mute{background:var(--mute-soft);color:var(--muted)}.bd.live i{animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.av{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:600;flex:none}.av.lg{width:40px;height:40px;font-size:14px}.login{display:grid;place-items:center;min-height:100%;padding:24px max(16px,env(safe-area-inset-left,0px));background:var(--bg);overflow:auto}.lg-wrap{width:100%;max-width:420px;display:grid;gap:18px}.lg-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:0 1px 2px #0000000a,0 12px 32px #00000012}.lg-tag{text-align:center;font-size:13px;color:var(--muted);margin:0}@media (max-width:480px){.lg-card{padding:24px 20px}}.lg-art{background:var(--side);color:var(--side-fg);padding:48px max(32px,env(safe-area-inset-left,0px)) 40px 48px;display:flex;flex-direction:column;justify-content:space-between;gap:32px;position:relative;overflow:hidden}.lg-art h1{font-size:clamp(28px,3.4vw,44px);line-height:1.08;color:var(--side-fg-strong);max-width:14ch}.lg-art p{max-width:42ch;margin:14px 0 0;font-size:15px;line-height:1.6}.brand{display:flex;align-items:center;gap:10px;color:var(--side-fg-strong);font-family:var(--font-display);font-weight:600;font-size:18px}.brand b{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--accent);color:var(--accent-ink);font-size:16px}.lg-feats{display:grid;gap:10px;font-size:13px}.lg-feats div{display:flex;gap:10px;align-items:center}.lg-feats .ic{color:var(--accent)}.lg-tick{position:absolute;right:-60px;top:12%;width:340px;height:340px;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 46px #ffffff06,0 0 0 92px #ffffff05}.lg-form{display:flex;align-items:center;justify-content:center;padding:32px max(24px,env(safe-area-inset-right,0px)) 32px max(24px,env(safe-area-inset-left,0px));overflow:auto}.lg-box{width:100%;max-width:400px;display:grid;gap:18px}.lg-box h2{font-size:26px}.lg-box form{display:grid;gap:14px}.pw{position:relative}.pw .ib{position:absolute;right:2px;top:0}.demo{border:1px dashed var(--line-strong);border-radius:var(--r);padding:12px 14px;display:grid;gap:8px;font-size:13px}.demo-list{display:flex;flex-wrap:wrap;gap:6px}.perfis{display:grid;gap:10px}.perfil-card{display:flex;gap:12px;align-items:flex-start;text-align:left;width:100%;padding:14px;border-radius:var(--r);border:1px solid var(--line-strong);background:var(--surface);cursor:pointer}.perfil-card:hover{border-color:var(--accent);background:var(--accent-soft)}.perfil-card b{display:block;font-family:var(--font-display);font-size:16px;margin-bottom:2px}.perfil-card span{color:var(--muted);font-size:13px}.app{display:grid;grid-template-columns:248px minmax(0,1fr);height:100%}.side{background:var(--side);color:var(--side-fg);display:flex;flex-direction:column;min-height:0;padding:18px 12px 14px max(12px,env(safe-area-inset-left,0px))}.side .brand{padding:2px 8px 18px}.nav{display:grid;gap:3px}.nav button,.nav a{display:flex;align-items:center;gap:11px;height:40px;padding:0 11px;border:0;border-radius:var(--r-sm);background:transparent;color:inherit;cursor:pointer;text-align:left;font-weight:500}.nav button:hover,.nav a:hover{background:#ffffff0f;color:var(--side-fg-strong)}.nav button.on,.nav a.on{background:var(--side-active);color:var(--side-fg-strong);box-shadow:inset 3px 0 0 var(--accent)}.nav .cnt{margin-left:auto;font-size:11px;font-family:var(--font-mono);background:#ffffff1a;padding:1px 7px;border-radius:999px}.side-foot{margin-top:auto;display:grid;gap:8px;font-size:12px;padding:0 8px}.side-foot .row{display:flex;align-items:center;gap:8px}.secure{display:flex;gap:8px;align-items:center;color:var(--side-fg)}.secure .ic{color:var(--accent)}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px max(24px,env(safe-area-inset-right,0px)) 12px 24px;background:var(--surface);border-bottom:1px solid var(--line)}.top h1{font-size:20px}.top .sub{font-size:12px;color:var(--muted)}.top .grow{flex:1;min-width:120px}.clock{font-family:var(--font-mono);font-size:12px;padding:5px 9px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);color:var(--muted);white-space:nowrap}.clock b{color:var(--fg);font-weight:500}.perfil-sel{display:flex;align-items:center;gap:6px}.perfil-sel select{width:auto;height:32px;font-weight:500}.umenu{position:relative}.umenu>button{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:3px 10px 3px 3px;cursor:pointer;height:36px}.pop{position:absolute;right:0;top:42px;min-width:230px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);box-shadow:0 12px 32px #0000002e;padding:6px;z-index:30;display:grid;gap:2px}.pop button{display:flex;gap:10px;align-items:center;height:36px;padding:0 10px;border:0;background:transparent;border-radius:var(--r-sm);cursor:pointer;text-align:left}.pop button:hover{background:var(--mute-soft)}.pop hr{border:0;border-top:1px solid var(--line);margin:4px 0;width:100%}.view{flex:1;min-height:0;overflow:auto;padding:20px max(24px,env(safe-area-inset-right,0px)) 32px 24px}.page{display:grid;gap:16px;max-width:1500px;margin:0 auto}.page-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-h h2{font-size:24px}.page-h p{margin:2px 0 0;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);min-width:0}.card-h{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.card-h h3{font-size:15px}.card-h .sp{flex:1}.card-b{padding:16px}.grid{display:grid;gap:16px}.g-kpi{grid-template-columns:repeat(auto-fit,minmax(168px,1fr))}.g-2{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.kpi{padding:14px 16px;display:grid;gap:3px}.kpi small{color:var(--muted);font-weight:500;font-size:12px}.kpi strong{font-family:var(--font-display);font-size:30px;line-height:1.1;font-weight:600;font-variant-numeric:tabular-nums}.kpi em{font-style:normal;font-size:12px;color:var(--muted)}.kpi.al strong{color:var(--bad)}.tw{overflow:auto;max-width:100%}.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.tbl th{position:sticky;top:0;z-index:2;background:var(--surface-2);text-align:left;font-weight:600;font-size:12px;color:var(--muted);padding:9px 11px;border-bottom:1px solid var(--line);white-space:nowrap;user-select:none}.tbl th.s{cursor:pointer}.tbl th.s:hover{color:var(--fg)}.tbl td{padding:8px 11px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl tr.row{cursor:pointer}.tbl tr.row:hover td{background:var(--surface-2)}.tbl tr.sel td{background:var(--sel)}.tbl tr.run td{background:var(--hl)}.tbl tr.grp td .ic{display:inline-block;vertical-align:-2px}.tbl tr.grp td{background:var(--mute-soft);font-weight:600;padding:7px 11px;cursor:pointer}.tbl .r{text-align:right}.tbl .nw{white-space:nowrap}.tbl .cut{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tbl .fatc{color:var(--info)}.tbl .nfc{color:var(--bad)}.tbl tr.flash td{animation:flash 2.4s ease-out}@keyframes flash{0%{background:var(--hl)}to{background:transparent}}.empty{padding:34px 16px;text-align:center;color:var(--muted)}.empty b{display:block;color:var(--fg);font-family:var(--font-display);font-size:16px;margin-bottom:3px}.chart{display:grid;grid-template-columns:34px minmax(0,1fr);gap:6px;height:210px}.y-axis{display:flex;flex-direction:column-reverse;justify-content:space-between;font-size:11px;color:var(--muted);text-align:right;padding-bottom:22px;font-family:var(--font-mono)}.plot{position:relative;display:flex;align-items:flex-end;gap:8px;padding-bottom:22px;border-left:1px solid var(--line)}.plot .gl{position:absolute;left:0;right:0;border-top:1px dashed var(--line)}.col{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative;z-index:1}.col .stack{width:min(46px,78%);display:flex;flex-direction:column-reverse;border-radius:5px 5px 0 0;overflow:hidden;min-height:2px}.col .stack div{width:100%}.col .v{font-size:11px;font-family:var(--font-mono);margin-bottom:3px;color:var(--fg)}.col .l{position:absolute;bottom:-21px;font-size:11px;color:var(--muted);white-space:nowrap}.seg-fat{background:var(--accent)}.seg-nf{background:color-mix(in srgb,var(--accent) 30%,var(--surface))}.leg{display:flex;gap:14px;font-size:12px;color:var(--muted)}.leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.hbar{display:grid;grid-template-columns:215px minmax(0,1fr) 34px;gap:10px;align-items:center;font-size:13px;padding:5px 0}.hbar .t{height:10px;background:var(--mute-soft);border-radius:5px;overflow:hidden;display:flex}.hbar .t div{height:100%}.hbar span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hbar .n{text-align:right;font-family:var(--font-mono)}.mini{display:inline-block;width:70px;height:6px;border-radius:3px;background:var(--mute-soft);overflow:hidden;vertical-align:middle;margin-right:7px}.mini div{height:100%;background:var(--accent)}.dot-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);animation:pulse 1.4s infinite;margin-right:6px}.cf{display:grid;gap:16px}.cf-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:16px}.cf-id{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}.cf-id .nro{font-family:var(--font-mono);font-size:30px;font-weight:500;letter-spacing:-.02em}.cf-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:12px}.cf-fields .w2{grid-column:span 2}.agenda{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:6px}.agenda input{padding:0 6px;font-size:13px}.stbox{display:flex;gap:6px;align-items:center}.stbox .ro{flex:1}.cf-side{display:grid;gap:12px;align-content:start;min-width:230px}.dur{display:grid;gap:2px;padding:12px 14px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line)}.dur div{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;gap:20px}.dur .mono{font-size:20px}.dur .f{color:var(--info)}.dur .n{color:var(--bad)}.dur .t{border-top:1px solid var(--line);margin-top:6px;padding-top:6px;font-weight:600}.cf-actions{display:flex;gap:8px;flex-wrap:wrap}.cf-cols{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:16px;align-items:start}.cf-col{display:grid;gap:16px;min-width:0}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);padding:0 12px}.tabs button{border:0;background:transparent;padding:10px 12px;cursor:pointer;color:var(--muted);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}.txt{white-space:pre-wrap;line-height:1.6}.box{border:1px solid var(--line);background:var(--surface-2);border-radius:var(--r-sm);padding:11px 12px}.anx{display:grid;gap:4px}.anx .it{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:var(--r-sm);cursor:pointer;border:1px solid transparent}.anx .it:hover{background:var(--surface-2)}.anx .it.sel{background:var(--sel);border-color:var(--line-strong)}.toolbar{display:flex;gap:6px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line)}.toolbar .sep{width:1px;background:var(--line);margin:0 4px}.edit-pane{padding:14px 16px;border-top:1px solid var(--line);display:grid;gap:12px}.edit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;align-items:end}.edit-grid .w2{grid-column:span 2}.banner{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border-radius:var(--r-sm);font-size:13px;background:var(--bad-soft);color:var(--bad);border:1px solid color-mix(in srgb,var(--bad) 30%,transparent)}.banner ul{margin:2px 0 0;padding-left:18px}.banner.info{background:var(--info-soft);color:var(--info);border-color:color-mix(in srgb,var(--info) 30%,transparent)}.kv{display:grid;grid-template-columns:90px minmax(0,1fr);gap:6px 12px;font-size:13px}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere}.hist{display:grid;gap:10px;font-size:13px}.hist div{padding-left:14px;border-left:2px solid var(--line)}.hist small{color:var(--muted);display:block}.lst{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}.filters{display:grid;gap:14px;padding:14px}.checks{display:grid;gap:5px;max-height:190px;overflow:auto;padding:2px}.fgroup{display:grid;gap:7px}.fgroup>b{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}.bar .fl{min-width:150px}.pager{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;font-size:13px;color:var(--muted);flex-wrap:wrap}.detail3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:14px 16px}.detail3 h4{font-size:13px;margin-bottom:6px}.vz{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;align-items:start}.sttl{display:grid;gap:2px;padding:10px}.sttl label{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:var(--r-sm);cursor:pointer;font-size:13px}.sttl label:hover{background:var(--surface-2)}.sttl .c{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--muted)}.sumbar{display:flex;gap:22px;flex-wrap:wrap;padding:11px 16px;border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 var(--r) var(--r);font-size:13px}.sumbar b{font-family:var(--font-mono);font-weight:500}.mk{position:fixed;inset:0;background:#0510128c;display:grid;place-items:center;padding:16px;z-index:50;overflow:auto}.md{background:var(--surface);border:1px solid var(--line-strong);border-radius:14px;width:min(520px,100%);max-height:calc(100% - 8px);display:flex;flex-direction:column;box-shadow:0 24px 60px #00000059}.md.wide{width:min(760px,100%)}.mh{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px}.mh h2{font-size:18px}.mb{padding:4px 16px 16px;overflow:auto;display:grid;gap:12px}.mf{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line);flex-wrap:wrap}pre.sql{margin:0;padding:12px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);font:12px/1.55 var(--font-mono);overflow:auto;max-height:52vh;white-space:pre}.toasts{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));display:grid;gap:8px;z-index:60;max-width:min(380px,calc(100% - 32px))}.toast{background:var(--fg);color:var(--bg);padding:10px 14px;border-radius:var(--r-sm);font-size:13px;box-shadow:0 8px 24px #00000040;animation:tin .2s ease-out;display:flex;gap:9px;align-items:center}.toast.bad{background:var(--bad);color:#fff}.toast.ok{background:var(--ok);color:#fff}@keyframes tin{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}.log{display:grid;gap:0;font-size:13px}.log div{display:grid;grid-template-columns:128px 120px minmax(0,1fr);gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media (max-width:1180px){.cf-cols,.g-2,.lst,.vz,.detail3,.cf-top{grid-template-columns:minmax(0,1fr)}}@media (max-width:820px){.login{grid-template-columns:minmax(0,1fr)}.lg-art{display:none}.app{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.side{order:2;flex-direction:row;padding:6px max(8px,env(safe-area-inset-right,0px)) max(6px,env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));justify-content:space-around}.side .brand,.side-foot{display:none}.nav{display:flex;width:100%;justify-content:space-around}.nav button,.nav a{flex-direction:column;gap:2px;height:48px;padding:0 4px;font-size:10.5px;justify-content:center;min-width:0}.nav button span.t,.nav a span.t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:64px}.nav .cnt{display:none}.nav button.on,.nav a.on{box-shadow:none;color:var(--accent);background:transparent}.nav{overflow-x:auto}.nav a{min-width:68px;flex:none}.nav .grp{display:none}.top{padding:10px max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px))}.view{padding:16px max(16px,env(safe-area-inset-right,0px)) 24px max(16px,env(safe-area-inset-left,0px))}.clock{display:none}.hbar{grid-template-columns:96px minmax(0,1fr) 30px}.cf-fields .w2{grid-column:span 1}.log div{grid-template-columns:minmax(0,1fr)}}.tbl.cp th,.tbl.cp td{padding:7px 8px;font-size:12.5px}.demo-row{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;text-align:left}.demo-row:hover{border-color:var(--accent);background:var(--accent-soft)}.demo-row span{color:var(--muted);font-size:12px}.nav a{text-decoration:none}.nav .grp{font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:14px 12px 4px;color:var(--side-fg)}
