*{margin:0;padding:0;box-sizing:border-box}:root{--primary-blue: #2E86DE;--safety-orange: #FF8C00;--dark-slate: #2F3640;--success-green: #27AE60;--bg-gray: #F5F6FA;--danger-red: #E74C3C}html,body,#root{width:100%;height:100%;overflow:hidden;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--bg-gray);color:var(--dark-slate)}.canvas-container{position:absolute;top:0;left:0;width:100%;height:100%}.control-panel{position:absolute;top:16px;left:16px;background:#fffffff2;border-radius:12px;padding:20px;box-shadow:0 4px 20px #00000026;min-width:320px;max-width:400px;z-index:100}.control-panel .panel-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.control-panel.collapsed .panel-header{margin-bottom:0}.control-panel .panel-logo{width:48px;height:48px;object-fit:contain;border-radius:8px}.control-panel .panel-logo-fallback{width:48px;height:48px;background:linear-gradient(135deg,#2e86de,#00d9ff);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff}.control-panel.collapsed .panel-logo,.control-panel.collapsed .panel-logo-fallback{width:36px;height:36px}.control-panel.collapsed .panel-logo-fallback{font-size:18px}.control-panel .panel-titles{flex:1}.control-panel .panel-collapse-btn{background:#0000000d;border:none;border-radius:6px;width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;color:#666;transition:all .2s ease}.control-panel .panel-collapse-btn:hover{background:#0000001a;color:#333}.control-panel.collapsed{min-width:320px}.control-panel h1{font-size:1.2rem;color:var(--primary-blue);margin-bottom:4px}.control-panel .subtitle{font-size:.75rem;color:#888;margin-bottom:0}.timeline-section{margin-bottom:16px}.timeline-section label{display:block;font-size:.85rem;font-weight:600;margin-bottom:8px;color:var(--dark-slate)}.timeline-slider{width:100%;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to right,var(--primary-blue) 0%,var(--safety-orange) 50%,var(--danger-red) 100%);border-radius:4px;outline:none;cursor:pointer}.timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background:#fff;border:3px solid var(--primary-blue);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #0003}.timeline-slider::-moz-range-thumb{width:20px;height:20px;background:#fff;border:3px solid var(--primary-blue);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #0003}.playback-controls{display:flex;gap:8px;margin-bottom:16px}.playback-btn{flex:1;padding:10px 16px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.9rem}.playback-btn.play{background:var(--success-green);color:#fff}.playback-btn.pause{background:var(--safety-orange);color:#fff}.playback-btn.reset{background:var(--dark-slate);color:#fff}.playback-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.mode-toggle{display:flex;gap:4px;background:#eee;border-radius:8px;padding:4px;margin-bottom:16px}.mode-btn{flex:1;padding:8px 12px;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;background:transparent;color:#666}.mode-btn.active{background:var(--primary-blue);color:#fff}.sensor-stats{background:#f8f9fa;border-radius:8px;padding:12px}.sensor-stats h3{font-size:.85rem;color:var(--dark-slate);margin-bottom:8px}.stats-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px}.stats-header h3{margin-bottom:0;flex-shrink:0}.structure-selector{padding:6px 10px;border:1px solid #ddd;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;background:#fff;color:var(--dark-slate);min-width:0;flex:1;max-width:140px}.structure-selector:focus{outline:none;border-color:var(--primary-blue)}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #eee}.stat-row:last-child{border-bottom:none}.stat-label{font-size:.8rem;color:#666}.stat-value{font-size:.9rem;font-weight:700}.stat-value.pressure{color:var(--primary-blue)}.stat-value.temperature{color:var(--safety-orange)}.stat-value.humidity{color:var(--success-green)}.legend{position:absolute;bottom:16px;left:16px;background:#fffffff2;border-radius:8px;padding:12px 16px;box-shadow:0 4px 12px #0000001a;z-index:100}.legend h4{font-size:.75rem;color:#888;margin-bottom:8px}.legend-gradient{width:200px;height:12px;border-radius:4px;margin-bottom:4px}.legend-gradient.pressure{background:linear-gradient(to right,#00f,#0f0,#ff0,red)}.legend-gradient.temperature{background:linear-gradient(to right,#2e86de,#27ae60,#ff8c00,#e74c3c)}.legend-labels{display:flex;justify-content:space-between;font-size:.7rem;color:#666}.offline-indicator{position:absolute;top:16px;right:16px;background:var(--success-green);color:#fff;padding:8px 16px;border-radius:20px;font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:6px;z-index:100}.offline-indicator.offline{background:var(--safety-orange)}.status-dot{width:8px;height:8px;border-radius:50%;background:#fff}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-gray);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000}.loading-spinner{width:48px;height:48px;border:4px solid #ddd;border-top-color:var(--primary-blue);border-radius:50%;animation:spin 1s linear infinite}.loading-text{margin-top:16px;color:var(--dark-slate);font-weight:600}.introduction{width:100%;min-height:100%;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff;display:flex;flex-direction:column;overflow-y:auto}.intro-header{text-align:center;padding:16px 20px 12px}.intro-header h1{font-size:2.2rem;font-weight:700;background:linear-gradient(135deg,#00d9ff,#0f8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.intro-header .tagline{font-size:1rem;color:#ffffffb3;font-weight:300}.intro-nav{display:flex;justify-content:center;gap:8px;padding:0 20px;margin-bottom:12px}.nav-btn{display:flex;flex-direction:column;align-items:center;padding:8px 20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer;transition:all .3s;color:#fff9}.nav-btn:hover{background:#ffffff1a;border-color:#fff3}.nav-btn.active{background:linear-gradient(135deg,#00d9ff33,#0f83);border-color:#00d9ff80;color:#fff}.nav-number{font-size:.7rem;font-weight:600;opacity:.7}.nav-label{font-size:.85rem;font-weight:600}.intro-content{flex:1;padding:0 24px}.section{max-width:1000px;margin:0 auto;animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-icon{width:44px;height:44px;margin:0 auto 10px;background:linear-gradient(135deg,#00d9ff33,#0f83);border-radius:12px;display:flex;align-items:center;justify-content:center}.section-icon svg{width:24px;height:24px;color:#00d9ff}.section-icon.esg svg{color:#0f8}.section h2{text-align:center;font-size:1.3rem;margin-bottom:12px;font-weight:600}.challenge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.challenge-card{background:#ffffff0d;border-radius:10px;padding:14px;border-left:3px solid}.challenge-card.critical{border-left-color:#e74c3c}.challenge-card.warning{border-left-color:#ff8c00}.challenge-card.info{border-left-color:#2e86de}.card-header{margin-bottom:12px}.card-header .stat{font-size:2rem;font-weight:700;display:block;background:linear-gradient(135deg,#00d9ff,#0f8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-header .context{font-size:.8rem;color:#ffffff80}.challenge-card h3{font-size:.85rem;margin-bottom:6px}.challenge-card p{font-size:.75rem;line-height:1.5;color:#fffc}.pain-points{background:#ffffff08;border-radius:12px;padding:20px}.pain-points h3{font-size:1rem;margin-bottom:16px;color:#ffffffe6}.pain-points ul{list-style:none}.pain-points li{position:relative;padding-left:20px;margin-bottom:12px;font-size:.9rem;line-height:1.5;color:#ffffffb3}.pain-points li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;background:#ff8c00;border-radius:50%}.pain-points li strong{color:#fff}.proof-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:28px}.proof-card{background:#ffffff0d;border-radius:12px;padding:20px;position:relative}.proof-number{position:absolute;top:12px;right:12px;font-size:1.5rem;font-weight:700;color:#00d9ff4d}.proof-card h3{font-size:1rem;margin-bottom:10px;color:#fff}.proof-card p{font-size:.85rem;line-height:1.5;color:#ffffffb3;margin-bottom:16px}.proof-visual{margin-top:auto}.heatmap-demo{position:relative}.gradient-bar{height:12px;border-radius:6px;background:linear-gradient(to right,#06f,#0f6,#ff0,#f30);margin-bottom:4px}.heatmap-demo span{font-size:.7rem;color:#ffffff80}.heatmap-demo span:last-child{float:right}.alert-demo{display:flex;flex-direction:column;gap:6px}.alert-item{padding:6px 10px;border-radius:6px;font-size:.75rem;font-weight:600}.alert-item.p0{background:#e74c3c4d;border-left:3px solid #E74C3C}.alert-item.p1{background:#ff8c004d;border-left:3px solid #FF8C00}.alert-item.p2{background:#2e86de4d;border-left:3px solid #2E86DE}.timeline-demo{padding:10px 0}.timeline-bar{height:8px;background:#ffffff1a;border-radius:4px;position:relative}.timeline-progress{height:100%;background:linear-gradient(90deg,#2e86de,#27ae60);border-radius:4px}.timeline-marker{position:absolute;top:-24px;transform:translate(-50%)}.timeline-marker.safe span{background:#27ae60;color:#fff;padding:4px 8px;border-radius:4px;font-size:.7rem;white-space:nowrap}.offline-demo{display:flex;align-items:center;gap:10px;padding:10px;background:#27ae6033;border-radius:8px}.signal-icon{width:24px;height:24px}.signal-icon svg{width:100%;height:100%;fill:#27ae60}.offline-demo span{font-size:.8rem;color:#27ae60;font-weight:600}.tech-stack{background:#ffffff08;border-radius:12px;padding:16px;text-align:center}.tech-stack h3{font-size:.9rem;margin-bottom:12px;color:#ffffffb3}.tech-items{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.tech-badge{padding:6px 12px;background:#00d9ff1a;border:1px solid rgba(0,217,255,.3);border-radius:20px;font-size:.75rem;color:#00d9ff}.esg-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.esg-pillar{background:#ffffff0d;border-radius:10px;overflow:hidden}.pillar-header{display:flex;align-items:center;gap:10px;padding:10px 12px}.pillar-letter{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700}.environmental .pillar-letter{background:#27ae6033;color:#27ae60}.social .pillar-letter{background:#2e86de33;color:#2e86de}.governance .pillar-letter{background:#8e44ad33;color:#9b59b6}.pillar-header h3{font-size:.85rem;color:#fff}.pillar-content{padding:0 12px 12px}.impact-stat{background:#0003;border-radius:6px;padding:8px;margin-bottom:8px;text-align:center}.stat-number{font-size:1.3rem;font-weight:700;display:block}.environmental .stat-number{color:#27ae60}.social .stat-number{color:#2e86de}.governance .stat-number{color:#9b59b6}.impact-stat .stat-label{font-size:.75rem;color:#fff9}.pillar-content ul{list-style:none}.pillar-content li{font-size:.7rem;line-height:1.4;color:#ffffffb3;margin-bottom:4px;padding-left:12px;position:relative}.pillar-content li:before{content:">";position:absolute;left:0;color:#ffffff4d}.pillar-content li strong{color:#fff}.pillar-content p{font-size:.7rem;line-height:1.4;color:#ffffffb3}.sdg-alignment{background:#ffffff08;border-radius:12px;padding:20px;margin-bottom:20px}.sdg-alignment h3{font-size:.9rem;color:#ffffffb3;text-align:center;margin-bottom:16px}.sdg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.sdg-item{display:flex;align-items:center;gap:12px;padding:10px;background:#ffffff0d;border-radius:8px}.sdg-number{width:36px;height:36px;background:linear-gradient(135deg,#00d9ff,#0f8);border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#1a1a2e}.sdg-name{font-size:.8rem;color:#fffc}.cta-section{text-align:center;padding:20px 0}.cta-text{font-size:.95rem;color:#fffc;line-height:1.6;max-width:600px;margin:0 auto}.intro-footer{padding:12px 24px;display:flex;flex-direction:column;align-items:center;gap:10px}.next-btn,.enter-btn{padding:10px 32px;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:8px}.next-btn{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.next-btn:hover{background:#ffffff26;border-color:#ffffff4d}.enter-btn{background:linear-gradient(135deg,#00d9ff,#0f8);color:#1a1a2e}.enter-btn:hover{transform:scale(1.05);box-shadow:0 8px 30px #00d9ff4d}.arrow{font-size:1.2rem}.progress-dots{display:flex;gap:8px}.dot{width:8px;height:8px;border-radius:50%;background:#fff3;transition:all .3s}.dot.active{background:#00d9ff;transform:scale(1.3)}.dot.completed{background:#0f8}.back-to-intro{position:absolute;bottom:16px;right:16px;width:44px;height:44px;border-radius:50%;background:#fffffff2;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026;transition:all .2s;z-index:100}.back-to-intro:hover{transform:scale(1.1);box-shadow:0 6px 20px #0003}.back-to-intro svg{width:24px;height:24px;color:var(--primary-blue)}@media(max-width:1200px){.challenge-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.intro-header h1{font-size:1.4rem}.intro-content{padding:0 16px}.nav-btn{padding:8px 14px}.challenge-grid,.proof-grid,.esg-pillars,.sdg-grid{grid-template-columns:1fr}}.alert-indicator{position:absolute;top:16px;right:120px;width:44px;height:44px;border-radius:50%;background:#fffffff2;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026;transition:all .2s;z-index:100}.alert-indicator:hover{transform:scale(1.1);box-shadow:0 6px 20px #0003}.alert-indicator svg{width:24px;height:24px;color:var(--dark-slate)}.alert-indicator.warning{background:var(--safety-orange)}.alert-indicator.warning svg{color:#fff}.alert-indicator.critical{background:var(--danger-red);animation:pulse-critical 1s infinite}.alert-indicator.critical svg{color:#fff}@keyframes pulse-critical{0%,to{box-shadow:0 0 #e74c3cb3}50%{box-shadow:0 0 0 10px #e74c3c00}}.alert-count{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;background:var(--danger-red);color:#fff;font-size:.7rem;font-weight:700;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 4px}.pulse-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;border:2px solid var(--danger-red);border-radius:50%;animation:pulse-ring 1.5s infinite}@keyframes pulse-ring{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(1.5);opacity:0}}.alert-dashboard-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.alert-dashboard{width:90%;max-width:900px;max-height:85vh;background:#fff;border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d}.dashboard-header{display:flex;align-items:center;padding:20px 24px;background:linear-gradient(135deg,var(--dark-slate) 0%,#1a252f 100%);color:#fff}.header-title h2{font-size:1.3rem;margin-bottom:2px}.header-title .subtitle{font-size:.8rem;opacity:.7}.header-stats{display:flex;gap:12px;margin-left:auto;margin-right:20px}.stat-badge{display:flex;flex-direction:column;align-items:center;padding:8px 16px;background:#ffffff1a;border-radius:8px;min-width:70px}.stat-badge.critical{background:#e74c3c4d;border:1px solid var(--danger-red)}.stat-badge.warning{background:#ff8c004d;border:1px solid var(--safety-orange)}.badge-value{font-size:1.5rem;font-weight:700}.badge-label{font-size:.7rem;opacity:.8}.close-btn{width:36px;height:36px;border:none;background:#ffffff1a;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.close-btn:hover{background:#fff3}.close-btn svg{width:20px;height:20px;color:#fff}.dashboard-tabs{display:flex;background:#f5f6fa;border-bottom:1px solid #e0e0e0}.tab-btn{flex:1;padding:14px 20px;background:none;border:none;font-size:.9rem;font-weight:600;color:#666;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.tab-btn:hover{color:var(--dark-slate);background:#00000008}.tab-btn.active{color:var(--primary-blue);background:#fff}.tab-btn.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--primary-blue)}.tab-badge{background:var(--danger-red);color:#fff;font-size:.7rem;padding:2px 6px;border-radius:10px;min-width:20px;text-align:center}.dashboard-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#fafafa;border-bottom:1px solid #e0e0e0}.filter-group{display:flex;align-items:center;gap:10px}.filter-group label{font-size:.85rem;color:#666}.filter-group select{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:.85rem;cursor:pointer}.toolbar-actions{display:flex;gap:8px}.sound-toggle{width:36px;height:36px;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.sound-toggle svg{width:20px;height:20px;color:#999}.sound-toggle.enabled svg{color:var(--primary-blue)}.clear-btn{padding:8px 16px;background:#f0f0f0;border:1px solid #ddd;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s}.clear-btn:hover{background:#e0e0e0}.dashboard-content{flex:1;overflow-y:auto;padding:16px 20px;background:#f5f6fa}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-icon{width:64px;height:64px;margin-bottom:16px;color:var(--success-green)}.empty-icon svg{width:100%;height:100%}.empty-state h3{font-size:1.2rem;color:var(--dark-slate);margin-bottom:8px}.empty-state p{font-size:.9rem;color:#888}.alert-list{display:flex;flex-direction:column;gap:10px}.alert-card{display:flex;align-items:stretch;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #00000014;transition:all .2s}.alert-card:hover{box-shadow:0 4px 16px #0000001f}.alert-card.acknowledged{opacity:.7}.alert-card.resolved{opacity:.5}.alert-priority{width:50px;display:flex;align-items:center;justify-content:center;background:#f0f0f0}.alert-card.critical .alert-priority{background:var(--danger-red)}.alert-card.severe .alert-priority{background:#c0392b}.alert-card.warning .alert-priority{background:var(--safety-orange)}.alert-card.advisory .alert-priority{background:#3498db}.alert-card.info .alert-priority{background:#95a5a6}.priority-badge{color:#fff;font-weight:700;font-size:.85rem}.alert-icon{width:50px;display:flex;align-items:center;justify-content:center;background:#f8f9fa}.alert-icon svg{width:24px;height:24px;color:#666}.alert-card.critical .alert-icon svg{color:var(--danger-red)}.alert-card.severe .alert-icon svg{color:#c0392b}.alert-card.warning .alert-icon svg{color:var(--safety-orange)}.alert-content{flex:1;padding:12px 16px}.alert-header{display:flex;align-items:center;gap:10px;margin-bottom:4px}.alert-header h4{font-size:.95rem;color:var(--dark-slate)}.sensor-id{font-size:.75rem;color:#888;padding:2px 6px;background:#f0f0f0;border-radius:4px}.alert-message{font-size:.85rem;color:#666;margin-bottom:6px}.alert-details{display:flex;gap:16px;font-size:.8rem}.alert-details .value{color:var(--dark-slate)}.alert-details .threshold{color:#999}.alert-meta{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;padding:12px 16px;min-width:140px;background:#fafafa}.timestamp{font-size:.75rem;color:#888}.alert-actions{display:flex;gap:6px}.action-btn{padding:6px 12px;border:none;border-radius:4px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.action-btn.acknowledge{background:#f0f0f0;color:#666}.action-btn.acknowledge:hover{background:#e0e0e0}.action-btn.resolve{background:var(--success-green);color:#fff}.action-btn.resolve:hover{background:#219a52}.resolved-badge{font-size:.75rem;color:var(--success-green);font-weight:600}.threshold-config{display:flex;flex-direction:column;gap:20px}.threshold-section{background:#fff;border-radius:10px;padding:16px 20px;box-shadow:0 2px 8px #0000000f}.threshold-section h3{display:flex;align-items:center;gap:10px;font-size:1rem;color:var(--dark-slate);margin-bottom:12px}.section-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center}.section-icon svg{width:18px;height:18px;color:#fff}.section-icon.pressure{background:var(--primary-blue)}.section-icon.temperature{background:var(--safety-orange)}.section-icon.humidity{background:var(--success-green)}.section-icon.gradient{background:#9b59b6}.threshold-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.threshold-item{display:flex;flex-direction:column;padding:10px 14px;background:#f8f9fa;border-radius:8px;border-left:4px solid}.threshold-item.p0{border-left-color:var(--danger-red)}.threshold-item.p1{border-left-color:#c0392b}.threshold-item.p2{border-left-color:var(--safety-orange)}.threshold-item.p3{border-left-color:#3498db}.priority-label{font-size:.7rem;font-weight:700;color:#888;margin-bottom:2px}.threshold-value{font-size:1rem;font-weight:700;color:var(--dark-slate);margin-bottom:2px}.threshold-label{font-size:.75rem;color:#666}.threshold-info{background:#fff;border-radius:10px;padding:16px 20px;box-shadow:0 2px 8px #0000000f}.threshold-info h4{font-size:.95rem;color:var(--dark-slate);margin-bottom:12px}.threshold-info ul{list-style:none}.threshold-info li{font-size:.85rem;color:#666;margin-bottom:8px;padding-left:12px;position:relative}.threshold-info li:before{content:"";position:absolute;left:0;top:8px;width:4px;height:4px;background:var(--primary-blue);border-radius:50%}.threshold-info li strong{color:var(--dark-slate)}.dashboard-footer{padding:12px 20px;background:#f5f6fa;border-top:1px solid #e0e0e0}.footer-info{display:flex;align-items:center;justify-content:center;gap:12px;font-size:.8rem;color:#888}.separator{color:#ddd}@media(max-width:768px){.alert-dashboard{width:100%;max-height:100%;border-radius:0}.dashboard-header{flex-wrap:wrap;gap:12px}.header-stats{margin-left:0;width:100%;justify-content:center}.alert-card{flex-wrap:wrap}.alert-meta{width:100%;flex-direction:row;padding:10px 16px}.threshold-grid{grid-template-columns:1fr 1fr}}.sensor-tooltip{position:fixed;z-index:1000;background:#fffffffa;border-radius:12px;box-shadow:0 8px 32px #0003;min-width:260px;overflow:hidden;pointer-events:none;animation:tooltipFadeIn .15s ease-out;border:1px solid rgba(0,0,0,.1)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.sensor-tooltip.critical{border-color:var(--danger-red);box-shadow:0 8px 32px #e74c3c4d}.sensor-tooltip.severe{border-color:#c0392b;box-shadow:0 8px 32px #c0392b40}.sensor-tooltip.warning{border-color:var(--safety-orange);box-shadow:0 8px 32px #ff8c0033}.tooltip-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--dark-slate);color:#fff}.sensor-tooltip.critical .tooltip-header{background:linear-gradient(135deg,#c0392b,#e74c3c)}.sensor-tooltip.severe .tooltip-header{background:linear-gradient(135deg,#d35400,#e67e22)}.sensor-tooltip.warning .tooltip-header{background:linear-gradient(135deg,#f39c12,#f1c40f)}.sensor-name{font-weight:700;font-size:.95rem}.status-badge{font-size:.7rem;font-weight:700;padding:3px 8px;border-radius:4px;background:#fff3}.status-badge.normal{background:var(--success-green)}.status-badge.warning{background:#0003}.status-badge.severe,.status-badge.critical{background:#0000004d;animation:statusPulse 1s infinite}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.7}}.tooltip-location{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#f8f9fa;font-size:.75rem;color:#666;border-bottom:1px solid #eee}.tooltip-location svg{color:var(--primary-blue)}.tooltip-metrics{padding:10px 14px}.metric-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #f0f0f0}.metric-row:last-child{border-bottom:none}.metric-row.warning{background:#ff8c0014;margin:0 -14px;padding:8px 14px}.metric-row.severe{background:#c0392b14;margin:0 -14px;padding:8px 14px}.metric-row.critical{background:#e74c3c1f;margin:0 -14px;padding:8px 14px}.metric-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center}.metric-icon svg{width:16px;height:16px;color:#fff}.metric-icon.pressure{background:var(--primary-blue)}.metric-icon.temperature{background:var(--safety-orange)}.metric-icon.humidity{background:var(--success-green)}.metric-info{flex:1}.metric-label{display:block;font-size:.7rem;color:#888;margin-bottom:2px}.metric-value{font-size:.95rem;font-weight:700;color:var(--dark-slate)}.metric-status{font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:3px;background:#e8e8e8;color:#666}.metric-status.normal{background:#27ae6026;color:var(--success-green)}.metric-status.elevated{background:#3498db26;color:#3498db}.metric-status.warning{background:#ff8c0026;color:#e67e22}.metric-status.severe{background:#c0392b26;color:#c0392b}.metric-status.critical{background:#e74c3c33;color:var(--danger-red);animation:statusPulse .5s infinite}.tooltip-footer{display:flex;justify-content:space-between;padding:8px 14px;background:#f8f9fa;border-top:1px solid #eee}.footer-item{display:flex;align-items:center;gap:4px;font-size:.7rem;color:#888}.footer-item svg{color:#aaa}.tooltip-warning{padding:8px 14px;font-size:.75rem;font-weight:600;text-align:center;color:#fff}.tooltip-warning.warning{background:linear-gradient(135deg,#f39c12,#f1c40f)}.tooltip-warning.severe{background:linear-gradient(135deg,#d35400,#e67e22)}.tooltip-warning.critical{background:linear-gradient(135deg,#c0392b,#e74c3c);animation:warningPulse 1s infinite}@keyframes warningPulse{0%,to{opacity:1}50%{opacity:.85}}.sensor-label{background:#000000bf;color:#fff;padding:4px 8px;border-radius:4px;font-size:.7rem;font-weight:600;font-family:Segoe UI,sans-serif;white-space:nowrap;pointer-events:none}.sensor-label-mini{background:#0009;color:#fff;padding:2px 6px;border-radius:10px;font-size:.6rem;font-weight:700;font-family:Segoe UI,sans-serif;white-space:nowrap;pointer-events:none;min-width:18px;text-align:center;transition:all .2s ease}.sensor-label-mini.expanded{background:#00d9ffe6;padding:4px 8px;font-size:.7rem}.critical-indicator{width:24px;height:24px;background:var(--danger-red);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:criticalBounce .5s infinite;box-shadow:0 2px 8px #e74c3c80}.critical-indicator span{color:#fff;font-size:14px;font-weight:700;font-family:Segoe UI,sans-serif}@keyframes criticalBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.anomaly-count{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--danger-red);color:#fff;border-radius:12px;font-size:.75rem;font-weight:700;margin-left:8px}.anomaly-count.warning{background:var(--safety-orange)}.anomaly-count.none{background:var(--success-green)}.scenario-indicator{position:absolute;bottom:16px;left:350px;display:flex;align-items:center;gap:12px;padding:10px 16px;background:#fffffff2;border:2px solid;border-radius:12px;cursor:pointer;transition:all .2s;z-index:100;box-shadow:0 4px 12px #00000026}.scenario-indicator:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.scenario-indicator.green{border-color:var(--success-green)}.scenario-indicator.orange{border-color:var(--safety-orange)}.scenario-indicator.yellow{border-color:#f1c40f}.scenario-indicator.blue{border-color:var(--primary-blue)}.scenario-indicator.purple{border-color:#9b59b6}.scenario-indicator.gray{border-color:#95a5a6}.indicator-content{display:flex;flex-direction:column}.indicator-label{font-size:.65rem;color:#888;text-transform:uppercase;letter-spacing:.5px}.indicator-name{font-size:.9rem;font-weight:700;color:var(--dark-slate)}.indicator-params{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#666;padding:4px 10px;background:#f5f5f5;border-radius:6px}.indicator-params .separator{color:#ccc}.indicator-arrow{width:16px;height:16px;color:#888}.scenario-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.scenario-modal{width:90%;max-width:900px;max-height:90vh;background:#fff;border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d}.scenario-header{position:relative;padding:24px;background:linear-gradient(135deg,var(--dark-slate) 0%,#1a252f 100%);color:#fff}.scenario-header h2{font-size:1.4rem;margin-bottom:4px}.scenario-header p{font-size:.85rem;opacity:.7}.scenario-header .close-btn{position:absolute;top:20px;right:20px;width:36px;height:36px;border:none;background:#ffffff1a;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.scenario-header .close-btn:hover{background:#fff3}.scenario-header .close-btn svg{width:20px;height:20px;color:#fff}.scenario-content{flex:1;overflow-y:auto;padding:20px;background:#f5f6fa}.scenario-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:20px}.scenario-card{background:#fff;border-radius:12px;padding:16px;cursor:pointer;border:2px solid transparent;transition:all .2s;position:relative;box-shadow:0 2px 8px #0000000f}.scenario-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001a}.scenario-card.selected{border-color:var(--primary-blue);box-shadow:0 6px 20px #2e86de33}.scenario-card.green .card-icon{background:#27ae6026;color:var(--success-green)}.scenario-card.orange .card-icon{background:#ff8c0026;color:var(--safety-orange)}.scenario-card.yellow .card-icon{background:#f1c40f26;color:#f39c12}.scenario-card.blue .card-icon{background:#2e86de26;color:var(--primary-blue)}.scenario-card.purple .card-icon{background:#9b59b626;color:#9b59b6}.scenario-card.gray .card-icon{background:#95a5a626;color:#7f8c8d}.scenario-card.selected.green{border-color:var(--success-green)}.scenario-card.selected.orange{border-color:var(--safety-orange)}.scenario-card.selected.yellow{border-color:#f1c40f}.scenario-card.selected.blue{border-color:var(--primary-blue)}.scenario-card.selected.purple{border-color:#9b59b6}.scenario-card.selected.gray{border-color:#7f8c8d}.card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.card-icon svg{width:22px;height:22px}.scenario-card h4{font-size:.95rem;color:var(--dark-slate);margin-bottom:6px}.scenario-card p{font-size:.75rem;color:#888;line-height:1.4;margin-bottom:12px}.card-params{display:flex;gap:8px}.card-params span{font-size:.7rem;padding:3px 8px;background:#f5f5f5;border-radius:4px;color:#666;font-weight:600}.active-badge{position:absolute;top:12px;right:12px;font-size:.65rem;font-weight:700;padding:3px 8px;background:var(--success-green);color:#fff;border-radius:4px;text-transform:uppercase}.custom-config{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px #0000000f}.custom-config h3{font-size:1rem;color:var(--dark-slate);margin-bottom:16px}.config-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.config-field{display:flex;flex-direction:column;gap:8px}.config-field label{font-size:.8rem;font-weight:600;color:#666}.config-field .input-group{display:flex;align-items:center;gap:12px}.config-field input[type=range]{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e0e0e0;border-radius:3px;outline:none}.config-field input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:var(--primary-blue);border-radius:50%;cursor:pointer}.config-field .value{min-width:60px;font-size:.85rem;font-weight:700;color:var(--dark-slate);text-align:right}.config-field select{padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:.85rem;cursor:pointer;background:#fff}.scenario-details{display:grid;grid-template-columns:1fr 1fr;gap:16px}.details-section{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #0000000f}.details-section h4{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--dark-slate);margin-bottom:12px}.details-section h4 svg{width:18px;height:18px}.details-section.risks h4{color:var(--safety-orange)}.details-section.recommendations h4{color:var(--success-green)}.details-section ul{list-style:none}.details-section li{font-size:.8rem;color:#666;padding:6px 0 6px 16px;position:relative;border-bottom:1px solid #f5f5f5}.details-section li:last-child{border-bottom:none}.details-section li:before{content:"";position:absolute;left:0;top:12px;width:6px;height:6px;border-radius:50%}.details-section.risks li:before{background:var(--safety-orange)}.details-section.recommendations li:before{background:var(--success-green)}.scenario-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;background:#fff;border-top:1px solid #eee}.cancel-btn{padding:12px 24px;background:#f5f5f5;border:none;border-radius:8px;font-size:.9rem;font-weight:600;color:#666;cursor:pointer;transition:background .2s}.cancel-btn:hover{background:#e8e8e8}.apply-btn{padding:12px 24px;background:var(--primary-blue);border:none;border-radius:8px;font-size:.9rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s}.apply-btn:hover{background:#2573c2;transform:translateY(-1px)}@media(max-width:768px){.scenario-indicator{left:16px;bottom:80px}.scenario-modal{width:100%;max-height:100%;border-radius:0}.scenario-grid,.scenario-details,.config-grid{grid-template-columns:1fr}}.structure-indicator{position:fixed;left:50%;transform:translate(-50%);top:16px;display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fffffff2;border:1px solid rgba(0,0,0,.1);border-radius:12px;cursor:pointer;box-shadow:0 4px 20px #0000001a;transition:all .2s ease;z-index:100}.structure-indicator:hover{transform:translate(-50%) translateY(-2px);box-shadow:0 6px 24px #00000026}.structure-indicator .indicator-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center}.structure-indicator .indicator-icon svg{width:18px;height:18px}.structure-indicator.site .indicator-icon,.structure-indicator.blue .indicator-icon{background:#2e86de26;color:var(--primary-blue)}.structure-indicator.purple .indicator-icon{background:#9b59b626;color:#9b59b6}.structure-indicator.orange .indicator-icon{background:#ff8c0026;color:var(--safety-orange)}.structure-indicator .indicator-content{display:flex;flex-direction:column;align-items:flex-start}.structure-indicator .indicator-label{font-size:.65rem;color:#888;text-transform:uppercase;letter-spacing:.5px}.structure-indicator .indicator-name{font-size:.85rem;font-weight:600;color:var(--dark-slate)}.structure-indicator .indicator-meta{font-size:.7rem;color:#666;padding:3px 8px;background:#f5f5f5;border-radius:4px}.structure-indicator .indicator-arrow{width:16px;height:16px;color:#888}.structure-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.structure-modal{width:90%;max-width:800px;max-height:90vh;background:#fff;border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d}.structure-header{position:relative;padding:24px;background:linear-gradient(135deg,var(--dark-slate) 0%,#1a252f 100%);color:#fff}.structure-header h2{font-size:1.4rem;margin-bottom:4px}.structure-header p{font-size:.85rem;opacity:.7}.structure-header .close-btn{position:absolute;top:20px;right:20px;width:36px;height:36px;border:none;background:#ffffff1a;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.structure-header .close-btn:hover{background:#fff3}.structure-header .close-btn svg{width:20px;height:20px;color:#fff}.structure-content{flex:1;overflow-y:auto;padding:20px;background:#f5f6fa}.site-overview-btn{display:flex;align-items:center;gap:16px;width:100%;padding:16px;background:#fff;border:2px solid transparent;border-radius:12px;cursor:pointer;margin-bottom:16px;transition:all .2s;box-shadow:0 2px 8px #0000000f;text-align:left}.site-overview-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001a}.site-overview-btn.active{border-color:var(--primary-blue);box-shadow:0 6px 20px #2e86de33}.site-overview-btn .overview-icon{width:48px;height:48px;background:#2e86de26;color:var(--primary-blue);border-radius:12px;display:flex;align-items:center;justify-content:center}.site-overview-btn .overview-icon svg{width:24px;height:24px}.site-overview-btn .overview-info{flex:1;display:flex;flex-direction:column;gap:2px}.site-overview-btn .overview-title{font-size:1rem;font-weight:600;color:var(--dark-slate)}.site-overview-btn .overview-desc{font-size:.8rem;color:#888}.structure-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.structure-card{background:#fff;border-radius:12px;padding:16px;cursor:pointer;border:2px solid transparent;transition:all .2s;position:relative;box-shadow:0 2px 8px #0000000f}.structure-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001a}.structure-card.selected{border-color:var(--primary-blue);box-shadow:0 6px 20px #2e86de33}.structure-card.inactive{opacity:.6}.structure-card.blue .card-icon{background:#2e86de26;color:var(--primary-blue)}.structure-card.purple .card-icon{background:#9b59b626;color:#9b59b6}.structure-card.orange .card-icon{background:#ff8c0026;color:var(--safety-orange)}.structure-card.selected.blue{border-color:var(--primary-blue)}.structure-card.selected.purple{border-color:#9b59b6}.structure-card.selected.orange{border-color:var(--safety-orange)}.structure-card .card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.structure-card .card-icon svg{width:22px;height:22px}.structure-card .card-info{margin-bottom:12px}.structure-card .card-info h4{font-size:.95rem;color:var(--dark-slate);margin-bottom:2px}.structure-card .structure-type{font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.5px}.structure-card .card-details{display:flex;flex-direction:column;gap:6px}.structure-card .detail-row{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#666}.structure-card .detail-row svg{color:#aaa}.structure-card .selected-badge{position:absolute;top:12px;right:12px;font-size:.65rem;font-weight:700;padding:3px 8px;background:var(--primary-blue);color:#fff;border-radius:4px;text-transform:uppercase}.structure-card .inactive-badge{position:absolute;top:12px;right:12px;font-size:.65rem;font-weight:700;padding:3px 8px;background:#95a5a6;color:#fff;border-radius:4px;text-transform:uppercase}.structure-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#fff;border-top:1px solid #eee}.structure-footer .structure-stats{display:flex;gap:8px;font-size:.8rem;color:#888}.structure-footer .structure-stats .separator{color:#ddd}.structure-footer .close-modal-btn{padding:10px 20px;background:#f5f5f5;border:none;border-radius:8px;font-size:.85rem;font-weight:600;color:#666;cursor:pointer;transition:background .2s}.structure-footer .close-modal-btn:hover{background:#e8e8e8}.sensor-tooltip .tooltip-header .sensor-identity{display:flex;flex-direction:column;gap:2px}.sensor-tooltip .tooltip-header .structure-name{font-size:.7rem;color:#888;font-weight:400}@media(max-width:768px){.structure-indicator{left:50%;transform:translate(-50%);top:16px}.structure-modal{width:100%;max-height:100%;border-radius:0}.structure-grid{grid-template-columns:1fr}}.language-switcher{position:relative;z-index:200}.lang-trigger{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;transition:all .2s;color:#fff;font-size:.85rem}.lang-trigger:hover{background:#ffffff26;border-color:#ffffff4d}.lang-flag{font-size:1.1rem}.lang-name{font-weight:500}.lang-arrow{width:14px;height:14px;transition:transform .2s}.lang-arrow.open{transform:rotate(180deg)}.lang-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000040;overflow:hidden;animation:dropdownFade .2s ease-out}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.lang-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--dark-slate);color:#fff;font-size:.85rem;font-weight:600}.lang-header svg{width:18px;height:18px}.lang-list{list-style:none;padding:8px}.lang-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:none;border-radius:8px;cursor:pointer;transition:background .2s;text-align:left}.lang-option:hover{background:#f5f5f5}.lang-option.active{background:#2e86de1a}.lang-info{display:flex;flex-direction:column;flex:1}.lang-native{font-size:.9rem;font-weight:600;color:var(--dark-slate)}.lang-english{font-size:.75rem;color:#888}.lang-check{width:18px;height:18px;color:var(--primary-blue)}.lang-footer{padding:10px 16px;background:#f5f5f5;border-top:1px solid #eee;text-align:center}.ces-badge{font-size:.7rem;font-weight:700;padding:4px 10px;background:linear-gradient(135deg,#00d9ff,#0f8);color:#1a1a2e;border-radius:12px}.floating-lang-switcher{position:fixed;top:16px;right:180px;z-index:150}.floating-lang-switcher .lang-trigger{background:#fffffff2;border-color:#0000001a;color:var(--dark-slate);box-shadow:0 4px 12px #00000026}.floating-lang-switcher .lang-trigger:hover{background:#fff;box-shadow:0 6px 20px #0003}.language-switcher.minimal{display:flex}.lang-buttons{display:flex;gap:4px;padding:4px;background:#ffffff1a;border-radius:8px}.lang-btn{padding:6px 12px;background:transparent;border:none;border-radius:6px;font-size:.75rem;font-weight:700;color:#fff9;cursor:pointer;transition:all .2s}.lang-btn:hover{color:#fff;background:#ffffff1a}.lang-btn.active{background:#fff3;color:#fff}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.brand-badge{display:flex;align-items:center}.brand-badge .ces-badge{font-size:.75rem;padding:6px 14px}.brand-logo{display:flex;flex-direction:column;align-items:center;margin-bottom:8px}.formis-logo{width:120px;height:38px;margin-bottom:2px}.logo-text{font-family:Segoe UI,sans-serif;font-size:26px;font-weight:800;fill:#fff;letter-spacing:2px}.brand-tagline{font-size:.8rem;color:#fff9;letter-spacing:1px}.intro-header h1{display:flex;flex-direction:column;align-items:center;gap:4px}.title-main{font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,#00d9ff,#0f8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.title-sub{font-size:1.3rem;font-weight:300;color:#ffffffe6}.footer-brand{font-size:.75rem;color:#ffffff80}.footer-brand a{color:#00d9ff;text-decoration:none;transition:color .2s}.footer-brand a:hover{color:#0f8;text-decoration:underline}.section-subtitle{text-align:center;font-size:.8rem;color:#fff9;margin-bottom:14px}.challenge-card .card-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;background:#ffffff1a}.challenge-card .card-icon svg{width:18px;height:18px}.challenge-card.critical .card-icon{color:#e74c3c}.challenge-card.warning .card-icon{color:#ff8c00}.challenge-card.info .card-icon{color:#2e86de}.challenge-card.dark .card-icon{color:#95a5a6}.challenge-card.dark{border-left-color:#95a5a6}.challenge-card h3{font-size:1rem;color:#fff;margin-bottom:8px}.formis-products{background:#ffffff08;border-radius:10px;padding:12px;margin-top:12px;text-align:center}.formis-products h3{font-size:.75rem;color:#ffffffb3;margin-bottom:8px}.product-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:10px}.product-badge{padding:5px 12px;background:#00d9ff1a;border:1px solid rgba(0,217,255,.3);border-radius:16px;font-size:.7rem;color:#00d9ff;font-weight:500}.product-features{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.product-features .feature{font-size:.7rem;color:#fff9;display:flex;align-items:center;gap:4px}.product-features .feature:before{content:"";width:8px;height:8px;background:var(--success-green);border-radius:50%}body.rtl{direction:rtl;text-align:right}body.rtl .intro-header{text-align:center}body.rtl .header-top,body.rtl .intro-nav{flex-direction:row-reverse}body.rtl .challenge-card{border-left:none;border-right:4px solid}body.rtl .challenge-card.critical{border-right-color:#e74c3c}body.rtl .challenge-card.warning{border-right-color:#ff8c00}body.rtl .challenge-card.info{border-right-color:#2e86de}body.rtl .challenge-card.dark{border-right-color:#95a5a6}body.rtl .pillar-header{flex-direction:row-reverse}body.rtl .pillar-content li{padding-left:0;padding-right:16px}body.rtl .pillar-content li:before{left:auto;right:0}body.rtl .control-panel,body.rtl .legend{left:auto;right:16px}body.rtl .offline-indicator{left:16px;right:auto}body.rtl .floating-lang-switcher{right:auto;left:180px}body.rtl .back-to-intro{left:16px;right:auto}body.rtl .alert-indicator{left:120px;right:auto}body.rtl .alert-card{flex-direction:row-reverse}body.rtl .alert-priority,body.rtl .alert-icon{order:1}body.rtl .alert-content{text-align:right}body.rtl .alert-meta{align-items:flex-start}body.rtl .details-section li{padding-left:0;padding-right:16px}body.rtl .details-section li:before{left:auto;right:0}body.rtl .threshold-item{border-left:none;border-right:4px solid}body.rtl .threshold-item.p0{border-right-color:var(--danger-red)}body.rtl .threshold-item.p1{border-right-color:#c0392b}body.rtl .threshold-item.p2{border-right-color:var(--safety-orange)}body.rtl .threshold-item.p3{border-right-color:#3498db}body.rtl .lang-dropdown{right:auto;left:0}body.rtl .lang-option{flex-direction:row-reverse;text-align:right}body.rtl .scenario-indicator{left:auto;right:350px}body.rtl .indicator-params .separator{margin:0 4px}body.rtl .scenario-footer{flex-direction:row-reverse}body.rtl .heatmap-demo span:last-child{float:left}@media(max-width:768px){body.rtl .scenario-indicator{right:16px;left:auto}body.rtl .floating-lang-switcher{left:16px;right:auto}}.analytics-section{margin-top:20px;padding-top:16px;border-top:1px solid #e0e0e0}.analytics-section h3{font-size:.9rem;color:#666;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.analytics-buttons{display:flex;flex-direction:column;gap:8px}.analytics-btn{display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--dark-slate);transition:all .2s ease}.analytics-btn:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6);border-color:var(--primary-blue);color:var(--primary-blue);transform:translate(4px)}.analytics-btn svg{flex-shrink:0}.history-panel-overlay,.stripping-panel-overlay,.export-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.history-panel,.stripping-panel,.export-panel{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:700px;width:90%;max-height:85vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.history-panel .panel-header,.stripping-panel .panel-header,.export-panel .panel-header{display:flex;align-items:center;padding:20px 24px;border-bottom:1px solid #eee;background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:16px 16px 0 0}.history-panel .header-title,.stripping-panel .header-title,.export-panel .header-title{flex:1}.history-panel .header-title h2,.stripping-panel .header-title h2,.export-panel .header-title h2{font-size:1.25rem;color:var(--dark-slate);margin-bottom:4px}.history-panel .header-title .subtitle,.stripping-panel .header-title .subtitle,.export-panel .header-title .subtitle{font-size:.85rem;color:#888}.history-tabs{display:flex;gap:4px;padding:16px 24px;background:#f8f9fa}.history-tabs .tab-btn{padding:10px 20px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-weight:500;color:#666;transition:all .2s ease}.history-tabs .tab-btn:hover{background:#e9ecef}.history-tabs .tab-btn.active{background:var(--primary-blue);color:#fff}.history-selectors{display:flex;gap:16px;padding:16px 24px;border-bottom:1px solid #eee}.selector-group{display:flex;flex-direction:column;gap:4px}.selector-group label{font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.5px}.selector-group select{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:.9rem;min-width:120px}.history-chart-container{padding:20px 24px;min-height:300px}.no-data-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:250px;color:#888;text-align:center}.no-data-message .hint{font-size:.85rem;color:#aaa;margin-top:8px}.history-stats{display:flex;align-items:center;justify-content:center;gap:24px;padding:16px 24px;background:#f8f9fa;border-radius:0 0 16px 16px}.history-stats .stat-item{display:flex;flex-direction:column;align-items:center}.history-stats .stat-label{font-size:.75rem;color:#888;text-transform:uppercase}.history-stats .stat-value{font-size:.95rem;font-weight:600;color:var(--dark-slate)}.history-stats .stat-divider{width:1px;height:30px;background:#ddd}.chart-tooltip{background:#000000d9;padding:8px 12px;border-radius:6px;color:#fff}.chart-tooltip .tooltip-time{font-size:.75rem;color:#aaa;margin-bottom:4px}.chart-tooltip .tooltip-value{font-size:.95rem;font-weight:600}.stripping-selector{display:flex;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid #eee}.stripping-selector label{font-size:.85rem;color:#666}.stripping-selector select{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:.9rem}.maturity-card{margin:20px 24px;padding:20px;background:linear-gradient(135deg,#f0f4ff,#e8f4ff);border-radius:12px;border:1px solid #d0e0ff}.maturity-card .card-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.maturity-card .card-icon{width:32px;height:32px;background:var(--primary-blue);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}.maturity-card .card-title{font-weight:600;color:var(--dark-slate)}.progress-bar-container{position:relative;height:24px;background:#e0e0e0;border-radius:12px;overflow:hidden;margin-bottom:12px}.progress-bar{height:100%;border-radius:12px;transition:width .5s ease}.maturity-progress{background:linear-gradient(90deg,var(--primary-blue),#00d9ff)}.progress-milestones{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.milestone{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;align-items:center}.milestone-marker{width:2px;height:100%;background:#ffffff80}.milestone-label{position:absolute;top:-18px;font-size:.65rem;color:#888;white-space:nowrap}.maturity-value{display:flex;align-items:baseline;gap:8px}.maturity-value .value{font-size:1.5rem;font-weight:700;color:var(--primary-blue)}.maturity-value .target{font-size:.85rem;color:#888}.strength-card{margin:0 24px 20px;padding:16px 20px;background:#f8f9fa;border-radius:12px}.strength-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.strength-row .label{font-size:.85rem;color:#666}.strength-row .value{font-weight:600;color:var(--dark-slate)}.strength-row .percent{font-size:.8rem;color:#888;margin-left:8px}.strength-progress{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-top:8px}.strength-progress .progress-bar{height:100%}.strength-progress .progress-bar.safe{background:var(--success-green)}.strength-progress .progress-bar.not-safe{background:var(--safety-orange)}.countdown-card{margin:0 24px 20px;padding:24px;background:linear-gradient(135deg,#fff5e6,#fff0d6);border:1px solid #ffe0b2;border-radius:12px;display:flex;align-items:center;gap:16px}.countdown-card.safe{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-color:#a5d6a7}.countdown-icon{flex-shrink:0}.countdown-card .countdown-icon svg{stroke:var(--safety-orange)}.countdown-card.safe .countdown-icon svg{stroke:var(--success-green)}.countdown-content{flex:1}.countdown-label{display:block;font-size:.85rem;color:#666;margin-bottom:4px}.countdown-value{display:block;font-size:1.75rem;font-weight:700;color:var(--dark-slate)}.confidence-section{padding:16px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;border-top:1px solid #eee}.confidence-badge{display:flex;align-items:center;gap:8px}.confidence-badge .label{font-size:.85rem;color:#666}.confidence-badge .badge{padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:600}.confidence-badge .badge.low{background:#ffebee;color:#c62828}.confidence-badge .badge.medium{background:#fff3e0;color:#e65100}.confidence-badge .badge.high{background:#e8f5e9;color:#2e7d32}.weather-warning{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#fff3e0;border-radius:6px;font-size:.8rem;color:#e65100}.weather-warning.cold{background:#e3f2fd;color:#1565c0}.weather-warning .warning-icon{font-weight:700}.details-toggle{margin-left:auto;padding:8px 16px;background:transparent;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.85rem;color:#666;transition:all .2s ease}.details-toggle:hover{background:#f5f5f5;border-color:#bbb}.calculation-details{margin:0 24px 20px;padding:16px;background:#f5f5f5;border-radius:8px}.calculation-details h4{font-size:.9rem;color:#666;margin-bottom:12px}.calculation-details table{width:100%;font-size:.85rem}.calculation-details td{padding:6px 0;border-bottom:1px solid #e0e0e0}.calculation-details td:first-child{color:#888}.calculation-details td:last-child{text-align:right;color:var(--dark-slate)}.export-form{padding:20px 24px}.export-form .form-group{margin-bottom:16px}.export-form label{display:block;font-size:.85rem;color:#666;margin-bottom:6px}.export-form input,.export-form select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:.9rem}.export-form input:focus,.export-form select:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #2e86de1a}.export-sections{padding:16px 24px;background:#f8f9fa}.export-sections h4{font-size:.85rem;color:#666;margin-bottom:12px}.checkbox-label{display:flex;align-items:center;gap:10px;padding:10px 0;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-blue)}.checkbox-label span{font-size:.9rem;color:var(--dark-slate)}.checkbox-label .badge{margin-left:auto;padding:2px 8px;background:#e0e0e0;border-radius:10px;font-size:.75rem;color:#666}.export-warning{display:flex;align-items:flex-start;gap:12px;margin:16px 24px;padding:12px 16px;background:#fff3e0;border-radius:8px;border-left:4px solid var(--safety-orange)}.export-warning .warning-icon{flex-shrink:0;width:20px;height:20px;background:var(--safety-orange);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem}.export-warning p{font-size:.85rem;color:#e65100;line-height:1.4}.export-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #eee}.cancel-btn{padding:10px 24px;background:transparent;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:.9rem;color:#666;transition:all .2s ease}.cancel-btn:hover{background:#f5f5f5}.download-btn{display:flex;align-items:center;gap:8px;padding:10px 24px;background:var(--primary-blue);border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;color:#fff;transition:all .2s ease}.download-btn:hover:not(:disabled){background:#2472c8}.download-btn:disabled{opacity:.6;cursor:not-allowed}.download-btn .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.time-series-chart,.multi-sensor-chart{width:100%}.sensor-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.sensor-detail-panel{background:#fff;border-radius:16px;width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.detail-header{display:flex;align-items:center;gap:16px;padding:20px 24px;border-bottom:1px solid #eee;position:sticky;top:0;background:#fff;z-index:10}.detail-header .header-info{flex:1}.detail-header h2{font-size:1.4rem;font-weight:700;color:var(--dark-slate);margin-bottom:4px}.detail-header .structure-name{font-size:.85rem;color:#666}.detail-header .status-indicator{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:600}.detail-header .status-indicator.normal{background:#27ae601a;color:#27ae60}.detail-header .status-indicator.warning{background:#f39c121a;color:#f39c12}.detail-header .status-indicator.severe{background:#ff8c001a;color:#ff8c00}.detail-header .status-indicator.critical{background:#e74c3c1a;color:#e74c3c}.detail-header .status-dot{width:10px;height:10px;border-radius:50%;background:currentColor;animation:pulse 2s ease-in-out infinite}.detail-header .close-btn{background:#0000000d;border:none;border-radius:8px;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;transition:all .2s ease}.detail-header .close-btn:hover{background:#0000001a;color:var(--dark-slate)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px 24px}@media(max-width:600px){.detail-grid{grid-template-columns:1fr}}.current-status-card,.sensor-info-card{background:#f8f9fa;border-radius:12px;padding:16px}.current-status-card h3,.sensor-info-card h3{font-size:.9rem;font-weight:600;color:#666;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.metrics-list{display:flex;flex-direction:column;gap:10px}.metric-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#fff;border-radius:8px;border-left:4px solid}.metric-item.pressure{border-left-color:var(--primary-blue)}.metric-item.temperature{border-left-color:#e74c3c}.metric-item.humidity{border-left-color:#27ae60}.metric-label{font-size:.85rem;color:#666}.metric-value{font-size:1rem;font-weight:700;color:var(--dark-slate)}.info-list{display:flex;flex-direction:column;gap:8px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #eee}.info-item:last-child{border-bottom:none}.info-label{font-size:.85rem;color:#666}.info-value{font-size:.9rem;font-weight:500;color:var(--dark-slate)}.detail-tabs{display:flex;gap:8px;padding:0 24px;border-bottom:1px solid #eee}.tab-btn{padding:12px 20px;border:none;background:transparent;cursor:pointer;font-size:.9rem;font-weight:500;color:#666;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s ease}.tab-btn:hover{color:var(--primary-blue)}.tab-btn.active{color:var(--primary-blue);border-bottom-color:var(--primary-blue)}.detail-chart-container{padding:20px 24px}.no-data-message{text-align:center;padding:40px;color:#666}.no-data-message .hint{font-size:.85rem;color:#999;margin-top:8px}.prediction-legend{display:flex;justify-content:center;gap:24px;margin-top:12px;font-size:.8rem;color:#666}.prediction-legend .legend-item{display:flex;align-items:center;gap:8px}.prediction-legend .solid-line{width:24px;height:2px;background:var(--primary-blue)}.prediction-legend .dashed-line{width:24px;height:2px;background:repeating-linear-gradient(to right,var(--primary-blue) 0px,var(--primary-blue) 5px,transparent 5px,transparent 8px)}.recommendations-section{padding:20px 24px;border-top:1px solid #eee}.recommendations-section h3{font-size:.9rem;font-weight:600;color:#666;margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px}.recommendations-list{display:flex;flex-direction:column;gap:10px}.recommendation-item{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border-radius:10px;background:#f8f9fa}.recommendation-item.success{background:#27ae6014;border-left:4px solid #27ae60}.recommendation-item.info{background:#2e86de14;border-left:4px solid var(--primary-blue)}.recommendation-item.warning{background:#f39c1214;border-left:4px solid #f39c12}.recommendation-item.action{background:#ff8c0014;border-left:4px solid var(--safety-orange)}.recommendation-item.critical{background:#e74c3c14;border-left:4px solid #e74c3c}.rec-icon{font-size:1.2rem;flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.rec-content{flex:1;display:flex;flex-direction:column;gap:4px}.rec-title{font-weight:600;font-size:.95rem;color:var(--dark-slate)}.rec-message{font-size:.85rem;color:#666;line-height:1.5}.chart-tooltip{background:#fff;border:1px solid #ddd;border-radius:8px;padding:10px 14px;box-shadow:0 4px 12px #0000001a}.tooltip-time{font-size:.8rem;color:#666;margin-bottom:4px}.tooltip-value{font-size:1rem;font-weight:700;color:var(--dark-slate)}.sitemap-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.sitemap-panel{background:#1a1a2e;border-radius:16px;width:100%;max-width:900px;height:80vh;max-height:700px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0006}.sitemap-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #2d2d44}.sitemap-header h2{color:#fff;font-size:1.2rem;font-weight:600}.sitemap-header .close-btn{background:#ffffff1a;border:none;border-radius:8px;width:36px;height:36px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#888;transition:all .2s ease}.sitemap-header .close-btn:hover{background:#ffffff26;color:#fff}.sitemap-legend{display:flex;gap:16px;padding:12px 20px;background:#0003;flex-wrap:wrap;align-items:center}.sitemap-legend .legend-item{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#aaa}.sitemap-legend .legend-color{width:16px;height:10px;border-radius:2px}.sitemap-legend .legend-dot{width:10px;height:10px;border-radius:50%}.sitemap-legend .legend-divider{width:1px;height:16px;background:#444}.sitemap-canvas-container{flex:1;position:relative;overflow:hidden}.sitemap-canvas-container canvas{width:100%;height:100%}.sitemap-info{padding:12px 20px;border-top:1px solid #2d2d44;text-align:center}.sitemap-info p{color:#888;font-size:.85rem}.sitemap-indicator{position:absolute;bottom:16px;right:70px;background:#fffffff2;border:none;border-radius:10px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 10px #00000026;transition:all .2s ease;z-index:50}.sitemap-indicator:hover{background:#fff;transform:scale(1.05);box-shadow:0 4px 16px #0003}.sitemap-indicator svg{color:var(--primary-blue)}body.rtl .sitemap-indicator{right:auto;left:70px}
