.modal-overlay{animation:fadeIn .2s ease-in;z-index:15000}@keyframes slideIn{0%{opacity:0;transform:translateY(-4.167rem)}to{opacity:1;transform:translateY(0)}}.modal-content{animation:slideIn .3s ease-out;background:#0c2340f2;border:1px solid #ffffff1a;border-radius:.667rem;max-height:90%;max-width:90%;overflow:auto;position:relative;z-index:15001}.modal-header{background:#ffffff08;border-bottom:1px solid #ffffff26;padding:1.667rem 2rem}.modal-header h2{color:#ffffffe6;font-size:1.667rem}.close-button{align-items:center;background:none;border:none;border-radius:.333rem;color:#fff9;cursor:pointer;display:flex;font-size:2.667rem;height:2.667rem;justify-content:center;padding:0;transition:all .2s;width:2.667rem}.close-button:hover{background:#ffffff1a;color:#ffffffe6}.close-button:active{transform:scale(.95)}.modal-body{max-height:calc(85vh - 80px);overflow-y:auto;padding:2rem}.modal-body p{color:#fffc;line-height:1.6;margin-bottom:1rem}.modal-content{max-height:80vh;max-width:50rem;min-width:33.333rem}.modal-body{max-height:calc(80vh - 80px)}.modal-body p{font-size:1.167rem;margin-bottom:1.333rem}.trajectory-list{list-style:none;margin:0;padding:0}.trajectory-item{margin-bottom:.667rem}.trajectory-button{background:#ffffff14;border:1px solid #ffffff26;border-radius:.5rem;color:#ffffffe6;cursor:pointer;font-size:1.333rem;font-weight:500;padding:1rem 1.333rem;text-align:left;transition:all .2s;width:100%}.trajectory-button:hover{background-color:#e35205;border-color:#e35205;color:#fff;transform:translateX(.333rem)}.trajectory-button:active{transform:translateX(.167rem)}.pre-simulation-dashboard{background:#ffffff08;border:1px solid #ffffff1a;border-radius:.667rem;display:flex;flex-direction:column;gap:1rem;height:calc(100vh - 140px);margin:0;max-width:100%;overflow:hidden;padding:1rem}.presim-header-strip{align-items:center;display:flex;flex-shrink:0;gap:1.667rem;justify-content:space-between}.presim-title{color:#fffffff2;flex:0 0 auto;font-size:2rem;font-weight:700;letter-spacing:.042rem;margin:0}.presim-name-group{align-items:center;display:flex;flex:1 1;gap:1rem;justify-content:center}.presim-label-chip{color:#ffffffe6;font-size:1.5rem;font-weight:600;letter-spacing:.025rem;white-space:nowrap}.presim-name-display{background:#ffffff1a;border:1px solid #fff3;border-radius:.333rem;color:#fff;font-size:1.333rem;font-weight:500;letter-spacing:.025rem;min-width:26.667rem;padding:.667rem 1rem}.content-layout{display:flex;flex:1 1;gap:1rem;margin-bottom:.667rem;min-height:0}.description-section{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:.333rem;display:flex;flex-direction:column;flex-shrink:0;gap:.667rem;min-width:33.333rem;padding:1.25rem;width:33.333rem}.description-section label{color:#ffffffe6;font-size:1.333rem;font-weight:600;letter-spacing:.025rem}.description-input{background:#ffffff1a;border:1px solid #fff3;border-radius:.333rem;color:#fff;flex:1 1;font-family:inherit;font-size:1.25rem;line-height:1.5;min-height:16.667rem;padding:1rem 1.25rem;resize:vertical;transition:all .3s}.description-input:focus{background:#ffffff26;border-color:#e35205;outline:none}.description-input::placeholder{color:#fff6}.table-section{display:flex;flex:1 1;flex-direction:column;min-width:0}.pre-simulation-dashboard .parameters-table-container{border:1px solid #e0e0e0;border-radius:.333rem;flex:1 1;min-height:0;overflow:auto}.pre-simulation-dashboard .parameters-table{border-collapse:collapse;font-size:1.167rem;width:100%}.pre-simulation-dashboard .parameters-table thead{background-color:#0c2340;color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}.pre-simulation-dashboard .parameters-table th{border-right:1px solid #fff3;font-weight:600;padding:1rem .667rem;text-align:center}.pre-simulation-dashboard .parameters-table th:last-child{border-right:none}.pre-simulation-dashboard .parameter-name-header{background-color:#0c2340;left:0;max-width:29.167rem;min-width:29.167rem;padding:.667rem 1rem!important;position:-webkit-sticky;position:sticky;text-align:left!important;width:29.167rem;z-index:11}.pre-simulation-dashboard .parameter-header-content{display:flex;flex-direction:column;gap:.5rem}.pre-simulation-dashboard .parameter-header-content span{font-size:1.167rem;font-weight:600}.pre-simulation-dashboard .parameter-filter-input{background:#ffffff1a;border:1px solid #fff3;border-radius:.25rem;color:#ffffffe6;font-size:1.083rem;padding:.5rem .667rem;transition:all .2s;width:100%}.pre-simulation-dashboard .parameter-filter-input::placeholder{color:#999;font-style:italic}.pre-simulation-dashboard .parameter-filter-input:focus{background-color:#fff;border-color:#fffc;color:#0c2340;outline:none}.pre-simulation-dashboard .year-header{font-size:1.167rem;min-width:8.333rem}.pre-simulation-dashboard .parameters-table tbody tr{border-bottom:1px solid #e0e0e0}.pre-simulation-dashboard .parameters-table tbody tr:last-child{border-bottom:none}.pre-simulation-dashboard .row-even{background:#ffffff08}.pre-simulation-dashboard .row-odd{background:#ffffff0d}.pre-simulation-dashboard .parameter-name{background-color:inherit;border-right:1px solid #e0e0e0;color:#ffffffd9;font-weight:500;left:0;max-width:29.167rem;min-width:29.167rem;padding:.833rem 1rem;position:-webkit-sticky;position:sticky;width:29.167rem}.pre-simulation-dashboard .row-even .parameter-name{background:#ffffff08}.pre-simulation-dashboard .row-odd .parameter-name{background:#ffffff0d}.pre-simulation-dashboard .parameters-table td{padding:.333rem;text-align:center}.parameter-value{align-items:center;background:#ffffff0d;border-radius:.25rem;color:#ffffffe6;display:flex;font-size:1.083rem;justify-content:center;min-height:2.333rem;padding:.5rem .667rem;text-align:center;width:100%}.action-section{align-items:center;background:#ffffff08;border-radius:.333rem;display:flex;flex-shrink:0;gap:1.25rem;justify-content:space-between;padding:.833rem 1.25rem}.action-section .btn{border:none;border-radius:.5rem;cursor:pointer;font-size:1.333rem;font-weight:600;padding:1rem 2rem;text-transform:none;transition:all .3s}.action-section .btn-primary{background-color:#e35205;color:#fff}.action-section .btn-primary:hover{background-color:#c24404;transform:translateY(-.167rem)}.action-section .btn-secondary{background-color:#e35205;color:#fff}.action-section .btn-secondary:hover{background-color:#c24404}.action-section .btn-run{font-size:1.5rem;min-width:16.667rem;padding:1.167rem 3.333rem}.trajectory-builder{background:#ffffff08;border:1px solid #ffffff1a;border-radius:.667rem;display:flex;flex-direction:column;gap:1rem;height:calc(100vh - 15rem);margin:0;max-width:100%;min-width:0;overflow:hidden;padding:1rem}.trajectory-header-strip{align-items:center;display:flex;flex-shrink:0;gap:1.667rem;justify-content:space-between}.builder-title{color:#fffffff2;flex:0 0 auto;font-size:2rem;font-weight:700;letter-spacing:.042rem;margin:0}.trajectory-name-group{align-items:center;display:flex;flex:1 1;gap:1rem;justify-content:center}.trajectory-input-wrapper{position:relative}.trajectory-name-input{background:#ffffff1a;border:1px solid #fff3;border-radius:.333rem;color:#fff;cursor:text;font-size:1.333rem;font-weight:500;letter-spacing:.025rem;min-width:26.667rem;padding:.667rem 1rem;transition:all .3s}.trajectory-name-input:focus{background:#ffffff26;border-color:#a05eb5;outline:none}.trajectory-name-input::placeholder{color:#fff6}.builder-controls{align-items:center;display:flex;flex-shrink:0;gap:1rem}.year-selector{align-items:center;display:flex;gap:.667rem}.year-selector label{color:#ffffffe6;font-size:1.167rem;font-weight:600;letter-spacing:.025rem;white-space:nowrap}.year-dropdown{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#ffffff1a;border:1px solid #fff3;border-radius:.333rem;color:#fff;cursor:pointer;font-size:1.167rem;font-weight:500;min-width:6.667rem;padding:.667rem 1rem;transition:all .2s}.year-dropdown:focus{background:#ffffff26;border-color:#a05eb5;outline:none}.year-dropdown option{background:#0c2340;color:#fff}.builder-button-strip{background:#e35205;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1.167rem;font-weight:600;letter-spacing:.025rem;padding:.833rem 1.667rem;transition:all .3s;white-space:nowrap}.builder-button-strip:hover{background:#ff6a1f;transform:translateY(-.167rem)}.builder-button-strip:active{transform:translateY(0)}.parameters-table-container{border-radius:.333rem;flex:1 1;margin-bottom:.667rem;max-height:calc(100vh - 25rem);min-height:0;overflow:auto}.parameters-table{border-collapse:collapse;font-size:1.167rem;width:100%}.parameters-table thead{background-color:#0c2340;color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}.parameters-table th{border-right:1px solid #fff3;font-weight:600;padding:1rem .667rem;text-align:center}.parameters-table th:last-child{border-right:none}.parameter-name-header{background-color:#0c2340;left:0;max-width:29.167rem;min-width:29.167rem;padding:.667rem 1rem!important;position:-webkit-sticky;position:sticky;text-align:left!important;width:29.167rem;z-index:11}.parameter-header-content{display:flex;flex-direction:column;gap:.5rem}.parameter-header-content span{font-size:1.167rem;font-weight:600}.parameter-filter-input{background:#ffffff1a;border:1px solid #fff3;border-radius:.25rem;color:#ffffffe6;font-size:1.083rem;padding:.5rem .667rem;transition:all .2s;width:100%}.parameter-filter-input::placeholder{color:#999;font-style:italic}.parameter-filter-input:focus{background-color:#fff;border-color:#fffc;color:#000;outline:none}.year-header{font-size:1.167rem;min-width:8.333rem}.parameters-table tbody tr:last-child{border-bottom:none}.row-even{background:#ffffff08}.row-odd{background:#ffffff0d}.parameters-table tbody tr:hover{background:#ffffff1a}.parameter-name{color:#ffffffd9;cursor:help;font-weight:500;left:0;max-width:29.167rem;min-width:29.167rem;padding:.833rem 1rem;position:-webkit-sticky;position:sticky;width:29.167rem}.row-even .parameter-name{background:#132a46}.row-odd .parameter-name{background:#182e4a}.parameters-table tbody tr:hover .parameter-name{background:#243953}.parameters-table td{padding:.333rem;text-align:center}.parameter-input{background:#ffffff14;border:1px solid #fff3;border-radius:.25rem;color:#ffffffe6;font-size:1.083rem;padding:.5rem .667rem;text-align:center;transition:all .2s;width:100%}.parameter-input:focus{background:#ffffff26;border-color:#e35205;outline:none}.parameter-input::placeholder{color:#ccc}.parameter-input-error{background:#ff1f1f26!important;border-color:#ff1f1f!important}.parameter-input-error:focus{border-color:#ff1f1f!important;box-shadow:0 0 0 2px #ff1f1f33}.parameter-select{-webkit-appearance:none;appearance:none;background:#a25eb51f;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23fff' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;cursor:pointer;padding-right:1.5rem}.parameter-select:focus{background-color:#a25eb533;border-color:#a05eb5}.run-section{border-radius:.333rem;display:flex;flex-shrink:0;justify-content:flex-end;padding:.833rem 1.25rem}.btn{border:none;border-radius:.5rem;cursor:pointer;font-size:1.333rem;font-weight:600;padding:1rem 2rem;text-transform:none;transition:all .3s}.btn-primary{background-color:#e35205;color:#fff}.btn-primary:hover{background-color:#c24404}.btn-secondary{background-color:#e35205}.btn-secondary:hover{background-color:#c24404}.btn-run{font-size:1.5rem;min-width:16.667rem;padding:1.167rem 3.333rem}.parameter-tooltip{animation:tooltipFadeIn .2s ease-out;background:linear-gradient(135deg,#0c2340,#1a3a5c);border:1px solid #e352054d;border-radius:.667rem;color:#fff;max-width:29.167rem;padding:1rem 1.333rem;pointer-events:none;position:fixed;z-index:1000}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-.417rem)}to{opacity:1;transform:translateY(0)}}.tooltip-content{color:#fffffff2;font-size:1.167rem;line-height:1.5;margin-bottom:.5rem}.tooltip-unit{border-top:1px solid #fff3;color:#e35205;font-size:1rem;font-weight:600;margin-top:.5rem;padding-top:.5rem}@media (max-width:1400px){.trajectory-header-strip{align-items:stretch;flex-direction:column;gap:1rem}.builder-title{text-align:center}.trajectory-name-group{align-items:stretch;flex-direction:column}.trajectory-input-wrapper{width:100%}.trajectory-name-input{min-width:100%;width:100%}.builder-controls{align-items:stretch;flex-direction:column}.year-selector{justify-content:space-between;width:100%}.builder-button-strip{width:100%}}.validation-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:10000}.validation-modal-content{background:linear-gradient(135deg,#0c2340,#1a3a5c);border:1px solid #ffffff26;border-radius:.5rem;box-shadow:0 8px 32px #0006;display:flex;flex-direction:column;max-height:80vh;max-width:600px;width:100%}.validation-modal-header{border-bottom:1px solid #ffffff1a;padding:1.5rem}.validation-modal-header h2{align-items:center;color:#ff1f1f;display:flex;font-size:1.5rem;gap:.5rem;margin:0}.validation-modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.validation-warning{background:#e3520533;border:1px solid #e3520566;border-radius:.333rem;color:#fff;margin-bottom:1rem;padding:1rem}.validation-warning strong{color:#e35205}.validation-errors{background:#ff1f1f26;border:1px solid #ff1f1f4d;border-radius:.333rem;margin-bottom:1rem;padding:1rem}.validation-errors h3{color:#ff1f1f;font-size:1.167rem;margin:0 0 .75rem}.validation-error-list{list-style:none;margin:0;max-height:300px;overflow-y:auto;padding:0}.validation-error-item{background:#0003;border-left:3px solid #ff1f1f;border-radius:.25rem;margin-bottom:.5rem;padding:.5rem .75rem}.validation-error-item strong{color:#fff;display:block;margin-bottom:.25rem}.validation-error-item small{color:#ffffffb3;font-size:.917rem}.validation-modal-footer{border-top:1px solid #ffffff1a;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.5rem}.validation-modal-footer .btn{flex:1 1}@media (max-width:768px){.trajectory-builder{gap:.667rem;height:auto;min-height:calc(100vh - 140px);padding:.667rem}.trajectory-header-strip{padding:.667rem}.builder-title{font-size:1.5rem}.trajectory-label-chip{font-size:1.167rem}.trajectory-name-input{font-size:1.167rem;min-width:100%}.parameters-table{font-size:1rem}.parameter-name,.parameter-name-header{max-width:20.833rem;min-width:20.833rem}.year-header{min-width:6.667rem}}.searchable-select{position:relative;width:100%}.searchable-select.disabled{cursor:not-allowed;opacity:.6}.searchable-select-trigger{align-items:center;background:#ffffff0d;border:1px solid #fff3;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;min-height:38px;padding:8px 12px;transition:all .2s ease}.searchable-select:not(.disabled) .searchable-select-trigger:hover{background:#ffffff14;border-color:#ffffff4d}.searchable-select.open .searchable-select-trigger{background:#ffffff14;border-color:#62b5e5 #62b5e5 #0000;border-radius:4px 4px 0 0}.searchable-select-value{color:#ffffffe6;flex:1 1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select-input{background:#0000;border:none;color:#ffffffe6;flex:1 1;font-size:14px;outline:none;padding:0}.searchable-select-input::placeholder{color:#ffffff80}.searchable-select-arrow{color:#fff9;font-size:10px;margin-left:8px;transition:transform .2s ease}.searchable-select.open .searchable-select-arrow{transform:rotate(180deg)}.searchable-select-dropdown{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c2340fa;border:1px solid #fff3;border-radius:0 0 4px 4px;border-top:none;box-shadow:0 4px 12px #0000004d;left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.searchable-select-list{list-style:none;margin:0;padding:4px 0}.searchable-select-option{color:#ffffffe6;cursor:pointer;font-size:14px;padding:8px 12px;transition:background .15s ease}.searchable-select-option.highlighted,.searchable-select-option:hover{background:#62b5e533}.searchable-select-option.selected{background:#62b5e54d;font-weight:500}.searchable-select-option.selected.highlighted,.searchable-select-option.selected:hover{background:#62b5e566}.searchable-select-no-results{color:#ffffff80;font-size:14px;padding:12px;text-align:center}.searchable-select-dropdown::-webkit-scrollbar{width:8px}.searchable-select-dropdown::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.searchable-select-dropdown::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.searchable-select-dropdown::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.filters-sidebar{display:flex;flex-direction:column;flex-shrink:0;gap:0;height:100%;overflow-y:visible;width:23.333rem}.aggregation-filters-panel{background:#0c234066;border:1px solid #fff3;border-radius:.5rem;flex:1 1;min-height:0;padding:1.667rem}.aggregation-filters-panel h3{border-bottom:1px solid #fff3;color:#ffffffe6;font-size:1.5rem;font-weight:400;letter-spacing:.042rem;margin:0 0 1.667rem;padding-bottom:1.25rem;text-align:center}.aggregation-filters-panel .filter-group{margin-bottom:1.667rem}.aggregation-filters-panel .filter-group:last-child{margin-bottom:0}.aggregation-filters-panel .filter-group label{color:#ffffffe6;display:block;font-size:1.167rem;font-weight:600;letter-spacing:.025rem;margin-bottom:.667rem}.aggregation-filters-panel .filter-select{width:100%}.aggregation-filters-panel .year-slider-container{padding:.417rem 0}.aggregation-filters-panel .year-slider{-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,#fff3 0,#fff3);border-radius:.25rem;height:.5rem;margin-bottom:.833rem;outline:none;width:100%}.aggregation-filters-panel .year-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#e35205;border-radius:50%;cursor:pointer;height:1.5rem;width:1.5rem}.aggregation-filters-panel .year-slider::-moz-range-thumb{background:#e35205;border:none;border-radius:50%;cursor:pointer;height:1.5rem;width:1.5rem}.aggregation-filters-panel .year-labels{color:#fff9;display:flex;font-size:1rem;justify-content:space-between}.aggregation-filters-panel .year-value{color:#e35205;font-size:1.167rem;font-weight:600}.view-network-details-button{background:#62b5e533;border:1px solid #62b5e566;border-radius:.5rem;color:#ffffffe6;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1rem;transition:all .2s ease;width:100%}.view-network-details-button:hover:not(:disabled){background:#62b5e54d;border-color:#62b5e599;box-shadow:0 4px 12px #62b5e533;transform:translateY(-1px)}.view-network-details-button:active:not(:disabled){transform:translateY(0)}.view-network-details-button:disabled{cursor:not-allowed;opacity:.4}.kpi-boxplot{display:flex;flex:1 1 auto;flex-direction:column;gap:.333rem;width:100%}.boxplot-container{align-items:center;display:flex;height:3.333rem;position:relative}.boxplot-axis{background-color:#fff3;height:1px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:100%}.boxplot-reference-line{background-color:#ffffff4d;border-left:1px dashed #ffffff80;height:100%;position:absolute;top:0;width:1px;z-index:0}.boxplot-line{height:2px;z-index:1}.boxplot-line,.boxplot-whisker-cap{background-color:#fff9;position:absolute;top:50%;transform:translateY(-50%)}.boxplot-whisker-cap{height:1rem;width:2px}.boxplot-box{background-color:#62b5e533;border:2px solid #62b5e5cc;border-radius:.333rem;height:90%;position:absolute;top:0}.boxplot-median{background-color:#e35205;height:100%;position:absolute;top:0;width:2px}.boxplot-labels{color:#ffffffb3;display:flex;font-size:.833rem;font-weight:500;height:1.167rem;justify-content:space-between;position:relative}.boxplot-label{position:absolute;transform:translateX(-50%);white-space:nowrap}.boxplot-label-end,.boxplot-label-start{color:#ffffff80;font-size:.75rem}.kpi-distribution{display:flex;flex-direction:column;gap:.5rem;margin-top:.333rem}.distribution-bar{background:#ffffff1a;border:1px solid #ffffff1a;border-radius:.333rem;display:flex;height:2rem;overflow:hidden}.distribution-segment{transition:opacity .2s}.distribution-segment:hover{opacity:.8}.distribution-labels{display:flex;flex-wrap:wrap;gap:1rem}.distribution-label{align-items:center;color:#ffffffb3;display:flex;font-size:1.15rem;gap:.333rem}.label-color{border-radius:.167rem;height:.95rem;width:.95rem}.label-text{font-weight:500}.filter-group{margin-bottom:1.667rem}.filter-group label{color:#ffffffe6;display:block;font-size:1.167rem;font-weight:600;letter-spacing:.025rem;margin-bottom:.667rem}.filter-select{width:100%}.visualizations-panel{display:flex;flex:1 1;gap:1.25rem;min-height:0;overflow-y:auto}.viz-map{flex:1.2 1;min-width:0}.viz-side-panel{display:flex;flex:1 1;flex-direction:column;gap:1.25rem;min-width:0}.viz-row,.viz-side-card{flex:1 1;min-height:0}.viz-row{display:flex;gap:1.25rem}.viz-card{background:#0c234066;border:1px solid #fff3;border-radius:.5rem;display:flex;flex-direction:column;padding:1.25rem}.viz-card h4{align-items:center;color:#ffffffe6;display:flex;font-size:1.333rem;font-weight:400;justify-content:space-between;letter-spacing:.025rem;margin:0 0 1.25rem;padding-bottom:.833rem}.viz-download-btn{background:#62b5e526;border:1px solid #62b5e566;border-radius:.333rem;color:#62b5e5;cursor:pointer;font-size:.917rem;font-weight:500;letter-spacing:.025rem;padding:.5rem .833rem;transition:all .2s}.viz-download-btn:hover:not(:disabled){background:#62b5e540;border-color:#62b5e5;color:#fff}.viz-download-btn:disabled{cursor:not-allowed;opacity:.3}.viz-placeholder{align-items:center;background:#ffffff08;border-radius:.333rem;color:#ffffff80;display:flex;flex:1 1;justify-content:center;min-height:0;overflow:hidden;text-align:center}.viz-placeholder p{font-size:1.167rem;line-height:1.6}.viz-large{flex:1.2 1}@media (max-width:1200px){.visualizations-panel{flex-direction:column}.viz-map,.viz-side-panel{flex:1 1;width:100%}}.year-slider-container{padding:.417rem 0}.year-slider{-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,#fff3 0,#62b5e580);border-radius:.25rem;height:.5rem;margin-bottom:.833rem;outline:none;width:100%}.year-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#62b5e5;border-radius:50%;cursor:pointer;height:1.5rem;width:1.5rem}.year-slider::-moz-range-thumb{background:#62b5e5;border:none;border-radius:50%;cursor:pointer;height:1.5rem;width:1.5rem}.year-labels{color:#fff9;display:flex;font-size:1rem;justify-content:space-between}.year-value{color:#62b5e5;font-size:1.167rem;font-weight:600}.overview-kpi-card.transition-analysis-summary{background:#0c234099;color:#fff;display:flex;flex-direction:column;font-family:Inter,sans-serif;gap:0;height:100%;justify-content:flex-start;min-height:0;overflow:hidden;padding:1.25rem}.ta-stats-grid{align-items:center;background:#ffffff08;border:1px solid #62b5e54d;border-bottom-color:#ffffff1a;border-radius:8px 8px 0 0;box-shadow:0 0 8px #62b5e526;display:grid;grid-template-columns:1fr 1fr;margin:0}.ta-stat-main{border-right:1px solid #ffffff1a;display:flex;flex-direction:column;gap:.25rem;padding:1.5rem}.ta-score-row{align-items:center;display:flex;gap:.75rem}.ta-score-value{color:#fff;font-size:4.5rem;font-weight:700;line-height:1;text-shadow:0 0 30px #62b5e599}.ta-stat-change{align-items:baseline;display:flex;flex-wrap:nowrap;font-size:1.7rem;font-weight:500;gap:.5rem}.ta-stat-change-label{color:#94a3b8;font-size:1rem;font-weight:400;white-space:nowrap}.ta-stat-change .positive{color:#22c55e}.ta-stat-change .negative{color:#ef4444}.ta-stat-secondary{gap:1rem;height:100%;justify-content:center;padding:1.5rem}.ta-stat-row,.ta-stat-secondary{display:flex;flex-direction:column}.ta-stat-row{gap:.1rem}.ta-stat-label{color:#cbd5e1;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase}.ta-stat-val-group{align-items:baseline;display:flex;gap:.5rem}.ta-stat-value{color:#fff;font-size:1.8rem;font-weight:700}.ta-stat-sub{color:#94a3b8;font-size:1rem}.ta-stat-sub.positive{color:#22c55e}.ta-stat-sub.negative{color:#ef4444}.ta-stat-sub.neutral{color:#94a3b8}.ta-chart-section{background:#ffffff08;border:1px solid #62b5e54d;border-bottom:none;border-radius:0;border-top:none;box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;gap:.5rem;margin:0;min-height:14rem;padding:1rem .5rem;width:100%}.ta-chart-header{color:#cbd5e1;font-size:1.1rem;font-weight:600;margin-bottom:.5rem;text-transform:uppercase}.ta-chart-wrapper{align-items:stretch;display:flex;flex:1 1 auto;gap:.5rem;min-height:0}.ta-chart-axis-y{color:#94a3b8;display:flex;flex-direction:column;font-size:1.1rem;font-weight:500;height:100%;justify-content:space-between;min-width:42px;padding-bottom:5px}.ta-chart-container{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.ta-chart-container .sparkline-container{flex:1 1 auto;height:100%;min-height:0}.ta-chart-axis-x{color:#cbd5e1;display:flex;flex:0 0 auto;font-size:1.1rem;justify-content:space-between;margin-top:.5rem;padding:0 30px 0 15px}.ta-distribution-section{background:#ffffff08;border:1px solid #62b5e54d;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 0 8px #62b5e526;display:flex;flex-direction:column;gap:.5rem;margin:0;min-height:10rem;padding:1rem}.ta-section-label{color:#cbd5e1;font-size:1.1rem;font-weight:600;text-transform:uppercase}.ta-stacked-bar{background:#334155;border-radius:4px;display:flex;height:36px;overflow:hidden;position:relative}.ta-bar-segment{align-items:center;display:flex;height:100%;justify-content:center;position:relative;transition:width .3s ease}.ta-bar-label{color:#000c;font-size:.95rem;font-weight:700;overflow:hidden;padding:0 4px;text-overflow:ellipsis;white-space:nowrap}.ta-no-data{color:#94a3b8;font-size:.95rem}@media (max-width:1200px){.transition-heatmap-view,.viz-row{flex-direction:column}}.lineplot-container{display:flex;flex-direction:column;gap:.75rem;height:100%;min-height:0;position:relative;width:100%}.lineplot-canvas-wrapper{flex:1 1;min-height:0;min-width:0;position:relative}.lineplot-canvas{cursor:crosshair;display:block;height:100%;width:100%}.lineplot-legend{align-items:center;display:flex;flex-direction:row;flex-shrink:0;flex-wrap:wrap;gap:1rem;justify-content:center;padding:.5rem 0 0}.legend-item{color:#fffc;font-size:.833rem;gap:.417rem}.legend-color{border-radius:.167rem;height:.25rem;width:1rem}.legend-label{font-weight:500;overflow:hidden;text-overflow:ellipsis}.lineplot-tooltip{background:#0c2340f2;border:1px solid #fff3;border-radius:.333rem;color:#ffffffe6;font-size:.917rem;padding:.667rem .833rem;pointer-events:none;position:absolute;white-space:nowrap;z-index:10}.tooltip-series{color:#62b5e5;font-weight:600;margin-bottom:.333rem}.tooltip-value{color:#ffffffb3;font-size:.833rem;line-height:1.4}.floating-chat-button{align-items:center;background:linear-gradient(135deg,#a05eb5,#8a4e9d);border:none;border-radius:50%;bottom:3.667rem;color:#fff;cursor:pointer;display:flex;height:5.333rem;justify-content:center;position:fixed;right:3.667rem;transition:all .3s ease;width:5.333rem;z-index:1000}.floating-chat-button svg{height:2.333rem;width:2.333rem}.floating-chat-button:hover{background:linear-gradient(135deg,#b56ec5,#a05eb5);transform:scale(1.1)}.floating-chat-button:active{transform:scale(1.05)}.chat-popup{animation:slideInUp .3s ease;background:#0c2340fa;border:1px solid #ffffff26;border-radius:1.333rem;bottom:9.333rem;display:flex;flex-direction:column;height:50rem;position:fixed;right:2.667rem;width:35rem;z-index:999}@keyframes slideInUp{0%{opacity:0;transform:translateY(1.667rem)}to{opacity:1;transform:translateY(0)}}.chat-popup-header{align-items:center;background:#ffffff0d;border-bottom:1px solid #ffffff1a;border-radius:1.333rem 1.333rem 0 0;display:flex;flex-shrink:0;justify-content:space-between;padding:1.333rem 1.667rem}.chat-popup-title{align-items:center;color:#fffffff2;display:flex;font-size:1.667rem;font-weight:600;gap:.833rem;letter-spacing:.025rem}.chat-popup-title svg{color:#a05eb5;height:1.833rem;width:1.833rem}.chat-popup-close{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:.5rem;color:#ffffffb3;cursor:pointer;display:flex;font-size:2rem;height:2.667rem;justify-content:center;line-height:1;transition:all .3s;width:2.667rem}.chat-popup-close:hover{background:#ffffff1a;border-color:#fff3;color:#fff}.chat-popup-messages{display:flex;flex:1 1;flex-direction:column;gap:1rem;overflow-y:auto;padding:1.333rem}.chat-popup-messages::-webkit-scrollbar{width:.5rem}.chat-popup-messages::-webkit-scrollbar-track{background:#ffffff0d;border-radius:.25rem}.chat-popup-messages::-webkit-scrollbar-thumb{background:#fff3;border-radius:.25rem}.chat-popup-messages::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.chat-popup-messages .message{animation:fadeInUp .3s ease;display:flex;flex-direction:column;gap:.333rem;max-width:85%}.chat-popup-messages .user-message{align-self:flex-end}.chat-popup-messages .assistant-message{align-self:flex-start}.chat-popup-messages .message-header{align-items:center;display:flex;gap:.667rem;padding:0 .833rem}.chat-popup-messages .message-sender{font-size:1.167rem;font-weight:600;letter-spacing:.025rem}.chat-popup-messages .user-message .message-sender{color:#62b5e5e6}.chat-popup-messages .assistant-message .message-sender{color:#a05eb5e6}.chat-popup-messages .message-time{color:#fff6;font-size:1.167rem}.chat-popup-messages .message-content{word-wrap:break-word;border-radius:1rem;font-size:1.333rem;letter-spacing:.025rem;line-height:1.5;padding:.833rem 1rem;white-space:pre-wrap}.chat-popup-messages .user-message .message-content{background:linear-gradient(135deg,#62b5e5,#4a9fd4);border-bottom-right-radius:.333rem;color:#fff}.chat-popup-messages .assistant-message .message-content{background:#ffffff14;border:1px solid #ffffff26;border-bottom-left-radius:.333rem;color:#ffffffe6}.chat-popup-messages .typing-indicator .message-content{padding:1rem 1.333rem}.chat-popup-messages .typing-dots{align-items:center;display:flex;gap:.417rem}.chat-popup-messages .typing-dots span{animation:typing 1.4s infinite;background:#a05eb599;border-radius:50%;height:.5rem;width:.5rem}.chat-popup-messages .typing-dots span:nth-child(2){animation-delay:.2s}.chat-popup-messages .typing-dots span:nth-child(3){animation-delay:.4s}.chat-popup-input-container{align-items:flex-end;background:#ffffff0d;border-radius:0 0 1.333rem 1.333rem;border-top:1px solid #ffffff1a;display:flex;flex-shrink:0;gap:.833rem;padding:1rem 1.333rem}.chat-popup-input{background:#ffffff14;border:1px solid #ffffff26;border-radius:.667rem;color:#fff;flex:1 1;font-family:inherit;font-size:1.333rem;line-height:1.4;max-height:8.333rem;overflow-y:auto;padding:.833rem 1rem;resize:none;transition:all .3s}.chat-popup-input::placeholder{color:#fff6}.chat-popup-input:focus{background:#ffffff1a;border-color:#62b5e5;outline:none}.chat-popup-input::-webkit-scrollbar{width:.333rem}.chat-popup-input::-webkit-scrollbar-track{background:#0000}.chat-popup-input::-webkit-scrollbar-thumb{background:#fff3;border-radius:.167rem}.chat-popup-send-button{align-items:center;background:linear-gradient(135deg,#a05eb5,#8a4e9d);border:none;border-radius:.667rem;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:3.5rem;justify-content:center;transition:all .3s;width:3.5rem}.chat-popup-send-button svg{height:1.667rem;width:1.667rem}.chat-popup-send-button:hover:not(:disabled){background:linear-gradient(135deg,#b56ec5,#a05eb5);transform:scale(1.05)}.chat-popup-send-button:active:not(:disabled){transform:scale(.95)}.chat-popup-send-button:disabled{background:#ffffff1a;cursor:not-allowed;opacity:.5}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{left:0;position:absolute;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.leaflet-tile::selection{background:#0000}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{height:1600px;-webkit-transform-origin:0 0;width:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-height:none!important;max-width:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-height:none!important;max-width:none!important;padding:0;width:auto}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;height:0;width:0;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{height:1px;width:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{pointer-events:visiblePainted;pointer-events:auto;position:relative;z-index:800}.leaflet-bottom,.leaflet-top{pointer-events:none;position:absolute;z-index:1000}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{clear:both;float:left}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;color:#000;display:block;height:26px;line-height:26px;text-align:center;text-decoration:none;width:26px}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.leaflet-bar a.leaflet-disabled{background-color:#f4f4f4;color:#bbb;cursor:default}.leaflet-touch .leaflet-bar a{height:30px;line-height:30px;width:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);height:36px;width:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{height:44px;width:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{background:#fff;color:#333;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{overflow-x:hidden;overflow-y:scroll;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;line-height:1.4;padding:0 5px}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;height:.6669em;vertical-align:initial!important;width:1em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{background:#fffc;border:2px solid #777;border-top:none;box-sizing:border-box;line-height:1.1;padding:2px 5px 1px;text-shadow:1px 1px #fff;white-space:nowrap}.leaflet-control-scale-line:not(:first-child){border-bottom:none;border-top:2px solid #777;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{margin-bottom:20px;position:absolute;text-align:center}.leaflet-popup-content-wrapper{border-radius:12px;padding:1px;text-align:left}.leaflet-popup-content{font-size:13px;font-size:1.08333em;line-height:1.3;margin:13px 24px 13px 20px;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{height:20px;left:50%;margin-left:-20px;margin-top:-1px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.leaflet-popup-tip{height:17px;margin:-10px auto 0;padding:1px;pointer-events:auto;transform:rotate(45deg);width:17px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;box-shadow:0 3px 14px #0006;color:#333}.leaflet-container a.leaflet-popup-close-button{background:#0000;border:none;color:#757575;font:16px/24px Tahoma,Verdana,sans-serif;height:24px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:24px}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678);margin:0 auto;width:24px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{background-color:#fff;border:1px solid #fff;border-radius:3px;box-shadow:0 1px 3px #0006;color:#222;padding:6px;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;white-space:nowrap}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{background:#0000;border:6px solid #0000;content:"";pointer-events:none;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{border-top-color:#fff;bottom:0;margin-bottom:-12px}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-left:-6px;margin-top:-12px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;left:0;margin-left:-12px}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.geomap-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff26;border-radius:12px;height:100%;overflow:hidden;position:relative;width:100%}.geomap{border-radius:12px;height:100%;width:100%;z-index:1}.geomap .leaflet-interactive,.geomap path.leaflet-interactive:focus{outline:none}.geomap .leaflet-control-zoom{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c2340e6;border:1px solid #ffffff26;border-radius:8px;overflow:hidden}.geomap .leaflet-control-zoom a{background-color:#0c2340e6;border:none;border-bottom:1px solid #ffffff1a;color:#62b5e5;font-size:18px;font-weight:700;height:32px;line-height:32px;transition:all .2s ease;width:32px}.geomap .leaflet-control-zoom a:last-child{border-bottom:none}.geomap .leaflet-control-zoom a:hover{background-color:#62b5e533;color:#fff}.geomap .leaflet-control-zoom-in,.geomap .leaflet-control-zoom-out{text-shadow:none}.geomap .leaflet-control-attribution{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c2340cc;border:1px solid #ffffff1a;border-radius:4px;color:#fff9;font-size:10px;padding:2px 6px}.geomap .leaflet-control-attribution a{color:#62b5e5;text-decoration:none}.geomap .leaflet-control-attribution a:hover{color:#fff;text-decoration:underline}.geomap .leaflet-tooltip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c2340f2;border:1px solid #ffffff26;border-radius:6px;box-shadow:0 4px 12px #0000004d;color:#fff;font-size:13px;font-weight:500;padding:6px 10px}.geomap .leaflet-tooltip-top:before{border-top-color:#0c2340f2}.geomap .leaflet-tooltip-bottom:before{border-bottom-color:#0c2340f2}.geomap .leaflet-tooltip-left:before{border-left-color:#0c2340f2}.geomap .leaflet-tooltip-right:before{border-right-color:#0c2340f2}.geomap-error{align-items:center;display:flex;justify-content:center;min-height:400px}.geomap-error-message{color:#ffffffb3;padding:20px;text-align:center}.geomap-error-message p{font-size:14px;font-weight:500;margin:0}.geomap .leaflet-popup-content-wrapper{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c2340f2;border:1px solid #ffffff26;border-radius:8px;color:#fff;padding:0}.geomap .leaflet-popup-content{font-size:13px;line-height:1.5;margin:12px 16px}.geomap .leaflet-popup-tip{background:#0c2340f2}.geomap .leaflet-popup-close-button{color:#62b5e5;font-size:20px;font-weight:700;padding:4px 8px}.geomap .leaflet-popup-close-button:hover{color:#fff}.geomap a:focus,.geomap button:focus{outline:2px solid #62b5e5;outline-offset:2px}.geomap-legend{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c2340f2;border:1px solid #ffffff26;border-radius:8px;bottom:20px;color:#fff;display:flex;flex-direction:column;padding:12px;position:absolute;right:20px;top:20px;z-index:1000}.legend-title{border-bottom:1px solid #ffffff1a;flex-shrink:0;font-size:13px;margin-bottom:12px;padding-bottom:6px;text-align:center}.legend-gradient-container{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:6px;min-height:0}.legend-gradient-bar{border-radius:4px;display:block;flex:1 1;min-height:0}.legend-max-label,.legend-min-label{color:#ffffffe6;font-size:12px;font-weight:600;text-align:center}.legend-max-label{margin-bottom:4px}.legend-min-label{margin-top:4px}@media (max-width:768px){.geomap .leaflet-control-zoom a{font-size:16px;height:28px;line-height:28px;width:28px}.geomap .leaflet-control-attribution{font-size:9px;padding:1px 4px}.geomap-legend{bottom:10px;padding:10px;right:10px;top:10px}.legend-title{font-size:12px}.legend-gradient-bar{width:30px}.legend-max-label,.legend-min-label{font-size:11px}}.industrial-map-container{border-radius:.5rem;height:100%;overflow:hidden;position:relative;width:100%}.industrial-map-legend{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c2340f2;border:1px solid #62b5e54d;border-radius:.5rem;bottom:1rem;color:#ffffffe6;font-size:.75rem;left:1rem;max-width:180px;padding:.75rem;position:absolute;z-index:10}.legend-section{margin-bottom:.75rem}.legend-title{color:#fffffff2;font-size:.8rem;margin-bottom:.5rem}.legend-item{gap:.5rem;margin-bottom:.35rem}.legend-circle{background-color:#62b5e5;border:1px solid #0c2340}.legend-circle.legend-small{height:6px;width:6px}.legend-circle.legend-medium{height:10px;width:10px}.legend-circle.legend-large{height:16px;width:16px}.legend-divider{margin:.5rem 0}.legend-note{color:#fff9;font-size:.7rem;font-style:italic;margin-top:.25rem}.industrial-map-tooltip-content{color:#fffffff2;line-height:1.5}.industrial-map-tooltip-content strong{color:#62b5e5;font-weight:600}.heatmap-container{border-radius:4px;cursor:grab;height:100%;overflow:hidden;position:relative;width:100%}.heatmap-container.is-panning{cursor:grabbing}.heatmap-image{height:100%;max-height:420px;object-fit:contain;transition:transform .1s ease-out;width:100%}.heatmap-indicator{background:#0c2340cc;border:1px solid #ffffff26;border-radius:4px;bottom:10px;color:#ffffffe6;font-size:11px;padding:6px 12px;pointer-events:none;position:absolute;right:10px}.kpi-card{align-items:center;background:#0c234066;border:1px solid #fff3;border-radius:.5rem;display:flex;flex:1 1;flex-direction:row;gap:.5rem;height:8rem;min-width:0;padding:1rem 1.167rem;transition:all .3s}.kpi-card:hover{background:#0c234099;border-color:#ffffff4d;transform:translateY(-.083rem)}.kpi-content{flex:1 1 50%;flex-direction:row;justify-content:flex-end;min-width:0}.kpi-content,.kpi-main{align-items:center;display:flex;gap:.667rem}.kpi-label{word-wrap:break-word;color:#bdbdbd;flex:1 1 50%;font-size:1.1rem;font-weight:600;letter-spacing:.025rem;line-height:1.2;text-transform:uppercase}.kpi-value{font-size:1.35rem;line-height:1.2;overflow-wrap:break-word;white-space:normal}.kpi-subvalue,.kpi-value{color:#fff;font-weight:700}.kpi-subvalue{background-color:#cbd5e1;border-radius:.25rem;display:inline-block;font-size:1.167rem;line-height:1;min-width:2rem;padding:.4rem .6rem;text-align:center}.kpi-subvalue.rating-A{background-color:#2d6a4f}.kpi-subvalue.rating-B{background-color:#40916c}.kpi-subvalue.rating-C{background-color:#74c69d}.kpi-subvalue.rating-D{background-color:#f4a261}.kpi-subvalue.rating-E{background-color:#e76f51}.kpi-subvalue.rating-F{background-color:#d62828}.kpi-subvalue.rating-G{background-color:#7a0177}.kpi-change{align-items:center;display:flex;font-size:1rem;font-weight:600;gap:.333rem;margin-left:auto;white-space:nowrap}.kpi-change.positive{color:#22f152}.kpi-change.negative{color:#ff1f1f}.kpi-change.neutral{color:#fff}.kpi-change-label{color:#bdbdbd;font-weight:500}.lfz-centroid-map-container{background-color:#1a1a1a;border-radius:12px;height:100%;min-height:400px;overflow:hidden;position:relative;width:100%}.lfz-centroid-map-container canvas{border-radius:12px}.lfz-centroid-tooltip-content{color:#fffffff2;font-size:12px;line-height:1.6}.lfz-centroid-tooltip-content strong{color:#62b5e5}.lfz-centroid-legend{border-radius:10px;bottom:70px;padding:14px 18px;position:absolute;right:20px;z-index:100}.lfz-centroid-legend.viz-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c2340f2}.lfz-network-type-legend{border-radius:10px;bottom:20px;left:50%;max-width:95%;padding:10px 20px;position:absolute;transform:translateX(-50%);width:auto;z-index:100}.lfz-network-type-legend.viz-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c2340f2}.legend-section{margin-bottom:12px}.legend-section:last-child{margin-bottom:0}.legend-divider{background:#ffffff26;height:1px;margin:12px 0}.legend-title{font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.legend-item{margin-bottom:6px}.legend-item:last-child{margin-bottom:0}.legend-circle{background:#fff;border:1px solid #ffffff4d;border-radius:50%;flex-shrink:0;margin-right:8px}.legend-square{border-radius:2px}.legend-triangle{background:#0000!important;border:5px solid #0000;border-bottom:8.66px solid;border-radius:0;border-top:none;height:0;width:0}.legend-triangle.legend-medium{border-bottom-width:8.66px;border-left-width:5px;border-right-width:5px}.legend-diamond{border-radius:0;transform:rotate(45deg)}.legend-pentagon{border-radius:0;-webkit-clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%);clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%)}.legend-small{height:3.5px;width:3.5px}.legend-medium{height:8px;width:8px}.legend-large{height:12px;width:12px}.network-map-container{background:#0a1929;border-radius:8px;height:100%;overflow:hidden;position:relative;width:100%}.network-map-container canvas{outline:none}.network-map-legend{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c2340f2;border:1px solid #62b5e580;border-radius:8px;color:#fff;font-family:system-ui,-apple-system,sans-serif;font-size:12px;padding:12px 16px;position:absolute;right:20px;top:5.5px;z-index:10}.network-map-legend .legend-section{margin-bottom:12px}.network-map-legend .legend-section:last-child{margin-bottom:0}.network-map-legend .legend-title{color:#62b5e5;font-size:13px;font-weight:600;margin-bottom:8px}.network-map-legend .legend-subsection{margin-bottom:10px}.network-map-legend .legend-subsection:last-child{margin-bottom:0}.network-map-legend .legend-subtitle{color:#fff9;font-size:11px;font-weight:500;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.network-map-legend .legend-item{align-items:center;display:flex;gap:8px;margin-bottom:6px}.network-map-legend .legend-item:last-child{margin-bottom:0}.network-map-legend .legend-circle{border-radius:50%;flex-shrink:0;height:10px;margin:2px;width:10px}.network-map-legend .legend-circle-small{height:6px;margin:4px;width:6px}.network-map-legend .legend-circle-medium{height:10px;margin:2px;width:10px}.network-map-legend .legend-circle-large{height:14px;margin:0;width:14px}.network-map-legend .legend-line{border-radius:1px;flex-shrink:0;height:3px;width:20px}.network-map-legend .legend-line-thin{height:2px}.network-map-legend .legend-line-medium{height:4px}.network-map-legend .legend-line-thick{height:6px}.network-map-legend span{color:#ffffffe6}.network-map-legend .legend-stat-item{align-items:center;display:flex;font-size:12px;justify-content:space-between;margin-bottom:6px}.network-map-legend .legend-stat-item:last-child{margin-bottom:0}.network-map-legend .stat-label{color:#ffffffb3;font-weight:500}.network-map-legend .stat-value{color:#fff;font-family:SF Mono,Monaco,Courier New,monospace;font-weight:600}.sparkline-container{overflow:hidden;position:relative;width:100%}.sparkline-canvas{cursor:crosshair;display:block;height:auto;width:100%}.sparkline-tooltip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c2340f2;border:1px solid #ffffff4d;border-radius:.5rem;box-shadow:0 .25rem .75rem #0000004d;padding:.5rem .75rem;pointer-events:none;position:fixed;transform:translateX(-50%);z-index:1000}.sparkline-tooltip-year{color:#ffffffb3;font-size:.75rem;font-weight:600;margin-bottom:.25rem;text-align:center}.sparkline-tooltip-value{color:#62b5e5;font-size:1.25rem;font-weight:700;text-align:center}.stacked-bar-container{display:flex;flex-direction:column;gap:12px;height:100%;width:100%}.stacked-bar-canvas-wrapper{flex:1 1;min-height:0;overflow:hidden;position:relative}.stacked-bar-canvas{display:block;height:100%;width:100%}.stacked-bar-legend{align-items:baseline;display:flex;flex-wrap:nowrap;gap:8px;justify-content:center;max-height:80px;overflow-y:auto;padding:4px 0}.legend-item{font-size:10px;gap:4px}.stacked-area-container{display:flex;flex-direction:column;gap:8px;height:100%;width:100%}.stacked-area-canvas-wrapper{flex:1 1;min-height:0;overflow:hidden;position:relative}.stacked-area-canvas{display:block;height:100%;width:100%}.stacked-area-legend{align-items:baseline;display:flex;flex-wrap:nowrap;gap:16px;justify-content:flex-start;max-height:80px;overflow-x:auto;overflow-y:hidden;padding:8px 12px}.legend-item{color:#ffffffe6;flex-shrink:0;font-size:11px;gap:6px}.legend-color{flex-shrink:0;width:12px}.legend-label{font-size:10px;white-space:nowrap}.piechart-container{display:flex;flex-direction:column;gap:1rem;height:100%;min-height:0;position:relative;width:100%}.piechart-canvas-wrapper{flex:1 1;min-height:0;min-width:0;position:relative}.piechart-canvas{cursor:pointer;display:block;height:100%;width:100%}.piechart-legend{display:flex;flex-direction:row;flex-shrink:0;flex-wrap:wrap;gap:.75rem;padding:0}.legend-item{.legend-item{align-items:flex-start;border-radius:.333rem;color:#fffc;cursor:pointer;display:flex;flex:0 1 auto;font-size:.933rem;gap:.667rem;min-width:10rem;padding:.5rem;transition:all .2s ease}.legend-item-hovered,legend-item:hover{background:#ffffff0d;color:#fff}.legend-color{border:1px solid #ffffff26;border-radius:.167rem;flex-shrink:0;height:1rem;margin-top:.167rem;width:1rem}.legend-text{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:0}.legend-label{word-wrap:break-word;font-weight:500;line-height:1.2}.legend-value{color:#fff9;font-size:.8rem;font-weight:400;@media (max-width:768px){.legend-item{flex-basis:calc(50% - 0.375rem);flex-grow:1;flex-shrink:1;min-width:8rem}}@media (max-width:480px){.legend-item{flex:1 1 100%}}flex:1 1 100%}}.vector-tile-map{background:#0c2340;height:100%;min-height:400px;overflow:hidden;position:relative;width:100%}.vector-tile-map,.vector-tile-map canvas{border-radius:8px}.overview-kpi-card.industrial-analysis-summary{background:#0c234099;color:#fff;display:flex;flex-direction:column;font-family:Inter,sans-serif;gap:0;justify-content:flex-start;overflow:hidden;padding:1.25rem}.ia-stats-grid{align-items:center;background:#ffffff08;border:1px solid #62b5e54d;border-bottom-color:#ffffff1a;border-radius:8px 8px 0 0;box-shadow:0 0 8px #62b5e526;display:grid;grid-template-columns:1fr 1fr;margin:0}.ia-stat-main{border-right:1px solid #ffffff1a;display:flex;flex-direction:column;gap:.25rem;padding:1.5rem}.ia-score-row{align-items:baseline;display:flex;gap:.5rem}.ia-score-value{color:#fff;font-size:4.5rem;font-weight:700;line-height:1;text-shadow:0 0 30px #62b5e599}.ia-score-unit{color:#cbd5e1;font-size:2.5rem;font-weight:700}.ia-stat-change{align-items:baseline;display:flex;flex-wrap:nowrap;font-size:1.7rem;font-weight:500;gap:.5rem}.ia-stat-change-label{color:#94a3b8;font-size:1rem;font-weight:400;white-space:nowrap}.ia-stat-change .positive{color:#22c55e}.ia-stat-change .negative{color:#ef4444}.ia-stat-secondary{gap:1rem;height:100%;justify-content:center;padding:1.5rem}.ia-stat-row,.ia-stat-secondary{display:flex;flex-direction:column}.ia-stat-row{gap:.1rem}.ia-stat-label{color:#cbd5e1;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase}.ia-stat-val-group{align-items:baseline;display:flex;gap:.5rem}.ia-stat-value{color:#fff;font-size:1.8rem;font-weight:700}.ia-stat-unit{color:#cbd5e1;font-size:.7em;font-weight:600}.ia-stat-sub{color:#94a3b8;font-size:1rem}.ia-stat-sub.positive{color:#22c55e}.ia-stat-sub.negative{color:#ef4444}.ia-chart-section{background:#ffffff08;border:1px solid #62b5e54d;border-bottom:none;border-radius:0;border-top:none;box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;gap:.5rem;margin:0;min-height:14rem;padding:1rem .5rem;width:100%}.ia-chart-header{color:#cbd5e1;font-size:1.1rem;font-weight:600;margin-bottom:.5rem;text-transform:uppercase}.ia-chart-wrapper{align-items:stretch;display:flex;flex:1 1 auto;gap:.5rem;min-height:0}.ia-chart-axis-y{color:#94a3b8;display:flex;flex-direction:column;font-size:1.1rem;font-weight:500;height:100%;justify-content:space-between;min-width:52px;padding-bottom:5px}.ia-chart-container{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.ia-chart-container .sparkline-container{flex:1 1 auto;height:100%;min-height:0}.ia-chart-axis-x{color:#cbd5e1;display:flex;flex:0 0 auto;font-size:1.1rem;justify-content:space-between;margin-top:.5rem;padding:0 30px 0 15px}.ia-distribution-section{background:#ffffff08;border:1px solid #62b5e54d;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 0 8px #62b5e526;display:flex;flex-direction:column;gap:.5rem;margin:0;min-height:10rem;padding:1rem}.ia-section-label{color:#cbd5e1;font-size:1.1rem;font-weight:600;text-transform:uppercase}.ia-stacked-bar{background:#334155;border-radius:4px;display:flex;height:36px;overflow:hidden;position:relative}.ia-bar-segment{align-items:center;display:flex;height:100%;justify-content:center;position:relative;transition:width .3s ease}.ia-bar-label{color:#000c;font-size:.95rem;font-weight:700;overflow:hidden;padding:0 4px;text-overflow:ellipsis;white-space:nowrap}.ia-no-data{color:#94a3b8;font-size:.95rem}.industry-gas-view{display:flex;gap:1.25rem;height:100%}.dropdown-container{position:relative}.dropdown-toggle{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:.333rem;color:#fff;cursor:pointer;display:flex;font-size:1.167rem;justify-content:space-between;padding:.667rem 1rem;text-align:left;transition:all .2s;width:100%}.dropdown-toggle:hover{background:#ffffff26;border-color:#e3520580}.dropdown-toggle:focus{border-color:#e35205;outline:none}.dropdown-arrow{color:#fff9;font-size:.833rem;transition:transform .2s}.dropdown-menu{background:#0c2340f2;border:1px solid #ffffff1a;border-radius:.333rem;margin-top:.333rem;max-height:25rem;overflow-y:auto;padding:.667rem;position:fixed;width:25rem;z-index:20000}.dropdown-actions{border-bottom:1px solid #ffffff1a;display:flex;gap:.667rem;margin-bottom:.667rem;padding:.333rem .667rem 1rem}.action-button{background:#e352051a;border:1px solid #e3520580;border-radius:.333rem;color:#e35205;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.5rem 1rem;transition:all .3s}.action-button:hover{background:#e352054d;border-color:#e35205}.action-button:active{transform:scale(.98)}.dropdown-menu::-webkit-scrollbar{width:.667rem}.dropdown-menu::-webkit-scrollbar-track{background:#ffffff0d;border-radius:.333rem}.dropdown-menu::-webkit-scrollbar-thumb{background:#e35205;border-radius:.333rem}.dropdown-item{align-items:center;border-radius:.333rem;color:#ffffffe6;cursor:pointer;display:flex;font-size:1.083rem;font-weight:400;gap:.667rem;padding:.5rem .667rem;transition:background-color .15s}.dropdown-item:hover{background:#ffffff1a}.dropdown-item input[type=checkbox]{accent-color:#62b5e5;cursor:pointer;flex-shrink:0;height:1.333rem;width:1.333rem}.dropdown-label{line-height:1.4}.checkbox-list{display:flex;flex-direction:column;gap:.667rem;margin-right:-.417rem;max-height:16.667rem;overflow-y:auto;padding:.417rem .417rem .417rem 0}.checkbox-list::-webkit-scrollbar{width:.667rem}.checkbox-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:.333rem}.checkbox-list::-webkit-scrollbar-thumb{background:#62b5e5;border-radius:.333rem}.checkbox-list::-webkit-scrollbar-thumb:hover{background:#4a9fd4}.checkbox-item{align-items:center;color:#ffffffe6;cursor:pointer;display:flex;font-size:1.083rem;font-weight:400;gap:.667rem;padding-right:.667rem}.checkbox-item input[type=checkbox]{accent-color:#62b5e5;cursor:pointer;flex-shrink:0;height:1.333rem;width:1.333rem}.checkbox-label{line-height:1.4}.radio-item{color:#ffffffe6}.overview-kpi-card.substation-analysis-summary{background:#0c234099;color:#fff;display:flex;flex-direction:column;font-family:Inter,sans-serif;gap:0;justify-content:flex-start;overflow:hidden;padding:1.25rem}.sa-stats-grid{align-items:center;background:#ffffff08;border:1px solid #62b5e54d;border-bottom-color:#ffffff1a;border-radius:8px 8px 0 0;box-shadow:0 0 8px #62b5e526;display:grid;grid-template-columns:1fr 1fr;margin:0}.sa-stat-main{border-right:1px solid #ffffff1a;display:flex;flex-direction:column;gap:.25rem;padding:1.5rem}.sa-score-row{align-items:baseline;display:flex;gap:.5rem}.sa-score-value{color:#fff;font-size:4.5rem;font-weight:700;line-height:1;text-shadow:0 0 30px #62b5e599}.sa-score-unit{color:#cbd5e1;font-size:2.5rem;font-weight:700}.sa-stat-change{align-items:baseline;display:flex;flex-wrap:nowrap;font-size:1.7rem;font-weight:500;gap:.5rem}.sa-stat-change-label{color:#94a3b8;font-size:1rem;font-weight:400;white-space:nowrap}.sa-stat-change .positive{color:#22c55e}.sa-stat-change .negative{color:#ef4444}.sa-stat-secondary{gap:1rem;height:100%;justify-content:center;padding:1.5rem}.sa-stat-row,.sa-stat-secondary{display:flex;flex-direction:column}.sa-stat-row{gap:.1rem}.sa-stat-label{color:#cbd5e1;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase}.sa-stat-val-group{align-items:baseline;display:flex;gap:.5rem}.sa-stat-value{color:#fff;font-size:1.8rem;font-weight:700}.sa-stat-sub{color:#94a3b8;font-size:1rem}.sa-stat-sub.positive{color:#22c55e}.sa-stat-sub.negative{color:#ef4444}.sa-stat-sub.neutral{color:#94a3b8}.sa-chart-section{background:#ffffff08;border:1px solid #62b5e54d;border-bottom:none;border-radius:0;border-top:none;box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;gap:.5rem;margin:0;min-height:14rem;padding:1rem .5rem;width:100%}.sa-chart-header{color:#cbd5e1;font-size:1.1rem;font-weight:600;margin-bottom:.5rem;text-transform:uppercase}.sa-chart-wrapper{align-items:stretch;display:flex;flex:1 1 auto;gap:.5rem;min-height:0}.sa-chart-axis-y{color:#94a3b8;display:flex;flex-direction:column;font-size:1.1rem;font-weight:500;height:100%;justify-content:space-between;min-width:56px;padding-bottom:5px}.sa-chart-container{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.sa-chart-container .sparkline-container{flex:1 1 auto;height:100%;min-height:0}.sa-chart-axis-x{color:#cbd5e1;display:flex;flex:0 0 auto;font-size:1.1rem;justify-content:space-between;margin-top:.5rem;padding:0 30px 0 15px}.sa-distribution-section{background:#ffffff08;border:1px solid #62b5e54d;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 0 8px #62b5e526;display:flex;flex-direction:column;gap:.5rem;margin:0;min-height:10rem;padding:1rem}.sa-section-label{color:#cbd5e1;font-size:1.1rem;font-weight:600;text-transform:uppercase}.sa-stacked-bar{background:#334155;border-radius:4px;display:flex;height:36px;overflow:hidden;position:relative}.sa-bar-segment{align-items:center;display:flex;height:100%;justify-content:center;position:relative;transition:width .3s ease}.sa-bar-label{color:#000c;font-size:.95rem;font-weight:700;overflow:hidden;padding:0 4px;text-overflow:ellipsis;white-space:nowrap}.sa-no-data{color:#94a3b8;font-size:.95rem}.substation-demand-view{display:flex;gap:1.25rem;height:100%}.radio-list{flex-direction:column;padding:.417rem 0}.radio-item,.radio-list{display:flex;gap:.667rem}.radio-item{align-items:center;color:#fffc;cursor:pointer;font-size:1.083rem;font-weight:400}.radio-item input[type=radio]{accent-color:#e35205;cursor:pointer;flex-shrink:0;height:1.333rem;width:1.333rem}.viz-full,.viz-medium{flex:1 1}.overview-kpi-card.network-assets-analysis-summary{background:#0c234099;color:#fff;display:flex;flex-direction:column;font-family:Inter,sans-serif;gap:0;justify-content:flex-start;overflow:hidden;padding:1.25rem}.na-stats-grid{align-items:center;background:#ffffff08;border:1px solid #62b5e54d;border-bottom-color:#ffffff1a;border-radius:8px 8px 0 0;box-shadow:0 0 8px #62b5e526;display:grid;grid-template-columns:1fr 1fr;margin:0}.na-stat-main{border-right:1px solid #ffffff1a;display:flex;flex-direction:column;gap:.25rem;padding:1.5rem}.na-score-row{align-items:baseline;display:flex;gap:.5rem}.na-score-value{color:#fff;font-size:4.5rem;font-weight:700;line-height:1;text-shadow:0 0 30px #62b5e599}.na-score-unit{color:#cbd5e1;font-size:2.5rem;font-weight:700}.na-stat-change{align-items:baseline;display:flex;flex-wrap:nowrap;font-size:1.7rem;font-weight:500;gap:.5rem}.na-stat-change-label{color:#94a3b8;font-size:1rem;font-weight:400;white-space:nowrap}.na-stat-change .positive{color:#22c55e}.na-stat-change .negative{color:#ef4444}.na-stat-secondary{gap:1rem;height:100%;justify-content:center;padding:1.5rem}.na-stat-row,.na-stat-secondary{display:flex;flex-direction:column}.na-stat-row{gap:.1rem}.na-stat-label{color:#cbd5e1;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase}.na-stat-val-group{align-items:baseline;display:flex;gap:.5rem}.na-stat-value{color:#fff;font-size:1.8rem;font-weight:700}.na-stat-unit{color:#cbd5e1;font-size:.7em;font-weight:600}.na-stat-sub{font-size:.85rem;font-weight:500;margin-top:.25rem}.na-stat-sub.positive{color:#22c55e}.na-stat-sub.negative{color:#ef4444}.na-stat-sub.neutral{color:#94a3b8}.na-chart-section{background:#ffffff08;border:1px solid #62b5e54d;border-bottom:none;border-radius:0;border-top:none;box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;gap:.5rem;margin:0;min-height:14rem;padding:1rem .5rem;width:100%}.na-chart-header{color:#cbd5e1;font-size:1.1rem;font-weight:600;margin-bottom:.5rem;text-transform:uppercase}.na-chart-wrapper{align-items:stretch;display:flex;flex:1 1 auto;gap:.5rem;min-height:0}.na-chart-axis-y{color:#94a3b8;display:flex;flex-direction:column;font-size:1.1rem;font-weight:500;height:100%;justify-content:space-between;min-width:46px;padding-bottom:5px}.na-chart-container{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.na-chart-container .sparkline-container{flex:1 1 auto;height:100%;min-height:0}.na-chart-axis-x{color:#cbd5e1;display:flex;flex:0 0 auto;font-size:1.1rem;justify-content:space-between;margin-top:.5rem;padding:0 30px 0 15px}.na-distribution-section{background:#ffffff08;border:1px solid #62b5e54d;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 0 8px #62b5e526;display:flex;flex-direction:column;gap:.5rem;margin:0;min-height:10rem;padding:1rem}.na-section-label{color:#cbd5e1;font-size:1.1rem;font-weight:600;text-transform:uppercase}.na-stacked-bar{background:#334155;border-radius:4px;display:flex;height:36px;overflow:hidden;position:relative}.na-bar-segment{align-items:center;display:flex;height:100%;justify-content:center;position:relative;transition:width .3s ease}.na-bar-label{color:#000c;font-size:.95rem;font-weight:700;overflow:hidden;padding:0 4px;text-overflow:ellipsis;white-space:nowrap}.na-no-data{color:#94a3b8;font-size:.95rem}.view-network-details-filter-button{background:linear-gradient(135deg,#62b5e5,#0c2340);border:1px solid #fff3;border-radius:6px;box-shadow:0 4px 12px #62b5e54d;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .3s ease;width:100%}.view-network-details-filter-button:hover:not(:disabled){background:linear-gradient(135deg,#7ac5f0,#1a3a5e);box-shadow:0 6px 16px #62b5e566;transform:translateY(-2px)}.view-network-details-filter-button:active:not(:disabled){transform:translateY(0)}.view-network-details-filter-button:disabled{background:#62b5e533;box-shadow:none;cursor:not-allowed;opacity:.4}.network-assets-view{display:flex;gap:1.25rem;height:100%}.viz-side-card-row{display:flex;flex:1 1;gap:1rem;min-height:0}.viz-side-card-half{display:flex;flex:1 1;flex-direction:column;min-height:0;min-width:0}.viz-side-card-half h4{color:#ffffffe6;font-size:14px;font-weight:500;margin:0 0 .75rem}.viz-side-card-half .viz-placeholder{flex:1 1;min-height:0;overflow:hidden}.network-action-overlay{align-items:flex-end;display:flex;flex-direction:column;gap:12px;position:absolute;right:20px;top:20px;z-index:10}.selected-lfz-info{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c2340f2;border:1px solid #62b5e580;border-radius:8px;box-shadow:0 4px 12px #0000004d;padding:8px 16px}.selected-lfz-label{color:#62b5e5;font-size:13px;font-weight:500}.view-details-button{background:linear-gradient(135deg,#62b5e5,#0c2340);border:1px solid #fff3;border-radius:8px;box-shadow:0 4px 12px #62b5e54d;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .3s ease}.view-details-button:hover{background:linear-gradient(135deg,#7ac5f0,#1a3a5e);box-shadow:0 6px 16px #62b5e566;transform:translateY(-2px)}.view-details-button:active{transform:translateY(0)}.detailed-network-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;display:flex;gap:20px;justify-content:space-between;padding:16px}.detailed-network-header .header-left{align-items:center;display:flex;flex:1 1;gap:16px}.detailed-network-header .header-stats{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;display:flex;gap:24px;padding:8px 16px}.detailed-network-header .header-stats .stat-item{align-items:center;display:flex;gap:8px}.detailed-network-header .header-stats .stat-label{color:#ffffffb3;font-size:13px;font-weight:500}.detailed-network-header .header-stats .stat-value{color:#fff;font-weight:600}.detailed-network-header .header-filters{align-items:flex-end;display:flex;gap:12px}.detailed-network-header .header-filters .filter-item{display:flex;flex-direction:column;gap:4px;min-width:200px;position:relative}.detailed-network-header .header-filters label{color:#ffffffb3;font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.detailed-network-header .header-filters .filter-input{background:#0c234099;border:1px solid #62b5e54d;border-radius:6px;color:#fff;font-family:system-ui,-apple-system,sans-serif;font-size:13px;padding:6px 28px 6px 10px;transition:all .2s ease}.detailed-network-header .header-filters .filter-input:focus{background:#0c2340cc;border-color:#62b5e5;box-shadow:0 0 0 3px #62b5e51a;outline:none}.detailed-network-header .header-filters .filter-input::placeholder{color:#fff6}.detailed-network-header .header-filters .clear-filter-btn{background:#0000;border:none;bottom:6px;color:#ffffff80;cursor:pointer;font-size:11px;padding:3px;position:absolute;right:6px;transition:color .2s ease}.detailed-network-header .header-filters .clear-filter-btn:hover{color:#ff1f1f}.detailed-network-info{align-items:center;background:#62b5e51a;border:1px solid #62b5e54d;border-radius:6px;display:flex;gap:8px;justify-content:center;padding:10px 16px}.detailed-network-info .info-text{color:#ffffffe6;font-size:13px;font-weight:500}.back-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;color:#62b5e5;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.back-button:hover{background:#62b5e526;border-color:#62b5e54d;transform:translateX(-2px)}.detailed-network-header h3{color:#fffffff2;font-size:18px;font-weight:500;margin:0}.detailed-network-stats{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;display:flex;gap:24px;margin-bottom:16px;padding:16px}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-label{color:#fff9;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.stat-value{color:#62b5e5;font-size:18px;font-weight:600}.detailed-network-map-container{flex:1 1;min-height:500px;overflow:hidden;position:relative}.detailed-network-legend,.detailed-network-map-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px}.detailed-network-legend{display:flex;gap:32px;padding:16px}.legend-section{flex:1 1}.legend-section h5{color:#ffffffe6;font-size:13px;font-weight:500;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.legend-item{align-items:center;display:flex;gap:8px;margin-bottom:8px}.legend-color{border:1px solid #fff3;border-radius:2px;height:12px;width:20px}.legend-label{color:#ffffffd9;font-size:12px;text-transform:capitalize}.overview-kpi-grid .overview-kpi-card.property-analysis-summary{--overview-top-kpi-height:24rem;--overview-chart-height:14rem}.overview-kpi-card.property-analysis-summary{background:#0c234099;color:#fff;display:flex;flex-direction:column;font-family:Inter,sans-serif;gap:0;height:100%;justify-content:flex-start;min-height:0;overflow:hidden;padding:1.25rem}.pa-header{align-items:center;color:#e2e8f0;display:flex;font-size:.9rem;font-weight:600;gap:.75rem;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.pa-header-icon{color:#62b5e5;height:20px;width:20px}.pa-header-icon svg{height:100%;width:100%}.pa-stats-grid{align-items:stretch;background:#ffffff08;border:1px solid #62b5e54d;border-bottom-color:#ffffff1a;border-radius:8px 8px 0 0;box-shadow:0 0 8px #62b5e526;display:grid;grid-template-columns:1fr;grid-template-rows:1fr 1fr;margin:0;z-index:3}.pa-stat-main{border-bottom:1px solid #ffffff1a;display:flex;flex-direction:column;gap:.25rem;min-height:0;overflow:hidden;padding:1.5rem}.pa-score-row{align-items:center;display:flex;gap:.75rem}.pa-score-value{color:#fff;font-size:4.5rem;font-weight:700;line-height:1;text-shadow:0 0 30px #62b5e599}.pa-rating-badge{align-items:center;background:#cbd5e1;border-radius:4px;box-shadow:0 0 10px #0003;color:#fff;display:flex;font-size:1.5rem;font-weight:700;height:36px;justify-content:center;width:36px}.pa-rating-badge.rating-A{background:#2d6a4f;box-shadow:0 0 15px #2d6a4f66}.pa-rating-badge.rating-B{background:#40916c;box-shadow:0 0 15px #40916c66}.pa-rating-badge.rating-C{background:#74c69d;box-shadow:0 0 15px #74c69d66}.pa-rating-badge.rating-D{background:#f4a261;box-shadow:0 0 15px #f4a26166}.pa-rating-badge.rating-E{background:#e76f51;box-shadow:0 0 15px #e76f5166}.pa-rating-badge.rating-F{background:#d62828;box-shadow:0 0 15px #d6282866}.pa-rating-badge.rating-G{background:#7a0177;box-shadow:0 0 15px #7a017766}.pa-stat-change{align-items:baseline;display:flex;flex-wrap:nowrap;font-size:1.7rem;font-weight:500;gap:.5rem}.pa-stat-change-label{color:#94a3b8;font-size:1rem;font-weight:400;white-space:nowrap}.pa-stat-change .positive{color:#22c55e}.pa-stat-change .negative{color:#ef4444}.pa-stat-secondary{gap:1rem;height:100%;justify-content:center;min-height:0;overflow:hidden;padding:1.5rem}.pa-stat-row,.pa-stat-secondary{display:flex;flex-direction:column}.pa-stat-row{gap:.1rem}.pa-stat-label{color:#cbd5e1;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase}.pa-stat-val-group{align-items:baseline;display:flex;gap:.5rem}.pa-stat-value{color:#fff;font-size:1.8rem;font-weight:700}.pa-stat-sub{color:#94a3b8;font-size:1rem}.pa-stat-sub.positive{color:#22c55e}.pa-stat-sub.negative{color:#ef4444}.pa-stat-sub.neutral{color:#94a3b8}.pa-chart-section{background:#ffffff08;border:1px solid #62b5e54d;border-bottom:none;border-radius:0;border-top:none;box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;gap:.5rem;margin:0;min-height:14rem;padding:1rem .5rem;width:100%;z-index:2}.pa-chart-header{color:#cbd5e1;font-size:1.1rem;font-weight:600;margin-bottom:.5rem;text-transform:uppercase}.pa-chart-wrapper{align-items:stretch;display:flex;flex:1 1 auto;gap:.5rem;min-height:0}.pa-chart-axis-y{color:#94a3b8;display:flex;flex-direction:column;font-size:1.1rem;font-weight:500;height:100%;justify-content:space-between;min-width:30px;padding-bottom:5px}.pa-chart-container{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.pa-chart-container .sparkline-container{flex:1 1 auto;height:100%;min-height:0}.pa-chart-axis-x{color:#cbd5e1;display:flex;flex:0 0 auto;font-size:1.1rem;justify-content:space-between;margin-top:.5rem;padding:0 30px 0 15px}.pa-distribution-section{background:#ffffff08;border:1px solid #62b5e54d;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 0 8px #62b5e526;display:flex;flex-direction:column;gap:.5rem;margin:0;min-height:10rem;padding:1rem;z-index:1}.pa-section-label{color:#cbd5e1;font-size:1.1rem;font-weight:600;text-transform:uppercase}.pa-stacked-bar{background:#334155;border-radius:4px;display:flex;height:36px;overflow:hidden;position:relative}.pa-bar-segment{align-items:center;display:flex;height:100%;justify-content:center;position:relative;transition:width .3s ease}.pa-bar-segment.highlight{box-shadow:0 0 10px currentColor;z-index:2}.pa-bar-label{color:#000c;font-size:.95rem;font-weight:700;overflow:hidden;padding:0 4px;text-overflow:ellipsis;white-space:nowrap}.pa-axis-labels{color:#64748b;display:none;font-size:.7rem;margin-top:.2rem}.property-analysis-summary .overview-card-icon{display:none}.property-summary-content{padding-top:0}.property-analysis-summary .overview-key-graph-title{margin-bottom:.5rem}.property-analysis-summary .overview-key-graph-content{height:auto!important;margin-bottom:0;min-height:0}.property-analysis-summary .overview-key-graph-content>*{flex:0 0 auto!important;height:auto;min-height:0}.property-analysis-summary .overview-kpi-item{background:#0000;border:none;padding:.5rem 0}.property-analysis-summary .overview-kpi-list{flex:0 0 auto!important;gap:.25rem;justify-content:flex-start!important;margin-top:0;padding-top:0}.property-analysis-summary .overview-kpi-label{font-size:1.1rem;font-weight:600}.property-analysis-summary .overview-kpi-value-large{font-size:4.5rem;font-weight:700;line-height:1}.property-analysis-summary .overview-kpi-value-medium{font-size:2.25rem;font-weight:700}.property-analysis-summary .overview-kpi-change{font-size:1.4rem;font-weight:600}.property-analysis-summary .overview-kpi-list{gap:.5rem}.property-distributions{align-items:stretch;display:flex;flex-direction:column;gap:0;height:100%;justify-content:space-evenly;padding:.5rem 0}.distribution-section{display:flex;flex:1 1;flex-direction:column;gap:.6rem;justify-content:center}.distribution-section h5{color:#fffc;font-size:1rem;font-weight:500;letter-spacing:.05rem;margin:0;text-transform:uppercase}.property-map-legend{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c2340e6;border:1px solid #ffffff26;border-radius:8px;bottom:2rem;box-shadow:0 4px 12px #0000004d;min-width:200px;padding:1rem;position:absolute;right:2rem}.property-map-legend .legend-title{color:#e2e8f0;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:.75rem;text-transform:uppercase}.property-map-legend .legend-gradient{display:flex;flex-direction:column;gap:.5rem}.property-map-legend .legend-gradient-bar{border-radius:4px;box-shadow:inset 0 1px 3px #0000004d;height:16px}.property-map-legend .legend-labels{color:#cbd5e1;display:flex;font-size:.75rem;font-weight:500;justify-content:space-between}.overview-kpi-card{background:#ffffff0d;border:1px solid #ffffff26;border-radius:1rem;display:flex;flex-direction:column;justify-content:space-between;min-height:0;padding:2rem;transition:all .3s ease}.overview-kpi-card:hover{background:#ffffff14;border-color:#ffffff40;transform:translateY(-.167rem)}.overview-kpi-value-large{color:#fff;font-size:3.5rem;font-weight:700;line-height:1}.overview-kpi-value-medium{color:#fff;font-size:1.75rem;font-weight:700}.overview-kpi-item.overview-kpi-large{padding:1.5rem 1.333rem}.overview-kpi-item.overview-kpi-small{padding:1rem 1.333rem}.overview-key-graph{border-bottom:1px solid #ffffff1a;margin-bottom:1.5rem;padding-bottom:4rem;padding-top:0}.overview-key-graph-title{color:#ffffffb3;font-size:1.2rem;font-weight:600;letter-spacing:.042rem;margin-bottom:1rem;text-align:center;text-transform:uppercase}.overview-key-graph-content{display:flex;flex-direction:column;height:20rem;position:relative}.overview-key-graph-content>*{flex:1 1;min-height:0;width:100%}.overview-kpi-grid{--overview-top-kpi-height:24rem;--overview-top-kpi-padding-y:1.1rem;--overview-top-kpi-padding-x:1.1rem;--overview-label-font:clamp(0.75rem,0.6vw,0.9rem);--overview-score-font:clamp(2.7rem,3.2vw,4.6rem);--overview-unit-font:clamp(1.8rem,2vw,2.8rem);--overview-secondary-font:clamp(1.15rem,1.05vw,1.7rem);--overview-change-font:clamp(0.95rem,0.85vw,1.3rem)}.overview-kpi-grid .overview-kpi-card,.overview-kpi-grid .overview-kpi-card *{min-width:0}.overview-kpi-grid .overview-kpi-card [class$=-stats-grid]{align-items:stretch;grid-template-columns:1fr!important;grid-template-rows:1fr 1fr;height:var(--overview-top-kpi-height);min-height:var(--overview-top-kpi-height)}.overview-kpi-grid .overview-kpi-card [class$=-stat-main],.overview-kpi-grid .overview-kpi-card [class$=-stat-secondary]{height:100%}.overview-kpi-grid .overview-kpi-card [class$=-stat-main]{border-bottom:1px solid #ffffff1a;border-right:none!important}.overview-kpi-grid .overview-kpi-card [class$=-stat-main],.overview-kpi-grid .overview-kpi-card [class$=-stat-secondary]{min-height:0;overflow:hidden;padding:var(--overview-top-kpi-padding-y) var(--overview-top-kpi-padding-x)}.overview-kpi-grid .overview-kpi-card [class$=-stat-main]{container-type:inline-size;justify-content:center}.overview-kpi-grid .overview-kpi-card [class$=-chart-section]{flex:1 1 auto;min-height:0}.overview-kpi-grid .overview-kpi-card .sparkline-container,.overview-kpi-grid .overview-kpi-card [class$=-chart-container],.overview-kpi-grid .overview-kpi-card [class$=-chart-wrapper]{min-height:0}.overview-kpi-grid .overview-kpi-card [class$=-chart-container],.overview-kpi-grid .overview-kpi-card [class$=-chart-wrapper]{height:100%}.overview-kpi-grid .overview-kpi-card [class$=-stat-label]{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:var(--overview-label-font)!important;line-height:1.15;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}.overview-kpi-grid .overview-kpi-card [class$=-score-row]{align-items:baseline;flex-wrap:nowrap;gap:.4rem;justify-content:flex-start;width:100%}.overview-kpi-grid .overview-kpi-card [class$=-score-value]{flex:0 1 auto;font-size:clamp(2.5rem,28cqi,var(--overview-score-font))!important;line-height:1;min-width:0;overflow:hidden;text-overflow:clip;text-shadow:0 0 10px #62b5e540!important;white-space:nowrap}.overview-kpi-grid .overview-kpi-card [class$=-score-unit]{flex:0 0 auto;font-size:clamp(1.6rem,18cqi,var(--overview-unit-font))!important;font-weight:700!important;line-height:1;text-shadow:none;white-space:nowrap}.overview-kpi-grid .overview-kpi-card [class$=-stat-unit]{flex:0 0 auto;white-space:nowrap}.overview-kpi-grid .overview-kpi-card [class$=-stat-val-group]{flex-wrap:wrap;gap:.4rem}.overview-kpi-grid .overview-kpi-card [class$=-stat-value]{font-size:var(--overview-secondary-font);line-height:1.05;white-space:nowrap}.overview-kpi-grid .overview-kpi-card [class$=-stat-change]{flex-wrap:wrap;font-size:var(--overview-change-font);line-height:1.1}.overview-kpi-grid .overview-kpi-card [class$=-stat-change-label]{font-size:var(--overview-label-font);overflow-wrap:anywhere;white-space:normal}.overview-kpi-grid .property-analysis-summary .pa-rating-badge{flex:0 0 auto;font-size:clamp(1.1rem,1vw,1.5rem);height:clamp(28px,2.2vw,36px);width:clamp(28px,2.2vw,36px)}.error-boundary-fallback{align-items:center;background:#ff1f1f0d;border:1px solid #ff1f1f33;border-radius:.5rem;display:flex;justify-content:center;margin:1rem;min-height:200px;padding:2rem}.error-boundary-content{max-width:400px;text-align:center}.error-boundary-icon{font-size:2.5rem;margin-bottom:1rem}.error-boundary-content h3{color:#ff1f1f;font-size:1.25rem;margin-bottom:.5rem}.error-boundary-message{color:#ffffffb3;font-size:.9rem;margin-bottom:1rem}.error-boundary-details{background:#0003;border-radius:.25rem;margin-bottom:1rem;padding:.5rem;text-align:left}.error-boundary-details summary{color:#ffffff80;cursor:pointer;font-size:.8rem}.error-boundary-details pre{color:#fff9;font-size:.7rem;margin-top:.5rem;max-height:150px;overflow-x:auto;overflow-y:auto}.error-boundary-retry{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff26;border-radius:.375rem;color:#ffffffe6;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.error-boundary-retry:hover{background:#ffffff1f;border-color:#ffffff40}.main-app-wrapper.chat-ai-mode{box-sizing:border-box;display:flex;flex-direction:column;height:100vh;overflow:hidden}.page-header{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:.667rem;display:flex;flex-shrink:0;gap:1.667rem;margin-bottom:1rem;margin-top:1.5rem;padding:1rem 1.667rem}.page-content{display:flex;flex-direction:column}.chat-ai-mode .page-content{flex:1 1;min-height:0;overflow:hidden}.page-header .logo-placeholder{align-items:center;background:#ffffff0d;border:1px solid #ffffff26;border-radius:.333rem;color:#ffffff80;display:flex;flex-shrink:0;font-size:1.167rem;font-weight:600;height:4.167rem;justify-content:center;width:4.167rem}.page-title{color:#fff;font-size:3.667rem;font-weight:600;letter-spacing:.042rem;margin:0}.home-button,.toggle-view-button{align-items:center;background:#ffffff0d;border:1px solid #fff3;border-radius:.5rem;color:#ffffffe6;cursor:pointer;display:flex;font-size:1.25rem;font-weight:600;gap:.667rem;letter-spacing:.025rem;padding:.833rem 1.5rem;transition:all .3s ease;white-space:nowrap}.home-button{margin-left:auto}.home-button svg,.toggle-view-button svg{height:1.5rem;width:1.5rem}.home-button:hover,.toggle-view-button:hover{background:#ffffff1a;border-color:#ffffff4d}.toggle-view-button{background:#e352051a;border-color:#e3520580;color:#e35205;min-width:15rem}.toggle-view-button:hover{background:#e3520533;border-color:#e35205}.nav-buttons{display:flex;gap:1.667rem}.nav-button{background:#0c23401a;border:1px solid #fff3;border-radius:.5rem;box-shadow:0 2px 8px #0000004d;color:#ffffffe6;cursor:pointer;flex:1 1;font-size:1.5rem;font-weight:600;letter-spacing:.025rem;padding:.833rem 1.667rem;transition:all .3s ease;white-space:nowrap}.nav-button:hover{background:#0c2340cc;border-color:#ffffff4d;box-shadow:0 4px 12px #0006;transform:translateY(-.167rem)}.nav-button:active{box-shadow:0 1px 4px #0000004d;transform:translateY(0)}.nav-button.active{background:#62b5e54d;border-color:#62b5e5;box-shadow:0 2px 8px #62b5e566;color:#fff}.nav-button.active:hover{background:#62b5e566;border-color:#62b5e5;box-shadow:0 4px 12px #62b5e580}.info-button{align-items:center;background:#a05eb54d;border:1px solid #a05eb580;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.667rem;font-style:italic;font-weight:700;height:3.333rem;justify-content:center;transition:all .3s ease;width:3.333rem}.info-button:hover{background:#a05eb580;border-color:#a05eb5;transform:translateY(-.167rem)}.info-button:active{transform:translateY(0)}.settings-button{align-items:center;background:#62b5e51a;border:1px solid #62b5e580;border-radius:.5rem;color:#62b5e5;cursor:pointer;display:flex;flex-shrink:0;font-size:1.167rem;font-weight:600;gap:.5rem;letter-spacing:.025rem;padding:.833rem 1.5rem;transition:all .3s ease;white-space:nowrap}.settings-button svg{height:1.25rem;width:1.25rem}.settings-button:hover{background:#62b5e533;border-color:#62b5e5;transform:translateY(-.167rem)}.settings-button:active{transform:translateY(0)}.logout-button{background:#e352051a;border:1px solid #e3520580;border-radius:.5rem;color:#e35205;cursor:pointer;flex-shrink:0;font-size:1.167rem;font-weight:600;letter-spacing:.025rem;padding:.833rem 1.667rem;transition:all .3s ease;white-space:nowrap}.logout-button:hover{background:#e3520533;border-color:#e35205;transform:translateY(-.167rem)}.logout-button:active{transform:translateY(0)}.info-modal{max-height:85vh;max-width:66.667rem;min-width:50rem}.info-modal .modal-body{max-height:calc(85vh - 80px)}.info-modal h3{color:#62b5e5;font-size:1.5rem;font-weight:400;letter-spacing:.042rem;margin-bottom:.833rem;margin-top:1.667rem}.info-modal h3:first-child{margin-top:0}.info-modal p{color:#fffc;line-height:1.6;margin-bottom:1rem}.info-modal ol,.info-modal ul{margin-bottom:1.333rem;padding-left:2rem}.info-modal li{color:#fffc;line-height:1.6;margin-bottom:.667rem}.info-modal strong{color:#e35205}@media (max-width:1024px){.page-header{flex-wrap:wrap;gap:1rem}.page-title{font-size:2.333rem;text-align:center;width:100%}.home-button{margin-left:0}.nav-buttons{order:10;width:100%}}@media (max-width:768px){.page-header{padding:.833rem 1.25rem}.page-title{font-size:1.667rem}.logo-container img{max-width:6.667rem}.home-button,.info-button,.logout-button{font-size:1.083rem;padding:.667rem 1rem}.info-button{font-size:1.5rem;height:3rem;width:3rem}.nav-button{font-size:1.667rem;padding:.667rem .833rem}}.dashboard-layout{background:#ffffff05;border:1px solid #ffffff1a;border-radius:.667rem;display:flex;flex-direction:column;gap:1rem;height:calc(100vh - 15rem);margin:0;max-width:100%;min-width:0;overflow:hidden;padding:1rem}.trajectory-selector-strip{align-items:center;display:flex;flex-shrink:0;gap:1.667rem;justify-content:space-between}.trajectory-select{transition:all .2s}.trajectory-info-button{transition:all .3s ease}.export-button-strip{background:#e35205;border:none;border-radius:.5rem;color:#fff;cursor:pointer;flex:0 0 auto;font-size:1.167rem;font-weight:600;padding:.833rem 1.667rem;transition:all .2s ease;white-space:nowrap}.export-button-strip:hover{transform:translateY(-.083rem)}.export-button-strip:active{transform:translateY(0)}.trajectory-description{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:.667rem;flex-shrink:0;padding:1.333rem 1.667rem;text-align:center}.dashboard-main{gap:1.25rem}.dashboard-content-area,.dashboard-main{display:flex;flex:1 1;min-height:0;min-width:0}.dashboard-content-area{flex-direction:column;width:100%}.overview-kpi-grid{grid-gap:1.667rem;display:grid;flex:1 1;gap:1.667rem;grid-template-columns:repeat(5,minmax(0,1fr));min-height:0}@media (max-width:1400px){.overview-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.overview-kpi-grid{grid-template-columns:1fr}}.overview-kpi-list{display:flex;flex:1 1;flex-direction:column;gap:0;justify-content:space-evenly;min-height:0}.overview-kpi-item{background:#ffffff08;border:1px solid #ffffff1a;border-radius:.5rem;display:flex;flex-direction:column;gap:1rem;padding:1.333rem}.overview-kpi-label{color:#fff9;font-size:.917rem;font-weight:600;letter-spacing:.042rem;line-height:1.3;text-transform:uppercase}.overview-kpi-value-row{align-items:baseline;display:flex;gap:.833rem}.overview-kpi-value{color:#fff;font-size:2rem;font-weight:700}.overview-kpi-visualization{margin-top:.333rem}.overview-kpi-visualization .kpi-boxplot{max-width:none;min-width:0}.overview-kpi-change{font-size:1.083rem;font-weight:600}.overview-kpi-change.positive{color:#22f152}.overview-kpi-change.negative{color:#ff1f1f}.overview-kpi-change.neutral{color:#ffffffb3}.detailed-view-container{display:flex;flex:1 1;flex-direction:column;gap:1rem;min-height:0;min-width:0;position:relative;width:100%}.kpi-row{display:flex;flex-shrink:0;gap:1.333rem;min-height:8.333rem}.view-content{display:flex;flex:1 1;flex-direction:column;min-height:0;min-width:0;width:100%}.navigation-bar{grid-gap:1.25rem;border-top:1px solid #ffffff1a;display:grid;flex-shrink:0;gap:1.25rem;grid-template-columns:23.333rem 1fr;padding-top:.667rem}.footer-export-button{background:#e35205;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1.167rem;font-weight:600;letter-spacing:.025rem;padding:1.167rem 1.667rem;transition:all .3s;white-space:nowrap}.footer-export-button:hover{background:#ff6a1f;transform:translateY(-.167rem)}.footer-export-button:active{transform:translateY(0)}.footer-placeholder-button{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:.5rem;color:#ffffff4d;cursor:not-allowed;font-size:1.167rem;font-weight:600;letter-spacing:.025rem;padding:1.167rem 1.667rem;white-space:nowrap}@media (max-width:1400px){.dashboard-title{margin-bottom:1rem;position:static}.trajectory-selector-strip{flex-direction:column;gap:1rem}.dashboard-main{flex-direction:column}.filters-sidebar{max-width:none;order:2;width:100%}.dashboard-content-area{order:1}.navigation-bar{gap:.833rem;grid-template-columns:1fr}.kpi-row,.nav-buttons{flex-wrap:wrap}.overview-kpi-grid{grid-template-columns:1fr}}@media (max-width:768px){.dashboard-layout{gap:.667rem;height:auto;min-height:calc(100vh - 140px);padding:.667rem}.trajectory-selector-strip{padding:.667rem}.dashboard-title{font-size:1.5rem}.trajectory-label-chip{font-size:1.167rem}.trajectory-select{font-size:1.167rem;min-width:100%}.kpi-row{flex-direction:column;gap:.667rem}.nav-button{font-size:1.083rem;padding:.833rem 1rem}.overview-kpi-grid{gap:1rem}.overview-kpi-card{padding:1.333rem}.aggregation-filters-panel,.view-filters-container{padding:1.25rem}}.data-loading-overlay{align-items:center;animation:fadeIn .3s ease-in;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c2340f2;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.data-loading-overlay.contained{border-radius:inherit;position:absolute;z-index:1000}.data-loading-overlay.overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c2340e6;border-radius:inherit;bottom:0;left:0;position:absolute;right:0;top:0;z-index:10}.loading-content{color:#fff;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff1a;border-radius:50%;border-top-color:#62b5e5;height:60px;margin:0 auto 2rem;width:60px}.loading-content h3{color:#fff;font-size:1.5rem;margin-bottom:.5rem}.loading-content p{color:#ffffffb3;font-size:1rem}.progress-bar-container{background:#ffffff1a;border-radius:4px;height:8px;margin:1rem auto;overflow:hidden;width:300px}.progress-bar-fill{background:linear-gradient(90deg,#62b5e5,#a05eb5);border-radius:4px;height:100%;transition:width .3s ease-out}.error-count{font-weight:700}.loading-errors{align-items:center;background:#ff1f1f1a;border:1px solid #ff1f1f4d;border-radius:.5rem;display:flex;flex-direction:column;margin-top:2rem;max-width:500px;padding:1rem;text-align:left}.error-warning{color:#ff1f1f;font-size:1rem;font-weight:700;margin-bottom:.5rem}.error-detail{color:#fffc;font-family:Courier New,monospace;font-size:1rem;margin:.25rem 0}.continue-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff26;border-radius:.375rem;color:#ffffffe6;cursor:pointer;display:inline-block;font-size:1rem;font-weight:500;margin-top:1rem;padding:.5rem 1rem;transition:all .2s ease;width:auto}.continue-button:hover{background:#ffffff1f;border-color:#ffffff40;color:#fff}.continue-button:active{background:#ffffff0f}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.visualization-dashboard{display:flex;flex-direction:column;max-width:100%;padding:0 0 1rem}.export-modal{max-height:80vh;max-width:50rem;min-width:33.333rem;overflow:hidden;padding:0}.export-modal .modal-body{max-height:calc(80vh - 80px)}.export-modal .modal-body p{font-size:1.167rem;margin-bottom:1.333rem}.export-options{display:flex;flex-direction:column;gap:.667rem;margin-bottom:2rem}.radio-option{align-items:center;background:#ffffff14;border:1px solid #ffffff26;border-radius:.5rem;cursor:pointer;display:flex;gap:1rem;padding:1rem 1.333rem;transition:all .2s}.radio-option:hover{background-color:#e35205;border-color:#e35205;transform:translateX(.333rem)}.radio-option:hover span{color:#fff}.radio-option input[type=radio]{accent-color:#e35205;cursor:pointer;flex-shrink:0;height:1.5rem;margin:0;width:1.5rem}.radio-option span{color:#ffffffe6;flex:1 1;font-size:1.333rem;font-weight:500}.modal-buttons{display:flex;gap:1rem;justify-content:flex-end}.cancel-button{background:#ffffff0d;border:1px solid #fff3;border-radius:.5rem;color:#ffffffb3;cursor:pointer;font-size:1.167rem;font-weight:600;letter-spacing:.025rem;padding:.833rem 2rem;transition:all .3s}.cancel-button:hover{background:#ffffff1a;border-color:#fff6;color:#ffffffe6}.cancel-button:active{transform:translateY(.083rem)}.export-confirm-button{background:#e35205;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1.167rem;font-weight:600;letter-spacing:.025rem;padding:.833rem 2rem;transition:all .3s}.export-confirm-button:hover{background:#ff6a1f;transform:translateY(-.167rem)}.export-confirm-button:active{transform:translateY(0)}.no-trajectories-message{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:1rem;display:flex;flex-direction:column;justify-content:center;margin:2rem;min-height:60vh;padding:3rem;text-align:center}.no-trajectories-message h2{color:#fff;font-size:2rem;font-weight:600;margin-bottom:1rem}.no-trajectories-message p{color:#fffc;font-size:1.167rem;line-height:1.6;margin-bottom:2rem;max-width:40rem}.no-trajectories-message .btn-primary{align-items:center;background:#e352051a;border:1px solid #e3520580;border-radius:.5rem;color:#e35205;cursor:pointer;display:flex;font-size:1.25rem;font-weight:600;gap:.667rem;letter-spacing:.025rem;padding:.833rem 1.5rem;transition:all .3s ease;white-space:nowrap}.no-trajectories-message .btn-primary:hover{background:#e3520533;border-color:#e35205;transform:none}.chat-ai-dashboard{background:#ffffff08;border:1px solid #ffffff1a;border-radius:.667rem;box-sizing:border-box;display:flex;flex-direction:column;gap:1rem;height:100%;max-width:100%;overflow:hidden;padding:1rem}.chat-ai-dashboard .trajectory-selector-strip{align-items:center;display:flex;flex-shrink:0;gap:1.667rem;justify-content:space-between}.dashboard-title{color:#fffffff2;flex:0 0 auto;font-size:2rem;font-weight:700;letter-spacing:.042rem;margin:0}.trajectory-selector-group{align-items:center;display:flex;flex:1 1;gap:1rem;justify-content:center}.trajectory-label-chip{color:#ffffffe6;font-size:1.5rem;font-weight:600;letter-spacing:.025rem;white-space:nowrap}.trajectory-select-wrapper{flex:1 1;max-width:33.333rem;position:relative}.trajectory-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#ffffff1a;border:1px solid #fff3;border-radius:.333rem;color:#fff;cursor:pointer;font-size:1.333rem;font-weight:500;letter-spacing:.025rem;min-width:26.667rem;padding:.667rem 2.667rem .667rem 1rem;transition:all .3s;width:100%}.trajectory-select:hover{background:#ffffff26;border-color:#ffffff40}.trajectory-select:focus{background:#ffffff26;border-color:#a05eb5;outline:none}.trajectory-select option{background:#0c2340;color:#fff;padding:.667rem}.trajectory-info-button{align-items:center;background:#a05eb54d;border:1px solid #a05eb580;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;font-style:italic;font-weight:700;height:3rem;justify-content:center;transition:all .3s;width:3rem}.trajectory-info-button:hover{background:#a05eb580;border-color:#a05eb5;transform:translateY(-.167rem)}.chat-ai-dashboard .trajectory-description{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:.667rem;flex-shrink:0;padding:1.333rem 1.667rem;text-align:center}.trajectory-description p{color:#ffffffb3;font-size:1.333rem;letter-spacing:.025rem;line-height:1.6;margin:0}.chat-container{background:#ffffff0d;border:1px solid #ffffff26;border-radius:1rem;min-height:0;overflow:hidden}.chat-container,.chat-messages{display:flex;flex:1 1;flex-direction:column}.chat-messages{gap:1.333rem;overflow-y:auto;padding:2rem}.chat-messages::-webkit-scrollbar{width:.667rem}.chat-messages::-webkit-scrollbar-track{background:#ffffff0d;border-radius:.333rem}.chat-messages::-webkit-scrollbar-thumb{background:#fff3;border-radius:.333rem}.chat-messages::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.message{animation:fadeInUp .3s ease;display:flex;flex-direction:column;gap:.333rem;max-width:70%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(.833rem)}to{opacity:1;transform:translateY(0)}}.user-message{align-self:flex-end}.assistant-message{align-self:flex-start}.message-header{align-items:center;display:flex;gap:.667rem;padding:0 1rem}.message-sender{font-size:1rem;font-weight:600;letter-spacing:.025rem}.user-message .message-sender{color:#62b5e5e6}.assistant-message .message-sender{color:#a05eb5e6}.message-time{color:#fff6;font-size:.917rem}.message-content{word-wrap:break-word;border-radius:1rem;font-size:1.167rem;letter-spacing:.025rem;line-height:1.6;padding:1rem 1.333rem;white-space:pre-wrap}.user-message .message-content{background:linear-gradient(135deg,#62b5e5,#4a9fd4);border-bottom-right-radius:.333rem;color:#fff}.assistant-message .message-content{background:#ffffff14;border:1px solid #ffffff26;border-bottom-left-radius:.333rem;color:#ffffffe6}.typing-indicator .message-content{padding:1.333rem 1.667rem}.typing-dots{align-items:center;display:flex;gap:.5rem}.typing-dots span{animation:typing 1.4s infinite;background:#a05eb599;border-radius:50%;height:.667rem;width:.667rem}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.6;transform:translateY(0)}30%{opacity:1;transform:translateY(-.833rem)}}.chat-input-container{align-items:flex-end;background:#ffffff0d;border-top:1px solid #ffffff1a;display:flex;gap:1rem;padding:1.333rem 2rem}.chat-input{background:#ffffff14;border:1px solid #ffffff26;border-radius:.667rem;color:#fff;flex:1 1;font-family:inherit;font-size:1.167rem;line-height:1.5;max-height:10rem;overflow-y:auto;padding:1rem 1.333rem;resize:none;transition:all .3s}.chat-input::placeholder{color:#fff6}.chat-input:focus{background:#ffffff1a;border-color:#62b5e5;outline:none}.chat-input::-webkit-scrollbar{width:.5rem}.chat-input::-webkit-scrollbar-track{background:#0000}.chat-input::-webkit-scrollbar-thumb{background:#fff3;border-radius:.25rem}.send-button{align-items:center;background:linear-gradient(135deg,#a05eb5,#8a4e9d);border:none;border-radius:.667rem;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:3.667rem;justify-content:center;transition:all .3s;width:3.667rem}.send-button svg{height:1.667rem;width:1.667rem}.send-button:hover:not(:disabled){background:linear-gradient(135deg,#b56ec5,#a05eb5);transform:scale(1.05)}.send-button:active:not(:disabled){transform:scale(.95)}.send-button:disabled{background:#ffffff1a;cursor:not-allowed;opacity:.5}@media (max-width:768px){.trajectory-selector-strip{align-items:stretch;flex-direction:column;gap:1rem}.trajectory-selector-group{flex-wrap:wrap}.trajectory-select-wrapper{max-width:100%}.message{max-width:85%}.chat-input-container{padding:1rem 1.333rem}}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.modal-content{background:linear-gradient(135deg,#0c2340,#1a3a5f);border:1px solid #62b5e54d;border-radius:12px;box-shadow:0 20px 60px #00000080;max-height:90vh;max-width:500px;overflow-y:auto;padding:0;width:90%}.modal-header{align-items:center;border-bottom:1px solid #62b5e533;display:flex;justify-content:space-between;padding:24px}.modal-header h2{color:#62b5e5;font-size:24px;font-weight:600;margin:0}.modal-close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.modal-close-btn:hover{background-color:#e3520533;color:#e35205}.change-password-form,.forgot-password-form{padding:24px}.form-section{margin-bottom:20px}.form-description{color:#fffc;font-size:14px;line-height:1.5;margin:0}.form-group{margin-bottom:20px}.form-group label{color:#62b5e5;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input[type=email],.form-group input[type=text],.password-input{background-color:#ffffff1a;border:1px solid #62b5e54d;border-radius:6px;color:#fff;font-size:14px;padding:12px;transition:all .2s;width:100%}.form-group input[type=email]:focus,.form-group input[type=text]:focus,.password-input:focus{background-color:#ffffff26;border-color:#62b5e5;outline:none}.form-group input::placeholder,.password-input::placeholder{color:#fff6}.checkbox-group{margin-bottom:16px}.checkbox-label{align-items:center;color:#fffc;cursor:pointer;display:flex;font-size:14px}.checkbox-label input[type=checkbox]{cursor:pointer;margin-right:8px}.password-requirements{background-color:#62b5e51a;border:1px solid #62b5e54d;border-radius:6px;margin-bottom:20px;padding:16px}.password-requirements h4{color:#62b5e5;font-size:14px;font-weight:600;margin:0 0 12px}.password-requirements ul{list-style:none;margin:0;padding:0}.password-requirements li{color:#fff9;font-size:13px;padding:4px 0 4px 20px;position:relative}.password-requirements li:before{color:#fff6;content:"○";left:0;position:absolute}.password-requirements li.valid{color:#22f152}.password-requirements li.valid:before{color:#22f152;content:"✓"}.validation-errors{background-color:#e352051a;border:1px solid #e3520566;border-radius:6px;margin-bottom:16px;padding:12px}.error-item{color:#ff1f1f;font-size:13px;margin-bottom:6px}.error-item:last-child{margin-bottom:0}.error-message{background-color:#e352051a;border:1px solid #e3520566;border-radius:6px;color:#ff1f1f}.error-message,.success-message{font-size:14px;margin-bottom:16px;padding:12px}.success-message{background-color:#22f1521a;border:1px solid #22f15266;border-radius:6px;color:#22f152}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.btn-primary,.btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#62b5e5,#4a9cd4);color:#0c2340}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#7ac5f0,#62b5e5);box-shadow:0 4px 12px #62b5e566;transform:translateY(-1px)}.btn-secondary{background-color:#ffffff1a;border:1px solid #62b5e54d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#ffffff26;border-color:#62b5e5}.btn-primary:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.5;transform:none}.resend-code-text{color:#ffffffb3;font-size:13px;margin-top:16px;text-align:center}.resend-code-btn{background:none;border:none;color:#62b5e5;cursor:pointer;font-size:13px;margin-left:4px;padding:0;text-decoration:underline}.resend-code-btn:hover:not(:disabled){color:#7ac5f0}.resend-code-btn:disabled{cursor:not-allowed;opacity:.5}.login-screen{background:linear-gradient(135deg,#0c2340,#1a3a5c 50%,#0c2340);display:flex;height:100vh;overflow:hidden;position:relative;width:100vw}.login-screen:before{animation:moveBackground 20s linear infinite;background:radial-gradient(circle,#62b5e51a 1px,#0000 0);background-size:4.167rem 4.167rem;content:"";height:200%;left:-50%;opacity:.3;pointer-events:none;position:absolute;top:-50%;width:200%}.login-left{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:5rem;position:relative;z-index:1}.login-header{flex-shrink:0;margin-bottom:2rem}.logo-container{align-items:center;display:flex;justify-content:center}.login-logo{filter:drop-shadow(0 .333rem 1rem rgba(0,0,0,.3));height:auto;max-width:20.833rem}.login-content{align-items:center;display:flex;flex:1 1;justify-content:center;width:100%}.login-box{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:1.333rem;max-width:37.5rem;padding:2.5rem 3rem;transition:all .3s ease;width:100%}.login-box:hover{background:#ffffff14;border-color:#fff3}.login-title{color:#fff;font-size:2.667rem;font-weight:300;letter-spacing:.083rem;margin:0 0 .667rem;text-align:center}.login-subtitle{color:#62b5e5;font-size:1.333rem;font-weight:400;letter-spacing:.042rem;margin:0 0 2rem;text-align:center}.login-form{gap:2rem}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:.667rem}.form-group label{color:#ffffffe6;font-size:1.167rem;font-weight:600;letter-spacing:.025rem;margin-bottom:.333rem}.login-input{background:#ffffff1a;border:1px solid #fff3;border-radius:.667rem;box-sizing:border-box;color:#fff;font-size:1.25rem;padding:1.167rem 1.333rem;transition:all .3s ease;width:100%}.login-input:focus{background:#ffffff26;border-color:#62b5e5;outline:none}.login-input::placeholder{color:#fff6}.error-message{background:#e3520533;border-left:.333rem solid #e35205;border-radius:.333rem;color:#fff;font-size:1.167rem;font-weight:500;padding:1rem 1.333rem}.login-button{background:linear-gradient(135deg,#e35205,#c24404);border:none;border-radius:.667rem;color:#fff;cursor:pointer;font-size:1.333rem;font-weight:600;letter-spacing:.042rem;margin-top:.667rem;padding:1.333rem;transition:all .4s cubic-bezier(.4,0,.2,1);width:100%}.login-button:hover{background:linear-gradient(135deg,#ff6a1f,#e35205);transform:translateY(-.25rem)}.login-button:active{transform:translateY(-.083rem)}.login-footer-links{margin-top:.667rem;text-align:center}.login-link{color:#62b5e5;font-size:1.167rem;font-weight:500;letter-spacing:.025rem;text-decoration:none;transition:color .3s}.login-link:hover{color:#8ac9f0;text-decoration:underline}.login-footer{align-items:flex-end;display:flex;flex-shrink:0;margin-top:3.333rem}.logo-bottom-placeholder{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:1rem;color:#ffffff80;display:flex;font-size:1.333rem;font-weight:600;height:8.333rem;justify-content:center;transition:all .3s ease;width:16.667rem}.logo-bottom-placeholder:hover{background:#ffffff14;border-color:#fff3}.login-right{display:none}.federated-auth-section{margin-bottom:1.667rem}.microsoft-signin-button{background:linear-gradient(135deg,#e35205,#c24404);border:none;border-radius:.667rem;color:#fff;cursor:pointer;font-size:1.333rem;font-weight:600;letter-spacing:.042rem;padding:1.333rem;transition:all .4s cubic-bezier(.4,0,.2,1);width:100%}.microsoft-signin-button:hover:not(:disabled){background:linear-gradient(135deg,#ff6a1f,#e35205);transform:translateY(-.25rem)}.microsoft-signin-button:active:not(:disabled){transform:translateY(-.083rem)}.microsoft-signin-button:disabled{cursor:not-allowed;opacity:.6}.auth-divider{align-items:center;color:#ffffff80;display:flex;font-size:1.167rem;margin:2rem 0;text-align:center}.auth-divider:after,.auth-divider:before{border-bottom:1px solid #ffffff26;content:"";flex:1 1}.auth-divider span{font-weight:500;letter-spacing:.042rem;padding:0 1.333rem;text-transform:uppercase}.legacy-auth-section{background:#ffffff05;border:1px solid #ffffff1a;border-radius:.333rem;padding:.75rem}.legacy-auth-toggle{color:#fff9;cursor:pointer;font-size:1.167rem;font-weight:500;list-style:none;padding:1rem 1.333rem;transition:color .2s;-webkit-user-select:none;user-select:none}.legacy-auth-toggle::-webkit-details-marker{display:none}.legacy-auth-toggle:before{content:"▶";display:inline-block;font-size:1rem;margin-right:.667rem;transition:transform .2s}.legacy-auth-section[open] .legacy-auth-toggle:before{transform:rotate(90deg)}.legacy-auth-toggle:hover{color:#fffc}.legacy-auth-content{padding:0 1.333rem 1.333rem}.legacy-auth-section .login-form{gap:1.333rem;margin-top:0}.legacy-auth-section .error-message{margin-bottom:1rem}.landing-page{align-items:center;background:linear-gradient(135deg,#0c2340,#1a3a5c 50%,#0c2340);display:flex;height:100vh;justify-content:center;overflow:hidden;position:relative;width:100%}.landing-page:before{animation:moveBackground 20s linear infinite;background:radial-gradient(circle,#62b5e51a 1px,#0000 0);background-size:4.167rem 4.167rem;content:"";height:200%;left:-50%;opacity:.3;position:absolute;top:-50%;width:200%}.landing-content{max-width:100rem;padding:3.333rem;position:relative;width:100%;z-index:1}.landing-title{color:#fff;font-size:4rem;font-weight:300;letter-spacing:.083rem;margin-bottom:5rem;text-align:center}.landing-options{grid-gap:3.333rem;display:grid;gap:3.333rem;grid-template-columns:repeat(auto-fit,minmax(25rem,1fr));justify-content:center}.landing-option{align-items:center;background:#ffffff08;border:1px solid #ffffff1a;border-radius:1.333rem;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;padding:5rem 3.333rem;position:relative;text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1)}.landing-option:before{background:linear-gradient(135deg,#0000,#ffffff0d);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .4s ease}.landing-option:hover:before{opacity:1}.landing-option:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-.667rem)}.view-results:hover{border-color:#62b5e580}.run-simulation:hover{border-color:#e3520580}.chat-ai:hover{border-color:#a05eb580}.option-icon{color:#fff9;height:6.667rem;margin-bottom:2.5rem;transition:all .4s ease;width:6.667rem}.view-results:hover .option-icon{color:#62b5e5;transform:scale(1.1)}.run-simulation:hover .option-icon{color:#e35205;transform:scale(1.1) rotate(90deg)}.chat-ai:hover .option-icon{color:#a05eb5;transform:scale(1.1)}.option-title{color:#fff;font-size:2.667rem;font-weight:400;letter-spacing:.042rem;margin-bottom:1.333rem;transition:all .3s ease}.landing-option:hover .option-title{transform:translateY(-.333rem)}.view-results:hover .option-title{color:#62b5e5}.run-simulation:hover .option-title{color:#e35205}.chat-ai:hover .option-title{color:#a05eb5}.option-description{color:#ffffffb3;font-size:1.333rem;font-weight:300;line-height:1.6;max-width:25rem;transition:color .3s ease}.landing-option:hover .option-description{color:#ffffffe6}.landing-cancel-button{background:#0000;border:1px solid #fff3;border-radius:.667rem;color:#fff9;cursor:pointer;display:block;font-size:1.25rem;font-weight:500;letter-spacing:.042rem;margin-left:auto;margin-right:auto;margin-top:5rem;padding:1.167rem 3.333rem;transition:all .3s ease}.landing-cancel-button:hover{background:#ffffff0d;border-color:#fff6;color:#ffffffe6;transform:translateY(-.167rem)}.landing-cancel-button:active{transform:translateY(0)}.idle-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c2340f2;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.idle-modal-content{animation:slideUp .3s ease-out;background:linear-gradient(135deg,#0c2340fa,#1a3a5cfa);border:2px solid #62b5e54d;border-radius:1rem;box-shadow:0 1.25rem 3.125rem #00000080,0 0 3.125rem #62b5e533;max-width:28rem;padding:2.5rem;text-align:center;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}.idle-modal-title{color:#fff;font-size:1.75rem;font-weight:600;letter-spacing:-.02em;margin-bottom:1rem}.idle-modal-message{color:#ffffffe6;font-size:1.125rem;line-height:1.6;margin-bottom:.75rem}.idle-modal-submessage{color:#ffffffb3;font-size:.9375rem;line-height:1.5;margin-bottom:2rem}.idle-modal-button{background:linear-gradient(135deg,#62b5e5,#4a9cd4);border:none;border-radius:.5rem;box-shadow:0 .25rem .625rem #62b5e54d;color:#0c2340;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 2rem;transition:all .2s ease;width:100%}.idle-modal-button:hover{background:linear-gradient(135deg,#7ac4ee,#62b5e5);box-shadow:0 .375rem .9375rem #62b5e580;transform:translateY(-.125rem)}.idle-modal-button:active{box-shadow:0 .125rem .3125rem #62b5e54d;transform:translateY(0)}@media (max-width:48rem){.idle-modal-content{max-width:90%;padding:2rem}.idle-modal-icon{font-size:3rem}.idle-modal-title{font-size:1.5rem}.idle-modal-message{font-size:1rem}}.App{background:linear-gradient(135deg,#0c2340,#1a3a5c 50%,#0c2340);box-sizing:border-box;height:100vh;overflow:hidden;position:relative}.App:before{animation:moveBackground 20s linear infinite;background:radial-gradient(circle,#62b5e51a 1px,#0000 0);background-size:4.167rem 4.167rem;content:"";height:200%;left:-50%;opacity:.3;pointer-events:none;position:absolute;top:-50%;width:200%;z-index:0}@keyframes moveBackground{0%{transform:translate(0)}to{transform:translate(4.167rem,4.167rem)}}.App>*{position:relative;z-index:1}*{box-sizing:border-box;margin:0;padding:0}html{font-size:10px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}