*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0f1419;color:#e0e0e0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background:#1a1d23;min-height:100vh;overflow:hidden;position:relative}.App:before{background:radial-gradient(circle at 20% 50%,#1e232d80 0,#0000 50%),radial-gradient(circle at 80% 50%,#191e284d 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:0}.App>*{position:relative;z-index:1}.grace-period-banner{align-items:center;background:linear-gradient(90deg,#f59e0b,#d97706);box-shadow:0 2px 10px #f59e0b4d;color:#1a1d23;display:flex;font-size:14px;font-weight:500;gap:15px;justify-content:center;padding:10px 30px}.grace-period-icon{font-size:18px}.grace-period-text{flex:0 0 auto}.grace-period-text strong{font-weight:700}.grace-period-action{background:#0003;border-radius:15px;cursor:pointer;font-weight:600;padding:5px 15px;transition:all .2s ease}.grace-period-action:hover{background:#0000004d;transform:scale(1.02)}.app-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(180deg,#2a2e38,#23262e);border-bottom:2px solid #4299e1;box-shadow:0 4px 20px #00000080,0 2px 0 #4299e14d;justify-content:space-between;padding:12px 30px}.app-header,.header-left{align-items:center;display:flex}.header-left{flex:1 1;gap:25px}.app-logo{height:32px;margin-right:10px;width:auto}.header-left h1{color:#fff;font-family:Segoe UI,Roboto,sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;margin:0;text-shadow:0 2px 8px #4299e199,0 0 20px #4299e14d;text-transform:uppercase}.nav-buttons{gap:10px}.nav-btn-header,.nav-buttons{align-items:center;display:flex}.nav-btn-header{background:linear-gradient(135deg,#4299e133,#4299e11a);border:2px solid #4299e166;border-radius:4px;box-sizing:border-box;color:#e2e8f0;cursor:pointer;font-size:12px;font-weight:700;gap:8px;height:36px;letter-spacing:1.2px;overflow:hidden;padding:8px 20px;position:relative;text-transform:uppercase;transition:all .3s ease}.nav-btn-header:before{background:linear-gradient(90deg,#0000,#96a0aa33,#0000);content:"";height:100%;left:-100%;pointer-events:none;position:absolute;top:0;transition:left .5s ease;width:100%}.nav-btn-header:hover:before{left:100%}.nav-btn-header:hover{background:linear-gradient(135deg,#4299e159,#4299e133);border-color:#4299e1;box-shadow:0 0 20px #4299e166;transform:translateY(-1px)}.nav-btn-alert{animation:nav-btn-blink 1s infinite!important;background:linear-gradient(135deg,#ef44444d,#ef444426)!important;border-color:#ef4444cc!important}@keyframes nav-btn-blink{0%,to{box-shadow:0 0 8px #ef444499;opacity:1}50%{box-shadow:0 0 20px #ef4444e6;opacity:.7}}.nav-btn-alert-badge{align-items:center;background:#ef4444;border-radius:9px;color:#fff;display:inline-flex;font-size:10px;font-weight:700;height:18px;justify-content:center;line-height:1;margin-left:6px;min-width:18px;padding:0 4px}.nav-group-subbar{align-items:center;animation:subbarSlideIn .2s ease;background:linear-gradient(180deg,#0f172afa,#1e293bfa);border-bottom:2px solid #4299e166;box-shadow:0 4px 16px #0006;display:flex;gap:8px;left:0;padding:6px 16px;position:fixed;right:0;z-index:150}@keyframes subbarSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.nav-group-subbar-label{color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:1px;margin-right:8px;text-transform:uppercase;white-space:nowrap}.nav-group-subbar .nav-btn-header{font-size:11px;height:32px;padding:5px 16px}.nav-group-subbar-close{background:#ef444433;border:1px solid #ef444466;border-radius:4px;color:#f87171;cursor:pointer;font-size:14px;font-weight:700;line-height:1;margin-left:auto;padding:4px 10px;transition:all .15s}.nav-group-subbar-close:hover{background:#ef444466;color:#fff}.header-right{gap:20px}.header-right,.user-info{align-items:center;display:flex}.user-info{background:linear-gradient(135deg,#4299e126,#4299e114);border:2px solid #4299e14d;border-radius:4px;box-sizing:border-box;gap:12px;height:36px;padding:8px 20px}.user-name{color:#e2e8f0;font-size:13px;font-weight:600;letter-spacing:.5px}.user-name,.user-role{text-transform:uppercase}.user-role{border-radius:2px;font-size:10px;font-weight:900;letter-spacing:1.5px;overflow:hidden;padding:6px 14px;position:relative}.user-role:before{animation:role-shine 3s infinite;background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:200%}@keyframes role-shine{0%{left:-100%}50%,to{left:100%}}.role-admin{background:linear-gradient(135deg,#ff1744,#c51162);border:1px solid #ff4569;box-shadow:0 0 20px #ff174480,inset 0 1px 0 #fff3;color:#fff}.role-operator{background:linear-gradient(135deg,#ff9100,#ff6d00);border:1px solid #ffab40;box-shadow:0 0 20px #ff910080,inset 0 1px 0 #fff3;color:#fff}.role-viewer{background:linear-gradient(135deg,#00e676,#00c853);border:1px solid #69f0ae;box-shadow:0 0 20px #00e67680,inset 0 1px 0 #fff3;color:#fff}.logout-btn{align-items:center;background:linear-gradient(135deg,#ff174426,#ff17440d);border:2px solid #ff174466;border-radius:4px;box-sizing:border-box;color:#ff4569;cursor:pointer;display:flex;font-size:12px;font-weight:700;height:36px;letter-spacing:1.2px;padding:8px 20px;text-transform:uppercase;transition:all .3s ease}.logout-btn:hover{background:linear-gradient(135deg,#ff17444d,#ff174426);border-color:#ff1744;box-shadow:0 0 20px #ff174466;transform:translateY(-1px)}.shutdown-btn{align-items:center;background:linear-gradient(135deg,#dc262626,#dc26260d);border:2px solid #dc262666;border-radius:4px;box-sizing:border-box;color:#ef4444;cursor:pointer;display:flex;font-size:12px;font-weight:700;height:36px;letter-spacing:1.2px;padding:8px 20px;text-transform:uppercase;transition:all .3s ease}.shutdown-btn:hover{background:linear-gradient(135deg,#dc26264d,#dc262626);border-color:#dc2626;box-shadow:0 0 20px #dc262666;transform:translateY(-1px)}.shutdown-confirm-modal{background:#1e293b;border:1px solid #334155;border-radius:12px;box-shadow:0 25px 50px #00000080;max-width:90vw;width:420px}.shutdown-confirm-header{align-items:center;border-bottom:1px solid #334155;display:flex;justify-content:space-between;padding:20px 24px}.shutdown-confirm-header h2{color:#f1f5f9;font-size:18px;margin:0}.shutdown-confirm-body{color:#cbd5e1;font-size:14px;line-height:1.6;padding:24px}.shutdown-confirm-footer{border-top:1px solid #334155;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.shutdown-cancel-btn{background:#334155;border:1px solid #475569;border-radius:6px;color:#cbd5e1;cursor:pointer;font-size:13px;font-weight:600;padding:8px 20px;transition:all .2s ease}.shutdown-cancel-btn:hover{background:#475569}.shutdown-confirm-btn{background:#dc2626;border:1px solid #ef4444;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 20px;transition:all .2s ease}.shutdown-confirm-btn:hover{background:#b91c1c;box-shadow:0 0 15px #dc262666}.kiosk-mode-indicator{align-items:center;background:linear-gradient(135deg,#22c55e33,#16a34a4d);border:1px solid #22c55e80;border-radius:20px;box-shadow:0 2px 10px #22c55e33;color:#22c55e;display:flex;font-size:11px;font-weight:600;gap:8px;padding:6px 14px;pointer-events:none;position:fixed;right:10px;top:10px;z-index:9999}.kiosk-mode-indicator .kiosk-icon{animation:kiosk-pulse 2s infinite;background:#22c55e;border-radius:50%;height:8px;width:8px}@keyframes kiosk-pulse{0%,to{box-shadow:0 0 4px #22c55e99;opacity:1}50%{box-shadow:0 0 8px #22c55e66;opacity:.6}}.kiosk-overlay{bottom:0;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:-1}.header-instruments{align-items:center;display:flex;gap:8px;margin-left:15px}.header-instrument{align-items:center;border:1px solid #4299e14d;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;font-size:11px;gap:1px;justify-content:center;padding:4px 12px;transition:all .2s ease}.header-instrument:hover{border-color:#4299e1;box-shadow:0 0 10px #4299e14d;transform:translateY(-1px)}.header-instrument .instr-label{font-size:9px;letter-spacing:.5px;opacity:.7;text-transform:uppercase}.header-instrument .instr-value{font-family:Consolas,Monaco,monospace;font-size:14px;font-weight:600}.header-instrument .instr-unit{font-size:9px;opacity:.6}.header-instrument.gauge .mini-gauge{align-items:center;display:flex;height:36px;justify-content:center;position:relative;width:36px}.header-instrument.gauge .gauge-svg{height:100%;position:absolute;transform:rotate(-90deg);width:100%}.header-instrument.gauge .gauge-bg{fill:none;stroke:#334155;stroke-width:3}.header-instrument.gauge .gauge-fill{fill:none;stroke:#4ade80;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .3s ease}.header-instrument.gauge .gauge-text{font-size:10px;font-weight:600;z-index:1}.header-instrument.bar .mini-bar{background:#334155;border-radius:5px;height:10px;overflow:hidden;position:relative;width:70px}.header-instrument.bar .bar-fill{background:linear-gradient(90deg,#4ade80,#22c55e);border-radius:5px;height:100%;left:0;position:absolute;top:0;transition:width .3s ease}.header-instrument.bar .bar-value{color:#fff;font-size:8px;font-weight:600;line-height:10px;position:absolute;text-align:center;text-shadow:0 0 2px #00000080;width:100%}.dashboard-logout-panel{background:linear-gradient(135deg,#1a202ce6,#2d3748cc);border:1px solid #ffffff1a;border-radius:8px}.dashboard-logout-btn{font-size:14px;padding:12px 24px}.settings-btn{align-items:center;background:linear-gradient(135deg,#4299e133,#4299e11a);border:1px solid #4299e166;border-radius:4px;color:#e2e8f0;cursor:pointer;display:flex;font-size:18px;justify-content:center;padding:10px 14px;transition:all .3s ease}.settings-btn:hover{background:linear-gradient(135deg,#4299e159,#4299e133);border-color:#4299e1;box-shadow:0 0 20px #4299e180;transform:translateY(-1px) rotate(90deg)}.fullscreen-btn{align-items:center;background:linear-gradient(135deg,#4299e133,#4299e11a);border:1px solid #4299e166;border-radius:4px;color:#e2e8f0;cursor:pointer;display:flex;font-size:18px;justify-content:center;padding:10px 14px;transition:all .3s ease}.fullscreen-btn:hover{background:linear-gradient(135deg,#4299e159,#4299e133);border-color:#4299e1;box-shadow:0 0 20px #4299e180;transform:translateY(-1px)}.fullscreen-lock-btn{align-items:center;background:linear-gradient(135deg,#4299e133,#4299e11a);border:1px solid #4299e166;border-radius:4px;color:#e2e8f0;cursor:pointer;display:flex;font-size:18px;justify-content:center;padding:10px 14px;transition:all .3s ease}.fullscreen-lock-btn:hover{background:linear-gradient(135deg,#4299e159,#4299e133);border-color:#4299e1;box-shadow:0 0 20px #4299e180;transform:translateY(-1px)}.fullscreen-lock-btn.locked{animation:lock-pulse 2s infinite;background:linear-gradient(135deg,#ff174433,#ff17441a);border:1px solid #ff174499;box-shadow:0 0 25px #ff174480;color:#ff4569}.fullscreen-lock-btn.locked:hover{background:linear-gradient(135deg,#ff174459,#ff174433);border-color:#ff1744;box-shadow:0 0 35px #ff1744b3}@keyframes lock-pulse{0%,to{box-shadow:0 0 25px #ff174480}50%{box-shadow:0 0 35px #ff1744cc}}.read-only-badge{background:#ff9800;border-radius:12px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px;margin-left:10px;padding:4px 12px}.status-indicator{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#4299e126,#4299e114);border:2px solid #4299e14d;border-radius:4px;box-sizing:border-box;color:#e2e8f0;display:flex;font-size:12px;font-weight:700;gap:12px;height:36px;letter-spacing:1.2px;padding:8px 20px;text-transform:uppercase}.status-dot{border-radius:50%;height:10px;position:relative;width:10px}.status-dot:before{animation:pulse-ring 2s infinite;border-radius:50%;content:"";height:20px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:20px}.status-dot.connected{background:#0f8;box-shadow:0 0 15px #0f8,0 0 30px #00ff8880}.status-dot.connected:before{border:2px solid #0f8}.status-dot.disconnected{animation:pulse-slow 1.5s infinite;background:#f44;box-shadow:0 0 15px #f44}.status-dot.disconnected:before{animation:pulse-ring-disconnected 1.5s infinite;border:2px solid #f44}@keyframes pulse-ring{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}70%{opacity:0;transform:translate(-50%,-50%) scale(1.5)}to{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}@keyframes pulse-ring-disconnected{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(-50%,-50%) scale(1.3)}}@keyframes pulse-slow{0%,to{opacity:1}50%{opacity:.4}}.main-container{grid-gap:20px;display:grid;gap:20px;grid-auto-rows:1fr;grid-template-columns:350px 1fr 400px;height:calc(100vh - 80px);margin:0 auto;max-width:2400px;overflow:hidden;padding:20px}.main-container.two-column-layout{align-items:stretch!important;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:0!important;max-width:none}.main-container.two-column-layout>.left-panel{flex:1 1 auto;height:100%;min-width:0;overflow:hidden}.main-container.two-column-layout .left-panel .panel{border-bottom-right-radius:0;border-right:none;border-top-right-radius:0;box-shadow:none;height:100%;overflow:hidden}.main-container.two-column-layout .left-panel .panel:before{display:none}.main-container.two-column-layout>.right-panel>.panel:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.main-container.two-column-layout>.right-panel{flex:0 0 auto;height:100%;min-width:0}.resize-handle{align-items:center;background:#4299e126;border-left:1px solid #4299e14d;border-right:1px solid #4299e14d;cursor:col-resize!important;display:flex;flex-shrink:0;height:100%;justify-content:center;pointer-events:auto;position:relative;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:16px;z-index:100}.resize-handle *{cursor:col-resize!important;pointer-events:none}.resize-handle:hover{background:linear-gradient(90deg,#0000,#4299e133 25%,#4299e166 50%,#4299e133 75%,#0000)}.resize-handle:before{background:#646e784d;border-radius:1px;content:"";height:40px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:2px}.resize-handle:hover:before{background:#4299e199;box-shadow:0 0 8px #4299e166}.center-panel,.left-panel{display:flex;flex-direction:column;gap:20px;height:100%;overflow-y:auto}.center-panel>.panel{flex-shrink:0}.center-panel>.panel[style*="flex: 1"]{flex-shrink:1}.right-panel{gap:20px;overflow-y:auto}.panel,.right-panel{display:flex;flex-direction:column;height:100%}.panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#232832f2,#1e232de6);border:1px solid #4299e14d;border-radius:2px;box-shadow:0 0 0 1px #4299e14d,0 8px 24px #0009,inset 0 1px 0 #4299e126;overflow:auto;padding:20px;position:relative}.panel:before{background:linear-gradient(90deg,#0000,#4299e166 30%,#4299e1cc 50%,#4299e166 70%,#0000);box-shadow:0 0 10px #4299e199;content:"";height:3px;left:0;position:absolute;right:0;top:0}.panel h2{border-bottom:2px solid #4299e166;color:#e2e8f0;font-size:14px;font-weight:700;letter-spacing:2px;margin-bottom:15px;padding-bottom:12px;text-shadow:0 2px 8px #4299e166;text-transform:uppercase}.tag-grid{grid-gap:20px;display:grid;flex:1 1;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:10px;overflow-y:auto}.equipment-grid{gap:15px}.equipment-grid,.trend-charts{display:flex;flex:1 1;flex-direction:column;margin-top:10px;overflow-y:auto}.trend-charts{gap:30px}.event-logger-panel{height:calc(100vh - 140px);overflow:hidden;padding:0}.synoptic-screens-panel{margin-top:20px}.synoptic-screens-list{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:5px}.synoptic-screen-card{background:#fffc;border:2px solid #71809633;border-radius:8px;display:flex;flex-direction:column;overflow:hidden;padding:0;transition:all .2s ease}.synoptic-screen-card:hover{background:#fff;border-color:#71809666;box-shadow:0 2px 8px #0000001a}.synoptic-screen-info{background:#00000008;border-bottom:1px solid #7180961a;padding:8px 12px}.synoptic-screen-info h3{color:#2c3e50;font-size:15px;font-weight:600;margin:0 0 4px}.synoptic-screen-info p{color:#718096;font-size:12px;line-height:1.4;margin:0}.screen-meta{color:#a0aec0;font-size:11px;font-weight:600}.synoptic-screen-actions{align-items:center;display:flex;gap:8px}.btn-view-screen{background:linear-gradient(135deg,#4299e1,#3182ce);border:none;border-radius:0;color:#fff;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;min-height:60px;padding:20px 16px;text-align:center;transition:all .2s ease;white-space:nowrap;width:100%}.btn-view-screen:hover{box-shadow:0 4px 12px #4299e166;filter:brightness(1.1)}.screen-card-actions{align-items:stretch;display:flex}.btn-open-new-window{align-items:center;background:#646e7826;border:none;border-left:1px solid #ffffff26;color:#fff;cursor:pointer;display:flex;font-size:16px;justify-content:center;min-width:36px;padding:8px 12px;transition:all .2s ease}.btn-open-new-window:hover{background:#4299e166}.btn-open-new-window-small{background:#646e7833;border:1px solid #334155;border-radius:0 6px 6px 0;color:#94a3b8;cursor:pointer;font-size:14px;padding:6px 10px;transition:all .2s ease}.btn-open-new-window-small:hover{background:#4299e14d;color:#e2e8f0}.App.standalone-screen-mode{height:100vh;min-height:100vh;overflow:hidden}.btn-edit-screen{background:linear-gradient(135deg,#ed8936,#dd6b20);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.btn-edit-screen:hover{box-shadow:0 4px 12px #ed893666;transform:translateY(-2px)}.no-synoptic-screens{color:#718096;padding:30px 20px;text-align:center}.no-synoptic-screens p{font-size:14px;margin:0 0 15px}.btn-create-screen{background:#71809626;border:1px solid #7180964d;border-radius:6px;color:#4a5568;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s ease}.btn-create-screen:hover{background:#71809640;border-color:#718096}.active-alarms-btn,.center-panel>div,.left-panel>div,.right-panel>div{box-sizing:border-box}.active-alarms-btn{align-items:center;background:linear-gradient(135deg,#4caf5033,#4caf501a);border:2px solid #4caf5066;border-radius:4px;color:#4caf50;cursor:pointer;display:flex;font-size:12px;font-weight:700;gap:8px;height:36px;letter-spacing:1.2px;margin-left:15px;padding:8px 20px;text-transform:uppercase;transition:all .3s ease}.active-alarms-btn:hover{background:linear-gradient(135deg,#4caf504d,#4caf5033);border-color:#4caf50;box-shadow:0 0 20px #4caf5066;transform:translateY(-1px)}.active-alarms-btn.has-alarms{animation:alarmButtonBlink 1s ease-in-out infinite;background:linear-gradient(135deg,#ff174440,#ff174426);border:2px solid #ff174499;box-shadow:0 0 20px #ff174480;color:#ff1744}.active-alarms-btn.has-alarms:hover{background:linear-gradient(135deg,#ff174466,#ff174440);border-color:#ff1744;box-shadow:0 0 30px #ff1744b3}@keyframes alarmButtonBlink{0%,to{background:linear-gradient(135deg,#ff174440,#ff174426);box-shadow:0 0 20px #ff174480}50%{background:linear-gradient(135deg,#ff174480,#ff174459);box-shadow:0 0 35px #ff1744cc}}.alarm-icon-btn{filter:drop-shadow(0 0 4px currentColor);font-size:16px}.active-alarms-btn.has-alarms .alarm-icon-btn{animation:shakeIcon .5s ease-in-out infinite}@keyframes shakeIcon{0%,to{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}.alarm-count{background:#0000004d;border-radius:10px;font-size:12px;font-weight:700;min-width:20px;padding:2px 8px;text-align:center}.active-alarms-btn.has-alarms .alarm-count{background:#ff174466}.active-alarms-btn.all-acknowledged{animation:none;background:linear-gradient(135deg,#f59e0b40,#f59e0b26);border:2px solid #f59e0b99;box-shadow:0 0 15px #f59e0b4d;color:#f59e0b}.active-alarms-btn.all-acknowledged:hover{background:linear-gradient(135deg,#f59e0b66,#f59e0b40);border-color:#f59e0b;box-shadow:0 0 25px #f59e0b80}.active-alarms-btn.all-acknowledged .alarm-count{background:#f59e0b66}.active-alarms-btn.all-acknowledged .alarm-icon-btn{animation:none}.alarm-label{font-size:11px}.alarm-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.alarm-modal{background:linear-gradient(135deg,#2a2e38,#1a1d23);border:1px solid #4299e166;border-radius:8px;box-shadow:0 20px 60px #0009,0 0 0 1px #4299e14d;max-height:80vh;max-width:90vw;min-width:700px;overflow:hidden}.alarm-modal-header{align-items:center;background:linear-gradient(180deg,#4299e126,#0000);border-bottom:2px solid #4299e166;display:flex;justify-content:space-between;padding:20px 25px}.alarm-modal-header h2{color:#e2e8f0;font-size:18px;font-weight:700;letter-spacing:1.5px;margin:0;text-transform:uppercase}.alarm-modal-close{align-items:center;background:#ff174433;border:1px solid #ff174466;border-radius:4px;color:#ff4569;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;line-height:1;transition:all .2s ease;width:36px}.alarm-modal-close:hover{background:#ff174466;border-color:#ff1744;box-shadow:0 0 15px #ff174480}.alarm-modal-body{max-height:60vh;overflow-y:auto;padding:20px}.no-active-alarms{color:#9ca3af;padding:60px 20px;text-align:center}.no-active-alarms .no-alarms-icon{color:#4caf50;font-size:60px;margin-bottom:15px}.no-active-alarms p{font-size:16px;margin:0}.alarm-table{border-collapse:collapse;font-size:13px;width:100%}.alarm-table thead{background:#4299e126}.alarm-table th{border-bottom:2px solid #4299e14d;color:#4299e1;font-size:11px;font-weight:700;letter-spacing:1px;padding:12px 15px;text-align:left;text-transform:uppercase}.alarm-table tbody tr{border-bottom:1px solid #4299e126;transition:background .2s ease}.alarm-table tbody tr:hover{background:#4299e11a}.alarm-table tbody tr.critical{background:#ff17441a;border-left:4px solid #ff1744}.alarm-table tbody tr.critical:hover{background:#ff174433}.alarm-table tbody tr.warning{background:#ff98001a;border-left:4px solid #ff9800}.alarm-table tbody tr.warning:hover{background:#ff980033}.alarm-table td{color:#e0e0e0;padding:12px 15px}.alarm-type-badge{border-radius:4px;display:inline-block;font-size:10px;font-weight:700;letter-spacing:.5px;padding:4px 10px}.alarm-type-badge.high{background:#ff17444d;border:1px solid #ff174480;color:#ff4569}.alarm-type-badge.low{background:#ff98004d;border:1px solid #ff980080;color:#ffb74d}.ack-btn-table{background:linear-gradient(135deg,#2196f3,#0b7dda);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.5px;padding:6px 14px;text-transform:uppercase;transition:all .2s ease}.ack-btn-table:hover{box-shadow:0 4px 12px #2196f366;transform:translateY(-1px)}.alarm-status-badge{border-radius:4px;display:inline-block;font-size:10px;font-weight:700;letter-spacing:.5px;padding:4px 8px}.alarm-status-badge.unack{animation:blink-status 1s infinite;background:#ff17444d;border:1px solid #ff174480;color:#ff4569}.alarm-status-badge.ack{background:#ff98004d;border:1px solid #ff980080;color:#ff9800}@keyframes blink-status{0%,to{opacity:1}50%{opacity:.5}}.alarm-table tbody tr.acknowledged{background:#ff98001a!important;border-left:4px solid #ff9800!important}.alarm-table tbody tr.acknowledged:hover{background:#ff980026!important}@media (max-width:1600px){.main-container:not(.two-column-layout){grid-template-columns:1fr}.event-logger-panel{height:600px}}.login-container{align-items:center;background:linear-gradient(135deg,#0f1419,#1a2332);display:flex;justify-content:center;min-height:100vh;padding:20px;position:relative}.login-shutdown-btn{background:linear-gradient(135deg,#dc262626,#dc26260d);border:1px solid #dc262666;border-radius:4px;color:#ef4444;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:1.2px;padding:10px 24px;position:absolute;right:20px;text-transform:uppercase;top:20px;transition:all .3s ease}.login-shutdown-btn:hover{background:linear-gradient(135deg,#dc26264d,#dc262626);border-color:#dc2626;box-shadow:0 0 20px #dc262666;transform:translateY(-1px)}.login-box{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e293be6;border:1px solid #3a7bc84d;border-radius:16px;box-shadow:0 20px 60px #00000080;max-width:450px;padding:40px;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-header h1{color:#3a7bc8;font-size:32px;font-weight:700;margin:0 0 10px}.login-header p{color:#9ca3af;font-size:14px;margin:0}.login-form{margin-bottom:30px}.form-group{margin-bottom:20px}.form-group label{color:#e0e0e0;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input{background:#141e30cc;border:1px solid #3a7bc84d;border-radius:8px;box-sizing:border-box;color:#e0e0e0;font-size:14px;outline:none;padding:12px 16px;transition:all .3s ease;width:100%}.form-group input:focus{border-color:#3a7bc8;box-shadow:0 0 0 3px #3a7bc81a}.form-group input::placeholder{color:#6b7280}.error-message{background:#f443361a;border:1px solid #f44336;border-radius:8px;color:#f44336;font-size:14px;margin-bottom:20px;padding:12px;text-align:center}.login-btn{background:linear-gradient(135deg,#2d5a8c,#3a7bc8);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:all .3s ease;width:100%}.login-btn:hover:not(:disabled){box-shadow:0 6px 20px #3a7bc866;transform:translateY(-2px)}.login-btn:disabled{cursor:not-allowed;opacity:.6}.demo-accounts{border-top:1px solid #3a7bc833;margin-bottom:20px;padding-top:25px}.demo-accounts h3{color:#9ca3af;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 15px;text-align:center;text-transform:uppercase}.demo-buttons{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.demo-btn{background:#141e3099;border:1px solid #3a7bc84d;border-radius:8px;cursor:pointer;padding:12px 8px;text-align:center;transition:all .2s ease}.demo-btn:hover{border-color:#3a7bc899;transform:translateY(-2px)}.demo-btn.admin{border-color:#f443364d}.demo-btn.admin:hover{background:#f443361a;border-color:#f44336}.demo-btn.operator{border-color:#ff98004d}.demo-btn.operator:hover{background:#ff98001a;border-color:#ff9800}.demo-btn.viewer{border-color:#4caf504d}.demo-btn.viewer:hover{background:#4caf501a;border-color:#4caf50}.demo-role{color:#e0e0e0;font-size:14px;font-weight:600;margin-bottom:4px}.demo-perms{color:#9ca3af;font-size:11px}.login-footer{text-align:center}.login-footer p{color:#6b7280;font-size:12px;margin:0}@media (max-width:500px){.demo-buttons{grid-template-columns:1fr}}.touch-keyboard-overlay{align-items:flex-end;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10010}.touch-keyboard{background:#2d3748;border-radius:12px 12px 0 0;box-shadow:0 -4px 20px #0000004d;max-width:800px;padding:16px;width:100%}.keyboard-display{display:flex;gap:8px;margin-bottom:12px}.keyboard-display input{background:#1a202c;border:2px solid #4a5568;border-radius:8px;color:#e0e0e0;flex:1 1;font-size:18px;outline:none;padding:12px 16px}.keyboard-display input:focus{border-color:#4299e1}.keyboard-close{background:#e53e3e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:20px;font-weight:700;padding:12px 20px}.keyboard-close:active{background:#c53030}.keyboard-keys{display:flex;flex-direction:column;gap:8px}.keyboard-row{display:flex;gap:6px;justify-content:center}.keyboard-controls{margin-top:4px}.keyboard-key{background:#4a5568;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;height:50px;min-width:50px;padding:8px 12px;transition:all .1s;-webkit-user-select:none;user-select:none}.keyboard-key:active{background:#2d3748;transform:scale(.95)}.keyboard-key.active{background:#4299e1;color:#fff}.keyboard-space{flex:1 1;min-width:200px}.keyboard-done{background:#48bb78;min-width:80px}.keyboard-done:active{background:#38a169}@media (max-width:768px){.keyboard-key{font-size:16px;height:45px;min-width:40px;padding:6px 10px}}.change-password-overlay{align-items:center;background:#000000b3;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:10001}.change-password-modal{background:#1e1e2e;border:2px solid #2196f3;border-radius:8px;color:#e0e0e0;max-width:450px;min-width:380px;padding:24px}.change-password-modal h3{color:#64b5f6;font-size:18px;margin:0 0 16px}.change-password-modal label{color:#aaa;display:block;font-size:13px;margin-bottom:4px;margin-top:12px}.change-password-modal input{background:#2a2a3e;border:1px solid #444;border-radius:4px;box-sizing:border-box;color:#e0e0e0;font-size:14px;padding:8px 12px;width:100%}.change-password-modal input:focus{border-color:#2196f3;outline:none}.change-password-modal .pwd-requirements{background:#2a2a3e;border-radius:4px;color:#888;font-size:12px;margin-top:12px;padding:10px}.change-password-modal .pwd-requirements li{margin:3px 0}.change-password-modal .pwd-error{color:#f44336;font-size:13px;margin-top:8px}.change-password-modal .pwd-success{color:#4caf50;font-size:13px;margin-top:8px}.change-password-modal .pwd-buttons{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.change-password-modal .pwd-buttons button{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700;padding:8px 20px}.change-password-modal .pwd-submit-btn{background:#2196f3;color:#fff}.change-password-modal .pwd-submit-btn:disabled{background:#555;cursor:not-allowed}.change-password-modal .pwd-cancel-btn{background:#444;color:#ccc}.license-modal-overlay{align-items:center;background:linear-gradient(135deg,#0a1628,#1a2d47 50%,#0f1d2f);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.license-modal-content{animation:licenseSlideIn .4s ease;background:#1e293bf2;border:1px solid #3a7bc866;border-radius:16px;box-shadow:0 25px 80px #0009;max-height:90vh;max-width:600px;overflow:hidden;width:95%}.license-modal-content.license-agreement{max-width:700px}.license-modal-content.license-loading{max-width:300px;padding:40px;text-align:center}.license-modal-content.license-success{max-width:400px;padding:40px;text-align:center}@keyframes licenseSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.license-spinner{animation:spin 1s linear infinite;border:3px solid #3a7bc833;border-radius:50%;border-top-color:#3a7bc8;height:50px;margin:0 auto 20px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.license-loading p{color:#9ca3af;font-size:14px}.license-modal-header{background:linear-gradient(180deg,#3a7bc81a,#0000);border-bottom:1px solid #3a7bc84d;padding:30px;text-align:center}.license-logo{gap:12px;margin-bottom:15px}.license-logo,.logo-icon{align-items:center;display:flex;justify-content:center}.logo-icon{background:linear-gradient(135deg,#2d5a8c,#3a7bc8);border-radius:12px;box-shadow:0 4px 15px #3a7bc866;color:#fff;font-size:28px;font-weight:700;height:50px;width:50px}.logo-text{color:#e0e0e0;font-size:24px;font-weight:700;letter-spacing:2px}.license-modal-header h2{color:#3a7bc8;font-size:18px;font-weight:500;margin:0}.license-modal-body{max-height:calc(90vh - 150px);overflow-y:auto;padding:25px 30px 30px}.eula-container{background:#0a142399;border:1px solid #3a7bc833;border-radius:10px;height:300px;margin-bottom:15px;overflow-y:auto;padding:20px}.eula-text{color:#b0b8c4;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:12px;line-height:1.7;margin:0;white-space:pre-wrap}.scroll-hint{background:#f59e0b1a;border-radius:6px;color:#f59e0b;font-size:12px;margin-bottom:15px;padding:8px;text-align:center}.agreement-checkbox{margin-bottom:20px}.agreement-checkbox label{align-items:flex-start;color:#e0e0e0;cursor:pointer;display:flex;font-size:14px;gap:12px}.agreement-checkbox input[type=checkbox]{accent-color:#3a7bc8;cursor:pointer;height:20px;margin-top:2px;width:20px}.agreement-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.3;pointer-events:none}.agreement-checkbox label:has(input:disabled){cursor:not-allowed;opacity:.5}.agreement-checkbox label:has(input:disabled) span{color:#6b7280}.trial-section{background:linear-gradient(135deg,#10b9811a,#10b9810d);border:1px solid #10b9814d;border-radius:12px;margin-bottom:20px;padding:24px;text-align:center}.trial-section h3{color:#10b981;font-size:16px;font-weight:600;margin:0 0 8px}.trial-section .section-description{color:#9ca3af;font-size:13px;margin:0 0 16px}.btn-start-trial{background:linear-gradient(135deg,#059669,#10b981);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;letter-spacing:.5px;padding:14px 40px;transition:all .3s ease}.btn-start-trial:hover:not(:disabled){box-shadow:0 8px 25px #10b98166;transform:translateY(-2px)}.btn-start-trial:disabled{cursor:not-allowed;opacity:.5;transform:none}.license-divider{align-items:center;display:flex;gap:15px;margin:20px 0}.license-divider:after,.license-divider:before{background:#3a7bc833;content:"";flex:1 1;height:1px}.license-divider span{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.hardware-id-section{background:#0a142380;border:1px solid #3a7bc84d;border-radius:12px;margin-bottom:25px;padding:20px}.hardware-id-section h3,.license-file-section h3{color:#3a7bc8;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.section-description{color:#9ca3af;font-size:13px;line-height:1.5;margin:0 0 15px}.hardware-id-box{align-items:center;background:#0000004d;border:1px solid #3a7bc833;border-radius:8px;display:flex;gap:10px;padding:12px 15px}.hardware-id-code{color:#10b981;flex:1 1;font-family:Courier New,monospace;font-size:16px;letter-spacing:1px;word-break:break-all}.btn-copy{background:linear-gradient(135deg,#2d5a8c,#3a7bc8);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.btn-copy:hover{box-shadow:0 4px 12px #3a7bc84d;transform:translateY(-1px)}.btn-copy.copied{background:linear-gradient(135deg,#059669,#10b981)}.license-file-section{background:#0a142380;border:1px solid #3a7bc84d;border-radius:12px;margin-bottom:20px;padding:20px}.file-input-container{margin-bottom:20px}.file-input{display:none}.file-input-label{align-items:center;background:#0000004d;border:2px dashed #3a7bc866;border-radius:10px;color:#9ca3af;cursor:pointer;display:flex;font-size:14px;gap:12px;justify-content:center;padding:20px;transition:all .2s ease}.file-input-label:hover{background:#3a7bc81a;border-color:#3a7bc8;color:#e0e0e0}.file-icon{font-size:24px}.file-name{color:#10b981;font-weight:600}.contact-info{background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:8px;margin-bottom:20px;padding:15px;text-align:center}.contact-info p{color:#9ca3af;font-size:13px;margin:0}.contact-info strong{color:#f59e0b}.license-error{background:#ef444426;border:1px solid #ef44444d;border-radius:8px;color:#ef4444;font-size:13px;margin-bottom:20px;padding:12px 15px;text-align:center}.license-modal-actions{display:flex;gap:12px;justify-content:center}.btn-license-accept,.btn-license-activate,.btn-license-trial{border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;padding:14px 30px;transition:all .3s ease}.btn-license-accept,.btn-license-activate{background:linear-gradient(135deg,#2d5a8c,#3a7bc8);color:#fff;flex:1 1}.btn-license-accept:hover:not(:disabled),.btn-license-activate:hover:not(:disabled){box-shadow:0 8px 25px #3a7bc866;transform:translateY(-2px)}.btn-license-accept:disabled,.btn-license-activate:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-license-trial{background:#1e293bcc;border:1px solid #3a7bc84d;color:#9ca3af}.btn-license-trial:hover:not(:disabled){background:#1e293b;border-color:#3a7bc880;color:#e0e0e0}.license-tiers-info{border-top:1px solid #3a7bc833;margin-top:30px;padding-top:25px}.license-tiers-info h4{color:#9ca3af;font-size:13px;font-weight:600;letter-spacing:1px;margin-bottom:15px;text-align:center;text-transform:uppercase}.tier-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.tier-card{background:#0a142380;border:1px solid #3a7bc833;border-radius:10px;padding:15px;text-align:center}.tier-card h5{color:#e0e0e0;font-size:13px;font-weight:600;margin:0 0 10px}.tier-card ul{list-style:none;margin:0;padding:0}.tier-card li{color:#9ca3af;font-size:11px;padding:4px 0}.tier-card.tier-pro{background:#3a7bc81a;border-color:#3a7bc866}.tier-card.tier-pro h5{color:#3a7bc8}.tier-card.tier-ent{background:#f59e0b1a;border-color:#f59e0b66}.tier-card.tier-ent h5{color:#f59e0b}.success-icon{animation:successPop .5s ease;color:#10b981;height:80px;margin:0 auto 20px;width:80px}@keyframes successPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.license-success h2{color:#10b981;font-size:24px;margin:0 0 10px}.license-success>p{color:#9ca3af;font-size:14px;margin:0 0 20px}.license-details{background:#0a142380;border:1px solid #3a7bc833;border-radius:10px;margin-bottom:20px;padding:15px}.detail-row{display:flex;justify-content:space-between;padding:8px 0}.detail-row span:first-child{color:#9ca3af;font-size:13px}.detail-row span:last-child{color:#e0e0e0;font-size:13px;font-weight:600}.redirect-message{animation:pulse 1.5s ease-in-out infinite;color:#6b7280;font-size:12px}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.eula-container::-webkit-scrollbar,.license-modal-body::-webkit-scrollbar{width:8px}.eula-container::-webkit-scrollbar-track,.license-modal-body::-webkit-scrollbar-track{background:#0a142380;border-radius:4px}.eula-container::-webkit-scrollbar-thumb,.license-modal-body::-webkit-scrollbar-thumb{background:#3a7bc84d;border-radius:4px}.eula-container::-webkit-scrollbar-thumb:hover,.license-modal-body::-webkit-scrollbar-thumb:hover{background:#3a7bc880}
/*# sourceMappingURL=main.39272d2e.css.map*/