*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0c1019;--bg2:#141926;--bg3:#1b2130;--border:#2b3448;--border2:#3b465c;--text:#f1f5f9;--text2:#94a3b8;--text3:#64748b;--accent:#f37a45;--blue:#3b82f6;--green:#22c55e;--yellow:#f59e0b;--red:#ef4444;--purple:#8b5cf6;--cyan:#06b6d4}html,body,#root{height:100%;overflow:hidden}body{background:radial-gradient(circle at 75% -20%, #242c42 0, transparent 34%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}input,select,button,textarea{font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;box-shadow:0 0 0 3px #f2652924;border-color:var(--accent)!important}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:not(:disabled){-webkit-tap-highlight-color:transparent}button:not(:disabled):active{transform:translateY(1px)}select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#94a3b8 50%),linear-gradient(135deg,#94a3b8 50%,#0000 50%)!important;background-position:calc(100% - 15px),calc(100% - 10px)!important;background-repeat:no-repeat!important;background-size:5px 5px,5px 5px!important}input[type=checkbox]{appearance:none;cursor:pointer;background:#111522;border:1px solid #4b556d;border-radius:5px;flex:none;place-content:center;width:18px;height:18px;margin:0;transition:background .16s,border-color .16s,box-shadow .16s;display:inline-grid}input[type=checkbox]:before{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:8px;height:4px;margin-top:-2px;transition:transform .14s;transform:rotate(-45deg)scale(0)}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 3px #f2652924}input[type=checkbox]:checked:before{transform:rotate(-45deg)scale(1)}input[type=checkbox]:focus-visible{outline-offset:2px;outline:2px solid #f26529bf}input:not([type=checkbox]),select,textarea{background-color:#101623!important;border-color:#354057!important;border-radius:10px!important;transition:border-color .18s,box-shadow .18s,background-color .18s!important}input:not([type=checkbox]):hover,select:hover,textarea:hover{border-color:#536078!important}option{color:var(--text);background:#161d2b}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadein{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.animate-in{animation:.28s cubic-bezier(.2,.8,.2,1) fadein}.app-shell{background:radial-gradient(circle at 70% -10%, #485b823d, transparent 32%), var(--bg)!important}.app-sidebar{background:linear-gradient(#171d2b 0%,#111722 100%)!important;border-color:#94a3b81f!important}.app-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#141926d1!important;border-color:#94a3b81f!important}.app-content{background:linear-gradient(135deg,#161c2a61,#0000 42%)}.app-navigation a>div{transition:background .18s,color .18s,transform .18s!important}.app-navigation a:hover>div{transform:translate(2px);background:#94a3b81a!important}.login-page{background:radial-gradient(circle at 50% -10%, #283650 0%, var(--bg) 48%)!important}.login-card{box-shadow:0 28px 80px #00000057;border-color:#94a3b82e!important}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.station-grid{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:16px;display:grid}.dashboard-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.status-summary-card{overflow:hidden}.status-summary-card__top{justify-content:space-between;align-items:end;gap:12px;margin-bottom:14px;display:flex}.status-summary-card__title{color:var(--text2);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.status-summary-card__total{color:var(--text);font-variant-numeric:tabular-nums;margin-top:2px;font-size:30px;font-weight:750;line-height:1.1}.status-summary-card__caption{color:var(--text3);padding-bottom:3px;font-size:12px}.status-strip{background:#101623;border-radius:999px;width:100%;height:10px;display:flex;overflow:hidden;box-shadow:inset 0 1px 2px #00000059}.status-strip span{min-width:0;transition:width .45s cubic-bezier(.2,.8,.2,1)}.status-summary-card__legend{flex-wrap:wrap;gap:8px 14px;margin-top:13px;display:flex}.status-summary-card__item{align-items:center;gap:6px;min-width:0;font-size:12px;display:inline-flex}.status-summary-card__item>span:first-child{border-radius:50%;flex:none;width:7px;height:7px}.status-summary-card__label{color:var(--text2);white-space:nowrap}.status-summary-card__item b{font-variant-numeric:tabular-nums}.station-sections{gap:28px;display:grid}.station-section{min-width:0}.station-group-heading{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #94a3b82e;align-items:center;gap:10px;margin-bottom:14px;padding:0 0 12px;transition:border-color .18s;display:flex}.station-group-heading:hover{border-bottom-color:#94a3b857}.station-group-heading.has-faults{border-bottom-color:#ef44446b}.station-group-heading.has-faults .station-group-heading__icon{color:var(--red);background:#ef44441f}.station-group-heading__icon{color:var(--accent);background:#f265291c;border-radius:9px;padding:7px;display:inline-flex}.station-group-heading__title{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;overflow:hidden}.station-group-heading__meta{color:var(--text3);white-space:nowrap;flex:none;font-size:12px}.station-group-heading__meta b{color:var(--green);font-weight:700}.station-group-heading svg:last-child{color:var(--text3);flex:none;transition:transform .2s}.station-group-heading svg.is-collapsed{transform:rotate(-90deg)}.station-group-heading__title{flex:0 auto;max-width:240px}.station-group-heading__alarm{min-width:21px;height:21px;color:var(--red);font-variant-numeric:tabular-nums;background:#ef444424;border:1px solid #ef444466;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 7px;font-size:11px;font-weight:700;animation:1.8s ease-in-out infinite pulse;display:inline-flex}@media (width<=420px){.group-pulse{flex-wrap:wrap;row-gap:6px}.group-pulse__strip{flex:100%;width:auto}}.group-pulse{justify-content:flex-end;align-items:center;gap:16px;min-width:0;margin-left:auto;display:flex}.group-pulse__strip{background:#101623;border-radius:999px;flex:0 240px;width:240px;min-width:90px;height:8px;display:flex;overflow:hidden;box-shadow:inset 0 1px 2px #00000059}.group-pulse__strip>span{min-width:0;transition:width .45s cubic-bezier(.2,.8,.2,1)}.group-pulse__count{color:var(--text2);font-variant-numeric:tabular-nums;text-align:right;flex:none;min-width:18px;font-size:13px;font-weight:700}.app-tabs{background:#0f141fb3;border-radius:12px;gap:4px;padding:4px;overflow-x:auto;border:1px solid #94a3b81f!important}.app-tabs .app-tab{border-radius:8px;border:0!important;margin:0!important;padding:8px 14px!important;transition:background .18s,color .18s,transform .18s!important}.app-tabs .app-tab:hover{background:#94a3b81a!important}.app-tabs .app-tab.is-active{background:#f37a4524!important}.app-section-header{min-height:40px}.app-section-header h2{letter-spacing:-.02em}table{border-collapse:separate;border-spacing:0}thead th{color:var(--text2);letter-spacing:.035em;text-transform:uppercase;font-size:11px;font-weight:600}tbody tr{transition:background .16s}tbody tr:hover{background:#94a3b80b}.info-grid{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));align-items:stretch;gap:12px;display:grid}.info-grid>.app-card{flex-direction:column;justify-content:center;display:flex}.status-dot-pulse{animation:2s ease-in-out infinite pulse}@keyframes status-dot-pulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0}50%{opacity:.8;box-shadow:0 0 0 4px color-mix(in srgb, currentColor 15%, transparent);transform:scale(1.35)}}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:8px;display:grid}.two-col-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.dashboard-toolbar,.page-title-row,.command-row,.reset-row,.filters-row{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.dashboard-toolbar{background:#1b21309e;border:1px solid #94a3b81c;border-radius:14px;padding:12px}.dashboard-toolbar button:not([style*="background: none"]){transition:transform .18s,border-color .18s,background .18s,color .18s!important}.segmented-control{background:#111623;border:1px solid #94a3b826;border-radius:10px;align-items:center;gap:3px;padding:3px;display:inline-flex}.segmented-control button{color:var(--text2);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:6px 10px;font-size:12px;font-weight:600;transition:color .18s,background .18s,box-shadow .18s}.segmented-control button:hover{color:var(--text);background:#94a3b81a}.segmented-control button.is-active{color:#fff;background:var(--accent);box-shadow:0 2px 8px #f37a453d}.dashboard-toolbar,.filters-row,.command-row{flex-wrap:wrap}.mobile-stack-card{min-width:0}.transaction-row{grid-template-columns:minmax(56px,auto) minmax(0,1fr) auto;align-items:center;gap:12px;display:grid;overflow-x:hidden}.user-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.error-log-row,.station-log-row,.station-log-head{gap:0 12px;min-width:0;display:grid}.error-log-row{grid-template-columns:24px 120px 120px 100px minmax(0,1fr)}.error-detail-row{grid-template-columns:76px minmax(90px,150px) minmax(100px,140px) 1fr;gap:12px;min-width:0;display:grid}.station-log-row,.station-log-head{grid-template-columns:24px 140px 100px 120px minmax(0,1fr)}.chart-scroll{width:100%;overflow:auto hidden}.chart-min{min-width:0}.tabs-scroll{scrollbar-width:thin;overflow:auto hidden}.section-header{min-width:0}@media (width<=768px){:root{--card-padding:1rem}body{font-size:13px}input,select,textarea{font-size:16px!important}.filters-row>div{flex:100%}.transaction-row{padding:4px 0}.transaction-row>div:first-child{text-align:left;align-items:baseline;gap:8px;display:flex}.transaction-row>div:last-child{flex-wrap:wrap;flex-direction:row!important;align-items:flex-start!important;gap:8px!important}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.station-grid,.info-grid,.metric-grid,.two-col-grid,.form-grid{grid-template-columns:1fr}.dashboard-summary-grid{grid-template-columns:1fr!important}.station-sections{gap:22px}.station-group-heading{flex-wrap:wrap;gap:8px 10px;margin-bottom:10px}.station-group-heading__title{flex:auto;max-width:none;font-size:15px}.station-group-heading svg:last-child{margin-left:auto}.group-pulse{flex-basis:100%;order:3;justify-content:space-between;gap:12px;margin-left:0}.group-pulse__strip{flex:auto;width:auto}.groups-workspace{grid-template-columns:1fr!important;gap:12px!important}.dashboard-toolbar,.page-title-row,.command-row,.reset-row,.filters-row,.section-header{align-items:stretch}.dashboard-toolbar{padding:10px;gap:8px!important}.dashboard-toolbar>span{width:100%}.page-title-row{flex-wrap:wrap;align-items:center;gap:8px}.dashboard-toolbar>*,.filters-row>*,.command-row>*,.reset-row>*,.section-header>button,.section-header>.app-card,.section-header>:last-child{max-width:100%}.dashboard-toolbar input,.filters-row input,.filters-row select,.command-row input,.command-row select,.reset-row select,.command-row button,.reset-row button{width:100%!important}.transaction-row,.user-row,.error-log-row,.station-log-row,.error-detail-row{grid-template-columns:1fr;gap:6px}.station-log-head{display:none!important}.error-log-row,.station-log-row{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;padding:10px 12px!important}.mobile-stack-card{flex-direction:column!important;align-items:flex-start!important}.mobile-full{width:100%!important}.mobile-hide{display:none!important}.chart-min{min-width:560px}.login-card{width:100%!important;padding:1.25rem!important}}@media (width<=480px){:root{--card-padding:.875rem}.kpi-grid{grid-template-columns:1fr}.app-card{border-radius:10px!important}.tabs-scroll button{padding-inline:14px!important}}
