@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font:"Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--accent:#ff8a40;--accent-hover:#ff7940;--accent-fg:#1a1a1a;--accent-text:var(--accent-text-light,#b9540b);--accent-soft:var(--accent-soft-light,#fef6f1);--accent-soft-2:var(--accent-soft-2-light,#ffe9db);--accent-border:var(--accent-border-light,#ffd2b6);--accent-ring:#ff8a404d;--bg-page:#f9fafb;--bg-card:#fff;--bg-raised:#fff;--bg-subtle:#f3f4f6;--bg-hover:#f9fafb;--bd:#e5e7eb;--bd-input:#d1d5db;--fg-1:#111827;--fg-2:#374151;--fg-3:#6b7280;--overlay:#11182773;--shadow-sm:0 1px 2px #1018280d;--shadow:0 1px 3px #10182814, 0 1px 2px #1018280a;--shadow-lg:0 12px 32px #1018281f, 0 4px 8px #1018280a;--ok:#16a34a;--ok-soft:#ecfdf3;--ok-text:#15803d;--warn:#d97706;--warn-soft:#fffbeb;--warn-text:#b45309;--err:#dc2626;--err-soft:#fef2f2;--err-text:#b91c1c;--info:#4f46e5;--info-soft:#eef2ff;--info-text:#4338ca;--r-sm:6px;--r:8px;--r-lg:12px;--r-xl:16px;--h:40px;--h-sm:32px;--sidebar-w:248px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--accent-text:var(--accent-text-dark,#ff9b40);--accent-soft:#1d2129;--accent-soft-2:#252a33;--accent-border:#3a414c;--bg-page:#0f1217;--bg-card:#161a21;--bg-raised:#1f242c;--bg-subtle:#1d2129;--bg-hover:#1b2028;--bd:#2b313b;--bd-input:#363d48;--fg-1:#eef0f3;--fg-2:#c9cfd8;--fg-3:#8f98a7;--overlay:#0009;--shadow-sm:none;--shadow:none;--shadow-lg:0 16px 40px #00000080;--ok:#22c55e;--ok-soft:#12261b;--ok-text:#4ade80;--warn:#f59e0b;--warn-soft:#2a2112;--warn-text:#fbbf24;--err:#ef4444;--err-soft:#2a1515;--err-text:#f87171;--info:#818cf8;--info-soft:#1c1f33;--info-text:#a5b4fc;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font);color:var(--fg-2);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11", "ss01";font-size:14px;line-height:1.5;transition:background-color .2s,color .2s}#root{min-height:100%}h1,h2,h3,h4{color:var(--fg-1);letter-spacing:-.011em;margin:0}h1{letter-spacing:-.02em;font-size:22px;font-weight:700}h2{font-size:16px;font-weight:600}h3{font-size:14px;font-weight:600}p{margin:0}a{color:var(--accent-text);text-underline-offset:2px;text-decoration:underline}a.plain{color:inherit;text-decoration:none}code,.mono{font-family:ui-monospace,SF Mono,JetBrains Mono,Menlo,monospace;font-size:13px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--fg-3)}.small{font-size:13px}.xs{font-size:12px}.strong{color:var(--fg-1);font-weight:600}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);font-size:12px;font-weight:600}.nowrap{white-space:nowrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft-2)}.btn{height:var(--h);border-radius:var(--r);font:500 14px/1 var(--font);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn svg{flex:none;width:18px;height:18px}.btn-primary{background:var(--accent);color:var(--accent-fg);box-shadow:var(--shadow-sm);font-weight:600}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-card);color:var(--fg-1);border-color:var(--bd-input);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--bg-hover)}.btn-danger{background:var(--err);color:#fff}.btn-danger:hover{filter:brightness(.95)}.btn-ghost{color:var(--fg-2);background:0 0}.btn-ghost:hover{background:var(--bg-subtle);color:var(--fg-1)}.btn-sm{height:var(--h-sm);gap:6px;padding:0 12px;font-size:13px}.btn-sm svg{width:16px;height:16px}.btn-icon{width:var(--h);padding:0}.btn-icon.btn-sm{width:var(--h-sm)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-block{width:100%}.icon-btn{border-radius:var(--r-sm);width:32px;height:32px;color:var(--fg-3);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}.icon-btn:hover{background:var(--bg-subtle);color:var(--fg-1)}.icon-btn svg{width:18px;height:18px}.field{flex-direction:column;gap:6px;display:flex}.label{color:var(--fg-2);font-size:13px;font-weight:500}.hint{color:var(--fg-3);font-size:12px}.form-input,.form-select,textarea.form-input{height:var(--h);width:100%;font:400 14px var(--font);color:var(--fg-1);background:var(--bg-card);border:1px solid var(--bd-input);border-radius:var(--r);box-shadow:var(--shadow-sm);padding:0 12px;transition:border-color .15s,box-shadow .15s}textarea.form-input{resize:vertical;height:auto;min-height:88px;padding:10px 12px;line-height:1.5}.form-input::placeholder{color:var(--fg-3)}.form-input:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236b7280'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:18px;padding-right:36px}.form-input-sm,.form-select.form-input-sm{height:var(--h-sm);padding:0 10px;font-size:13px}.form-select.form-input-sm{padding-right:32px}.input-icon{position:relative}.input-icon>svg{width:18px;height:18px;color:var(--fg-3);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-icon>.form-input{padding-left:38px}.input-icon>.form-input-sm{padding-left:34px}.input-icon>.form-input-sm+svg{width:16px;height:16px;left:10px}.input-icon:has(.form-input-sm)>svg{width:16px;height:16px;left:10px}input[type=color].form-input{cursor:pointer;width:56px;padding:4px}.check{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.check input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;margin:0}.seg{height:var(--h);background:var(--bg-subtle);border-radius:var(--r);align-items:center;gap:2px;padding:4px;display:inline-flex}.seg-item{border-radius:var(--r-sm);height:32px;font:500 13px var(--font);color:var(--fg-3);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.seg-item svg{width:16px;height:16px}.seg-item:hover{color:var(--fg-1)}.seg-item[aria-checked=true]{background:var(--bg-card);color:var(--fg-1);box-shadow:var(--shadow)}:root[data-theme=dark] .seg-item[aria-checked=true]{background:var(--bg-raised)}.chip{border:1px solid var(--bd-input);background:var(--bg-card);height:32px;color:var(--fg-2);font:500 13px var(--font);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.chip:hover{background:var(--bg-hover)}.chip.active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-text)}.chip .count{font-variant-numeric:tabular-nums;color:var(--fg-3);font-weight:500}.chip.active .count{color:inherit;opacity:.8}.badge{white-space:nowrap;background:var(--bg-subtle);color:var(--fg-3);border-radius:999px;align-items:center;gap:5px;padding:2px 10px;font-size:12px;font-weight:600;line-height:18px;display:inline-flex}.badge-accent{background:var(--accent);color:var(--accent-fg)}.badge-ok{background:var(--ok-soft);color:var(--ok-text)}.badge-warn{background:var(--warn-soft);color:var(--warn-text)}.badge-err{background:var(--err-soft);color:var(--err-text)}.badge-info{background:var(--info-soft);color:var(--info-text)}.dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.dot-live{animation:2s infinite pulse;box-shadow:0 0}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, currentColor 50%, transparent)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}.card{background:var(--bg-card);border:1px solid var(--bd);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:20px 24px}.card-head{border-bottom:1px solid var(--bd);justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.card-head h2{font-size:15px}.card-body{padding:20px 24px}.icon-tile{border-radius:var(--r);flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.icon-tile svg{width:22px;height:22px}.tile-accent{background:var(--accent-soft);color:var(--accent-text)}.tile-ok{background:var(--ok-soft);color:var(--ok-text)}.tile-info{background:var(--info-soft);color:var(--info-text)}.tile-warn{background:var(--warn-soft);color:var(--warn-text)}.tbl-wrap{overflow-x:auto}.tbl{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.tbl th{z-index:1;background:var(--bg-card);text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-3);border-bottom:1px solid var(--bd);white-space:nowrap;padding:10px 12px;font-size:12px;font-weight:600;position:sticky;top:0}.tbl td{border-bottom:1px solid var(--bd);vertical-align:middle;color:var(--fg-2);padding:12px}.tbl tr:last-child td{border-bottom:0}.tbl th:first-child,.tbl td:first-child{padding-left:24px}.tbl th:last-child,.tbl td:last-child{padding-right:24px}.tbl tbody tr{transition:background-color .1s}.tbl tbody tr.clickable{cursor:pointer}.tbl tbody tr:hover{background:var(--bg-hover)}.tbl .r{text-align:right}.tbl .c{text-align:center}.tbl-compact td{padding:8px 12px;font-size:13px}.tbl-compact th{padding:8px 12px}.app-shell{grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;display:grid}.app-sidebar{background:var(--bg-card);border-right:1px solid var(--bd);flex-direction:column;height:100vh;padding:20px 12px 12px;display:flex;position:sticky;top:0}.brand{flex-direction:column;align-items:stretch;gap:2px;padding:4px 12px 20px;text-decoration:none;display:inline-flex}.brand-name{letter-spacing:-.03em;color:var(--fg-1);align-items:center;gap:8px;font-size:22px;font-weight:800;line-height:1;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent-hover), var(--accent));width:28px;height:28px;color:var(--accent-fg);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.brand-mark svg{width:18px;height:18px}.brand-caption{letter-spacing:.22em;color:var(--fg-3);padding-left:36px;font-size:10.5px;font-weight:600}.nav{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.nav-section{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3);padding:16px 12px 6px;font-size:12px;font-weight:600}.nav-item{border-radius:var(--r);height:40px;color:var(--fg-2);align-items:center;gap:12px;padding:0 12px;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.nav-item svg{width:20px;height:20px;color:var(--fg-3);flex:none;transition:color .15s}.nav-item:hover{background:var(--bg-subtle);color:var(--fg-1)}.nav-item.active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.nav-item.active svg{color:var(--accent-text)}.nav-item .soon{color:var(--fg-3);margin-left:auto;font-size:11px;font-weight:500}.sidebar-foot{border-top:1px solid var(--bd);flex-direction:column;gap:8px;padding-top:12px;display:flex}.user-chip{border-radius:var(--r);align-items:center;gap:10px;padding:6px 8px;display:flex}.avatar{background:var(--accent-soft);width:32px;height:32px;color:var(--accent-text);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.app-main{flex-direction:column;min-width:0;display:flex}.app-topbar{display:none}.page{flex-direction:column;gap:20px;width:100%;padding:28px 32px 48px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head .sub{color:var(--fg-3);margin-top:4px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grow{flex:1}.stack{flex-direction:column;gap:16px;display:flex}.row{align-items:center;gap:12px;display:flex}.grid-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.stat{align-items:center;gap:14px;padding:18px 20px;display:flex}.stat-value{color:var(--fg-1);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:1.1}.stat-label{color:var(--fg-3);font-size:13px}.bottom-nav{display:none}.kv{grid-template-columns:160px 1fr;gap:10px 16px;font-size:14px;display:grid}.kv dt{color:var(--fg-3)}.kv dd{color:var(--fg-1);overflow-wrap:anywhere;min-width:0;margin:0}.empty{text-align:center;color:var(--fg-3);flex-direction:column;align-items:center;gap:8px;padding:48px 24px;display:flex}.empty svg{width:40px;height:40px;color:var(--bd-input)}.alert{border-radius:var(--r);align-items:flex-start;gap:10px;padding:12px 16px;font-size:14px;display:flex}.alert svg{flex:none;width:20px;height:20px;margin-top:1px}.alert-err{background:var(--err-soft);color:var(--err-text)}.alert-ok{background:var(--ok-soft);color:var(--ok-text)}.alert-warn{background:var(--warn-soft);color:var(--warn-text)}.alert-info{background:var(--info-soft);color:var(--info-text)}.skeleton{background:linear-gradient(90deg, var(--bg-subtle) 0%, var(--bg-hover) 50%, var(--bg-subtle) 100%);background-size:200% 100%;border-radius:6px;height:14px;animation:1.2s infinite sk}@keyframes sk{to{background-position:-200% 0}}.spinner{border:2px solid var(--bd-input);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.pager{border-top:1px solid var(--bd);color:var(--fg-3);justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;font-size:13px;display:flex}.modal-overlay{z-index:50;background:var(--overlay);justify-content:center;align-items:center;padding:16px;animation:.15s ease-out fade;display:flex;position:fixed;inset:0}.modal{background:var(--bg-raised);border:1px solid var(--bd);border-radius:var(--r-xl);width:100%;max-width:440px;box-shadow:var(--shadow-lg);animation:.18s ease-out pop}.modal-body{gap:16px;padding:24px;display:flex}.modal-foot{border-top:1px solid var(--bd);background:var(--bg-subtle);border-radius:0 0 var(--r-xl) var(--r-xl);justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}:root[data-theme=dark] .modal-foot{background:0 0}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(6px)scale(.98)}}.auth-screen{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-aside{background:var(--bg-card);border-right:1px solid var(--bd);flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.net-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.auth-aside-top,.auth-aside-foot{z-index:1;pointer-events:none;position:relative}.auth-aside-top .brand{pointer-events:auto}.auth-aside-top{background:color-mix(in srgb, var(--bg-card) 80%, transparent);border-radius:var(--r-lg);width:fit-content}.auth-aside-foot{background:color-mix(in srgb, var(--bg-card) 80%, transparent);border-radius:var(--r-sm);width:fit-content;padding:4px 8px}.auth-hero{letter-spacing:-.035em;color:var(--fg-1);max-width:460px;font-size:40px;font-weight:800;line-height:1.1}.auth-hero span{color:var(--accent)}.auth-main{justify-content:center;align-items:center;padding:32px 24px;display:flex}.auth-form{flex-direction:column;gap:16px;width:100%;max-width:360px;display:flex}.matrix td.c,.matrix th.c{text-align:center;width:140px}.matrix tr.group td{background:var(--bg-subtle);color:var(--fg-1);padding-top:10px;padding-bottom:10px;font-size:13px;font-weight:600}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{border:2px solid var(--bg-card);width:32px;height:32px;box-shadow:0 0 0 1px var(--bd-input);cursor:pointer;border-radius:50%;padding:0}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--fg-1)}.install-screen{flex-direction:column;gap:16px;max-width:520px;min-height:100vh;margin:0 auto;padding:32px 20px 48px;display:flex}.install-header{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:16px 0 8px;display:flex}.install-header .app-icon{width:80px;height:80px;box-shadow:var(--shadow-lg);border-radius:20px}.install-card{padding:24px}.install-card h2{margin-bottom:8px;font-size:18px}.install-card ol{color:var(--fg-2);flex-direction:column;gap:10px;margin:12px 0 0;padding-left:22px;display:flex}.install-card strong{color:var(--fg-1)}.install-qr{border-radius:var(--r-lg);background:#fff;justify-content:center;width:220px;margin:16px auto;padding:12px;display:flex}.install-qr svg{width:196px;height:196px}.share-ic{vertical-align:-3px;width:18px;height:18px;color:var(--info);display:inline-flex}@media (width<=1100px){.grid-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){:root{--h:44px}.form-input,.form-select{font-size:16px}.app-shell{grid-template-columns:1fr}.app-sidebar{display:none}.app-topbar{z-index:20;padding:calc(env(safe-area-inset-top) + 10px) 16px 10px;background:color-mix(in srgb, var(--bg-card) 92%, transparent);border-bottom:1px solid var(--bd);-webkit-backdrop-filter:saturate(1.4)blur(12px);backdrop-filter:saturate(1.4)blur(12px);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.app-topbar h1{font-size:17px}.page{padding:16px 16px calc(88px + env(safe-area-inset-bottom));gap:16px}.page-head h1{display:none}.bottom-nav{z-index:20;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--bg-card) 94%, transparent);border-top:1px solid var(--bd);-webkit-backdrop-filter:saturate(1.4)blur(12px);backdrop-filter:saturate(1.4)blur(12px);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--fg-3);border-radius:var(--r);flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:11px;font-weight:500;text-decoration:none;display:flex}.bottom-nav a svg{width:24px;height:24px}.bottom-nav a.active{color:var(--accent-text)}.card-head,.card-body{padding-left:16px;padding-right:16px}.tbl th:first-child,.tbl td:first-child{padding-left:16px}.tbl th:last-child,.tbl td:last-child{padding-right:16px}.hide-mobile{display:none!important}.kv{grid-template-columns:1fr;gap:2px}.kv dd{margin-bottom:10px}.auth-screen{grid-template-columns:1fr}.auth-aside{display:none}.pager{padding:12px 16px}}@media (width>=861px){.show-mobile{display:none!important}}@media (width<=520px){.grid-stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:14px}.stat .icon-tile{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sidebar-foot .seg{width:100%}.sidebar-foot .seg-item{flex:1;justify-content:center}.modal-head{border-bottom:1px solid var(--bd);justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;display:flex}.modal-content{max-height:calc(100vh - 220px);padding:20px 24px;overflow-y:auto}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid .full{grid-column:1/-1}.form-section{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3);grid-column:1/-1;margin-top:4px;font-size:12px;font-weight:600}@media (width<=600px){.form-grid{grid-template-columns:1fr}.modal{max-height:100vh}.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:var(--r-xl) var(--r-xl) 0 0}}.tbl tr.expanded td{background:var(--bg-hover);border-bottom-color:#0000}.tbl tr.expand-row>td{background:var(--bg-hover);padding:0 24px 16px 56px}.chev{width:18px;height:18px;color:var(--fg-3);flex:none;transition:transform .15s}.chev.open{transform:rotate(90deg)}.svc-list{flex-direction:column;gap:8px;display:flex}.svc-item{background:var(--bg-card);border:1px solid var(--bd);border-radius:var(--r);grid-template-columns:24px minmax(140px,1.2fr) minmax(110px,1fr) minmax(130px,1fr) minmax(120px,1fr) auto;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:grid}.svc-item svg.sig{width:18px;height:18px}@media (width<=860px){.svc-item{grid-template-columns:24px 1fr auto}.svc-item .opt{display:none}}.tl{margin:0;padding:0;list-style:none;position:relative}.tl:before{content:"";background:var(--bd);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:11px}.tl li{grid-template-columns:24px 1fr auto;align-items:start;gap:12px;padding:8px 0;display:grid;position:relative}.tl .tl-dot{z-index:1;border:2px solid var(--bg-card);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex;position:relative}.tl .tl-dot svg{width:14px;height:14px}.tl .ok .tl-dot{background:var(--ok-soft);color:var(--ok-text)}.tl .live .tl-dot{background:var(--ok);color:#fff}.tl .err .tl-dot{background:var(--err-soft);color:var(--err-text)}.tl .err .tl-title{color:var(--err-text)}.tl .tl-title{color:var(--fg-1);font-size:14px;font-weight:600}.tl .tl-meta{color:var(--fg-3);flex-wrap:wrap;gap:4px 12px;margin-top:2px;font-size:12px;display:flex}.tl .tl-when{color:var(--fg-3);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.tl .tl-gap{color:var(--fg-3);grid-column:2/-1;padding:0;font-size:12px}.miller{grid-template-columns:repeat(3,minmax(0,1fr));min-height:520px;display:grid}.miller-col{border-right:1px solid var(--bd);flex-direction:column;min-width:0;display:flex}.miller-col:last-child{border-right:0}.miller-head{border-bottom:1px solid var(--bd);justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.miller-list{flex:1;max-height:640px;overflow-y:auto}.miller-item{text-align:left;cursor:pointer;width:100%;height:40px;font:inherit;color:var(--fg-2);background:0 0;border:0;align-items:center;gap:8px;padding:0 8px 0 16px;display:flex}.miller-item:hover{background:var(--bg-hover)}.miller-item.active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.miller-item .cnt{color:var(--fg-3);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.miller-item .acts{display:none}.miller-item:hover .acts,.miller-item.active .acts{display:inline-flex}@media (width<=860px){.miller{grid-template-columns:1fr}.miller-col{border-right:0;border-bottom:1px solid var(--bd)}.miller-list{max-height:320px}}.ac{position:relative}.ac-list{z-index:30;background:var(--bg-raised);border:1px solid var(--bd);border-radius:var(--r);box-shadow:var(--shadow-lg);max-height:280px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.ac-item{text-align:left;border-radius:var(--r-sm);cursor:pointer;width:100%;font:inherit;color:var(--fg-2);background:0 0;border:0;padding:8px 10px;display:block}.ac-item:hover,.ac-item[aria-selected=true]{background:var(--accent-soft);color:var(--fg-1)}.pin-box{letter-spacing:.25em;font-variant-numeric:tabular-nums;color:var(--fg-1);text-align:center;padding:12px 0;font-size:40px;font-weight:800}.kv-inline{color:var(--fg-3);flex-wrap:wrap;gap:4px 16px;font-size:13px;display:flex}.kv-inline b{color:var(--fg-1);font-weight:500}.tbl a{font-weight:500;text-decoration:none}.tbl a:hover{text-decoration:underline}.uptime{min-width:0}.uptime-plot{cursor:crosshair;touch-action:pan-y;width:100%;position:relative}.ub-track{fill:var(--bg-subtle)}.ub-none{fill:var(--bg-hover);opacity:.9}:root[data-theme=dark] .ub-track{fill:#232831}.ub-on{fill:var(--ok)}.ub-drop{fill:var(--err)}.ub-disc{fill:var(--fg-3)}.ub-rej{fill:var(--err)}.ub-tick{stroke:var(--bd-input)}.ub-label{fill:var(--fg-3);font-variant-numeric:tabular-nums;font-size:11px}.ub-cursor{stroke:var(--fg-1);stroke-width:1px;opacity:.5}.ub-tip{z-index:15;pointer-events:none;background:var(--bg-raised);border:1px solid var(--bd);border-radius:var(--r);min-width:220px;max-width:280px;box-shadow:var(--shadow-lg);flex-direction:column;gap:2px;margin-top:4px;padding:10px 12px;font-size:13px;display:flex;position:absolute;top:100%}.ub-legend{color:var(--fg-3);flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:4px;font-size:12px;display:flex}.ub-legend b{color:var(--fg-1);font-size:13px}.ub-key{align-items:center;gap:5px;display:inline-flex}.ub-key i{display:inline-block}.k-on{background:var(--ok);border-radius:2px;width:12px;height:8px}.k-drop{border-left:5px solid #0000;border-right:5px solid #0000;border-top:6px solid var(--err);width:0;height:0}.k-rej{background:var(--err);border-radius:1px;width:4px;height:4px}.ub-link{font:inherit;color:var(--accent-text);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;font-size:12px}.ub-link:hover{text-decoration:underline}.svc-group-title{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3);background:var(--bg-hover);border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);align-items:center;gap:8px;padding:12px 24px;font-size:12px;font-weight:600;display:flex}.svc-group-title svg{width:16px;height:16px}.svc-row{grid-template-columns:minmax(300px,5fr) minmax(320px,7fr);align-items:start;gap:24px;padding:16px 24px;display:grid}.svc-row+.svc-row{border-top:1px solid var(--bd)}@media (width<=1100px){.svc-row{grid-template-columns:1fr;gap:12px}}@media (width<=860px){.svc-row{padding:14px 16px}.svc-group-title{padding:10px 16px}}.menu{z-index:25;background:var(--bg-raised);border:1px solid var(--bd);border-radius:var(--r);min-width:200px;box-shadow:var(--shadow-lg);padding:4px;position:absolute;top:calc(100% + 4px);right:0}.menu button{border-radius:var(--r-sm);width:100%;height:36px;font:inherit;color:var(--fg-2);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;display:flex}.menu button:hover{background:var(--bg-subtle);color:var(--fg-1)}.menu button svg{width:18px;height:18px;color:var(--fg-3)}.svc-item.tv{grid-template-columns:24px minmax(140px,1.2fr) minmax(110px,1fr) minmax(130px,1fr) minmax(120px,1fr) auto}.svc-item .mini{grid-column:2/-1}.fs-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.fs-sec{border:1px solid var(--bd);border-radius:8px;flex-direction:column;gap:6px;min-width:0;padding:10px 12px;display:flex}.fs-sec .kv{grid-template-columns:minmax(110px,auto) 1fr;gap:4px 12px;font-size:13px}.fs-wide{grid-column:1/-1}.onu-inline{padding:4px 0 16px 28px}.onu-hero{background:var(--bg-subtle);border:1px solid var(--bd);border-radius:12px;flex-wrap:wrap;align-items:stretch;gap:12px;padding:14px 16px;display:flex}.onu-hero>*{flex:160px;min-width:0}.onu-hero>.onu-hero-id{flex:1.3 200px}.onu-hero-act{flex-direction:column;justify-content:center;gap:6px;display:flex;flex:none!important}.onu-hero-act .btn{justify-content:flex-start}@media (width<=760px){.onu-hero>.onu-hero-id{flex-basis:100%}.onu-hero-act{flex-wrap:wrap;flex-direction:row!important;flex-basis:100%!important}.onu-inline{padding-left:0}}.onu-hero-id{flex-direction:column;gap:4px;min-width:0;display:flex}.onu-hero-big{font-size:16px}.gauge{background:var(--bg-raised);border:1px solid var(--bd);border-radius:10px;flex-direction:column;justify-content:center;gap:4px;padding:10px 12px;display:flex}.gauge-val{font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;line-height:1.1}.gauge-bar{border-radius:3px;height:6px;margin-top:4px;position:relative;overflow:visible}.gauge-bar span{opacity:.85;position:absolute;top:0;bottom:0}.gauge-bar span:first-child{border-radius:3px 0 0 3px}.gauge-bar span:nth-child(3){border-radius:0 3px 3px 0}.gauge-bar i{background:var(--fg-1);width:4px;height:14px;box-shadow:0 0 0 2px var(--bg-raised);border-radius:2px;margin-left:-2px;position:absolute;top:-4px}.onu-catv{background:var(--bg-raised);border:1px solid var(--bd);color:var(--fg-3);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.onu-catv>svg{flex:none;width:36px;height:36px}.onu-catv.on>svg{color:var(--ok-text)}.onu-catv .small{color:var(--fg-1)}.onu-secs{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));align-items:start;gap:12px;display:grid}@media (width<=760px){.onu-secs{grid-template-columns:1fr}}.onu-sec{border:1px solid var(--bd);background:var(--bg-raised);border-radius:10px;min-width:0}.onu-sec>summary{cursor:pointer;justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px;font-weight:600;list-style:none;display:flex}.onu-sec>summary::-webkit-details-marker{display:none}.onu-sec>summary svg{width:16px;color:var(--fg-3);transition:transform .15s}.onu-sec[open]>summary{border-bottom:1px solid var(--bd)}.onu-sec[open]>summary svg{transform:rotate(180deg)}.onu-sec-body{flex-direction:column;gap:10px;min-width:0;padding:10px 14px 12px;display:flex}:is(.onu-sec:has(table),.onu-sec:has(.fs-grid)){grid-column:1/-1}.kv-tight{grid-template-columns:minmax(130px,auto) 1fr;gap:5px 14px;font-size:13px}.equip{flex-direction:column;gap:12px;padding:16px 24px;display:flex}.equip+.equip,.card-head+.equip{border-top:1px solid var(--bd)}.equip .onu-inline{padding:0}.equip-svcs{border:1px solid var(--bd);border-radius:10px;margin-left:24px;position:relative}.equip-svcs:before{content:"";border-left:2px solid var(--bd);border-bottom:2px solid var(--bd);border-bottom-left-radius:8px;width:12px;position:absolute;top:-12px;bottom:50%;left:-16px}.equip-svcs .svc-row{padding:14px 16px}@media (width<=860px){.equip{padding:14px 16px}.equip-svcs{margin-left:0}.equip-svcs:before{display:none}}.onu-hero.titled{grid-template-columns:minmax(190px,1.1fr) minmax(190px,1.1fr) repeat(3,minmax(130px,1fr)) auto;display:grid}@media (width<=1250px){.onu-hero.titled{grid-template-columns:1fr 1fr 1fr}.onu-hero.titled .onu-hero-act{flex-wrap:wrap;grid-column:1/-1;flex-direction:row!important}}@media (width<=760px){.onu-hero.titled{grid-template-columns:1fr 1fr}.onu-hero.titled .onu-hero-id{grid-column:1/-1}}.onu-catv .small{white-space:nowrap}.equip-svcs:before{display:none}.svc-tag{color:var(--ok-text);gap:4px;font-size:12px;font-weight:600}.expand-row .equip-svcs{margin-left:24px}.expand-row .onu-hero{background:var(--bg-raised)}
