@import url(https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap);*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#0a0e17;--bg-secondary:#111827;--bg-card:#111827cc;--glass:#ffffff0d;--glass-border:#ffffff1a;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-cyan:#06b6d4;--accent-blue:#3b82f6;--accent-purple:#8b5cf6;--accent-pink:#ec4899;--accent-green:#10b981;--accent-orange:#f97316;--accent-red:#ef4444;--gradient-ocean:linear-gradient(135deg,#0ea5e9,#06b6d4 50%,#14b8a6);--gradient-sunset:linear-gradient(135deg,#f97316,#ec4899);--gradient-aurora:linear-gradient(135deg,#8b5cf6,#06b6d4 50%,#10b981);--shadow-glow:0 0 40px #06b6d44d}.light-theme{--bg-primary:#f0f4f8;--bg-secondary:#fff;--bg-card:#ffffffe6;--glass:#00000008;--glass-border:#00000014;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#64748b;--shadow-glow:0 0 40px #06b6d433}.light-theme .app-container{background:radial-gradient(ellipse at 20% 0,#06b6d414 0,#0000 50%),radial-gradient(ellipse at 80% 100%,#8b5cf60f 0,#0000 50%),radial-gradient(ellipse at 50% 50%,#0ea5e908 0,#0000 70%),#0a0e17;background:radial-gradient(ellipse at 20% 0,#06b6d414 0,#0000 50%),radial-gradient(ellipse at 80% 100%,#8b5cf60f 0,#0000 50%),radial-gradient(ellipse at 50% 50%,#0ea5e908 0,#0000 70%),var(--bg-primary)}.light-theme .wave{background:radial-gradient(ellipse,#06b6d40f 0,#0000 70%)}.light-theme .wave:nth-child(2){background:radial-gradient(ellipse,#8b5cf60d 0,#0000 70%)}.light-theme .wave:nth-child(3){background:radial-gradient(ellipse,#10b9810a 0,#0000 70%)}.light-theme .header{background:#fffc;border-bottom-color:#00000014}.light-theme .chart-card,.light-theme .device-card,.light-theme .gauge-card,.light-theme .metric-card,.light-theme .pie-card,.light-theme .room-card{background:#111827cc;background:var(--bg-card);border-color:#ffffff1a;border-color:var(--glass-border);box-shadow:0 4px 20px #00000014}.light-theme .metric-card:hover,.light-theme .room-card:hover{box-shadow:0 20px 40px #0000001f,0 0 40px #06b6d426}.light-theme .custom-tooltip{background:#111827!important;background:var(--bg-secondary)!important;border-color:#ffffff1a!important;border-color:var(--glass-border)!important;box-shadow:0 10px 40px #00000026!important}.light-theme .back-arrow,.light-theme .chart-title,.light-theme .connection-status span,.light-theme .device-name,.light-theme .device-timestamp,.light-theme .gauge-title,.light-theme .legend-item,.light-theme .logo-subtitle,.light-theme .logo-text,.light-theme .metric-label,.light-theme .pie-title,.light-theme .room-last-update,.light-theme .room-metric-label,.light-theme .room-name,.light-theme .rooms-stat-label,.light-theme .rooms-subtitle,.light-theme .rooms-title,.light-theme .section-title,.light-theme .stat-icon,.light-theme .stat-label,.light-theme .stat-value,.light-theme .theme-toggle{color:#f8fafc;color:var(--text-primary)}.light-theme .logo-text,.light-theme .rooms-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0ea5e9,#06b6d4 50%,#14b8a6);background:var(--gradient-ocean);-webkit-background-clip:text;background-clip:text}.light-theme .tooltip-label{color:#64748b;color:var(--text-muted)}.light-theme .back-arrow:hover{background:#0000000d}.light-theme .connection-status,.light-theme .theme-toggle{background:#0000000d;border-color:#0000001a}.light-theme .notification-button{background:#0000000a;border-color:#00000014}.light-theme .notification-button.has-unread{background:linear-gradient(135deg,#ef44441f,#fb718514);border-color:#ef444440;color:#be123c}.light-theme .notification-panel{background:#fffffff5;box-shadow:0 24px 60px #0f172a2e}.light-theme .notification-item{background:rgba(0,0,0,.025)}.light-theme .room-status-badge.disconnected{background:#ef444426}.light-theme .room-status-badge.connected{background:#10b98126}.light-theme .room-metric{background:#00000008}.light-theme .rooms-stat{background:#fffc;border-color:#00000014}.light-theme .stat-item{background:#00000008}.light-theme .loading-text{color:#94a3b8;color:var(--text-secondary)}.theme-toggle{align-items:center;background:#ffffff0d;background:var(--glass);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:50px;color:#f8fafc;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .3s ease}.theme-toggle:hover{background:#06b6d41a;border-color:#06b6d4;border-color:var(--accent-cyan)}.theme-toggle-icon{font-size:1.1rem;transition:transform .3s ease}.theme-toggle:hover .theme-toggle-icon{transform:rotate(20deg)}.header-right{align-items:center;display:flex;gap:1rem}.notifications{position:relative;z-index:80}.notification-button{align-items:center;background:#ffffff0d;background:var(--glass);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:16px;color:#f8fafc;color:var(--text-primary);cursor:pointer;display:inline-flex;height:48px;justify-content:center;position:relative;transition:all .2s ease;width:48px}.notification-button:hover,.notification-button[aria-expanded=true]{border-color:#06b6d473;box-shadow:0 12px 30px #06b6d429;transform:translateY(-1px)}.notification-button.has-unread{background:linear-gradient(135deg,#ef44442e,#fb718524);border-color:#f8717173;color:#ffe4e6}.notification-button svg{height:20px;width:20px}.notification-badge{align-items:center;background:linear-gradient(135deg,#ef4444,#f43f5e);border-radius:999px;box-shadow:0 10px 24px #ef444466;color:#fff;display:inline-flex;font-size:.72rem;font-weight:700;height:22px;justify-content:center;min-width:22px;padding:0 6px;position:absolute;right:-6px;top:-6px}.notification-panel{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#0a0e17f5;border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:24px;box-shadow:0 28px 80px #0208178c;max-height:min(70vh,560px);overflow:hidden;position:absolute;right:0;top:calc(100% + .85rem);width:min(420px,calc(100vw - 2rem));z-index:120}.notification-panel-header{align-items:center;border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--glass-border);display:flex;gap:.75rem;justify-content:space-between;padding:1rem 1rem .85rem}.notification-clear-btn{align-items:center;background:#ef44441a;border:1px solid #ef444440;border-radius:8px;color:#f87171;cursor:pointer;display:flex;flex-shrink:0;font-size:.78rem;font-weight:600;gap:.35rem;padding:.35rem .7rem;transition:background .2s ease,border-color .2s ease,color .2s ease;white-space:nowrap}.notification-clear-btn svg{height:13px;width:13px}.notification-clear-btn:hover{background:#ef444433;border-color:#ef444473;color:#ef4444}.notification-panel-title{color:#f8fafc;color:var(--text-primary);font-size:1rem;font-weight:700}.notification-panel-subtitle{color:#64748b;color:var(--text-muted);font-size:.78rem;letter-spacing:.08em;margin-top:.2rem;text-transform:uppercase}.notification-list{max-height:min(60vh,480px);overflow-y:auto;padding:.75rem}.notification-item{background:#ffffff08;border:1px solid #0000;border-radius:18px;color:#f8fafc;color:var(--text-primary);display:flex;flex-direction:column;margin-bottom:.75rem;padding:.75rem .75rem .6rem;text-align:left;transition:all .2s ease;width:100%}.notification-item-inner{background:#0000;border:none;color:inherit;cursor:pointer;padding:.25rem .25rem 0;text-align:left;width:100%}.notification-item:last-child{margin-bottom:0}.notification-item.warning{background:linear-gradient(135deg,#f59e0b24,#ffffff05);border-color:#f59e0b3d}.notification-item.critical{background:linear-gradient(135deg,#ef444429,#ffffff05);border-color:#ef444442}.notification-item:hover{border-color:#06b6d461;transform:translateY(-2px)}.notification-item-top{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.45rem}.notification-room{font-size:.95rem;font-weight:700}.notification-level{border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.08em;padding:.3rem .65rem;text-transform:uppercase}.notification-level.warning{background:#f59e0b29;color:#fcd34d}.notification-level.critical{background:#ef444433;color:#fecdd3}.notification-sensor{color:#94a3b8;color:var(--text-secondary);font-size:.82rem}.notification-value{font-family:JetBrains Mono,monospace;font-size:1.1rem;font-weight:700;margin-top:.45rem}.notification-threshold{color:#06b6d4;color:var(--accent-cyan);font-size:.78rem;font-weight:600;margin-top:.35rem}.notification-action{color:#94a3b8;color:var(--text-secondary);font-size:.85rem;line-height:1.45;margin-top:.5rem}.notification-time{color:#64748b;color:var(--text-muted);font-size:.72rem;letter-spacing:.08em;margin-top:.7rem;text-transform:uppercase}.notification-empty{padding:2rem 1rem;text-align:center}.notification-empty-title{color:#f8fafc;color:var(--text-primary);font-size:1rem;font-weight:700}.notification-empty-text{color:#94a3b8;color:var(--text-secondary);font-size:.85rem;margin-top:.4rem}body{background:#0a0e17;background:var(--bg-primary);color:#f8fafc;color:var(--text-primary);font-family:Outfit,sans-serif;min-height:100vh;overflow-x:hidden}.app-container{background:radial-gradient(ellipse at 20% 0,#06b6d426 0,#0000 50%),radial-gradient(ellipse at 80% 100%,#8b5cf61a 0,#0000 50%),radial-gradient(ellipse at 50% 50%,#0ea5e90d 0,#0000 70%),#0a0e17;background:radial-gradient(ellipse at 20% 0,#06b6d426 0,#0000 50%),radial-gradient(ellipse at 80% 100%,#8b5cf61a 0,#0000 50%),radial-gradient(ellipse at 50% 50%,#0ea5e90d 0,#0000 70%),var(--bg-primary);display:flex;flex-direction:column;min-height:100vh}.bg-waves{height:100%;left:0;opacity:.4;pointer-events:none;position:fixed;top:0;width:100%;z-index:0}.wave{animation:wave-float 20s ease-in-out infinite;background:radial-gradient(ellipse,#06b6d41a 0,#0000 70%);height:200%;position:absolute;width:200%}.wave:nth-child(2){animation-delay:-5s;background:radial-gradient(ellipse,#8b5cf614 0,#0000 70%)}.wave:nth-child(3){animation-delay:-10s;background:radial-gradient(ellipse,#10b9810f 0,#0000 70%)}@keyframes wave-float{0%,to{transform:translate(-25%,-25%) rotate(0deg)}50%{transform:translate(-30%,-20%) rotate(180deg)}}.header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a0e17cc;border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--glass-border);justify-content:space-between;padding:1.5rem 2rem;position:relative;z-index:40}.header,.logo{align-items:center;display:flex}.logo{gap:1rem}.logo-icon{align-items:center;border-radius:12px;box-shadow:0 0 40px #06b6d44d;box-shadow:var(--shadow-glow);display:flex;height:48px;justify-content:center;width:48px}.logo-icon,.logo-text{background:linear-gradient(135deg,#0ea5e9,#06b6d4 50%,#14b8a6);background:var(--gradient-ocean);font-size:1.5rem}.logo-text{-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:700}.logo-subtitle{color:#64748b;color:var(--text-muted);font-size:.75rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase}.connection-status{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;background:var(--glass);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:50px;display:flex;gap:.75rem;padding:.75rem 1.25rem}.status-dot{animation:pulse 2s ease-in-out infinite;border-radius:50%;height:10px;width:10px}.status-dot.connected{background:#10b981;background:var(--accent-green);box-shadow:0 0 10px #10b981;box-shadow:0 0 10px var(--accent-green)}.status-dot.disconnected{background:#ef4444;background:var(--accent-red);box-shadow:0 0 10px #ef4444;box-shadow:0 0 10px var(--accent-red)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.main-content{flex:1 1;margin:0 auto;max-width:1800px;z-index:10}.device-card,.main-content{padding:2rem;position:relative}.device-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#06b6d433,#8b5cf61a);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:24px;margin-bottom:2rem;overflow:hidden}.device-card:before{background:linear-gradient(135deg,#0ea5e9,#06b6d4 50%,#14b8a6);background:var(--gradient-ocean);content:"";height:3px;left:0;position:absolute;right:0;top:0}.device-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between}.device-info{gap:1.5rem}.device-icon,.device-info{align-items:center;display:flex}.device-icon{background:linear-gradient(135deg,#0ea5e9,#06b6d4 50%,#14b8a6);background:var(--gradient-ocean);border-radius:20px;box-shadow:0 0 40px #06b6d44d;box-shadow:var(--shadow-glow);font-size:2rem;height:72px;justify-content:center;width:72px}.device-name{font-size:2rem;font-weight:700;margin-bottom:.25rem}.device-timestamp{color:#94a3b8;color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:.9rem}.device-stats{display:flex;gap:2rem}.stat-item{background:#ffffff0d;background:var(--glass);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:16px;padding:1rem 1.5rem;text-align:center}.stat-icon{font-size:1.25rem;margin-bottom:.5rem}.stat-value{font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700}.stat-label{color:#64748b;color:var(--text-muted);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.section-title{align-items:center;display:flex;font-size:1.25rem;font-weight:600;gap:.75rem;margin-bottom:1.5rem}.section-icon{font-size:1.5rem}.dashboard-grid{grid-gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.charts-grid,.dashboard-grid{display:grid;gap:1.5rem;margin-bottom:2rem}.charts-grid{grid-gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(500px,1fr))}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.metric-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#111827cc;background:var(--bg-card);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:20px;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.metric-card:hover{border-color:#06b6d44d;box-shadow:0 20px 40px #0000004d,0 0 40px #06b6d44d;box-shadow:0 20px 40px #0000004d,var(--shadow-glow);transform:translateY(-4px)}.metric-card:before{border-radius:20px 0 0 20px;content:"";height:100%;left:0;position:absolute;top:0;width:4px}.metric-card.temp:before{background:#f97316;background:var(--accent-orange)}.metric-card.oxygen:before{background:#06b6d4;background:var(--accent-cyan)}.metric-card.saturation:before{background:#8b5cf6;background:var(--accent-purple)}.metric-card.sensor:before{background:#10b981;background:var(--accent-green)}.metric-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.metric-icon-wrapper{align-items:center;border-radius:12px;display:flex;font-size:1.5rem;height:48px;justify-content:center;width:48px}.metric-card.temp .metric-icon-wrapper{background:#f9731633}.metric-card.oxygen .metric-icon-wrapper{background:#06b6d433}.metric-card.saturation .metric-icon-wrapper{background:#8b5cf633}.metric-card.sensor .metric-icon-wrapper{background:#10b98133}.metric-trend{align-items:center;border-radius:20px;display:flex;font-size:.8rem;font-weight:600;gap:.25rem;padding:.35rem .75rem}.metric-trend.up{background:#10b98133;color:#10b981;color:var(--accent-green)}.metric-trend.down{background:#ef444433;color:#ef4444;color:var(--accent-red)}.metric-trend.neutral{background:#64748b33}.metric-label,.metric-trend.neutral{color:#94a3b8;color:var(--text-secondary)}.metric-label{font-size:.85rem;font-weight:500;margin-bottom:.5rem}.metric-value{font-family:JetBrains Mono,monospace;font-size:2.5rem;font-weight:800;line-height:1;margin-bottom:.25rem}.metric-card.temp .metric-value{color:#f97316;color:var(--accent-orange)}.metric-card.oxygen .metric-value{color:#06b6d4;color:var(--accent-cyan)}.metric-card.saturation .metric-value{color:#8b5cf6;color:var(--accent-purple)}.metric-card.sensor .metric-value{color:#10b981;color:var(--accent-green)}.metric-unit{color:#64748b;color:var(--text-muted);font-size:1rem;font-weight:400}.chart-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#111827cc;background:var(--bg-card);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:20px;padding:1.5rem}.chart-header{justify-content:space-between;margin-bottom:1.5rem}.chart-header,.chart-title{align-items:center;display:flex}.chart-title{font-size:1.1rem;font-weight:600;gap:.5rem}.chart-badge{border-radius:20px;font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:600;padding:.4rem 1rem}.chart-badge.cyan{background:#06b6d433;color:#06b6d4;color:var(--accent-cyan)}.chart-badge.orange{background:#f9731633;color:#f97316;color:var(--accent-orange)}.chart-badge.purple{background:#8b5cf633;color:#8b5cf6;color:var(--accent-purple)}.pie-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#111827cc;background:var(--bg-card);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:20px;padding:1.5rem;text-align:center}.pie-title{font-size:1rem;font-weight:600;margin-bottom:1rem}.pie-legend{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1rem}.legend-item{align-items:center;display:flex;font-size:.85rem;gap:.5rem}.legend-dot{border-radius:50%;height:10px;width:10px}.gauge-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#111827cc;background:var(--bg-card);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:20px;flex-direction:column;padding:1.5rem}.gauge-card,.gauge-title{align-items:center;display:flex}.gauge-title{font-size:1rem;font-weight:600;gap:.5rem;margin-bottom:1rem}.gauge-value{font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700;margin-top:.5rem}.loading{align-items:center;display:flex;flex-direction:column;gap:2rem;justify-content:center;min-height:60vh}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff1a;border-top-color:#06b6d4;border:4px solid var(--glass-border);border-radius:50%;border-top-color:var(--accent-cyan);height:60px;width:60px}.loading-text{color:#94a3b8;color:var(--text-secondary);font-size:1.25rem}@media (max-width:1024px){.charts-grid{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.header{flex-direction:row;justify-content:space-between;padding:.75rem 1rem}.header,.header-right{gap:.5rem}.notification-button{border-radius:14px;height:42px;width:42px}.notification-panel{right:-.5rem;width:min(380px,calc(100vw - 1rem))}.main-content{padding:.75rem}.device-header{align-items:flex-start;flex-direction:column;gap:1rem}.device-stats{flex-wrap:wrap;gap:.75rem;width:100%}.stat-item{flex:1 1;min-width:calc(50% - .5rem);padding:.75rem}.stat-value{font-size:1.25rem}.charts-grid,.dashboard-grid{grid-template-columns:1fr}.dashboard-grid{gap:1rem}.stats-grid{gap:.75rem;grid-template-columns:repeat(2,1fr)}.metric-value{font-size:2rem}.device-card,.metric-card{padding:1.25rem}.device-card{border-radius:16px;margin-bottom:1rem}.device-icon{height:56px;width:56px}.device-icon,.device-name{font-size:1.5rem}.chart-card,.gauge-card,.pie-card{border-radius:16px;padding:1rem}.section-title{font-size:1.1rem;margin-bottom:1rem}.logo{gap:.5rem}.logo-icon{border-radius:10px;height:36px;width:36px}.logo-icon,.logo-text{font-size:1.1rem}.logo-subtitle{display:none;font-size:.65rem}.connection-status{font-size:.8rem;padding:.5rem .75rem}.connection-status span{display:none}.theme-toggle{font-size:1rem;padding:.5rem}.theme-toggle span:not(.theme-toggle-icon){display:none}.notification-panel-subtitle{font-size:.72rem}.back-arrow{height:32px;width:32px}.back-arrow svg{height:18px;width:18px}}@media (max-width:480px){.header{padding:.5rem .75rem}.main-content{padding:.5rem}.dashboard-grid{gap:.75rem}.metric-card{border-radius:14px;padding:1rem}.metric-value{font-size:1.75rem}.metric-icon-wrapper{font-size:1.25rem;height:40px;width:40px}.stats-grid{grid-template-columns:1fr}.stat-item{min-width:100%}.device-card{padding:1rem}.device-info{gap:.75rem}.device-icon{height:48px;width:48px}.device-icon,.device-name{font-size:1.25rem}.logo-icon{height:32px;width:32px}.logo-icon,.logo-text{font-size:1rem}.back-arrow{height:28px;width:28px}.back-arrow svg{height:16px;width:16px}.notification-button{border-radius:12px;height:38px;width:38px}.notification-button svg{height:18px;width:18px}.notification-badge{font-size:.65rem;height:20px;min-width:20px}.notification-panel{left:.75rem;max-height:calc(100vh - 5.25rem);position:fixed;right:.75rem;top:4.25rem;width:auto}.notification-list{max-height:calc(100vh - 11rem)}.chart-header{align-items:flex-start;flex-direction:column;gap:.5rem}.chart-title{font-size:.95rem}.chart-badge{font-size:.75rem;padding:.25rem .75rem}.gauge-card{padding:.75rem}.gauge-title{font-size:.9rem}.gauge-value{font-size:1.25rem}}.custom-tooltip{background:#111827!important;background:var(--bg-secondary)!important;border:1px solid #ffffff1a!important;border:1px solid var(--glass-border)!important;border-radius:12px!important;box-shadow:0 10px 40px #00000080!important;padding:.75rem 1rem!important}.tooltip-label{color:#64748b;color:var(--text-muted);font-size:.75rem;margin-bottom:.25rem}.tooltip-value{font-size:1rem}.fade-in{animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}@media (max-width:768px){.gauge-title,.pie-title{font-size:.9rem}.pie-legend{gap:.75rem;margin-top:.75rem}.legend-item{font-size:.75rem}.legend-dot{height:8px;width:8px}}@media (max-width:480px){.gauge-title,.pie-title{font-size:.85rem}.pie-legend{align-items:center;flex-direction:column;gap:.5rem}.legend-item{font-size:.7rem}}.value-status-green{color:#10b981!important}.value-status-yellow{color:#fbbf24!important}.value-status-red{color:#ef4444!important}.device-info-text{min-width:0}.stat-content{align-items:center;display:flex;flex-direction:column}.stat-label-short{display:none}.stat-label-full{display:inline}.stats-card{padding:1.25rem}.stats-data-grid{display:flex;gap:.5rem;justify-content:space-around;margin-top:1rem}.stats-data-item{flex:1 1;min-width:0;text-align:center}.stats-data-label{color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:.25rem}.stats-data-value{font-family:JetBrains Mono,monospace;font-size:1.25rem;font-weight:700;white-space:nowrap}.section-title-text{align-items:baseline;display:flex;flex-wrap:wrap;gap:.25rem}.section-title-detail{color:#64748b;color:var(--text-muted);font-size:.85rem;font-weight:400}.trend-icon{font-size:.9rem}.trend-value{font-size:.75rem}.stats-grid-v2{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:2rem}.stats-card-v2{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#111827cc;background:var(--bg-card);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:20px;overflow:hidden;padding:1.4rem 1.4rem 1.2rem;position:relative;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.stats-card-v2:before{background:#06b6d4;background:var(--stat-accent,var(--accent-cyan));border-radius:20px 20px 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.stats-card-v2:hover{border-color:color-mix(in srgb,#06b6d4 40%,#0000);border-color:color-mix(in srgb,var(--stat-accent,var(--accent-cyan)) 40%,#0000);box-shadow:0 16px 36px #0000004d,0 0 0 1px color-mix(in srgb,#06b6d4 20%,#0000);box-shadow:0 16px 36px #0000004d,0 0 0 1px color-mix(in srgb,var(--stat-accent,var(--accent-cyan)) 20%,#0000);transform:translateY(-4px)}.stats-card-header{align-items:center;display:flex;gap:.85rem;margin-bottom:1.25rem}.stats-card-icon{align-items:center;background:#06b6d41f;background:var(--stat-accent-bg,#06b6d41f);border:1px solid color-mix(in srgb,#06b6d4 25%,#0000);border:1px solid color-mix(in srgb,var(--stat-accent,var(--accent-cyan)) 25%,#0000);border-radius:12px;color:#06b6d4;color:var(--stat-accent,var(--accent-cyan));display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.stats-card-icon svg{height:20px;width:20px}.stats-card-title{color:#f8fafc;color:var(--text-primary);font-size:.9rem;font-weight:600;line-height:1.2}.stats-card-count{color:#64748b;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.7rem;margin-top:.15rem}.stats-card-body{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(3,1fr)}.stats-pill{align-items:center;background:#ffffff0d;background:var(--glass);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:12px;display:flex;flex-direction:column;gap:.3rem;padding:.65rem .4rem}.stats-pill-min{background:#3b82f614;border-color:#3b82f62e}.stats-pill-avg{background:#06b6d41a;background:var(--stat-accent-bg,#06b6d41a);border-color:color-mix(in srgb,#06b6d4 28%,#0000);border-color:color-mix(in srgb,var(--stat-accent,var(--accent-cyan)) 28%,#0000)}.stats-pill-max{background:#ef444414;border-color:#ef44442e}.stats-pill-label{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.stats-pill-min .stats-pill-label{color:#60a5fa}.stats-pill-avg .stats-pill-label{color:#06b6d4;color:var(--stat-accent,var(--accent-cyan))}.stats-pill-max .stats-pill-label{color:#f87171}.stats-pill-value{color:#f8fafc;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:1.1rem;font-weight:700;line-height:1;white-space:nowrap}.stats-pill-value-avg{color:#06b6d4;color:var(--stat-accent,var(--accent-cyan));font-size:1.2rem}.stats-pill-unit{color:#64748b;color:var(--text-muted);font-family:inherit;font-size:.65rem;font-weight:400}@media (max-width:768px){.device-card{padding:1rem}.device-header{gap:1rem}.device-info{gap:.75rem;width:100%}.device-icon{border-radius:14px;flex-shrink:0;font-size:1.25rem;height:48px;width:48px}.device-info-text{flex:1 1;min-width:0}.device-name{font-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-timestamp{font-size:.75rem}.device-stats{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);width:100%}.stat-item{align-items:center;display:flex;flex-direction:column;min-width:0;padding:.75rem .5rem;text-align:center}.stat-icon{font-size:1rem;margin-bottom:.25rem}.stat-value{font-size:1.1rem;white-space:nowrap}.stat-label{font-size:.6rem;line-height:1.2}.stat-label-full{display:none}.stat-label-short{display:inline}.metric-card{padding:1rem}.metric-header{margin-bottom:.75rem}.metric-icon-wrapper{border-radius:10px;font-size:1.1rem;height:40px;width:40px}.metric-trend{font-size:.7rem;padding:.25rem .5rem}.metric-label{font-size:.8rem;margin-bottom:.35rem}.metric-value{font-size:1.75rem}.metric-unit{font-size:.85rem}.stats-card{padding:1rem}.stats-data-grid{gap:.25rem;margin-top:.75rem}.stats-data-label{font-size:.65rem}.stats-data-value{font-size:1rem}.section-title-detail{font-size:.75rem}.dashboard-grid,.stats-grid{gap:.75rem;grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.device-card{border-radius:14px;padding:.875rem}.device-icon{height:42px;width:42px}.device-icon,.device-name{font-size:1.1rem}.device-timestamp{font-size:.7rem}.device-stats{gap:.35rem}.stat-item{border-radius:12px;padding:.6rem .35rem}.stat-icon{font-size:.9rem}.stat-value{font-size:1rem}.stat-label{font-size:.55rem}.dashboard-grid{gap:.6rem;grid-template-columns:1fr}.metric-card{grid-gap:.25rem .75rem;align-items:center;border-radius:12px;display:grid;gap:.25rem .75rem;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;padding:.875rem}.metric-header{grid-column:1;grid-row:1/3;margin-bottom:0}.metric-icon-wrapper{height:44px;width:44px}.metric-label{font-size:.75rem;grid-column:2;grid-row:1;margin-bottom:0}.metric-value{font-size:1.5rem;grid-column:2;grid-row:2}.metric-trend{align-self:center;grid-column:3;grid-row:1/3;padding:.35rem .5rem}.trend-value{display:none}.trend-icon{font-size:1rem}.stats-grid{gap:.6rem;grid-template-columns:1fr}.stats-card{border-radius:12px;padding:.875rem}.chart-title{font-size:.9rem}.stats-data-grid{margin-top:.5rem}.stats-data-label{font-size:.6rem}.stats-data-value{font-size:.95rem}.section-title{font-size:1rem}.section-title-detail{display:block;font-size:.7rem}}@media (max-width:360px){.device-card{padding:.75rem}.device-icon{height:38px;width:38px}.device-icon,.device-name{font-size:1rem}.stat-item{padding:.5rem .25rem}.stat-value{font-size:.9rem}.metric-card{gap:.2rem .5rem;padding:.75rem}.metric-icon-wrapper{font-size:1rem;height:38px;width:38px}.metric-value{font-size:1.35rem}}.dashboard-tabs{background:#ffffff0d;background:var(--glass);border-radius:12px;display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.25rem;width:-webkit-fit-content;width:fit-content}.dashboard-tab{align-items:center;background:#0000;border:none;border-radius:10px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.75rem 1.25rem;transition:all .2s ease}.dashboard-tab:hover{background:#ffffff0d;color:#f8fafc;color:var(--text-primary)}.dashboard-tab.active{background:#06b6d4;background:var(--accent-cyan);background:linear-gradient(135deg,#06b6d4,#3b82f6);background:linear-gradient(135deg,var(--accent-cyan),var(--accent-blue));color:#f8fafc;color:var(--text-primary)}.dashboard-tab svg{height:18px;width:18px}.historical-view{padding:0}.historical-controls{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem}.historical-control-group{display:flex;flex-direction:column;gap:.5rem}.historical-label{color:#64748b;color:var(--text-muted);font-size:.75rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.historical-select{background:#ffffff0d;background:var(--glass);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:10px;color:#f8fafc;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:.9rem;min-width:180px;padding:.6rem 1rem;transition:all .2s ease}.historical-select:focus,.historical-select:hover{border-color:#06b6d4;border-color:var(--accent-cyan);outline:none}.historical-select option{background:#111827;background:var(--bg-secondary);color:#f8fafc;color:var(--text-primary)}.historical-range-buttons{display:flex;flex-wrap:wrap;gap:.35rem}.historical-range-btn{background:#ffffff0d;background:var(--glass);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:8px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:500;padding:.5rem .75rem;transition:all .2s ease}.historical-range-btn:hover{border-color:#06b6d4;border-color:var(--accent-cyan);color:#f8fafc;color:var(--text-primary)}.historical-range-btn.active{background:#06b6d4;background:var(--accent-cyan);border-color:#06b6d4;border-color:var(--accent-cyan);color:#fff}.historical-chart-container{align-items:center;background:#111827cc;background:var(--bg-card);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:16px;display:flex;justify-content:center;min-height:400px;padding:1.5rem}.historical-empty,.historical-error,.historical-loading{align-items:center;color:#64748b;color:var(--text-muted);display:flex;flex-direction:column;font-size:.9rem;gap:1rem}.historical-spinner{animation:spin 1s linear infinite;border:3px solid #ffffff1a;border-top-color:#06b6d4;border:3px solid var(--glass-border);border-radius:50%;border-top-color:var(--accent-cyan);height:32px;width:32px}@keyframes spin{to{transform:rotate(1turn)}}.historical-retry-btn{background:#06b6d4;background:var(--accent-cyan);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:opacity .2s}.historical-retry-btn:hover{opacity:.9}.historical-tooltip{background:#111827;background:var(--bg-secondary);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:10px;box-shadow:0 10px 40px #0006;padding:.75rem 1rem}.tooltip-date{color:#64748b;color:var(--text-muted);font-size:.7rem;margin-bottom:.15rem}.tooltip-time{color:#94a3b8;color:var(--text-secondary);font-size:.8rem;margin-bottom:.5rem}.tooltip-value{font-family:JetBrains Mono,monospace;font-size:1.1rem;font-weight:600}.tooltip-status{font-size:.75rem;font-weight:500;margin-top:.35rem}.historical-summary{background:#ffffff0d;background:var(--glass);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:12px;margin-top:1.5rem;padding:1.25rem}.historical-summary-title{color:#64748b;color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:.75rem;text-transform:uppercase}.historical-summary-content{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.historical-summary-ok{color:#10b981;color:var(--accent-green);font-size:.9rem;font-weight:500}.historical-summary-warning{color:#f59e0b;font-size:.9rem;font-weight:500}.historical-summary-events{color:#f8fafc;color:var(--text-primary);font-size:.9rem;font-weight:600}.historical-summary-high{background:#ef444426;color:#fb7185}.historical-summary-high,.historical-summary-low{align-items:center;border-radius:6px;display:inline-flex;font-size:.8rem;font-weight:500;gap:.35rem;padding:.35rem .75rem}.historical-summary-low{background:#f59e0b26;color:#f59e0b}.historical-summary-worst{font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:600}.historical-summary-worst.high{color:#fb7185}.historical-summary-worst.low{color:#fbbf24}.historical-dot-mode-btn{background:#ffffff0d;border:1px solid #fff3;border-radius:6px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.75rem;font-weight:500;margin-left:.75rem;padding:.35rem .75rem;transition:all .2s ease}.historical-dot-mode-btn:hover{background:#ffffff1a}.historical-dot-mode-btn.peaks,.historical-dot-mode-btn:hover{border-color:#06b6d4;border-color:var(--accent-cyan);color:#06b6d4;color:var(--accent-cyan)}.historical-dot-mode-btn.all{background:#ef44441a;border-color:#ef4444;color:#ef4444}.light-theme .historical-range-btn,.light-theme .historical-select{background:#00000008;border-color:#0000001a}.light-theme .historical-range-btn.active{background:#38bdf8;border-color:#38bdf8;color:#fff}.light-theme .historical-range-btn:hover{border-color:#38bdf8}.light-theme .historical-chart-container{background:#111827cc;background:var(--bg-card);box-shadow:0 4px 20px #00000014}.light-theme .historical-tooltip{background:#111827;background:var(--bg-secondary);box-shadow:0 10px 40px #00000026}.light-theme .historical-summary-high{background:#ef44441a;color:#dc2626}.light-theme .historical-summary-worst.high{color:#dc2626}.light-theme .historical-summary-worst.low{color:#d97706}.light-theme .historical-dot-mode-btn{background:#00000008;border-color:#00000026;color:#94a3b8;color:var(--text-secondary)}.light-theme .historical-dot-mode-btn:hover{background:#0000000d}.light-theme .historical-dot-mode-btn.all{background:#ef444414}.light-theme .dashboard-tab{color:#94a3b8;color:var(--text-secondary)}.light-theme .dashboard-tab:hover{background:#0000000d}@media (max-width:768px){.dashboard-tabs{width:100%}.dashboard-tab{flex:1 1;font-size:.85rem;justify-content:center;padding:.65rem 1rem}.historical-view{padding:0}.historical-controls{flex-direction:column;gap:1rem;margin-bottom:1rem}.historical-control-group{gap:.5rem}.historical-label{font-size:.7rem}.historical-select{border-radius:10px;font-size:.95rem;padding:.75rem 1rem;width:100%}.historical-range-buttons{grid-gap:.35rem;display:grid;gap:.35rem;grid-template-columns:repeat(5,1fr);width:100%}.historical-range-btn{border-radius:8px;flex:none;font-size:.7rem;min-width:0;padding:.6rem .25rem;text-align:center}.historical-summary{border-radius:12px;margin-bottom:1rem;margin-top:0;padding:1rem}.historical-summary-title{font-size:.7rem;margin-bottom:.6rem}.historical-summary-content{align-items:stretch;flex-direction:column;gap:.5rem}.historical-summary-events,.historical-summary-ok,.historical-summary-warning{background:#ffffff0d;background:var(--glass);border-radius:8px;font-size:.85rem;padding:.5rem;text-align:center}.historical-summary-events{width:100%}.historical-summary-high,.historical-summary-low{font-size:.8rem;justify-content:center;padding:.5rem .75rem}.historical-summary-worst{background:#ffffff0d;background:var(--glass);border-radius:6px;font-size:.8rem;padding:.4rem .75rem;text-align:center}.historical-chart-container{border-radius:12px;margin:0 -.5rem;min-height:300px;padding:.75rem}}@media (max-width:480px){.dashboard-tab{font-size:.8rem;padding:.5rem .75rem}.dashboard-tab span{display:none}.dashboard-tab svg{height:20px;width:20px}.historical-controls{gap:.75rem}.historical-select{-webkit-appearance:none;appearance:none;font-size:1rem;padding:.85rem 1rem}.historical-range-buttons{gap:.25rem;grid-template-columns:repeat(5,1fr)}.historical-range-btn{-webkit-tap-highlight-color:transparent;border-radius:8px;font-size:.65rem;font-weight:600;padding:.65rem .2rem;touch-action:manipulation}.historical-range-btn.active{transform:scale(1.02)}.historical-summary{border-radius:10px;padding:.85rem}.historical-summary-content{gap:.4rem}.historical-summary-high,.historical-summary-low{border-radius:8px;font-size:.75rem;padding:.45rem .6rem}.historical-summary-worst{font-size:.75rem}.historical-chart-container{border-radius:10px;margin:0 -.75rem;min-height:260px;padding:.5rem}.historical-range-btn:active{transform:scale(.95);transition:transform .1s ease}}.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:2rem;position:relative;z-index:10}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#111827cc;background:var(--bg-card);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:24px;max-width:420px;overflow:hidden;padding:2.5rem;position:relative;width:100%}.login-card:before{background:linear-gradient(135deg,#0ea5e9,#06b6d4 50%,#14b8a6);background:var(--gradient-ocean);content:"";height:3px;left:0;position:absolute;right:0;top:0}.login-logo{flex-direction:column;gap:1rem;margin-bottom:2rem}.login-logo,.login-logo-icon{align-items:center;display:flex}.login-logo-icon{border-radius:20px;box-shadow:0 0 40px #06b6d44d;box-shadow:var(--shadow-glow);font-size:2.5rem;height:80px;justify-content:center;width:80px}.login-logo-icon,.login-logo-text{background:linear-gradient(135deg,#0ea5e9,#06b6d4 50%,#14b8a6);background:var(--gradient-ocean)}.login-logo-text{-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700}.login-subtitle{color:#94a3b8;color:var(--text-secondary);font-size:.95rem;margin-bottom:2rem;text-align:center}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-form .form-group{display:flex;flex-direction:column;gap:.5rem}.login-form .form-label{color:#64748b;color:var(--text-muted);font-size:.75rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.login-form .input{background:#ffffff0d;background:var(--glass);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:10px;color:#f8fafc;color:var(--text-primary);font-family:Outfit,sans-serif;font-size:.9rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.login-form .input:focus{border-color:#06b6d4;border-color:var(--accent-cyan);box-shadow:0 0 0 3px #06b6d41a;outline:none}.login-form .input::placeholder{color:#64748b;color:var(--text-muted)}.login-error{background:#ef44441a;border:1px solid #ef444433;border-radius:10px;color:#ef4444;color:var(--accent-red);font-size:.9rem;padding:.75rem 1rem;text-align:center}.login-btn{align-items:center;background:linear-gradient(135deg,#06b6d4,#3b82f6);background:linear-gradient(135deg,var(--accent-cyan),var(--accent-blue));border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:500;gap:.5rem;justify-content:center;margin-top:.5rem;padding:1rem;transition:all .3s ease;width:100%}.login-btn:hover{box-shadow:0 8px 20px #06b6d44d;transform:translateY(-2px)}.login-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.light-theme .login-card{box-shadow:0 20px 60px #0000001a}.light-theme .login-form .input{background:#00000008;border-color:#0000001a}.light-theme .login-form .input:focus{background:#fff;border-color:#06b6d4;border-color:var(--accent-cyan)}@media (max-width:768px){.login-container{padding:1rem}.login-card{border-radius:20px;padding:1.5rem}.login-logo-icon{font-size:2rem;height:64px;width:64px}.login-logo-text{font-size:1.75rem}}@media (max-width:480px){.login-card{border-radius:16px;padding:1.25rem}.login-logo-icon{font-size:1.75rem;height:56px;width:56px}.login-logo-text{font-size:1.5rem}.login-subtitle{font-size:.85rem}}.welcome-message{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;background:var(--glass);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:50px;display:flex;gap:.5rem;padding:.5rem 1rem}.welcome-text{color:#64748b;color:var(--text-muted);font-size:.85rem;font-weight:400}.welcome-name{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0ea5e9,#06b6d4 50%,#14b8a6);background:var(--gradient-ocean);-webkit-background-clip:text;background-clip:text;color:#f8fafc;color:var(--text-primary);font-size:.9rem;font-weight:600}.light-theme .welcome-message{background:#00000008;border-color:#00000014}.light-theme .welcome-name{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0ea5e9,#06b6d4 50%,#14b8a6);background:var(--gradient-ocean);-webkit-background-clip:text;background-clip:text}@media (max-width:768px){.welcome-message{padding:.4rem .75rem}.welcome-text{display:none}.welcome-name{font-size:.85rem}}@media (max-width:480px){.welcome-message{padding:.35rem .6rem}.welcome-name{font-size:.75rem;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.footer{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a0e17e6;border-top:1px solid #ffffff1a;border-top:1px solid var(--glass-border);margin-top:auto;padding:1.5rem 2rem;position:relative;z-index:10}.footer-content{flex-direction:column;gap:1rem;margin:0 auto;max-width:1400px}.footer-brand,.footer-content{align-items:center;display:flex}.footer-brand{gap:.5rem}.footer-logo{font-size:1.25rem}.footer-company{color:#94a3b8;color:var(--text-secondary);font-size:.9rem}.footer-company strong{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0ea5e9,#06b6d4 50%,#14b8a6);background:var(--gradient-ocean);-webkit-background-clip:text;background-clip:text;font-weight:700}.footer-quote{align-items:center;background:#ffffff0d;background:var(--glass);border:1px solid #ffffff1a;border:1px solid var(--glass-border);border-radius:12px;display:flex;gap:.75rem;max-width:600px;padding:.75rem 1.5rem}.quote-icon{flex-shrink:0;font-size:1rem}.quote-text{color:#94a3b8;color:var(--text-secondary);font-size:.85rem;font-style:italic;line-height:1.4;text-align:center}.footer-copyright{color:#64748b;color:var(--text-muted);font-size:.75rem}.light-theme .footer{background:#fffffff2;border-top-color:#06b6d433}.light-theme .footer-company{color:#1e4976}.light-theme .footer-company strong{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0891b2,#0284c7);-webkit-background-clip:text;background-clip:text}.light-theme .footer-quote{background:#06b6d40d;border-color:#06b6d426}.light-theme .quote-text{color:#1e4976}.light-theme .footer-copyright{color:#2d5a87}@media (max-width:768px){.footer{padding:1rem}.footer-quote{max-width:100%;padding:.6rem 1rem}.quote-text{font-size:.8rem}}@media (max-width:480px){.footer{padding:.75rem}.footer-brand{font-size:.85rem}.footer-quote{gap:.5rem;padding:.5rem .75rem}.quote-icon{font-size:.9rem}.quote-text{font-size:.75rem}.footer-copyright{font-size:.7rem}}.rooms-container{flex:1 1;margin:0 auto;max-width:none;padding:1.75rem 2rem 2rem;position:relative;width:100%;z-index:10}.rooms-header{margin-bottom:3rem;text-align:center}.rooms-title{-webkit-text-fill-color:#0000;background:var(--gradient-ocean);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.rooms-subtitle{color:var(--text-secondary);font-size:1.1rem}.rooms-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.room-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--bg-card);border:1px solid var(--glass-border);border-radius:20px;cursor:pointer;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.room-card:before{background:var(--accent-red);content:"";height:4px;left:0;position:absolute;top:0;transition:background .3s ease;width:100%}.room-card.connected:before{background:var(--accent-green)}.room-card:hover{border-color:#06b6d466;box-shadow:0 20px 40px #0006,var(--shadow-glow);transform:translateY(-8px)}.room-card.demo{border-style:dashed;opacity:.92}.room-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1.5rem}.room-icon{background:var(--gradient-ocean);border-radius:16px;box-shadow:var(--shadow-glow);font-size:1.75rem;height:56px;justify-content:center;width:56px}.room-icon,.room-status-badge{align-items:center;display:flex}.room-status-badge{border-radius:20px;font-size:.85rem;font-weight:600;gap:.5rem;padding:.5rem 1rem}.room-status-badge.connected{background:#10b98133;color:var(--accent-green)}.room-status-badge.disconnected{background:#ef444433;color:var(--accent-red)}.room-status-dot{animation:pulse 2s ease-in-out infinite;border-radius:50%;height:8px;width:8px}.room-status-badge.connected .room-status-dot{animation:noc-beacon 1.35s ease-out infinite;background:var(--accent-green);box-shadow:0 0 0 0 #10b981b3}.room-status-badge.disconnected .room-status-dot{background:var(--accent-red)}@keyframes noc-beacon{0%{box-shadow:0 0 0 0 #10b981bf;opacity:1;transform:scale(.95)}45%{box-shadow:0 0 0 8px #10b98124;opacity:1;transform:scale(1.15)}to{box-shadow:0 0 0 16px #10b98100;opacity:.9;transform:scale(1)}}.room-name{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.room-code-hint{color:var(--accent-cyan);font-size:.78rem;letter-spacing:.08em;margin-bottom:.45rem;text-transform:uppercase}.room-last-update{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.85rem;margin-bottom:1.5rem}.room-metrics{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.room-metric{background:var(--glass);border-radius:12px;padding:.75rem;text-align:center}.room-metric-value{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:1.25rem;font-weight:700}.room-metric-label{color:var(--text-muted);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.room-enter-btn{align-items:center;background:var(--gradient-ocean);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;margin-top:1.5rem;padding:.875rem;transition:all .3s ease;width:100%}.room-enter-btn:hover{box-shadow:var(--shadow-glow);transform:scale(1.02)}.room-enter-btn:disabled{background:var(--glass);cursor:not-allowed;opacity:.5}.back-arrow{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-primary);cursor:pointer;display:flex;height:36px;justify-content:center;padding:0;transition:all .2s ease;width:36px}.back-arrow:hover{background:var(--glass);color:var(--accent-cyan)}.back-arrow svg{transition:transform .2s ease}.back-arrow:hover svg{transform:translateX(-2px)}.rooms-stats{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-bottom:2rem}.rooms-stat{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass);border:1px solid var(--glass-border);border-radius:16px;display:flex;gap:.75rem;overflow:hidden;padding:1rem 1.5rem;position:relative}.rooms-stat:before{background:linear-gradient(135deg,#ffffff0f,#fff0);content:"";inset:0;pointer-events:none;position:absolute}.rooms-stat-icon{align-items:center;animation:noc-stat-glow 2.8s ease-in-out infinite;background:linear-gradient(135deg,#06b6d438,#3b82f61a);border:1px solid #06b6d42e;border-radius:14px;box-shadow:0 10px 24px #06b6d424;color:var(--text-primary);display:inline-flex;height:42px;justify-content:center;width:42px}.rooms-stat-icon svg{height:22px;width:22px}.rooms-stat:nth-child(2) .rooms-stat-icon{background:linear-gradient(135deg,#10b9813d,#22c55e14);border-color:#10b98133;box-shadow:0 10px 24px #10b9812e}.rooms-stat:nth-child(3) .rooms-stat-icon{background:linear-gradient(135deg,#ef44443d,#fb718514);border-color:#ef444438;box-shadow:0 10px 24px #ef44442e}@keyframes noc-stat-glow{0%,to{filter:saturate(1);transform:scale(1)}50%{filter:saturate(1.15);transform:scale(1.06)}}.rooms-stat-value{font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700}.rooms-stat-value.green{color:var(--accent-green)}.rooms-stat-value.red{color:var(--accent-red)}.rooms-stat-value.blue{color:var(--accent-cyan)}.rooms-stat-label{color:var(--text-muted);font-size:.75rem;text-transform:uppercase}.rooms-search-wrapper{margin:0 auto 2rem;max-width:560px}.rooms-search-bar{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--bg-card);border:1px solid var(--glass-border);border-radius:16px;display:flex;padding:0 1rem;position:relative;transition:border-color .25s ease,box-shadow .25s ease}.rooms-search-bar:focus-within{border-color:#06b6d48c;box-shadow:0 0 0 3px #06b6d41f,0 8px 24px #00000040}.rooms-search-icon{align-items:center;color:var(--text-muted);display:flex;flex-shrink:0;pointer-events:none;transition:color .2s ease}.rooms-search-bar:focus-within .rooms-search-icon{color:var(--accent-cyan)}.rooms-search-icon svg{height:18px;width:18px}.rooms-search-input{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:.975rem;min-width:0;outline:none;padding:.875rem .75rem}.rooms-search-input::placeholder{color:var(--text-muted);opacity:.75}.rooms-search-clear{align-items:center;background:var(--glass);border:1px solid var(--glass-border);border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;padding:0;transition:background .2s ease,color .2s ease;width:28px}.rooms-search-clear:hover{background:#ef444426;border-color:#ef44444d;color:var(--accent-red)}.rooms-search-clear svg{height:13px;width:13px}.rooms-search-meta{animation:fade-in-up .2s ease;color:var(--text-muted);font-size:.82rem;margin-top:.6rem;text-align:center}.rooms-search-meta em{color:var(--accent-cyan);font-style:normal}.rooms-search-count{color:var(--accent-cyan);font-family:JetBrains Mono,monospace;font-weight:700}.rooms-empty-state{animation:fade-in-up .3s ease;flex-direction:column;padding:4rem 1rem;text-align:center}.rooms-empty-icon,.rooms-empty-state{align-items:center;display:flex;justify-content:center}.rooms-empty-icon{background:var(--glass);border:1px solid var(--glass-border);border-radius:20px;color:var(--text-muted);height:64px;margin-bottom:1.25rem;width:64px}.rooms-empty-icon svg{height:32px;width:32px}.rooms-empty-title{color:var(--text-primary);font-size:1.15rem;font-weight:600;margin-bottom:.4rem}.rooms-empty-hint{color:var(--text-muted);font-size:.875rem;margin-bottom:1.5rem}.rooms-empty-reset{background:#0000;border:1px solid #06b6d466;border-radius:10px;color:var(--accent-cyan);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1.25rem;transition:background .2s ease,box-shadow .2s ease}.rooms-empty-reset:hover{background:#06b6d41a;box-shadow:var(--shadow-glow)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1024px){.rooms-grid{gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){.rooms-container{padding:1rem}.rooms-header,.rooms-search-wrapper{margin-bottom:1.5rem}.rooms-search-input{font-size:.9rem;padding:.75rem .5rem}.rooms-title{font-size:1.75rem}.rooms-subtitle{font-size:.95rem}.rooms-stats{gap:.75rem;margin-bottom:1.5rem}.rooms-stat{flex:1 1;justify-content:center;min-width:calc(33% - .5rem);padding:.75rem 1rem}.rooms-stat-icon,.rooms-stat-value{font-size:1.25rem}.rooms-stat-label{font-size:.65rem}.rooms-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.room-card{border-radius:16px;padding:1.25rem}.room-card-header{margin-bottom:1rem}.room-icon{border-radius:14px;font-size:1.5rem;height:48px;width:48px}.room-status-badge{font-size:.8rem;padding:.4rem .75rem}.room-name{font-size:1.25rem}.room-last-update{font-size:.8rem;margin-bottom:1rem}.room-metrics{gap:.75rem}.room-metric{padding:.6rem}.room-metric-value{font-size:1.1rem}.room-metric-label{font-size:.65rem}.room-enter-btn{font-size:.9rem;margin-top:1rem;padding:.75rem}.back-arrow{height:32px;width:32px}}@media (max-width:480px){.rooms-container{padding:.75rem}.rooms-header{margin-bottom:1.25rem}.rooms-title{font-size:1.5rem}.rooms-subtitle{font-size:.85rem}.rooms-stats{flex-direction:row;flex-wrap:wrap;gap:.5rem}.rooms-stat{border-radius:12px;flex-direction:column;gap:.25rem;padding:.6rem .75rem}.rooms-stat-icon,.rooms-stat-value{font-size:1.1rem}.rooms-stat-label{font-size:.6rem}.room-card{padding:1rem}.rooms-grid{grid-template-columns:1fr}.room-card:hover{transform:translateY(-4px)}.room-icon{font-size:1.35rem;height:44px;width:44px}.room-status-badge{font-size:.75rem;padding:.35rem .6rem}.room-status-dot{height:6px;width:6px}.room-name{font-size:1.15rem}.room-metrics{gap:.5rem;grid-template-columns:repeat(2,1fr)}.room-metric{border-radius:10px;padding:.5rem}.room-metric-value{font-size:1rem}.room-enter-btn{border-radius:10px;padding:.7rem}}@media (max-width:360px){.rooms-stats{gap:.4rem}.rooms-stat{min-width:calc(33% - .3rem);padding:.5rem}.room-metrics{gap:.4rem}}.hamburger-btn{align-items:center;background:var(--glass);border:1px solid var(--glass-border);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:5px;height:40px;justify-content:center;padding:8px;transition:all .3s ease;width:40px}.hamburger-btn:hover{background:#06b6d41a;border-color:var(--accent-cyan)}.hamburger-line{background:var(--text-primary);border-radius:2px;height:2px;transition:all .3s ease;width:20px}.hamburger-btn.active .hamburger-line:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger-btn.active .hamburger-line:nth-child(2){opacity:0}.hamburger-btn.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.sidebar-overlay{background:#00000080;height:100%;left:0;opacity:0;position:fixed;top:0;transition:all .3s ease;visibility:hidden;width:100%;z-index:998}.sidebar-overlay.active{opacity:1;visibility:visible}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;height:100%;left:-320px;overflow:hidden;position:fixed;top:0;transition:left .3s ease;width:320px;z-index:999}.sidebar.active{left:0}.sidebar-header{align-items:center;border-bottom:1px solid var(--glass-border);display:flex;justify-content:space-between;padding:1.5rem}.sidebar-title{font-weight:600}.sidebar-close,.sidebar-title{color:var(--text-primary);font-size:1.25rem}.sidebar-close{align-items:center;background:var(--glass);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .3s ease;width:32px}.sidebar-close:hover{background:#ef444433;border-color:var(--accent-red)}.sidebar-menu{flex:1 1;overflow-y:auto;padding:1rem}.sidebar-menu-item{align-items:center;background:var(--glass);border:1px solid var(--glass-border);border-radius:12px;color:var(--text-primary);cursor:pointer;display:flex;gap:.75rem;margin-bottom:.5rem;overflow:hidden;padding:1rem;position:relative;text-decoration:none;transition:all .3s ease}.sidebar-menu-item:hover{background:#06b6d41a;border-color:var(--accent-cyan)}.sidebar-menu-item:before{background:linear-gradient(135deg,#06b6d41f,#3b82f60a);content:"";inset:0;opacity:0;position:absolute;transition:opacity .25s ease}.sidebar-menu-item:hover:before{opacity:1}.sidebar-menu-item.active{background:#06b6d426;border-color:var(--accent-cyan)}.sidebar-menu-icon{align-items:center;animation:noc-icon-float 3.6s ease-in-out infinite;background:linear-gradient(135deg,#06b6d433,#3b82f614);border:1px solid #06b6d438;border-radius:14px;box-shadow:0 10px 24px #06b6d41f;display:inline-flex;flex-shrink:0;height:42px;justify-content:center;position:relative;width:42px;z-index:1}.sidebar-menu-icon svg{height:21px;width:21px}.sidebar-menu-item:nth-child(2) .sidebar-menu-icon{animation-delay:-1.2s;background:linear-gradient(135deg,#ef444433,#fb718514);border-color:#f8717140;box-shadow:0 10px 24px #ef444429}.sidebar-menu-item:nth-child(3) .sidebar-menu-icon{animation-delay:-2.2s;background:linear-gradient(135deg,#10b98133,#06b6d414);border-color:#10b98140;box-shadow:0 10px 24px #10b98124}@keyframes noc-icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.sidebar-menu-text{font-size:.95rem;font-weight:500}.light-theme .sidebar{background:#fff}.light-theme .sidebar-menu-item{background:#00000008}.light-theme .hamburger-line{background:var(--text-primary)}@media (max-width:768px){.sidebar{left:-280px;width:280px}.sidebar-header{padding:1rem}.sidebar-title{font-size:1.1rem}.sidebar-menu{padding:.75rem}.sidebar-menu-item{border-radius:10px;margin-bottom:.4rem;padding:.875rem}.sidebar-menu-icon{font-size:1.1rem}.sidebar-menu-text{font-size:.9rem}.hamburger-btn{border-radius:8px;gap:4px;height:36px;width:36px}.hamburger-line{width:18px}}@media (max-width:480px){.sidebar{left:-100%;width:100%}.sidebar.active{left:0}.hamburger-btn{height:34px;width:34px}.hamburger-line{width:16px}}.sidebar-footer{border-top:1px solid var(--glass-border);margin-top:auto;padding:1rem}.sidebar-logout-btn{align-items:center;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border:1px solid #fff3;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:500;gap:.75rem;justify-content:center;padding:1rem 1.25rem;transition:all .3s ease;width:100%}.sidebar-logout-btn:hover{background:linear-gradient(135deg,#ffffff26,#ffffff1a);border-color:#fff6;box-shadow:0 4px 15px #ffffff1a;transform:translateY(-2px)}.sidebar-logout-btn:active{transform:translateY(0)}.sidebar-logout-btn .logout-icon{stroke:currentColor;height:20px;width:20px}.light-theme .sidebar-logout-btn{background:linear-gradient(135deg,#06b6d41a,#14b8a60d);border:1px solid #06b6d44d;color:#0891b2}.light-theme .sidebar-logout-btn:hover{background:linear-gradient(135deg,#06b6d433,#14b8a626);border-color:#06b6d480;box-shadow:0 4px 15px #06b6d440}@media (max-width:768px){.sidebar-footer{padding:.75rem}.sidebar-logout-btn{border-radius:10px;font-size:.9rem;padding:.875rem 1rem}.sidebar-logout-btn .logout-icon{height:18px;width:18px}}.sidebar-menu-item.disabled{cursor:not-allowed;opacity:.4;pointer-events:none}.sidebar-menu-item.disabled:hover{background:var(--glass);border-color:var(--glass-border);transform:none}.light-theme .sidebar-menu-item.disabled{opacity:.35}.config-panel{background:var(--bg-secondary);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;height:100%;left:-500px;max-width:100%;overflow:hidden;position:fixed;top:0;transition:left .3s ease;width:500px;z-index:1000}.config-panel.active{left:0}.config-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;padding:.75rem 1rem}.config-header,.config-title{align-items:center;display:flex}.config-title{color:var(--text-primary);font-size:1rem;font-weight:600;gap:.5rem}.config-content{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:1rem 1.4rem}.config-card{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:12px;margin-bottom:1.1rem;padding:1.2rem 1.25rem}.config-card-header{align-items:center;border-bottom:1px solid var(--glass-border);display:flex;gap:.4rem;margin-bottom:.6rem;padding-bottom:.45rem}.config-card-icon{font-size:1rem}.config-card-title{color:var(--text-primary);font-size:.95rem;font-weight:600}.config-row{grid-gap:.4rem;display:grid;gap:.4rem;grid-template-columns:repeat(2,1fr);margin-bottom:.4rem}.config-field{display:flex;flex-direction:column;gap:.15rem}.config-label{color:var(--text-muted);font-size:.6rem;letter-spacing:.05em;text-transform:uppercase}.config-input{background:var(--glass);border:1px solid var(--glass-border);border-radius:6px;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:.8rem;padding:.4rem .45rem;transition:all .3s ease}.config-input:focus{border-color:var(--accent-cyan);box-shadow:0 0 0 3px #06b6d41a;outline:none}.config-input.error{border-color:var(--accent-red)}.config-error{color:var(--accent-red);font-size:.75rem;margin-top:.5rem}.color-preview{border-top:1px solid var(--glass-border);margin-top:.45rem;padding-top:.45rem}.color-preview-label{color:var(--text-muted);font-size:.6rem;margin-bottom:.25rem;text-transform:uppercase}.color-preview-bar{border-radius:9px;display:flex;height:18px;overflow:hidden;position:relative}.color-zone{align-items:center;color:#000000b3;display:flex;font-size:.9rem;font-weight:600;height:100%;justify-content:center}.color-zone.yellow{background:#fbbf24}.color-zone.green{background:#10b981}.color-zone.red{background:#ef4444}.color-preview-labels{color:var(--text-muted);display:flex;font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:700;justify-content:space-between;margin-top:.25rem}.config-interval{border-top:1px solid var(--glass-border);margin-top:.35rem;padding-top:.35rem}.config-interval .config-label{font-size:.9rem;font-weight:600}.config-interval-row{align-items:center;display:flex;gap:.75rem;gap:.4rem;margin-top:.5rem}.config-select{-webkit-appearance:none;appearance:none;background:var(--bg-secondary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .4rem center;background-repeat:no-repeat;background-size:.7rem;border:1px solid var(--glass-border);border-radius:6px;color:var(--text-primary);cursor:pointer;flex:1 1;font-size:1rem;padding:.35rem 1.5rem .35rem .4rem;transition:all .3s ease}.config-select option{background:var(--bg-secondary);color:var(--text-primary);font-size:.95rem;padding:.5rem}.config-select:focus{border-color:var(--accent-cyan);outline:none}.config-save-btn{background:var(--gradient-ocean);border:none;border-radius:10px;bottom:.5rem;color:#fff;cursor:pointer;flex-shrink:0;font-size:.85rem;font-weight:600;margin-top:.6rem;padding:.6rem .8rem;position:-webkit-sticky;position:sticky;transition:all .3s ease;width:100%;z-index:5}.config-save-btn:hover{box-shadow:var(--shadow-glow);transform:scale(1.02)}.config-save-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.config-save-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#ef4444;font-size:.82rem;margin-bottom:.6rem;padding:.55rem .75rem;text-align:center}.light-theme .config-panel{background:#fff}.light-theme .config-input{background:#00000008;color:var(--text-primary)}.light-theme .config-select{background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e293b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");border-color:#00000026;color:#1e293b}.light-theme .config-select option{background:#fff;color:#1e293b}.config-group{margin-bottom:.5rem}.config-group-title{color:var(--text-muted);font-size:.7rem;letter-spacing:.06em;margin-bottom:.25rem;text-transform:uppercase}.notification-config-list{display:flex;flex-direction:column;gap:.85rem}.notification-level-list{grid-gap:.9rem;display:grid;gap:.9rem;grid-template-columns:repeat(2,minmax(0,1fr))}.notification-level-toggle{background:var(--glass);border:1px solid var(--glass-border);border-radius:14px;color:var(--text-primary);cursor:pointer;padding:1rem;text-align:left;transition:all .25s ease}.notification-level-toggle.active.warning{background:linear-gradient(135deg,#f59e0b24,#ffffff08);border-color:#f59e0b66}.notification-level-toggle.active.critical{background:linear-gradient(135deg,#ef444424,#ffffff08);border-color:#ef444466}.notification-level-toggle:not(.active){opacity:.58}.notification-level-toggle-title{display:block;font-size:.92rem;font-weight:700}.notification-level-toggle-text{color:var(--text-secondary);display:block;font-size:.78rem;margin-top:.3rem}.notification-config-item{grid-gap:.85rem;align-items:start;border-bottom:1px solid var(--glass-border);display:grid;gap:.85rem;grid-template-columns:minmax(0,1fr) 150px;padding:.85rem 0}.notification-config-item-single{grid-template-columns:minmax(0,1fr) 220px}.notification-config-item:last-child{border-bottom:none;padding-bottom:0}.notification-config-meta{display:flex;flex-direction:column;gap:.25rem}.notification-config-name{color:var(--text-primary);font-size:.9rem;font-weight:600}.notification-config-current{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.75rem}.notification-apply-all-controls{display:flex;flex-direction:column;gap:.65rem}.notification-apply-all-btn{margin-top:0;padding:.75rem 1rem;position:static}.config-row-large{gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.config-content,.config-panel{scrollbar-color:#4a4a4a #1e1e1e;scrollbar-width:thin}.config-content::-webkit-scrollbar,.config-panel::-webkit-scrollbar{width:8px}.config-content::-webkit-scrollbar-thumb,.config-panel::-webkit-scrollbar-thumb{background:#4a4a4a;border-radius:4px}.config-content::-webkit-scrollbar-track,.config-panel::-webkit-scrollbar-track{background:#1e1e1e}@media (min-width:1024px){.config-panel{width:420px}.config-card-title{font-size:1.1rem}.config-label{font-size:.8rem;letter-spacing:.08em}.config-input{font-size:.95rem;padding:.55rem .65rem}.config-interval .config-label{font-size:1rem}.config-interval .config-select{font-size:1.1rem;padding:.65rem .8rem}.config-select option{font-size:1.05rem}.color-preview-label{font-size:1rem}.color-preview-bar{height:32px}.color-preview-labels{font-size:1.1rem}}@media (min-width:1280px){.config-panel{width:460px}}@media (min-width:1500px){.config-panel{width:500px}}@media (max-width:768px){.config-panel{width:100%}.config-header{padding:.85rem 1rem}.config-title{font-size:1rem}.config-content{padding:.75rem .9rem}.config-card{border-radius:12px;margin-bottom:.9rem;padding:.85rem .95rem}.config-card-title{font-size:1rem}.config-label{font-size:.7rem}.config-input{font-size:.9rem;padding:.5rem .6rem}.color-preview-bar{border-radius:6px;height:30px;margin-bottom:.5rem;margin-top:.6rem}.config-save-btn{font-size:.9rem;margin-top:.7rem;padding:.65rem .8rem}.config-card:nth-of-type(4) .config-label{font-size:1rem!important}.config-card:nth-of-type(4) .config-select{font-size:1rem!important;padding:.6rem .8rem}.notification-config-item,.notification-config-item-single,.notification-level-list{grid-template-columns:1fr}}.config-interval{background:linear-gradient(to top,var(--bg-secondary) 70%,#0000)}.history-config-panel{background:var(--bg-secondary);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;height:100%;left:-500px;max-width:100%;overflow:hidden;position:fixed;top:0;transition:left .3s ease;width:500px;z-index:1000}.history-config-panel.active{left:0}.history-config-loading{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem}.history-toggle-container{align-items:center;display:flex;gap:1rem;justify-content:space-between}.history-toggle-info{display:flex;flex-direction:column;gap:.25rem}.history-toggle-label{color:var(--text-primary);font-size:.95rem;font-weight:600}.history-toggle-description{color:var(--text-muted);font-size:.8rem}.history-toggle-switch{background:var(--glass);border:2px solid var(--glass-border);border-radius:15px;cursor:pointer;flex-shrink:0;height:30px;position:relative;transition:all .3s ease;width:56px}.history-toggle-switch:hover{border-color:var(--accent-cyan)}.history-toggle-switch.active{background:var(--accent-green);border-color:var(--accent-green)}.history-toggle-slider{background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;height:22px;left:2px;position:absolute;top:2px;transition:transform .3s cubic-bezier(.68,-.55,.265,1.55);width:22px}.history-toggle-switch.active .history-toggle-slider{transform:translateX(26px)}.history-frequency-select{font-size:1rem;margin-top:.5rem;padding:.75rem 1rem;width:100%}.history-frequency-select:disabled{cursor:not-allowed;opacity:.5}.config-hint{color:var(--text-muted);font-size:.75rem;font-style:italic;margin-top:.5rem}.history-info-card{background:#06b6d41a;border:1px solid #06b6d433;border-radius:10px;display:flex;gap:.75rem;margin-bottom:1rem;padding:1rem}.history-info-icon{flex-shrink:0;font-size:1.25rem}.history-info-text{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.config-save-btn.disabled{box-shadow:none!important;cursor:not-allowed;opacity:.5;transform:none!important}.light-theme .history-config-panel{background:#fff}.light-theme .history-toggle-switch{background:#0000001a;border-color:#00000026}.light-theme .history-toggle-switch.active{background:var(--accent-green);border-color:var(--accent-green)}.light-theme .history-info-card{background:#06b6d414;border-color:#06b6d426}@media (max-width:768px){.history-config-panel{width:100%}.history-toggle-container{align-items:stretch;flex-direction:column;gap:1rem}.history-toggle-switch{align-self:flex-start}.history-frequency-select{font-size:1rem;padding:.85rem 1rem}}.incident-overlay{animation:incident-fade-in .2s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;inset:0;position:fixed;z-index:900}.incident-panel{animation:incident-slide-in .28s cubic-bezier(.16,1,.3,1);background:#0f172a;background:var(--bg-secondary,#0f172a);border-left:1px solid var(--glass-border);box-shadow:-12px 0 48px #00000073;display:flex;flex-direction:column;height:100dvh;overflow:hidden;position:fixed;right:0;top:0;width:min(480px,100vw);z-index:901}@keyframes incident-slide-in{0%{opacity:.5;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes incident-fade-in{0%{opacity:0}to{opacity:1}}.incident-panel-header{background:var(--bg-card);border-bottom:1px solid var(--glass-border);flex-shrink:0;padding:1.1rem 1.25rem 1rem}.incident-panel-header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.incident-panel-title{align-items:center;color:var(--text-primary);display:flex;font-size:1rem;font-weight:700;gap:.55rem}.incident-panel-title svg{color:var(--accent-cyan);height:18px;width:18px}.incident-panel-close{align-items:center;background:var(--glass);border:1px solid var(--glass-border);border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;height:32px;justify-content:center;transition:background .18s,color .18s;width:32px}.incident-panel-close svg{height:14px;width:14px}.incident-panel-close:hover{background:#ef444426;border-color:#ef44444d;color:var(--accent-red)}.incident-alert-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:14px;overflow:hidden;padding:.9rem 1rem;position:relative}.incident-alert-card.critical{background:#ef444412;border-color:#ef444459}.incident-alert-card.warning{background:#f9731612;border-color:#f9731659}.incident-alert-card-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:.4rem}.incident-level-badge{border-radius:20px;font-size:.75rem;font-weight:700;letter-spacing:.03em;padding:.25rem .65rem}.incident-level-badge.critical{background:#ef444433;color:#f87171}.incident-level-badge.warning{background:#f9731633;color:#fb923c}.incident-alert-room{color:var(--accent-cyan);font-size:.75rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.incident-alert-sensor{color:var(--text-primary);font-size:.95rem;font-weight:700;margin-bottom:.15rem}.incident-alert-value{color:#f87171;font-family:JetBrains Mono,monospace;font-size:1.1rem;font-weight:700;margin-bottom:.2rem}.incident-alert-threshold{color:var(--text-muted);font-size:.78rem;margin-bottom:.15rem}.incident-alert-action{color:var(--text-muted);color:var(--text-secondary,var(--text-muted));font-size:.8rem;font-style:italic}.incident-panel-body{display:flex;flex:1 1;flex-direction:column;gap:1.1rem;overflow-y:auto;padding:1.25rem;scrollbar-color:var(--glass-border) #0000;scrollbar-width:thin}.incident-loading{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;font-size:.9rem;gap:.75rem;justify-content:center;padding:3rem 0}.incident-spinner{animation:incident-spin .7s linear infinite;border:3px solid var(--glass-border);border-radius:50%;border-top-color:var(--accent-cyan);height:28px;width:28px}@keyframes incident-spin{to{transform:rotate(1turn)}}.incident-create-section{display:flex;flex-direction:column;gap:1rem}.incident-create-header{align-items:flex-start;display:flex;gap:.85rem}.incident-create-icon{align-items:center;background:#06b6d41f;border:1px solid #06b6d440;border-radius:10px;color:var(--accent-cyan);display:flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.incident-create-icon svg{height:18px;width:18px}.incident-create-title{color:var(--text-primary);font-size:.95rem;font-weight:700;margin-bottom:.2rem}.incident-create-hint{color:var(--text-muted);font-size:.8rem}.incident-status-section{align-items:center;background:var(--glass);border:1px solid var(--glass-border);border-radius:10px;display:flex;flex-wrap:wrap;gap:.75rem;padding:.55rem .75rem}.incident-timeline-steps{align-items:center;display:flex;flex:1 1;gap:0;min-width:0}.incident-step{gap:.3rem}.incident-step,.incident-step-dot{align-items:center;display:flex;flex-shrink:0}.incident-step-dot{background:var(--glass);border:1.5px solid var(--glass-border);border-radius:50%;color:var(--text-muted);font-size:.6rem;height:22px;justify-content:center;transition:all .25s;width:22px}.incident-step.done .incident-step-dot{background:#10b98133;border-color:var(--accent-green);color:var(--accent-green)}.incident-step.active .incident-step-dot{background:#06b6d426;border-color:var(--accent-cyan);box-shadow:0 0 0 3px #06b6d41f;color:var(--accent-cyan)}.incident-step-label{color:var(--text-muted);font-size:.7rem;font-weight:600;white-space:nowrap}.incident-step.done .incident-step-label{color:var(--accent-green)}.incident-step.active .incident-step-label{color:var(--accent-cyan)}.incident-step-line{background:var(--glass-border);flex-shrink:0;height:2px;margin:0 3px;transition:background .25s;width:20px}.incident-step-line.done{background:var(--accent-green)}.incident-meta-row{align-items:center;border-left:1px solid var(--glass-border);display:flex;flex-wrap:wrap;gap:.5rem;padding-left:.5rem}.incident-meta-item{align-items:center;color:var(--text-muted);display:flex;font-size:.7rem;gap:.25rem}.incident-meta-item svg{flex-shrink:0}.incident-meta-green{color:var(--accent-green)!important}.incident-section-label{align-items:center;color:var(--text-muted);display:flex;font-size:.72rem;font-weight:700;gap:.5rem;letter-spacing:.09em;text-transform:uppercase}.incident-comments-count{align-items:center;background:var(--glass);border:1px solid var(--glass-border);border-radius:20px;color:var(--accent-cyan);display:inline-flex;font-size:.7rem;justify-content:center;min-width:22px;padding:0 .5rem}.incident-comments-list{display:flex;flex-direction:column;gap:.65rem}.incident-comment{animation:incident-comment-in .2s ease;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:12px;padding:.75rem .9rem}@keyframes incident-comment-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.incident-comment-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.45rem}.incident-comment-author{color:var(--text-primary);font-size:.8rem;font-weight:700}.incident-comment-time{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.72rem}.incident-estado-chip{border-radius:20px;font-size:.68rem;font-weight:700;letter-spacing:.04em;padding:.18rem .55rem}.incident-estado-abierto{background:#ef444426;color:#f87171}.incident-estado-progreso{background:#f9731626;color:#fb923c}.incident-estado-atendido{background:#10b98126;color:var(--accent-green)}.incident-comment-body{color:var(--text-primary);font-size:.875rem;line-height:1.55;margin:0;white-space:pre-wrap;word-break:break-word}.incident-add-comment{border-top:1px solid var(--glass-border);display:flex;flex-direction:column;gap:.75rem;padding-top:1rem}.incident-status-btns{display:flex;flex-wrap:wrap;gap:.5rem}.incident-status-btn{background:var(--glass);border:1px solid var(--glass-border);border-radius:8px;color:var(--text-muted);cursor:pointer;font-size:.75rem;font-weight:600;padding:.35rem .8rem;transition:all .18s}.incident-status-btn.selected{background:#06b6d41a;border-color:var(--accent-cyan);color:var(--accent-cyan)}.incident-status-btn.atendido.selected{background:#10b9811a;border-color:var(--accent-green);color:var(--accent-green)}.incident-status-btn:hover{border-color:#06b6d466;color:var(--accent-cyan)}.incident-textarea-wrap{position:relative}.incident-textarea{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:12px;box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:.875rem;min-height:80px;outline:none;padding:.75rem;resize:vertical;transition:border-color .2s,box-shadow .2s;width:100%}.incident-textarea:focus{border-color:#06b6d480;box-shadow:0 0 0 3px #06b6d41a}.incident-textarea::placeholder{color:var(--text-muted);opacity:.7}.incident-textarea-count{bottom:.45rem;color:var(--text-muted);font-size:.68rem;pointer-events:none;position:absolute;right:.65rem}.incident-btn-primary{align-items:center;background:linear-gradient(135deg,#06b6d4,#3b82f6);background:var(--gradient-ocean,linear-gradient(135deg,#06b6d4,#3b82f6));border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.45rem;justify-content:center;padding:.75rem 1.25rem;transition:opacity .2s,box-shadow .2s,transform .15s}.incident-btn-primary:hover:not(:disabled){box-shadow:var(--shadow-glow);opacity:.9;transform:translateY(-1px)}.incident-btn-primary:disabled{cursor:not-allowed;opacity:.45}.incident-btn-primary.success{background:linear-gradient(135deg,#10b981,#059669)}.incident-btn-spinner{animation:incident-spin .65s linear infinite;border:2px solid #ffffff59;border-radius:50%;border-top-color:#fff;flex-shrink:0;height:14px;width:14px}.incident-error{background:#ef44441a;border:1px solid #ef444440;border-radius:8px;color:var(--accent-red);font-size:.8rem;padding:.5rem .75rem}.incident-resolved-banner{align-items:center;background:#10b9811a;border:1px solid #10b9814d;border-radius:12px;color:var(--accent-green);display:flex;gap:.75rem;padding:.9rem 1rem}.incident-resolved-banner svg{flex-shrink:0;height:22px;width:22px}.incident-resolved-banner strong{display:block;font-size:.9rem;margin-bottom:.1rem}.incident-resolved-banner span{font-size:.78rem;opacity:.8}.notification-track-btn{align-items:center;background:#ef444414;border:1px solid #ef44444d;border-radius:6px;color:#f87171;cursor:pointer;display:inline-flex;font-size:.72rem;font-weight:600;gap:.3rem;margin-top:.35rem;padding:.25rem .6rem;transition:background .18s,border-color .18s;white-space:nowrap}.notification-track-btn svg{height:11px;width:11px}.notification-track-btn:hover{background:#ef44442e;border-color:#ef444480}.ilog-overlay{animation:incident-fade-in .2s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;inset:0;position:fixed;z-index:900}.ilog-panel{animation:ilog-slide-in .28s cubic-bezier(.16,1,.3,1);background:#0f172a;background:var(--bg-secondary,#0f172a);border-right:1px solid var(--glass-border);box-shadow:12px 0 48px #00000073;display:flex;flex-direction:column;height:100dvh;left:0;overflow:hidden;position:fixed;top:0;width:min(520px,100vw);z-index:901}@keyframes ilog-slide-in{0%{opacity:.5;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}.ilog-header{background:var(--bg-card);border-bottom:1px solid var(--glass-border);flex-shrink:0;padding:1.1rem 1.25rem 0}.ilog-header-top{justify-content:space-between;margin-bottom:1rem}.ilog-header-top,.ilog-title{align-items:center;display:flex}.ilog-title{color:var(--text-primary);font-size:1rem;font-weight:700;gap:.55rem}.ilog-title svg{color:var(--accent-cyan);height:18px;width:18px}.ilog-tabs{display:flex;gap:.15rem;overflow-x:auto;padding-bottom:0;scrollbar-width:none}.ilog-tabs::-webkit-scrollbar{display:none}.ilog-tab{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:600;gap:.4rem;padding:.55rem .9rem;transition:color .18s,border-color .18s;white-space:nowrap}.ilog-tab:hover{color:var(--text-primary)}.ilog-tab.active{border-bottom-color:var(--accent-cyan);color:var(--accent-cyan)}.ilog-tab-count{background:var(--glass);border:1px solid var(--glass-border);border-radius:10px;color:var(--accent-cyan);font-family:JetBrains Mono,monospace;font-size:.68rem;padding:0 .4rem}.ilog-body{flex:1 1;overflow-y:auto;scrollbar-color:var(--glass-border) #0000;scrollbar-width:thin}.ilog-list{display:flex;flex-direction:column;gap:0;padding:.75rem}.ilog-row{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:14px;color:var(--text-primary);cursor:pointer;margin-bottom:.6rem;overflow:hidden;padding:.9rem 1rem;position:relative;text-align:left;transition:transform .18s,border-color .18s,box-shadow .18s;width:100%}.ilog-row:before{border-radius:14px 0 0 14px;bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.ilog-row.critical:before{background:var(--accent-red)}.ilog-row.warning:before{background:var(--accent-orange)}.ilog-row.selected,.ilog-row:hover{border-color:#06b6d466;box-shadow:0 4px 16px #0003;transform:translateX(3px)}.ilog-row-top{align-items:center;display:flex;gap:.5rem;margin-bottom:.3rem}.ilog-level-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.ilog-level-dot.critical{background:var(--accent-red);box-shadow:0 0 6px #ef444499}.ilog-level-dot.warning{background:var(--accent-orange)}.ilog-room{color:var(--accent-cyan);flex:1 1;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.ilog-sensor{color:var(--text-primary);font-size:.9rem;font-weight:600;margin-bottom:.25rem}.ilog-row-meta{align-items:center;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.73rem;gap:.3rem}.ilog-sep{opacity:.4}.ilog-empty{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;font-size:.9rem;gap:.75rem;justify-content:center;padding:4rem 1rem;text-align:center}.ilog-empty svg{height:40px;opacity:.4;width:40px}.ilog-footer{background:var(--bg-card);border-top:1px solid var(--glass-border);color:var(--text-muted);flex-shrink:0;font-size:.8rem;justify-content:space-between;padding:.75rem 1.25rem}.ilog-footer,.ilog-refresh-btn{align-items:center;display:flex}.ilog-refresh-btn{background:#0000;border:1px solid #06b6d44d;border-radius:7px;color:var(--accent-cyan);cursor:pointer;font-size:.78rem;font-weight:600;gap:.35rem;padding:.3rem .7rem;transition:background .18s}.ilog-refresh-btn svg{height:13px;width:13px}.ilog-refresh-btn:hover{background:#06b6d41a}.ilog-refresh-btn:disabled{cursor:not-allowed;opacity:.4}.ilog-detail{height:100%}.ilog-detail,.ilog-detail-loading{display:flex;flex-direction:column}.ilog-detail-loading{align-items:center;color:var(--text-muted);gap:.75rem;padding:3rem}.ilog-detail-header{background:var(--bg-card);border-bottom:1px solid var(--glass-border);flex-shrink:0;padding:.9rem 1.25rem}.ilog-back-btn{align-items:center;background:#0000;border:none;color:var(--accent-cyan);cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:600;gap:.4rem;margin-bottom:.75rem;padding:0;transition:opacity .15s}.ilog-back-btn svg{height:14px;width:14px}.ilog-back-btn:hover{opacity:.75}.ilog-detail-title-row{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.3rem}.ilog-detail-room{color:var(--accent-cyan);font-size:.75rem;font-weight:700;letter-spacing:.07em;margin-bottom:.15rem;text-transform:uppercase}.ilog-detail-sensor{color:var(--text-primary);font-size:1rem;font-weight:700}.ilog-detail-meta{color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.75rem;gap:.3rem}.ilog-detail-body{flex:1 1;overflow-y:auto;padding:1.25rem;scrollbar-color:var(--glass-border) #0000;scrollbar-width:thin}@media (max-width:520px){.ilog-panel,.incident-panel{width:100vw}}.texcumar-page{--tx-ok:#10b981;--tx-warning:#f59e0b;--tx-critical:#ef4444;--tx-neutral:#64748b;--tx-stale:#94a3b8;--tx-mantenimiento:#3b82f6;--tx-radius:16px;--tx-gap:0.75rem;--tx-pad:0.85rem;--tx-touch:2.75rem;max-width:1800px;padding:.85rem;width:100%}.texcumar-page *,.texcumar-page :after,.texcumar-page :before{box-sizing:border-box}.texcumar-page{overflow-x:hidden}.tx-header{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1rem}.tx-eyebrow{color:var(--accent-cyan);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.tx-header h1{font-size:1.5rem;line-height:1.15;margin:.25rem 0 0}.light-theme .tx-header h1{color:#12395b}.tx-header-lead{color:var(--text-secondary);font-size:.78rem;line-height:1.5;margin:.4rem 0 0;max-width:62ch}.tx-pulse{align-items:center;background:var(--glass);border:1px solid var(--glass-border);border-radius:14px;display:flex;gap:.6rem;padding:.6rem .8rem}.tx-pulse>span{background:var(--tx-neutral);border-radius:50%;flex:none;height:.6rem;width:.6rem}.tx-pulse-ok>span{background:var(--tx-ok);box-shadow:0 0 0 4px #10b98129}.tx-pulse-warning>span{background:var(--tx-warning);box-shadow:0 0 0 4px #f59e0b29}.tx-pulse-critical>span{background:var(--tx-critical);box-shadow:0 0 0 4px #ef444429}.tx-pulse-loading>span{animation:pulse 1.2s infinite;background:var(--accent-cyan)}.tx-pulse strong{color:var(--text-primary);display:block;font-size:.82rem}.tx-pulse em{color:var(--text-muted);display:block;font-size:.68rem;font-style:normal}.tx-presentation{align-items:center;background:#06b6d41a;border:1px solid #06b6d447;border-radius:999px;display:flex;gap:.6rem;margin:-.25rem 0 .9rem;max-width:100%;padding:.45rem .7rem;width:-webkit-fit-content;width:fit-content}.tx-presentation>span{background:var(--accent-cyan);border-radius:50%;box-shadow:0 0 0 4px #06b6d41f;flex:none;height:.5rem;width:.5rem}.tx-presentation strong{color:var(--text-primary);display:block;font-size:.72rem}.tx-presentation small{color:var(--text-secondary);display:block;font-size:.64rem}.tx-block{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--tx-radius);margin-bottom:1.1rem;padding:var(--tx-pad)}.tx-block-monitor{border-top:3px solid var(--accent-cyan)}.tx-block-detail{border-top:3px solid var(--accent-purple)}.tx-block-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;margin-bottom:.8rem}.tx-block-tag{background:#06b6d41f;border-radius:999px;color:var(--accent-cyan);display:inline-block;font-size:.64rem;font-weight:700;letter-spacing:.08em;padding:.15rem .5rem;text-transform:uppercase}.tx-block-detail .tx-block-tag{background:#8b5cf624;color:var(--accent-purple)}.tx-block-header h2{color:var(--text-primary);font-size:1.1rem;margin:.35rem 0 .15rem}.tx-block-header p{color:var(--text-secondary);font-size:.76rem;margin:0}.tx-block-count{text-align:right}.tx-block-count strong{color:var(--text-primary);display:block;font-family:JetBrains Mono,monospace;font-size:1.1rem}.tx-block-count em{color:var(--text-muted);font-size:.66rem;font-style:normal}.tx-filters{grid-gap:.7rem;background:var(--glass);border:1px solid var(--glass-border);border-radius:14px;display:grid;gap:.7rem;margin-bottom:.9rem;padding:.75rem}.tx-quick{display:flex;gap:.35rem;overflow-x:auto;padding-bottom:.15rem;scrollbar-width:none}.tx-quick::-webkit-scrollbar{display:none}.tx-quick button{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:999px;color:var(--text-secondary);cursor:pointer;flex:none;font:inherit;font-size:.78rem;font-weight:600;min-height:var(--tx-touch);padding:0 .9rem;transition:border-color .15s,color .15s,background .15s}.tx-quick button:hover{border-color:var(--accent-cyan);color:var(--text-primary)}.tx-quick button.is-active{background:var(--gradient-ocean);border-color:#0000;color:#fff}.tx-filters-fields{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:1fr 1fr}.tx-filters label{grid-gap:.3rem;color:var(--text-secondary);display:grid;font-size:.68rem;font-weight:600;gap:.3rem;letter-spacing:.04em;min-width:0;text-transform:uppercase}.tx-filters input,.tx-filters select{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:10px;color:var(--text-primary);font:inherit;font-size:1rem;letter-spacing:normal;min-height:var(--tx-touch);min-width:0;padding:0 .65rem;text-transform:none;width:100%}.tx-filters option{color:#0f172a}.tx-filters-footer{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.tx-filters-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-left:auto}.tx-active-filters{display:flex;flex-wrap:wrap;gap:.35rem}.tx-active-filters button{background:#06b6d41f;border:1px solid #06b6d44d;border-radius:999px;color:var(--accent-cyan);cursor:pointer;font:inherit;font-size:.72rem;min-height:2rem;padding:.2rem .6rem}.tx-active-filters button em{font-style:normal;font-weight:700}.tx-active-filters button:hover{background:#06b6d438}.tx-export,.tx-pagination button,.tx-primary,.tx-secondary{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:10px;color:var(--text-primary);cursor:pointer;font:inherit;font-size:.8rem;min-height:var(--tx-touch);padding:0 .9rem}.tx-export,.tx-primary{background:var(--accent-cyan);border-color:#0000;color:#fff;font-weight:700}.tx-export:hover:enabled,.tx-primary:hover:enabled{filter:brightness(1.1)}.tx-secondary:hover:enabled{border-color:var(--accent-cyan)}.tx-export:disabled,.tx-pagination button:disabled,.tx-primary:disabled,.tx-secondary:disabled{cursor:not-allowed;opacity:.45}.tx-link-button{align-self:flex-start;background:none;border:0;color:var(--accent-cyan);cursor:pointer;font:inherit;font-size:.74rem;font-weight:600;margin-top:auto;padding:.3rem 0}.tx-link-button:hover{text-decoration:underline}.tx-error{background:#ef444424;border:1px solid #ef444452;border-radius:12px;color:#fecaca;font-size:.82rem;margin-bottom:.85rem;padding:.75rem .9rem}.light-theme .tx-error{color:#991b1b}.tx-chip{border-radius:999px;font-size:.64rem;font-weight:700;letter-spacing:.03em;padding:.2rem .55rem;text-transform:uppercase;white-space:nowrap}.tx-chip-ok{background:#10b98124;color:var(--tx-ok)}.tx-chip-warning{background:#f59e0b24;color:var(--tx-warning)}.tx-chip-critical{background:#ef444424;color:var(--tx-critical)}.tx-chip-neutral{background:#64748b29;color:var(--tx-neutral)}.tx-chip-mantenimiento{background:#3b82f629;color:var(--tx-mantenimiento)}.tx-chip-sin_datos{background:#94a3b829;color:var(--tx-stale)}.tx-summary{grid-gap:.9rem;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:18px;display:grid;gap:.9rem;padding:1.1rem 1.2rem}.tx-summary-main{align-items:center;display:flex;flex-wrap:wrap;gap:.8rem 1.4rem}.tx-summary-headline{align-items:baseline;display:flex;gap:.5rem}.tx-summary-headline strong{font-family:JetBrains Mono,monospace;font-size:2.6rem;font-weight:700;letter-spacing:-.02em;line-height:1;transition:color .24s ease}.tx-summary-headline strong.is-ok{color:var(--tx-ok)}.tx-summary-headline strong.is-alerta{color:var(--text-primary)}.tx-summary-headline strong em{color:var(--text-muted);font-size:1.5rem;font-style:normal}.tx-summary-headline span{color:var(--text-secondary);font-size:.95rem}.tx-summary-bar{border-radius:7px;display:flex;flex:1 1 180px;gap:2px;height:14px;min-width:140px;overflow:hidden}.tx-summary-bar i{border-radius:3px;flex-basis:0;transition:flex-grow .42s cubic-bezier(.22,1,.36,1)}.tx-bar-ok{background:var(--tx-ok)}.tx-bar-warning{background:var(--tx-warning)}.tx-bar-critical{background:var(--tx-critical)}.tx-bar-sin_datos{background:var(--tx-stale)}.tx-bar-mantenimiento{background:var(--tx-mantenimiento)}.tx-summary-tx{grid-gap:.05rem;display:grid;gap:.05rem;margin-left:auto;text-align:right}.tx-summary-tx span{color:var(--text-muted);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.tx-summary-tx strong{color:var(--text-primary);font-size:1.15rem}.tx-summary-tx em{color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:.78rem;font-style:normal}.tx-summary-stale{align-items:center;background:#94a3b824;border:1px solid #94a3b859;border-radius:12px;cursor:pointer;display:flex;flex-wrap:wrap;font:inherit;gap:.4rem .7rem;padding:.7rem .9rem;text-align:left;width:100%}.tx-summary-stale:hover{border-color:var(--tx-stale)}.tx-summary-stale strong{color:var(--text-primary);font-size:1.05rem}.tx-stale-list{display:flex;flex-wrap:wrap;gap:.3rem .5rem}.tx-stale-list em{align-items:baseline;background:var(--bg-card);border-radius:999px;color:var(--text-secondary);display:inline-flex;font-size:.84rem;font-style:normal;gap:.35rem;padding:.1rem .5rem}.tx-stale-list em i{color:var(--text-muted);font-size:.76rem;font-style:normal}.tx-stale-dot{animation:tx-latido 2.4s ease-in-out infinite;background:var(--tx-stale);border-radius:50%;height:10px;width:10px}.tx-summary-stats{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:1fr}.tx-stat{grid-gap:.15rem;background:var(--glass);border:1px solid var(--glass-border);border-left:4px solid var(--tx-neutral);border-radius:12px;display:grid;font:inherit;gap:.15rem;padding:.75rem .9rem;text-align:left}.tx-stat.is-clickable{cursor:pointer;transition:transform .16s ease,border-color .16s ease}.tx-stat.is-clickable:hover{transform:translateY(-2px)}.tx-stat-ok{border-left-color:var(--tx-ok)}.tx-stat-warning{border-left-color:var(--tx-warning)}.tx-stat-critical{border-left-color:var(--tx-critical)}.tx-stat-label{color:var(--text-muted);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase}.tx-stat-value{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:1.75rem;font-weight:700;line-height:1.1}.tx-stat-value small{color:var(--text-muted);font-family:Outfit,sans-serif;font-size:.8rem;font-weight:400;margin-left:.2rem}.tx-stat-detail{color:var(--text-secondary);font-size:.82rem}.tx-summary-bases{display:flex;flex-wrap:wrap;gap:.4rem}.tx-base-chip{align-items:baseline;background:#0000;border:1px solid var(--glass-border);border-radius:999px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font:inherit;font-size:.88rem;gap:.4rem;padding:.45rem .8rem;transition:border-color .16s ease,color .16s ease,background .16s ease}.tx-base-chip em{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.76rem;font-style:normal}.tx-base-chip:hover{border-color:var(--accent-cyan);color:var(--text-primary)}.tx-base-chip.is-active{background:var(--accent-cyan);border-color:var(--accent-cyan);color:#fff}.tx-base-chip.is-active em{color:#fffc}.tx-base-chip.tx-base-warning{border-color:#f59e0b80}.tx-base-chip.tx-base-critical{border-color:#ef444480}.tx-base-chip.tx-base-sin_datos{border-color:#94a3b880}@keyframes tx-latido{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}.tx-kpis{grid-gap:.7rem;display:grid;gap:.7rem;grid-template-columns:1fr;margin-bottom:.9rem}.tx-kpi{background:var(--glass);border:1px solid var(--glass-border);border-radius:14px;display:flex;flex-direction:column;gap:.4rem;min-height:165px;overflow:hidden;padding:.85rem;position:relative}.tx-kpi:before{background:var(--tx-neutral);content:"";inset:0 auto 0 0;position:absolute;width:3px}.tx-kpi-ok:before{background:var(--tx-ok)}.tx-kpi-warning:before{background:var(--tx-warning)}.tx-kpi-critical:before{background:var(--tx-critical)}.tx-kpi header{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between}.tx-kpi-label{color:var(--text-secondary);font-size:.76rem;font-weight:600}.tx-kpi-value{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:1.85rem;line-height:1.1}.tx-kpi-value small{color:var(--text-muted);font-family:Outfit,sans-serif;font-size:.78rem;font-weight:400;margin-left:.3rem}.tx-kpi-range{grid-gap:.3rem;display:grid;gap:.3rem;grid-template-columns:repeat(3,1fr);margin:0}.tx-kpi-range div{text-align:center}.tx-kpi-range dt{color:var(--text-muted);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}.tx-kpi-range dd{color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:.8rem;margin:.1rem 0 0}.tx-kpi-threshold{color:var(--text-muted);font-size:.66rem;margin:0}.tx-skeleton{animation:tx-shimmer 1.4s linear infinite;background:linear-gradient(100deg,#94a3b80f 30%,#94a3b829 50%,#94a3b80f 70%);background-size:220% 100%}@keyframes tx-shimmer{0%{background-position:180% 0}to{background-position:-20% 0}}.tx-panel{margin-bottom:.9rem}.tx-panel-heading{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.7rem}.tx-panel-heading h3{color:var(--text-primary);font-size:1.12rem;margin:0}.tx-panel-heading span{color:var(--text-secondary);font-size:.8rem}.tx-panel-toggle{align-items:center;background:none;border:0;cursor:pointer;display:flex;flex:1 1;font:inherit;gap:.6rem;padding:0;text-align:left}.tx-panel-titles{grid-gap:.1rem;display:grid;gap:.1rem}.tx-panel-acciones{display:flex;flex-wrap:wrap;gap:.4rem}.tx-panel-toggle:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:4px}.tx-panel-toggle:hover h3{color:var(--accent-cyan)}.tx-panel-caret{border-bottom:6px solid #0000;border-left:8px solid var(--text-muted);border-top:6px solid #0000;flex:none;height:0;transform-origin:25% 50%;transition:transform .18s ease;width:0}.tx-panel.is-open .tx-panel-caret{transform:rotate(90deg)}.tx-panel.is-closed .tx-panel-heading{margin-bottom:0}.tx-rooms-grid{grid-gap:.7rem;display:grid;gap:.7rem;grid-template-columns:1fr;justify-content:start}.tx-panel-nota{color:var(--text-secondary);font-size:.76rem;line-height:1.6;margin:0 0 .6rem;max-width:78ch}.tx-leyenda{margin-bottom:.7rem}.tx-room.tx-skeleton{min-height:148px}.tx-room{grid-gap:.65rem;background:var(--glass);border:1px solid var(--glass-border);border-radius:14px;display:grid;gap:.65rem;padding:.8rem}.tx-room-ok{border-left:3px solid var(--tx-ok)}.tx-room-warning{border-left:3px solid var(--tx-warning)}.tx-room-critical{border-left:3px solid var(--tx-critical)}.tx-room-neutral{border-left:3px solid var(--tx-neutral)}.tx-room-sin_datos{border-left:3px solid var(--tx-stale)}.tx-room-mantenimiento{border-left:3px solid var(--tx-mantenimiento)}.tx-room-silent{background:#94a3b814;border-radius:10px;color:var(--text-secondary);font-size:.74rem;line-height:1.45;margin:0;padding:.5rem .6rem}.tx-room-silent strong{color:var(--text-primary)}p.tx-room-mantenimiento{background:#3b82f61a;border-left:0;color:var(--tx-mantenimiento)}.tx-room header{align-items:flex-start;display:flex;gap:.6rem;justify-content:space-between}.tx-room-status{align-items:flex-end;display:flex;flex-direction:column;gap:.2rem}.tx-room-status-reason{font-size:.64rem;font-weight:600}.tx-room-base{color:var(--text-muted);display:block;font-size:.66rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.tx-room h3{color:var(--text-primary);font-size:1.15rem;margin:0 0 .2rem}.tx-room-freshness{border-radius:6px;font-size:.66rem;padding:.1rem .4rem}.tx-room-readings{grid-gap:.45rem;display:grid;gap:.45rem;grid-template-columns:repeat(auto-fit,minmax(84px,1fr))}.tx-room-reading{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:10px;padding:.45rem .5rem}.tx-room-reading span{color:var(--text-muted);display:block;font-size:.74rem}.tx-room-reading strong{display:block;font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700;margin-top:.15rem}.tx-room-reading strong small{color:var(--text-muted);font-family:Outfit,sans-serif;font-size:.72rem;font-weight:400;margin-left:.15rem}.tx-room footer{align-items:center;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.7rem;gap:.5rem;justify-content:space-between}.tx-room footer .tx-link-button:last-child{margin-left:auto}.tx-filters-hint{color:var(--text-muted);display:block;font-size:.63rem;font-style:normal;margin-top:.15rem}.tx-filters-fields select:disabled{cursor:not-allowed;opacity:.55}.tx-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.tx-config-overlay{background:#0206178c;display:flex;inset:0;justify-content:flex-end;padding:0;position:fixed;z-index:60}.tx-config-panel{background:var(--bg-secondary);border-left:1px solid var(--glass-border);display:flex;flex-direction:column;gap:.8rem;height:100%;overflow-y:auto;padding:var(--tx-pad);width:min(100%,720px)}.tx-config-header{align-items:flex-start;display:flex;gap:.8rem;justify-content:space-between}.tx-config-header h2{color:var(--text-primary);font-size:1.1rem;margin:.2rem 0}.tx-config-header p{color:var(--text-muted);font-size:.72rem;line-height:1.5;margin:0;max-width:46ch}.tx-config-leyenda,.tx-leyenda{background:var(--bg-card);border-radius:10px;display:flex;flex-wrap:wrap;font-size:.7rem;gap:.4rem .9rem;padding:.5rem .6rem}.tx-config-ok{background:#10b9811f;border-radius:10px;color:var(--tx-ok);font-size:.75rem;padding:.5rem .7rem}.tx-config-lista{grid-gap:.5rem;display:grid;gap:.5rem}.tx-config-sala{background:var(--glass);border:1px solid var(--glass-border);border-radius:12px;overflow:hidden}.tx-config-toggle{align-items:center;background:none;border:0;color:var(--text-primary);cursor:pointer;display:flex;font-size:.84rem;gap:.6rem;min-height:var(--tx-touch);padding:.6rem .75rem;text-align:left;width:100%}.tx-config-toggle em{color:var(--text-muted);flex:1 1;font-size:.68rem;font-style:normal}.tx-config-toggle span[aria-hidden]{color:var(--text-secondary);font-size:1.1rem}.tx-config-cuerpo{grid-gap:.6rem;display:grid;gap:.6rem;padding:0 .75rem .8rem}.tx-config-cuerpo h4{color:var(--text-secondary);font-size:.74rem;letter-spacing:.04em;margin:.4rem 0 0;text-transform:uppercase}.tx-config-cuerpo h4 small{color:var(--text-muted);letter-spacing:0;text-transform:none}.tx-config-nota{color:var(--text-muted);font-size:.68rem;line-height:1.5;margin:0}.tx-config-campos{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.tx-config-campos label{grid-gap:.15rem;color:var(--text-secondary);display:grid;font-size:.7rem;gap:.15rem}.tx-config-campos input,.tx-config-campos select{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:8px;color:var(--text-primary);font-size:.82rem;min-height:var(--tx-touch);padding:.35rem .5rem}.tx-config-campos em{color:var(--text-muted);font-size:.63rem;font-style:normal}.tx-config-banda{grid-gap:.35rem;display:grid;gap:.35rem}.tx-banda{grid-gap:.2rem;display:grid;gap:.2rem}.tx-banda-preview{background:var(--bg-card);border-radius:7px;height:14px;overflow:hidden;position:relative}.tx-banda-preview.is-invalid{color:var(--tx-critical);font-size:.7rem;height:auto;padding:.35rem .6rem}.tx-banda-tramo{bottom:0;position:absolute;top:0}.tx-banda-ok{background:var(--tx-ok)}.tx-banda-warning{background:var(--tx-warning)}.tx-banda-critical{background:var(--tx-critical)}.tx-banda-escala{color:var(--text-muted);display:flex;font-size:.62rem;justify-content:space-between}.tx-config-actual{font-size:.72rem;margin:0}.tx-config-error{color:var(--tx-critical);font-size:.7rem;list-style:none;margin:0;padding:0}.tx-config-error li{margin-bottom:.2rem}.tx-config-footer{grid-gap:.5rem;background:var(--bg-secondary);border-top:1px solid var(--glass-border);bottom:0;display:grid;gap:.5rem;padding-top:.6rem;position:-webkit-sticky;position:sticky}.tx-reference-grid{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:1fr}.tx-reference-grid>*{max-width:420px}.tx-reference{grid-gap:.5rem;background:var(--bg-card);border:1px solid var(--glass-border);border-left-width:3px;border-radius:12px;display:grid;gap:.5rem;padding:.7rem .8rem}.tx-reference header{align-items:baseline;display:flex;gap:.5rem;justify-content:space-between}.tx-reference h4{color:var(--text-primary);font-size:1.05rem;font-weight:700;margin:0}.tx-reference .tx-room-freshness{border-radius:6px;font-size:.64rem;padding:.1rem .4rem}.tx-mosaic{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));margin-top:.7rem}.tx-tile{grid-gap:.1rem;animation:tx-entra .26s ease both;background:var(--bg-card);border:1px solid var(--glass-border);border-left:4px solid var(--tx-ok);border-radius:12px;cursor:pointer;display:grid;font:inherit;gap:.1rem;padding:.65rem .7rem;text-align:left;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.tx-tile:hover{box-shadow:0 10px 24px #0f172a1f;transform:translateY(-2px)}.tx-tile:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px}.tx-tile-ok{border-left-color:var(--tx-ok)}.tx-tile-warning{border-left-color:var(--tx-warning)}.tx-tile-critical{border-left-color:var(--tx-critical)}.tx-tile-neutral{border-left-color:var(--tx-neutral)}.tx-tile-sin_datos{border-left-color:var(--tx-stale);opacity:.75}.tx-tile-mantenimiento{border-left-color:var(--tx-mantenimiento);opacity:.8}.tx-tile-base{color:var(--text-muted);font-size:.62rem;letter-spacing:.04em;text-transform:uppercase}.tx-tile-base,.tx-tile-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-tile-name{color:var(--text-primary);font-size:.92rem}.tx-tile-value{font-size:1.45rem;font-weight:700;line-height:1.15}.tx-tile-second,.tx-tile-value{font-family:JetBrains Mono,monospace}.tx-tile-second{font-size:.95rem}.tx-tile-second small,.tx-tile-value small{color:var(--text-muted);font-family:Outfit,sans-serif;font-size:.68rem;font-weight:400;margin-left:.15rem}.tx-alerts-last{grid-gap:.05rem;display:grid;gap:.05rem;text-align:right}.tx-alerts-last span{color:var(--text-muted);font-size:.68rem;letter-spacing:.05em;text-transform:uppercase}.tx-alerts-last strong{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:.92rem}.tx-alert-list{grid-gap:.4rem;display:grid;gap:.4rem;list-style:none;margin:0;padding:0}.tx-alert>button{grid-gap:.35rem 1rem;animation:tx-entra .26s ease both;background:var(--bg-card);border:1px solid var(--glass-border);border-left:4px solid var(--tx-warning);border-radius:12px;cursor:pointer;display:grid;font:inherit;gap:.35rem 1rem;grid-template-columns:1fr;padding:.7rem .85rem;text-align:left;transition:transform .16s ease,border-color .16s ease;width:100%}.tx-alert>button:hover{transform:translateX(2px)}.tx-alert-critical>button{border-left-color:var(--tx-critical)}.tx-alert-ok>button{border-left-color:var(--tx-neutral)}.tx-alert-when{grid-gap:.05rem;display:grid;gap:.05rem}.tx-alert-when strong{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:1rem}.tx-alert-when em{color:var(--text-muted);font-size:.74rem;font-style:normal}.tx-alert-room{grid-gap:.05rem;display:grid;gap:.05rem}.tx-alert-room em{color:var(--text-muted);font-size:.68rem;font-style:normal;letter-spacing:.04em;text-transform:uppercase}.tx-alert-room strong{color:var(--text-primary);font-size:1.05rem}.tx-alert-metric{grid-gap:.05rem;display:grid;gap:.05rem}.tx-alert-metric em{color:var(--text-muted);font-size:.68rem;font-style:normal;letter-spacing:.05em;text-transform:uppercase}.tx-alert-metric strong{font-family:JetBrains Mono,monospace;font-size:1.2rem}.tx-alert-metric strong small{color:var(--text-muted);font-family:Outfit,sans-serif;font-size:.68rem;font-weight:400;margin-left:.15rem}.tx-alert-motivo.is-crudo{background:#ef444424;color:var(--tx-critical);font-weight:600}.tx-alert-motivo{align-self:center;background:#94a3b829;border-radius:999px;color:var(--text-secondary);font-size:.76rem;justify-self:start;padding:.2rem .6rem;white-space:nowrap}@keyframes tx-entra{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.tx-cell-ok,.tx-cell-ok strong{color:var(--tx-ok)}.tx-cell-warning,.tx-cell-warning strong{color:var(--tx-warning)}.tx-cell-critical,.tx-cell-critical strong{color:var(--tx-critical)}.tx-cell-neutral strong{color:var(--text-primary)}.tx-cell-sin_datos,.tx-cell-sin_datos strong{color:var(--tx-stale)}.tx-cell-mantenimiento,.tx-cell-mantenimiento strong{color:var(--tx-mantenimiento)}td.tx-cell{font-family:JetBrains Mono,monospace}td.tx-cell-neutral{color:var(--text-secondary)}td.tx-cell-critical{font-weight:700}.tx-event{background:#06b6d41a;border-radius:6px;color:var(--accent-cyan);font-size:.7rem;padding:.18rem .45rem;white-space:nowrap}.tx-metric-tabs{display:flex;gap:.35rem;overflow-x:auto;padding-bottom:.15rem;scrollbar-width:none}.tx-metric-tabs::-webkit-scrollbar{display:none}.tx-metric-tabs button{background:var(--glass);border:1px solid var(--glass-border);border-radius:9px;color:var(--text-secondary);cursor:pointer;flex:none;font:inherit;font-size:.76rem;font-weight:600;min-height:2.25rem;padding:0 .8rem}.tx-metric-tabs button:hover{color:var(--text-primary)}.tx-metric-tabs button.is-active{background:#06b6d41a}.tx-chart-frame{height:380px;width:100%}.tx-trend-frame{height:190px;width:100%}.tx-legend-off{color:var(--text-muted);text-decoration:line-through}.tx-evolution .recharts-default-legend{display:flex!important;flex-wrap:wrap;font-size:.7rem;gap:.25rem .8rem;justify-content:center}.tx-evolution .recharts-legend-item{cursor:pointer;margin-right:0!important;white-space:nowrap}.tx-tooltip{background:#0f172af0;border:1px solid var(--glass-border);border-radius:10px;font-size:.74rem;max-width:82vw;padding:.55rem .65rem}.light-theme .tx-tooltip{background:#fffffff7;border-color:#0f172a1f}.tx-tooltip-title{color:var(--text-secondary);font-size:.68rem;margin:0 0 .3rem}.tx-tooltip-row{align-items:center;display:flex;gap:.4rem;margin:.12rem 0}.tx-tooltip-dot{border-radius:50%;flex:none;height:.5rem;width:.5rem}.tx-tooltip-name{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-tooltip-value{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-weight:600;margin-left:auto;padding-left:.6rem}.tx-empty{color:var(--text-muted);display:grid;font-size:.82rem;min-height:150px;padding:1rem;place-items:center;text-align:center}.tx-detail-summary{display:flex;flex-direction:column;gap:.6rem;margin-bottom:.85rem}.tx-detail-summary p{color:var(--text-secondary);font-size:.8rem;margin:0}.tx-detail-summary strong{color:var(--text-primary);font-family:JetBrains Mono,monospace}.tx-detail-summary .tx-export{width:100%}.tx-table-scroll table{border-collapse:collapse;width:100%}.tx-table-scroll thead{display:none}.tx-table-scroll tbody{grid-gap:.55rem;display:grid;gap:.55rem}.tx-table-scroll tr{grid-gap:.3rem .6rem;background:var(--glass);border:1px solid var(--glass-border);border-radius:12px;display:grid;gap:.3rem .6rem;grid-template-columns:1fr 1fr;padding:.65rem .75rem}.tx-table-scroll td{align-items:baseline;color:var(--text-secondary);display:flex;font-size:.8rem;gap:.5rem;justify-content:space-between;overflow-wrap:anywhere;padding:.1rem 0}.tx-table-scroll td:before{color:var(--text-muted);content:attr(data-label);flex:none;font-family:Outfit,sans-serif;font-size:.62rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.tx-table-scroll td[data-label="Tipo de evento"],.tx-table-scroll td[data-label=Sala]{grid-column:1/-1}.tx-table-scroll td:first-child{border-bottom:1px solid var(--glass-border);color:var(--text-primary);font-weight:600;grid-column:1/-1;margin-bottom:.15rem;padding-bottom:.35rem}.tx-table-scroll td.tx-cell-critical{color:var(--tx-critical)}.tx-table-scroll td.tx-cell-warning{color:var(--tx-warning)}.tx-pagination{color:var(--text-muted);display:flex;flex-direction:column;font-size:.74rem;gap:.6rem;padding-top:.85rem}.tx-pagination>div{display:flex;flex-wrap:wrap;gap:.35rem}.tx-pagination button{flex:1 1 auto;font-size:.74rem;padding:0 .6rem}@media (min-width:640px){.texcumar-page{--tx-pad:1.1rem;padding:1.25rem}.tx-header{align-items:flex-end;flex-direction:row;justify-content:space-between}.tx-header h1{font-size:1.9rem}.tx-header-lead{font-size:.86rem}.tx-filters-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.tx-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.tx-rooms-grid{grid-template-columns:repeat(auto-fit,minmax(260px,340px))}.tx-summary-stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.tx-alert>button{align-items:center;grid-template-columns:minmax(150px,auto) minmax(120px,1fr) auto auto minmax(90px,auto)}.tx-reference-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.tx-panel-heading{align-items:flex-start;flex-direction:row;justify-content:space-between}.tx-chart-frame{height:340px}.tx-trend-frame{height:210px}.tx-detail-summary{align-items:center;flex-direction:row;justify-content:space-between}.tx-detail-summary .tx-export{width:auto}.tx-pagination{align-items:center;flex-direction:row;justify-content:space-between}.tx-pagination button{flex:none}.tx-table-scroll{overflow-x:auto}.tx-table-scroll table{font-size:.78rem;min-width:940px}.tx-table-scroll thead{display:table-header-group}.tx-table-scroll tbody{display:table-row-group}.tx-table-scroll tr{background:none;border:0;border-radius:0;display:table-row;padding:0}.tx-table-scroll tbody tr:nth-child(2n){background:rgba(148,163,184,.035)}.tx-table-scroll tbody tr:hover{background:#06b6d412}.tx-table-scroll th{background:var(--bg-secondary);border-bottom:1px solid var(--glass-border);color:var(--text-muted);font-size:.64rem;letter-spacing:.05em;padding:.7rem .6rem;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap;z-index:1}.light-theme .tx-table-scroll th{background:#eef4f9}.tx-table-scroll td{border-bottom:1px solid #94a3b81a;display:table-cell;padding:.6rem;white-space:nowrap}.tx-table-scroll td:before{content:none}.tx-table-scroll td:first-child{border-bottom:1px solid #94a3b81a;color:var(--text-secondary);font-weight:400;margin:0}.tx-table-scroll td.tx-cell-critical{background:#ef444414}.tx-table-scroll td.tx-cell-warning{background:#f59e0b12}}@media (min-width:1024px){.texcumar-page{--tx-gap:1rem;padding:1.5rem}.tx-header h1{font-size:clamp(2rem,2.6vw,2.5rem)}.tx-block{margin-bottom:1.4rem;padding:1.25rem}.tx-block-header h2{font-size:1.25rem}.tx-filters{align-items:center;display:flex;flex-wrap:wrap;gap:.7rem 1rem;padding:.9rem 1rem}.tx-quick{flex:0 0 auto}.tx-filters-fields{flex:1 1 420px;grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}.tx-filters-footer{flex:0 0 auto;margin-left:auto}.tx-panel-heading>div>span{display:block;margin-top:.2rem}.tx-kpis{grid-template-columns:repeat(auto-fit,minmax(225px,1fr))}.tx-rooms-grid{grid-template-columns:repeat(auto-fit,minmax(290px,370px))}.tx-summary{padding:1.3rem 1.5rem}.tx-summary-headline strong{font-size:3.1rem}.tx-mosaic{grid-template-columns:repeat(auto-fill,minmax(146px,1fr))}.tx-chart-frame{height:380px}.tx-trend-frame{height:225px}}@media (prefers-reduced-motion:reduce){.texcumar-page *,.texcumar-page :before{animation:none!important;transition:none!important}}@media print{.tx-detail-summary button,.tx-filters,.tx-link-button,.tx-metric-tabs,.tx-pagination{display:none!important}.texcumar-page{max-width:100%;padding:0}.tx-block,.tx-kpi,.tx-room,.tx-stat,.tx-summary,.tx-tile{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border:1px solid #cbd5e1;break-inside:avoid;page-break-inside:avoid}.tx-block-header h2,.tx-header h1,.tx-kpi-value{color:#0f172a}.tx-table-scroll table{font-size:.68rem;min-width:0}}.tx-mant-form{grid-gap:.9rem;display:grid;gap:.9rem;margin-bottom:1.2rem}.tx-mant-salas{border:1px solid var(--glass-border);border-radius:12px;margin:0;padding:.7rem .8rem}.tx-mant-salas legend{color:var(--text-secondary);font-size:.78rem;padding:0 .4rem}.tx-mant-lista{grid-gap:.35rem;display:grid;gap:.35rem;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));max-height:220px;overflow-y:auto}.tx-mant-lista label{align-items:center;border:1px solid #0000;border-radius:9px;cursor:pointer;display:flex;gap:.45rem;padding:.35rem .5rem}.tx-mant-lista label:hover{background:var(--glass)}.tx-mant-lista label.is-active{background:#3b82f61a;border-color:var(--tx-mantenimiento)}.tx-mant-lista label span{color:var(--text-primary);display:grid;font-size:.88rem}.tx-mant-lista label em{color:var(--text-muted);font-size:.62rem;font-style:normal;letter-spacing:.04em;text-transform:uppercase}.tx-mant-campos{grid-gap:.6rem;align-items:end;display:grid;gap:.6rem;grid-template-columns:1fr}.tx-mant-campos label{grid-gap:.2rem;color:var(--text-secondary);display:grid;font-size:.78rem;gap:.2rem}.tx-mant-campos input{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:10px;color:var(--text-primary);font:inherit;font-size:.92rem;padding:.5rem .6rem}.tx-mant-titulo{color:var(--text-primary);font-size:.95rem;margin:0 0 .5rem}.tx-mant-declaradas{grid-gap:.4rem;display:grid;gap:.4rem;list-style:none;margin:0;padding:0}.tx-mant-declaradas li{align-items:center;background:var(--bg-card);border:1px solid var(--glass-border);border-left:3px solid var(--tx-mantenimiento);border-radius:10px;display:flex;gap:.6rem;justify-content:space-between;padding:.55rem .7rem}.tx-mant-declaradas div{grid-gap:.1rem;display:grid;gap:.1rem}.tx-mant-declaradas strong{color:var(--text-primary);font-size:.92rem}.tx-mant-declaradas em{color:var(--text-secondary);font-size:.8rem;font-style:normal}.tx-mant-declaradas small{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.72rem}@media (min-width:768px){.tx-mant-campos{grid-template-columns:repeat(2,minmax(0,1fr))}.tx-mant-campos>button{grid-column:1/-1;justify-self:start}}.tx-mant-vacio{color:var(--text-secondary);font-size:.85rem;margin:0}
/*# sourceMappingURL=main.553ba097.css.map*/