.App{width:100%;min-height:100vh;background:var(--bg-page);color:var(--text-primary);transition:background .3s ease,color .3s ease;--bg-page: #f5f7fa;--bg-card: #ffffff;--bg-card-inner: #f8fafc;--bg-input: #f9f9f9;--bg-input-focus: #ffffff;--bg-table-head: #f8f9fa;--bg-table-hover: #f8f9fa;--bg-breadcrumb: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);--border-light: #e0e0e0;--border-medium: #e2e8f0;--border-card: #e5e7eb;--border-table: #dee2e6;--text-primary: #212529;--text-secondary: #495057;--text-muted: #6c757d;--text-heading: #333;--text-label: #374151;--text-value: #111827;--shadow-card: 0 4px 16px rgba(0, 0, 0, .08);--shadow-card-hover: 0 8px 24px rgba(0, 0, 0, .12);--tooltip-bg: rgba(255, 255, 255, .98);--tooltip-border: #e5e7eb;--tooltip-text: #111827;--tooltip-muted: #6b7280}.App.dark{--bg-page: #0f172a;--bg-card: #1e293b;--bg-card-inner: #334155;--bg-input: #334155;--bg-input-focus: #475569;--bg-table-head: #334155;--bg-table-hover: #334155;--bg-breadcrumb: linear-gradient(135deg, #1e293b 0%, #334155 100%);--border-light: #475569;--border-medium: #475569;--border-card: #475569;--border-table: #475569;--text-primary: #e2e8f0;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-heading: #f1f5f9;--text-label: #cbd5e1;--text-value: #f1f5f9;--shadow-card: 0 4px 16px rgba(0, 0, 0, .3);--shadow-card-hover: 0 8px 24px rgba(0, 0, 0, .4);--tooltip-bg: rgba(30, 41, 59, .98);--tooltip-border: #475569;--tooltip-text: #f1f5f9;--tooltip-muted: #94a3b8}.dashboard{padding:2rem 0;position:relative;z-index:1}.dashboard-container{max-width:1400px;margin:0 auto;padding:0 2rem;position:relative}.table-container{background:var(--bg-card);border-radius:16px;padding:2rem;box-shadow:var(--shadow-card);margin-top:2rem;transition:background .3s ease,box-shadow .3s ease}.table-container:hover{box-shadow:var(--shadow-card-hover)}.table-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:1.5rem;padding:.5rem 0}.table-header:hover .table-title{color:#097ec6}.table-title{font-size:1.5rem;font-weight:600;color:var(--text-heading);margin:0;transition:color .3s ease}.expand-button{background:#097ec6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #097ec64d}.expand-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #097ec666}.table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.95rem}.data-table thead{background:var(--bg-table-head);position:sticky;top:0;z-index:10}.data-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:2px solid var(--border-table);white-space:nowrap}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s ease}.data-table th.sortable:hover{background:var(--bg-table-hover)}.data-table th.number{text-align:right}.data-table td{padding:1rem;border-bottom:1px solid var(--border-table);color:var(--text-secondary)}.data-table td.number{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.data-table tbody tr{transition:background .2s ease}.data-table tbody tr:hover{background:var(--bg-table-hover)}.level-badge{display:inline-block;padding:.25rem .75rem;background:#590099;color:#fff;border-radius:20px;font-size:.85rem;font-weight:600;box-shadow:0 2px 4px #59009933;transition:all .2s ease}.level-badge:hover{transform:scale(1.05);box-shadow:0 3px 6px #5900994d}.location-cell{font-weight:500;color:var(--text-primary)}.remarks-cell{color:var(--text-muted);font-style:italic}@media (max-width: 768px){.dashboard-container{padding:0 1rem}.table-container{padding:1rem}.data-table{font-size:.85rem}.data-table th,.data-table td{padding:.75rem .5rem}}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:var(--bg-card);border-radius:16px;padding:1.75rem;box-shadow:var(--shadow-card);border-top:5px solid;transition:all .3s ease;position:relative;overflow:hidden}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.5) 100%);opacity:0;transition:opacity .3s ease}.summary-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover)}.summary-card:hover:before{opacity:1}.card-header{margin-bottom:1rem}.card-title{font-size:1rem;font-weight:600;color:var(--text-muted);margin:0;text-transform:uppercase;letter-spacing:.5px}.card-value{font-size:2rem;font-weight:800;color:var(--text-value);margin-bottom:.5rem;position:relative;z-index:1}.card-unit{font-size:1rem;color:var(--text-muted);font-weight:500}.card-subtitle{font-size:.9rem;color:var(--text-muted)}.card-trend{display:flex;align-items:center;gap:.4rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-card);font-size:.85rem}.trend-arrow{font-size:1.1rem;font-weight:700}.trend-value{font-weight:600}.trend-label{color:var(--text-muted)}.trend-up{color:#dc3545}.trend-down{color:#28a745}.trend-neutral{color:var(--text-muted)}@media (max-width: 768px){.summary-cards{grid-template-columns:1fr}.card-value{font-size:1.75rem}}.chart-container{background:var(--bg-card);border-radius:16px;padding:2.5rem;box-shadow:var(--shadow-card);margin-top:2rem;transition:background .3s ease,box-shadow .3s ease}.chart-container:hover{box-shadow:var(--shadow-card-hover)}.chart-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem}.chart-title{font-size:1.75rem;font-weight:700;color:#097ec6;margin:0}.back-button{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:linear-gradient(135deg,#097ec6,#0a5a8c);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #097ec64d}.back-button:hover{background:linear-gradient(135deg,#0a8de0,#097ec6);transform:translateY(-1px);box-shadow:0 4px 12px #097ec666}.back-button:active{transform:translateY(0)}.back-button svg{transition:transform .2s ease}.back-button:hover svg{transform:translate(-3px)}.breadcrumb{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-breadcrumb);border-radius:8px;margin-bottom:1.5rem;font-size:.95rem}.breadcrumb-item{color:var(--text-muted);font-weight:500;transition:all .2s ease}.breadcrumb-item.active{color:#097ec6;font-weight:600}.breadcrumb-item.clickable{cursor:pointer}.breadcrumb-item.clickable:hover{color:#097ec6;text-decoration:underline}.breadcrumb-separator{color:var(--text-muted);font-weight:400}.treemap-wrapper{border-radius:12px;overflow:hidden;transition:opacity .08s ease-out,transform .08s ease-out}.treemap-wrapper.animating{opacity:.85;transform:scale(.995)}.treemap-cell{transition:all .3s ease}.treemap-cell.clickable:hover{filter:brightness(1.1);transform:scale(1.02)}.treemap-tooltip{background:var(--tooltip-bg);border:1px solid var(--tooltip-border);border-radius:8px;padding:.875rem 1rem;box-shadow:0 4px 12px #0000001a;min-width:160px}.treemap-tooltip-header{font-size:.875rem;font-weight:600;color:var(--tooltip-text);margin-bottom:.5rem;padding-bottom:.375rem;border-bottom:1px solid var(--tooltip-border)}.treemap-tooltip-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;gap:1rem}.treemap-tooltip-row .tooltip-label{color:var(--tooltip-muted);font-size:.75rem}.treemap-tooltip-row .tooltip-value{color:var(--text-label);font-weight:600;font-size:.8rem}.treemap-tooltip-total{display:flex;justify-content:space-between;align-items:center;margin-top:.375rem;padding-top:.375rem;border-top:1px solid var(--tooltip-border);gap:1rem}.treemap-tooltip-total .tooltip-label{color:var(--tooltip-text);font-weight:600;font-size:.8rem}.treemap-tooltip-total .tooltip-value{color:#097ec6;font-weight:700;font-size:.875rem}.treemap-tooltip-hint{margin-top:.5rem;padding-top:.375rem;border-top:1px dashed var(--border-card);color:#059669;font-size:.7rem;font-weight:500;text-align:center}.treemap-tooltip-sparkline{margin:.5rem 0;padding:.25rem 0;border-bottom:1px solid var(--tooltip-border)}@media (max-width: 768px){.chart-container{padding:1.25rem}.chart-header{flex-direction:column;align-items:flex-start}.chart-title{font-size:1.25rem}.back-button{width:100%;justify-content:center}.breadcrumb{font-size:.85rem}}@media (max-width: 480px){.chart-container{padding:1rem}.treemap-tooltip{min-width:140px;padding:.625rem .75rem}}.metrics-section{background:var(--bg-card);border-radius:12px;padding:2rem;margin-top:2rem;box-shadow:var(--shadow-card);transition:background .3s ease,box-shadow .3s ease}.metrics-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-card)}.metrics-header h2{font-size:1.25rem;font-weight:600;color:var(--text-value);margin:0}.metrics-period{font-size:.875rem;color:var(--text-muted);font-weight:500}.metrics-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;margin-bottom:1.5rem}.metrics-grid.compact{grid-template-columns:repeat(4,1fr)}.metric-card{background:var(--bg-card-inner);border-radius:8px;padding:1.25rem;border:1px solid var(--border-card);transition:border-color .2s ease;position:relative}.metric-card:hover{border-color:var(--border-medium)}.metric-card.highlight{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.metric-card.savings{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#10b981}.metric-card.highlight.water{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6}.resource-subsection{margin-bottom:1.5rem}.resource-subsection:last-of-type{margin-bottom:1rem}.subsection-title{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:700;color:var(--text-label);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--border-card)}.subsection-icon{font-size:1.1rem}.metric-icon{position:absolute;top:.75rem;right:.75rem;font-size:1.25rem;opacity:.6}.metric-label{font-size:.7rem;font-weight:700;color:var(--text-label);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.metric-value{font-size:1.875rem;font-weight:800;color:var(--text-value);line-height:1.1;letter-spacing:-.025em}.metric-unit{font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-top:.25rem}.metric-context{font-size:.7rem;color:var(--text-muted);margin-top:.5rem;line-height:1.4}.insights-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.insight-panel{background:var(--bg-card);border-radius:8px;padding:1.25rem;border:1px solid var(--border-card);position:relative;overflow:hidden}.insight-panel:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,#097ec6,#0ea5e9)}.insight-panel:last-child:before{background:linear-gradient(180deg,#10b981,#34d399)}.insight-panel h3{font-size:.75rem;font-weight:700;color:var(--text-value);text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.insight-panel h3:after{content:"";flex:1;height:1px;background:var(--border-card)}.insight-list{list-style:none;padding:0;margin:0;display:grid;gap:.625rem}.insight-list li{font-size:.8rem;color:var(--text-secondary);padding:.5rem .75rem;background:var(--bg-card-inner);border-radius:6px;line-height:1.4;border-left:2px solid var(--border-card);transition:border-color .15s ease}.insight-list li:hover{border-left-color:#097ec6}.insight-panel:last-child .insight-list li:hover{border-left-color:#10b981}.insight-list li strong{color:var(--text-value);font-weight:600;display:block;margin-bottom:.125rem}@media (max-width: 1200px){.metrics-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.metrics-section{padding:1.25rem}.metrics-header{flex-direction:column;gap:.5rem;align-items:flex-start}.metrics-grid,.metrics-grid.compact{grid-template-columns:repeat(2,1fr)}.insights-grid{grid-template-columns:1fr;gap:1rem}.metric-value{font-size:1.5rem}}@media (max-width: 480px){.metrics-grid,.metrics-grid.compact{grid-template-columns:1fr}}.total-trend-chart{background:var(--bg-card-inner);border:1px solid var(--border-medium);border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.25rem}.total-trend-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.total-trend-title{font-size:.9rem;font-weight:600;color:var(--text-heading)}.total-trend-value{font-size:.85rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.sparkline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;padding:.5rem 0}.sparkline-card{background:var(--bg-card-inner);border:1px solid var(--border-medium);border-radius:10px;padding:.75rem;transition:all .2s ease;display:flex;flex-direction:column;gap:.4rem}.sparkline-card:hover{border-color:#097ec6;box-shadow:0 2px 8px #097ec626}.sparkline-card-header{display:flex;align-items:center;gap:.5rem;min-width:0}.sparkline-badge{display:inline-block;padding:.15rem .5rem;background:#590099;color:#fff;border-radius:12px;font-size:.7rem;font-weight:600;white-space:nowrap;flex-shrink:0}.sparkline-name{font-size:.8rem;font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.sparkline-chart-wrapper{width:100%;height:60px}.sparkline-footer{display:flex;justify-content:space-between;align-items:center}.sparkline-value{font-size:.85rem;font-weight:600;color:var(--text-value);font-variant-numeric:tabular-nums}.sparkline-value .sparkline-unit{font-size:.7rem;font-weight:400;color:var(--text-muted);margin-left:.15rem}.sparkline-trend{display:flex;align-items:center;gap:.2rem;font-size:.75rem;font-weight:600}.sparkline-trend.trend-up{color:#dc3545}.sparkline-trend.trend-down{color:#28a745}.sparkline-trend.trend-neutral{color:var(--text-muted)}.sparkline-tooltip{background:#1e293b!important;border:none!important;border-radius:6px!important;padding:.4rem .6rem!important;font-size:.75rem!important;box-shadow:0 2px 8px #0003!important}.sparkline-tooltip-label{color:#94a3b8;margin-bottom:.15rem}.sparkline-tooltip-value{color:#fff;font-weight:600}@media (max-width: 768px){.sparkline-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.sparkline-card{padding:.6rem}}@media (max-width: 480px){.sparkline-grid{grid-template-columns:repeat(2,1fr)}}.header{background:var(--bg-card);color:var(--text-heading);padding:1.5rem 0;box-shadow:var(--shadow-card);position:relative;overflow:visible;z-index:100;transition:background .3s ease,color .3s ease}.header-container{max-width:1400px;margin:0 auto;padding:0 2rem;position:relative;z-index:1}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.logo-section{text-align:left}.hamburger-btn{display:none;flex-direction:column;justify-content:space-between;width:30px;height:24px;background:transparent;border:none;cursor:pointer;padding:0;z-index:101}.hamburger-line{display:block;width:100%;height:3px;background-color:var(--text-heading);border-radius:3px;transition:all .3s ease}.hamburger-btn.open .hamburger-line:nth-child(1){transform:translateY(10.5px) rotate(45deg)}.hamburger-btn.open .hamburger-line:nth-child(2){opacity:0}.hamburger-btn.open .hamburger-line:nth-child(3){transform:translateY(-10.5px) rotate(-45deg)}.header-logo{max-height:80px;width:auto;margin-bottom:.75rem}.header-subtitle{font-size:1.2rem;color:var(--text-muted);margin:0;font-weight:500;letter-spacing:.5px}.controls{display:flex;flex-direction:column;gap:1rem}.utility-row{display:flex;justify-content:space-between;align-items:stretch;gap:1rem}.utility-toggle{display:flex;gap:.5rem}.view-3d-btn{display:flex;align-items:center;justify-content:center;padding:.75rem 1.25rem;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;font-size:1rem;border:2px solid #374151;transition:all .2s ease;white-space:nowrap}.view-3d-btn:hover{background:linear-gradient(135deg,#16213e,#1a1a2e);border-color:#590099}.toggle-btn{padding:.75rem 1.5rem;border:2px solid var(--border-light);background:var(--bg-input);color:var(--text-muted);border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.toggle-btn:hover{transform:translateY(-2px)}.toggle-btn.electricity:hover{background:#f288301a;border-color:#f28830;color:#f28830}.toggle-btn.resources:hover{background:#097ec61a;border-color:#097ec6;color:#097ec6}.toggle-btn.electricity.active{background:#f28830;color:#fff;border-color:#f28830}.toggle-btn.resources.active{background:linear-gradient(135deg,#097ec6,#10b981);color:#fff;border-color:#097ec6}.filters{display:flex;gap:1rem;flex-wrap:wrap}.search-input,.level-filter,.year-filter{padding:.75rem 1rem;border:2px solid var(--border-light);background:var(--bg-input);border-radius:8px;font-size:1rem;min-width:250px;transition:all .3s ease;color:var(--text-primary)}.year-filter{min-width:150px}.search-input{flex:1}.search-input:focus,.level-filter:focus,.year-filter:focus{outline:none;border-color:#8cb200;background:var(--bg-input-focus);box-shadow:0 0 0 3px #8cb20033}.dark-mode-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:2px solid var(--border-light);background:var(--bg-input);border-radius:8px;font-size:1.25rem;cursor:pointer;transition:all .3s ease;flex-shrink:0}.dark-mode-toggle:hover{transform:translateY(-2px);border-color:#f59e0b;box-shadow:0 2px 8px #f59e0b4d}@media (max-width: 768px){.header{padding:1rem 0}.header-container{padding:0 1rem}.header-top{margin-bottom:0}.logo-section{flex:1}.header-logo{max-height:50px}.header-subtitle{font-size:.85rem;margin-top:.25rem}.hamburger-btn{display:flex}.controls{display:none;flex-direction:column;gap:1rem;padding-top:1rem;border-top:1px solid var(--border-light);margin-top:1rem}.controls.open{display:flex}.utility-row{flex-direction:column}.utility-toggle{flex-direction:column;width:100%}.toggle-btn{width:100%;text-align:center}.view-3d-btn{width:100%}.filters{flex-direction:column}.search-input,.level-filter,.year-filter{min-width:100%;width:100%}}@media (max-width: 480px){.header-logo{max-height:40px}.header-subtitle{font-size:.75rem}.toggle-btn{padding:.6rem 1rem;font-size:.9rem}.search-input,.level-filter,.year-filter{padding:.6rem .8rem;font-size:.9rem}}.building3d-container{width:100%;height:100vh;position:relative;background:#0a0a1a;overflow:hidden;user-select:none;-webkit-user-select:none}.building3d-canvas{width:100%;height:100%}.building3d-header{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:.75rem 2rem;background:#0a0a1ad9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;pointer-events:auto}.header-left{display:flex;align-items:center;gap:2rem}.back-link{display:flex;align-items:center;gap:.5rem;color:#8cb200;text-decoration:none;font-weight:600;font-size:.95rem;padding:.5rem 1rem;border:1px solid rgba(140,178,0,.3);border-radius:8px;transition:all .3s ease}.back-link:hover{background:#8cb2001a;border-color:#8cb200}.back-arrow{font-size:1.2rem}.page-title{color:#fff;font-size:1.5rem;font-weight:700;margin:0;text-shadow:0 0 20px rgba(9,126,198,.5)}.header-controls{display:flex;gap:.75rem}.toggle-3d{padding:.6rem 1.25rem;border:2px solid rgba(255,255,255,.2);background:#ffffff0d;color:#ffffffb3;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.toggle-3d:hover{background:#ffffff1a;border-color:#fff6}.toggle-3d.electricity.active{background:#f28830;border-color:#f28830;color:#fff;box-shadow:0 0 20px #f2883066}.toggle-3d.water.active{background:#097ec6;border-color:#097ec6;color:#fff;box-shadow:0 0 20px #097ec666}.hamburger-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#ffffffb3;cursor:pointer;transition:all .2s ease}.hamburger-btn:hover{background:#8cb20033;border-color:#8cb200;color:#8cb200}.hamburger-btn.active{background:#8cb20026;border-color:#8cb20080;color:#8cb200}.hamburger-panel{position:absolute;top:4rem;right:2rem;display:flex;flex-direction:column;gap:1rem;padding:1rem 1.25rem;background:#0a0a1aeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:12px;z-index:200;animation:panelSlideIn .2s ease}@keyframes panelSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.hamburger-section{display:flex;flex-direction:column;gap:.5rem}.hamburger-label{color:#ffffff73;font-size:.65rem;text-transform:uppercase;letter-spacing:.8px;font-weight:600}.hamburger-months{display:flex;flex-wrap:wrap;gap:.3rem}.month-btn{padding:.4rem .85rem;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:#fff9;border-radius:7px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.month-btn:hover{background:#8cb20026;border-color:#8cb20066;color:#ffffffe6}.month-btn.active{background:#8cb20040;border-color:#8cb200;color:#fff;box-shadow:0 0 12px #8cb2004d}.bottom-bar{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background:#0a0a1ad1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.08);z-index:100}.stats-panel{display:flex;align-items:center;gap:.85rem}.stat-item{display:flex;flex-direction:column;gap:.1rem}.stat-label{color:#fff6;font-size:.55rem;text-transform:uppercase;letter-spacing:.3px}.stat-value{color:#fff;font-size:.85rem;font-weight:700}.legend-panel{display:flex;align-items:center;margin-left:auto;padding:0;background:none;border:none}.legend-items{display:flex;align-items:center;gap:.6rem}.legend-item{display:flex;align-items:center;gap:.25rem;color:#fff9;font-size:.6rem;white-space:nowrap}.legend-color{width:8px;height:8px;border-radius:2px;flex-shrink:0}.header-right{display:flex;align-items:center;gap:.5rem}.control-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#ffffffb3;cursor:pointer;transition:all .2s ease}.control-btn:hover{background:#8cb20033;border-color:#8cb200;color:#8cb200}.control-btn.active{background:#8cb20026;border-color:#8cb20080;color:#8cb200}.control-btn svg{transition:transform .2s ease}.control-btn:hover svg{transform:scale(1.1)}.daynight-control{display:flex;align-items:center;gap:.5rem;padding:0 .5rem}.moon-icon{color:#93c5fdcc;flex-shrink:0}.sun-icon{color:#fbbf24e6;flex-shrink:0}.daynight-slider{width:80px;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to right,#1e3a5f,#87ceeb);border-radius:3px;cursor:pointer;outline:none}.daynight-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:#fff;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #0000004d;transition:transform .15s ease}.daynight-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.daynight-slider::-moz-range-thumb{width:16px;height:16px;background:#fff;border:none;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #0000004d}.instructions-panel{display:none}.floor-tooltip{background:#0a0a1af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:1rem 1.25rem;min-width:200px;max-width:280px;box-shadow:0 10px 40px #00000080;animation:tooltipFadeIn .2s ease}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.tooltip-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.tooltip-level{color:#8cb200;font-size:1rem;font-weight:800;flex-shrink:0}.tooltip-location-name{color:#ffffffe6;font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tooltip-consumption{color:#f28830;font-size:1.25rem;font-weight:800;margin-bottom:.75rem}.tooltip-breakdown{display:flex;flex-direction:column;gap:.35rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.1)}.breakdown-row{display:flex;justify-content:space-between;font-size:.8rem}.breakdown-row span:first-child{color:#ffffff80}.breakdown-row span:last-child{color:#fffc;font-weight:600}.tooltip-remarks{margin-top:.75rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.1);color:#ffffff80;font-size:.75rem;font-style:italic;line-height:1.4}@media (max-width: 1024px){.bottom-bar{gap:.75rem;padding:.45rem .75rem}.stats-panel{gap:.65rem}.legend-items{gap:.4rem}}@media (max-width: 768px){.building3d-header{padding:.75rem 1rem}.page-title{display:none}.hamburger-panel{right:1rem;top:3.5rem}.control-btn,.hamburger-btn{width:36px;height:36px}.bottom-bar{flex-wrap:wrap;gap:.4rem .75rem;padding:.4rem .75rem}.legend-panel{margin-left:0}.legend-items{gap:.35rem}.legend-item{font-size:.55rem}.legend-color{width:7px;height:7px}.stat-label{font-size:.5rem}.stat-value{font-size:.75rem}.hero-banner{font-size:.55rem;padding:.2rem .5rem}.floor-tooltip{min-width:180px;padding:.75rem 1rem}.tooltip-consumption{font-size:.85rem}}@media (max-width: 480px){.building3d-header{padding:.5rem .75rem}.back-link{padding:.35rem .6rem;font-size:.8rem}.control-btn,.hamburger-btn{width:32px;height:32px}.control-btn svg,.hamburger-btn svg{width:14px;height:14px}.hamburger-panel{right:.75rem;left:.75rem;top:3rem}.month-btn{padding:.3rem .55rem;font-size:.68rem}.daynight-slider{width:50px}.bottom-bar{padding:.35rem .5rem;gap:.3rem .5rem}.stats-panel{gap:.4rem}.stat-label{font-size:.45rem}.stat-value{font-size:.65rem}.legend-item{font-size:.5rem;gap:.15rem}.legend-color{width:6px;height:6px}.hero-banner{font-size:.5rem;padding:.15rem .4rem}.hero-banner svg{width:8px;height:8px}}.hero-banner{display:flex;align-items:center;gap:.3rem;padding:.25rem .6rem;background:linear-gradient(135deg,#097ec699,#8cb2008c);border:1px solid rgba(255,255,255,.12);border-radius:4px;text-decoration:none;color:#fffc;font-size:.6rem;font-weight:600;white-space:nowrap;transition:all .2s ease;flex-shrink:0}.hero-banner:hover{background:linear-gradient(135deg,#097ec6cc,#8cb200bf);color:#fff}.hero-title{margin:0;font-size:inherit;font-weight:inherit;color:inherit}.hero-banner svg{flex-shrink:0;opacity:.7;transition:transform .2s ease}.hero-banner:hover svg{transform:translate(2px);opacity:1}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa}#root{width:100%;min-height:100vh}
