:root{--primary-color:#00a651;--primary-hover:#008c44;--secondary-color:#0077c8;--border-color:#e0e0e0;--text-color:#333;--light-bg:#f5f5f5;--light-bg-alt:#f8f9fa;--error-color:#dc3545;--warning-color:#fff0d7;--heading-color:#2d2d2d;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--modal-overlay:rgba(0,0,0,.5);--font-family:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;--font-size-base:16px;--font-size-sm:12px;--font-size-md:18px;--font-size-lg:24px;--font-size-xl:32px;}#usgbc-eui-calculator *{font-family:var(--font-family);}.calculator-container{max-width:1400px;margin:0 auto;padding:var(--spacing-sm);}.calculator-title{margin-bottom:var(--spacing-xl);text-align:left;padding:40px 0;}.calculator-title h1{color:#2d2d2d;font-size:var(--font-size-xl);font-weight:500;line-height:1.2;letter-spacing:-.02em;margin:0 0 24px;font-family:"Poppins",sans-serif;}.calculator-description{color:var(--text-color);font-size:var(--font-size-base);line-height:1.7;margin:0 0 32px;text-align:left;font-family:"Poppins",sans-serif;font-weight:400;}.calculator-info{margin-top:40px;padding:32px;background:var(--light-bg-alt);border-radius:4px;}.calculator-info h2{color:var(--heading-color);font-size:var(--font-size-lg);font-weight:500;margin:0 0 20px;line-height:1.3;}.calculator-info p{font-size:var(--font-size-base);line-height:1.6;margin-bottom:var(--spacing-md);color:var(--text-color);}.calculator-info ul{list-style:none;padding-left:0;margin-bottom:0;}.calculator-info li{position:relative;padding-left:24px;margin-bottom:var(--spacing-sm);font-size:16px;line-height:1.5;color:var(--text-color);}.calculator-info li:before{content:"•";position:absolute;left:8px;color:var(--primary-color);}@media (max-width: 768px){.calculator-title{padding:24px 0;}.calculator-title h1{font-size:32px;margin:0 0 20px;}.calculator-description{font-size:16px;}}.usgbc-calculator-form-wrapper{display:grid;grid-template-columns:1fr;gap:var(--spacing-xl);}@media (min-width: 768px){.usgbc-calculator-form-wrapper{grid-template-columns:1fr 1fr;}.form-container{grid-column:1;}.results-container{grid-column:2/span 2;}}@media (min-width: 1200px){.usgbc-calculator-form-wrapper{grid-template-columns:1fr 1fr 1fr;}.form-container{grid-column:1;}.results-container{grid-column:2/span 2;height:fit-content;}.graphs-container{grid-column:3;grid-row:1;margin-top:0;border-top:none;padding-top:0;}}.form-container{min-width:300px;}.usgbc-calculator-form .building-info,.usgbc-calculator-form .energy-usage{background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.05);padding:var(--spacing-md);}.building-info,.energy-usage{margin-bottom:var(--spacing-xl);}.building-info h2,.energy-usage h2{color:var(--heading-color);font-size:var(--font-size-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--primary-color);}.form-field{margin-bottom:var(--spacing-lg);}.form-field label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--heading-color);font-size:medium;}.form-field input[type="number"]{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:15px;border-radius:0px;transition:border-color .3s ease;transition:border-color 2s;line-height:1.4375em;color:rgba(0,0,0,.87);box-sizing:border-box;cursor:text;display:inline-flex;align-items:center;position:relative;padding-left:14px;background:var(--light-bg);}.form-field input[type="number"]:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px rgba(0,166,81,.2);}.form-field input.error,.select-wrapper:has(input.error),select.error{border-color:var(--error-color);background-color:rgba(220,53,69,.05);}.form-actions{margin-top:var(--spacing-xl);text-align:center;}button#calculate-btn{background-color:var(--primary-color);color:white;border:none;border-radius:0px;padding:12px 24px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .3s ease;}button#calculate-btn:hover{background-color:var(--primary-hover);}.searchable-select-container{position:relative;width:100%;font-family:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}.select-wrapper{position:relative;display:flex;align-items:center;width:100%;height:51px;padding:0 12px;border:1px solid var(--border-color);background-color:#fff;cursor:pointer;transition:all .2s ease;}.select-wrapper:hover{border-color:#cbd5e1;}.select-wrapper:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(0,166,81,.2);outline:none;}.search-input{position:absolute;top:0;left:0;width:100%;height:100%;padding:0 40px 0 12px;border:none;background:transparent;font-size:17px;outline:none;z-index:2;opacity:0;}.search-input:focus{opacity:1;}.search-input:focus + .selected-value{opacity:0;}.selected-value{flex:1;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .2s ease;font-size:17px;}.dropdown-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#64748b;transition:transform .2s ease;}.searchable-select-container.open .dropdown-icon{transform:rotate(180deg);}.options-container{position:absolute;top:calc(100% + 5px);left:0;width:100%;max-height:250px;overflow-y:auto;background-color:#fff;border-radius:4px;border:1px solid var(--border-color);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);z-index:10;display:none;}.searchable-select-container.open .options-container{display:block;}.options-list{list-style:none;margin:0;padding:4px;}.option-item{padding:8px 12px;font-size:14px;color:var(--text-color);cursor:pointer;border-radius:4px;transition:background-color .2s ease;}.option-item:hover,.option-item.focused{background-color:rgba(0,166,81,.1);}.option-item.selected{background-color:rgba(0,166,81,.15);color:var(--primary-color);font-weight:500;}.option-item.hidden{display:none;}.no-results-message{padding:12px;text-align:center;color:#64748b;font-style:italic;font-size:var(--font-size-sm);}.searchable-select-container.error .select-wrapper{border-color:var(--error-color);background-color:rgba(220,53,69,.05);}.searchable-select-container.error .select-wrapper:focus-within{box-shadow:0 0 0 2px rgba(220,53,69,.2);}.searchable-select-container.error .selected-value{color:var(--error-color);}.results-container{min-width:300px;background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.05);padding:var(--spacing-md);display:none;}.results-container h2{color:var(--heading-color);font-size:var(--font-size-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--primary-color);text-align:center;}.results-grid-container{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);}.results-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);grid-column:1/-1;}@media (min-width: 768px){.results-grid{grid-template-columns:1fr 1fr 1fr;}}.result-card{transition:transform .2s ease,box-shadow .2s ease;}.result-card.primary{background:linear-gradient(to bottom right,#f0f9ff,#e6f7ff);border-left:4px solid var(--secondary-color);}.result-card.success{background:linear-gradient(to bottom right,#f0fff4,#e6ffec);border-left:4px solid var(--primary-color);}.result-item{margin-bottom:0;}.result-item .label{font-weight:500;margin-bottom:var(--spacing-sm);color:var(--heading-color);font-size:14px;}.result-item .value{font-size:24px;font-weight:600;color:var(--primary-color);display:inline-flex;align-items:center;overflow:hidden;text-overflow:ellipsis;word-break:break-all;font-variant:tabular-nums;}.result-item .unit{font-size:var(--font-size-sm);color:var(--heading-color);}.result-item .value.site-eui,.result-item .value.source-eui,.result-item .value.ghg-emissions{font-size:28px;}.percentiles-container{background:#f0f0f0;border-radius:8px;padding:var(--spacing-md);margin-bottom:var(--spacing-xl);display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md);grid-column:1/span 2;}.percentiles-container .result-item{text-align:center;}.percentiles-container .result-item .value#percentile{display:block;}.percentiles-container .label{font-size:13px;color:#666;}.percentiles-container .value{font-size:var(--font-size-md);}.percentile-heading{grid-column:1/-1;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--heading-color);font-size:var(--font-size-md);border-bottom:1px solid #ccc;padding-bottom:8px;}.performance-indicator{margin-left:10px;font-size:var(--font-size-md);}.performance-text{font-size:var(--font-size-sm);margin-left:5px;padding:2px 6px;border-radius:4px;color:#fff;}.above-average{color:#fff;}.good{color:#fff;}.average{color:#fff;}.below-average{color:#fff;}.performance-text.above-average{background-color:#4caf50;}.performance-text.good{background-color:#2196f3;}.performance-text.average{background-color:#ffca28;color:#222;}.performance-text.below-average{background-color:#f44336;}.performance-description{font-size:var(--font-size-sm);color:#777;margin-top:5px;}.graphs-container{border-top:1px solid #e2e8f0;background:white;border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.08);overflow:hidden;}@media (min-width: 1200px){.graphs-container{display:flex;flex-direction:column;height:100%;}.graph-toggle-buttons{margin-bottom:1rem;}.graph-wrapper{margin-bottom:2rem;height:auto;flex:1;}.graph-wrapper.active{width:100%;display:block !important;}.graph-container{height:320px;}}.graph-toggle-buttons{display:flex;justify-content:center;margin-bottom:1.5rem;background:#f9f9f9;padding:12px;border-radius:0;border-bottom:1px solid #eaeaea;}.graph-toggle{background-color:transparent;border:none;color:#4a5568;padding:.75rem 1.25rem;margin:0 .25rem;border-radius:2px;cursor:pointer;transition:all .2s ease;font-weight:500;position:relative;border-bottom:2px solid transparent;}.graph-toggle:hover,.graph-toggle:focus{background-color:rgba(0,166,81,.08);color:var(--primary-color);}.graph-toggle.active{background-color:transparent;color:var(--primary-color);border-bottom:2px solid var(--primary-color);}.graph-toggle.active::after{display:none;}.graph-wrapper{display:none;margin:0 auto 1.5rem;padding:16px var(--spacing-md);max-width:800px;}.graph-wrapper.active{display:block;animation:fadeIn .3s ease-in-out;}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}.graph-wrapper h4{text-align:center;margin-bottom:1.5rem;color:#2d3748;font-size:1.2rem;font-weight:500;}.graph-container{height:400px;position:relative;margin:0 auto;padding:10px;}@media (max-width: 768px){.percentiles-container{grid-template-columns:1fr 1fr;}.graph-container{height:350px;}.graph-toggle-buttons{flex-wrap:wrap;}.graph-toggle{margin:.25rem;flex:1 0 auto;text-align:center;padding:.5rem .75rem;font-size:.8em;}.graph-toggle.active::after{display:none;}}@media (max-width: 480px){.percentiles-container{grid-template-columns:1fr;}.graph-container{height:300px;}}#error-container{background-color:rgba(220,53,69,.1);border-left:4px solid var(--error-color);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);color:var(--error-color);display:none;text-align:left;font-size:var(--font-size-sm);}#error-container ul{margin:0;padding-left:var(--spacing-lg);}#error-container li{font-size:var(--font-size-sm);}#loader{display:none;text-align:center;padding:var(--spacing-lg);}.spinner{border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top:4px solid var(--primary-color);width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto;}@keyframes spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}.help-text{display:none;margin-top:5px;font-size:.85em;color:#666;font-style:italic;}.visualization-button{display:flex;align-items:center;justify-content:center;margin:var(--spacing-lg) auto;background-color:white;color:var(--primary-color);border:2px solid var(--primary-color);padding:12px 20px;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .3s ease;grid-column:1/span 2;width:100%;border-radius:4px;box-shadow:0 2px 6px rgba(0,166,81,.15);}.visualization-button:hover{background-color:var(--primary-color);color:white;transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,166,81,.2);}button#calculate-btn{background-color:var(--primary-color);color:white;border:none;border-radius:4px;padding:14px 28px;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 6px rgba(0,166,81,.15);}button#calculate-btn:hover,button#calculate-btn:focus{background-color:var(--primary-hover);color:white;transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,166,81,.2);}.visualization-button svg{margin-right:10px;width:18px;height:18px;}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease;backdrop-filter:blur(3px);}.modal-overlay.active{opacity:1;visibility:visible;}.modal-container{background-color:white;width:95%;max-width:1100px;max-height:90vh;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px rgba(0,0,0,.3);transform:translateY(20px);transition:all .3s ease;border-top:4px solid var(--primary-color);}.modal-overlay.active .modal-container{transform:translateY(0);}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--border-color);background-color:#f9f9f9;}.modal-header h2{margin:0;color:var(--heading-color);font-size:var(--font-size-md);font-weight:600;}.modal-close{background:transparent;border:none;cursor:pointer;color:#64748b;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;padding:0;}.modal-close:hover{background-color:rgba(0,166,81,.1);color:var(--primary-color);}.modal-body{overflow-y:auto;flex:1;}.results-placeholder{display:none;background:#fff;border-radius:8px;height:100%;min-height:400px;box-shadow:0 2px 10px rgba(0,0,0,.05);padding:var(--spacing-md);}@media (min-width: 768px){.results-placeholder{display:block;grid-column:2/span 2;}}.placeholder-content{display:flex;flex-direction:column;height:100%;}.placeholder-image{margin:0 auto var(--spacing-md);text-align:center;}.placeholder-text{max-width:600px;width:100%;}.placeholder-text h2{text-align:center;}.placeholder-text p,.placeholder-text ul,.placeholder-text li,.cta-text{text-align:left;}.placeholder-text h2{text-align:center;color:var(--heading-color);font-size:var(--font-size-md);font-weight:500;margin:var(--spacing-md) 0 var(--spacing-lg);}.placeholder-text p{font-size:var(--font-size-base);text-align:left;margin-bottom:var(--spacing-md);}.placeholder-text ul{list-style:none;padding:0;margin:0 0 var(--spacing-lg);text-align:left;}.placeholder-text li{position:relative;padding-left:24px;margin-bottom:var(--spacing-sm);font-size:var(--font-size-base);color:var(--text-color);text-align:left;}.placeholder-text li:before{content:"✓";position:absolute;left:0;color:var(--primary-color);}.placeholder-image svg{color:var(--primary-color);opacity:.8;}.cta-text{text-align:left;color:var(--text-color);font-size:var(--font-size-base);margin-top:var(--spacing-md);}.percentile-meter{background:white;border-radius:12px;padding:2.5rem 2rem;margin-bottom:2rem;grid-column:1/span 2;box-shadow:0 4px 16px rgba(0,0,0,.08);position:relative;border:1px solid #eaeaea;}.percentile-meter::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(to right,var(--primary-color),var(--secondary-color));border-radius:12px 12px 0 0;}.percentile-meter h2{font-size:1.5rem;font-weight:600;color:var(--gray-800);margin-bottom:2rem;text-align:center;border:none;}.percentile-value{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;}.percentile-value .number{font-size:3.5rem;font-weight:700;color:var(--gray-900);text-shadow:0 1px 1px rgba(0,0,0,.05);}.percentile-value .rating{padding:.5rem 1.2rem;border-radius:100px;font-weight:600;background-color:var(--primary-color);color:white;font-size:var(--font-size-sm);display:inline-block;box-shadow:0 2px 4px rgba(0,0,0,.1);text-transform:uppercase;letter-spacing:.5px;}.percentile-value .rating.excellent{background-color:var(--primary-color);}.percentile-value .rating.good{background-color:var(--secondary-color);}.percentile-value .rating.average{background-color:#ffc938;color:#333;}.percentile-value .rating.poor{background-color:#e74c3c;}.meter-container{position:relative;height:8px;background:#f2f2f2;border-radius:100px;margin:3rem 0 1.5rem;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);}.meter-marker{position:absolute;top:-24px;transform:translateX(-50%);text-align:center;color:#6b7280;font-size:.875rem;}.meter-marker::after{content:"";position:absolute;top:28px;left:50%;height:8px;width:1px;background:#d1d5db;transform:translateX(-50%);}.meter-marker.start{left:0;}.meter-marker.p25{left:25%;}.meter-marker.p50{left:50%;}.meter-marker.p75{left:75%;}.meter-marker.end{left:100%;}.meter-value{position:absolute;top:-8px;width:24px;height:24px;background:var(--primary-color);border:3px solid white;border-radius:50%;transform:translateX(-50%);box-shadow:0 3px 8px rgba(0,0,0,.2);z-index:2;transition:all .3s ease;}.meter-value::before{content:"";position:absolute;left:0;top:50%;height:800%;width:8px;transform:translateX(-100%) translateY(-50%);z-index:1;}.meter-container::after{content:"";position:absolute;left:0;top:0;height:100%;width:100%;background:linear-gradient(to right,rgba(0,166,81,1) 0%,rgba(141,198,63,1) 25%,rgba(255,201,56,1) 50%,rgba(231,76,60,1) 75%);opacity:.4;border-radius:100px;}.percentile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem;text-align:center;background:#f9f9f9;border-radius:10px;padding:1.5rem;border:1px solid #eaeaea;}.stat-item{text-align:center;padding:.5rem;transition:all .2s ease;}.stat-item:hover{transform:translateY(-2px);}.stat-item .label{font-size:.875rem;color:#6b7280;margin-bottom:.5rem;font-weight:500;}.stat-item .value{font-size:1.5rem;font-weight:700;color:var(--primary-color);text-shadow:0 1px 1px rgba(0,0,0,.05);}@media (max-width: 768px){.percentile-stats{gap:1rem;}}.sr-only{display:none;}.result-warning{background-color:var(--warning-color);color:var(--text-color);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-sm);border-radius:4px;display:none;grid-column:1/-1;font-weight:400;}.result-warning a{color:var(--error-color);text-decoration:underline;}