@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-button,.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-button{background:#0000000d;border-color:#0000001a}.light-theme .back-button:hover{background:#00000014}.light-theme .connection-status,.light-theme .theme-toggle{background:#0000000d;border-color:#0000001a}.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}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);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:10}.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{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}@keyframes spin{to{transform:rotate(1turn)}}.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}.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}.back-button{font-size:.8rem;padding:.5rem .75rem}}@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-button{border-radius:8px;font-size:.75rem;padding:.4rem .6rem}.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-family:JetBrains Mono,monospace;font-size:1rem;font-weight:600}.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}@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}}.rooms-container{margin:0 auto;max-width:1400px;padding:2rem;position:relative;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-fill,minmax(320px,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-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{background:var(--accent-green)}.room-status-badge.disconnected .room-status-dot{background:var(--accent-red)}.room-name{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.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-button{align-items:center;background:var(--glass);border:1px solid var(--glass-border);border-radius:12px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.75rem 1.25rem;transition:all .3s ease}.back-button:hover{background:#ffffff1a;border-color:var(--accent-cyan)}.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;padding:1rem 1.5rem}.rooms-stat-icon{font-size:1.5rem}.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}@media (max-width:1024px){.rooms-grid{gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.rooms-container{padding:1rem}.rooms-header{margin-bottom:1.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: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-button{border-radius:10px;font-size:.85rem;padding:.5rem .75rem}}@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}.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;padding:1rem;transition:all .3s ease}.sidebar-menu-item:hover{background:#06b6d41a;border-color:var(--accent-cyan)}.sidebar-menu-item.active{background:#06b6d426;border-color:var(--accent-cyan)}.sidebar-menu-icon{font-size:1.25rem}.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}}.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}.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}.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}}.config-interval{background:linear-gradient(to top,var(--bg-secondary) 70%,#0000)}
/*# sourceMappingURL=main.c17ff46b.css.map*/