@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root,[data-theme=neon]{--bg-primary:#0a0a0a;--bg-secondary:#111;--bg-card:#161616;--bg-hover:#1a1a1a;--border:#222;--border-light:#2a2a2a;--neon:#0f8;--neon-dim:#00cc6a;--neon-glow:#00ff8826;--neon-glow-sm:#00ff8814;--text-primary:#f0f0f0;--text-secondary:#888;--text-muted:#555;--red:#f44;--orange:#f80;--yellow:#fc0;--blue:#48f;--font-main:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--radius:8px;--radius-lg:12px}[data-theme=light]{--bg-primary:#f4f6f8;--bg-secondary:#fff;--bg-card:#fff;--bg-hover:#eef0f3;--border:#dde1e7;--border-light:#c8cdd6;--neon:#0a7c4e;--neon-dim:#085f3c;--neon-glow:#0a7c4e1f;--neon-glow-sm:#0a7c4e0f;--text-primary:#1a1d23;--text-secondary:#52596a;--text-muted:#8c94a3;--red:#d93025;--orange:#e67e00;--yellow:#c49b00;--blue:#1a5fd4;--font-main:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--radius:8px;--radius-lg:12px}[data-theme=midnight]{--bg-primary:#0d1117;--bg-secondary:#161b22;--bg-card:#1c2330;--bg-hover:#21262d;--border:#30363d;--border-light:#3d444d;--neon:#58a6ff;--neon-dim:#388bfd;--neon-glow:#58a6ff26;--neon-glow-sm:#58a6ff14;--text-primary:#e6edf3;--text-secondary:#7d8590;--text-muted:#484f58;--red:#f85149;--orange:#d29922;--yellow:#e3b341;--blue:#58a6ff;--font-main:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--radius:8px;--radius-lg:12px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--neon-dim)}a{color:var(--neon);text-decoration:none}a:hover{color:var(--neon-dim)}button{cursor:pointer;font-family:var(--font-main)}input,select,textarea{font-family:var(--font-main);background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius);outline:none;padding:8px 12px;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--neon);box-shadow:0 0 0 2px var(--neon-glow-sm)}.neon{color:var(--neon)}.muted{color:var(--text-muted)}.mono{font-family:var(--font-mono)}@media (width<=1024px){.page-container{max-width:none!important;margin-left:0!important;margin-right:0!important;padding:0!important}}[data-theme=light]{--ov-bg-dark-1:#fff;--ov-bg-dark-2:#f8f9fa;--ov-bg-dark-3:#f0f2f5;--ov-border:#dde1e7;--ov-text-dim:#52596a}[data-theme=light] [style*="background: #0a0a0a"],[data-theme=light] [style*="background:#0a0a0a"],[data-theme=light] [style*="background: #0c0c0c"],[data-theme=light] [style*="background: #111"],[data-theme=light] [style*="background: #111111"],[data-theme=light] [style*="background: #161616"],[data-theme=light] [style*="background: #15171a"],[data-theme=light] [style*="background: #1a1a1a"],[data-theme=light] [style*="background: #1a1c1e"],[data-theme=light] [style*="background: #1f1f1f"],[data-theme=light] [style*="background: #0c0d0f"]{background:var(--bg-card)!important}[data-theme=light] .card,[data-theme=light] [class*=-card],[data-theme=light] [class*=card-],[data-theme=light] [class*=-panel],[data-theme=light] [class*=panel-],[data-theme=light] [class*=-box],[data-theme=light] [class*=-container],[data-theme=light] [class*=-widget],[data-theme=light] [class*=-section],[data-theme=light] [class*=-item],[data-theme=light] [class*=-row],[data-theme=light] [class*=-block]{background:var(--bg-card);border-color:var(--border);color:var(--text-primary)}[data-theme=light] [class*=-label],[data-theme=light] [class*=-title],[data-theme=light] [class*=-subtitle],[data-theme=light] [class*=-desc],[data-theme=light] [class*=-text],[data-theme=light] [class*=-value],[data-theme=light] [class*=-name]{color:var(--text-primary)}[data-theme=light] [class*=-muted],[data-theme=light] [class*=-secondary],[data-theme=light] [class*=-hint],[data-theme=light] [class*=-meta],[data-theme=light] [class*=-sub]{color:var(--text-secondary)}[data-theme=light] tr,[data-theme=light] td,[data-theme=light] th{color:var(--text-primary);border-color:var(--border)!important}[data-theme=light] tr:hover td{background:var(--bg-hover)!important}[data-theme=light] thead th{background:var(--bg-secondary)!important;color:var(--text-secondary)!important}[data-theme=light] input,[data-theme=light] select,[data-theme=light] textarea{background:var(--bg-secondary)!important;border-color:var(--border)!important;color:var(--text-primary)!important}[data-theme=light] input::placeholder,[data-theme=light] textarea::placeholder{color:var(--text-muted)!important}[data-theme=light] [class*=modal-content],[data-theme=light] [class*=modal-body],[data-theme=light] [class*=modal-header],[data-theme=light] [class*=modal-footer],[data-theme=light] [class*=drawer],[data-theme=light] [class*=popover],[data-theme=light] [class*=tooltip]{background:var(--bg-card)!important;border-color:var(--border)!important;color:var(--text-primary)!important}[data-theme=light] button:not([class*=btn-primary]):not([class*=neon]):not([class*=logout]){color:var(--text-primary);border-color:var(--border)}[data-theme=light] hr,[data-theme=light] [class*=divider],[data-theme=light] [class*=separator]{border-color:var(--border)!important;background:var(--border)!important}[data-theme=light] ::-webkit-scrollbar-track{background:var(--bg-secondary)}[data-theme=light] ::-webkit-scrollbar-thumb{background:var(--border-light)}[data-theme=midnight] .nav-item.active{color:var(--neon);background:#58a6ff1f;border-color:#58a6ff40}[data-theme=midnight] .user-avatar{background:#58a6ff1f;border-color:#58a6ff4d}[data-theme=warm]{--bg-primary:#16120a;--bg-secondary:#1e180e;--bg-card:#251e12;--bg-hover:#2e2518;--border:#3a2e1c;--border-light:#4a3c26;--neon:#c8a96e;--neon-dim:#a88848;--neon-glow:#c8a96e26;--neon-glow-sm:#c8a96e14;--text-primary:#f0e8d8;--text-secondary:#9a8a6a;--text-muted:#6a5a3a;--red:#e05050;--orange:#d07828;--yellow:#d4aa28;--blue:#6090d8;--font-main:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--radius:8px;--radius-lg:12px}.login-page{background:var(--bg-primary);background-image:radial-gradient(circle at 20%,#00ff8808 0%,#0000 50%),radial-gradient(circle at 80% 20%,#00ff8805 0%,#0000 40%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:400px;padding:40px}.login-logo{text-align:center;color:var(--neon);margin-bottom:32px}.login-logo h1{color:var(--neon);letter-spacing:1px;margin:12px 0 6px;font-size:28px;font-weight:700}.login-logo p{color:var(--text-muted);font-size:13px}.login-form{flex-direction:column;gap:20px;display:flex}.form-group input{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-primary);padding:10px 14px;font-size:14px}.input-wrap{position:relative}.input-wrap input{width:100%;padding-right:40px}.eye-btn{color:var(--text-muted);background:0 0;border:none;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.eye-btn:hover{color:var(--text-secondary)}.login-error{color:var(--red);border-radius:var(--radius);background:#ff44441a;border:1px solid #ff44444d;padding:10px 14px;font-size:13px}.login-btn{background:var(--neon);color:#000;border-radius:var(--radius);letter-spacing:.3px;border:none;width:100%;padding:12px;font-size:15px;font-weight:600;transition:all .2s}.login-btn:hover:not(:disabled){background:var(--neon-dim);transform:translateY(-1px)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-divider{text-align:center;color:#ffffff59;letter-spacing:.5px;align-items:center;margin:20px 0 14px;font-size:12px;display:flex}.login-divider:before,.login-divider:after{content:"";background:#ffffff14;flex:1;height:1px}.login-divider span{text-transform:uppercase;padding:0 12px}.demo-btn{color:#ffffffb3;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:8px;width:100%;padding:11px 16px;font-size:14px;font-weight:500;transition:all .18s}.demo-btn:hover:not(:disabled){border-color:var(--neon,#0f8);color:var(--neon,#0f8);background:#00ff880a}.demo-btn:disabled{opacity:.5;cursor:not-allowed}@media (width<=640px){.login-page{padding:16px}.login-card{padding:28px 22px}.login-logo{margin-bottom:24px}.login-logo h1{margin:10px 0 4px;font-size:24px}.login-logo p{font-size:12px}.form-group input{padding:12px 14px;font-size:16px}.eye-btn{padding:8px;right:4px}.login-btn{padding:13px;font-size:15px}.demo-btn{padding:12px 16px;font-size:14px}.login-divider{margin:18px 0 12px}.login-error{padding:9px 12px;font-size:12px}}@media (width<=380px){.login-card{padding:22px 18px}.login-logo h1{font-size:22px}}.admin-dashboard{padding:24px 32px}.admin-stats-grid{grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:18px;display:grid}@media (width<=1280px){.admin-stats-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=700px){.admin-stats-grid{grid-template-columns:1fr 1fr}}.admin-stat-card{background:#0c0c0c;border:1px solid #1f1f1f;border-radius:12px;align-items:center;gap:14px;padding:16px 18px;transition:all .2s;display:flex;position:relative}.admin-stat-card.clickable{cursor:pointer}.admin-stat-card.clickable:hover{background:#0f0f0f;border-color:#2a2a2a;transform:translateY(-1px)}.admin-stat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.admin-stat-info{flex:1;min-width:0}.admin-stat-value{color:var(--text-primary);font-family:ui-monospace,monospace;font-size:28px;font-weight:700;line-height:1}.admin-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-top:4px;font-size:12px}.admin-stat-sub{color:var(--text-muted);margin-top:4px;font-size:11px}.admin-stat-arrow{color:var(--text-muted);opacity:0;transition:opacity .15s}.admin-stat-card.clickable:hover .admin-stat-arrow{opacity:1}.admin-stat-card.customer .admin-stat-icon{color:#48f;background:#4488ff1a;border:1px solid #4488ff4d}.admin-stat-card.greenhouse .admin-stat-icon{color:#0f8;background:#00ff881a;border:1px solid #00ff884d}.admin-stat-card.station .admin-stat-icon{color:#a6f;background:#aa66ff1a;border:1px solid #aa66ff4d}.admin-stat-card.maint .admin-stat-icon{color:#f80;background:#ff88001a;border:1px solid #ff88004d}.admin-stat-card.health .admin-stat-icon{color:#0f8;background:#00ff881a;border:1px solid #00ff884d}.admin-stat-card.health.warning .admin-stat-icon{color:#fd4;background:#ffdd441a;border-color:#ffdd444d}.admin-stat-card.health.critical .admin-stat-icon{color:#f44;background:#ff44441a;border-color:#ff44444d}.admin-stat-card.health .admin-stat-value{color:#0f8}.admin-stat-card.health.warning .admin-stat-value{color:#fd4}.admin-stat-card.health.critical .admin-stat-value{color:#f44}.health-pulse{position:relative}.health-pulse:before{content:"";opacity:0;border:2px solid;border-radius:12px;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse-ring;position:absolute;inset:-4px}.health-pulse svg{animation:1.4s ease-in-out infinite heart-beat}@keyframes pulse-ring{0%{opacity:.8;transform:scale(.95)}to{opacity:0;transform:scale(1.4)}}@keyframes heart-beat{0%,50%,to{transform:scale(1)}25%,75%{transform:scale(1.12)}}.admin-stat-card.health.critical .health-pulse svg{animation-duration:.8s}.admin-alert-bar{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.admin-alert{cursor:pointer;border-radius:8px;flex:1;align-items:center;gap:8px;min-width:240px;padding:10px 16px;font-size:13px;transition:all .15s;display:flex}.admin-alert:hover{transform:translateY(-1px)}.admin-alert.critical{color:#f66;background:#ff444414;border:1px solid #ff44444d}.admin-alert.critical:hover{background:#ff444426;box-shadow:0 0 12px #f443}.admin-alert.warning{color:#fa4;background:#ff880014;border:1px solid #ff88004d}.admin-alert.warning:hover{background:#ff880026}.admin-alert span{flex:1}.admin-alert strong{color:inherit;font-weight:700}.admin-cols{grid-template-columns:3fr 2fr;gap:16px;display:grid}@media (width<=1100px){.admin-cols{grid-template-columns:1fr}}.admin-panel{background:#0c0c0c;border:1px solid #1a1a1a;border-radius:12px;overflow:hidden}.admin-panel-header{background:#0a0a0a;border-bottom:1px solid #1a1a1a;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.admin-panel-header h3{color:var(--text-primary);margin:0;font-size:14px;font-weight:600}.admin-panel-sub{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.admin-link-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-family:inherit;font-size:11px;transition:all .15s;display:inline-flex}.admin-link-btn:hover{color:#0f8;border-color:#0f86}.admin-empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:10px;padding:40px 20px;font-size:12px;display:flex}.admin-upcoming-list{flex-direction:column;display:flex}.admin-upcoming-row{cursor:pointer;border-bottom:1px solid #161616;align-items:center;gap:12px;padding:10px 18px;transition:background .12s;display:flex}.admin-upcoming-row:last-child{border-bottom:none}.admin-upcoming-row:hover{background:#00ff8808}.admin-upcoming-row.overdue{background:#ff444408}.admin-upcoming-icon{background:#161616;border:1px solid #2a2a2a;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.admin-upcoming-info{flex:1;min-width:0}.admin-upcoming-title{color:var(--text-primary);font-size:12px;font-weight:500}.admin-upcoming-loc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;overflow:hidden}.admin-upcoming-date{text-align:right;color:var(--text-secondary);flex-shrink:0;font-family:monospace;font-size:11px}.admin-upcoming-dday{color:var(--text-muted);margin-top:2px;font-size:10px}.admin-upcoming-dday.overdue{color:#f44;font-weight:600}.admin-top-list{padding:6px 0}.admin-top-row{cursor:pointer;align-items:center;gap:12px;padding:10px 18px;transition:background .12s;display:flex}.admin-top-row:hover{background:#4488ff08}.admin-top-rank{color:#48f;background:#4488ff1a;border:1px solid #4488ff4d;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-family:monospace;font-size:11px;font-weight:600;display:flex}.admin-top-info{flex:1;min-width:0}.admin-top-name{color:var(--text-primary);font-size:12px;font-weight:500}.admin-top-stats{color:var(--text-muted);margin-top:2px;font-size:10px}.admin-top-bar{background:#161616;border-radius:2px;height:4px;margin-top:6px;overflow:hidden}.admin-top-bar-fill{background:linear-gradient(90deg,#48f,#0f8);border-radius:2px;height:100%;transition:width .4s}.admin-health-badge{background:#00ff880f;border:1px solid #0f83;border-radius:12px;align-items:center;gap:14px;padding:12px 20px;transition:all .2s;display:flex}.admin-health-badge.clickable{cursor:pointer}.admin-health-badge.clickable:hover{background:#00ff881a;transform:translateY(-1px)}.admin-health-badge.warning{background:#f59e0b14;border-color:#f59e0b4d}.admin-health-badge.critical{background:#ff444414;border-color:#ff44444d}.admin-health-badge .ahb-icon{color:#0f8;background:#00ff8826;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.admin-health-badge.warning .ahb-icon{color:#f59e0b;background:#f59e0b26}.admin-health-badge.critical .ahb-icon{color:#f44;background:#ff444426}.admin-health-badge .ahb-value{color:#0f8;font-size:22px;font-weight:700;line-height:1}.admin-health-badge.warning .ahb-value{color:#f59e0b}.admin-health-badge.critical .ahb-value{color:#f44}.admin-health-badge .ahb-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:11px}.admin-health-badge .ahb-sub{margin-top:2px;font-size:11px}@media (width<=1024px){.admin-dashboard{padding:0}.admin-dashboard .page-header{flex-wrap:wrap;gap:12px;margin-bottom:16px}.admin-dashboard .page-header h1{font-size:20px}.admin-dashboard .page-header .page-sub{font-size:12px}.admin-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.admin-cols{grid-template-columns:1fr;gap:12px}.admin-alert{min-width:0}}@media (width<=640px){.admin-dashboard .page-header h1{font-size:18px}.admin-health-badge{justify-content:flex-start;gap:12px;width:100%;padding:10px 14px}.admin-health-badge .ahb-icon{width:36px;height:36px}.admin-health-badge .ahb-value{font-size:20px}.admin-health-badge .ahb-label,.admin-health-badge .ahb-sub{font-size:10px}.admin-stat-card{gap:10px;padding:12px 14px}.admin-stat-icon{width:38px;height:38px}.admin-stat-value{font-size:22px}.admin-stat-label,.admin-stat-sub{font-size:10px}.admin-alert-bar{flex-direction:column;gap:8px}.admin-alert{padding:8px 12px;font-size:12px}.admin-panel-header{padding:10px 12px}.admin-panel-header h3{font-size:13px}.admin-panel-sub{font-size:10px}.admin-link-btn{padding:4px 8px;font-size:10px}.admin-upcoming-row{gap:10px;padding:9px 12px}.admin-upcoming-icon{width:26px;height:26px}.admin-upcoming-title{font-size:11px}.admin-upcoming-loc{font-size:9.5px}.admin-upcoming-date{font-size:10px}.admin-upcoming-dday{font-size:9px}.admin-top-row{gap:10px;padding:9px 12px}.admin-top-rank{width:22px;height:22px;font-size:10px}.admin-top-name{font-size:11px}.admin-top-stats{font-size:9.5px}}@media (width<=380px){.admin-stats-grid{grid-template-columns:1fr}}.help-trigger{color:#4ade80d9;cursor:pointer;background:#4ade801a;border:1px solid #4ade804d;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:inline-flex}.help-trigger:hover{color:#4ade80;background:#4ade8033;border-color:#4ade8099}.help-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:20px;animation:.15s helpFadeIn;display:flex;position:fixed;inset:0}@keyframes helpFadeIn{0%{opacity:0}to{opacity:1}}.help-modal{background:var(--bg-secondary,#1a1f2e);border:1px solid #94a3b833;border-radius:12px;flex-direction:column;width:100%;max-width:700px;max-height:85vh;animation:.2s helpSlideUp;display:flex;box-shadow:0 20px 60px #00000080}@keyframes helpSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.help-header{border-bottom:1px solid #94a3b826;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.help-header h2{color:var(--text-primary,#e2e8f0);margin:0;font-size:18px}.help-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px}.help-close:hover{color:var(--text-primary);background:#94a3b81a}.help-body{flex:1;padding:20px 24px;overflow-y:auto}.help-summary{color:#e2e8f0d9;background:#4ade800f;border-left:3px solid #4ade8099;border-radius:6px;margin:0 0 20px;padding:12px 14px;font-size:14px;line-height:1.5}.help-section{margin-bottom:22px}.help-section:last-child{margin-bottom:0}.help-section h3{color:#4ade80e6;margin:0 0 8px;font-size:14px;font-weight:600}.help-section p{color:#e2e8f0d9;margin:0 0 8px;font-size:13.5px;line-height:1.6}.help-steps{counter-reset:step;margin:0;padding-left:22px;list-style:none}.help-steps li{color:#e2e8f0d9;counter-increment:step;margin-bottom:10px;padding-left:28px;font-size:13.5px;line-height:1.55;position:relative}.help-steps li:before{content:counter(step);color:#4ade80;background:#4ade8026;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:flex;position:absolute;top:0;left:-8px}.help-steps strong{color:#e2e8f0}.step-detail{color:#e2e8f0a6;margin-top:4px;font-size:12.5px}.help-list{margin:0;padding-left:20px}.help-list li{color:#e2e8f0d9;margin-bottom:6px;font-size:13.5px;line-height:1.5}.help-warning{color:#fb923cf2;background:#fb923c1a;border:1px solid #fb923c4d;border-radius:6px;margin-top:8px;padding:10px 14px;font-size:13px}.help-tip{color:#60a5faf2;background:#60a5fa14;border:1px solid #60a5fa40;border-radius:6px;margin-top:8px;padding:10px 14px;font-size:13px}.help-footer{border-top:1px solid #94a3b826;justify-content:flex-end;padding:14px 24px;display:flex}.help-btn-close{background:var(--green,#4ade80);color:#0a0e1a;cursor:pointer;border:none;border-radius:6px;padding:8px 20px;font-weight:600;transition:opacity .15s}.help-btn-close:hover{opacity:.85}@media (width<=640px){.help-modal{max-height:90vh}.help-body{padding:16px 18px}.help-header{padding:14px 18px}}.help-figure{background:#0a0b0d;border:1px solid #1a1c20;border-radius:4px;justify-content:center;margin:14px 0 16px;padding:12px 8px;display:flex;overflow-x:auto}.help-figure svg{max-width:100%;height:auto;display:block}[data-theme=light] .help-modal{border-color:var(--border)!important;background:#fff!important;box-shadow:0 8px 40px #00000026!important}[data-theme=light] .help-header{border-bottom-color:var(--border)!important}[data-theme=light] .help-header h2{color:var(--text-primary)!important}[data-theme=light] .help-footer{border-top-color:var(--border)!important}[data-theme=light] .help-summary{color:#1a3a2a!important;border-left-color:var(--neon)!important;background:#0a7c4e12!important}[data-theme=light] .help-section p,[data-theme=light] .help-steps li,[data-theme=light] .help-list li,[data-theme=light] .step-detail{color:var(--text-secondary)!important}[data-theme=light] .help-section h3{color:var(--neon)!important}[data-theme=light] .help-steps strong{color:var(--text-primary)!important}[data-theme=light] .help-steps li:before{color:var(--neon)!important;background:#0a7c4e1f!important}[data-theme=light] .help-figure{background:var(--bg-secondary)!important;border-color:var(--border)!important}[data-theme=light] .help-btn-close{color:#fff!important}[data-theme=warm] .help-trigger,[data-theme=midnight] .help-trigger{background:var(--neon-glow)!important;border-color:var(--neon-glow-sm)!important;color:var(--neon)!important}[data-theme=warm] .help-trigger:hover,[data-theme=midnight] .help-trigger:hover{background:var(--neon-glow)!important;border-color:var(--neon)!important;color:var(--neon)!important}.dashboard{max-width:1400px}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.page-header h1{color:var(--text-primary);font-size:24px;font-weight:600}.page-sub{color:var(--text-muted);margin-top:4px;font-size:13px}.refresh-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);align-items:center;gap:6px;padding:8px 14px;font-size:13px;transition:all .15s;display:flex}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stats-row{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:center;gap:14px;padding:16px;display:flex}.stat-icon{border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.stat-icon.green{background:var(--neon-glow);color:var(--neon)}.stat-icon.blue{color:var(--blue);background:#4488ff1f}.stat-icon.red{color:var(--red);background:#ff44441f}.stat-icon.orange{color:var(--orange);background:#ff88001f}.stat-val{color:var(--text-primary);font-size:26px;font-weight:700;font-family:var(--font-mono);line-height:1}.stat-label{color:var(--text-muted);margin-top:4px;font-size:12px}.gh-tab{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);border-radius:20px;padding:6px 14px;font-size:13px;transition:all .15s}.gh-tab:hover{border-color:var(--neon-dim);color:var(--text-primary)}.gh-tab.active{background:var(--neon-glow);border-color:var(--neon);color:var(--neon)}.stations-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.station-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;padding:16px;transition:all .15s}.station-card:hover{border-color:var(--neon-dim);transform:translateY(-2px)}.card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.card-title{color:var(--text-primary);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-dot.on{background:var(--neon);box-shadow:0 0 6px var(--neon)}.status-dot.off{background:var(--text-muted)}.card-row-tag{color:var(--text-muted);background:var(--bg-secondary);font-size:11px;font-family:var(--font-mono);border-radius:10px;padding:2px 8px}.card-metrics{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.metric{color:var(--text-secondary);align-items:center;gap:5px;font-size:12px;display:flex}.metric svg{color:var(--text-muted);flex-shrink:0}.badge{font-size:11px;font-weight:600;font-family:var(--font-mono);border-radius:4px;margin-left:auto;padding:2px 6px}.badge.green{background:var(--neon-glow);color:var(--neon)}.badge.red{color:var(--red);background:#ff44441f}.badge.gray{background:var(--bg-secondary);color:var(--text-muted)}.card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:10px;display:flex}.plant-type{color:var(--text-muted);font-size:12px;font-style:italic}.conn-status{align-items:center;gap:4px;font-size:11px;display:flex}.conn-status.on{color:var(--neon)}.conn-status.off{color:var(--text-muted)}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;grid-column:1/-1;align-items:center;gap:12px;padding:60px;display:flex}.dashboard-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.greenhouse-tabs{flex-wrap:wrap;gap:6px;margin-bottom:0;display:flex}.dash-search{align-items:center;display:flex;position:relative}.dash-search input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);width:240px;padding:7px 32px 7px 30px;font-size:13px}.dash-search input:focus{border-color:var(--neon)}.dash-search .search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:10px}.dash-search .search-clear{color:var(--text-muted);background:0 0;border:none;align-items:center;padding:2px;display:flex;position:absolute;right:8px}.result-info{color:var(--text-muted);margin-bottom:10px;font-size:12px}.pagination{justify-content:center;align-items:center;gap:4px;margin-top:20px;display:flex}.page-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;font-size:13px;transition:all .15s;display:flex}.page-btn:hover{border-color:var(--neon);color:var(--neon)}.page-btn.active{background:var(--neon-glow);border-color:var(--neon);color:var(--neon)}.page-btn:disabled{opacity:.3;cursor:default}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{border-color:var(--neon);transform:translateY(-2px)}.filter-chip{color:#22c55e;cursor:pointer;background:#22c55e26;border:1px solid #22c55e66;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:background .15s;display:inline-flex}.filter-chip:hover{background:#22c55e40}.card-lastseen{color:#9db5a8;letter-spacing:.02em;padding:0 14px 10px;font-size:10.5px}@media (width<=1100px){.stations-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=820px){.stations-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=540px){.stations-grid{grid-template-columns:1fr}}@media (width<=380px){.stats-row{grid-template-columns:1fr}}.card-metrics-dual .metric-dual{grid-column:1/-1;grid-template-columns:14px 28px 1fr;align-items:center;gap:6px;display:grid}.metric-dual .metric-label{color:var(--text-secondary);font-weight:600}.metric-dual .dual-pair{justify-content:flex-end;align-items:center;gap:4px;display:flex}.metric-dual .src-lbl{color:var(--text-muted);letter-spacing:.4px;text-transform:uppercase;font-size:9.5px}.metric-dual .badge{margin-left:0}.stats-row{grid-template-columns:repeat(5,1fr)}@media (width<=1100px){.stats-row{grid-template-columns:repeat(3,1fr)}}@media (width<=700px){.stats-row{grid-template-columns:1fr}}.station-card.online{border-left:3px solid #3fb950!important}.station-card.offline{opacity:.7;border-left:3px solid #666!important}.station-card.has-warn-fault{border-left:3px solid #d29922!important}.station-card.has-critical-fault{border-left:3px solid #e05050!important;box-shadow:0 0 8px #e0505026!important}.derived-section{margin-top:22px}.derived-section-head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.derived-section-head h3{letter-spacing:.14em;text-transform:uppercase;color:#c4d4cc;margin:0;font-size:13px;font-weight:600}.derived-marker{background:#77e0aa;flex-shrink:0;width:3px;height:18px}.derived-marker.secondary{background:#a090ff}.derived-badge{letter-spacing:.08em;color:#717d77;text-transform:uppercase;border:1px solid #2b2f33;padding:2px 8px;font-family:JetBrains Mono,Courier New,ui-monospace,monospace;font-size:9.5px}.derived-timestamp{color:#9db5a8;letter-spacing:.04em;text-transform:lowercase;margin-left:auto;font-family:JetBrains Mono,Courier New,ui-monospace,monospace;font-size:11px}.derived-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (width<=1100px){.derived-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.derived-grid{grid-template-columns:1fr}}.derived-card{background:#13151a;border:1px solid #23262c;padding:16px 18px 14px;transition:border-color .2s;position:relative;overflow:hidden}.derived-card:before{content:"";opacity:.6;background:#77e0aa;width:100%;height:1px;position:absolute;top:0;left:0}.derived-card.compact{padding:12px 14px 10px}.derived-label{letter-spacing:.12em;color:#6f7673;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:12px;font-family:JetBrains Mono,Courier New,ui-monospace,monospace;font-size:10px;display:flex}.derived-card.compact .derived-label{margin-bottom:8px;font-size:9.5px}.derived-ic{background:#77e0aa;border-radius:50%;flex-shrink:0;width:5px;height:5px;box-shadow:0 0 4px #77e0aa}.derived-value{align-items:baseline;gap:6px;margin-bottom:8px;display:flex}.derived-num{color:#e8e8e6;letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:600;line-height:1}.derived-card.compact .derived-num{font-size:22px}.derived-unit{color:#6f7673;letter-spacing:.04em;font-family:JetBrains Mono,Courier New,ui-monospace,monospace;font-size:12px}.derived-card.compact .derived-unit{font-size:10.5px}.derived-formula{color:#4a4d4a;letter-spacing:.02em;border-top:1px solid #1a1c20;margin-top:4px;padding-top:8px;font-family:JetBrains Mono,Courier New,ui-monospace,monospace;font-size:9.5px}.derived-card.compact .derived-formula{padding-top:6px;font-size:8.5px}.derived-card.warning .derived-formula{color:#ffb432;border-top-color:#ffb4322e}.derived-card.alarm .derived-formula{color:#f80;border-top-color:#ff88002e}.derived-card.critical .derived-formula{color:#ff6b6b;border-top-color:#ff6b6b33}.derived-card.ok:before{opacity:.8!important;background:#3fb950!important}.derived-card.warning:before{opacity:.8!important;background:#d29922!important}.derived-card.alarm:before{opacity:.8!important;background:#e07030!important}.derived-card.critical:before{opacity:.85!important;background:#e05050!important}.derived-card.unknown:before{opacity:.4!important;background:#555!important}.derived-ic{background:#3fb950!important;box-shadow:0 0 4px #3fb95080!important}.derived-card.warning .derived-ic{background:#d29922!important;box-shadow:0 0 4px #d2992280!important}.derived-card.alarm .derived-ic{background:#e07030!important;box-shadow:0 0 4px #e0703080!important}.derived-card.critical .derived-ic{background:#e05050!important;box-shadow:0 0 4px #e0505080!important}.derived-card.unknown .derived-ic{box-shadow:none!important;background:#666!important}[data-theme=light] .derived-card{background:var(--bg-card)!important;border-color:var(--border)!important}[data-theme=light] .derived-num{color:var(--text-primary)!important}[data-theme=light] .derived-label,[data-theme=light] .derived-unit{color:var(--text-muted)!important}[data-theme=light] .derived-formula{color:var(--text-muted)!important;border-top-color:var(--border)!important}[data-theme=light] .derived-section-head h3{color:var(--text-secondary)!important}[data-theme=light] .derived-badge{color:var(--text-muted)!important;border-color:var(--border)!important}[data-theme=light] .derived-timestamp{color:var(--text-muted)!important}[data-theme=light] .derived-card.warning .derived-formula,[data-theme=light] .derived-card.alarm .derived-formula{color:var(--orange)!important}[data-theme=light] .derived-card.critical .derived-formula{color:var(--red)!important}[data-theme=warm] .derived-card{background:var(--bg-card)!important;border-color:var(--border)!important}[data-theme=warm] .derived-num{color:var(--text-primary)!important}[data-theme=warm] .derived-label,[data-theme=warm] .derived-unit{color:var(--text-muted)!important}[data-theme=warm] .derived-formula{color:var(--text-muted)!important;border-top-color:var(--border)!important}[data-theme=warm] .derived-section-head h3{color:var(--text-secondary)!important}[data-theme=warm] .derived-badge{color:var(--text-muted)!important;border-color:var(--border)!important}[data-theme=warm] .derived-timestamp{color:var(--text-muted)!important}[data-theme=midnight] .derived-card{background:var(--bg-card)!important;border-color:var(--border)!important}[data-theme=midnight] .derived-num{color:var(--text-primary)!important}[data-theme=midnight] .derived-formula{border-top-color:var(--border)!important}.qr-modal{width:100%;max-width:540px}.qr-size-tabs{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;display:grid}.qr-size-tab{cursor:pointer;color:var(--text-primary);background:#0d0d0d;border:1px solid #1f1f1f;border-radius:8px;flex-direction:column;gap:4px;padding:10px 8px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:flex}.qr-size-tab:hover{background:#111;border-color:#2a2a2a}.qr-size-tab.active{color:#0f8;background:#00ff8814;border-color:#00ff8880;box-shadow:0 0 12px #00ff8826}.qr-size-tab span{color:var(--text-muted);font-family:monospace;font-size:10px;font-weight:400}.qr-preview-wrap{background:#f5f5f5;border-radius:8px;justify-content:center;margin-bottom:12px;padding:16px;display:flex}.qr-preview-wrap .label{text-align:center;background:#fff;border:1px dashed #aaa;border-radius:4px;width:100%;max-width:280px;padding:14px;font-family:-apple-system,Segoe UI,Roboto,sans-serif}.qr-preview-wrap .label h3{color:#000;margin:0 0 8px;font-size:14px;font-weight:700}.qr-preview-wrap .label .qr-wrap{justify-content:center;padding:6px 0;display:flex}.qr-preview-wrap .label .info{color:#222;text-align:left;margin-top:8px;font-size:11px;line-height:1.5}.qr-preview-wrap .label .info div{margin-bottom:2px}.qr-preview-wrap .label .info strong{color:#000;font-weight:600}.qr-preview-wrap .label .footer{color:#888;border-top:1px solid #eee;margin-top:8px;padding-top:6px;font-size:9px}.qr-help{color:var(--text-muted);background:#00ff880a;border:1px solid #00ff8826;border-radius:6px;margin-top:12px;margin-bottom:0;padding:10px 12px;font-size:11px;line-height:1.5}.station-detail{max-width:1200px}.metrics-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px;display:grid}.metric-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.metric-label{color:var(--text-muted);margin-bottom:8px;font-size:12px}.metric-value{font-size:24px;font-weight:700;font-family:var(--font-mono);color:var(--text-primary)}.metric-unit{color:var(--text-muted);margin-left:4px;font-size:13px}.chart-section,.command-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:16px;padding:20px}.section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-header h2,.command-section h2{color:var(--text-primary);margin-bottom:16px;font-size:16px;font-weight:600}.hours-tabs{align-items:center;gap:4px;display:flex}.hours-tab{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);border-radius:20px;padding:4px 10px;font-size:12px;transition:all .15s}.hours-tab.active{background:var(--neon-glow);border-color:var(--neon);color:var(--neon)}.chart-wrap{margin-top:8px}.command-row{align-items:center;gap:10px;display:flex}.command-row select{flex:1;padding:10px 14px}.send-btn{background:var(--neon);color:#000;border-radius:var(--radius);border:none;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .15s;display:flex}.send-btn:hover{background:var(--neon-dim)}.cmd-result{color:var(--neon);margin-top:10px;font-size:13px}.analysis-overall{border-radius:var(--radius);border:1px solid;align-items:flex-start;gap:14px;margin-bottom:16px;padding:16px;display:flex}.analysis-overall.warning{border-color:var(--yellow);background:#ffcc0014}.analysis-overall.alarm{border-color:var(--orange);background:#ff880014}.analysis-overall.critical{border-color:var(--red);background:#ff444414}.analysis-overall.unknown{background:var(--bg-secondary);border-color:var(--border)}.analysis-overall-icon{flex-shrink:0;font-size:24px}.analysis-overall-msg{color:var(--text-primary);font-size:14px;font-weight:600}.analysis-plant{color:var(--text-muted);margin-top:4px;font-size:12px;font-style:italic}.analysis-params{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.analysis-param{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);border-left:3px solid var(--border);padding:12px 14px}.analysis-param-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.analysis-param-name{color:var(--text-primary);flex:1;font-size:13px;font-weight:600}.analysis-param-value{font-size:13px;font-family:var(--font-mono);color:var(--text-primary)}.analysis-param-optimal{color:var(--text-muted);font-size:11px}.analysis-recs{flex-direction:column;gap:4px;margin:0;padding-left:16px;display:flex}.analysis-recs li{color:var(--text-secondary);font-size:12px;line-height:1.6}.analysis-disclaimer{border-radius:var(--radius);background:#ff88000f;border:1px solid #f803;margin-bottom:12px;padding:14px}.disclaimer-title{color:var(--orange);margin-bottom:8px;font-size:12px;font-weight:600}.analysis-disclaimer p{color:var(--text-secondary);font-size:12px;line-height:1.7}.analysis-sources{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.sources-title{color:var(--text-secondary);margin-bottom:8px;font-size:12px;font-weight:600}.analysis-sources ul{flex-direction:column;gap:4px;padding-left:16px;display:flex}.analysis-sources li{color:var(--text-muted);font-size:11px;font-style:italic;line-height:1.6}.cite-badge{font-family:var(--font-mono);color:var(--neon);letter-spacing:.04em;cursor:help;vertical-align:middle;background:#00ff8814;border:1px solid #0f83;border-radius:4px;margin:0 2px;padding:1px 5px;font-size:10px;font-weight:700;display:inline-block}.action-plan{border:1px solid var(--border);border-radius:var(--radius);background:#00ff8808;margin-bottom:16px;padding:14px}.action-plan-title{color:var(--neon);align-items:center;gap:6px;margin-bottom:10px;font-size:13px;font-weight:700;display:flex}.action-plan-integrity{color:var(--red);border:1px solid var(--red);background:#ff444414;border-radius:8px;align-items:center;gap:6px;margin-bottom:10px;padding:8px 10px;font-size:12px;font-weight:600;display:flex}.action-plan-summary{color:var(--text-muted);margin-bottom:10px;font-size:12px;font-style:italic}.action-plan-list{flex-direction:column;gap:8px;display:flex}.action-card{background:var(--bg-secondary);border:1px solid var(--border);border-left:3px solid var(--neon);border-radius:8px;padding:10px 12px}.action-card-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.action-axis{color:var(--text-primary);align-items:center;gap:5px;font-size:12px;font-weight:600;display:flex}.action-prio{font-size:10px;font-family:var(--font-mono);color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.action-text{color:var(--text-secondary);font-size:12px;line-height:1.6}.action-note{color:var(--yellow);align-items:flex-start;gap:5px;margin-top:6px;font-size:11px;line-height:1.5;display:flex}.action-drivers{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.driver-chip{font-size:10px;font-family:var(--font-mono);color:var(--text-muted);border:1px solid var(--border);background:#ffffff0a;border-radius:4px;padding:1px 6px}.action-conflicts{margin-top:10px}.action-conflicts summary{color:var(--text-muted);cursor:pointer;font-size:11px}.action-conflicts ul{flex-direction:column;gap:4px;margin:6px 0 0;padding-left:16px;display:flex}.action-conflicts li{color:var(--text-muted);font-size:11px;line-height:1.5}.action-conflicts .kept{color:var(--neon)}.action-conflicts .supp{color:var(--text-muted);text-decoration:line-through}.param-trend{font-size:11px;font-family:var(--font-mono);cursor:help;vertical-align:middle;color:var(--text-muted);border:1px solid var(--border);background:#ffffff0a;border-radius:4px;padding:1px 6px;font-weight:700}.param-trend.rising{color:var(--orange);border-color:#e0703066}.param-trend.falling{color:var(--yellow);border-color:#d2992266}.param-trend.stable{color:var(--text-muted)}.param-ew{color:var(--yellow);background:#d2992214;border:1px solid #d299224d;border-radius:6px;align-items:flex-start;gap:5px;margin:0 0 8px;padding:6px 8px;font-size:11px;line-height:1.5;display:flex}.fleet-scope{color:var(--text-muted);border:1px solid var(--border);background:#ffffff05;border-radius:8px;align-items:center;gap:6px;margin-bottom:12px;padding:6px 10px;font-size:12px;display:flex}.param-fleet{font-size:11px;font-family:var(--font-mono);color:var(--text-muted);cursor:help;vertical-align:middle;align-items:center;gap:5px;display:inline-flex}.fleet-outlier{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);border:1px solid var(--border);background:#ffffff0f;border-radius:4px;padding:0 5px;font-size:9px;font-weight:700}.detail-back-row{margin-bottom:12px}.btn-back{color:var(--text-secondary,#a0a0a0);cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;transition:all .15s;display:inline-flex}.btn-back:hover{border-color:var(--neon);color:var(--neon)}.detail-header{background:0 0;border:none;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;padding:0;display:flex}.detail-title h1{color:var(--text-primary,#fff);margin:0 0 4px;font-size:24px;font-weight:700}.detail-title .page-sub{color:var(--text-muted,#707070);margin:0;font-size:13px}.online-badge{white-space:nowrap;border:1px solid;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:500;display:inline-flex}.online-badge.on{border-color:var(--neon);color:var(--neon);background:#00ff8814}.online-badge.off{color:#f44;background:#ff44441a;border-color:#f44}.detail-tabs{scrollbar-width:none;background:0 0;border-bottom:1px solid #1f1f1f;gap:4px;margin-bottom:20px;padding:0;display:flex;overflow-x:auto}.detail-tabs::-webkit-scrollbar{display:none}.detail-tab{color:var(--text-muted,#707070);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.detail-tab:hover{color:var(--text-secondary,#a0a0a0)}.detail-tab.active{color:var(--neon);border-bottom-color:var(--neon)}.threshold-toggle-row{background:#00ff880a;border:1px solid #1f2f24;border-radius:8px;margin-top:8px;padding:12px 14px}.toggle-switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:inline-flex}.toggle-switch input{opacity:0;pointer-events:none;position:absolute}.toggle-slider{background:#2a2a2a;border-radius:999px;flex-shrink:0;width:36px;height:20px;transition:background .2s;position:relative}.toggle-slider:before{content:"";background:#888;border-radius:50%;width:16px;height:16px;transition:transform .2s,background .2s;position:absolute;top:2px;left:2px}.toggle-switch input:checked~.toggle-slider{background:#00ff884d}.toggle-switch input:checked~.toggle-slider:before{background:var(--neon);transform:translate(16px)}.toggle-label{color:var(--text-primary,#fff);font-size:13px;font-weight:500}.toggle-hint{color:var(--text-muted,#707070);margin:8px 0 0;font-size:12px;line-height:1.5}.form-group input:disabled{opacity:.4;cursor:not-allowed}.btn-qr{color:var(--neon);cursor:pointer;background:#00ff8814;border:1px solid #00ff8859;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.btn-qr:hover{background:#00ff8826;box-shadow:0 0 10px #00ff884d}.health-section{border-top:1px solid #94a3b826;margin-top:16px;padding-top:12px}.check-row{background:#94a3b80a;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;transition:background .2s;display:flex}.check-status{color:var(--text-muted);font-size:12px;font-weight:500}.check-detail{color:var(--text-muted);font-size:11px;font-style:italic}.health-dot-small{border-radius:50%;flex-shrink:0;width:8px;height:8px}.health-dot-small.green{background:var(--neon);box-shadow:0 0 6px var(--neon)55}.health-dot-small.yellow{background:#ffc107;box-shadow:0 0 6px #ffc10755}.health-dot-small.red{background:#f44;box-shadow:0 0 6px #f445}.live-test-banner{background:linear-gradient(90deg,#00ff8814,#00ff8805);border:1px solid #00ff884d;border-radius:8px;align-items:flex-start;gap:12px;margin:12px 0;padding:12px 14px;display:flex}.live-test-icon{flex-shrink:0;margin-top:2px}.live-test-content{flex:1}.live-test-current{color:#e2e8f0d9;margin-bottom:8px;font-size:12px}.live-test-progress-bar{background:#94a3b826;border-radius:2px;width:100%;height:4px;overflow:hidden}.live-test-progress-fill{background:linear-gradient(90deg, var(--neon), #00cc6a);height:100%;transition:width .3s}.check-row.live-active{border-left:2px solid var(--neon);background:#00ff8814;animation:1.2s ease-in-out infinite livePulse}.check-row.live-done{background:#00ff880a}@keyframes livePulse{0%,to{box-shadow:0 0 #00ff8880}50%{box-shadow:0 0 0 8px #0f80}}.live-dot-active{background:var(--neon);width:10px;height:10px;box-shadow:0 0 8px var(--neon);border-radius:50%;flex-shrink:0;animation:.8s ease-in-out infinite dotPulse}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.4)}}.live-dot-pending{background:#94a3b84d;border-radius:50%;flex-shrink:0;width:8px;height:8px}.tab-content .alarm-item{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid #0000;border-radius:8px;align-items:center;gap:16px;margin-bottom:8px;padding:12px 16px;transition:transform .15s,box-shadow .15s;display:flex}.tab-content .alarm-item:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000040}.tab-content .alarm-item.critical{border-left-color:var(--red);background:linear-gradient(90deg, #ff444412 0%, var(--bg-card) 35%)}.tab-content .alarm-item.alarm{border-left-color:var(--orange);background:linear-gradient(90deg, #ff88000f 0%, var(--bg-card) 35%)}.tab-content .alarm-item.warning{border-left-color:var(--yellow);background:linear-gradient(90deg, #ffcc000d 0%, var(--bg-card) 35%)}.tab-content .alarm-item.info{border-left-color:var(--blue)}.tab-content .alarm-item.resolved{border-left-color:var(--neon);opacity:.65}.tab-content .alarm-item-type{color:var(--text-primary);text-transform:capitalize;flex:1;font-size:13px;font-weight:600}.tab-content .alarm-item-val{font-family:var(--font-mono);color:var(--text-secondary);white-space:nowrap;font-size:12px}.tab-content .alarm-item-time{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;font-size:11px}.tab-content .sev-tag{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:12px;padding:3px 10px;font-size:10.5px;font-weight:700}.tab-content .alarm-item.active .sev-tag,.tab-content .alarm-item .sev-tag.critical,.tab-content .alarm-item .sev-tag.alarm{color:var(--red);background:#ff444426;border:1px solid #ff444459}.tab-content .alarm-item.acknowledged .sev-tag{color:#5bc0eb;background:#5bc0eb1f;border:1px solid #5bc0eb59}.tab-content .alarm-item.resolved .sev-tag{color:var(--neon);background:#00ff881f;border:1px solid #00ff884d}.tab-content .alarm-item .sev-tag.warning{color:var(--yellow);background:#ffcc0026;border:1px solid #ffcc0059}@media (width<=700px){.tab-content .alarm-item{flex-wrap:wrap;gap:6px}.tab-content .alarm-item-type{width:100%;margin-bottom:4px}}.metrics-grid.stale .metric-card{opacity:.55;position:relative}.metrics-grid.stale .metric-card:before{content:"eski";color:#888;text-transform:uppercase;letter-spacing:1.2px;z-index:2;font-size:9px;font-weight:700;position:absolute;top:6px;right:10px}.derived-wrapper.stale{opacity:.55;position:relative}.derived-wrapper.stale:before{content:"eski veri";color:#aaa;text-transform:uppercase;letter-spacing:1.2px;z-index:5;pointer-events:none;background:#0000008c;border-radius:4px;padding:3px 8px;font-size:9px;font-weight:700;position:absolute;top:6px;right:16px}@media (width<=1024px){.metrics-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.detail-header{gap:12px;margin-bottom:14px}.detail-title h1{font-size:20px}.detail-title .page-sub{font-size:12px}.btn-qr{padding:5px 10px;font-size:11px}.online-badge{padding:4px 8px;font-size:11px}.chart-section,.command-section{margin-bottom:12px;padding:14px}.section-header{flex-wrap:wrap;gap:10px;margin-bottom:12px}.section-header h2{margin-bottom:0;font-size:14px}.hours-tabs{flex-wrap:wrap}.command-row{flex-direction:column;align-items:stretch;gap:8px}.command-row select{width:100%}.command-row .send-btn{justify-content:center}.form-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.form-group label{margin-bottom:4px;font-size:12px;display:block}.command-card:has(.data-table){-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table{min-width:max-content;font-size:11px}.data-table th,.data-table td{white-space:nowrap;padding:6px 10px}.analysis-param-header{gap:6px}.recharts-tooltip-wrapper{max-width:220px!important}.recharts-default-tooltip,.recharts-tooltip-wrapper>div{box-sizing:border-box!important;max-width:220px!important}}@media (width<=640px){.detail-title h1{font-size:18px}.metric-card{padding:12px}.metric-value{font-size:20px}.metric-label{font-size:11px}.form-grid{grid-template-columns:1fr}.detail-tab{padding:10px 12px;font-size:12px}.analysis-param-header{flex-direction:column;align-items:flex-start;gap:4px}.analysis-param-name{width:100%}.analysis-param-value,.analysis-param-optimal{font-size:12px}.hours-tab{padding:5px 9px;font-size:11px}.btn-back{padding:5px 10px;font-size:12px}.recharts-cartesian-axis-tick text{font-size:9px!important}.recharts-legend-item-text{font-size:10px!important}.analysis-overall{gap:10px;padding:12px}.analysis-overall-icon{font-size:20px}.analysis-overall-msg{font-size:13px}.analysis-plant{font-size:11px}.analysis-disclaimer,.analysis-sources{padding:12px}.analysis-disclaimer p{font-size:11px}.analysis-sources li{font-size:10px}}@media (width<=380px){.metrics-grid{grid-template-columns:1fr}}.metric-card.ok{border-top:2px solid #3fb950!important}.metric-card.warning{border-top:2px solid #d29922!important}.metric-card.alarm{border-top:2px solid #e07030!important}.metric-card.critical{border-top:2px solid #e05050!important}.sev-badge{letter-spacing:.08em;text-transform:uppercase;border-radius:4px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.sev-badge.green{color:#3fb950;background:#3fb95026;border:1px solid #3fb95066}.sev-badge.yellow{color:#d29922;background:#d2992226;border:1px solid #d2992266}.sev-badge.orange{color:#e07030;background:#e0703026;border:1px solid #e0703066}.sev-badge.red{color:#e05050;background:#e0505026;border:1px solid #e0505066}.analysis-param.ok{border-left-color:#3fb950!important}.analysis-param.warning{border-left-color:#d29922!important}.analysis-param.alarm{border-left-color:#e07030!important}.analysis-param.critical{border-left-color:#e05050!important}.analysis-overall.ok{background:#3fb95014!important;border-color:#3fb950!important}.analysis-overall.warning{background:#d2992214!important;border-color:#d29922!important}.analysis-overall.alarm{background:#e0703014!important;border-color:#e07030!important}.analysis-overall.critical{background:#e0505014!important;border-color:#e05050!important}.devices-page{max-width:1400px}.device-stats{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.stat-chip{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:20px;align-items:center;gap:8px;padding:8px 16px;transition:all .15s;display:flex}.stat-chip:hover{border-color:var(--neon-dim)}.stat-chip.active.blue{border-color:var(--blue);background:#4488ff1a}.stat-chip.active.green{background:var(--neon-glow);border-color:var(--neon)}.stat-chip.active.red{border-color:var(--red);background:#ff44441a}.stat-chip-val{font-size:16px;font-weight:700;font-family:var(--font-mono);color:var(--text-primary)}.stat-chip-label{color:var(--text-secondary);font-size:12px}.device-serial{align-items:center;display:flex}.text-muted{color:var(--text-muted);font-style:italic}.demo-row{background:#aa66ff06}.demo-row:hover{background:#aa66ff0f!important}.demo-badge{color:#a6f;letter-spacing:.5px;background:#aa66ff26;border:1px solid #a6f6;border-radius:4px;align-items:center;gap:3px;margin-left:8px;padding:2px 6px;font-family:-apple-system,Segoe UI,Roboto,sans-serif;font-size:9px;font-weight:700;display:inline-flex}.stat-chip.purple{border-color:#a6f3}.stat-chip.purple .stat-chip-val{color:#a6f}.stat-chip.purple.active{background:#aa66ff14;border-color:#aa66ff80;box-shadow:0 0 12px #a6f3}.health-cell{border:1px solid var(--border,#1a1a1a);cursor:pointer;color:var(--text-secondary,#aaa);background:0 0;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;transition:all .15s;display:inline-flex}.health-cell:hover{background:var(--bg-hover,#141414);border-color:var(--text-muted,#555)}.health-cell.green{border-color:#0f86}.health-cell.yellow{border-color:#ffc10780}.health-cell.red{background:#ff44440f;border-color:#ff444480}.health-cell.gray{opacity:.6}.health-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.health-dot.green{background:#0f8;box-shadow:0 0 6px #00ff8880}.health-dot.yellow{background:#ffc107;box-shadow:0 0 6px #ffc10780}.health-dot.red{background:#f44;box-shadow:0 0 6px #f449}.health-dot.gray{background:#444}.health-dot-small{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.health-dot-small.green{background:#0f8}.health-dot-small.yellow{background:#ffc107}.health-dot-small.red{background:#f44}.health-dot-small.gray{background:#444}.health-dot-large{border-radius:50%;flex-shrink:0;width:32px;height:32px}.health-dot-large.green{background:#00ff882e;border:2px solid #0f8;box-shadow:0 0 16px #0f86}.health-dot-large.yellow{background:#ffc1072e;border:2px solid #ffc107;box-shadow:0 0 16px #ffc10766}.health-dot-large.red{background:#ff44442e;border:2px solid #f44;box-shadow:0 0 16px #ff444480}.health-dot-large.gray{background:#1a1a1a;border:2px solid #444}.health-fault-count{color:#ff6b6b;text-align:center;background:#f443;border-radius:10px;min-width:18px;padding:1px 6px;font-size:11px;font-weight:600}.health-modal{width:calc(100% - 40px);max-width:600px}.health-overall-card{background:var(--bg-secondary,#0a0a0a);border:1px solid var(--border,#1a1a1a);border-radius:8px;align-items:center;gap:16px;margin-bottom:20px;padding:16px;display:flex}.health-overall-text{flex:1}.health-overall-label{color:var(--text-primary,#fff);font-size:16px;font-weight:600}.health-overall-sub{color:var(--text-muted,#888);margin-top:4px;font-size:12px}.health-test-btn{align-items:center;gap:6px;padding:8px 14px;font-size:13px;display:inline-flex}.health-section{margin-bottom:20px}.health-section h3{color:var(--text-secondary,#aaa);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:13px;font-weight:600}.health-faults{flex-direction:column;gap:6px;display:flex}.fault-row{border:1px solid var(--border,#1a1a1a);background:var(--bg-secondary,#0a0a0a);border-radius:6px;padding:10px 12px}.fault-row.severity-critical{background:#ff44440d;border-color:#f446}.fault-row.severity-warn{background:#ffc1070a;border-color:#ffc10766}.fault-row-head{justify-content:space-between;margin-bottom:4px;display:flex}.fault-type{color:var(--neon,#0f8);text-transform:uppercase;letter-spacing:.5px;font-family:monospace;font-size:11px}.fault-time{color:var(--text-muted,#888);font-family:monospace;font-size:11px}.fault-desc{color:var(--text-primary,#fff);margin-bottom:2px;font-size:13px}.fault-detail{color:var(--text-secondary,#aaa);font-size:12px;font-style:italic}.health-checks{flex-direction:column;gap:4px;display:flex}.check-row{border-radius:4px;align-items:center;gap:10px;padding:6px 10px;font-size:13px;display:flex}.check-row:hover{background:var(--bg-hover,#141414)}.check-name{color:var(--text-primary,#fff);flex:1}.check-status{text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:500}.check-row.check-ok .check-status{color:#0f8}.check-row.check-warn .check-status{color:#ffc107}.check-row.check-critical .check-status{color:#f44}.check-detail{color:var(--text-muted,#888);margin-left:8px;font-size:11px;font-style:italic}.health-history{align-items:flex-end;gap:4px;height:40px;padding:8px 0;display:flex}.history-bar{cursor:help;border-radius:3px;flex:1;height:100%;transition:opacity .15s}.history-bar:hover{opacity:.8}.history-bar.green{background:linear-gradient(#00ff884d 0%,#0f8 100%)}.history-bar.yellow{background:linear-gradient(#ffc1074d 0%,#ffc107 100%)}.history-bar.red{background:linear-gradient(#ff44444d 0%,#f44 100%)}.history-bar.gray{background:#2a2a2a}.fault-card{border:1px solid var(--border,#1a1a1a);background:var(--bg-secondary,#0a0a0a);border-radius:6px;transition:border-color .15s;overflow:hidden}.fault-card.severity-critical{background:#ff44440d;border-color:#f446}.fault-card.severity-warn{background:#ffc1070a;border-color:#ffc10766}.fault-card-header{flex-direction:column;gap:4px;padding:10px 12px;display:flex}.fault-card-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.fault-card-title{color:var(--text-primary,#fff);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.fault-card-time{color:var(--text-muted,#888);white-space:nowrap;font-family:monospace;font-size:11px}.fault-card-desc{color:var(--text-secondary,#aaa);margin-top:2px;font-size:12px}.fault-card-detail{color:var(--text-secondary,#aaa);margin-top:2px;font-size:12px;font-style:italic}.fault-urgency{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-radius:10px;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.fault-urgency.dusuk{color:#48f;background:#4488ff26;border:1px solid #4488ff4d}.fault-urgency.orta{color:#ffc107;background:#ffc10726;border:1px solid #ffc1074d}.fault-urgency.yuksek{color:#ff8c42;background:#ff8c4226;border:1px solid #ff8c424d}.fault-urgency.kritik{color:#f44;background:#ff444426;border:1px solid #f446}.fault-toggle{border:none;border-top:1px solid var(--border,#1a1a1a);width:100%;color:var(--text-secondary,#aaa);cursor:pointer;background:#ffffff05;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:500;transition:background .15s,color .15s;display:flex}.fault-toggle:hover{color:var(--neon,#0f8);background:#00ff880d}.fault-toggle .toggle-icon{transition:transform .2s;display:inline-flex}.fault-toggle.open .toggle-icon{transform:rotate(180deg)}.fault-solution{border-top:1px solid var(--border,#1a1a1a);color:var(--text-primary,#fff);background:#0003;padding:14px 16px;font-size:12.5px;line-height:1.55;animation:.2s ease-out solutionSlide}@keyframes solutionSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.solution-section{margin-bottom:14px}.solution-section:last-child{margin-bottom:0}.solution-section-title{color:var(--text-secondary,#aaa);text-transform:uppercase;letter-spacing:.6px;align-items:center;gap:6px;margin-bottom:6px;font-size:11px;font-weight:700;display:flex}.solution-list{color:var(--text-primary,#fff);margin:0;padding-left:22px}.solution-list li{margin-bottom:4px}.solution-list.numbered{padding-left:24px}.solution-summary{border-left:3px solid var(--neon,#0f8);color:var(--text-primary,#fff);background:#00ff880d;border-radius:4px;padding:8px 10px}.solution-warn{color:#ffb8b8;background:#ff444414;border-left:3px solid #f44;border-radius:4px;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.solution-warn-icon{flex-shrink:0;margin-top:1px}.solution-tip{color:#b8d4ff;background:#4488ff14;border-left:3px solid #48f;border-radius:4px;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.solution-meta{border-top:1px solid var(--border,#1a1a1a);color:var(--text-muted,#888);flex-wrap:wrap;gap:14px;margin-top:4px;padding-top:10px;font-size:11px;display:flex}.solution-meta-item{align-items:center;gap:5px;display:inline-flex}.live-test-banner{background:linear-gradient(90deg,#00ff8814,#00ff8805);border:1px solid #00ff884d;border-radius:8px;align-items:center;gap:14px;margin-bottom:16px;padding:14px 16px;display:flex}.live-test-icon{border:2px solid var(--neon,#0f8);background:#00ff8826;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;animation:1s ease-in-out infinite livePulse;display:flex}.live-test-content{flex:1;min-width:0}.live-test-title{color:var(--text-primary,#fff);margin-bottom:4px;font-size:14px;font-weight:600}.live-test-current{color:var(--neon,#0f8);font-size:12px;font-style:italic}.live-test-progress-bar{background:#ffffff0d;border-radius:2px;width:100%;height:4px;margin-top:8px;overflow:hidden}.live-test-progress-fill{background:linear-gradient(90deg, var(--neon,#0f8), #4ade80);height:100%;transition:width .3s ease-out;box-shadow:0 0 8px #00ff8880}.check-row.live-pending{opacity:.35}.check-row.live-pending .check-name{color:var(--text-muted,#888)}.check-row.live-active{background:#00ff880f;border-radius:4px;animation:.8s ease-in-out infinite liveBlink}@keyframes liveBlink{0%,to{background:#00ff880f}50%{background:#00ff8829}}.check-row.live-active .check-status{color:var(--neon,#0f8);font-weight:600}.check-row.live-done{animation:.3s ease-out liveFadeIn}@keyframes liveFadeIn{0%{opacity:.5;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.live-dot-active{background:var(--neon,#0f8);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:.6s ease-in-out infinite liveDotPulse;display:inline-block}@keyframes liveDotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}.live-dot-pending{background:#333;border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.stat-chip.orange{border-color:#ff8c4233}.stat-chip.orange .stat-chip-val{color:#ff8c42}.stat-chip.orange.active{background:#ff8c4214;border-color:#ff8c4280;box-shadow:0 0 12px #ff8c4233}.cal-warn-badge{letter-spacing:.3px;color:#ffc107;vertical-align:middle;white-space:nowrap;background:#ffc10726;border:1px solid #ffc10766;border-radius:4px;align-items:center;gap:3px;margin-left:6px;padding:1px 6px;font-size:9px;font-weight:600;display:inline-flex}@media (width<=1024px){.devices-page{max-width:none;padding:0}.devices-page .page-header h1{font-size:20px}.devices-page .table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.devices-page .data-table{min-width:720px}.device-stats{gap:6px}.stat-chip{padding:6px 12px}.stat-chip-val{font-size:14px}.stat-chip-label{font-size:11px}.health-modal{width:92vw!important;max-width:92vw!important}}@media (width<=640px){.devices-page .page-header{flex-direction:column;align-items:flex-start}.devices-page .page-header h1{font-size:18px}.stat-chip{padding:5px 10px}.stat-chip-val{font-size:13px}.stat-chip-label{font-size:10px}.devices-page .data-table th,.devices-page .data-table td{padding:7px 8px;font-size:11px}.devices-page .data-table th{font-size:10px}.devices-page .action-btns{gap:4px}.devices-page .btn-icon{width:28px;height:28px}.demo-badge{padding:1px 4px;font-size:8px}.cal-warn-badge{font-size:8px}.live-test-banner{flex-wrap:wrap;gap:10px;padding:10px 12px}.live-test-title{font-size:13px}.live-test-current{font-size:11px}.health-overall-card{text-align:center;flex-direction:column;align-items:stretch;padding:14px}.health-overall-label{font-size:14px}.health-test-btn{justify-content:center}.fault-card-header{padding:10px}.fault-card-title{font-size:12px}.fault-card-top{align-items:flex-start;gap:6px}.fault-card-time{font-size:10px}.fault-card-desc,.fault-card-detail{font-size:11px}.fault-urgency{padding:1px 6px;font-size:9px}.fault-solution{padding:12px;font-size:12px}.solution-section-title{font-size:10px}.solution-list{padding-left:18px}.solution-meta{flex-direction:column;gap:6px}.check-row{flex-wrap:wrap;gap:6px;font-size:12px}.check-name{min-width:100px}.check-status{font-size:10px}.health-history{height:32px}.fault-row{padding:10px}.fault-row-head{flex-wrap:wrap;gap:4px}}.alarms-page{max-width:1200px}.page-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:16px;padding-bottom:0;display:flex}.page-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:10px 16px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.page-tab:hover{color:var(--text-primary)}.page-tab.active{color:var(--neon);border-bottom-color:var(--neon)}.tab-badge{border-radius:10px;padding:1px 6px;font-size:11px;font-weight:700}.tab-badge.red{color:var(--red);background:#ff444426}.tab-badge.orange{color:var(--orange);background:#ff880026}.filter-row{flex-wrap:wrap;gap:20px;margin-bottom:14px;display:flex}.filter-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filter-label{color:var(--text-muted);font-size:12px;font-weight:500}.filter-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:20px;padding:4px 12px;font-size:12px;transition:all .15s}.filter-btn:hover{border-color:var(--neon-dim);color:var(--text-primary)}.filter-btn.active{background:var(--neon-glow);border-color:var(--neon);color:var(--neon)}.filter-btn.critical.active{border-color:var(--red);color:var(--red);background:#ff44441a}.filter-btn.alarm.active{border-color:var(--orange);color:var(--orange);background:#ff88001a}.filter-btn.warning.active{border-color:var(--yellow);color:var(--yellow);background:#ffcc001a}.alarms-list{flex-direction:column;gap:8px;display:flex}.alarm-row{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:12px;padding:12px 16px;transition:all .15s;display:flex}.alarm-row.resolved{opacity:.75}.alarm-sev{border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.alarm-sev.red{color:var(--red);background:#ff44441f}.alarm-sev.orange{color:var(--orange);background:#ff88001f}.alarm-sev.yellow{color:var(--yellow);background:#ffcc001f}.alarm-sev.blue{color:var(--blue);background:#4488ff1f}.alarm-sev.green{background:var(--neon-glow);color:var(--neon)}.alarm-info{flex:1;min-width:0}.alarm-type{color:var(--text-primary);font-size:13px;font-weight:500}.alarm-loc{color:var(--text-muted);margin-top:2px;font-size:11px}.alarm-desc{color:var(--text-secondary);margin-top:2px;font-size:11px;font-style:italic}.alarm-vals{text-align:right;flex-direction:column;flex-shrink:0;gap:2px;display:flex}.alarm-val{font-size:12px;font-family:var(--font-mono);color:var(--text-primary)}.alarm-thr{color:var(--text-muted);font-size:11px;font-family:var(--font-mono)}.alarm-sev-label{text-align:center;flex-shrink:0}.sev-badge{text-transform:uppercase;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.alarm-time{color:#e2e8f0a6;white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:flex}.alarm-actions{flex-shrink:0;gap:6px;display:flex}.btn-ack{border-radius:var(--radius);color:var(--orange);cursor:pointer;background:#ff88001a;border:1px solid #ff88004d;padding:5px 10px;font-size:12px}.btn-resolve{background:var(--neon-glow);border-radius:var(--radius);color:var(--neon);cursor:pointer;border:1px solid #00ff884d;align-items:center;gap:4px;padding:5px 10px;font-size:12px;display:flex}.resolved-tag{color:#4ade80d9;border-radius:var(--radius);background:#4ade801a;border:1px solid #4ade8040;padding:4px 8px;font-size:11px;font-weight:600}.refresh-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;padding:8px 14px;font-size:13px;transition:all .15s;display:flex}.refresh-btn:hover{border-color:var(--neon);color:var(--neon)}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:12px;padding:60px;display:flex}.btn-recheck{color:#60a5fa;cursor:pointer;background:#3b82f626;border:1px solid #3b82f64d;border-radius:6px;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.btn-recheck:hover:not(:disabled){background:#3b82f640;border-color:#3b82f680}.btn-recheck:disabled{opacity:.5;cursor:not-allowed}.info-tag{color:#94a3b8f2;background:#94a3b81f;border:1px solid #94a3b833;border-radius:6px;padding:4px 10px;font-size:11px;font-style:italic}.kind-badge{letter-spacing:.4px;vertical-align:middle;border-radius:4px;margin-left:8px;padding:2px 8px;font-size:9.5px;font-weight:700;display:inline-block}.kind-badge.hw{color:#ff8c42;background:#ff8c4226;border:1px solid #ff8c4266}.kind-badge.meas{color:#5bc0eb;background:#5bc0eb26;border:1px solid #5bc0eb66}.ack-tag{color:#5bc0eb;background:#5bc0eb1f;border:1px solid #5bc0eb59;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.info-tag{color:var(--text-muted);background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;padding:4px 10px;font-size:11px;display:inline-block}.alarm-row{cursor:default;border-left:3px solid #0000;position:relative}.alarm-row.active{border-left-color:var(--red,#f44);background:linear-gradient(90deg, #ff44440f 0%, var(--bg-card) 35%)}.alarm-row.acknowledged{background:linear-gradient(90deg, #f59e0b0d 0%, var(--bg-card) 35%);border-left-color:#f59e0b}.alarm-row.resolved{border-left-color:var(--neon,#0f8);opacity:.78}.alarm-row:hover{transition:transform .15s,box-shadow .15s;transform:translateY(-1px);box-shadow:0 4px 12px #00000040}.alarm-sev{border:1px solid #ffffff0f}.btn-ack:hover{background:#ff88002e;border-color:#ff880080}.btn-resolve:hover{background:#00ff882e;border-color:#00ff8880}.ack-tag,.resolved-tag{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.alarm-actions{flex-wrap:wrap;justify-content:flex-end}@media (width<=900px){.alarm-row{flex-wrap:wrap;gap:8px}.alarm-actions{width:100%;margin-top:6px}.alarm-vals,.alarm-sev-label,.alarm-time{text-align:left}}@media (width<=1024px){.alarms-page{padding:0}.alarms-page .page-header h1{font-size:20px}.alarms-page .page-sub{font-size:12px}.page-tabs{scrollbar-width:none;overflow-x:auto}.page-tabs::-webkit-scrollbar{display:none}.page-tab{white-space:nowrap}.filter-row{gap:10px}.filter-group{gap:4px}.alarm-row{flex-wrap:wrap;gap:8px}.alarm-actions{justify-content:flex-start;width:100%;margin-top:6px}.alarm-vals,.alarm-sev-label,.alarm-time{text-align:left}}@media (width<=640px){.alarms-page .page-header h1{font-size:18px}.page-tab{padding:8px 12px;font-size:12px}.filter-btn{padding:4px 9px;font-size:11px}.filter-label{font-size:11px}.alarm-row{gap:6px;padding:10px 12px}.alarm-sev{width:30px;height:30px}.alarm-type{font-size:12px}.alarm-loc,.alarm-desc{font-size:10px}.alarm-val{font-size:11px}.alarm-thr{font-size:10px}.kind-badge{margin-left:4px;padding:1px 6px;font-size:9px}.btn-ack,.btn-resolve,.resolved-tag,.ack-tag,.info-tag{padding:5px 9px;font-size:11px}.alarm-actions{gap:4px}.sev-badge{padding:2px 6px;font-size:10px}.empty-state{padding:40px 20px}.modal-overlay .modal{width:92vw;max-height:88vh;overflow-y:auto;max-width:92vw!important}.modal-header h2{font-size:16px}.modal-body{font-size:13px}.modal-body input,.modal-body select,.modal-body textarea{box-sizing:border-box;font-size:14px;padding:10px 12px!important}.modal-body label{font-size:12px!important}.btn-cancel,.btn-primary{padding:9px 14px;font-size:13px}}.customers-page{max-width:1200px}.btn-primary{background:var(--neon);color:#000;border-radius:var(--radius);border:none;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.btn-primary:hover{background:var(--neon-dim)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.table-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:12px 16px;font-size:11px;font-weight:600}.data-table td{color:var(--text-primary);border-bottom:1px solid var(--border);padding:14px 16px;font-size:13px}.data-table tr:last-child td{border-bottom:none}.clickable-row{cursor:pointer}.clickable-row:hover td{background:var(--bg-hover)}.customer-name{font-weight:500}.customer-email{color:var(--text-muted);margin-top:2px;font-size:12px}.plan-badge{background:var(--neon-glow);color:var(--neon);text-transform:uppercase;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.status-badge{text-transform:uppercase;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.status-badge.red{color:var(--red);background:#ff44441f}.status-badge.orange{color:var(--orange);background:#ff88001f}.status-badge.yellow{color:var(--yellow);background:#ffcc001f}.action-btns{gap:6px;display:flex}.btn-icon{border-radius:var(--radius);border:1px solid var(--border);width:30px;height:30px;color:var(--text-muted);background:0 0;justify-content:center;align-items:center;transition:all .15s;display:flex}.btn-icon.edit:hover{border-color:var(--neon);color:var(--neon)}.btn-icon.delete:hover{border-color:var(--red);color:var(--red)}.loading{text-align:center;color:var(--text-muted);padding:40px}.modal-overlay{z-index:9999;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);z-index:10000;width:100%;max-width:580px;max-height:90vh;position:relative;overflow-y:auto}.modal-lg{max-width:720px}.confirm-modal{max-width:400px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{color:var(--text-primary);font-size:16px;font-weight:600}.modal-close{color:var(--text-muted);border-radius:var(--radius);background:0 0;border:none;align-items:center;padding:4px;display:flex}.modal-close:hover{color:var(--red)}.modal-body{flex-direction:column;gap:24px;padding:20px 24px;display:flex}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px;display:flex}.form-section h3{color:var(--neon);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:13px;font-weight:500}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-secondary);font-size:12px;font-weight:500}.form-group input,.form-group select{width:100%;padding:9px 12px;font-size:13px}.plan-cards{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.plan-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;padding:14px;transition:all .15s}.plan-card:hover{border-color:var(--neon-dim)}.plan-card.selected{background:var(--neon-glow);border-color:var(--neon)}.plan-name{color:var(--text-primary);margin-bottom:4px;font-size:14px;font-weight:600}.plan-price{color:var(--neon);margin-bottom:4px;font-size:15px;font-weight:700}.plan-detail{color:var(--text-muted);font-size:11px}.price-display{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);color:var(--neon);font-size:16px;font-weight:700;font-family:var(--font-mono);align-items:center;gap:8px;padding:9px 12px;display:flex}.price-sub{color:var(--text-muted);font-size:11px;font-weight:400}.btn-cancel{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);background:0 0;padding:8px 18px;font-size:13px}.btn-cancel:hover{border-color:var(--text-secondary);color:var(--text-primary)}.btn-danger{border-radius:var(--radius);color:var(--red);background:#ff44441a;border:1px solid #ff44444d;padding:8px 18px;font-size:13px;font-weight:500}.search-bar{align-items:center;margin-bottom:16px;display:flex;position:relative}.search-bar input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-primary);padding:10px 14px 10px 38px;font-size:13px}.search-bar input:focus{border-color:var(--neon)}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:12px}.search-clear{color:var(--text-muted);background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:flex;position:absolute;right:10px}.search-clear:hover{color:var(--text-primary)}.sub-info{flex-wrap:wrap;align-items:center;gap:12px;padding:10px 0;display:flex}.gh-list{flex-direction:column;gap:6px;display:flex}.gh-row{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;padding:10px 14px;display:flex}.gh-name{color:var(--text-primary);font-size:13px;font-weight:500}.gh-loc{color:var(--text-muted);margin-top:1px;font-size:11px}.empty-gh{text-align:center;color:var(--text-muted);padding:20px;font-size:13px}.modal-tabs{border-bottom:1px solid var(--border);padding:0 24px;display:flex}.modal-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 16px;font-size:13px;font-weight:500;transition:all .15s}.modal-tab:hover{color:var(--text-primary)}.modal-tab.active{color:var(--neon);border-bottom-color:var(--neon)}.modal-tab.disabled{opacity:.4;cursor:not-allowed}.tab-lock{margin-left:4px;font-size:11px}.gh-add-form{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);margin-top:14px;padding:14px}.modal-xl{max-width:780px}.btn-sm{padding:5px 12px;font-size:12px}.cust-row.expanded{background:#00ff880a}.cust-row.expanded>td:first-child{border-left:3px solid #0f8}.cust-expand-row>td{background:#0a0a0a;border-bottom:1px solid #161616}.cust-expand{border-top:1px solid #00ff881a;padding:16px 24px}.cust-expand-loading,.cust-expand-empty,.cust-expand-hint{text-align:center;color:var(--text-muted);padding:24px;font-size:12px}.cust-expand-cols{grid-template-columns:minmax(240px,1fr) 2fr;gap:16px;min-height:180px;display:grid}.cust-expand-col{background:#0d0d0d;border:1px solid #1a1a1a;border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.cust-expand-title{color:var(--text-secondary);background:#111;border-bottom:1px solid #1a1a1a;align-items:center;gap:6px;padding:10px 14px;font-size:12px;font-weight:600;display:flex}.cust-expand-list{flex:1;max-height:280px;padding:6px;overflow-y:auto}.cust-expand-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;transition:all .12s;display:flex}.cust-expand-item:hover{background:#00ff880d;border-color:#0f83}.cust-expand-item.selected{background:#00ff881a;border-color:#0f86;box-shadow:0 0 8px #00ff8826}.cust-expand-count{color:#0f8;background:#00ff881f;border:1px solid #00ff884d;border-radius:999px;padding:1px 7px;font-family:monospace;font-size:11px;font-weight:600}.cust-expand-station{border-bottom:1px solid #161616;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;display:flex}.cust-expand-station:last-child{border-bottom:none}.cust-expand-station:hover{background:#00ff8808}.cust-expand-subgroup{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:8px 10px 4px;font-size:11px;font-weight:600}@media (width<=1024px){.customers-page{max-width:none;padding:0}.customers-page .page-header h1{font-size:20px}.customers-page .table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.customers-page .data-table{min-width:680px}.modal-overlay .modal,.modal-overlay .modal-lg,.modal-overlay .modal-xl{max-height:88vh;max-width:92vw!important}.modal-tabs{scrollbar-width:none;padding:0 12px;overflow-x:auto}.modal-tabs::-webkit-scrollbar{display:none}.modal-tab{white-space:nowrap;flex-shrink:0;padding:10px 12px}}@media (width<=640px){.customers-page .page-header{flex-direction:column;align-items:flex-start}.customers-page .page-header h1{font-size:18px}.modal .form-grid,.modal .plan-cards{grid-template-columns:1fr!important}.modal input[type=text],.modal input[type=email],.modal input[type=password],.modal input[type=number],.modal input[type=date],.modal input[type=tel],.modal select,.modal textarea{box-sizing:border-box;font-size:16px!important}.modal-header,.modal-body,.modal-footer{padding-left:16px;padding-right:16px}.modal-header h2{font-size:14px}.modal-footer{flex-wrap:wrap;gap:8px}.modal-footer button{flex:1;min-width:120px}.search-bar input{font-size:16px!important}.customers-page .data-table th,.customers-page .data-table td{padding:8px 10px;font-size:11px}.customers-page .data-table th{font-size:10px}.cust-expand-cols{grid-template-columns:1fr!important}.cust-expand{padding:12px}.cust-expand-list{max-height:220px}.cust-expand-row>td{padding:0!important}.gh-row{flex-wrap:wrap;gap:8px}.action-btns{gap:4px}.btn-icon{width:28px;height:28px}.plan-card{padding:10px}.plan-name,.plan-price{font-size:13px}.plan-detail{font-size:10px}}.settings-page{max-width:700px}.settings-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;display:flex}.settings-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.settings-card h3{color:var(--text-primary);font-size:15px;font-weight:600}.settings-msg{border-radius:var(--radius);margin-bottom:16px;padding:10px 16px;font-size:13px}.settings-msg.success{background:var(--neon-glow);color:var(--neon)}.settings-msg.error{color:var(--red);background:#ff44441a}.telegram-help{background:var(--bg-secondary);border-radius:var(--radius);color:var(--text-secondary);margin-top:12px;padding:10px 14px;font-size:12.5px}.notif-info{flex-direction:column;gap:8px;display:flex}.notif-row{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:14px;padding:12px 16px;display:flex}.notif-icon{font-size:20px}.notif-title{color:var(--text-primary);font-size:13px;font-weight:500}.notif-sub{color:var(--text-muted);margin-top:2px;font-size:12px}.notif-levels{flex-direction:column;gap:8px;display:flex}.notif-level-row{align-items:center;gap:12px;display:flex}.sev-badge{text-transform:uppercase;white-space:nowrap;border-radius:10px;padding:2px 10px;font-size:11px;font-weight:600}.sev-badge.red{color:var(--red);background:#ff44441f}.sev-badge.orange{color:var(--orange);background:#ff88001f}.sev-badge.yellow{color:var(--yellow);background:#ffcc001f}.sev-badge.blue{color:var(--blue);background:#4488ff1f}.sev-badge.green{background:var(--neon-glow);color:var(--neon)}.sev-badge.gray{background:var(--bg-secondary);color:var(--text-muted)}.status-badge{border-radius:10px;margin-left:auto;padding:2px 10px;font-size:11px;font-weight:600}.status-badge.green{background:var(--neon-glow);color:var(--neon)}.status-badge.gray{background:var(--bg-secondary);color:var(--text-muted)}.settings-tabs{border-bottom:1px solid var(--border);margin-bottom:20px}.settings-tabs .detail-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:10px 16px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.settings-tabs .detail-tab:hover{color:var(--text-primary)}.settings-tabs .detail-tab.active{color:var(--neon);border-bottom-color:var(--neon)}.send-btn.secondary{color:var(--text-secondary,#a0a0a0);background:0 0;border:1px solid #2a2a2a}.send-btn.secondary:hover{color:#0f8;border-color:#0f8}.apply-confirm{background:#ff99000f;border:1px solid #ff99004d;border-radius:8px;align-items:flex-start;gap:12px;margin-top:16px;padding:14px;display:flex}.apply-confirm strong{color:#f90;font-size:14px}.apply-confirm p{color:var(--text-secondary,#a0a0a0);margin:4px 0 0;font-size:13px;line-height:1.5}.add-user-form{background:#00ff880a;border:1px solid #1f2f24;border-radius:8px;margin-top:16px;padding:16px}.user-list .data-table{border-collapse:collapse;width:100%;font-size:13px}.user-list .data-table th{text-align:left;color:var(--text-muted,#707070);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #1f1f1f;padding:10px 12px;font-size:12px;font-weight:500}.user-list .data-table td{color:var(--text-primary,#fff);border-bottom:1px solid #161616;padding:12px}.user-list .data-table tr:hover td{background:#ffffff05}.role-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-block}.role-badge.super_admin{color:#f66;background:#ff44441f;border:1px solid #ff44444d}.role-badge.manager{color:#0f8;background:#00ff881f;border:1px solid #00ff884d}.role-badge.technician{color:#48f;background:#4488ff1f;border:1px solid #4488ff4d}.icon-btn-danger{color:#888;cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:4px;padding:6px 8px;transition:all .15s}.icon-btn-danger:hover{color:#f44;background:#ff444414;border-color:#f44}.notif-toggle-row{background:#0d0d0d;border:1px solid #00ff8826;border-radius:8px;justify-content:space-between;align-items:center;margin-top:16px;padding:14px 16px;display:flex}.notif-toggle-title{color:var(--text-primary);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.notif-toggle-sub{color:var(--text-muted);margin-top:3px;font-size:12px}.switch{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.switch input{display:none}.switch-slider{cursor:pointer;background-color:#333;border-radius:24px;transition:all .3s;position:absolute;inset:0}.switch-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}.switch input:checked+.switch-slider{background-color:#0f8;box-shadow:0 0 8px #0f86}.switch input:checked+.switch-slider:before{transform:translate(20px)}.email-chips{flex-wrap:wrap;gap:6px;display:flex}.email-chip{color:var(--text-primary);background:#00ff880f;border:1px solid #00ff8840;border-radius:999px;align-items:center;gap:6px;padding:4px 4px 4px 10px;font-family:monospace;font-size:12px;display:inline-flex}.email-chip.invalid{background:#ff44440f;border-color:#f446}.email-chip button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;align-items:center;padding:3px;transition:all .15s;display:inline-flex}.email-chip button:hover{color:#f44;background:#ff444426}.test-results{background:#0c0c0c;border:1px solid #1f1f1f;border-radius:8px;padding:12px 14px}.test-result-row{border-bottom:1px solid #161616;align-items:center;gap:8px;padding:6px 0;display:flex}.test-result-row:last-child{border-bottom:none}.test-status-badge{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:500}.test-status-badge.sent{color:#0f8;background:#00ff881f;border:1px solid #00ff884d}.test-status-badge.failed{color:#f44;background:#ff44441f;border:1px solid #ff44444d}.test-status-badge.skipped{color:#fd4;background:#ffdd441a;border:1px solid #ffdd444d}.settings-msg.warning{color:#f90;background:#ff99001a;border:1px solid #f906}.settings-card.users-wide{width:100%;max-width:none!important}.settings-page:has(.users-wide){max-width:none}.settings-page.wide{max-width:100%}@media (width<=1024px){.settings-card{padding:16px 14px}.settings-page .page-header h1{font-size:20px}.settings-page .page-sub{font-size:12px}.settings-tabs{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs .detail-tab{white-space:nowrap;flex-shrink:0;padding:10px 12px}.user-list{-webkit-overflow-scrolling:touch;overflow-x:auto}.user-list .data-table{min-width:620px;font-size:12px}.user-list .data-table th,.user-list .data-table td{white-space:nowrap;padding:8px 10px}}@media (width<=640px){.settings-page .page-header h1{font-size:18px}.settings-card{padding:14px 12px}.settings-card h3{font-size:14px}.settings-card input[type=text],.settings-card input[type=email],.settings-card input[type=password],.settings-card input[type=number],.settings-card input[type=date],.settings-card select,.settings-card textarea{box-sizing:border-box;font-size:16px!important}.settings-card input,.settings-card select{width:100%}.notif-toggle-row{gap:12px;padding:12px}.notif-toggle-title{font-size:13px}.notif-toggle-sub{font-size:11px}.email-chip{padding:3px 4px 3px 8px;font-size:11px}.notif-level-row{gap:10px}.notif-level-row .sev-badge{flex-shrink:0}.test-results{padding:10px}.test-result-row{flex-wrap:wrap;gap:6px;font-size:11px}.test-status-badge{font-size:10px}.apply-confirm{flex-direction:column;align-items:stretch;padding:12px}.apply-confirm strong{font-size:13px}.apply-confirm p{font-size:12px}.send-btn,.send-btn.secondary{padding:10px 14px;font-size:13px}.add-user-form{padding:12px}.user-list .data-table{min-width:580px;font-size:11px}.user-list .data-table th{padding:6px 8px;font-size:10px}.user-list .data-table td{padding:7px 8px}.role-badge{padding:2px 6px;font-size:10px}.settings-msg{padding:8px 12px;font-size:12px}}.analytics-page{padding:24px 32px}.analytics-page .page-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.analytics-page .page-header h1{color:var(--text-primary,#fff);margin:0 0 4px;font-size:24px;font-weight:700}.analytics-page .page-sub{color:var(--text-muted,#707070);margin:0;font-size:13px}.period-bar{gap:6px;margin-bottom:20px;display:flex}.summary-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px;display:grid}@media (width<=900px){.summary-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.summary-grid{grid-template-columns:1fr}}.page-header-actions{align-items:center;gap:8px;display:flex}.sum-card{background:linear-gradient(#00ff8808 0%,#0000 100%),#0c0c0c;border:1px solid #00ff882e;border-radius:10px;padding:16px 18px;transition:all .2s;position:relative;box-shadow:inset 0 0 0 1px #00ff880a,0 0 12px #00ff880a}.sum-card:before{content:"";-webkit-mask-composite:xor;opacity:.6;pointer-events:none;background:linear-gradient(135deg,#0f86 0%,#00ff880d 50%,#0f83 100%);border-radius:10px;padding:1px;transition:opacity .2s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.sum-card:hover{border-color:#0f86;transform:translateY(-1px);box-shadow:inset 0 0 0 1px #00ff8814,0 0 24px #00ff881f,0 4px 16px #0006}.sum-card:hover:before{opacity:1}.sum-card.green{border-color:#0f86;box-shadow:inset 0 0 0 1px #00ff8814,0 0 18px #00ff881a}.sum-card.red{border-color:#f446;box-shadow:inset 0 0 0 1px #ff444414,0 0 18px #ff44441f}.sum-card.red:before{background:linear-gradient(135deg,#f446 0%,#ff44440d 50%,#f443 100%)}.sum-label{text-transform:uppercase;letter-spacing:.7px;color:#00ff88b3;margin-bottom:10px;font-size:11px;font-weight:500}.sum-card.red .sum-label{color:#ff6666b3}.sum-value{color:var(--text-primary,#fff);text-shadow:0 0 12px #00ff8826;justify-content:space-between;align-items:center;font-size:24px;font-weight:700;display:flex}.sum-card.red .sum-value{text-shadow:0 0 12px #f443}.sum-unit{color:var(--text-muted,#707070);text-shadow:none;margin-left:4px;font-size:13px;font-weight:400}.analytics-card{background:linear-gradient(#00ff8806 0%,#0000 60%),#0a0a0a;border:1px solid #00ff882e;border-radius:10px;margin-bottom:22px;padding:18px 22px;transition:box-shadow .2s,border-color .2s;position:relative;box-shadow:inset 0 0 0 1px #00ff880a,0 0 16px #00ff880a}.analytics-card:hover{border-color:#00ff884d;box-shadow:inset 0 0 0 1px #00ff8814,0 0 24px #00ff8814}.analytics-card .card-header{border-bottom:1px solid #00ff8814;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:12px;display:flex}.analytics-card .card-header h3{color:var(--text-primary,#fff);text-shadow:0 0 8px #0f83;margin:0;font-size:15px;font-weight:600}.analytics-card .card-header h3 svg{color:#0f8;filter:drop-shadow(0 0 4px #00ff8880)}.analytics-card select{color:var(--text-primary,#fff);cursor:pointer;background:#0a0a0a;border:1px solid #00ff8840;border-radius:6px;max-width:180px;padding:6px 12px;font-size:12px;transition:border-color .15s,box-shadow .15s}.analytics-card select:hover,.analytics-card select:focus{border-color:#0f8;outline:none;box-shadow:0 0 8px #0f83}.dev-count{color:#00ff88b3;letter-spacing:.3px;background:#00ff880f;border:1px solid #00ff8826;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:500}.empty-state-mini{text-align:center;color:var(--text-muted,#707070);flex-direction:column;align-items:center;gap:10px;padding:50px 20px;font-size:13px;display:flex}.empty-state-mini.ok{color:#0f8;text-shadow:0 0 8px #00ff884d;font-weight:500}.dev-list{flex-direction:column;gap:8px;display:flex}.dev-row{background:#0a0a0a;border:1px solid #1f1f1f;border-left:3px solid #555;border-radius:8px;grid-template-columns:2fr 3fr auto;align-items:center;gap:12px;padding:12px 16px;font-size:13px;transition:all .15s;display:grid}.dev-row:hover{background:#0d0d0d}.dev-row.minor,.dev-row.warning{border-left-color:#d29922;box-shadow:-2px 0 8px #d2992226}.dev-row.alarm{border-left-color:#e07030;box-shadow:-2px 0 8px #e0703026}.dev-row.critical{background:#ff44440a;border-left-color:#e05050;box-shadow:-2px 0 12px #f443}.dev-station strong{color:var(--text-primary,#fff)}.dev-greenhouse{color:var(--text-muted,#707070);margin-left:4px;font-size:12px}.dev-param{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dev-label{color:var(--text-secondary,#a0a0a0);min-width:60px;font-weight:500}.dev-value{color:var(--text-primary,#fff);font-family:Courier New,monospace;font-weight:600}.dev-arrow{color:#e07030;font-size:14px}.dev-limit{color:var(--text-muted,#707070);font-size:11px}.dev-severity{text-align:right;flex-direction:column;align-items:flex-end;gap:2px;font-size:11px;font-weight:500;display:flex}.dev-severity.minor,.dev-severity.warning{color:#d29922}.dev-severity.alarm{color:#e07030}.dev-severity.critical{color:#e05050;text-shadow:0 0 6px #e0505066}.dev-pct{color:var(--text-muted,#707070);font-size:10px}.compare-table-wrap{border:1px solid #00ff880f;border-radius:6px;overflow-x:auto}.compare-table{border-collapse:collapse;width:100%;font-size:13px}.compare-table th{text-align:left;color:#00ff88b3;text-transform:uppercase;letter-spacing:.6px;background:#00ff8808;border-bottom:1px solid #00ff881f;padding:12px 14px;font-size:11px;font-weight:500}.compare-table th.num,.compare-table td.num{text-align:right;font-family:Courier New,monospace}.compare-table td{color:var(--text-primary,#fff);border-bottom:1px solid #161616;padding:11px 14px}.compare-table tr:hover td{background:#00ff8806}.compare-table td.muted{color:var(--text-muted,#707070);font-size:12px}.compare-table td.outlier{color:#f80;text-shadow:0 0 6px #ff88004d;background:#ff880014;font-weight:600}.table-legend{color:var(--text-muted,#707070);align-items:center;gap:6px;margin:12px 0 0;font-size:11px;display:flex}.outlier-dot{background:#f80;border-radius:50%;width:8px;height:8px;display:inline-block;box-shadow:0 0 6px #f809}.hours-tab{color:var(--text-secondary,#a0a0a0);cursor:pointer;background:0 0;border:1px solid #0f83;border-radius:6px;align-items:center;gap:4px;padding:6px 14px;font-size:12px;transition:all .15s;display:inline-flex}.hours-tab:hover{color:#0f8;border-color:#0f8;box-shadow:0 0 10px #0f83}.hours-tab.active{color:#0f8;background:#00ff881f;border-color:#0f8;box-shadow:0 0 12px #00ff884d,inset 0 0 0 1px #0f83}.spinning{animation:1s linear infinite spin}.hist-stats{border-bottom:1px solid #00ff8814;flex-wrap:wrap;gap:14px;margin-bottom:8px;padding:10px 0 14px;display:flex}.hist-stat{color:var(--text-muted,#707070);font-size:12px}.hist-stat span{margin-right:4px}.hist-stat strong{color:var(--text-primary,#fff);font-family:Courier New,monospace;font-weight:600}.hist-stat.hist-homog strong.good{color:#0f8;text-shadow:0 0 6px #0f86}.hist-stat.hist-homog strong.mid{color:#fd4}.hist-stat.hist-homog strong.bad{color:#f80;text-shadow:0 0 6px #ff88004d}.event-station-table{border-top:1px solid #00ff8814;margin-top:18px;padding-top:14px}.event-station-table h4{color:#00ff88b3;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-size:12px;font-weight:500}.alarm-summary-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.alarm-sub-card{background:#0003;border:1px solid #00ff8814;border-radius:8px;padding:14px}.alarm-sub-card h4{color:#00ff88b3;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;font-size:12px;font-weight:500}.alarm-stations-card{grid-column:1/-1}.alarm-stations-card .compare-table th,.alarm-stations-card .compare-table td{padding:8px 12px}@media print{.layout-sidebar,.layout-header,.page-tabs,.hours-tab,.period-bar,button{display:none!important}.layout-main,.analytics-page{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}body,html{color:#000!important;background:#fff!important}.analytics-page,.summary-card,.analytics-card,.hist-card{page-break-inside:avoid;color:#000!important;box-shadow:none!important;background:#fff!important;border:1px solid #ddd!important}h1,h2,h3,h4,.card-title{color:#000!important}.recharts-text{fill:#333!important}.recharts-cartesian-axis-line,.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#ccc!important}.summary-grid{page-break-after:avoid}@page{margin:1.5cm;size:A4}}.filter-bar{justify-content:flex-start;margin-bottom:14px;display:flex}.station-filter{color:#e8e8e6;cursor:pointer;background:#13151a;border:1px solid #2a2d33;border-radius:4px;min-width:280px;padding:8px 14px;font-family:inherit;font-size:13px;transition:border-color .15s}.station-filter:hover{border-color:#4a4d4a}.station-filter:focus{border-color:#77e0aa;outline:none}.sum-card.clickable{cursor:pointer;transition:transform .15s,border-color .15s}.sum-card.clickable:hover{border-color:#0f86;transform:translateY(-2px)}@media (width<=1024px){.analytics-page{padding:0}.analytics-page .page-header{flex-wrap:wrap;margin-bottom:14px}.analytics-page .page-header h1{font-size:20px}.analytics-page .page-sub{font-size:12px}.filter-bar{width:100%}.station-filter{box-sizing:border-box;width:100%;min-width:0}.period-bar{flex-wrap:wrap;gap:6px;margin-bottom:14px}.period-bar .hours-tab{text-align:center;flex:auto;justify-content:center}.summary-grid{gap:10px;margin-bottom:18px}.analytics-card{margin-bottom:14px;padding:14px}.analytics-card .card-header{flex-wrap:wrap;gap:8px;margin-bottom:12px;padding-bottom:10px}.analytics-card .card-header h3{flex:auto;min-width:0;font-size:14px}.analytics-card select{flex:0 auto;min-width:0;max-width:100%}.dev-row{grid-template-columns:1fr;gap:8px;padding:10px 12px}.dev-severity{text-align:left;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px}.dev-param{gap:6px}.hist-stats{gap:10px;padding:8px 0 12px}.hist-stat{font-size:11px}.alarm-sub-card{padding:10px}.alarm-stations-card .compare-table th,.alarm-stations-card .compare-table td{padding:6px 8px;font-size:12px}.compare-table th,.compare-table td{padding:8px 10px;font-size:12px}.compare-table-wrap{-webkit-overflow-scrolling:touch}.recharts-tooltip-wrapper{max-width:220px!important}.recharts-default-tooltip,.recharts-tooltip-wrapper>div{box-sizing:border-box!important;max-width:220px!important}}@media (width<=640px){.analytics-page .page-header h1{font-size:18px}.analytics-page .page-header h1 svg{display:none}.summary-grid{grid-template-columns:repeat(2,1fr);gap:8px}.sum-card{padding:10px 12px}.sum-value{font-size:18px}.sum-label{margin-bottom:6px;font-size:10px}.sum-unit{font-size:11px}.analytics-card{margin-bottom:12px;padding:12px}.analytics-card .card-header h3{font-size:13px}.analytics-card .card-header h3 svg{transform:scale(.85)}.dev-count{padding:3px 8px;font-size:10px}.recharts-cartesian-axis-tick text{font-size:9px!important}.recharts-legend-item-text{font-size:10px!important}}@media (width<=380px){.summary-grid{grid-template-columns:1fr}}[data-theme=warm] .sum-card,[data-theme=light] .sum-card,[data-theme=midnight] .sum-card{background:var(--bg-card)!important;border-color:var(--border)!important;box-shadow:none!important}[data-theme=warm] .sum-card:hover,[data-theme=light] .sum-card:hover,[data-theme=midnight] .sum-card:hover{border-color:var(--neon)!important;box-shadow:0 0 12px var(--neon-glow)!important}[data-theme=warm] .sum-card:before,[data-theme=light] .sum-card:before,[data-theme=midnight] .sum-card:before{display:none!important}[data-theme=warm] .sum-label,[data-theme=light] .sum-label,[data-theme=midnight] .sum-label{color:var(--text-muted)!important;text-shadow:none!important}[data-theme=warm] .sum-value,[data-theme=light] .sum-value,[data-theme=midnight] .sum-value{color:var(--text-primary)!important;text-shadow:none!important;filter:none!important}[data-theme=warm] .sum-unit,[data-theme=light] .sum-unit,[data-theme=midnight] .sum-unit{color:var(--text-muted)!important}[data-theme=warm] .sum-icon,[data-theme=light] .sum-icon,[data-theme=midnight] .sum-icon{color:var(--neon)!important;filter:none!important}[data-theme=warm] .period-btn,[data-theme=light] .period-btn,[data-theme=midnight] .period-btn{background:var(--bg-secondary)!important;border-color:var(--border)!important;color:var(--text-secondary)!important}[data-theme=warm] .period-btn.active,[data-theme=light] .period-btn.active,[data-theme=midnight] .period-btn.active{background:var(--neon-glow)!important;border-color:var(--neon)!important;color:var(--neon)!important;box-shadow:none!important}[data-theme=warm] .analysis-card,[data-theme=light] .analysis-card,[data-theme=midnight] .analysis-card{background:var(--bg-card)!important;border-color:var(--border)!important;box-shadow:none!important}[data-theme=warm] .analysis-card:hover,[data-theme=light] .analysis-card:hover,[data-theme=midnight] .analysis-card:hover{border-color:var(--neon)!important;box-shadow:0 0 12px var(--neon-glow)!important}[data-theme=warm] .analysis-card-head,[data-theme=light] .analysis-card-head,[data-theme=midnight] .analysis-card-head{border-bottom-color:var(--border)!important}[data-theme=warm] .analysis-card-title,[data-theme=light] .analysis-card-title,[data-theme=midnight] .analysis-card-title{color:var(--text-primary)!important;text-shadow:none!important}[data-theme=warm] .analysis-card-icon,[data-theme=light] .analysis-card-icon,[data-theme=midnight] .analysis-card-icon{color:var(--neon)!important;filter:none!important}[data-theme=light] .recharts-cartesian-grid line,[data-theme=light] .recharts-cartesian-grid-horizontal line,[data-theme=light] .recharts-cartesian-grid-vertical line{stroke:#ccc!important}[data-theme=light] .recharts-xAxis line,[data-theme=light] .recharts-yAxis line,[data-theme=light] .recharts-xAxis .recharts-cartesian-axis-line,[data-theme=light] .recharts-yAxis .recharts-cartesian-axis-line{stroke:#aaa!important}[data-theme=light] .recharts-xAxis .recharts-cartesian-axis-tick-value,[data-theme=light] .recharts-yAxis .recharts-cartesian-axis-tick-value{fill:#666!important}[data-theme=light] .recharts-legend-item-text{color:#444!important}[data-theme=light] .recharts-tooltip-wrapper .recharts-default-tooltip{color:#333!important;background:#fff!important;border-color:#ddd!important}[data-theme=warm] .recharts-cartesian-grid line{stroke:#3a2e1c!important}[data-theme=warm] .recharts-xAxis .recharts-cartesian-axis-tick-value,[data-theme=warm] .recharts-yAxis .recharts-cartesian-axis-tick-value{fill:#9a8a6a!important}.diurnal-wrap{padding:12px 0 6px}.diurnal-grid{gap:2px;margin-bottom:8px;font-family:JetBrains Mono,Courier New,ui-monospace,monospace;font-size:10px;display:grid}.diurnal-corner{background:0 0}.diurnal-hour{text-align:center;color:#6f7673;letter-spacing:.04em;padding:4px 0;font-weight:500}.diurnal-day-label{color:#a8aba8;letter-spacing:.04em;flex-direction:column;justify-content:center;align-items:flex-end;gap:1px;padding-right:8px;display:flex}.diurnal-day-label .dayname{color:#c4c7c4;font-size:10px;font-weight:600}.diurnal-day-label .daydate{color:#5a5d5a;font-size:9px}.diurnal-cell{aspect-ratio:1.6;cursor:pointer;border:1px solid #0000;border-radius:2px;min-height:22px;transition:transform .12s,box-shadow .12s}.diurnal-cell:hover{z-index:5;border-color:#fff3;transform:scale(1.18);box-shadow:0 0 10px #22d3ee8c}.diurnal-cell.empty{cursor:default}.diurnal-cell.empty:hover{box-shadow:none;transform:none}.diurnal-empty{text-align:center;color:#6f7673;letter-spacing:.04em;padding:36px 16px;font-family:JetBrains Mono,Courier New,ui-monospace,monospace;font-size:11px}.diurnal-legend{justify-content:center;align-items:center;gap:12px;margin-top:14px;display:flex}.legend-val{color:#6f7673;letter-spacing:.04em;font-family:JetBrains Mono,Courier New,ui-monospace,monospace;font-size:10px}.legend-gradient{background:linear-gradient(90deg,#0f2337,#22d3ee);border-radius:4px;width:220px;height:8px;box-shadow:inset 0 0 0 1px #ffffff0d}@media (width<=900px){.diurnal-grid{font-size:9px}.diurnal-cell{min-height:18px}.legend-gradient{width:140px}}@media (width<=1024px){.diurnal-wrap{-webkit-overflow-scrolling:touch;padding-bottom:10px;overflow-x:auto}.diurnal-grid{min-width:600px}}@media (width<=640px){.diurnal-grid{min-width:520px;font-size:9px}.diurnal-day-label .dayname{font-size:9px}.diurnal-day-label .daydate{font-size:8px}}.report-page{color:#222;background:#fff;max-width:210mm;min-height:297mm;margin:20px auto;padding:30px 40px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.5;box-shadow:0 4px 20px #0006}.report-loading{text-align:center;color:#aaa;max-width:600px;margin:100px auto;font-size:16px}.report-header{border-bottom:2px solid #22c55e;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;display:flex}.report-brand{align-items:center;gap:12px;display:flex}.report-logo{background:#22c55e;border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;font-size:32px;display:flex}.report-brand-name{color:#22c55e;font-size:20px;font-weight:700}.report-brand-sub{color:#888;font-size:11px}.btn-print-now{color:#fff;cursor:pointer;background:#22c55e;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600}.btn-print-now:hover{background:#16a34a}.report-title{color:#222;margin:0 0 16px;font-size:24px;font-weight:700}.report-meta{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:24px;padding:14px 18px}.report-meta-row{margin:4px 0;font-size:12.5px;display:flex}.meta-label{color:#666;width:110px;font-weight:500}.meta-value{color:#222}.report-section{page-break-inside:avoid;margin-bottom:28px}.report-section-title{color:#222;border-left:4px solid #22c55e;margin:0 0 14px;padding-left:10px;font-size:15px;font-weight:700}.report-summary-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.report-summary-card{background:#fafafa;border:1px solid #ddd;border-radius:6px;padding:12px 14px}.rs-label{color:#777;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px}.rs-value{color:#222;font-size:22px;font-weight:700}.rs-unit{color:#888;font-size:12px;font-weight:500}.report-table{border-collapse:collapse;width:100%;font-size:12px}.report-table th{text-align:left;text-transform:uppercase;color:#555;background:#f0f0f0;border:1px solid #ddd;padding:8px 10px;font-size:11px}.report-table td{border:1px solid #e8e8e8;padding:8px 10px}.report-table tr:nth-child(2n) td{background:#fafafa}.dev-pct{color:#d97706;font-weight:600}.report-chart-block{page-break-inside:avoid;margin-bottom:18px}.report-chart-title{color:#444;border-left:3px solid #22c55e;margin:0 0 8px;padding-left:8px;font-size:13px;font-weight:600}.report-footer{color:#888;border-top:1px solid #ddd;justify-content:space-between;margin-top:40px;padding-top:12px;font-size:10.5px;display:flex}@media print{.sidebar,.sidebar-nav,.sidebar-footer,.sidebar-logo,.layout>:not(.layout-content),nav,aside,.page-tabs,.filter-row,.period-bar,.btn-print-now,button{display:none!important}.layout{display:block!important}.layout-content{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}body,html{background:#fff!important;margin:0!important;padding:0!important}.report-page{box-shadow:none!important;max-width:100%!important;min-height:auto!important;margin:0!important;padding:12mm!important}.report-section,.report-chart-block{page-break-inside:avoid}.recharts-text{fill:#333!important}.recharts-cartesian-grid line{stroke:#ccc!important}.recharts-cartesian-axis-line{stroke:#999!important}@page{size:A4 portrait;margin:8mm}}.hist-stats-row{color:#555;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;flex-wrap:wrap;gap:18px;margin-bottom:10px;padding:10px 14px;font-size:12px;display:flex}.support-page{flex-direction:column;height:100vh;padding:24px 32px;display:flex}.support-page .page-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.support-page .page-header h1{color:var(--text-primary,#fff);margin:0 0 4px;font-size:22px;font-weight:700}.support-page .page-sub{color:var(--text-muted,#707070);margin:0;font-size:13px}.support-layout{flex:1;grid-template-columns:380px 1fr;gap:16px;min-height:0;display:grid}.ticket-list-pane{background:#0a0a0a;border:1px solid #00ff881f;border-radius:10px;flex-direction:column;min-height:0;display:flex}.ticket-filter-row{color:var(--text-muted);border-bottom:1px solid #00ff8814;flex-wrap:wrap;align-items:center;gap:4px;padding:10px;font-size:12px;display:flex}.ticket-filter-btn{color:var(--text-secondary,#a0a0a0);cursor:pointer;background:0 0;border:1px solid #1f1f1f;border-radius:4px;padding:3px 8px;font-size:11px;transition:all .15s}.ticket-filter-btn:hover{border-color:#00ff884d}.ticket-filter-btn.active{color:#0f8;background:#00ff881f;border-color:#0f8}.ticket-list{flex:1;overflow-y:auto}.ticket-empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:10px;padding:50px 20px;font-size:13px;display:flex}.ticket-item{cursor:pointer;border-bottom:1px solid #161616;padding:12px 14px;transition:all .12s}.ticket-item:hover{background:#00ff8808}.ticket-item.selected{background:#00ff8812;border-left:3px solid #0f8;padding-left:11px}.ticket-item.closed{opacity:.55}.ticket-item-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.ticket-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.ticket-status-dot.orange{background:#f80;box-shadow:0 0 6px #ff880080}.ticket-status-dot.green{background:#0f8;box-shadow:0 0 6px #00ff8880}.ticket-status-dot.yellow{background:#fd4;box-shadow:0 0 6px #ffdd4480}.ticket-status-dot.gray{background:#666}.ticket-subject{color:var(--text-primary,#fff);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.ticket-item-meta{color:var(--text-muted,#707070);font-size:11px}.ticket-customer{color:#00ff88b3;font-weight:500}.dot-sep{margin:0 4px}.prio-tag{text-transform:uppercase;letter-spacing:.3px;border-radius:3px;padding:2px 6px;font-size:10px;font-weight:500}.prio-tag.gray{color:#999;background:#9696961f;border:1px solid #9696964d}.prio-tag.blue{color:#48f;background:#4488ff1f;border:1px solid #4488ff4d}.prio-tag.orange{color:#f80;background:#ff880026;border:1px solid #f806}.prio-tag.red{color:#f44;background:#ff444426;border:1px solid #f446;animation:2s infinite pulse-red}@keyframes pulse-red{0%,to{box-shadow:0 0 #f446}50%{box-shadow:0 0 0 6px #f440}}.status-tag{border-radius:999px;padding:3px 9px;font-size:11px;font-weight:500}.status-tag.yellow{color:#fd4;background:#ffdd441f;border:1px solid #ffdd444d}.cat-tag{color:#00ff88b3;background:#00ff880f;border:1px solid #00ff8826;border-radius:3px;padding:2px 8px;font-size:11px}.ticket-detail-pane{background:#0a0a0a;border:1px solid #00ff881f;border-radius:10px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.ticket-empty-detail{color:var(--text-muted,#707070);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.ticket-detail,.new-ticket-form{flex-direction:column;height:100%;display:flex}.ticket-detail-head{border-bottom:1px solid #00ff8814;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.ticket-detail-head h2{color:var(--text-primary,#fff);margin:0 0 6px;font-size:17px;font-weight:600}.ticket-detail-meta{flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.ticket-detail-actions{flex-wrap:wrap;align-items:flex-start;gap:6px;display:flex}.ticket-detail-actions select{color:var(--text-primary);background:#161616;border:1px solid #2a2a2a;border-radius:4px;padding:4px 8px;font-size:12px}.btn-back-light{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:4px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;display:inline-flex}.btn-back-light:hover{color:#0f8;border-color:#0f8}.msg-list{flex-direction:column;flex:1;gap:14px;padding:16px 20px;display:flex;overflow-y:auto}.msg{background:#0d0d0d;border:1px solid #1a1a1a;border-radius:8px;max-width:85%;padding:12px 14px}.msg.own{background:#00ff880a;border-color:#00ff8826;align-self:flex-end}.msg.admin{border-left:3px solid #0f8}.msg.internal{background:#ffdd440d;border-color:#ffdd4440 #ffdd4440 #ffdd4440 #fd4;border-left-style:solid;border-left-width:3px}.msg-head{align-items:center;gap:8px;margin-bottom:6px;font-size:12px;display:flex}.msg-head strong{color:var(--text-primary,#fff);font-size:12px}.msg-role-badge{border-radius:3px;align-items:center;gap:3px;padding:2px 6px;font-size:10px;display:inline-flex}.msg-role-badge.admin{color:#0f8;background:#00ff8826;border:1px solid #00ff884d}.msg-role-badge.internal{color:#fd4;background:#ffdd4426;border:1px solid #ffdd444d}.msg-time{color:var(--text-muted,#707070);margin-left:auto;font-size:11px}.msg-body{color:var(--text-primary,#fff);white-space:pre-wrap;word-wrap:break-word;font-size:13px;line-height:1.55}.msg-attachment{margin-top:8px}.msg-attachment-img{cursor:pointer;border:1px solid #2a2a2a;border-radius:6px;max-width:240px;max-height:180px;transition:transform .15s}.msg-attachment-img:hover{transform:scale(1.02)}.msg-attachment-link{color:#0f8;background:#00ff880f;border:1px solid #0f83;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;text-decoration:none;display:inline-flex}.msg-attachment-link:hover{background:#00ff881f}.reply-form{background:#0c0c0c;border-top:1px solid #00ff8814;padding:12px 20px}.reply-form textarea{width:100%;color:var(--text-primary);resize:vertical;background:#161616;border:1px solid #2a2a2a;border-radius:6px;min-height:70px;padding:10px;font-family:inherit;font-size:13px}.reply-form textarea:focus{border-color:#0f86;outline:none;box-shadow:0 0 0 2px #00ff8814}.reply-actions{align-items:center;gap:10px;margin-top:10px;display:flex}.btn-icon{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:4px;padding:6px 10px}.btn-icon:hover{color:#0f8;border-color:#0f8}.internal-toggle{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;font-size:11px;display:inline-flex}.internal-toggle input{margin:0}.file-chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.file-chip{color:var(--text-primary);background:#00ff880f;border:1px solid #0f83;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:inline-flex}.file-chip-size{color:var(--text-muted);font-size:10px}.file-chip button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:flex}.file-chip button:hover{color:#f44}.form-err{color:#f66;background:#ff444414;border:1px solid #ff44444d;border-radius:4px;margin-top:8px;padding:8px 12px;font-size:12px}.new-ticket-form{padding:16px 20px;overflow-y:auto}.new-ticket-form .form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=900px){.support-layout{grid-template-columns:1fr}.ticket-list-pane{max-height:300px}}.filter-cards{grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px;display:grid}.filter-card{cursor:pointer;text-align:left;color:var(--text-secondary,#a0a0a0);background:#0c0c0c;border:1px solid #1f1f1f;border-radius:10px;align-items:center;gap:10px;padding:12px 14px;font-family:inherit;transition:all .18s;display:flex}.filter-card:hover{background:#0f0f0f;transform:translateY(-1px)}.filter-card svg{opacity:.7;flex-shrink:0;transition:opacity .15s}.filter-card-label{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;font-weight:500;overflow:hidden}.filter-card-count{color:var(--text-primary,#fff);margin-left:auto;font-family:Courier New,monospace;font-size:16px;font-weight:700}.filter-card.green{border-color:#00ff882e}.filter-card.green svg{color:#0f8}.filter-card.green:hover{border-color:#0f86;box-shadow:0 0 14px #00ff881a}.filter-card.green.active{background:#00ff8812;border-color:#0f8;box-shadow:0 0 18px #0f83,inset 0 0 0 1px #0f83}.filter-card.green.active .filter-card-count{color:#0f8;text-shadow:0 0 8px #0f86}.filter-card.orange{border-color:#ff88002e}.filter-card.orange svg{color:#f80}.filter-card.orange:hover{border-color:#f806;box-shadow:0 0 14px #ff88001a}.filter-card.orange.active{background:#ff880012;border-color:#f80;box-shadow:0 0 18px #ff880038,inset 0 0 0 1px #f803}.filter-card.orange.active .filter-card-count{color:#f80;text-shadow:0 0 8px #f806}.filter-card.yellow{border-color:#ffdd442e}.filter-card.yellow svg{color:#fd4}.filter-card.yellow:hover{border-color:#fd46;box-shadow:0 0 14px #ffdd441a}.filter-card.yellow.active{background:#ffdd4412;border-color:#fd4;box-shadow:0 0 18px #fd43,inset 0 0 0 1px #fd43}.filter-card.yellow.active .filter-card-count{color:#fd4;text-shadow:0 0 8px #fd46}.filter-card.gray{border-color:#9696962e}.filter-card.gray svg{color:#888}.filter-card.gray:hover{border-color:#96969666}.filter-card.gray.active{background:#9696960f;border-color:#888;box-shadow:inset 0 0 0 1px #96969633}.filter-card.gray.active .filter-card-count{color:#ccc}.ticket-filter-row{display:none}@media (width<=900px){.filter-cards{grid-template-columns:repeat(2,1fr)}}@media (width<=500px){.filter-cards{grid-template-columns:1fr}}.ticket-item.has-unread{background:#00ff880a;border-left:3px solid #0f8;padding-left:11px}.ticket-item.has-unread .ticket-subject{color:#fff;font-weight:600}.ticket-item.has-unread.selected{background:#00ff881a}.ticket-unread-badge{color:#0a0a0a;background:#0f8;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 6px;font-size:10px;font-weight:700;display:inline-flex;box-shadow:0 0 8px #00ff8880}.bcast-all-toggle{cursor:pointer;color:var(--text-primary);background:#00ff880a;border:1px solid #00ff8840;border-radius:8px;align-items:center;gap:10px;margin-bottom:8px;padding:12px 14px;font-size:13px;transition:all .15s;display:flex}.bcast-all-toggle:hover{background:#00ff8814}.bcast-all-toggle input[type=checkbox]{accent-color:#0f8;cursor:pointer;width:16px;height:16px}.bcast-cust-list{background:#0a0a0a;border:1px solid #1f1f1f;border-radius:8px;max-height:200px;padding:4px;overflow-y:auto}.bcast-cust-row{cursor:pointer;color:var(--text-primary);border-radius:4px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;transition:background .12s;display:flex}.bcast-cust-row:hover{background:#00ff880d}.bcast-cust-row input[type=checkbox]{accent-color:#0f8;cursor:pointer;width:16px;height:16px}.bcast-cust-row-all{border-bottom:1px solid #1a1a1a;margin-bottom:4px;padding-bottom:10px}.bcast-result{gap:12px;margin-bottom:16px;display:flex}.bcast-result-stat{border:1px solid;border-radius:10px;flex:1;align-items:center;gap:12px;padding:14px 16px;display:flex}.bcast-result-stat.success{color:#0f8;background:#00ff880f;border-color:#00ff884d}.bcast-result-stat.fail{color:#f66;background:#ff44440f;border-color:#ff44444d}.bcast-result-num{font-family:monospace;font-size:22px;font-weight:700;line-height:1}.bcast-result-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-top:4px;font-size:11px}.ticket-delete-btn{color:#ff6b6b;cursor:pointer;opacity:1;background:#ff44441f;border:1px solid #ff44444d;border-radius:4px;flex-shrink:0;margin-left:auto;padding:4px 10px;font-size:16px;transition:opacity .2s,background .2s}.ticket-delete-btn:hover{background:#ff444440;border-color:#f449}.confirm-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#000000b3;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.confirm-modal{background:var(--bg-secondary,#0a0a0a);border:1px solid var(--border,#1a1a1a);border-radius:10px;width:calc(100% - 40px);max-width:420px;padding:24px;animation:.2s ease-out slideUp;box-shadow:0 20px 60px #00000080,0 0 0 1px #ff444426}.confirm-icon{background:#ff44441f;border:1px solid #ff44444d;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:16px;font-size:24px;display:flex}.confirm-title{color:var(--text-primary,#fff);margin-bottom:8px;font-size:16px;font-weight:600}.confirm-text{color:var(--text-secondary,#aaa);margin-bottom:20px;font-size:13px;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:8px;display:flex}.confirm-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s}.confirm-btn-cancel{color:var(--text-muted,#888);border-color:var(--border,#1a1a1a);background:0 0}.confirm-btn-cancel:hover{background:var(--bg-hover,#141414);color:var(--text-primary,#fff)}.confirm-btn-danger{color:#ff6b6b;background:#ff444426;border-color:#f446}.confirm-btn-danger:hover{background:#ff444440;border-color:#f449}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=1024px){.support-page{height:auto;padding:0}.support-page .page-header{margin-bottom:12px}.support-page .page-header h1{font-size:20px}.support-page .page-sub{font-size:12px}.support-layout{grid-template-columns:1fr;gap:12px;height:auto}.ticket-list-pane{max-height:350px}.filter-card{padding:10px 12px}.filter-card-label{font-size:11px}.filter-card-count{font-size:14px}}@media (width<=640px){.support-page .page-header h1{font-size:18px}.support-page .page-header{flex-direction:column;align-items:stretch}.support-page .page-header .send-btn{align-self:flex-start}.support-page input[type=text],.support-page input[type=email],.support-page input[type=password],.support-page input[type=file],.support-page select,.support-page textarea{box-sizing:border-box;font-size:16px!important}.new-ticket-form{padding:14px}.new-ticket-form .form-grid{grid-template-columns:1fr}.ticket-detail-head{flex-wrap:wrap;padding:12px}.ticket-detail-head h2{font-size:15px}.ticket-detail-meta{gap:5px;font-size:11px}.ticket-detail-actions{gap:6px;width:100%;margin-top:8px}.ticket-item{padding:10px 12px}.ticket-subject{font-size:12px}.ticket-item-meta{font-size:10px}.msg-list{gap:10px;padding:12px}.msg{max-width:92%;padding:10px 12px}.msg-body{font-size:12px}.msg-head{flex-wrap:wrap;gap:6px}.msg-time{margin-left:0;font-size:10px}.msg-attachment-img{max-width:200px;max-height:150px}.reply-form{padding:10px 12px}.reply-actions{flex-wrap:wrap;gap:6px}.reply-actions .send-btn{flex:1;justify-content:center}.file-chip{padding:3px 6px;font-size:10px}.confirm-modal{width:calc(100% - 24px);padding:18px}.confirm-title{font-size:15px}.confirm-text{font-size:12px}.confirm-actions{flex-direction:column-reverse}.confirm-btn{width:100%}.send-btn{padding:10px 14px;font-size:13px}}[data-theme=light] .ticket-list-panel,[data-theme=light] .ticket-detail-panel,[data-theme=light] .support-layout,[data-theme=light] .ticket-detail-empty{background:var(--bg-card)!important;border-color:var(--border)!important}[data-theme=light] .ticket-item{border-bottom-color:var(--border)!important;color:var(--text-primary)!important}[data-theme=light] .ticket-filters{background:var(--bg-secondary)!important;border-bottom-color:var(--border)!important}[data-theme=light] .ticket-filter-btn{border-color:var(--border)!important;color:var(--text-secondary)!important}[data-theme=light] .ticket-message-bubble{background:var(--bg-secondary)!important;border-color:var(--border)!important}[data-theme=light] .ticket-message-bubble.mine{background:var(--neon-glow)!important;border-color:#0a7c4e33!important}[data-theme=light] .message-input-area,[data-theme=light] .ticket-detail-header{background:var(--bg-secondary)!important;border-color:var(--border)!important}[data-theme=light] .ticket-status-dot.gray{box-shadow:none!important;background:#999!important}[data-theme=light] .prio-tag.gray{color:#666!important;background:#64646414!important;border-color:#64646433!important}[data-theme=light] .prio-tag.blue{color:var(--blue)!important;background:#1a5fd414!important;border-color:#1a5fd433!important}[data-theme=light] .prio-tag.orange{color:var(--orange)!important;background:#e67e0014!important;border-color:#e67e0033!important}[data-theme=light] .prio-tag.red{color:var(--red)!important;background:#d9302514!important;border-color:#d9302533!important}[data-theme=light] .status-tag.orange{color:var(--orange)!important;background:#e67e0014!important;border-color:#e67e0033!important}[data-theme=light] .status-tag.green{background:var(--neon-glow)!important;color:var(--neon)!important;border-color:#0a7c4e33!important}[data-theme=light] .status-tag.yellow{color:var(--yellow)!important;background:#c49b0014!important;border-color:#c49b0033!important}[data-theme=light] .status-tag.gray{color:#777!important;background:#64646414!important;border-color:#64646433!important}[data-theme=light] .ticket-list-pane,[data-theme=light] .ticket-detail-pane,[data-theme=light] .ticket-detail,[data-theme=light] .ticket-empty-detail,[data-theme=light] .new-ticket-form,[data-theme=light] .support-layout{background:var(--bg-card)!important;border-color:var(--border)!important}[data-theme=light] .ticket-empty,[data-theme=light] .ticket-empty-detail{background:var(--bg-secondary)!important;color:var(--text-muted)!important}[data-theme=light] .ticket-filter-row{background:var(--bg-secondary)!important;border-bottom-color:var(--border)!important}[data-theme=light] .ticket-filter-btn{border-color:var(--border)!important;color:var(--text-secondary)!important;background:0 0!important}[data-theme=light] .ticket-filter-btn:hover{border-color:var(--neon)!important;color:var(--neon)!important}[data-theme=light] .ticket-filter-btn.active{background:var(--neon-glow)!important;border-color:var(--neon)!important;color:var(--neon)!important}[data-theme=light] .ticket-item{border-bottom-color:var(--border)!important}[data-theme=light] .ticket-item:hover{background:var(--bg-hover)!important}[data-theme=light] .ticket-item.selected{background:var(--neon-glow-sm)!important;border-left-color:var(--neon)!important}[data-theme=light] .ticket-subject{color:var(--text-primary)!important}[data-theme=light] .ticket-customer{color:var(--neon)!important}[data-theme=light] .ticket-detail-head{background:var(--bg-secondary)!important;border-bottom-color:var(--border)!important}[data-theme=light] .ticket-detail-head h2{color:var(--text-primary)!important}[data-theme=light] .ticket-detail-meta{color:var(--text-secondary)!important}[data-theme=light] .ticket-detail-actions select{background:var(--bg-secondary)!important;border-color:var(--border)!important;color:var(--text-primary)!important}[data-theme=light] .msg-list{background:var(--bg-secondary)!important}[data-theme=light] .msg{background:var(--bg-card)!important;border-color:var(--border)!important;color:var(--text-primary)!important}[data-theme=light] .msg.own{background:var(--neon-glow)!important;border-color:#0a7c4e33!important}[data-theme=light] .btn-back-light{border-color:var(--border)!important;color:var(--text-secondary)!important;background:0 0!important}[data-theme=light] .btn-back-light:hover{border-color:var(--neon)!important;color:var(--neon)!important}.maint-page{padding:24px 32px}.maint-page .page-header{margin-bottom:16px}.maint-filter-cards{grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:20px;display:grid}.maint-filter-card{cursor:pointer;text-align:left;color:var(--text-secondary);background:#0c0c0c;border:1px solid #1f1f1f;border-radius:10px;align-items:center;gap:10px;padding:12px 14px;font-family:inherit;transition:all .18s;display:flex}.maint-filter-card:hover{background:#0f0f0f;transform:translateY(-1px)}.maint-filter-card svg{opacity:.7;flex-shrink:0}.maint-filter-label{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;font-weight:500;overflow:hidden}.maint-filter-count{color:var(--text-primary);margin-left:auto;font-family:monospace;font-size:16px;font-weight:700}.maint-filter-card.red{border-color:#ff44442e}.maint-filter-card.red svg{color:#f44}.maint-filter-card.red.active{background:#ff444412;border-color:#f44;box-shadow:0 0 18px #f443}.maint-filter-card.red.active .maint-filter-count{color:#f44}.maint-filter-card.orange{border-color:#ff88002e}.maint-filter-card.orange svg{color:#f80}.maint-filter-card.orange.active{background:#ff880012;border-color:#f80;box-shadow:0 0 18px #ff880038}.maint-filter-card.orange.active .maint-filter-count{color:#f80}.maint-filter-card.yellow{border-color:#ffdd442e}.maint-filter-card.yellow svg{color:#fd4}.maint-filter-card.yellow.active{background:#ffdd4412;border-color:#fd4;box-shadow:0 0 18px #fd43}.maint-filter-card.yellow.active .maint-filter-count{color:#fd4}.maint-filter-card.blue{border-color:#4488ff2e}.maint-filter-card.blue svg{color:#48f}.maint-filter-card.blue.active{background:#4488ff12;border-color:#48f;box-shadow:0 0 18px #48f3}.maint-filter-card.blue.active .maint-filter-count{color:#48f}.maint-filter-card.green{border-color:#00ff882e}.maint-filter-card.green svg{color:#0f8}.maint-filter-card.green.active{background:#00ff8812;border-color:#0f8;box-shadow:0 0 18px #0f83}.maint-filter-card.green.active .maint-filter-count{color:#0f8}@media (width<=900px){.maint-filter-cards{grid-template-columns:repeat(2,1fr)}}.maint-list{flex-direction:column;gap:8px;display:flex}.maint-loading,.maint-empty{text-align:center;color:var(--text-muted);background:#0a0a0a;border:1px solid #00ff881a;border-radius:10px;flex-direction:column;align-items:center;gap:12px;padding:50px 20px;font-size:13px;display:flex}.maint-row{background:#0c0c0c;border:1px solid #1a1a1a;border-radius:10px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:14px 16px;transition:all .15s;display:grid}.maint-row:hover{border-color:#0f83}.maint-row.completed{opacity:.65}.maint-row.overdue{background:#ff444408;border-color:#ff44444d}.maint-icon{background:#161616;border:1px solid #2a2a2a;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.maint-info{min-width:0}.maint-title-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.maint-title-row strong{color:var(--text-primary);font-size:14px}.maint-loc{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:4px;font-size:11px;display:flex}.maint-loc svg{flex-shrink:0}.maint-loc .dot{margin:0 2px}.maint-date{text-align:right;min-width:110px}.maint-date-main{color:var(--text-primary);align-items:center;gap:5px;font-family:monospace;font-size:13px;font-weight:500;display:inline-flex}.maint-date-sub{color:var(--text-muted);margin-top:2px;font-size:11px}.maint-date-sub.overdue{color:#f44;font-weight:600}.maint-actions{align-items:center;gap:4px;display:flex}.btn-complete{color:#0f8;cursor:pointer;background:#00ff881a;border:1px solid #00ff884d;border-radius:6px;align-items:center;gap:5px;padding:6px 12px;font-size:12px;transition:all .15s;display:inline-flex}.btn-complete:hover{background:#0f83;box-shadow:0 0 8px #00ff884d}.status-tag{text-transform:uppercase;letter-spacing:.3px;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:500}.status-tag.blue{color:#48f;background:#4488ff1f;border:1px solid #4488ff4d}.status-tag.orange{color:#f80;background:#ff88001f;border:1px solid #ff88004d}.status-tag.green{color:#0f8;background:#00ff881f;border:1px solid #00ff884d}.status-tag.red{color:#f44;background:#ff44441f;border:1px solid #ff44444d}.status-tag.gray{color:#999;background:#9696961f;border:1px solid #9696964d}.complete-summary{background:#00ff880a;border:1px solid #00ff8826;border-radius:6px;padding:10px 12px}.btn-qr-mini{color:#0f8;cursor:pointer;background:#00ff880f;border:1px solid #00ff8840;border-radius:6px;justify-content:center;align-items:center;padding:7px 9px;transition:all .15s;display:inline-flex}.btn-qr-mini:hover{background:#00ff8826;border-color:#00ff8880;box-shadow:0 0 8px #00ff8840}.maint-cust-filter{background:#0c0c0c;border:1px solid #1a1a1a;border-radius:8px;align-items:center;gap:8px;max-width:480px;margin-bottom:14px;padding:8px 14px;display:flex}.maint-cust-filter select{color:var(--text-primary);cursor:pointer;background:#161616;border:1px solid #2a2a2a;border-radius:6px;flex:1;padding:6px 10px;font-family:inherit;font-size:13px}.maint-cust-filter select:focus{border-color:#0f86;outline:none}.btn-icon-light{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;padding:5px;transition:all .15s;display:inline-flex}.btn-icon-light:hover{color:#0f8;background:#00ff8814}.station-picker{background:#0a0a0a;border:1px solid #1f1f1f;border-radius:6px;max-height:220px;padding:4px;overflow-y:auto}.station-picker-empty{text-align:center;color:var(--text-muted);background:#0a0a0a;border:1px solid #1a1a1a;border-radius:6px;padding:16px;font-size:12px;font-style:italic}.station-picker-row{cursor:pointer;color:var(--text-primary);border-radius:4px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;transition:background .12s;display:flex}.station-picker-row:hover{background:#00ff880d}.station-picker-row input[type=checkbox]{accent-color:#0f8;cursor:pointer;width:16px;height:16px;margin:0}.station-picker-all{border-bottom:1px solid #1a1a1a;margin-bottom:4px;padding-bottom:10px}@media (width<=1024px){.maint-page{padding:0}.maint-page .page-header h1{font-size:20px}.maint-page .page-sub{font-size:12px}.maint-cust-filter{flex-wrap:wrap;max-width:none}.maint-cust-filter select{min-width:0}.maint-row{grid-template-columns:auto 1fr auto;grid-template-areas:"icon info date""actions actions actions";align-items:center;gap:8px 12px;padding:12px}.maint-icon{grid-area:icon}.maint-info{grid-area:info;min-width:0}.maint-date{text-align:right;grid-area:date;min-width:0}.maint-actions{flex-wrap:wrap;grid-area:actions;justify-content:flex-start;margin-top:4px}.maint-title-row{flex-wrap:wrap}}@media (width<=640px){.maint-page .page-header h1{font-size:18px}.maint-row{grid-template-columns:auto 1fr;grid-template-areas:"icon info""icon date""actions actions";gap:4px 12px;padding:10px 12px}.maint-date{text-align:left}.maint-icon{width:32px;height:32px}.maint-title-row strong{font-size:13px}.maint-loc{font-size:10px}.maint-date-main{font-size:12px}.maint-date-sub{font-size:10px}.btn-complete,.btn-qr-mini{padding:6px 10px;font-size:11px}.status-tag{padding:2px 6px;font-size:9px}.maint-filter-card{min-width:100px;padding:10px 12px}.maint-filter-count{font-size:14px}.maint-filter-label{font-size:11px}.modal-overlay .modal{width:92vw;max-height:90vh;overflow-y:auto;max-width:92vw!important}.modal-header h2{font-size:16px}.modal-body input,.modal-body select,.modal-body textarea{box-sizing:border-box;padding:10px 12px;font-size:16px!important}.modal-body label{font-size:12px}.modal-footer .btn-primary,.modal-footer .btn-cancel{padding:9px 14px;font-size:13px}.station-picker{max-height:180px}.station-picker-row{padding:10px;font-size:13px}.maint-page .page-header .btn-primary{width:auto;padding:8px 12px;font-size:12px}.maint-filter-cards{flex-wrap:wrap!important;overflow-x:visible!important}.maint-filter-card{flex:calc(50% - 5px)!important;min-width:calc(50% - 5px)!important}.maint-filter-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}@media (width<=380px){.maint-filter-card{flex:100%!important;min-width:100%!important}}.landscape-hint{width:calc(100vw - 24px);max-width:400px;color:var(--text-primary);z-index:22;-webkit-backdrop-filter:blur(6px);background:#00ff881f;border:1px solid #00ff8859;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;line-height:1.35;animation:.3s ease-out forwards ss-hint-in;display:flex;position:fixed;top:64px;left:50%;transform:translate(-50%)translateY(0);box-shadow:0 6px 20px #00000080}.landscape-hint.hiding{animation:.3s ease-in forwards ss-hint-out}@keyframes ss-hint-in{0%{opacity:0;transform:translate(-50%)translateY(-24px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes ss-hint-out{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-24px)}}.hint-icon{color:var(--neon);flex-shrink:0;animation:1.8s ease-in-out infinite ss-hint-rock}@keyframes ss-hint-rock{0%,to{transform:rotate(-18deg)}50%{transform:rotate(18deg)}}.hint-text{color:var(--text-primary);flex:1}.hint-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:6px;display:flex}.hint-close:hover{color:var(--text-primary);background:#ffffff14}@media (width>=641px),(orientation:landscape){.landscape-hint{display:none!important}}.layout{background:var(--bg-primary);min-height:100vh;display:flex}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);z-index:10;flex-direction:column;width:220px;min-height:100vh;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-logo{color:var(--neon);border-bottom:1px solid var(--border);letter-spacing:.5px;align-items:center;gap:10px;padding:20px 16px;font-size:18px;font-weight:700;display:flex}.logo-icon{color:var(--neon)}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 8px;display:flex}.nav-item{border-radius:var(--radius);color:var(--text-secondary);align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--neon-glow);color:var(--neon);border:1px solid #0f83}.sidebar-footer{border-top:1px solid var(--border);align-items:center;gap:8px;padding:12px 8px;display:flex}.user-info{flex:1;align-items:center;gap:10px;display:flex;overflow:hidden}.user-avatar{background:var(--neon-glow);width:32px;height:32px;color:var(--neon);border:1px solid #00ff884d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.user-details{overflow:hidden}.user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.user-role{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.logout-btn{color:var(--text-muted);border-radius:var(--radius);background:0 0;border:none;align-items:center;padding:6px;transition:all .15s;display:flex}.logout-btn:hover{color:var(--red);background:#ff44441a}.main-content{flex:1;min-height:100vh;margin-left:220px;padding:20px 20px 20px 24px;overflow-y:auto}.nav-item{position:relative}.nav-badge{color:#f80;text-align:center;background:#ff88002e;border:1px solid #ff880080;border-radius:999px;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:600;line-height:18px;position:absolute;top:50%;right:12px;transform:translateY(-50%);box-shadow:0 0 8px #ff880040}.nav-item.active .nav-badge{color:#0f8;background:#00ff882e;border-color:#00ff8880;box-shadow:0 0 8px #00ff8840}.mobile-topbar,.sidebar-backdrop,.sidebar-close-btn{display:none}@media (width<=1024px){.mobile-topbar{background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:20;align-items:center;gap:12px;height:56px;padding:0 12px;display:flex;position:fixed;top:0;left:0;right:0}.hamburger-btn{color:var(--text-primary);border-radius:var(--radius);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:8px;transition:background .15s;display:flex}.hamburger-btn:hover,.hamburger-btn:active{background:var(--bg-hover)}.mobile-logo{color:var(--neon);letter-spacing:.5px;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.sidebar{z-index:30;will-change:transform;width:260px;transition:transform .25s ease-out;overflow-y:auto;transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0);box-shadow:4px 0 24px #0009}.sidebar-logo{position:relative}.sidebar-close-btn{color:var(--text-secondary);border-radius:var(--radius);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:36px;min-height:36px;margin-left:auto;padding:6px;transition:all .15s;display:flex}.sidebar-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-backdrop{z-index:25;background:#0009;animation:.2s ease-out ss-backdrop-fade;display:block;position:fixed;inset:0}@keyframes ss-backdrop-fade{0%{opacity:0}to{opacity:1}}.main-content{margin-left:0;padding:72px 16px 16px}.nav-item{padding:12px;font-size:15px}}@media (width<=640px){.main-content{padding:68px 12px 12px}.sidebar{width:min(280px,85vw)}}@media (width<=1024px){.sidebar{overflow:hidden}.sidebar-nav{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}.sidebar-footer{flex-shrink:0}.sidebar{height:100dvh;min-height:0;max-height:100dvh}}.theme-picker{width:100%;margin-bottom:8px;position:relative}.theme-picker-btn{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-secondary);font-size:13px;font-family:var(--font-main);background:#94a3b80f;align-items:center;gap:8px;padding:8px 10px;transition:all .15s;display:flex}.theme-picker-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.theme-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-left:auto}.theme-picker-btn .theme-dot{margin-left:auto}.theme-dropdown{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius);z-index:100;padding:4px;position:absolute;bottom:calc(100% + 6px);left:0;right:0;box-shadow:0 -8px 24px #0006}.theme-option{border-radius:calc(var(--radius) - 2px);width:100%;color:var(--text-secondary);font-size:13px;font-family:var(--font-main);background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;transition:all .12s;display:flex}.theme-option:hover{background:var(--bg-hover);color:var(--text-primary)}.theme-option.active{color:var(--neon);background:var(--neon-glow-sm)}.theme-option .theme-dot{margin-left:0}.sh-root{color:#e8e8e6;background:#0c0d0f;min-height:100vh;padding:18px;font-family:Inter Tight,-apple-system,sans-serif}.sh-topbar{border-bottom:1px solid #1a1c1e;align-items:center;gap:14px;margin-bottom:18px;padding-bottom:12px;display:flex}.sh-h1{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:800}.sh-l1{letter-spacing:2px;color:#7a7d7a;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:9px}.sh-refresh{color:#7a7d7a;align-items:center;gap:8px;margin-left:auto;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.sh-dot{background:#5fd896;border-radius:50%;width:8px;height:8px;animation:1.5s infinite sh-pulse;display:inline-block}@keyframes sh-pulse{0%,to{opacity:.5}50%{opacity:1}}.sh-grid{grid-template-columns:repeat(12,1fr);gap:12px;display:grid}.sh-card{background:#0a0b0d;border:1px solid #1a1c1e;min-height:80px;padding:14px 16px}.sh-ch{letter-spacing:1.8px;color:#7a7d7a;text-transform:uppercase;border-bottom:1px solid #1a1c1e;justify-content:space-between;margin-bottom:10px;padding-bottom:6px;font-family:JetBrains Mono,monospace;font-size:9px;display:flex}.sh-acc{color:#ff8c42}.sh-status-card{grid-column:span 5}.sh-status-card.healthy{border-top:3px solid #5fd896}.sh-status-card.warn{border-top:3px solid #ffc846}.sh-status-card.critical{border-top:3px solid #ff5470}.sh-status-big{letter-spacing:-.01em;margin-bottom:4px;font-size:22px;font-weight:800}.sh-status-big.healthy{color:#5fd896}.sh-status-big.warn{color:#ffc846}.sh-status-big.critical{color:#ff5470}.sh-status-sub{color:#7a7d7a;font-family:JetBrains Mono,monospace;font-size:11px}.sh-status-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.sh-it{background:#0c0d0f;border:1px solid #15171a;padding:6px 8px}.sh-it .sh-l{color:#7a7d7a;letter-spacing:1px;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:8.5px}.sh-it .sh-v{margin-top:2px;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:700}.sh-sys-card{grid-column:span 7}.sh-sys-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.sh-metric{padding:8px 0}.sh-lab{justify-content:space-between;margin-bottom:5px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.sh-lab .sh-n{color:#c5c7c4}.sh-lab .sh-vv{color:#ff8c42;font-weight:700}.sh-bar{background:#15171a;height:6px;overflow:hidden}.sh-bar .sh-fill{background:#5fd896;height:100%;transition:width .5s}.sh-bar .sh-fill.warn{background:#ffc846}.sh-bar .sh-fill.critical{background:#ff5470}.sh-sub-row{color:#5a5d5a;justify-content:space-between;margin-top:4px;font-family:JetBrains Mono,monospace;font-size:9px;display:flex}.sh-cont-card{grid-column:span 12}.sh-cont-table{border-collapse:collapse;width:100%;font-family:JetBrains Mono,monospace;font-size:10.5px}.sh-cont-table th{text-align:left;color:#7a7d7a;letter-spacing:1.5px;text-transform:uppercase;border-bottom:1px solid #1a1c1e;padding:6px 8px;font-size:9px;font-weight:500}.sh-cont-table td{color:#c5c7c4;border-bottom:1px solid #15171a;padding:7px 8px}.sh-cont-table tr:last-child td{border-bottom:none}.sh-cdot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.sh-cdot.running{background:#5fd896;box-shadow:0 0 4px #5fd896}.sh-cdot.exited{background:#ff5470}.sh-cdot.restarting{background:#ffc846;animation:1s infinite sh-pulse}.sh-nm{color:#e8e8e6;font-weight:700}.sh-num{color:#ff8c42;font-weight:700}.sh-db-card{grid-column:span 4}.sh-kv{border-bottom:1px solid #15171a;justify-content:space-between;padding:5px 0;font-family:JetBrains Mono,monospace;font-size:10.5px;display:flex}.sh-kv:last-child{border-bottom:none}.sh-kv .sh-k{color:#7a7d7a}.sh-kv .sh-v{color:#e8e8e6;font-weight:700}.sh-kv .sh-v.ok{color:#5fd896}.sh-ss-card{grid-column:span 12}.sh-ss-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.sh-ss-tile{background:#0c0d0f;border:1px solid #15171a;padding:12px}.sh-ss-tile .sh-ssl{letter-spacing:1.5px;color:#7a7d7a;text-transform:uppercase;margin-bottom:6px;font-family:JetBrains Mono,monospace;font-size:9px}.sh-ss-tile .sh-ssv{color:#e8e8e6;font-family:JetBrains Mono,monospace;font-size:22px;font-weight:800;line-height:1}.sh-ss-tile .sh-ssub{color:#5a5d5a;margin-top:4px;font-family:JetBrains Mono,monospace;font-size:9.5px}.sh-ss-tile.critical .sh-ssv{color:#ff5470}.sh-ss-tile.warn .sh-ssv{color:#ffc846}.sh-ss-tile.ok .sh-ssv{color:#5fd896}.sh-err{color:#ff5470;padding:24px;font-family:JetBrains Mono,monospace;font-size:13px}.sh-loading{color:#7a7d7a;padding:24px;font-family:JetBrains Mono,monospace;font-size:13px}@media (width<=1024px){.sh-root{min-height:0;padding:0}.sh-topbar{flex-wrap:wrap;gap:10px;margin-bottom:14px}.sh-refresh{width:100%;margin-left:0}.sh-h1{font-size:16px}.sh-grid{grid-template-columns:repeat(6,1fr);gap:10px}.sh-status-card,.sh-sys-card,.sh-cont-card,.sh-ss-card,.sh-db-card{grid-column:span 6}.sh-ss-grid{grid-template-columns:repeat(3,1fr)}.sh-cont-card{-webkit-overflow-scrolling:touch;overflow-x:auto}.sh-cont-table{min-width:480px}}@media (width<=640px){.sh-h1{font-size:15px}.sh-l1{font-size:8px}.sh-grid{grid-template-columns:1fr;gap:10px}.sh-status-card,.sh-sys-card,.sh-cont-card,.sh-db-card,.sh-ss-card{grid-column:span 1}.sh-sys-grid{grid-template-columns:1fr;gap:12px}.sh-ss-grid{grid-template-columns:repeat(2,1fr)}.sh-card{padding:12px}.sh-status-big{font-size:17px}.sh-status-sub{font-size:10px}.sh-ss-tile .sh-ssv{font-size:18px}.sh-ss-tile{padding:10px}.sh-cont-table{min-width:460px;font-size:9.5px}.sh-cont-table th,.sh-cont-table td{padding:5px 6px}.sh-refresh{font-size:9px}}.sh-root{max-width:100%;overflow-x:hidden}.sh-cont-card{max-width:100%}.al-root{color:#e8e8e6;background:#0c0d0f;min-height:100vh;padding:18px;font-family:Inter Tight,-apple-system,sans-serif}.al-topbar{border-bottom:1px solid #1a1c1e;align-items:flex-start;gap:14px;margin-bottom:14px;padding-bottom:12px;display:flex}.al-h1{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:800}.al-l1{letter-spacing:2px;color:#7a7d7a;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:9px}.al-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.al-count{color:#ff8c42;background:#ff8c421a;border:1px solid #ff8c424d;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:10px}.al-btn{color:#c5c7c4;cursor:pointer;letter-spacing:1px;text-transform:uppercase;background:#0f1113;border:1px solid #2a2c2e;padding:6px 13px;font-family:JetBrains Mono,monospace;font-size:10px;transition:all .15s}.al-btn:hover{color:#ff8c42;border-color:#ff8c42}.al-btn:disabled{opacity:.4;cursor:not-allowed}.al-btn-clear{background:0 0}.al-filters{background:#0a0b0d;border:1px solid #1a1c1e;margin-bottom:14px;padding:12px 14px}.al-fhdr{color:#7a7d7a;letter-spacing:1.8px;align-items:center;gap:5px;margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:9px;display:flex}.al-fgrid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.al-fitem{flex-direction:column;gap:4px;display:flex}.al-fitem.al-fitem-wide{grid-column:span 2}.al-fitem label{color:#7a7d7a;letter-spacing:1.2px;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:8.5px}.al-fitem select,.al-fitem input{color:#e8e8e6;background:#0c0d0f;border:1px solid #2a2c2e;padding:5px 8px;font-family:JetBrains Mono,monospace;font-size:11px}.al-fitem select:focus,.al-fitem input:focus{border-color:#ff8c42;outline:none}.al-err{color:#ff5470;background:#ff547014;border:1px solid #ff5470;margin-bottom:10px;padding:10px;font-family:JetBrains Mono,monospace;font-size:11px}.al-table-wrap{background:#0a0b0d;border:1px solid #1a1c1e;overflow-x:auto}.al-table{border-collapse:collapse;width:100%;font-family:JetBrains Mono,monospace;font-size:10.5px}.al-table th{text-align:left;color:#7a7d7a;letter-spacing:1.5px;text-transform:uppercase;background:#070809;border-bottom:1px solid #1a1c1e;padding:8px 10px;font-size:9px;font-weight:500}.al-table td{color:#c5c7c4;border-bottom:1px solid #15171a;padding:7px 10px}.al-table tbody tr{cursor:pointer;transition:background .1s}.al-table tbody tr:hover{background:#0f1113}.al-table tr.al-failed{background:#ff54700a}.al-table tr.al-failed:hover{background:#ff547014}.al-time{color:#7a7d7a;white-space:nowrap}.al-sev{vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.al-actor{color:#e8e8e6;font-weight:700}.al-role{color:#5a5d5a;margin-left:6px;font-size:9px}.al-ip,.al-mute{color:#5a5d5a}.al-detail{text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.al-fail-tag{color:#0c0d0f;letter-spacing:1px;background:#ff5470;padding:1px 6px;font-size:9px;font-weight:700}.al-loading,.al-empty{text-align:center;color:#7a7d7a;padding:24px;font-family:JetBrains Mono,monospace;font-size:11px}.al-pagination{color:#7a7d7a;justify-content:center;align-items:center;gap:14px;margin-top:14px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.al-detail-overlay{z-index:100;background:#000000b3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.al-detail-panel{background:#0a0b0d;border:1px solid #1a1c1e;border-top:3px solid #ff8c42;flex-direction:column;width:700px;max-width:100%;max-height:90vh;display:flex;overflow:hidden}.al-detail-hdr{letter-spacing:2px;color:#ff8c42;border-bottom:1px solid #1a1c1e;justify-content:space-between;align-items:center;padding:12px 16px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.al-detail-hdr button{color:#7a7d7a;cursor:pointer;background:0 0;border:1px solid #2a2c2e;padding:4px}.al-detail-hdr button:hover{color:#ff8c42;border-color:#ff8c42}.al-detail-body{padding:14px 16px;font-family:JetBrains Mono,monospace;font-size:11px;overflow-y:auto}.al-dl{gap:8px;padding:4px 0;display:flex}.al-dl>span:first-child{color:#7a7d7a;flex-shrink:0;min-width:100px}.al-dl>b,.al-dl>span:last-child,.al-dl>code{color:#e8e8e6;word-break:break-word}.al-dl code{background:#15171a;padding:0 5px;font-size:10px}.al-detail-body hr{border:none;border-top:1px solid #1a1c1e;margin:8px 0}.al-diff-hdr{color:#ff8c42;letter-spacing:1.5px;margin:8px 0 6px;font-size:9px}.al-diff-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.al-diff-label{letter-spacing:1px;margin-bottom:3px;padding:2px 6px;font-size:8.5px;display:inline-block}.al-diff-old{color:#ff5470;background:#ff54701a}.al-diff-new{color:#5fd896;background:#5fd8961a}.al-diff-box{color:#c5c7c4;white-space:pre;background:#070809;border:1px solid #15171a;max-height:250px;padding:8px;font-size:10px;overflow-x:auto}@media (width<=1024px){.al-root{min-height:0;padding:0}.al-topbar{flex-wrap:wrap;gap:10px;margin-bottom:12px}.al-actions{flex-wrap:wrap;gap:6px;margin-left:0}.al-h1{font-size:16px}}@media (width<=640px){.al-h1{font-size:15px}.al-l1{font-size:8px}.al-fgrid{grid-template-columns:1fr 1fr}.al-fitem-wide{grid-column:span 2}.al-fitem select,.al-fitem input{padding:7px 9px;font-size:16px!important}.al-table{min-width:720px;font-size:10px}.al-table th,.al-table td{padding:6px 8px}.al-detail{max-width:200px}.al-detail-overlay{padding:12px}.al-detail-panel{max-height:92vh}.al-detail-hdr,.al-detail-body{padding-left:12px;padding-right:12px}.al-dl>span:first-child{min-width:80px;font-size:10px}.al-diff-grid{grid-template-columns:1fr;gap:12px}.al-diff-box{max-height:200px;font-size:9.5px}.al-pagination{flex-wrap:wrap;gap:8px;font-size:10px}.al-filters{padding:10px 12px}.al-btn{padding:8px 12px;font-size:10px}}.al-root{max-width:100%;overflow-x:hidden}.al-table-wrap{width:100%;max-width:100%;display:block}.al-filters{max-width:100%}@media (width<=640px){.al-fgrid{gap:8px;grid-template-columns:1fr!important}.al-fitem-wide{grid-column:span 1!important}.al-fitem select,.al-fitem input{box-sizing:border-box;width:100%;padding:8px 10px;font-size:16px!important}}.al-fhdr-toggle{text-align:left;cursor:pointer;width:100%;color:inherit;font-family:inherit;font-size:inherit;letter-spacing:inherit;background:0 0;border:none;align-items:center;gap:5px;padding:0;display:flex}.al-fhdr-count{color:#0c0d0f;letter-spacing:.5px;background:#ff8c42;margin-left:6px;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700}.al-fhdr-chev{margin-left:auto;transition:transform .2s;display:none}@media (width<=1024px){.al-fhdr-chev{display:inline-block}.al-fhdr-toggle{padding:6px 0}.al-filters.open .al-fhdr-chev{transform:rotate(180deg)}.al-filters.closed .al-fgrid{display:none}}
