:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e9f3f2;--bg:#081016;--panel:#111c24;--panel-2:#162630;--line:#263945;--text-soft:#8fa4ad;--ok:#31d07c;--info:#54a7ff;--warning:#f8c14a;--high:#ff8a4c;--critical:#ff4f64;--accent:#00a7a5;background:#081016;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 20% 0%, #123642 0, transparent 34%), var(--bg);min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.login-shell,.loading{place-items:center;min-height:100vh;padding:32px;display:grid}.login-panel,.modal{border:1px solid var(--line);background:#111c24f5;border-radius:8px;width:min(430px,100%);padding:32px;box-shadow:0 24px 70px #00000059}.brand-mark{width:54px;height:54px;color:var(--accent);background:#0a2a2f;border:1px solid #15525a;border-radius:8px;place-items:center;display:grid}.brand-mark.critical{color:var(--critical);background:#32151b;border-color:#74323d}.brand-mark.high{color:var(--high)}.brand-mark.warning{color:var(--warning)}.brand-mark.ok{color:var(--ok)}h1,h2,p{margin-top:0}h1{letter-spacing:0;margin-bottom:8px;font-size:30px}h2{color:#dceceb;margin-bottom:18px;font-size:18px}p,small,.brand span{color:var(--text-soft)}form{gap:14px;margin-top:24px;display:grid}label{color:#cde0df;gap:8px;display:grid}input{border:1px solid var(--line);color:#fff;background:#0b151c;border-radius:6px;width:100%;padding:12px 14px}.primary-button,.icon-button,.modal-actions button{color:#e9fffd;background:#0f3639;border:1px solid #1b6266;border-radius:6px;align-items:center;gap:9px;padding:11px 14px;display:inline-flex}.form-error{color:var(--critical)}.wallboard{padding:28px 28px 90px}.topbar{grid-template-columns:auto 1fr auto;align-items:center;gap:22px;margin-bottom:24px;display:grid}.top-actions{align-items:center;gap:10px;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand h1{margin:0;font-size:28px}.source-strip{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.source-badge{border:1px solid var(--line);background:#111c24d1;border-radius:8px;justify-content:space-between;gap:12px;min-width:150px;padding:10px 12px;display:flex}.source-badge.ok{border-color:#255b42}.source-badge.critical{border-color:#74323d}.dashboard-tabs{flex-wrap:wrap;gap:8px;margin:0 0 18px;display:flex}.content-loader{border:1px solid var(--line);background:#111c24db;border-radius:8px;margin:0 0 16px;padding:12px 14px}.content-loader>div:first-child{color:#dceceb;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.content-loader span{color:var(--text-soft)}.progress-track{border:1px solid var(--line);background:#071015;border-radius:999px;height:7px;margin-top:10px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--ok));height:100%;transition:width .25s;display:block}.loading-panel{border:1px solid var(--line);background:#111c24e0;border-radius:8px;align-content:center;justify-items:center;gap:14px;min-height:360px;padding:28px;display:grid}.loading-panel .content-loader{width:min(520px,100%);margin:0}.dashboard-tabs button{border:1px solid var(--line);color:var(--text-soft);background:#0b151c;border-radius:6px;padding:10px 14px}.dashboard-tabs button.active{color:#e9fffd;background:#0f3639;border-color:#1b6266}.dashboard-filters{grid-template-columns:minmax(260px,1fr) 180px auto;align-items:center;gap:10px;margin:0 0 16px;display:grid}.dashboard-filters select{border:1px solid var(--line);color:#fff;background:#0b151c;border-radius:6px;width:100%;padding:12px 14px}.filter-toggle{border:1px solid var(--line);background:#0b151c;border-radius:6px;min-height:44px;padding:0 12px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.stats-grid.backup-stats,.stats-grid.zabbix-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.stat{border:1px solid var(--line);background:linear-gradient(180deg, var(--panel), #0d171e);border-radius:8px;align-content:space-between;min-height:136px;padding:20px;display:grid}.stat svg{color:var(--accent)}.stat strong{font-size:42px;line-height:1}.stat span{color:var(--text-soft)}.stat.critical svg,.stat.critical strong{color:var(--critical)}.stat.high svg,.stat.high strong{color:var(--high)}.stat.average svg,.stat.average strong{color:#ff9f68}.stat.warning svg,.stat.warning strong{color:var(--warning)}.stat.info svg,.stat.info strong{color:var(--info)}.stat.ok svg,.stat.ok strong{color:var(--ok)}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.dashboard-grid.overview-grid,.dashboard-grid.detail-grid{grid-template-columns:2fr 1fr}.single-dashboard-grid{grid-template-columns:1fr;gap:16px;display:grid}.panel{border:1px solid var(--line);background:#111c24e0;border-radius:8px;min-height:260px;padding:18px}.panel.wide{grid-column:span 2}.panel.tall{min-height:420px}.alarm-list,.check-list{gap:10px;display:grid}.alarm,.check-row{border:1px solid var(--line);background:var(--panel-2);border-radius:6px;gap:8px;padding:13px;display:grid}.alarm{grid-template-columns:1fr auto}.alarm strong,.check-row strong{display:block}.alarm span,.check-row small{color:var(--text-soft)}.check-meta{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.check-meta span{color:#c9dddc;border:1px solid var(--line);background:#0810168c;border-radius:999px;padding:4px 8px;font-size:12px}.alarm.critical{border-color:#72323d}.alarm.high{border-color:#7a4b28}.alarm.warning{border-color:#725d25}.check-row{grid-template-columns:auto 1fr auto;align-items:center}.check-row.backup-row{grid-template-columns:auto 1fr auto}.check-row em{color:var(--text-soft);border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:12px;font-style:normal}.backup-table{gap:8px;display:grid;overflow:auto}.backup-customer-list{gap:10px;display:grid}.backup-customer-card{border:1px solid var(--line);background:#162630bd;border-radius:8px;overflow:hidden}.backup-customer-card.failed,.backup-customer-card.missing{border-color:#74323d}.backup-customer-card.warning{border-color:#725d25}.backup-customer-card.ok{border-color:#255b42}.backup-customer-head{color:#e9f3f2;text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(260px,1fr) 120px minmax(360px,auto);align-items:center;gap:12px;width:100%;padding:14px;display:grid}.backup-customer-head strong,.backup-customer-head small{display:block}.backup-customer-head small{color:var(--text-soft)}.customer-counts{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.customer-counts span{border:1px solid var(--line);color:var(--text-soft);border-radius:999px;padding:5px 8px;font-size:12px}.customer-counts .failed,.customer-counts .missing{color:var(--critical);border-color:#74323d}.customer-counts .warning{color:var(--warning);border-color:#725d25}.customer-counts .ok{color:var(--ok);border-color:#255b42}.backup-table.nested{padding:0 12px 12px;overflow:visible}.backup-table-head,.backup-table-row{grid-template-columns:minmax(320px,1.5fr) 120px 150px 150px 110px;align-items:center;gap:10px;display:grid}.backup-table-head{z-index:1;color:var(--text-soft);text-transform:uppercase;background:#111c24fa;padding:10px 12px;font-size:12px;position:sticky;top:0}.backup-table-row{border:1px solid var(--line);background:var(--panel-2);border-radius:6px;padding:12px}.backup-table-row strong,.backup-table-row span,.backup-table-row small{display:block}.backup-table-row small{color:var(--text-soft)}.row-actions{justify-content:flex-end;gap:6px;display:flex}.dot{background:var(--info);border-radius:50%;width:11px;height:11px}.dot.ok{background:var(--ok)}.dot.warning{background:var(--warning)}.dot.average{background:#ff9f68}.dot.high{background:var(--high)}.dot.critical,.dot.disaster{background:var(--critical)}.dot.information{background:var(--info)}.dot.not_classified{background:var(--text-soft)}.empty-state{min-height:150px;color:var(--text-soft);place-items:center;gap:10px;display:grid}.menu-wrap{position:relative}.app-menu{z-index:10;border:1px solid var(--line);background:#0c151c;border-radius:8px;min-width:230px;padding:8px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 24px 70px #00000059}.app-menu div,.app-menu button{color:#dceceb;border-radius:6px;align-items:center;gap:9px;width:100%;padding:10px;display:flex}.app-menu div{color:var(--text-soft);border-bottom:1px solid var(--line);margin-bottom:6px}.app-menu button{text-align:left;background:0 0;border:0}.app-menu button:hover{background:var(--panel-2)}.modal-backdrop{background:#0000009e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal img{background:#fff;border-radius:8px;width:210px;height:210px;margin:0 auto 18px;padding:10px;display:block}.modal-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.drawer-backdrop{z-index:20;background:#00000094;justify-content:flex-end;display:flex;position:fixed;inset:0}.job-drawer,.user-drawer{border-left:1px solid var(--line);background:#0c151c;grid-template-rows:auto auto auto 1fr;gap:14px;width:min(1180px,100vw);height:100vh;padding:22px;display:grid;overflow:hidden;box-shadow:-24px 0 70px #00000061}.user-drawer{width:min(820px,100vw)}.job-drawer header,.user-drawer header{justify-content:space-between;align-items:center;gap:12px;display:flex}.drawer-actions{align-items:center;gap:10px;display:flex}.job-drawer header h2,.user-drawer header h2{margin:0 0 4px;font-size:24px}.job-drawer header span,.user-drawer header span{color:var(--text-soft)}.job-toolbar input{max-width:520px}.job-table{align-content:start;gap:8px;display:grid;overflow:auto}.job-table-head,.job-row{grid-template-columns:minmax(320px,1.5fr) 110px 105px 105px 150px minmax(210px,.9fr) 48px;align-items:center;gap:10px;display:grid}.job-table-head{z-index:1;color:var(--text-soft);text-transform:uppercase;background:#0c151c;padding:10px 12px;font-size:12px;position:sticky;top:0}.job-row{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:12px}.job-row.muted{opacity:.62}.job-row strong,.job-row span,.job-row small{display:block}.job-row small{color:var(--text-soft)}.job-row label{align-items:center;gap:6px;display:flex}.job-row input{width:76px;padding:8px}.status-pill{border:1px solid var(--line);width:fit-content;color:var(--text-soft);border-radius:999px;padding:5px 9px;display:inline-flex}.status-pill.success,.status-pill.ok{color:var(--ok);border-color:#255b42}.status-pill.warning{color:var(--warning);border-color:#725d25}.status-pill.average{color:#ff9f68;border-color:#7a4b28}.status-pill.high{color:var(--high);border-color:#7a4b28}.status-pill.disaster{color:var(--critical);border-color:#74323d}.status-pill.information{color:var(--info);border-color:#2e5576}.status-pill.failed,.status-pill.missing{color:var(--critical);border-color:#74323d}.switch-stack{grid-template-columns:1fr 1fr;gap:6px;display:grid}.toggle,.pause-actions button{border:1px solid var(--line);color:var(--text-soft);background:#0b151c;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:7px 8px;display:inline-flex}.toggle.active{color:#e9fffd;background:#0f3639;border-color:#1b6266}.pause-actions{gap:6px;display:grid}.pause-actions div{flex-wrap:wrap;gap:5px;display:flex}.user-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:12px;margin:0;display:grid}.check-label{align-items:center;gap:8px;min-height:44px;display:flex}.check-label input{width:auto}.user-list{align-content:start;gap:8px;display:grid;overflow:auto}.user-row{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:12px;display:grid}.user-row small{color:var(--text-soft);display:block}.user-row span{color:var(--text-soft);border:1px solid var(--line);border-radius:999px;padding:5px 9px}@media (width<=980px){.topbar,.stats-grid,.stats-grid.backup-stats,.stats-grid.zabbix-stats,.dashboard-grid,.dashboard-filters{grid-template-columns:1fr}.panel.wide{grid-column:auto}.wallboard{padding:18px 18px 160px}.backup-customer-head{grid-template-columns:auto 1fr}.backup-customer-head>.status-pill,.customer-counts{grid-column:2;justify-content:flex-start}.job-table-head{display:none}.job-row,.user-form,.user-row{grid-template-columns:1fr}}
