@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{--ink:#253c35;--muted:#7c8983;--green:#205e4f;--dark:#184d40;--line:#e6ebe7;--surface:#f6f8f5;--lime:#e4f0b3}*{box-sizing:border-box}body{background:var(--surface);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{transition:background .15s,color .15s,box-shadow .15s}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button{color:inherit;background:0 0;border:0}a{color:inherit;text-decoration:none}:is(button:focus-visible,a:focus-visible){outline-offset:3px;outline:3px solid #96bd70}input:focus,select:focus{outline-offset:1px;outline:2px solid #91b59e}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,DM Sans,sans-serif}svg{flex-shrink:0}button svg,a svg{vertical-align:middle}.shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);z-index:30;background:#fff;flex-direction:column;width:238px;padding:32px 20px 0;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-.7px;align-items:center;gap:13px;padding:0 7px 31px;font:750 21px Manrope,sans-serif;display:flex}.brand small{letter-spacing:1.25px;color:#8a958e;margin-top:5px;font:600 7.5px DM Sans,sans-serif;display:block}.brand-mark{background:var(--dark);color:#fff;letter-spacing:-3px;border-radius:12px;justify-content:center;align-items:center;width:47px;height:47px;padding-right:4px;font:750 28px Manrope,sans-serif;display:flex}.brand-mark span,.footer-mark span{color:#d7ed9d}.workspace-label{letter-spacing:1.45px;color:#9aa49f;padding:5px 12px 10px;font-size:9px;font-weight:650}.workspace{border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;padding:12px 10px;font-size:12px;font-weight:600;display:flex}.workspace-icon{color:#6d8274;border:1px solid #e6ece8;border-radius:6px;place-items:center;width:31px;height:31px;display:grid}.workspace small{color:var(--muted);margin-top:3px;font-size:10px;font-weight:400;display:block}.workspace-dot{background:#72a47b;border-radius:50%;width:6px;height:6px;margin-left:auto}.navigation-label{margin-top:29px;margin-bottom:7px}.sidebar nav{flex-direction:column;gap:7px;display:flex}.sidebar nav button{text-align:left;color:#74827a;border-radius:7px;align-items:center;gap:13px;padding:13px;font-size:13px;font-weight:500;display:flex}.sidebar nav button:hover{background:#f5f7f2}.sidebar nav button.active{color:#245a43;background:#eaf1e7;font-weight:650}.nav-count{background:#f5f8f1;border-radius:4px;margin-left:auto;padding:2px 7px;font-size:10px}.sidebar-bottom{margin-top:auto;padding-top:50px}.sidebar-callout{background:#f1f5e9;border:1px solid #e4ebd8;border-radius:9px;padding:17px 15px;position:relative;overflow:hidden}.sidebar-callout:after{content:"";border:1px solid #dae5c8;border-radius:50%;width:100px;height:100px;position:absolute;bottom:38px;right:-29px;box-shadow:0 0 0 13px #e9f0dd}.leaf-emblem{color:#6a8a50;background:#e2eccb;border-radius:50%;place-items:center;width:34px;height:34px;margin-bottom:12px;display:grid}.sidebar-callout strong{z-index:1;font:650 16px/1.5 Manrope,sans-serif;position:relative}.sidebar-callout p{color:#849276;z-index:1;max-width:130px;margin-top:7px;font-size:10px;line-height:1.6;position:relative}.sidebar-callout a{z-index:1;align-items:center;gap:18px;margin-top:17px;font-size:10px;font-weight:650;display:flex;position:relative}.sidebar-help{color:#89938c;align-items:center;gap:11px;padding:22px 9px;font-size:11px;display:flex}.profile{border-top:1px solid var(--line);align-items:center;gap:9px;padding:20px 3px;display:flex}.avatar{color:#8c8066;background:#eeeae1;border-radius:50%;place-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:grid}.profile div:nth-child(2){flex:1;min-width:0}.profile strong{text-overflow:ellipsis;font-size:11px;font-weight:600;display:block;overflow:hidden}.profile small{color:#a1a8a2;margin-top:3px;font-size:9px;display:block}.profile>a{color:#9ba59e;padding:3px}.main-shell{flex:1;min-width:0;margin-left:238px}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:76px;padding:0 38px;display:flex}.breadcrumb{color:#9aa49e;align-items:center;gap:11px;font-size:11px;display:flex}.breadcrumb span{color:#4e6056;font-weight:500}.topbar-right{align-items:center;gap:20px;font-size:10px;display:flex}.region{color:#89988d;align-items:center;gap:5px;display:flex}.content{max-width:1580px;margin:auto;padding:36px 38px 0}.project-overline{letter-spacing:1.65px;color:#879a85;align-items:center;gap:7px;margin-bottom:13px;font-size:9px;font-weight:600;display:flex}.project-overline>span{background:#a8bd7b;border-radius:50%;width:5px;height:5px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.page-heading h1{letter-spacing:-1.3px;font-size:31px;font-weight:650;line-height:1.3}.title-dot{color:#88ac72}.page-heading p{color:#8a978f;margin-top:9px;font-size:11px;line-height:1.6}.button{white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:9px;min-height:38px;padding:11px 16px;font-size:11px;font-weight:550;display:inline-flex}.primary{background:var(--green);color:#fff;border:1px solid var(--green)}.primary:hover:not(:disabled){background:#174f41;box-shadow:0 3px 10px #1e5b421a}.secondary{color:#5c7164;background:#fff;border:1px solid #dce5dc}.secondary:hover{background:#f1f5ed}.heading-icon{color:#769569;background:#ecf1e7;border-radius:12px;place-items:center;width:55px;height:55px;display:grid}.filterbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;display:flex}.filter-group{align-items:center;gap:10px;display:flex}.select-control{color:#768c78;background:#fff;border:1px solid #e2e8e1;border-radius:6px;align-items:center;gap:8px;height:35px;padding:0 11px;display:flex}.select-control select{-webkit-appearance:none;appearance:none;color:#5e7164;cursor:pointer;outline-offset:6px;background:0 0;border:0;min-width:102px;padding:0;font-size:10px}.updated{color:#9aa69c;align-items:center;gap:6px;font-size:9px;display:flex}.updated>span,.mini-dot{background:#9bbb8d;border-radius:50%;width:5px;height:5px;margin-right:2px;display:inline-block}.demo-notice{color:#7a8b6d;background:#f1f4eb;border:1px solid #e4e9dc;border-radius:6px;align-items:center;gap:8px;margin-bottom:18px;padding:10px 12px;font-size:10px;line-height:1.6;display:flex}.demo-notice>span{flex:1}.demo-notice button{white-space:nowrap;align-items:center;gap:9px;font-size:10px;font-weight:600;display:flex}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px;display:grid}.stat-card{background:#fff;border:1px solid #e0e8df;border-radius:9px;min-width:0;padding:18px 18px 16px}.stat-card.energy{background:#eff4e9;border-color:#dce6d3}.stat-top{color:#7f8f81;justify-content:space-between;align-items:center;gap:8px;font-size:10px;line-height:1.5;display:flex}.stat-icon{color:#8a9c7d;background:#f5f7f1;border:1px solid #e9ede1;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.energy .stat-icon{background:#e4edda;border-color:#e0e8d3}.stat-value{letter-spacing:-1.15px;white-space:nowrap;color:#2e4937;margin:14px 0 13px;font:600 29px Manrope,sans-serif}.stat-value>span{letter-spacing:0;color:#88977e;margin-left:7px;font:400 12px DM Sans,sans-serif}.stat-meta{color:#a0a997;border-top:1px solid #eff2ec;padding-top:11px;font-size:9px}.energy .stat-meta{color:#8d9c7c;border-color:#dfe8d7}.charts-grid{grid-template-columns:1.7fr 1fr;gap:20px;margin-bottom:22px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:9px;overflow:hidden}.panel-heading{justify-content:space-between;align-items:center;gap:12px;padding:21px 22px 16px;display:flex}.panel h2{letter-spacing:-.3px;font-size:13px;font-weight:650}.panel-heading p{color:#9aa59b;margin-top:5px;font-size:9px;line-height:1.6}.chart-foot{color:#9caa9c;border-top:1px solid #eff2ec;align-items:center;gap:7px;margin:0 22px;padding:14px 0;font-size:9px;display:flex}.muted-icon{color:#bcc7b9}.donut-layout{justify-content:center;align-items:center;gap:24px;margin:5px 16px 17px;display:flex}.donut{border-radius:50%;flex-shrink:0;width:130px;height:130px;padding:19px;transform:rotate(-90deg)}.donut>div{background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;transform:rotate(90deg)}.donut strong{letter-spacing:-1px;font:600 25px Manrope,sans-serif}.donut span{color:#9aa68f;margin-top:4px;font-size:9px}.donut-legend{flex-direction:column;gap:15px;display:flex}.donut-legend>div{align-items:flex-start;gap:7px;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:4px;display:inline-block}.donut-legend strong{font-size:9px;font-weight:500}.donut-legend small{color:#9ca88e;margin-top:4px;font-size:9px;display:block}.power-breakdown{border-top:1px solid #eff2ec;grid-template-columns:1fr 1fr;column-gap:12px;max-height:84px;margin:0 20px 15px;padding-top:10px;display:grid;overflow:auto}.power-breakdown>div{color:#9ca68e;white-space:nowrap;align-items:center;gap:5px;padding:4px 0;font-size:8px;display:flex}.power-breakdown strong{color:#6e8065;font-weight:500}.power-breakdown small{color:#abb5a0;margin-left:auto;font-size:8px}.power-breakdown .legend-dot{width:4px;height:4px;margin-top:0}.count-badge{color:#8ca07d;background:#f0f4eb;border:1px solid #e8eddf;border-radius:4px;margin-left:6px;padding:2px 6px;font:500 9px DM Sans,sans-serif}.text-button{color:#73926d;align-items:center;gap:9px;font-size:10px;display:flex}.text-button:hover{color:#245d40}.table-scroll{overflow:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%;font-size:10px}th{color:#9caa9c;background:#fafbf8;border-top:1px solid #edf0e9;border-bottom:1px solid #edf0e9;padding:12px 10px;font-size:9px;font-weight:500}th:first-child{width:48px;padding-left:23px}th small{color:#b0baaa;margin-top:3px;font-size:8px;display:block}td{border-bottom:1px solid #eef1eb;padding:14px 10px}td:first-child{padding-left:23px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcf8}.row-number{color:#aab5a6;font-size:9px}.installation-name{align-items:center;gap:10px;min-width:207px;display:flex}.pump-icon{color:#8d9f7a;background:#f3f7ef;border:1px solid #e5ece1;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.pump-icon.ground{color:#9ca66f;background:#f1f3e7;border-color:#e7ead8}.pump-icon.cwu{color:#c0a66f;background:#faf4e6;border-color:#f2e9d2}.installation-name button,.installation-name strong{padding:0;font-size:10px;font-weight:550}.installation-name button:hover{text-underline-offset:3px;text-decoration:underline}.installation-name small{color:#a5b098;margin-top:5px;font-size:8px;display:block}.installation-name small span{color:#c5cebb;margin:0 3px}.numeric{font-variant-numeric:tabular-nums;color:#7f9277;font-weight:500}.heat-value{color:#63815a}.unit{color:#b1baa7;font-size:8px;font-weight:400}.parameter{color:#9baa88;background:#f3f6ed;border-radius:4px;align-items:center;gap:5px;padding:5px 7px;font-size:8px;display:inline-flex}.parameter>span{background:#b5c59c;border-radius:50%;width:3px;height:3px}.parameter.cwu{color:#b7a173;background:#faf6ea}.parameter.cwu>span{background:#cbb781}.row-open{color:#b4c0a9;padding:5px}.row-open:hover{color:var(--green)}.table-footer{color:#a7b19d;border-top:1px solid #edf1e8;justify-content:space-between;align-items:center;gap:15px;padding:14px 22px;font-size:9px;display:flex}.table-footer>span:last-child{align-items:center;gap:5px;display:flex}.footer{margin-top:35px;padding-bottom:18px}.footer-project{border-top:1px solid #e3e9df;align-items:center;gap:14px;padding:20px 0;display:flex}.footer-mark{color:#708b5c;letter-spacing:-2px;background:#dbe5d2;border-radius:8px;place-items:center;width:34px;height:34px;font:750 22px Manrope,sans-serif;display:grid;position:relative}.footer-mark span{color:inherit;position:absolute;top:4px;left:15px}.footer-project p{color:#8c9a81;font-size:9px;line-height:1.6}.footer-project small{color:#b1bba4;margin-top:3px;font-size:8px;display:block}.footer-version{color:#b4bdaa;margin-left:auto;font-size:8px}.funding-strip{background:#fff;border:1px solid #e6eae2;border-radius:6px;padding:12px 27px}.funding-strip img{width:100%;max-width:940px;margin:auto;display:block}.table-toolbar{justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;display:flex}.search{color:#9cab93;border:1px solid #e1e7dc;border-radius:6px;align-items:center;gap:9px;width:340px;min-width:220px;padding:10px 11px;display:flex}.search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:none;font-size:10px}.search input::placeholder{color:#aab59f}.plain-select{color:#829376;background:#fff;border:1px solid #dfe6d9;border-radius:5px;padding:10px;font-size:10px}.pagination{align-items:center;gap:15px;display:flex}.pagination button{padding:3px;display:flex}.pagination button:disabled{cursor:default}.empty-table{color:#94a285;flex-direction:column;align-items:center;gap:10px;padding:60px;display:flex}.empty-table strong{font-size:13px}.empty-table span{font-size:11px}.report-filter-grid{grid-template-columns:repeat(4,1fr);gap:17px;padding:10px 22px;display:grid}.report-filter-grid label,.settings-form label{color:#7e8e72;flex-direction:column;gap:9px;font-size:11px;display:flex}.report-filter-grid input,.report-filter-grid select,.settings-form select{color:#6e8260;background:#fff;border:1px solid #dce5d4;border-radius:5px;width:100%;padding:10px;font-size:11px}.report-actions{justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.report-actions>span{color:#a0af91;align-items:center;gap:6px;font-size:10px;display:flex}.report-empty{text-align:center;color:#b1bfa1;flex-direction:column;align-items:center;padding:90px 20px;display:flex}.report-empty h3{color:#7c946a;margin:20px 0 12px;font-size:17px;font-weight:550}.report-empty p{color:#9baa8e;font-size:12px;line-height:1.8}.report-preview{margin-top:22px}.report-document-heading{justify-content:space-between;align-items:flex-start;gap:25px;padding:28px 25px;display:flex}.eyebrow{letter-spacing:1.4px;color:#8a9f7a;font-size:9px;font-weight:600}.report-document-heading h2{max-width:610px;margin:12px 0;font-size:20px;font-weight:600;line-height:1.5}.report-document-heading p{color:#9aa88c;font-size:11px}.report-export{gap:10px;display:flex}.report-summary{background:#f5f8f0;border-block:1px solid #e8eedf;gap:60px;padding:24px;display:flex}.report-summary>div{flex-direction:column;gap:10px;display:flex}.report-summary span{color:#8c9d7d;font-size:10px}.report-summary strong{color:#597747;font:600 23px Manrope,sans-serif}.report-summary small{color:#9daf8c;font:400 12px DM Sans,sans-serif}.report-method{color:#91a080;padding:25px;font-size:10px;line-height:1.8}.report-method p{margin-top:9px}.report-method strong{color:#7c906b;font-weight:550}.report-funding{width:calc(100% - 50px);margin:0 25px 25px}.field-error{color:#af6250;background:#fcf2ed;padding:12px 22px;font-size:11px;line-height:1.6}.simulator-intro{background:#eaf1df;border:1px solid #dce7ce;border-radius:9px;align-items:center;gap:24px;margin-bottom:22px;padding:27px;display:flex}.simulator-icon{color:#749558;background:#dce9c8;border:1px solid #d6e4c0;border-radius:14px;flex-shrink:0;place-items:center;width:58px;height:58px;display:grid}.simulator-intro h2{letter-spacing:-.6px;margin:9px 0;font-size:20px;font-weight:600}.simulator-intro p{color:#8a9c76;max-width:580px;font-size:11px;line-height:1.8}.simulator-intro .button{margin-left:auto}.settings-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.settings-form{flex-direction:column;gap:22px;padding:10px 22px 24px;display:flex}.settings-form label>small{color:#a7b298;font-size:9px;line-height:1.6}.input-unit{border:1px solid #dce5d4;border-radius:5px;display:flex;overflow:hidden}.input-unit input{color:#627c50;border:0;flex:1;min-width:0;padding:11px 12px;font-size:12px}.input-unit>span{color:#a6b391;background:#f6f8f1;padding:12px;font-size:10px}.form-two{grid-template-columns:1fr 1fr;gap:16px;display:grid}.settings-form>.button{align-self:flex-start}.simulator-side{flex-direction:column;gap:20px;display:flex}.model-steps{flex-direction:column;gap:25px;padding:5px 22px 25px;display:flex}.model-steps>div{align-items:flex-start;gap:15px;display:flex}.model-steps>div>span{color:#9bb085;background:#f2f6e9;border:1px solid #e9efdd;border-radius:6px;padding:7px;font:500 11px Manrope,sans-serif}.model-steps strong{font-size:11px;font-weight:550}.model-steps p{color:#9ba98b;margin-top:7px;font-size:10px;line-height:1.8}.cwu-note{color:#b29a61;background:#f7f2e4;border:1px solid #eee5ca;border-radius:8px;gap:14px;padding:20px;display:flex}.cwu-note strong{font-size:11px;font-weight:550}.cwu-note p{color:#b2a077;margin-top:7px;font-size:10px;line-height:1.8}.last-run{color:#a5b193;align-items:center;gap:6px;font-size:10px;display:flex}.project-panel{padding:32px}.project-panel>h2{max-width:800px;margin:15px 0;font-size:26px;font-weight:600;line-height:1.5}.project-panel>p{color:#8a9a7c;font-size:12px;line-height:1.9}.municipality-cards{grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0;display:grid}.municipality-cards>div{color:#8ca574;background:#f8faf4;border:1px solid #e5ebdd;border-radius:7px;padding:22px}.municipality-cards h3{color:#5c7a47;margin:16px 0 12px;font-size:16px;font-weight:600}.municipality-cards p{color:#8b9e79;margin-bottom:12px;font-size:11px;line-height:1.8}.municipality-cards small{color:#a6b594;font-size:10px;line-height:1.8}.project-disclosure{color:#9eab7c;background:#f7f7ed;border:1px solid #e8e9d8;border-radius:7px;gap:15px;margin-bottom:30px;padding:20px;display:flex}.project-disclosure strong{font-size:12px;font-weight:550}.project-disclosure p{margin-top:7px;font-size:11px;line-height:1.9}.project-panel>h3{margin:20px 0 12px;font-size:16px;font-weight:600}.loading-state,.empty-state{color:#8a9f7a;flex-direction:column;align-items:center;gap:20px;padding:120px 20px;display:flex}.loading-state h2,.empty-state h2{font-size:20px;font-weight:500}.loading-state p{font-size:12px}.spin{animation:1.3s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{color:#b57664;background:#fbede8;border:1px solid #efd5cd;border-radius:6px;align-items:center;gap:10px;margin-bottom:18px;padding:13px;font-size:12px;display:flex}.error-banner button{margin-left:auto}.toast{z-index:150;color:#fff;background:#245e48;border:1px solid #3f7a58;border-radius:8px;align-items:center;gap:10px;max-width:80vw;padding:15px 18px;font-size:12px;line-height:1.6;display:flex;position:fixed;bottom:25px;left:calc(50% + 100px);transform:translate(-50%);box-shadow:0 8px 40px #23482625}.toast button{color:#b8cbb2;padding:5px;display:flex}.modal{width:min(760px,100vw - 32px);max-height:90vh;color:var(--ink);background:#fff;border:1px solid #e3e9dc;border-radius:13px;padding:0;box-shadow:0 25px 80px #193b2d26}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#193b2e60}.modal-heading{border-bottom:1px solid #e7edde;justify-content:space-between;align-items:center;padding:20px 26px;display:flex}.modal-heading h2{font-size:16px;font-weight:600}.icon-button{color:#93a584;justify-content:center;align-items:center;padding:6px;display:flex}.modal-body{padding:26px}.modal-description{color:#8b9d79;font-size:12px;line-height:1.8}.detail-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.detail-header>.pump-icon{width:50px;height:50px}.detail-header h2{letter-spacing:-.6px;margin:5px 0 7px;font-size:23px;font-weight:600}.detail-header p{color:#9eaf8a;font-size:11px}.detail-grid{border-block:1px solid #e9eedf;grid-template-columns:1fr 1fr;gap:20px;padding:22px 0;display:grid}.detail-grid>div{flex-direction:column;gap:9px;display:flex}.detail-grid dt{color:#a0af8f;font-size:10px}.detail-grid dd{color:#66814f;font-size:12px;font-weight:550}.csv-example{background:#f5f8ee;border:1px solid #e7eedc;border-radius:7px;margin:20px 0;padding:18px}.csv-example code{color:#799466;font-size:12px}.csv-example small{color:#9aae86;margin-top:12px;font-size:10px;line-height:1.8;display:block}.import-buttons{gap:12px;display:flex}.import-preview{border:1px solid #e5ecd9;border-radius:7px;margin-top:22px;padding:18px}.import-preview>strong{color:#80a268;align-items:center;gap:8px;margin-bottom:15px;font-size:12px;display:flex}.import-preview>div{color:#829c6b;border-top:1px solid #eff3e7;justify-content:space-between;gap:15px;padding:10px 0;font-size:11px;display:flex}.import-preview small{color:#a1b58d;font-size:10px}.import-confirm{margin-top:20px}.import-confirm p{color:#b39a69;margin-bottom:15px;font-size:10px}.mobile-menu,.mobile-shade{display:none}.login-page{background:#fff;grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-card{flex-direction:column;justify-content:center;align-items:flex-start;padding:70px 12% 60px;display:flex}.login-card>.brand-mark{margin-bottom:40px}.login-card .eyebrow{font-size:8px;line-height:1.8}.login-card h1{letter-spacing:-2.7px;color:#254b3a;margin:22px 0;font-size:clamp(38px,4.3vw,64px);font-weight:600;line-height:1.15}.login-card>p{color:#96a589;max-width:380px;font-size:14px;line-height:1.8}.login-regions{color:#8ca278;gap:14px;margin:25px 0 36px;font-size:11px;display:flex}.login-regions span{color:#c0cdb1}.login-card .button{justify-content:space-between;min-width:270px;padding:15px 20px;font-size:12px}.login-card>small{color:#b1bda5;max-width:300px;margin-top:15px;font-size:9px;line-height:1.8}.login-visual{background:#214e3f;align-items:flex-end;padding:70px 10%;display:flex;position:relative;overflow:hidden}.login-visual:after{content:"";background:radial-gradient(at 70% 10%,#71965e44,#0000 55%),linear-gradient(#0000 30%,#173f36aa);position:absolute;inset:0}.orb{border:1px solid #a1c67c39;border-radius:50%;width:600px;height:600px;position:absolute;top:-120px;right:-180px;box-shadow:0 0 0 55px #a7ca8220,0 0 0 110px #a7ca8214,0 0 0 165px #a7ca820b}.orb-two{background:radial-gradient(at 30% 30%,#d9eaa078,#679b6560 50%,#214e3f20 75%);border:0;width:300px;height:300px;top:160px;right:100px;box-shadow:0 0 120px #b0d37b33}.visual-copy{color:#f2f6e9;z-index:1;margin-bottom:90px;position:relative}.visual-copy>span{letter-spacing:2px;color:#a7c991;font-size:9px}.visual-copy h2{letter-spacing:-2px;margin:25px 0;font-size:clamp(32px,3.8vw,52px);font-weight:500;line-height:1.2}.visual-copy p{color:#b1c6a0;font-size:12px;line-height:1.9}.login-funding{background:#fff;border-top:1px solid #e2e9d9;padding:15px 5%;position:absolute;bottom:0;left:0;right:0}.login-funding img{width:100%;max-width:1000px;margin:auto;display:block}@media (min-width:1600px){.content{padding-top:44px}.stat-card{padding:22px}.stat-value{font-size:34px}.panel h2{font-size:15px}.panel-heading p{font-size:11px}.charts-grid{grid-template-columns:1.8fr 1fr}.donut-layout{margin:20px}.donut{width:155px;height:155px;padding:23px}table,.installation-name button{font-size:12px}.installation-name small{font-size:10px}.parameter{font-size:9px}.power-breakdown{max-height:96px}.power-breakdown>div{font-size:9px}}@media (max-width:1200px){.sidebar{width:205px;padding-inline:14px}.main-shell{margin-left:205px}.brand{gap:9px;font-size:18px}.brand small{letter-spacing:1px;font-size:6.5px}.brand-mark{width:40px;height:40px;font-size:25px}.content{padding:28px 24px 0}.topbar{padding-inline:24px}.stats-grid{gap:10px}.stat-card{padding:14px}.stat-value{font-size:26px}.stat-top{font-size:9px}.charts-grid{grid-template-columns:1.5fr 1fr;gap:15px}.panel-heading{padding-inline:17px}.donut-layout{gap:14px}.donut{width:110px;height:110px;padding:16px}.donut strong{font-size:21px}.donut-legend strong,.donut-legend small{font-size:8px}.donut-legend{gap:12px}.sidebar-callout{padding:14px}.page-heading h1{font-size:28px}.simulator-intro{flex-wrap:wrap}.simulator-intro>div:nth-child(2){flex:1;min-width:200px}.simulator-intro .button{margin-left:82px}.report-export{flex-direction:column}.municipality-cards>div{padding:17px}}@media (max-width:980px){.stats-grid{grid-template-columns:1fr 1fr}.charts-grid{grid-template-columns:1fr}.structure-panel{grid-template-columns:1fr 1fr;display:grid}.structure-panel .panel-heading{grid-column:1/-1}.donut-layout{gap:25px;margin:0 0 15px;padding:10px}.power-breakdown{border:0;border-left:1px solid #eff2e7;grid-template-columns:1fr;align-content:center;max-height:140px;margin:15px 20px 15px 0;padding:0 0 0 20px}.power-breakdown>div{font-size:9px}.report-filter-grid{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}.table-toolbar{flex-wrap:wrap}.search{width:100%}.page-heading p{max-width:360px}.municipality-cards{grid-template-columns:1fr}.municipality-cards h3{margin-top:10px}.sidebar-callout{display:none}.report-summary{gap:30px}.demo-notice{flex-wrap:wrap}.demo-notice>span{min-width:200px}.demo-notice button{margin-left:22px}}@media (max-width:700px){.sidebar{width:245px;padding-top:24px;display:none;box-shadow:0 0 40px #284c3733}.sidebar.mobile-open{display:flex}.sidebar-callout{display:block}.main-shell{margin-left:0}.mobile-menu{margin-right:10px;display:flex}.mobile-shade{z-index:25;background:#173b2d55;display:block;position:fixed;inset:0}.topbar{justify-content:flex-start;height:62px;padding-inline:15px}.topbar-right{gap:10px;margin-left:auto}.region{display:none}.breadcrumb{gap:6px;font-size:10px}.content{padding:26px 17px 0}.project-overline{letter-spacing:1.3px;font-size:8px}.page-heading{align-items:flex-start;gap:12px;margin-bottom:23px}.page-heading h1{letter-spacing:-1px;font-size:26px}.page-heading p{max-width:230px;font-size:10px;line-height:1.7}.page-heading .button{gap:0;min-width:38px;margin-top:3px;padding:10px;font-size:0}.page-heading .button svg{width:17px}.filterbar{flex-direction:column;align-items:flex-start;gap:13px}.filter-group{gap:8px}.select-control{padding-inline:9px}.select-control select{min-width:105px}.select-control svg:first-child{width:13px}.select-control{gap:6px}.updated{align-self:flex-end;margin-top:-1px}.demo-notice{gap:7px;margin-bottom:15px;padding:9px;font-size:9px}.demo-notice>span{min-width:190px}.demo-notice>svg{display:none}.demo-notice button{margin-left:0}.stats-grid{gap:10px;margin-bottom:16px}.stat-card{padding:12px 13px}.stat-icon{width:24px;height:24px}.stat-icon svg{width:15px}.stat-top{font-size:8px;line-height:1.7}.stat-value{letter-spacing:-1px;margin:14px 0 12px;font-size:25px}.stat-value>span{margin-left:5px;font-size:10px}.stat-meta{min-height:34px;padding-top:9px;font-size:8px;line-height:1.6}.panel-heading{padding:18px 15px 15px}.panel h2{font-size:12px}.panel-heading p{font-size:8px}.chart-foot{margin-inline:15px;font-size:8px;line-height:1.6}.charts-grid{gap:16px;margin-bottom:16px}.donut-layout{gap:16px}.donut{width:105px;height:105px;padding:15px}.donut strong{font-size:19px}.donut span{font-size:8px}.donut-legend{gap:11px}.donut-legend strong,.donut-legend small{font-size:7px}.power-breakdown{max-height:140px;margin:5px 12px 15px 0;padding-left:12px}.power-breakdown>div{gap:4px;font-size:7px}.power-breakdown small{font-size:7px}.text-button{gap:4px;font-size:8px}.text-button svg{width:13px}.table-footer{flex-wrap:wrap;gap:8px;padding:13px 15px;font-size:8px}.table-toolbar{padding:15px}.table-toolbar .filter-group{justify-content:space-between;width:100%}.plain-select{max-width:160px;font-size:9px}.table-toolbar .button{padding:8px 12px;font-size:9px}.footer{margin-top:25px}.footer-project{gap:10px;padding:16px 0}.footer-project p{max-width:240px;font-size:8px}.footer-project small{font-size:7px}.footer-version{display:none}.funding-strip{padding:9px}.toast{width:max-content;max-width:calc(100vw - 30px);padding:12px;font-size:10px;bottom:15px;left:50%}.report-filter-grid{gap:14px;padding:5px 15px}.report-filter-grid label{font-size:10px}.report-filter-grid input,.report-filter-grid select{min-width:0;padding:9px;font-size:10px}.report-actions{gap:10px;padding:18px 15px}.report-actions>span{font-size:8px}.report-actions .button{gap:6px;padding:10px;font-size:9px}.report-document-heading{flex-direction:column;padding:20px}.report-document-heading h2{font-size:18px}.report-export{flex-direction:row}.report-summary{flex-wrap:wrap;gap:25px;padding:20px}.report-summary span{font-size:9px}.report-summary strong{font-size:19px}.report-summary small{font-size:10px}.report-method{padding:20px;font-size:9px}.report-funding{width:calc(100% - 30px);margin-inline:15px}.simulator-intro{gap:14px;padding:20px}.simulator-icon{border-radius:10px;width:43px;height:43px}.simulator-intro .eyebrow{font-size:7px}.simulator-intro>div:nth-child(2){min-width:180px}.simulator-intro h2{font-size:16px}.simulator-intro p{font-size:10px}.simulator-intro .button{margin-left:0}.project-panel{padding:23px}.project-panel>h2{font-size:22px}.project-panel>p{font-size:11px}.project-disclosure{padding:16px}.project-disclosure p{font-size:10px}.modal-heading{padding:18px}.modal-body{padding:20px}.modal-heading h2{font-size:14px}.detail-header h2{font-size:20px}.detail-grid{gap:20px 12px}.detail-grid dt{font-size:9px;line-height:1.6}.detail-grid dd{font-size:11px}.import-buttons{flex-wrap:wrap}.import-buttons .button{font-size:10px}.import-preview>div{flex-direction:column;gap:5px}.login-page{grid-template-columns:1fr;min-height:100dvh}.login-card{justify-content:center;padding:50px 9% 180px}.login-card>.brand-mark{margin-bottom:30px}.login-card h1{letter-spacing:-2px;font-size:47px}.login-card>p{font-size:12px}.login-visual{display:none}.login-funding{padding:15px}.login-regions{font-size:10px}.login-card .button{min-width:100%}.login-card>small{max-width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media print{@page{size:A4 landscape;margin:14mm}body{color:#222;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;font-size:10px}.sidebar,.topbar,.project-overline,.page-heading,.report-controls,.footer,.report-export,.toast,.modal,.error-banner,.report-empty{display:none!important}.main-shell{margin:0}.shell,.main-shell,.content{width:100%;max-width:none;padding:0;display:block}main>:not(.report-preview){display:none!important}.report-preview{border:0;border-radius:0;margin:0;overflow:visible}.report-document-heading{padding:0 0 20px}.report-document-heading h2{max-width:none;font-size:19px}.report-summary{gap:70px;padding:17px 20px}.table-scroll{overflow:visible}table{white-space:normal;font-size:9px}th{font-size:8px}td{padding:11px 8px}thead{display:table-header-group}tr{break-inside:avoid}.installation-name{min-width:180px}.installation-name strong{font-size:9px}.installation-name small{font-size:7px}.pump-icon{display:none}.parameter{white-space:nowrap;font-size:7px}.report-method{break-inside:avoid;padding:20px 0;font-size:8px}.report-funding{break-inside:avoid;width:80%;margin:10px 10%}.report-document-heading .eyebrow{font-size:8px}.report-summary strong{font-size:20px}}.stat-top{color:#657660}.stat-meta{color:#7c8c71}.energy .stat-meta{color:#778966}.panel-heading p{color:#7f9072}.page-heading p{color:#788a70}.table-footer{color:#829575}th{color:#7d9270}.installation-name small{color:#80966e}.numeric{color:#5c794c}.parameter{color:#718b5a}.parameter.cwu{color:#9b8249}.power-breakdown>div,.donut-legend small{color:#7d9469}.updated{color:#849574}.demo-notice{color:#6e825b}.footer-project p{color:#7d906c}.chart-foot{color:#829874}.accounts-layout{gap:20px;display:grid}.account-form{flex-wrap:wrap;align-items:end;gap:14px;padding:4px 24px 14px;display:flex}.account-form>label{color:var(--ink);gap:7px;font-size:13px;font-weight:600;display:grid}.account-form>label:first-child{flex:240px}.account-form input[type=email]{border:1px solid var(--line);width:100%;min-width:0;font:inherit;border-radius:8px;padding:10px 12px}.account-help,.account-message{margin:0;padding:12px 24px 20px;font-size:13px;line-height:1.6}.account-help{color:var(--muted)}.account-message{color:var(--green);align-items:center;gap:8px;display:flex}.account-list .error-banner,.account-list>.button{margin:0 24px 18px}.account-list td{white-space:nowrap}.account-self{color:var(--muted);margin-top:4px;display:block}.account-edit{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.account-toggle{white-space:nowrap;align-items:center;gap:5px;font-size:13px;display:flex}.portal-auth-form{gap:12px;width:min(100%,370px);display:grid}.portal-auth-form label,.account-setup-link label{gap:6px;font-size:13px;font-weight:600;display:grid}.portal-auth-form input,.account-setup-link input{border:1px solid var(--line);width:100%;min-width:0;font:inherit;color:var(--ink);border-radius:8px;padding:10px 12px}.portal-auth-form small{color:var(--muted)}.account-own .portal-auth-form{padding:4px 24px 22px}.account-setup-link{flex-wrap:wrap;align-items:end;gap:10px;padding:4px 24px 18px;display:flex}.account-setup-link label{flex:250px}.profile-logout{color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:5px;display:grid}.installation-modal{width:min(1040px,100vw - 32px);max-height:92dvh}.installation-modal .modal-heading{z-index:3;background:#fff;position:sticky;top:0}.yield-device{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.yield-device dd{margin:0}.yield-device dt{color:#586a60}.yield-device dd{color:var(--ink)}.yield-heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:14px;margin:24px 0 14px;display:flex}.yield-heading h3{font-size:17px}.yield-heading p,.yield-heading label,.yield-note{color:#586a60;font-size:12px;line-height:1.5}.yield-heading p{margin-top:5px}.yield-heading label{gap:4px;display:grid}.yield-heading select{min-height:36px}.yield-totals{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px;display:grid}.yield-totals>div{border:1px solid var(--line);background:#f2f6f0;border-radius:8px;min-width:0;padding:12px}.yield-totals dt{color:#52675c;font-size:12px}.yield-totals dd{color:var(--green);font-variant-numeric:tabular-nums;margin:7px 0 0;font:700 clamp(15px,2vw,22px) Manrope,sans-serif}.yield-totals small{font-size:11px;font-weight:600}.yield-card{border:1px solid var(--line);border-radius:8px;min-width:0;padding:14px 12px 8px}.yield-card h4{margin:0 0 10px;padding-left:5px;font-size:13px;font-weight:650}.yield-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.yield-chart{min-width:0}.yield-chart-legend{color:#52675c;flex-wrap:wrap;align-items:center;gap:6px 15px;padding:0 8px 3px;font-size:11px;display:flex}.yield-chart-legend>span{align-items:center;gap:6px;display:inline-flex}.yield-chart-legend i{border-top-width:2px;width:17px}.yield-chart-unit{margin-left:auto}.yield-chart-empty{color:#586a60;text-align:center;place-items:center;min-height:100px;padding:15px;font-size:12px;display:grid}.overview-yield{padding:0 12px}.yield-table{border:1px solid var(--line);border-radius:8px;max-height:356px;overflow:auto}.yield-table table{min-width:620px}.yield-table thead{background:#f4f7f3;position:sticky;top:0}.yield-table tbody td{white-space:nowrap;padding-top:12px;padding-bottom:12px}.yield-note{margin-top:13px}@media (max-width:700px){.yield-chart-grid{grid-template-columns:minmax(0,1fr)}.yield-device,.yield-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:420px){.installation-modal{width:calc(100vw - 16px)}.installation-modal .modal-body{padding:14px}.yield-card{padding-inline:5px}}
