*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--radius: .5rem;--sidebar-background: 0 0% 98%;--sidebar-foreground: 240 5.3% 26.1%;--sidebar-primary: 240 5.9% 10%;--sidebar-primary-foreground: 0 0% 98%;--sidebar-accent: 240 4.8% 95.9%;--sidebar-accent-foreground: 240 5.9% 10%;--sidebar-border: 220 13% 91%;--sidebar-ring: 217.2 91.2% 59.8% }.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.container{max-width:1400px}}.static{position:static}.absolute{position:absolute}.mt-2{margin-top:.5rem}.rounded{border-radius:.25rem}.border{border-width:1px}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.p-4{padding:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.running{animation-play-state:running}img{-o-object-position:top;object-position:top}.fixed{position:fixed}.sensor-chart{background:linear-gradient(135deg,#001f3ff2,#003366e6);border:1px solid rgba(0,168,204,.4);border-radius:10px;padding:.8rem;position:relative;overflow:hidden;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sensor-chart:hover{border-color:#00a8cccc;box-shadow:0 0 15px #00a8cc4d;transform:translateY(-2px)}.sensor-chart.alert{border-color:#ff6b35;animation:alertPulse 2s ease-in-out infinite}.sensor-chart.alert .sensor-header .sensor-name{color:#ff6b35}@keyframes alertPulse{0%,to{box-shadow:0 0 10px #ff6b3580}50%{box-shadow:0 0 20px #ff6b35cc}}.sensor-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.sensor-name{font-size:.9rem;font-weight:600;color:#41b3d3;margin:0;text-shadow:0 0 8px rgba(65,179,211,.6)}.sensor-value{display:flex;align-items:baseline;gap:.3rem}.current-value{font-size:1.4rem;font-weight:700;color:#fff;font-family:Monaco,Consolas,monospace;text-shadow:0 0 10px rgba(255,255,255,.5)}.sensor-unit{font-size:.8rem;color:#41b3d3;opacity:.8}.trend-icon{font-size:1rem;opacity:.7}.threshold-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.75rem}.threshold-range{color:#20b2aa;opacity:.8}.alert-badge{background:linear-gradient(135deg,#ff6b35,#ff8c42);color:#fff;padding:.2rem .5rem;border-radius:12px;font-size:.7rem;font-weight:600;animation:badgePulse 1.5s ease-in-out infinite}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.chart-container{height:120px;position:relative}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#41b3d333}.recharts-tooltip-wrapper{background:#001f3ff2!important;border:1px solid rgba(0,168,204,.6)!important;border-radius:8px!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.recharts-tooltip-content{background:transparent!important;border:none!important;color:#fff!important}.alert-pulse{position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border:2px solid #ff6b35;border-radius:12px;animation:pulseFrame 2s ease-in-out infinite;pointer-events:none}@keyframes pulseFrame{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}.camera-feed{background:linear-gradient(135deg,#001f3ff2,#003366e6);border:1px solid rgba(0,168,204,.4);border-radius:10px;padding:.8rem;position:relative;overflow:hidden;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;height:100%}.camera-feed:hover{border-color:#00a8cccc;box-shadow:0 0 15px #00a8cc4d}.camera-feed.offline{border-color:#ff6b3599}.camera-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.8rem}.camera-info{flex:1}.camera-name{font-size:.9rem;font-weight:600;color:#41b3d3;margin:0 0 .2rem;text-shadow:0 0 8px rgba(65,179,211,.6)}.camera-location{font-size:.75rem;color:#20b2aa;opacity:.8}.status-indicator{display:flex;align-items:center;gap:.3rem;padding:.2rem .5rem;border-radius:12px;font-size:.7rem;font-weight:600}.status-indicator.online{background:#20b2aa33;color:#20b2aa;border:1px solid rgba(32,178,170,.4)}.status-indicator.offline{background:#ff6b3533;color:#ff6b35;border:1px solid rgba(255,107,53,.4)}.camera-display{flex:1;border-radius:8px;overflow:hidden;position:relative;background:linear-gradient(135deg,#001f3f,#036);border:1px solid rgba(0,168,204,.3)}.image-container{width:100%;height:100%;position:relative}.camera-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#41b3d3;background:linear-gradient(135deg,#001f3fcc,#0369)}.placeholder-icon{font-size:2rem;margin-bottom:.5rem;opacity:.6}.placeholder-text{font-size:.8rem;opacity:.8}.camera-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(0,0,0,.3) 0%,transparent 30%,transparent 70%,rgba(0,0,0,.3) 100%);pointer-events:none}.recording-indicator{position:absolute;top:.5rem;left:.5rem;display:flex;align-items:center;gap:.3rem;color:#fff;font-size:.7rem;font-weight:600;text-shadow:0 0 5px rgba(0,0,0,.8)}.recording-dot{width:8px;height:8px;background:#ff6b35;border-radius:50%;animation:recordingPulse 2s ease-in-out infinite}@keyframes recordingPulse{0%,to{opacity:1}50%{opacity:.3}}.camera-params{position:absolute;top:.5rem;right:.5rem;background:#000000b3;padding:.2rem .5rem;border-radius:4px;color:#fff;font-size:.7rem;font-family:Monaco,Consolas,monospace;text-shadow:0 0 5px rgba(0,0,0,.8)}.offline-display{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#ff6b35;background:linear-gradient(135deg,#1f1f3fcc,#331f3399)}.offline-icon{font-size:2rem;margin-bottom:.5rem;opacity:.8}.offline-text{font-size:.9rem;font-weight:600;margin-bottom:.3rem}.offline-time{font-size:.7rem;opacity:.7}.camera-footer{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(65,179,211,.2)}.tech-info{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.7rem;color:#41b3d3;opacity:.8}.resolution{font-family:Monaco,Consolas,monospace}.update-time{font-family:Monaco,Consolas,monospace}.ai-decision-chat{background:linear-gradient(135deg,#001f3ff2,#003366e6);border:1px solid rgba(0,168,204,.4);border-radius:12px;padding:1rem;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;height:100%}.ai-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid rgba(65,179,211,.3)}.ai-title{display:flex;align-items:center;gap:.5rem}.ai-icon{font-size:1.5rem;animation:aiPulse 3s ease-in-out infinite}@keyframes aiPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.ai-title h2{font-size:1.1rem;font-weight:600;color:#41b3d3;margin:0;text-shadow:0 0 10px rgba(65,179,211,.7)}.ai-status .status-indicator{display:flex;align-items:center;gap:.3rem;padding:.3rem .8rem;background:#20b2aa33;border:1px solid rgba(32,178,170,.4);border-radius:20px;font-size:.8rem;color:#20b2aa}.pulse-dot{width:8px;height:8px;background:#20b2aa;border-radius:50%;animation:pulseGlow 2s ease-in-out infinite}@keyframes pulseGlow{0%,to{opacity:1;box-shadow:0 0 5px #20b2aa}50%{opacity:.5;box-shadow:0 0 15px #20b2aa,0 0 25px #20b2aa80}}.messages-container{flex:1;overflow-y:auto;margin-bottom:1rem;scrollbar-width:thin;scrollbar-color:rgba(65,179,211,.5) transparent}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:#001f3f4d;border-radius:3px}.messages-container::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#00a8cc,#41b3d3);border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#41b3d3,#20b2aa)}.messages-list{display:flex;flex-direction:column;gap:.8rem}.no-messages{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:#41b3d3;opacity:.8}.loading-spinner{width:40px;height:40px;border:3px solid rgba(65,179,211,.3);border-top:3px solid #41b3d3;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.message-item{background:linear-gradient(135deg,#0369,#001f3fcc);border-radius:10px;padding:.8rem;position:relative;border-left:3px solid transparent;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.message-item:hover{background:linear-gradient(135deg,#036c,#001f3fe6);transform:translate(5px)}.message-item.analysis{border-left-color:#00a8cc}.message-item.warning{border-left-color:#ff6b35}.message-item.action{border-left-color:#20b2aa}.message-item.optimization{border-left-color:#41b3d3}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.message-type{display:flex;align-items:center;gap:.4rem}.type-icon{font-size:1rem}.type-label{font-size:.8rem;font-weight:600;color:#41b3d3}.message-time{font-size:.7rem;color:#20b2aa;font-family:Monaco,Consolas,monospace;opacity:.8}.message-content{color:#fff;line-height:1.4}.message-text{margin:0 0 .5rem;font-size:.85rem}.action-taken{display:flex;align-items:flex-start;gap:.5rem;margin-top:.5rem;padding:.5rem;background:#20b2aa1a;border-radius:6px;border:1px solid rgba(32,178,170,.2)}.action-icon{color:#20b2aa;font-size:.9rem;margin-top:.1rem}.action-text{font-size:.8rem;color:#fff;opacity:.9}.action-text strong{color:#20b2aa}.message-border{position:absolute;top:0;left:0;width:3px;height:100%;border-radius:0 0 0 10px}.ai-footer{padding-top:.8rem;border-top:1px solid rgba(65,179,211,.3)}.ai-stats{display:flex;justify-content:space-around;align-items:center;gap:1rem}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.2rem;flex:1}.stat-label{font-size:.7rem;color:#20b2aa;opacity:.8}.stat-value{font-size:1rem;font-weight:600;color:#fff;font-family:Monaco,Consolas,monospace;text-shadow:0 0 8px rgba(255,255,255,.5)}.device-status{background:linear-gradient(135deg,#001f3ff2,#003366e6);border:1px solid rgba(0,168,204,.4);border-radius:12px;padding:1rem;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;height:100%}.device-header{margin-bottom:1rem}.device-header .section-title{margin-bottom:.8rem}.status-stats{display:flex;gap:.8rem;margin-bottom:.5rem}.stat-card{flex:1;background:#0369;border:1px solid rgba(0,168,204,.3);border-radius:8px;padding:.5rem;text-align:center;transition:all .3s ease}.stat-card:hover{border-color:#00a8cc99;transform:translateY(-2px)}.stat-card.running{border-color:#20b2aa66}.stat-card.error{border-color:#ff6b3566}.stat-number{display:block;font-size:1.2rem;font-weight:700;color:#fff;font-family:Monaco,Consolas,monospace;text-shadow:0 0 8px rgba(255,255,255,.5)}.stat-label{font-size:.7rem;color:#41b3d3;opacity:.8}.device-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.filter-buttons{display:flex;gap:.3rem}.filter-btn{padding:.4rem .8rem;border:1px solid rgba(65,179,211,.4);background:#0369;color:#41b3d3;border-radius:6px;cursor:pointer;font-size:.8rem;transition:all .3s ease}.filter-btn:hover{border-color:#41b3d3cc;background:#036c}.filter-btn.active{background:linear-gradient(135deg,#00a8cc,#41b3d3);border-color:#41b3d3;color:#fff;box-shadow:0 0 10px #41b3d380}.search-box{position:relative;display:flex;align-items:center}.search-input{padding:.4rem 2rem .4rem .8rem;border:1px solid rgba(65,179,211,.4);background:#001f3fcc;color:#fff;border-radius:6px;font-size:.8rem;width:160px;transition:all .3s ease}.search-input:focus{outline:none;border-color:#41b3d3;box-shadow:0 0 8px #41b3d34d}.search-input::-moz-placeholder{color:#41b3d399}.search-input::placeholder{color:#41b3d399}.search-icon{position:absolute;right:.5rem;color:#41b3d3;opacity:.6;font-size:.9rem}.device-list{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(65,179,211,.5) transparent}.device-list::-webkit-scrollbar{width:6px}.device-list::-webkit-scrollbar-track{background:#001f3f4d;border-radius:3px}.device-list::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#00a8cc,#41b3d3);border-radius:3px}.no-devices{display:flex;flex-direction:column;align-items:center;justify-content:center;height:150px;color:#41b3d3;opacity:.8}.no-devices-icon{font-size:2rem;margin-bottom:.5rem}.device-item{background:linear-gradient(135deg,#0369,#001f3fcc);border:1px solid rgba(0,168,204,.3);border-radius:10px;padding:.8rem;margin-bottom:.8rem;position:relative;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);overflow:hidden}.device-item:hover{border-color:#00a8cc99;transform:translateY(-2px);box-shadow:0 0 15px #00a8cc33}.device-item.error{border-color:#ff6b3580}.device-item.maintenance{border-color:#ffa50080}.device-main{display:flex;align-items:center;gap:.8rem;margin-bottom:.8rem}.device-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#41b3d333;border-radius:8px;border:1px solid rgba(65,179,211,.3)}.device-info{flex:1}.device-name{font-size:.9rem;font-weight:600;color:#fff;margin:0 0 .2rem}.device-meta{display:flex;align-items:center;gap:.5rem;font-size:.7rem;color:#20b2aa;opacity:.8}.device-type{text-transform:capitalize}.separator{opacity:.5}.device-status-indicator{display:flex;align-items:center;gap:.4rem}.status-dot{width:10px;height:10px;border-radius:50%;animation:statusPulse 2s ease-in-out infinite}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.6}}.device-parameters{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:.5rem}.parameter-item{display:flex;align-items:center;gap:.3rem;font-size:.75rem;background:#001f3f99;padding:.3rem .6rem;border-radius:6px;border:1px solid rgba(65,179,211,.2)}.parameter-key{color:#20b2aa;opacity:.9}.parameter-value{color:#fff;font-weight:600;font-family:Monaco,Consolas,monospace}.device-status-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:#00336680;overflow:hidden}.status-fill{height:100%;width:100%;animation:statusFlow 3s ease-in-out infinite}@keyframes statusFlow{0%,to{transform:translate(-100%)}50%{transform:translate(0)}}.location-info{background:linear-gradient(135deg,#001f3ff2,#003366e6);border:1px solid rgba(0,168,204,.4);border-radius:12px;padding:1rem;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;height:100%}.location-header{margin-bottom:1rem}.location-header .section-title{margin-bottom:.8rem}.region-overview{display:flex;gap:.8rem;margin-bottom:.5rem;flex-wrap:wrap}.region-stat{background:#0369;border:1px solid rgba(0,168,204,.3);border-radius:8px;padding:.5rem .8rem;text-align:center;transition:all .3s ease;min-width:80px}.region-stat:hover{border-color:#00a8cc99;transform:translateY(-2px)}.region-name{font-size:.9rem;font-weight:600;color:#41b3d3;margin-bottom:.3rem;text-shadow:0 0 8px rgba(65,179,211,.6)}.region-metrics{display:flex;flex-direction:column;gap:.2rem}.metric{font-size:.7rem;color:#20b2aa;opacity:.9}.location-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.region-filter,.sort-options{display:flex;align-items:center;gap:.5rem}.region-filter label,.sort-options label{font-size:.8rem;color:#20b2aa;white-space:nowrap}.region-select,.sort-select{padding:.4rem .8rem;border:1px solid rgba(65,179,211,.4);background:#001f3fcc;color:#fff;border-radius:6px;font-size:.8rem;min-width:100px;transition:all .3s ease}.region-select:focus,.sort-select:focus{outline:none;border-color:#41b3d3;box-shadow:0 0 8px #41b3d34d}.region-select option,.sort-select option{background:#001f3ff2;color:#fff}.location-list{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(65,179,211,.5) transparent}.location-list::-webkit-scrollbar{width:6px}.location-list::-webkit-scrollbar-track{background:#001f3f4d;border-radius:3px}.location-list::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#00a8cc,#41b3d3);border-radius:3px}.location-item{background:linear-gradient(135deg,#0369,#001f3fcc);border:1px solid rgba(0,168,204,.3);border-radius:10px;padding:.8rem;margin-bottom:.8rem;position:relative;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);overflow:hidden}.location-item:hover{border-color:#00a8cc99;transform:translateY(-2px);box-shadow:0 0 15px #00a8cc33}.location-main{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.8rem}.location-identity{flex:1}.location-name{font-size:.95rem;font-weight:600;color:#fff;margin:0 0 .3rem;text-shadow:0 0 8px rgba(255,255,255,.3)}.location-region{display:inline-block;padding:.2rem .5rem;background:#20b2aa33;border:1px solid rgba(32,178,170,.4);border-radius:12px;font-size:.7rem;color:#20b2aa;font-weight:600}.location-status{display:flex;align-items:center}.location-status .status-indicator{display:flex;align-items:center;gap:.4rem;padding:.3rem .6rem;border-radius:8px;background:#001f3f99;border:1px solid rgba(65,179,211,.3)}.status-icon{font-size:1rem}.status-text{font-size:.8rem;font-weight:600}.location-details{margin-bottom:.8rem}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.8rem}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:.4rem .6rem;background:#001f3f99;border-radius:6px;border:1px solid rgba(65,179,211,.2);font-size:.8rem}.detail-label{color:#20b2aa;opacity:.9}.detail-value{color:#fff;font-weight:600;font-family:Monaco,Consolas,monospace}.coordinates-info{display:flex;align-items:center;gap:.5rem;padding:.4rem .8rem;background:#20b2aa1a;border:1px solid rgba(32,178,170,.2);border-radius:8px;font-size:.8rem}.coordinates-label{color:#20b2aa;font-weight:600;white-space:nowrap}.coordinates-value{color:#fff;font-family:Monaco,Consolas,monospace;cursor:pointer;transition:all .3s ease;flex:1;text-align:right}.coordinates-value:hover{color:#20b2aa;text-shadow:0 0 8px rgba(32,178,170,.6)}.location-status-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:#00336680;overflow:hidden}.location-status-bar .status-fill{height:100%;width:100%;animation:locationFlow 4s ease-in-out infinite}@keyframes locationFlow{0%,to{transform:translate(-100%)}50%{transform:translate(0)}}.location-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(32,178,170,.1) 50%,transparent 100%);animation:locationScan 6s ease-in-out infinite}@keyframes locationScan{0%,to{left:-100%}50%{left:100%}}@media (max-width: 1200px){.region-overview{justify-content:center}.location-controls{flex-direction:column;gap:.8rem;align-items:stretch}.detail-grid{grid-template-columns:1fr}}@media (max-width: 768px){.region-stat{min-width:60px;padding:.3rem .5rem}.region-name{font-size:.8rem}.metric{font-size:.65rem}.coordinates-info{flex-direction:column;align-items:flex-start;gap:.3rem}.coordinates-value{text-align:left}}*{margin:0;padding:0;box-sizing:border-box}body{background:linear-gradient(135deg,#001f3f,#036,#001f3f);font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,sans-serif;color:#fff;overflow-x:hidden;min-height:100vh}.app-container:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 80%,rgba(0,168,204,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(65,179,211,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(32,178,170,.05) 0%,transparent 50%);animation:backgroundPulse 10s ease-in-out infinite alternate;z-index:-2}.app-container{position:relative;min-height:100vh;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.app-container:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(0,168,204,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,168,204,.1) 1px,transparent 1px);background-size:50px 50px;animation:gridMove 20s linear infinite;z-index:-1;opacity:.3}@keyframes backgroundPulse{0%{opacity:.3}to{opacity:.6}}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(50px,50px)}}@keyframes glow{0%,to{box-shadow:0 0 5px #00a8cc80}50%{box-shadow:0 0 20px #00a8cccc,0 0 30px #41b3d399}}@keyframes dataFlow{0%{transform:translate(-100%);opacity:0}50%{opacity:1}to{transform:translate(100%);opacity:0}}@keyframes scanLine{0%{transform:translateY(-100%);opacity:0}50%{opacity:1}to{transform:translateY(100vh);opacity:0}}.app-container:before{content:"";position:fixed;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent 0%,#00a8cc 50%,transparent 100%);animation:scanLine 15s linear infinite;z-index:1;pointer-events:none}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:linear-gradient(90deg,#001f3fe6,#006994b3,#001f3fe6);border-bottom:2px solid rgba(0,168,204,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;z-index:10}.app-header:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent 0%,#00a8cc 50%,transparent 100%);animation:glow 2s ease-in-out infinite}.app-title{font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,#00a8cc,#41b3d3,#20b2aa);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 20px rgba(0,168,204,.5);letter-spacing:1px;position:relative}.app-title:after{content:"";position:absolute;bottom:-3px;left:0;width:0;height:2px;background:linear-gradient(90deg,#00a8cc,#41b3d3);animation:titleUnderline 3s ease-in-out infinite}@keyframes titleUnderline{0%,to{width:0}50%{width:100%}}.system-time{font-family:Monaco,Consolas,monospace;font-size:1.1rem;color:#41b3d3;text-shadow:0 0 10px rgba(65,179,211,.7);border:1px solid rgba(65,179,211,.3);padding:.5rem 1rem;border-radius:8px;background:#001f3fb3;position:relative;overflow:hidden}.system-time:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(65,179,211,.2) 50%,transparent 100%);animation:timeRefresh 5s ease-in-out infinite}@keyframes timeRefresh{0%,to{left:-100%}50%{left:100%}}.app-main{display:grid;grid-template-columns:2fr 2fr 1.5fr;gap:1rem;padding:1rem;height:calc(100vh - 80px);position:relative;z-index:5}.left-panel,.center-panel,.right-panel{display:flex;flex-direction:column;gap:1rem;height:100%}.sensor-section,.camera-section,.ai-section,.device-section,.location-section{background:linear-gradient(135deg,#001f3fe6,#036c);border:1px solid rgba(0,168,204,.4);border-radius:12px;padding:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.sensor-section:before,.camera-section:before,.ai-section:before,.device-section:before,.location-section:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:2px;background:linear-gradient(90deg,transparent,#00a8cc,transparent);animation:dataFlow 3s linear infinite}.sensor-section:after,.camera-section:after,.ai-section:after,.device-section:after,.location-section:after{content:"";position:absolute;top:0;right:0;bottom:0;width:2px;background:linear-gradient(180deg,transparent 0%,rgba(0,168,204,.3) 50%,transparent 100%);animation:verticalFlow 4s ease-in-out infinite}@keyframes verticalFlow{0%,to{opacity:.3}50%{opacity:1}}.section-title{font-size:1.2rem;font-weight:600;color:#41b3d3;margin-bottom:1rem;text-align:center;text-shadow:0 0 10px rgba(65,179,211,.7);border-bottom:1px solid rgba(65,179,211,.3);padding-bottom:.5rem;position:relative}.section-title:after{content:"";position:absolute;bottom:-1px;left:50%;width:0;height:1px;background:#41b3d3;animation:titleExpand 2s ease-in-out infinite;transform:translate(-50%)}@keyframes titleExpand{0%,to{width:0}50%{width:80%}}.sensor-section{flex:2}.sensor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;height:calc(100% - 50px)}.camera-section{flex:1}.camera-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:.8rem;height:calc(100% - 50px)}.camera-grid>:nth-child(1){grid-column:1 / 3}.camera-grid>:nth-child(4){grid-column:2 / 4}.ai-section{flex:1;min-height:350px}.device-section,.location-section{flex:1;min-height:250px}@keyframes dataStream{0%{transform:translate(-100%) scaleX(0)}50%{transform:translate(0) scaleX(1)}to{transform:translate(100%) scaleX(0)}}.sensor-section,.camera-section,.ai-section,.device-section,.location-section{animation:sectionPulse 8s ease-in-out infinite}@keyframes sectionPulse{0%,to{border-color:#00a8cc66}50%{border-color:#00a8ccb3}}@media (max-width: 1600px){.app-main{grid-template-columns:1fr;grid-template-rows:auto auto auto;height:auto}.sensor-grid{grid-template-columns:repeat(2,1fr);height:auto}.camera-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);height:auto}.camera-grid>:nth-child(1),.camera-grid>:nth-child(4){grid-column:auto}}@media (max-width: 1200px){.app-title{font-size:1.6rem}.system-time{font-size:1rem}}@media (max-width: 768px){.app-header{flex-direction:column;gap:1rem;padding:1rem}.app-title{font-size:1.4rem}.sensor-grid{grid-template-columns:1fr}.camera-grid{grid-template-columns:1fr;grid-template-rows:repeat(5,1fr)}.app-main{padding:.5rem;gap:.5rem}.section-title{font-size:1rem}}.sensor-chart,.camera-feed,.ai-decision-chat,.device-status,.location-info{will-change:transform,opacity}@media (prefers-contrast: high){.app-container{background:#000}.sensor-section,.camera-section,.ai-section,.device-section,.location-section{border-color:#fff;background:#000c}.section-title{color:#fff;text-shadow:none}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.app-container:before,.app-container:after{display:none}.app-main{grid-template-columns:1fr;height:auto}.sensor-section,.camera-section,.ai-section,.device-section,.location-section{-moz-column-break-inside:avoid;break-inside:avoid;border:1px solid #000000;background:#fff;color:#000}}.mic-fab-container{position:fixed;right:20px;bottom:20px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.mic-fab{width:64px;height:64px;border-radius:50%;border:2px solid rgba(0,168,204,.6);background:radial-gradient(circle at 30% 30%,#00a8cccc,#001f3fe6);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #0000004d,0 0 12px #00a8cc80;transition:transform .15s ease,box-shadow .2s ease,border-color .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mic-fab:hover{transform:translateY(-2px);border-color:#00a8cce6;box-shadow:0 10px 24px #00000059,0 0 16px #00a8ccb3}.mic-fab.recording{background:radial-gradient(circle at 30% 30%,#ff6b35d9,#1f0000e6);border-color:#ff6b35e6;animation:micPulse 1.3s ease-in-out infinite}@keyframes micPulse{0%,to{box-shadow:0 8px 20px #ff6b3540,0 0 14px #ff6b3599}50%{box-shadow:0 8px 22px #ff6b3559,0 0 22px #ff6b35d9}}.mic-icon{font-size:28px;filter:drop-shadow(0 0 6px rgba(0,0,0,.4))}.mic-toast{max-width:260px;padding:8px 12px;border-radius:10px;border:1px solid rgba(65,179,211,.4);background:#001f3fd9;color:#cfefff;font-size:12px;line-height:1.4;box-shadow:0 6px 18px #00000059;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mic-toast.error{border-color:#ff6b3599;color:#ffd6cc;background:#3f0000bf}.mic-toast.status{border-color:#41b3d380}.asr-subtitle-overlay{position:fixed;left:0;right:0;bottom:32px;display:flex;align-items:center;justify-content:center;z-index:9998;pointer-events:none}.asr-subtitle-bar{max-width:70vw;padding:10px 16px;border-radius:12px;border:1px solid rgba(65,179,211,.5);background:#001f3f99;box-shadow:0 8px 24px #00000059,0 0 18px #41b3d373;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:subtitleFade .22s ease-out}.asr-subtitle-text{color:#cfefff;font-size:16px;line-height:1.5;text-shadow:0 0 6px rgba(0,0,0,.5)}@keyframes subtitleFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
