:root{color-scheme:light;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;--brand-green: #8bc83f;--brand-green-dark: #4f7c1d;--brand-amber: #d9a23a;--brand-amber-dark: #8b5b12;--brand-red: #ef5d52;--brand-red-dark: #992b24;--brand-blue: #4c8fe8;--brand-blue-dark: #1f4e96;--brand-teal: #22b59a;--brand-ink: #0d0a07;--brand-muted: #2f2a23;--brand-paper: #ffffff;--brand-surface: #f5f9f3;--brand-surface-soft: #e9f0e6;--brand-border: rgba(13, 10, 7, .24);--brand-bg: #f1f3f5;--paper-rgb: 255, 255, 255;--brand-glow: rgba(139, 200, 63, .25);--brand-shadow: rgba(13, 10, 7, .16);--map-gradient-start: rgba(205, 228, 244, .7);--map-gradient-end: rgba(214, 236, 214, .7)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f3f4f6;color:var(--brand-ink);font-size:14px;line-height:1.4;font-weight:400;overflow-x:hidden}.MuiTypography-root{color:#111827}.MuiTypography-body2,.MuiTypography-caption,.MuiFormHelperText-root,.MuiInputLabel-root{color:#334155!important;font-weight:500!important}.MuiTableCell-root{color:#1f2937;font-weight:500}.MuiChip-label{font-weight:500!important}a{color:var(--brand-green-dark);text-decoration:none}a:hover{text-decoration:underline}#root{min-height:100vh;overflow-x:hidden}.app-shell{display:flex;min-height:100vh;gap:14px;padding:14px}.app-main{flex:1;display:flex;flex-direction:column;gap:20px;min-width:0}.app-content{display:flex;flex-direction:column;gap:24px;min-width:0}.sidebar{width:260px;background:linear-gradient(160deg,rgba(var(--paper-rgb),.98),#e4ecdff0);border-radius:12px;padding:14px 12px;border:1px solid rgba(13,10,7,.18);display:flex;flex-direction:column;gap:12px;box-shadow:0 8px 18px #0d0a071f;transition:width .2s ease}.sidebar.collapsed{width:74px}.sidebar.collapsed .sidebar-brand{padding-left:2px;padding-right:2px}.sidebar.collapsed .sidebar-demo-pill{width:100%;justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .nav-link{justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .sidebar-logout-link .MuiButton-startIcon{margin:0}.sidebar-brand{display:flex;flex-direction:column;gap:4px;color:var(--brand-ink);padding:2px 6px 12px;border-bottom:1px solid rgba(13,10,7,.16)}.sidebar-brand-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.sidebar-toggle{border:1px solid rgba(13,10,7,.16);background:#fffc;color:#233149}.sidebar-demo-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;background:#ffffffc7;border:1px solid rgba(13,10,7,.14);width:fit-content;max-width:100%}.sidebar-demo-user{max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--brand-ink);font-weight:600}.sidebar-logout-link{justify-content:flex-start;text-transform:none;width:100%;color:#8a2b24;border-color:#992b2457;background:#ef5d521f}.sidebar-logout-link:hover{background:#992b2438;color:#6f1f1a}.sidebar-nav{display:flex;flex-direction:column;gap:8px}.nav-link{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;text-decoration:none;color:#243040;font-weight:500;font-size:.8rem;background:#ffffffd6;border:1px solid rgba(13,10,7,.12);transition:all .2s ease}.nav-link .MuiSvgIcon-root{font-size:1.05rem}.nav-link.active{background:linear-gradient(135deg,#8bc83f59,#fffffff0);color:#173f0e;border:1px solid rgba(139,200,63,.64);box-shadow:0 4px 10px #14230e26}.nav-link:hover{background:#8bc83f29;text-decoration:none}.sidebar .MuiDivider-root{border-color:#0d0a0729}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border:1px solid rgba(13,10,7,.14);border-radius:10px;padding:8px 10px;min-width:0}.topbar-search{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.topbar-hint{margin-left:40px;color:#334155;font-weight:600}.topbar-search-panel{margin-top:8px;border-radius:8px;border:1px solid var(--brand-border);background:var(--brand-paper);box-shadow:0 18px 40px #0d0a0729;overflow:hidden;z-index:5}.topbar-search-list{max-height:340px;overflow-y:auto;padding:8px}.topbar-search-subheader{color:var(--brand-muted);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;background:transparent}.topbar-search-item{display:flex;align-items:center;gap:12px;border-radius:8px;margin:4px 0;min-width:0}.topbar-search-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#4c8fe81f;color:var(--brand-blue-dark)}.topbar-search-content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.topbar-search-meta{color:#334155;font-weight:500}.topbar-search-empty{padding:12px 16px;color:var(--brand-muted)}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.topbar-mobile-menu{display:none;align-items:center}.language-switcher{display:flex;align-items:center;gap:8px;min-width:128px;justify-content:flex-end}.language-switcher-label{color:var(--brand-muted);letter-spacing:.02em;font-weight:600;text-transform:uppercase;white-space:nowrap}.language-switcher-select{min-width:72px}.language-switcher-select .MuiSelect-select{padding-top:7px;padding-bottom:7px;font-weight:600}.demo-banner{border-radius:12px;border:1px solid rgba(242,179,71,.45)}.change-notice-banner{position:sticky;top:0;z-index:7;border-radius:12px;border:1px solid rgba(76,143,232,.32);background:linear-gradient(135deg,#4c8fe824,#fffffff5);box-shadow:0 10px 22px #1f4e961f}.sidebar-user-block{margin-top:8px;display:flex;flex-direction:column;gap:8px}.sidebar-account-link{align-items:flex-start;cursor:default}.sidebar-account-link:hover{background:rgba(var(--paper-rgb),.7)}.sidebar-user-content{min-width:0;flex:1}.sidebar-user-email{font-weight:600;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sidebar-signout-link{justify-content:flex-start;gap:8px;width:100%;text-transform:none}.sidebar-signout-link:hover{background:#ef5d5229;color:#7a1f19}.sidebar-signout-link .MuiButton-startIcon{margin-right:0}.user-menu{display:flex;align-items:center;gap:10px;padding-left:12px;margin-left:2px;border-left:1px solid rgba(13,10,7,.16);min-width:0}.user-menu-meta{min-width:0}.user-menu-email{font-weight:600;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.user-menu-signout{border-radius:10px;min-width:88px;white-space:nowrap}.page-grid{display:flex;flex-direction:column;gap:24px;min-width:0}.page-grid>*{animation:fadeUp .5s ease both}.section-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.section-header .MuiTypography-h5{color:#162537;font-size:1.18rem;font-weight:600;letter-spacing:.01em}.section-header .MuiTypography-body2{color:#3a4a5f;font-weight:500;font-size:.8rem}.section-actions{display:flex;align-items:center;gap:8px}.dashboard-kpi-grid{align-items:stretch}.kpi-card{padding:12px 14px;border-radius:8px;background:#fff;border:1px solid rgba(13,10,7,.16);border-top:4px solid rgba(139,200,63,.9);box-shadow:0 5px 12px #0d0a0714;position:relative;overflow:hidden;min-height:112px;height:100%;display:flex;flex-direction:column;gap:4px}.kpi-card.primary{background:#fff;border-top-color:var(--brand-green)}.kpi-card.warning{background:#fff;border-top-color:var(--brand-amber)}.kpi-card.warning .kpi-icon{background:#f2b34740;color:var(--brand-amber-dark)}.kpi-card.danger{background:#fff;border-top-color:var(--brand-red)}.kpi-card.danger .kpi-icon{background:#e35a4f38;color:var(--brand-red-dark)}.kpi-card.info{background:#fff;border-top-color:var(--brand-blue)}.kpi-card.info .kpi-icon{background:#3b7dd833;color:var(--brand-blue-dark)}.kpi-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.kpi-icon{width:30px;height:30px;border-radius:8px;background:#8bc83f47;display:flex;align-items:center;justify-content:center;color:#21370b}.kpi-trend{font-size:12px;padding:4px 8px;border-radius:999px;background:#8bc83f38;color:#2f4a10;font-weight:500}.kpi-card .MuiTypography-body2{font-weight:500!important;color:#475569!important;font-size:.78rem}.kpi-link{text-decoration:none;color:inherit;display:block}.kpi-link-fill{height:100%}.kpi-link .kpi-card{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.kpi-link:hover .kpi-card{transform:translateY(-2px);border-color:#0d0a074d;box-shadow:0 14px 24px #0d0a072e}.kpi-link:hover{text-decoration:none}.kpi-value{margin-top:2px;font-weight:500;letter-spacing:-.01em;color:#0f172a;font-size:1.8rem}.kpi-card.compact{min-height:88px;padding:10px 12px;border-radius:8px;border-top-width:3px;gap:3px}.kpi-card.compact .kpi-head{margin-bottom:2px}.kpi-card.compact .kpi-icon{width:30px;height:30px;border-radius:10px}.kpi-card.compact .kpi-value{font-size:1.35rem;line-height:1.1}.chart-card,.table-card,.insights-panel,.settings-card{padding:14px;border-radius:8px;background:#fff;border:1px solid rgba(13,10,7,.14);box-shadow:0 5px 12px #0d0a0714}.community-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-radius:8px;background:#fff;border:1px solid rgba(13,10,7,.14);box-shadow:0 5px 12px #0d0a0714;width:100%}.community-filter-select{min-width:240px}.map-card{padding:18px;border-radius:20px;background:linear-gradient(140deg,var(--map-gradient-start),var(--map-gradient-end));border:1px solid rgba(76,143,232,.2);box-shadow:0 16px 28px #0d0a071f}.map-legend{flex-wrap:wrap}.map-frame{margin-top:14px;height:420px;border-radius:18px;overflow:hidden;border:1px solid rgba(13,10,7,.18);box-shadow:inset 0 0 0 1px rgba(var(--paper-rgb),.7);position:relative}.dashboard-screen-root{min-height:100vh;padding:18px;background:linear-gradient(150deg,#f4f9f2fa,#ebf3fcf0)}.dashboard-screen-root.public{padding:20px}.dashboard-screen-layout{display:flex;flex-direction:column;gap:14px}.dashboard-screen-layout.public{max-width:1800px;margin:0 auto}.dashboard-screen-header-main{min-width:0}.dashboard-screen-promotor-image-wrap{width:54px;height:54px;border-radius:10px;border:1px solid rgba(15,23,42,.14);background:#fff;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.dashboard-screen-promotor-image{width:100%;height:100%;object-fit:cover}.dashboard-screen-weather-float{position:relative;width:78px;height:78px;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none;flex:0 0 auto}.dashboard-screen-weather-icon{font-size:46px!important;filter:drop-shadow(0 4px 14px rgba(15,23,42,.28));z-index:1}.dashboard-screen-weather-partly{position:relative;width:52px;height:48px;z-index:1}.dashboard-screen-weather-mostly-sunny{position:relative;width:54px;height:48px;z-index:1}.dashboard-screen-weather-mostly-sunny-sun{position:absolute;top:-3px;left:-1px;font-size:31px!important;color:#f59e0b;filter:drop-shadow(0 2px 10px rgba(245,158,11,.42));animation:dashboardWeatherSpin 24s linear infinite}.dashboard-screen-weather-mostly-sunny-cloud{position:absolute;right:1px;bottom:1px;font-size:28px!important;color:#94a3b8;filter:drop-shadow(0 3px 8px rgba(15,23,42,.22));animation:dashboardWeatherDrift 3.2s ease-in-out infinite}.dashboard-screen-weather-partly-sun{position:absolute;top:-2px;left:0;font-size:28px!important;color:#f59e0b;filter:drop-shadow(0 2px 10px rgba(245,158,11,.42));animation:dashboardWeatherSpin 24s linear infinite}.dashboard-screen-weather-partly-cloud{position:absolute;right:0;bottom:0;font-size:34px!important;color:#64748b;filter:drop-shadow(0 3px 8px rgba(15,23,42,.24));animation:dashboardWeatherDrift 3.2s ease-in-out infinite}.dashboard-screen-weather-ring{position:absolute;border-radius:999px;border:2px solid rgba(59,130,246,.25)}.dashboard-screen-weather-ring.ring-1{width:58px;height:58px;animation:dashboardWeatherPulse 2.6s ease-in-out infinite}.dashboard-screen-weather-ring.ring-2{width:72px;height:72px;border-color:#3b82f629;animation:dashboardWeatherPulse 3.2s ease-in-out infinite}@keyframes dashboardWeatherPulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.16;transform:scale(1.14)}}.dashboard-screen-weather-temp{margin-top:1px;padding:1px 8px;border-radius:999px;background:#ffffffeb;border:1px solid rgba(15,23,42,.18);font-size:.62rem;font-weight:700;color:#1f2937}.dashboard-screen-weather-float.sunny .dashboard-screen-weather-icon{color:#f59e0b;animation:dashboardWeatherSpin 22s linear infinite}.dashboard-screen-weather-float.mostly_sunny .dashboard-screen-weather-mostly-sunny{animation:dashboardWeatherDrift 3.4s ease-in-out infinite}.dashboard-screen-weather-float.night .dashboard-screen-weather-icon{color:#1d4ed8;animation:dashboardWeatherNight 4.4s ease-in-out infinite}.dashboard-screen-weather-float.cloudy .dashboard-screen-weather-icon,.dashboard-screen-weather-float.fog .dashboard-screen-weather-icon{color:#64748b;animation:dashboardWeatherDrift 3.2s ease-in-out infinite}.dashboard-screen-weather-float.partly .dashboard-screen-weather-partly{animation:dashboardWeatherDrift 3.6s ease-in-out infinite}.dashboard-screen-weather-float.rain .dashboard-screen-weather-icon{color:#0ea5e9;animation:dashboardWeatherRain 1.6s ease-in-out infinite}.dashboard-screen-weather-float.drizzle .dashboard-screen-weather-icon{color:#38bdf8;animation:dashboardWeatherRain 2.2s ease-in-out infinite}.dashboard-screen-weather-float.showers .dashboard-screen-weather-icon{color:#2563eb;animation:dashboardWeatherRain 1.9s ease-in-out infinite}.dashboard-screen-weather-float.freezing_rain .dashboard-screen-weather-icon{color:#60a5fa;animation:dashboardWeatherDrift 2.2s ease-in-out infinite}.dashboard-screen-weather-float.snow .dashboard-screen-weather-icon{color:#60a5fa;animation:dashboardWeatherDrift 2.6s ease-in-out infinite}.dashboard-screen-weather-float.storm .dashboard-screen-weather-icon{color:#f97316;animation:dashboardWeatherStorm 1.1s steps(2,end) infinite}@keyframes dashboardWeatherSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dashboardWeatherDrift{0%,to{transform:translate(0)}50%{transform:translate(6px)}}@keyframes dashboardWeatherRain{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@keyframes dashboardWeatherNight{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes dashboardWeatherStorm{0%,to{opacity:1}50%{opacity:.45}}.dashboard-screen-kpi-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:10px}.dashboard-screen-kpi-item{min-width:0}@media (min-width: 700px){.dashboard-screen-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 980px){.dashboard-screen-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1560px){.dashboard-screen-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.dashboard-screen-header-card{padding:14px 16px;border-radius:10px;border:1px solid rgba(13,10,7,.14);background:#fffffff2;box-shadow:0 8px 16px #0d0a0714}.dashboard-screen-controls{padding:12px;border-radius:10px;border:1px solid rgba(13,10,7,.14);background:#fffffff2}.dashboard-screen-loading,.dashboard-screen-empty{padding:20px;border-radius:10px;border:1px solid rgba(13,10,7,.14);background:#fffffff2;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px}.dashboard-screen-clock{font-size:.78rem}.dashboard-screen-map-card{height:100%}.dashboard-screen-map-frame{height:470px}.dashboard-screen-map-community-list{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;max-height:92px;overflow-y:auto;padding-right:2px}.dashboard-screen-chart-card{height:100%}.dashboard-screen-forecast-compact{margin-top:8px}.dashboard-screen-forecast-day{border:1px solid #e5e7eb;border-radius:10px;padding:10px;background:#f8fafc;height:100%}.dashboard-screen-footer-note{padding:10px 12px;border-radius:10px;border:1px solid rgba(13,10,7,.14);background:#fffffff0}.dashboard-screen-custom-content{padding:12px}.dashboard-screen-custom-content-text{min-height:100%;display:flex;align-items:center}.dashboard-screen-custom-content-image-wrap,.dashboard-screen-custom-content-qr-wrap{min-height:100%;border:1px solid rgba(15,23,42,.12);border-radius:10px;background:#fff;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.dashboard-screen-custom-content-image{width:100%;max-height:180px;object-fit:contain;border-radius:8px}.dashboard-screen-qr-mini{width:46px;height:46px;border-radius:8px;border:1px solid rgba(15,23,42,.14);background:#fff;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.dashboard-screen-qr-mini-image{width:100%;height:100%;object-fit:cover}.dashboard-screen-custom-content-qr{width:min(100%,128px);aspect-ratio:1 / 1;object-fit:contain;border-radius:8px}.dashboard-screen-managed-by{margin-top:10px;padding-top:8px;border-top:1px dashed rgba(15,23,42,.14);display:inline-flex;align-items:center;gap:8px}.dashboard-screen-managed-by-logo{width:16px;height:16px;object-fit:contain;border-radius:4px}@media (max-width: 900px){.dashboard-screen-root,.dashboard-screen-root.public{padding:12px}.dashboard-screen-header-card,.dashboard-screen-controls,.dashboard-screen-footer-note{padding:10px}.dashboard-screen-map-frame{height:340px}.dashboard-screen-weather-float{width:66px;height:66px}.dashboard-screen-weather-icon{font-size:38px!important}.dashboard-screen-weather-ring.ring-1{width:50px;height:50px}.dashboard-screen-weather-ring.ring-2{width:62px;height:62px}.dashboard-screen-layout .kpi-card.compact .kpi-value{font-size:1.35rem}}@media (max-width: 640px){.dashboard-screen-map-frame{height:280px}.dashboard-screen-promotor-image-wrap{width:42px;height:42px;border-radius:8px}.dashboard-screen-qr-mini{width:36px;height:36px;border-radius:7px}.dashboard-screen-clock{font-size:.72rem}.dashboard-screen-map-label{max-width:150px;font-size:.66rem;padding:2px 6px}.dashboard-screen-layout .kpi-card.compact .kpi-value{font-size:1.2rem}}.dashboard-screen-layout .kpi-card.compact .kpi-trend{font-size:.95rem;font-weight:700;padding:5px 10px;border-radius:999px;line-height:1}.dashboard-screen-layout .kpi-card.compact .MuiTypography-caption{font-size:.8rem;font-weight:600;color:#334155}.dashboard-screen-layout .kpi-card.compact .kpi-value{font-size:1.55rem;font-weight:700}.dashboard-screen-map-label{background:#fffffff5;border:1px solid rgba(13,10,7,.2);border-radius:999px;color:#1f2937;font-weight:600;font-size:.72rem;line-height:1.15;padding:3px 8px;box-shadow:0 2px 8px #0f172a2e;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-frame .leaflet-container{height:100%;width:100%}.requests-map-card{padding:14px;border-radius:8px;background:#fff;border:1px solid rgba(13,10,7,.14);box-shadow:0 5px 12px #0d0a0714}.requests-map-frame{height:460px;border-radius:8px;border:1px solid rgba(13,10,7,.14);box-shadow:inset 0 0 0 1px rgba(var(--paper-rgb),.7)}.tools-map-widget .requests-map-frame{height:620px}.requests-radius-select{min-width:96px}.tools-map-widget .tools-map-controls .MuiInputBase-root{min-height:38px}.installation-map-marker{display:flex;align-items:center;justify-content:center}.installation-map-marker__dot{width:28px;height:28px;border-radius:50%;background:#1f4e96;border:2px solid #ffffff;box-shadow:0 4px 10px #00000047;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.custom-installation-map-marker{display:flex;align-items:center;justify-content:center}.custom-installation-map-marker__dot{width:28px;height:28px;border-radius:50%;background:#0f766e;border:2px solid #ffffff;box-shadow:0 4px 10px #00000047;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.onboarding-map-marker{display:flex;align-items:center;justify-content:center}.onboarding-map-marker__dot{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid #ffffff;box-shadow:0 3px 8px #0000003d}.onboarding-map-marker--tools .onboarding-map-marker__dot{width:26px;height:26px;border-width:2.4px;box-shadow:0 4px 10px #00000047}.onboarding-map-marker__dot--inside{background:#4f9f35}.onboarding-map-marker__dot--outside{background:#d43737}.map-empty{margin-top:12px}.map-tooltip,.map-popup{font-size:12px;line-height:1.4}.map-badge-row{display:flex;gap:6px;margin:6px 0}.map-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.3px}.map-badge--ok{background:#8bc83f33;color:#2f4a10}.map-badge--warning{background:#d9a23a33;color:#7a4d14}.map-badge--danger{background:#ef5d5233;color:#7a1f19}.map-marker{width:100%;height:100%;position:relative;overflow:visible;line-height:0}.map-marker.leaflet-div-icon{background:transparent!important;border:none!important}.map-marker__dot{display:block;box-sizing:border-box;width:14px;height:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:2px solid #ffffff;box-shadow:0 1px 6px #00000073;z-index:2}.map-marker--expanded .map-marker__dot{width:19px;height:19px;border-width:2px;box-shadow:0 2px 8px #00000073}.map-marker--ok .map-marker__dot{background:var(--brand-green)}.map-marker--warning .map-marker__dot{background:var(--brand-amber)}.map-marker--danger .map-marker__dot{background:var(--brand-red)}.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:rgba(var(--paper-rgb),.92);border:1px solid rgba(13,10,7,.2);box-shadow:0 10px 20px #0d0a0738}.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:linear-gradient(135deg,#8bc83f99,#4c8fe899);color:#1b2016;font-weight:600}.legacy-community-mini-banner{padding:10px 14px;border-radius:8px;background:#fff;border:1px solid rgba(13,10,7,.16);box-shadow:0 4px 10px #0d0a070f}.legacy-community-mini-banner .MuiTypography-h6{font-size:1.04rem;line-height:1.2;color:#08224a;font-weight:700}.legacy-community-header{padding:14px;border-radius:8px;background:#fff;border:1px solid rgba(13,10,7,.16);box-shadow:0 4px 10px #0d0a070f}.legacy-community-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.legacy-community-title-wrap{display:flex;align-items:flex-start;gap:8px}.legacy-community-title-wrap .MuiSvgIcon-root{color:var(--brand-blue-dark);margin-top:2px}.legacy-community-status-wrap{display:flex;align-items:center;justify-content:flex-end}.legacy-community-meta-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.legacy-community-meta-item{padding:8px 9px;border-radius:6px;background:#f6f8fb;border:1px solid rgba(13,10,7,.11);min-width:0}.legacy-community-meta-item .MuiTypography-caption{color:#3f4e63;font-weight:600;display:block;font-size:.73rem;text-transform:none}.legacy-community-meta-item a,.legacy-community-meta-item .MuiTypography-body2{display:inline-block;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.legacy-table-card{border-radius:10px;border:1px solid #c9d3e0;box-shadow:0 8px 16px #0d0a071a;overflow:hidden}.legacy-table-card .table-header{margin:-14px -14px 0;padding:10px 14px;background:linear-gradient(180deg,#f8fafd,#eef3fa);border-bottom:1px solid #d6dfeb}.legacy-table-card .table-header .MuiTypography-subtitle1{font-size:.9rem;font-weight:700;color:#0f172a}.legacy-table-card .table-actions{gap:6px}.legacy-table-card table{background:#fff}.legacy-table-card thead th{background:#e8eef7;color:#334155;font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;border-right:1px solid #d6dfeb;border-bottom:1px solid #c6d2e3}.legacy-table-card thead th .MuiTableSortLabel-root{font-weight:700;color:inherit}.legacy-table-card thead th .MuiTableSortLabel-icon{color:#64748b!important}.legacy-table-card .table-filter-row td{background:#f3f7fc;border-bottom:1px solid #d6dfeb}.legacy-table-card .table-filter-row .MuiInputBase-root{background:#fff;border:1px solid #cbd5e1;border-radius:8px}.legacy-table-card tbody td{color:#0f172a;font-size:.81rem;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.legacy-table-card tbody tr:nth-of-type(2n){background:#f8fafc}.legacy-table-card tbody tr:hover{background:#edf3ff}.legacy-table-card--compact thead th{font-size:.7rem;padding-top:6px;padding-bottom:6px}.legacy-table-card--compact tbody td{font-size:.77rem;padding-top:5px;padding-bottom:5px}.legacy-table-card thead th:last-child,.legacy-table-card tbody td:last-child{border-right:none}.legacy-table-card .status-chip{font-size:.68rem;font-weight:600;height:20px}.legacy-table-card .table-link-client{font-weight:700;text-decoration:none}.legacy-performance-summary{display:flex;flex-wrap:wrap;gap:8px}.legacy-performance-kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:4px;margin-bottom:10px}.legacy-performance-kpi-card{padding:10px 12px;border-radius:8px;border:1px solid #cfd7e3;background:#f8fafc}.legacy-performance-kpi-card.total{background:linear-gradient(180deg,#ecfdf3,#e2f8ea);border-color:#a7e3bb}.legacy-performance-kpi-card.billing{background:linear-gradient(180deg,#f6f8fc,#eef2f9);border-color:#cfd7e3}.legacy-performance-kpi-card.auto{background:linear-gradient(180deg,#edf5ff,#e4eefc);border-color:#b7d1f3}.legacy-performance-kpi-card.coverage{background:linear-gradient(180deg,#fff8e8,#fdf0cf);border-color:#f0d28e}.legacy-performance-kpi-label{display:block;font-size:.68rem;letter-spacing:.03em;text-transform:uppercase;color:#475569;font-weight:700}.legacy-performance-kpi-value{margin-top:2px;font-size:1rem;font-weight:700;color:#0f172a}.legacy-autoconsum-cell{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;min-width:132px}.legacy-autoconsum-value{min-width:44px;text-align:right;font-size:.75rem;font-weight:700;color:#245214}.legacy-autoconsum-track{width:76px;height:8px;border-radius:999px;border:1px solid #c6d2e3;background:#e8eef7;overflow:hidden}.legacy-autoconsum-fill{height:100%;background:linear-gradient(90deg,#8bc83f,#5e9f22)}.community-list-surface{padding:12px 14px;border-radius:14px;background:linear-gradient(150deg,rgba(var(--paper-rgb),.97),#e9f2eaeb);border:1px solid rgba(13,10,7,.14);box-shadow:0 10px 18px #0d0a0714}.legacy-community-list-card{display:block;padding:12px;border-radius:8px;border:1px solid rgba(13,10,7,.16);background:#fff;box-shadow:0 4px 10px #0d0a070f;color:var(--brand-ink);text-decoration:none;transition:transform .18s ease,box-shadow .2s ease,border-color .2s ease}.legacy-community-list-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0d0a071a;border-color:#0d0a073d;text-decoration:none}.legacy-community-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:4px}.legacy-community-gen{display:inline-flex;align-items:center;gap:4px;font-size:.76rem;font-weight:600;border-radius:999px;padding:3px 8px;border:1px solid transparent}.legacy-community-gen--ok{color:#166534;background:#dcfce7;border-color:#86efac}.legacy-community-gen--warning{color:#92400e;background:#fef3c7;border-color:#fcd34d}.legacy-community-gen--danger{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.legacy-community-list-grid{margin-top:8px;display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.legacy-community-list-grid .MuiTypography-caption{color:#3f4e63;font-weight:600;display:block;font-size:.72rem}.legacy-community-list-grid .MuiTypography-body2{font-size:.82rem}.community-profile-card{padding:14px;border-radius:16px;background:linear-gradient(145deg,rgba(var(--paper-rgb),.98),#ecf8e8e6);border:1px solid rgba(139,200,63,.3);box-shadow:0 16px 28px #0d0a071a}.community-profile-compact-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.community-profile-compact-title{display:flex;align-items:flex-start;gap:8px}.community-profile-compact-title .MuiSvgIcon-root{color:var(--brand-blue-dark);margin-top:2px}.community-profile-compact-status{text-align:right}.community-status-text{font-weight:600}.community-status-text.is-ok{color:#2f4a10}.community-status-text.is-error{color:#7a1f19}.community-profile-address,.community-profile-tags{margin-top:4px}.community-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.community-profile-item{padding:10px 12px;border-radius:12px;background:rgba(var(--paper-rgb),.9);border:1px solid rgba(13,10,7,.1);box-shadow:0 8px 16px #0d0a070f}.community-profile-grid.compact{gap:8px;grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.community-profile-item.compact{padding:8px 10px;border-radius:10px;box-shadow:none}.legacy-insight-card{padding:14px 16px;border-radius:10px;border:1px solid #d4dbe6;background:#fff;box-shadow:0 2px 8px #0f172a0f}.legacy-insight-head{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.legacy-insight-head.with-actions{flex-direction:row;justify-content:space-between;align-items:center;gap:10px}.legacy-insight-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.legacy-insight-metrics-grid.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.legacy-metric-card{border-radius:8px;border:1px solid #d9e1ec;padding:9px 11px;background:#f8fafc}.legacy-metric-card.total{border-color:#8ed9a2;background:#ecfff1}.legacy-metric-card.auto{border-color:#c2e985;background:#f4ffe7}.legacy-metric-card.excedent{border-color:#95d6f3;background:#eaf7ff}.legacy-metric-card .MuiTypography-caption{display:block;font-weight:600;color:#4b5563}.legacy-metric-card .MuiTypography-h6{font-size:1.28rem;font-weight:700;color:#0f172a;line-height:1.2}.legacy-insight-donut-wrap{background:#f8fafc;border:1px solid #d9e1ec;border-radius:8px;margin-bottom:10px}.legacy-insight-summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}.legacy-insight-summary-row>div{border:1px solid #d9e1ec;border-radius:8px;background:#f9fbff;padding:8px 10px}.legacy-insight-summary-row .MuiTypography-caption{display:block;font-weight:600}@media (max-width: 900px){.legacy-insight-metrics-grid,.legacy-insight-summary-row{grid-template-columns:1fr}}.savings-panel{padding:20px;border-radius:18px;background:linear-gradient(140deg,#8bc83f29,rgba(var(--paper-rgb),.98));border:1px solid rgba(139,200,63,.28);box-shadow:0 10px 20px #0d0a071a;height:100%}.savings-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid rgba(13,10,7,.1)}.savings-controls{align-items:center;flex-wrap:wrap}.savings-summary{padding:16px;border-radius:12px;background:linear-gradient(140deg,rgba(var(--paper-rgb),.98),#f1f8e8e6);border:1px solid rgba(139,200,63,.22);display:flex;flex-direction:column;gap:12px;min-height:100%}.savings-community{display:flex;flex-direction:column;gap:4px}.savings-metrics{display:grid;gap:8px}.savings-metric{border-radius:10px;border:1px solid rgba(13,10,7,.12);background:rgba(var(--paper-rgb),.92);padding:8px 10px;display:flex;justify-content:space-between;align-items:center}.savings-chart{background:rgba(var(--paper-rgb),.98);border-radius:12px;border:1px solid rgba(139,200,63,.18);padding:16px}.consumption-panel{padding:20px;border-radius:18px;background:linear-gradient(140deg,#8bc83f29,rgba(var(--paper-rgb),.98));border:1px solid rgba(139,200,63,.28);box-shadow:0 10px 20px #0d0a071a;height:100%}.billing-panel{padding:20px;border-radius:18px;background:linear-gradient(140deg,#8bc83f29,rgba(var(--paper-rgb),.98));border:1px solid rgba(139,200,63,.26);box-shadow:0 10px 20px #0d0a071a}.billing-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.billing-controls{align-items:center;flex-wrap:wrap}.billing-summary{padding:16px;border-radius:12px;background:linear-gradient(140deg,rgba(var(--paper-rgb),.98),#e3f2e4eb);border:1px solid rgba(139,200,63,.22);display:flex;flex-direction:column;gap:12px;min-height:100%}.billing-metrics{display:grid;gap:8px}.billing-metric{border-radius:10px;border:1px solid rgba(13,10,7,.12);background:rgba(var(--paper-rgb),.92);padding:8px 10px;display:flex;justify-content:space-between;align-items:center}.billing-chart{background:rgba(var(--paper-rgb),.98);border-radius:12px;border:1px solid rgba(139,200,63,.2);padding:16px}.consumption-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid rgba(13,10,7,.1)}.consumption-controls{align-items:center;flex-wrap:wrap}.consumption-summary{padding:16px;border-radius:12px;background:linear-gradient(140deg,rgba(var(--paper-rgb),.98),#f1f8e8e6);border:1px solid rgba(139,200,63,.22);display:flex;flex-direction:column;gap:12px;min-height:100%}.consumption-metrics{gap:10px}.consumption-share{border-radius:10px;border:1px solid rgba(13,10,7,.12);background:rgba(var(--paper-rgb),.92);padding:8px 10px}.consumption-metric{border-radius:10px;border:1px solid rgba(13,10,7,.12);background:rgba(var(--paper-rgb),.92);padding:8px 10px;display:flex;justify-content:space-between;align-items:center}.consumption-chart{background:rgba(var(--paper-rgb),.98);border-radius:12px;border:1px solid rgba(139,200,63,.18);padding:16px}.savings-controls .MuiOutlinedInput-root,.consumption-controls .MuiOutlinedInput-root,.billing-controls .MuiOutlinedInput-root,.savings-controls .MuiToggleButtonGroup-root,.consumption-controls .MuiToggleButtonGroup-root,.billing-controls .MuiToggleButtonGroup-root{border-radius:10px;background:rgba(var(--paper-rgb),.95)}.savings-controls .MuiToggleButton-root,.consumption-controls .MuiToggleButton-root,.billing-controls .MuiToggleButton-root{border-color:#0d0a0724;color:#101828e6;font-size:.76rem;font-weight:600;line-height:1;padding:6px 10px}.savings-controls .MuiToggleButton-root.Mui-selected,.consumption-controls .MuiToggleButton-root.Mui-selected,.billing-controls .MuiToggleButton-root.Mui-selected{color:#20421f;background:#8bc83f33}.community-energy-widget{display:flex;flex-direction:column;gap:10px}.community-energy-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.community-energy-filter-row{align-items:center}.community-energy-presets{flex-wrap:wrap}.community-energy-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.community-energy-metric{min-width:0;overflow:hidden;border-radius:12px;border:1px solid rgba(13,10,7,.12);background:rgba(var(--paper-rgb),.9);padding:10px 12px;display:flex;flex-direction:column;gap:2px}.community-energy-metric .MuiTypography-subtitle1,.community-energy-metric .MuiTypography-h6,.community-energy-metric .MuiTypography-h5{line-height:1.2;overflow-wrap:anywhere;word-break:break-word}.community-energy-metric.auto{border-color:#8bc83f59;background:linear-gradient(140deg,#8bc83f1f,rgba(var(--paper-rgb),.9))}.community-energy-metric.excedent{border-color:#3b7dd859;background:linear-gradient(140deg,#3b7dd81f,rgba(var(--paper-rgb),.9))}.community-energy-metric.danger .MuiTypography-subtitle1,.community-energy-metric.danger .MuiTypography-h6,.community-energy-metric.danger .MuiTypography-h5{color:#b42318;font-weight:800}.community-energy-chart{margin-top:2px}@media (max-width: 900px){.community-energy-metrics{grid-template-columns:1fr}}.error-types-card{padding:14px;border-radius:8px;background:#fff;border:1px solid rgba(13,10,7,.14);box-shadow:0 5px 12px #0d0a0714}.error-type-grid{padding:18px;border-radius:18px;background:linear-gradient(160deg,rgba(var(--paper-rgb),.98),#e5f0e8e6);border:1px solid rgba(13,10,7,.14)}.error-type-grid-content{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.error-type-card{padding:14px;border-radius:16px;border:1px solid rgba(13,10,7,.16);background:rgba(var(--paper-rgb),.94);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.error-type-card.severity-high{border-left:4px solid var(--brand-red);background:linear-gradient(135deg,#e35a4f24,rgba(var(--paper-rgb),.94))}.error-type-card.severity-medium{border-left:4px solid var(--brand-amber);background:linear-gradient(135deg,#f2b3471f,rgba(var(--paper-rgb),.94))}.error-type-card.severity-low{border-left:4px solid var(--brand-blue);background:linear-gradient(135deg,#3b7dd81f,rgba(var(--paper-rgb),.94))}.error-type-card:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0d0a071a}.error-type-card.active{box-shadow:0 12px 24px #0d0a071f;transform:translateY(-2px)}.error-type-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.community-meta{display:flex;flex-wrap:wrap;gap:8px}.status-chip{border-radius:999px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;font-size:.7rem;font-weight:500;height:22px}.status-chip.ok{background:#dcfce7;color:#166534;border-color:#86efac}.status-chip.warning{background:#fef3c7;color:#92400e;border-color:#fcd34d}.status-chip.danger{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.status-chip.info{background:#dbeafe;color:#1e40af;border-color:#93c5fd}.error-type-count{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:4px 10px;border-radius:999px;font-weight:600;font-size:.85rem;border:1px solid rgba(13,10,7,.08);background:rgba(var(--paper-rgb),.85)}.error-type-footer{display:flex;align-items:center;justify-content:space-between}.severity-high{border-color:#e35a4f73;background:#e35a4f1f}.severity-medium{border-color:#f2b34780;background:#f2b34724}.severity-low{border-color:#3b7dd859;background:#3b7dd81f}.error-chip{border-radius:999px;font-weight:500}.error-chip.severity-high{background:#e35a4f2e;color:#7a1f19}.error-chip.severity-medium{background:#f2b34733;color:#7a4d14}.error-chip.severity-low{background:#3b7dd82e;color:#1c3f7a}.errors-summary{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.errors-summary-item{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:12px;border-radius:14px;border:1px solid rgba(13,10,7,.1);background:rgba(var(--paper-rgb),.88);box-shadow:0 8px 18px #0d0a0714}.errors-summary-item.summary-neutral{border-left:4px solid rgba(13,10,7,.2)}.errors-summary-item.summary-danger{border-left:4px solid var(--brand-red);background:#e35a4f1a}.errors-summary-item.summary-ok{border-left:4px solid var(--brand-green);background:#a0cc341f}.errors-summary-item.summary-warning{border-left:4px solid var(--brand-amber);background:#f2b3471f}.error-type-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;border:1px solid rgba(13,10,7,.08);background:#a0cc3414}.error-type-body{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;width:100%}.error-type-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.error-action-hint{display:block;margin-top:3px;font-style:italic;color:var(--text-secondary, rgba(0,0,0,.55))}.error-type-link{color:inherit;text-decoration:none}.error-type-link:hover{text-decoration:none}.error-type-link .error-type-item{transition:transform .2s ease,box-shadow .2s ease}.error-type-link:hover .error-type-item{transform:translateY(-1px);box-shadow:0 10px 20px #0d0a071f}.error-type-item.severity-high{border-left:4px solid var(--brand-red);background:#e35a4f14}.error-type-item.severity-medium{border-left:4px solid var(--brand-amber);background:#f2b3471a}.error-type-item.severity-low{border-left:4px solid var(--brand-blue);background:#3b7dd814}.error-count{min-width:72px;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex-shrink:0}.chart-header,.table-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.table-header-extra{margin-bottom:10px}.chart-loading,.table-loading,.panel-loading,.kpi-loading{display:flex;align-items:center;justify-content:center;min-height:120px}.kpi-loading{min-height:44px;justify-content:flex-start}.chart-actions,.table-actions{display:flex;gap:8px;align-items:center}.chart-footer{margin-top:12px}.weather-footer{display:flex;flex-direction:column;gap:12px;padding-top:6px;border-top:1px dashed rgba(13,10,7,.12)}.weather-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.weather-strip{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.weather-card{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:14px;border:1px solid rgba(13,10,7,.08);background:rgba(var(--paper-rgb),.85)}.weather-icon{color:var(--brand-amber)}.weather-icon--clear{color:#f6b73c}.weather-icon--partly{color:#f2c14e}.weather-icon--cloudy{color:#7b8794}.weather-icon--fog{color:#94a3b8}.weather-icon--rain{color:#3b82f6}.weather-icon--snow{color:#60a5fa}.weather-icon--storm{color:#7c3aed}.weather-row{display:flex;align-items:center;gap:6px}.weather-energy-icon{color:var(--brand-amber-dark)}.weather-tooltip{display:inline-flex;align-items:center;gap:6px}.weather-info-icon{color:var(--brand-muted);font-size:14px}.community-forecast-days{display:flex;flex-wrap:nowrap;gap:8px;margin-bottom:8px;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;scroll-snap-type:x proximity}.community-forecast-day-card{border:1px solid rgba(13,10,7,.12);border-radius:8px;background:#ffffffeb;padding:8px;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:170px;flex:0 0 calc((100% - 48px) / 7);max-width:calc((100% - 48px) / 7);scroll-snap-align:start}.community-forecast-day-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px}.community-forecast-day-icon.sunny{color:#f59e0b;background:#f59e0b24}.community-forecast-day-icon.partly,.community-forecast-day-icon.mostly_sunny,.community-forecast-day-icon.cloudy,.community-forecast-day-icon.fog{color:#64748b;background:#64748b24}.community-forecast-day-icon.rain{color:#0ea5e9;background:#0ea5e924}.community-forecast-day-icon.drizzle,.community-forecast-day-icon.showers,.community-forecast-day-icon.freezing_rain{color:#2563eb;background:#2563eb24}.community-forecast-day-icon.snow{color:#3b82f6;background:#3b82f61f}.community-forecast-day-icon.storm{color:#f97316;background:#f9731624}.community-forecast-day-icon.night{color:#1d4ed8;background:#1d4ed81f}.community-forecast-icon-combo{position:relative;width:22px;height:18px}.community-forecast-icon-sun{position:absolute;top:-3px;left:-2px;color:#f59e0b}.community-forecast-icon-cloud{position:absolute;right:-3px;bottom:-1px;color:#64748b}.community-forecast-icon-cloud-sm{position:absolute;right:-1px;bottom:0;color:#94a3b8}.table-card table{background:transparent}.table-card thead th{background:#f2f5f9;font-weight:600;border-bottom:1px solid rgba(13,10,7,.24);color:#1d2b40;text-transform:uppercase;font-size:.76rem;letter-spacing:.02em}.table-card .MuiTableCell-stickyHeader{z-index:4}.table-filter-row td{background:rgba(var(--paper-rgb),.95);border-bottom:1px solid rgba(13,10,7,.16)}.table-filter-row .MuiTableCell-root{position:static!important}.table-filter-row .MuiInputBase-root{background:#e6f0e7e6;border-radius:10px}.table-card tbody td{border-bottom:1px solid rgba(13,10,7,.15);color:#1c2a3f;font-size:.83rem}.table-row td:first-child{border-left:4px solid transparent}.table-row--danger{background:#ef5d5214}.table-row--danger td:first-child{border-left-color:var(--brand-red)}.table-row--warning{background:#d9a23a1f}.table-row--warning td:first-child{border-left-color:var(--brand-amber)}.table-row--info{background:#4c8fe814}.table-row--info td:first-child{border-left-color:var(--brand-blue)}.table-row--ok{background:#8bc83f14}.table-row--ok td:first-child{border-left-color:var(--brand-green)}.agreement-kpi-card{padding:10px 12px;border-radius:10px;border:1px solid rgba(13,10,7,.14);background:rgba(var(--paper-rgb),.94);display:flex;flex-direction:column;gap:6px;min-height:84px}.agreement-kpi-card.warning{background:#d9a23a1a;border-color:#d9a23a47}.agreement-kpi-card.ok{background:#8bc83f1a;border-color:#8bc83f4d}.agreement-cache-chip{background:rgba(var(--paper-rgb),.9);border:1px solid rgba(13,10,7,.16)}.agreement-cache-chip.ok{background:#8bc83f24;border-color:#8bc83f73}.agreement-cache-chip.warning{background:#d9a23a24;border-color:#d9a23a73}.table-link{color:#184a0f;font-weight:600}.table-link:hover{color:#0f320a}.table-link-client{color:#1d4ed8;font-weight:600}.table-link-client:hover{color:#1e40af}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,380px) 1fr;grid-template-rows:1fr auto;column-gap:40px;row-gap:0;padding:48px 48px 0;align-items:center}.login-hero{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;align-self:center}.login-hero-title{font-size:clamp(1.6rem,2.2vw,2.4rem)!important;font-weight:500!important;line-height:1.1!important}.login-hero-subtitle{font-size:.95rem!important;margin-top:0!important}.login-card{grid-column:2;grid-row:1;align-self:center;justify-self:end;width:100%;max-width:950px;padding:28px 32px;border-radius:24px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(160deg,rgba(var(--paper-rgb),.98),#e5f1e7f0);border:1px solid rgba(13,10,7,.16);box-shadow:0 18px 30px #0d0a0729}.login-info{grid-column:1 / -1;grid-row:2;display:flex;flex-wrap:wrap;gap:32px;justify-content:flex-start;width:100%;padding:24px 0 32px;margin-top:32px;border-top:1px solid rgba(13,10,7,.1)}.login-info-item{display:flex;align-items:flex-start;gap:8px;min-width:280px;flex:1}.login-form{display:flex;flex-direction:column;gap:12px;margin-top:12px}.login-card-title{font-size:1.6rem!important;font-weight:500!important;line-height:1.1!important;margin-top:4px!important}.login-card-subtitle{font-size:.9rem!important;margin-top:-2px!important}.login-card .MuiTextField-root .MuiInputBase-root{min-height:42px}.login-card .MuiButton-root{min-height:40px;font-size:.9rem;font-weight:500}@media (max-width: 1100px){.login-page{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:20px;padding:28px 20px 0}.login-hero{grid-column:1;grid-row:1;flex-direction:column;align-items:flex-start;gap:4px}.login-hero-subtitle{white-space:normal}.login-card{grid-column:1;grid-row:2;align-self:stretch;justify-self:stretch;max-width:none}.login-info{grid-column:1 / -1;grid-row:3;margin-top:16px;padding-bottom:24px}}.cookie-banner{position:fixed;bottom:24px;right:24px;max-width:320px;padding:18px;border-radius:18px;background:var(--brand-paper);border:1px solid var(--brand-border);box-shadow:0 18px 30px #0d0a071f;display:flex;flex-direction:column;gap:12px;z-index:20}.insights-panel{display:flex;flex-direction:column;gap:12px}.insights-list{display:grid;gap:12px}.insight-card{padding:12px;border-radius:14px;background:#8bc83f2e;border:1px solid rgba(139,200,63,.32)}.tab-panel{display:flex;flex-direction:column;gap:20px;min-width:0}.tab-strip{background:#fff;border:1px solid rgba(13,10,7,.14);border-radius:8px;padding:2px 6px;min-height:42px}.tab-strip .MuiTabs-indicator{height:3px;border-radius:3px;background:#8bc83f}.tab-strip .MuiTab-root.legacy-tab{min-height:36px;text-transform:none;font-size:.76rem;font-weight:500;color:#475569}.tab-strip .MuiTab-root.legacy-tab.Mui-selected{color:#1f3d12}.community-insights-panel{padding:16px;border-radius:18px;background:linear-gradient(150deg,rgba(var(--paper-rgb),.98),#e1f1e2eb);border:1px solid rgba(13,10,7,.16);box-shadow:0 14px 22px #0d0a071f;display:flex;flex-direction:column;gap:12px}.community-insights-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.community-insights-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.community-insights-column,.community-insights-list{display:flex;flex-direction:column;gap:8px}.community-insights-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:rgba(var(--paper-rgb),.94);border:1px solid rgba(13,10,7,.14)}.community-insights-item.top{border-left:4px solid var(--brand-green)}.community-insights-item.low{border-left:4px solid var(--brand-amber)}.community-insights-value{text-align:right}.community-insights-meta{display:block;color:var(--brand-muted)}.community-insights-delta{display:block;font-weight:500}.community-insights-delta.positive{color:#2f4a10}.community-insights-delta.negative{color:#7a1f19}@media (max-width: 1000px){.app-shell{flex-direction:column;padding:16px}.sidebar{width:100%;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.sidebar-nav{flex-direction:row;flex-wrap:wrap}.sidebar-user-block{width:100%;margin-top:8px}.legacy-performance-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.topbar-mobile-menu{display:flex;justify-content:flex-start}}@media (max-width: 720px){.app-shell{padding:10px;gap:10px}.app-main,.app-content,.page-grid,.tab-panel{gap:14px}.section-header{flex-direction:column;align-items:flex-start;gap:8px}.topbar{flex-direction:column;align-items:stretch}.topbar-actions{justify-content:flex-end}.language-switcher{min-width:0;width:auto;justify-content:flex-end}.language-switcher-label{display:none}.user-menu{flex:1;margin-left:0;padding-left:0;border-left:0;border-top:1px solid rgba(13,10,7,.14);padding-top:8px}.user-menu-email{max-width:160px}.community-filter-bar{flex-direction:column;align-items:stretch}.community-filter-select{width:100%}.legacy-performance-kpi-strip{grid-template-columns:1fr}.tab-strip{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-strip .MuiTabs-scroller{overflow-x:auto!important}.tab-strip .MuiTabs-flexContainer{flex-wrap:nowrap;min-width:max-content}.tab-strip .MuiTab-root.legacy-tab{min-width:120px;padding-left:10px;padding-right:10px}.table-card,.legacy-table-card{border-radius:10px}.table-card thead th,.legacy-table-card thead th{font-size:.68rem;padding:8px 6px}.table-card tbody td,.legacy-table-card tbody td{font-size:.76rem;padding:7px 6px}.table-card .MuiTablePagination-toolbar,.legacy-table-card .MuiTablePagination-toolbar{min-height:44px;padding-left:6px;padding-right:6px}.table-card .MuiTablePagination-selectLabel,.table-card .MuiTablePagination-displayedRows,.legacy-table-card .MuiTablePagination-selectLabel,.legacy-table-card .MuiTablePagination-displayedRows{font-size:.74rem;margin:0 6px 0 0}.dashboard-screen-root,.dashboard-screen-root.public{padding:8px}.dashboard-screen-layout,.dashboard-screen-layout.public{gap:10px}.dashboard-screen-map-card,.dashboard-screen-chart-card,.dashboard-screen-header-card{border-radius:10px}.community-forecast-day-card{min-width:150px;flex:0 0 150px;max-width:150px}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(.6);opacity:.35}70%{transform:scale(1.4);opacity:0}to{transform:scale(1.4);opacity:0}}
