@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/barlow-latin-400-normal.woff2) format('woff2')}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/barlow-latin-600-normal.woff2) format('woff2')}@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/barlow-condensed-latin-600-normal.woff2) format('woff2')}@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/barlow-condensed-latin-700-normal.woff2) format('woff2')}:root{color-scheme:dark;--bg:#0c131b;--panel:#121b25;--panel-2:#18232f;--line:#243241;--text:#e6edf3;--muted:#8b9bab;--accent:#12c6ea;--accent-ink:#032029;--accent-soft:rgba(18,198,234,.12);--focus:#12c6ea;--c-DA:#f5a524;--c-DM:#ff4d4d;--c-GAINE:#5b9bff;--c-VESDA:#3fd17a;--ok:#3fd17a;--danger:#ff6b6b;--radius-s:6px;--radius-m:10px;--font:"Barlow","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;--font-num:"Barlow Condensed","Arial Narrow","Roboto Condensed",var(--font)}*{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:var(--font);font-size:16px;line-height:1.45;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.hidden{display:none!important}::selection{background:rgba(18,198,234,.35)}.led{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok);flex:none}.led.DA{background:var(--c-DA);box-shadow:0 0 8px var(--c-DA)}.led.DM{background:var(--c-DM);box-shadow:0 0 8px var(--c-DM)}.led.GAINE{background:var(--c-GAINE);box-shadow:0 0 8px var(--c-GAINE)}.led.VESDA{background:var(--c-VESDA);box-shadow:0 0 8px var(--c-VESDA)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45em;min-height:42px;padding:0 16px;border-radius:var(--radius-s);border:1px solid var(--line);background:var(--panel-2);cursor:pointer;font-weight:600;text-decoration:none;color:var(--text);transition:border-color .15s,background .15s}.btn:hover{border-color:#3f5670;background:#213042}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.primary:hover{background:#3fd3f0;border-color:#3fd3f0}.btn.danger{color:var(--danger);border-color:#5a2a2e;background:0 0}.btn.danger:hover{background:#2a1719}.btn.small{min-height:34px;padding:0 12px;font-size:14px}.btn.icon{width:42px;padding:0;font-size:20px;line-height:1}input[type=email],input[type=password],input[type=search],input[type=tel],input[type=text],select,textarea{width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-s);background:#0b1118;color:var(--text)}input::placeholder,textarea::placeholder{color:#5f6f80}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px var(--accent-soft)}select option{background:var(--panel)}textarea{min-height:70px;resize:vertical}label{display:block;font-size:14px;font-weight:600;color:var(--muted);margin:12px 0 5px}.type{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-num);font-weight:600;font-size:15px;padding:2px 10px;border-radius:4px;border:1px solid currentColor;color:var(--c-DA);background:rgba(245,165,36,.08)}.type::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}.type.DM{color:var(--c-DM);background:rgba(255,77,77,.08)}.type.GAINE{color:var(--c-GAINE);background:rgba(91,155,255,.08)}.type.VESDA{color:var(--c-VESDA);background:rgba(63,209,122,.08)}.msg{padding:10px 12px;border-radius:var(--radius-s);background:#2a1719;border:1px solid #5a2a2e;color:#ffb3b3;font-size:15px;margin:10px 0}.msg.ok{background:#12281c;border-color:#22553a;color:#9ff0c0}.top{display:flex;align-items:center;gap:16px;padding:0 16px;min-height:calc(60px + env(safe-area-inset-top,0px));background:#0a1017;border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0)}.brand{display:flex;align-items:center;gap:14px;min-width:0;text-decoration:none;color:inherit}.brand .logo{height:30px;width:auto;display:block}.brand .sep{width:1px;height:28px;background:var(--line);flex:none}.brand .txt{display:flex;flex-direction:column;line-height:1.15;min-width:0}.brand b{font-size:16px;font-weight:600;white-space:nowrap}.brand span{font-size:13px;color:var(--muted);white-space:nowrap}.top .spacer{flex:1}.status{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);padding-right:4px}.status .clock{color:var(--text);font-family:var(--font-num);font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;padding-left:10px;border-left:1px solid var(--line);margin-left:4px}.userbtn{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:0 6px 0 12px;border-radius:21px;border:1px solid var(--line);background:var(--panel);cursor:pointer;color:var(--text);font-weight:600;font-size:14px}.userbtn:hover{border-color:#37506a}.userbtn .av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.02em}.foot{font-size:12px;color:#5f7080;display:flex;gap:6px;align-items:center}.foot img{height:13px;opacity:.75}.menu{position:relative}.menu-list{position:absolute;right:0;top:calc(100% + 8px);z-index:50;min-width:240px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:0 16px 40px rgba(0,0,0,.5);padding:6px}.menu-list a,.menu-list button{display:block;width:100%;text-align:left;padding:10px 12px;border:0;background:0 0;border-radius:var(--radius-s);text-decoration:none;cursor:pointer;color:var(--text)}.menu-list a:hover,.menu-list button:hover{background:var(--panel-2)}.menu-list .who{padding:8px 12px 10px;font-size:14px;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:4px}dialog{border:1px solid var(--line);border-radius:var(--radius-m);padding:22px;width:min(440px,calc(100vw - 24px));background:var(--panel);color:var(--text);box-shadow:0 30px 80px rgba(0,0,0,.6)}dialog::backdrop{background:rgba(5,9,14,.7)}dialog h2{margin:0 0 6px;font-family:var(--font-num);font-size:24px}.row-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}@media (max-width:900px){.status .lbl,.userbtn .nm{display:none}.userbtn{padding:0 5px}}@media (max-width:640px){.brand .sep,.brand .txt,.status .led{display:none}.brand .logo{height:26px}.top{gap:10px;padding:0 10px}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.ui-dlg .ui-text{margin:4px 0 14px;white-space:pre-line;line-height:1.45;color:var(--text)}.ui-dlg .ui-in{width:100%;margin-bottom:14px}.ui-dlg .row-actions{margin-top:4px}#toasts{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:9999;display:flex;flex-direction:column;gap:8px;width:min(460px,calc(100vw - 24px));pointer-events:none}.toast{pointer-events:auto;padding:12px 14px;border-radius:8px;background:var(--panel);border:1px solid var(--line);border-left:4px solid #e5484d;color:var(--text);font-size:14px;line-height:1.4;box-shadow:0 12px 36px rgba(0,0,0,.5);cursor:pointer;animation:toastIn .18s ease-out}.toast.ok{border-left-color:#30a46c}.toast.info{border-left-color:var(--accent)}.toast.in-dlg{position:static;margin-top:12px;box-shadow:none}@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.ui-dlg h2{font-size:20px;line-height:1.25}.ui-dlg .row-actions{display:flex;gap:8px;flex-wrap:nowrap}.ui-dlg .row-actions .btn{flex:1;justify-content:center;text-align:center}.ui-dlg .row-actions.three{flex-wrap:wrap}.ui-dlg .row-actions.three .btn{flex:1 1 30%}.btn.alt{color:#9cc0ff;border-color:#2b4c9b}html.sun{color-scheme:light;--bg:#eef1f4;--panel:#ffffff;--panel-2:#e4e9ee;--line:#9aa7b4;--text:#05090d;--muted:#34414e;--accent:#006d91;--accent-ink:#ffffff;--accent-soft:rgba(0,109,145,.16);--focus:#006d91;--c-DA:#b86e00;--c-DM:#d10f0f;--c-GAINE:#1f5fd6;--c-VESDA:#0d8a42;--ok:#0d7a3b;--danger:#c01818}html.sun body{font-weight:500}html.sun ::selection{background:rgba(0,109,145,.25)}html.sun .btn{border-color:#7d8b99}html.sun .btn:hover{border-color:#4f5d6b;background:#dde3e9}html.sun .btn.primary:hover{background:#00587a;border-color:#00587a}html.sun .btn.danger{border-color:#d98e8e}html.sun .btn.danger:hover{background:#fbe3e3}html.sun .btn.alt{color:#1f4fb0;border-color:#7f9fe0}html.sun input[type=email],html.sun input[type=password],html.sun input[type=search],html.sun input[type=tel],html.sun input[type=text],html.sun select,html.sun textarea{background:#fff;border-color:#7d8b99}html.sun input::placeholder,html.sun textarea::placeholder{color:#66727f}html.sun .msg{background:#fde8e8;border-color:#e19a9a;color:#7d0c0c}html.sun .msg.ok{background:#e2f4e9;border-color:#86c9a0;color:#0a5227}html.sun .top{background:#fff;border-bottom-color:#9aa7b4}html.sun .userbtn:hover{border-color:#4f5d6b}html.sun .foot{color:#45515e}html.sun .logo,html.sun .mlogo{filter:brightness(.55) saturate(1.4)}html.sun .toast{box-shadow:0 10px 30px rgba(0,0,0,.18)}html.sun dialog{box-shadow:0 24px 60px rgba(0,0,0,.25)}html.sun dialog::backdrop{background:rgba(20,30,40,.45)}html.large body{font-size:18px}html.large body{font-size:18px}html.large .btn.small{font-size:16px}html.large .btn.icon{font-size:23px}html.large label{font-size:16px}html.large .type{font-size:17px}html.large .msg{font-size:17px}html.large .brand b{font-size:18px}html.large .brand span{font-size:15px}html.large .status{font-size:16px}html.large .status .clock{font-size:23px}html.large .userbtn{font-size:16px}html.large .userbtn .av{font-size:15px}html.large .foot{font-size:14px}html.large .menu-list .who{font-size:16px}html.large dialog h2{font-size:28px}html.large .toast{font-size:16px}html.large .ui-dlg h2{font-size:23px}html.large #q{font-size:28px}html.large #q::placeholder{font-size:18px}html.large .countrow select{font-size:16px}html.large .chip{font-size:16px}html.large .count{font-size:15px}html.large .results .num{font-size:29px}html.large .results .meta{font-size:16px}html.large .results .lv{font-size:17px}html.large .results .more{font-size:16px}html.large .planbar select{font-size:21px}html.large .detail .bignum{font-size:53px}html.large .detail dl{font-size:17px}html.large .detail .note{font-size:17px}html.large .offline{font-size:16px}html.large .tf-secret{font-size:21px}html.large .tf-code{font-size:32px}html.large .tf-steps{font-size:17px}html.large .tf-rec{font-size:23px}html.large .noplan b{font-size:21px}html.large .duty{font-size:16px}html.large .alert-row b{font-size:25px}html.large .alert-row .w{font-size:15px}html.large .alert-row .st{font-size:14px}html.large .detail.alarm .alabel{font-size:16px}html.large .timeline{font-size:16px}html.large .report-view{font-size:16px}html.large .report-view b{font-size:15px}html.large .chef-only{font-size:15px}html.large .ex-tag{font-size:14px}html.large .chead h1{font-size:37px}html.large .hint{font-size:15px}html.large .mono{font-size:21px}html.large .site .h b{font-size:21px}html.large .site .state{font-size:15px}html.large .site .slug{font-size:17px}html.large .site a.url{font-size:17px}html.large .site .tag{font-size:14px}html.large .job pre{font-size:15px}html.large .upd{font-size:14px}html.large .adm legend{font-size:16px}html.large .site .client{font-size:16px}html.large .site .client summary{font-size:15px}html.large .site .client.empty-c{font-size:15px}html.large .cfg h3{font-size:20px}html.large .cfg-row input.nm,html.large .cfg-row input.sh{font-size:16px}html.large .cfg-row .use{font-size:15px}html.large .cfg-row .tag{font-size:14px}html.large .perms label{font-size:16px}.csel-menu{position:fixed;inset:auto;margin:0;z-index:9999;box-sizing:border-box;max-width:min(460px,calc(100vw - 12px));overflow-y:auto;overscroll-behavior:contain;padding:5px;background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:0 14px 40px rgba(0,0,0,.5);font-family:var(--font);font-size:15px}.csel-opt{padding:8px 12px 8px 28px;border-radius:var(--radius-s);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;user-select:none}.csel-opt.in{padding-left:40px}.csel-opt.on{background:var(--accent-soft);color:var(--text)}.csel-opt.sel{font-weight:700;color:var(--accent)}.csel-opt.sel::before{content:"\2713";position:absolute;left:10px}.csel-opt.in.sel::before{left:22px}.csel-opt.dis{opacity:.45;cursor:default}.csel-grp{padding:8px 12px 4px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}html.large .csel-menu{font-size:17px}html.sun .csel-menu{box-shadow:0 10px 30px rgba(0,0,0,.18)}