.sidebar{width:240px;flex-shrink:0;background:var(--graphite-900);border-right:3px solid var(--graphite-700);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;z-index:40}.sidebar-plate{display:flex;align-items:center;gap:10px;padding:18px 16px;border-bottom:3px solid var(--graphite-700);background:var(--hazard-stripes);background-size:200% 200%}.sidebar-plate-mark{font-size:24px;color:var(--graphite-950);background:var(--graphite-950);color:var(--safety-yellow);width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:4px;border:2px solid var(--graphite-950)}.sidebar-plate-title{font-size:15px;font-weight:800;color:var(--graphite-950);letter-spacing:.06em}.sidebar-plate-sub{font-size:10px;color:var(--graphite-950);opacity:.75;font-family:var(--font-mono);text-transform:uppercase}.sidebar-nav{flex:1;overflow-y:auto;padding:10px 0 16px}.sidebar-group{padding:6px 0}.sidebar-group-label{font-size:10px;color:var(--text-muted);letter-spacing:.14em;padding:10px 16px 6px;font-weight:700}.sidebar-group ul{list-style:none;margin:0;padding:0}.sidebar-link{display:flex;align-items:center;gap:10px;padding:9px 16px;color:var(--text-secondary);text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;border-left:3px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease}.sidebar-link:hover{background:var(--graphite-800);color:var(--text-primary)}.sidebar-link.active{background:var(--graphite-800);color:var(--safety-yellow);border-left-color:var(--safety-yellow)}.sidebar-footer{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:3px solid var(--graphite-700);font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.sidebar-footer-light{width:9px;height:9px;border-radius:50%;background:var(--state-run);box-shadow:0 0 8px var(--state-run);animation:pulse-dot 2.4s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.sidebar-scrim{display:none}@media(max-width:900px){.sidebar{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform .25s ease;box-shadow:var(--shadow-panel)}.sidebar-open{transform:translate(0)}.sidebar-scrim{display:block;position:fixed;inset:0;background:#00000080;z-index:30}}.andonbar{display:flex;align-items:center;gap:16px;height:56px;padding:0 16px;background:var(--graphite-900);border-bottom:3px solid var(--graphite-700);position:sticky;top:0;z-index:20}.andonbar-critical{border-bottom-color:var(--state-down);animation:andon-flash 1.6s ease-in-out infinite}@keyframes andon-flash{0%,to{box-shadow:inset 0 -3px 0 var(--state-down)}50%{box-shadow:inset 0 -3px 0 transparent}}.andonbar-menu{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:6px}.andonbar-menu span{width:20px;height:2px;background:var(--text-primary)}.andonbar-status{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.05em;white-space:nowrap}.andonbar-lamp{width:12px;height:12px;border-radius:50%;display:inline-block}.lamp-green{background:var(--state-run);box-shadow:0 0 10px var(--state-run)}.lamp-red{background:var(--state-down);box-shadow:0 0 10px var(--state-down);animation:pulse-dot 1s ease-in-out infinite}.andonbar-ticker{flex:1;overflow:hidden;height:100%;display:flex;align-items:center;border-left:1px solid var(--border-hairline);border-right:1px solid var(--border-hairline);padding:0 12px}.andonbar-ticker-track{display:flex;gap:32px;white-space:nowrap;animation:ticker-scroll 28s linear infinite}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.ticker-item{font-size:12px;color:var(--text-secondary);font-family:var(--font-mono)}.ticker-item strong{color:var(--text-primary);margin-right:4px}.ticker-critical strong{color:var(--state-down)}.ticker-warning strong{color:var(--state-idle)}.andonbar-link{display:flex;align-items:center;gap:6px;text-decoration:none;color:var(--text-primary);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--graphite-800);border:1px solid var(--border-hairline);padding:8px 12px;border-radius:var(--radius-sm);white-space:nowrap;transition:border-color .15s ease,color .15s ease}.andonbar-link:hover{border-color:var(--safety-yellow);color:var(--safety-yellow)}@media(max-width:900px){.andonbar-menu{display:flex}.andonbar-status-text{display:none}}@media(max-width:600px){.andonbar-link span{display:none}}.machine-tile{display:flex;flex-direction:column;gap:6px;background:var(--graphite-800);border:1px solid var(--border-hairline);border-left:4px solid var(--graphite-600);border-radius:var(--radius-sm);padding:12px;text-decoration:none;color:var(--text-primary);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;min-height:108px;position:relative}.machine-tile:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000059}.tile-running{border-left-color:var(--state-run)}.tile-idle{border-left-color:var(--state-idle)}.tile-down{border-left-color:var(--state-down);box-shadow:0 0 0 1px #e8483c66}.tile-blocked{border-left-color:var(--state-blocked)}.tile-maintenance{border-left-color:var(--state-maint)}.tile-down{animation:tile-alert 1.4s ease-in-out infinite}@keyframes tile-alert{0%,to{background:var(--graphite-800)}50%{background:#2a1616}}.machine-tile-top{display:flex;align-items:center;justify-content:space-between}.machine-tile-id{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:.05em}.machine-tile-lamp{width:9px;height:9px;border-radius:50%}.lamp-running{background:var(--state-run);box-shadow:0 0 6px var(--state-run)}.lamp-idle{background:var(--state-idle);box-shadow:0 0 6px var(--state-idle)}.lamp-down{background:var(--state-down);box-shadow:0 0 6px var(--state-down);animation:pulse-dot .8s ease-in-out infinite}.lamp-blocked{background:var(--state-blocked);box-shadow:0 0 6px var(--state-blocked)}.lamp-maintenance{background:var(--state-maint);box-shadow:0 0 6px var(--state-maint)}.machine-tile-name{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.machine-tile-oee{display:flex;align-items:baseline;gap:4px;margin-top:auto}.machine-tile-oee-value{font-size:22px;font-weight:800;font-family:var(--font-mono)}.machine-tile-oee-unit{font-size:10px;color:var(--text-muted);text-transform:uppercase}.machine-tile-line{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.floor-map{display:grid;gap:10px;background:var(--graphite-950);background-image:linear-gradient(var(--border-hairline) 1px,transparent 1px),linear-gradient(90deg,var(--border-hairline) 1px,transparent 1px);background-size:24px 24px;padding:14px;border:1px dashed var(--graphite-600);border-radius:var(--radius-md)}.floor-map-cell{min-width:0;min-height:0}@media(max-width:900px){.floor-map{grid-template-columns:repeat(2,1fr)!important;grid-template-rows:none!important}.floor-map-cell{grid-column:auto!important;grid-row:auto!important}}@media(max-width:480px){.floor-map{grid-template-columns:1fr!important}}.stat-card{background:var(--graphite-900);border:1px solid var(--border-hairline);border-top:3px solid var(--safety-yellow);border-radius:var(--radius-sm);padding:14px 16px}.stat-card-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.stat-card-value{font-size:28px;font-weight:800;font-family:var(--font-mono);color:var(--text-primary)}.stat-card-unit{font-size:13px;color:var(--text-muted);margin-left:4px;font-weight:600}.stat-card-delta{font-size:11px;font-weight:700;margin-top:6px}.delta-good{color:var(--state-run)}.delta-bad{color:var(--state-down)}.stat-card-hint{font-size:11px;color:var(--text-muted);margin-top:6px}.gauge-chart{display:flex;flex-direction:column;align-items:center;gap:4px}.gauge-value{font-family:var(--font-mono);font-size:26px;font-weight:800}.gauge-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.skeleton-block{display:flex;flex-direction:column;gap:10px}.skeleton-line{border-radius:3px;background:linear-gradient(90deg,var(--graphite-800) 25%,var(--graphite-700) 37%,var(--graphite-800) 63%);background-size:400% 100%;animation:skeleton-sweep 1.4s ease infinite}@keyframes skeleton-sweep{0%{background-position:100% 50%}to{background-position:0 50%}}.dash-side{display:flex;flex-direction:column}.dash-gauges{display:flex;flex-wrap:wrap;justify-content:space-around;gap:12px}.tiny-trend{display:flex;align-items:flex-end;gap:10px;height:120px}.tiny-trend-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;gap:6px}.tiny-trend-bar{width:100%;background:var(--safety-yellow);border-radius:2px 2px 0 0;animation:bar-grow-v .6s ease both}@keyframes bar-grow-v{0%{height:0!important}}.tiny-trend-label{font-size:10px;color:var(--text-muted);text-transform:uppercase}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:40px 20px}.empty-state-message{font-size:13px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.empty-state-hint{font-size:12px;color:var(--text-muted);max-width:320px}.data-table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table thead th{text-align:left;padding:10px 12px;border-bottom:2px solid var(--graphite-700);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);white-space:nowrap}.th-sort{background:none;border:none;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:0}.th-sort-arrow{font-size:8px;opacity:.3;transition:transform .15s ease}.th-sort-arrow.active{opacity:1;color:var(--safety-yellow)}.th-sort-arrow.dir-desc{transform:rotate(180deg)}.data-table tbody tr{border-bottom:1px solid var(--border-hairline);transition:background .12s ease}.data-table tbody tr:hover{background:var(--graphite-800)}.row-clickable{cursor:pointer}.data-table td{padding:10px 12px;color:var(--text-primary);white-space:nowrap}.state-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.state-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.state-running .state-dot{animation:pulse-dot 2s ease-in-out infinite}.state-down .state-dot{animation:pulse-dot .8s ease-in-out infinite}.machines-filters{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.machines-filters .field{min-width:160px}.error-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;background:var(--graphite-950);background-image:var(--hazard-stripes);background-size:200% 200%;position:relative}.error-screen:before{content:"";position:absolute;inset:18px;background:var(--graphite-950);border-radius:8px}.error-screen>*{position:relative;z-index:1}.error-screen-art{margin-bottom:12px}.error-screen-code{font-family:var(--font-mono);font-size:96px;font-weight:800;color:var(--safety-yellow);line-height:1;text-shadow:0 0 30px var(--safety-yellow-glow)}.error-screen-title{font-size:22px;margin-top:8px}.error-screen-message{max-width:420px;margin-top:10px;font-size:14px}.error-screen-hint{max-width:420px;margin-top:6px;font-size:12px;color:var(--text-muted)}.error-screen-actions{display:flex;gap:12px;margin-top:24px}.alert-banner{padding:12px 16px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:16px;border-left:4px solid}.alert-critical{background:#e8483c1f;border-color:var(--state-down);color:var(--text-primary)}.alert-warning{background:#f7c6001a;border-color:var(--state-idle);color:var(--text-primary)}.alert-info{background:#4aa3df1f;border-color:var(--state-maint);color:var(--text-primary)}.md-specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.md-spec{display:flex;flex-direction:column;gap:2px}.md-spec-label{font-size:10px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.06em}.md-spec-value{font-family:var(--font-mono);font-size:18px;font-weight:700}.md-spec-target{font-size:10px;color:var(--text-muted)}.md-gauges{display:flex;justify-content:space-around;flex-wrap:wrap;gap:8px}.md-overall{text-align:center;padding:10px;border-top:1px solid var(--border-hairline);font-size:13px;color:var(--text-secondary)}.md-overall strong{color:var(--safety-yellow);font-family:var(--font-mono);font-size:16px}.md-event-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.md-event-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--border-hairline);font-size:12px;flex-wrap:wrap}.md-event-time{font-family:var(--font-mono);color:var(--text-muted);min-width:90px}.md-event-reason{flex:1;color:var(--text-primary)}.md-event-duration{font-family:var(--font-mono);color:var(--text-secondary)}.tag-queued{background:var(--graphite-700);color:var(--text-secondary)}.trend-chart{display:block}.trend-line{stroke-dasharray:1400;stroke-dashoffset:1400;animation:trend-draw 1.1s ease forwards}@keyframes trend-draw{to{stroke-dashoffset:0}}.trend-axis-label{font-family:var(--font-mono);font-size:10px;fill:var(--text-muted)}.bar-chart{display:flex;flex-direction:column;gap:10px}.bar-chart-row{display:grid;grid-template-columns:160px 1fr 56px;align-items:center;gap:10px}.bar-chart-label{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-chart-track{background:var(--graphite-800);border-radius:2px;overflow:hidden}.bar-chart-fill{height:100%;border-radius:2px;transition:width .6s cubic-bezier(.16,1,.3,1);animation:bar-grow .6s ease both}@keyframes bar-grow{0%{width:0!important}}.bar-chart-value{font-family:var(--font-mono);font-size:12px;color:var(--text-primary);text-align:right}@media(max-width:600px){.bar-chart-row{grid-template-columns:90px 1fr 44px}}.oee-gauge-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:center}.oee-sub-gauges{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;border-left:1px solid var(--border-hairline);padding-left:20px}@media(max-width:640px){.oee-sub-gauges{border-left:none;padding-left:0;border-top:1px solid var(--border-hairline);padding-top:16px}}.drawer-scrim{position:fixed;inset:0;background:#0000008c;z-index:60;display:flex;justify-content:flex-end;animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.drawer-panel{width:min(440px,100%);height:100%;background:var(--graphite-900);border-left:4px solid var(--safety-yellow);display:flex;flex-direction:column;animation:drawer-in .28s cubic-bezier(.16,1,.3,1)}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;padding:18px;border-bottom:1px solid var(--border-hairline)}.drawer-title{font-size:18px;margin-top:4px}.drawer-close{background:var(--graphite-800);border:1px solid var(--border-hairline);color:var(--text-primary);width:30px;height:30px;border-radius:var(--radius-sm);cursor:pointer}.drawer-close:hover{border-color:var(--safety-yellow);color:var(--safety-yellow)}.drawer-body{padding:18px;overflow-y:auto;flex:1}.tag-open{background:#e8483c26;color:var(--state-down)}.downtime-detail{display:flex;flex-direction:column;gap:12px}.downtime-row{display:flex;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--border-hairline);font-size:13px}.downtime-row-label{color:var(--text-muted);text-transform:uppercase;font-size:11px;letter-spacing:.05em}.downtime-row-value{color:var(--text-primary);font-weight:600;text-transform:capitalize}.maint-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.maint-team-card{background:var(--graphite-900);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);padding:14px}.maint-team-name{font-weight:700;text-transform:uppercase;font-size:13px;margin-bottom:8px}.maint-team-stats{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary);font-family:var(--font-mono)}.priority-pill{padding:3px 8px;border-radius:2px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.priority-critical{background:#e8483c2e;color:var(--state-down)}.priority-high{background:#ff8a3d2e;color:var(--state-blocked)}.priority-medium{background:#f7c60026;color:var(--state-idle)}.priority-low,.tag-queued{background:var(--graphite-700);color:var(--text-secondary)}.tag-in-progress{background:#4aa3df2e;color:var(--state-maint)}.tag-closed{background:#3ecf5f26;color:var(--state-run)}.wo-progress{display:flex;align-items:center;gap:10px;min-width:180px}.wo-progress-track{flex:1;height:8px;background:var(--graphite-800);border-radius:4px;overflow:hidden}.wo-progress-fill{height:100%;background:var(--safety-yellow);border-radius:4px;transition:width .5s ease}.tag-running{background:#4aa3df2e;color:var(--state-maint)}.tag-at-risk{background:#ff8a3d2e;color:var(--state-blocked)}.tag-complete{background:#3ecf5f26;color:var(--state-run)}.andon-list{display:flex;flex-direction:column;gap:10px}.andon-card{display:flex;align-items:center;gap:14px;background:var(--graphite-900);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);padding:14px 16px}.severity-critical{border-left:4px solid var(--state-down)}.severity-warning{border-left:4px solid var(--state-idle)}.severity-info{border-left:4px solid var(--state-maint)}.andon-card-blink{animation:card-blink 1.5s ease-in-out infinite}@keyframes card-blink{0%,to{background:var(--graphite-900)}50%{background:#2a1616}}.andon-lamp{width:12px;height:12px;border-radius:50%;flex-shrink:0}.andon-card-body{flex:1;min-width:0}.andon-card-top{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--text-secondary);font-family:var(--font-mono)}.andon-card-message{font-size:14px;color:var(--text-primary);margin:4px 0}.andon-card-tag{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}@media(max-width:600px){.andon-card{flex-wrap:wrap}}.tag-on-floor{background:#3ecf5f26;color:var(--state-run)}.tag-off-shift{background:var(--graphite-700);color:var(--text-muted)}.quality-fpy{display:flex;justify-content:space-around;flex-wrap:wrap;gap:12px}.tag-pass{background:#3ecf5f26;color:var(--state-run)}.tag-fail{background:#e8483c26;color:var(--state-down)}.inv-qty{font-family:var(--font-mono);font-weight:700}.inv-qty-low{color:var(--state-down)}.inv-min{font-family:var(--font-mono);color:var(--text-muted);font-weight:400;font-size:11px}.reports-form{display:flex;flex-direction:column;gap:14px}.reports-generated{background:#3ecf5f1a;border-left:3px solid var(--state-run);padding:10px 12px;font-size:12px;border-radius:var(--radius-sm);color:var(--text-primary)}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.settings-toggles{display:flex;flex-direction:column;gap:12px}.settings-actions{display:flex;align-items:center;gap:14px;border-top:1px solid var(--border-hairline)}.settings-saved{color:var(--state-run);font-size:12px;font-weight:600}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--graphite-950)}.auth-panel{background:var(--graphite-900);border-right:3px solid var(--graphite-700);display:flex;flex-direction:column;padding:32px;position:relative}.auth-panel-mark{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;letter-spacing:.08em;color:var(--safety-yellow)}.auth-panel-lamp{width:10px;height:10px;border-radius:50%;background:var(--safety-yellow);box-shadow:0 0 8px var(--safety-yellow-glow);animation:pulse-dot 2s ease-in-out infinite}.auth-panel-art{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.auth-panel-copy h2{font-size:22px;text-transform:none;margin-bottom:8px}.auth-panel-copy p{font-size:13px;max-width:340px}.auth-form-side{display:flex;align-items:center;justify-content:center;padding:32px}.auth-form-wrap{width:100%;max-width:380px;display:flex;flex-direction:column;gap:16px}.auth-title{font-size:24px}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-password-field{position:relative}.auth-password-toggle{position:absolute;right:8px;top:30px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px}.auth-password-toggle:hover{color:var(--safety-yellow)}.auth-strength{display:flex;gap:4px;height:4px}.auth-strength-seg{flex:1;border-radius:2px;background:var(--graphite-700)}.auth-strength-seg.active-weak{background:var(--state-down)}.auth-strength-seg.active-fair{background:var(--state-idle)}.auth-strength-seg.active-strong{background:var(--state-run)}.auth-strength-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.auth-remember-row{display:flex;align-items:center;justify-content:space-between;font-size:12px}.auth-link{color:var(--safety-yellow);text-decoration:none;font-weight:600}.auth-link:hover{text-decoration:underline}.auth-switch{font-size:13px;color:var(--text-secondary);text-align:center}@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-panel{display:none}}.app-shell{display:flex;min-height:100vh;background:var(--graphite-950)}.app-main{flex:1;min-width:0;display:flex;flex-direction:column}.app-content{flex:1;padding:24px;max-width:1400px;width:100%;margin:0 auto}@media(max-width:600px){.app-content{padding:14px}}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:16px;border-bottom:3px solid var(--graphite-700)}.page-header-title{display:flex;flex-direction:column;gap:4px}.page-kicker{font-family:var(--font-mono);font-size:11px;color:var(--safety-yellow);letter-spacing:.14em;text-transform:uppercase}.page-title{font-size:26px;letter-spacing:.01em}.page-desc{font-size:13px;max-width:560px}.page-actions{display:flex;gap:10px;flex-wrap:wrap}.panel{background:var(--graphite-900);border:1px solid var(--border-hairline);border-radius:var(--radius-md)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border-hairline)}.panel-title{font-size:14px;letter-spacing:.04em}.panel-body{padding:16px}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:var(--radius-sm);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--border-hairline);background:var(--graphite-800);color:var(--text-primary);cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease,transform .1s ease}.btn:hover{border-color:var(--safety-yellow);color:var(--safety-yellow)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--safety-yellow);border-color:var(--safety-yellow);color:var(--graphite-950)}.btn-primary:hover{background:var(--safety-yellow-dim);border-color:var(--safety-yellow-dim);color:var(--graphite-950)}.grid{display:grid;gap:16px}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:20px}.two-col{display:grid;grid-template-columns:2fr 1fr;gap:16px}@media(max-width:900px){.two-col{grid-template-columns:1fr}}.section-gap{margin-top:20px}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:2px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-mono)}:root{--graphite-950: #0d0e10;--graphite-900: #15171a;--graphite-800: #1d2024;--graphite-700: #282c31;--graphite-600: #383d44;--graphite-500: #4d545c;--graphite-400: #6b737c;--graphite-300: #9099a1;--safety-yellow: #f7c600;--safety-yellow-dim: #caa200;--safety-yellow-glow: rgba(247, 198, 0, .35);--state-run: #3ecf5f;--state-idle: #f7c600;--state-down: #e8483c;--state-blocked: #ff8a3d;--state-maint: #4aa3df;--text-primary: #f2f3f4;--text-secondary: #a7aeb6;--text-muted: #767e87;--border-hairline: #2c3036;--font-condensed: "Bahnschrift", "SF Compact Condensed", "Segoe UI Semibold Condensed", "Arial Narrow", "Helvetica Neue", sans-serif;--font-mono: "SF Mono", "Consolas", "Menlo", monospace;--radius-sm: 3px;--radius-md: 6px;--shadow-panel: 0 8px 24px rgba(0, 0, 0, .4);--hazard-stripes: repeating-linear-gradient( 135deg, var(--safety-yellow) 0px, var(--safety-yellow) 10px, var(--graphite-950) 10px, var(--graphite-950) 20px )}.field{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.field input,.field select,.field textarea{background:var(--graphite-800);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);color:var(--text-primary);padding:9px 10px;font-size:13px;font-family:var(--font-condensed);text-transform:none;letter-spacing:normal;font-weight:500}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--safety-yellow)}.field-error{color:var(--state-down);font-weight:600;text-transform:none;letter-spacing:normal;font-size:11px}.field-row{display:flex;gap:12px;flex-wrap:wrap}.checkbox-field{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);text-transform:none;letter-spacing:normal;font-weight:500}.checkbox-field input{width:16px;height:16px;accent-color:var(--safety-yellow)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--graphite-950);color:var(--text-primary)}body{font-family:var(--font-condensed);font-stretch:condensed;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-condensed);font-weight:700;letter-spacing:.01em;margin:0;text-transform:uppercase}p{margin:0;color:var(--text-secondary);line-height:1.5}a{color:inherit}button{font-family:inherit}::selection{background:var(--safety-yellow);color:var(--graphite-950)}:focus-visible{outline:2px solid var(--safety-yellow);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--graphite-900)}::-webkit-scrollbar-thumb{background:var(--graphite-600);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--graphite-500)}.hazard-rule{height:6px;background:var(--hazard-stripes);border-radius:2px}.page-enter{animation:page-in .32s ease both}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.page-enter{animation:none}*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
