/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.\!end{inset-inline-end:var(--spacing)!important}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--paper:#f1f0e8;--paper-deep:#e7e5da;--card:#fbfaf5;--ink:#13241e;--muted:#68736d;--line:#cfd2c8;--green:#1e684e;--green-dark:#123c2f;--lime:#d9f36a;--amber:#d89a3d;--red:#d75d45;--blue:#7f9eb3;--white:#fffef9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif}button,input{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh;overflow:clip}.topbar{border-bottom:1px solid var(--ink);grid-template-columns:1fr auto 1fr;align-items:center;width:min(1480px,100% - 56px);min-height:88px;margin:0 auto;display:grid}.brand{width:fit-content;color:inherit;letter-spacing:.08em;align-items:center;gap:12px;font-size:15px;font-weight:800;text-decoration:none;display:inline-flex}.brand span:last-child{gap:1px;display:grid}.brand small{color:var(--muted);letter-spacing:.19em;text-transform:uppercase;font-size:8px;font-weight:700}.brand-mark{border:1px solid var(--ink);border-radius:50%;place-items:center;width:30px;height:30px;position:relative;display:inline-grid!important}.brand-mark:before,.brand-mark:after,.brand-mark i{content:"";background:var(--ink);position:absolute}.brand-mark:before{width:1px;height:38px}.brand-mark:after{width:38px;height:1px}.brand-mark i{border-radius:50%;width:8px;height:8px}.topbar-links{justify-content:flex-end;justify-self:end;align-items:center;gap:24px;display:inline-flex}.storage-status{border:1px solid var(--line);background:var(--card);justify-self:center;align-items:center;gap:5px;min-height:36px;padding:4px 6px 4px 11px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.storage-status{background:color-mix(in srgb, var(--card) 72%, transparent)}}.storage-status{color:var(--muted)}.storage-copy{font-family:var(--font-geist-mono), monospace;white-space:nowrap;align-items:center;gap:7px;font-size:8px;font-weight:650;display:inline-flex}.storage-copy>i{border:1px solid var(--muted);background:0 0;border-radius:50%;flex:none;width:6px;height:6px}.storage-status[data-state=saving] .storage-copy>i{border-color:var(--amber);background:var(--amber);animation:.9s ease-in-out infinite storage-pulse}.storage-status[data-state=saved] .storage-copy>i{border-color:var(--green);background:var(--green)}.storage-status[data-state=deleted] .storage-copy>i{border-color:var(--blue);background:var(--blue)}.storage-status[data-state=error]{border-color:var(--red)}@supports (color:color-mix(in lab, red, red)){.storage-status[data-state=error]{border-color:color-mix(in srgb, var(--red) 54%, var(--line))}}.storage-status[data-state=error]{color:var(--red)}@keyframes storage-pulse{50%{opacity:.35;transform:scale(.72)}}.storage-status .info-trigger,.storage-trash,.storage-enable{width:27px;height:27px;min-height:27px;color:var(--muted);background:0 0;border:0;flex:none;padding:0}.storage-status .info-trigger{font-size:9px}.storage-status .info-trigger:hover,.storage-status .info-trigger[aria-expanded=true]{border-color:var(--green);background:var(--green);color:var(--white)}.storage-trash{cursor:pointer;place-items:center;display:grid;position:relative}.storage-trash:hover:not(:disabled){background:var(--red)}@supports (color:color-mix(in lab, red, red)){.storage-trash:hover:not(:disabled){background:color-mix(in srgb, var(--red) 10%, transparent)}}.storage-trash:hover:not(:disabled){color:var(--red)}.storage-trash:disabled{cursor:default;opacity:.28}.storage-trash>i{border:1px solid;border-top:0;width:9px;height:10px;display:block;position:relative}.storage-trash>i:before,.storage-trash>i:after{content:"";display:block;position:absolute}.storage-trash>i:before{background:currentColor;width:13px;height:1px;top:-3px;left:-3px;box-shadow:4px -2px 0 -.25px}.storage-trash>i:after{background:currentColor;width:1px;height:6px;top:2px;left:3px}.storage-enable{border:1px solid var(--green);background:var(--lime);cursor:pointer;width:auto;height:31px;min-height:31px;color:var(--ink);font-family:var(--font-geist-mono), monospace;white-space:nowrap;padding-inline:11px;font-size:9px;font-weight:820;transition:background .12s,color .12s,transform .12s}.storage-enable:hover{border-color:var(--ink);background:var(--ink);color:var(--white);transform:translateY(-1px)}.storage-enable:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.topbar-links a{min-height:44px;color:var(--ink);letter-spacing:.04em;align-items:center;padding:0;font-size:11px;font-weight:720;text-decoration:none;display:inline-flex;position:relative}.topbar-links a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .15s;position:absolute;bottom:3px;left:0;right:0;transform:scaleX(0)}.topbar-links a:hover:after{transform-origin:0;transform:scaleX(1)}.topbar-links a:focus-visible,.data-attribution-inline:focus-visible,.compliance-card a:focus-visible{outline:2px solid var(--green);outline-offset:3px}.workspace{grid-template-columns:356px minmax(0,1fr);align-items:start;gap:28px;width:min(1480px,100% - 56px);margin:24px auto 0;display:grid}.controls{z-index:5;overscroll-behavior:contain;scrollbar-color:#d9f36aa6 #ffffff14;scrollbar-gutter:stable;scrollbar-width:thin;background:var(--green-dark);max-height:calc(100vh - 36px);color:var(--white);position:sticky;top:18px;overflow:hidden auto;box-shadow:0 22px 45px #13241e1c}.controls::-webkit-scrollbar{width:7px}.mobile-results-jump{display:none}.controls::-webkit-scrollbar-track{background:#ffffff14}.controls::-webkit-scrollbar-thumb{border:2px solid var(--green-dark);background:#d9f36aa6;border-radius:999px}.settings-level{background:#0000001f;border-bottom:1px solid #ffffff2e;gap:11px;padding:15px 18px;display:grid}.settings-level>div:first-child{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.settings-level>div:first-child>span{color:var(--lime);letter-spacing:.11em;text-transform:uppercase;font-size:9px;font-weight:820}.settings-level p{color:#ffffff8c;text-align:right;margin:0;font-size:9px;line-height:1.35}.settings-level-switch{border:1px solid #ffffff45;grid-template-columns:1fr 1fr;display:grid}.settings-level-switch button{color:#ffffffa6;cursor:pointer;background:0 0;border:0;border-right:1px solid #ffffff38;min-height:34px;font-size:10px;font-weight:760}.settings-level-switch button:last-child{border-right:0}.settings-level-switch button[aria-pressed=true]{background:var(--lime);color:var(--ink)}.control-section{border-bottom:1px solid #ffffff2e;padding:19px 22px 21px;position:relative}.control-section:last-child{border-bottom:0}.section-index{color:currentColor}@supports (color:color-mix(in lab, red, red)){.section-index{color:color-mix(in srgb, currentColor 55%, transparent)}}.section-index{font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;font-size:10px}.section-title{margin:-14px 0 18px 37px}.section-title h2{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.02em;margin:0;font-size:17px;font-weight:620}.section-title p{color:#ffffff8f;margin:3px 0 0;font-size:11px}.text-field{grid-template-columns:1fr auto;align-items:end;gap:5px 8px;margin-bottom:15px;display:grid}.text-field>span,.orientation-field>span,.field-head label{color:#ffffffad;letter-spacing:.02em;font-size:11px;font-weight:700}.text-field input{width:100%;height:40px;color:var(--white);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;background:0 0;border:0;border-bottom:1px solid #ffffff6b;border-radius:0;outline:0;grid-column:1/-1;padding:0 68px 0 0;font-size:25px;font-weight:500}.text-field:has(input:focus) input{border-color:var(--lime)}.text-field small{color:#ffffff75;letter-spacing:.08em;text-transform:uppercase;grid-area:2/2;align-self:center;margin-top:-32px;font-size:9px}.orientation-field{margin-bottom:15px}.orientation-field>span{margin-bottom:7px;display:block}.segmented{border:1px solid #ffffff47;grid-template-columns:repeat(4,1fr);display:grid}.segmented button{color:#ffffffab;cursor:pointer;background:0 0;border:0;border-right:1px solid #ffffff36;min-height:34px;padding:0 4px;font-size:10px;font-weight:700}.segmented button:last-child{border-right:0}.segmented button[aria-pressed=true]{background:var(--lime);color:var(--ink)}.range-field{margin-bottom:14px}.control-microcopy{color:#ffffff7a;margin:-13px 0 18px;font-size:9px;line-height:1.4}.power-profile-note{margin:7px 0 0}.export-limit-note{border-left:2px solid var(--lime);color:#ffffffa3;background:#d9f36a12;margin:-5px 0 16px;padding:10px 11px;font-size:9px;line-height:1.45}.export-limit-note b{color:var(--lime)}.load-profile-field{margin-bottom:14px}.consumer-addons-label{border-top:1px solid #ffffff2e;margin:5px 0 10px;padding-top:13px}.consumer-addons-label span{color:var(--lime);letter-spacing:.11em;text-transform:uppercase;font-size:8px;font-weight:820}.consumer-addons-label p{color:#ffffff82;margin:4px 0 0;font-size:9px;line-height:1.35}.simple-assumptions{background:#d9f36a12;border-left:2px solid #d9f36ab3;padding:11px 12px;position:relative}.simple-assumptions span{color:var(--lime);letter-spacing:.1em;text-transform:uppercase;font-size:7px;font-weight:820}.simple-assumptions p{color:#ffffffa1;margin:4px 54px 0 0;font-size:8px;line-height:1.45}.simple-assumptions button{color:var(--white);cursor:pointer;background:0 0;border:0;padding:3px 0;font-size:8px;font-weight:800;position:absolute;top:10px;right:12px}.load-profile-field>span,.load-profile-field .control-field-label{margin-bottom:7px}.load-profile-field>span,.load-profile-field .control-field-label>span{color:#ffffffad;font-size:11px;font-weight:700}.load-profile-switcher{border:1px solid #ffffff47;grid-template-columns:repeat(3,1fr);display:grid}.load-profile-switcher button{cursor:pointer;color:#ffffffab;background:0 0;border:0;border-right:1px solid #ffffff36;min-height:35px;padding:4px;font-size:8px;font-weight:700;line-height:1.15}.load-profile-switcher button:last-child{border-right:0}.load-profile-switcher button[aria-pressed=true]{background:var(--lime);color:var(--ink)}.expert-mode{background:#ffffff08;border:1px solid #ffffff3b;margin:3px 0 16px;overflow:hidden}.expert-mode-active{background:#102f26;border-color:#d9f36a8c;box-shadow:0 12px 30px #0000001f}.expert-mode-toggle{width:100%;min-height:78px;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex}.expert-mode-copy{gap:2px;min-width:0;display:grid}.expert-mode-copy small{color:var(--lime);letter-spacing:.12em;text-transform:uppercase;font-size:7px;font-style:normal;font-weight:820}.expert-mode-copy b{font-family:var(--font-geist-sans), Arial, sans-serif;font-size:13px;font-weight:650}.expert-mode-copy em{color:#ffffff85;font-size:8px;font-style:normal;line-height:1.35}.expert-mode-switch{background:#00000024;border:1px solid #ffffff57;border-radius:99px;flex:none;align-items:center;width:36px;height:20px;padding:3px;display:flex}.expert-mode-switch i{background:#ffffff8a;border-radius:50%;width:12px;height:12px;transition:transform .16s,background-color .16s;display:block}.expert-mode-toggle[aria-checked=true] .expert-mode-switch{border-color:var(--lime);background:#d9f36a24}.expert-mode-toggle[aria-checked=true] .expert-mode-switch i{background:var(--lime);transform:translate(16px)}.expert-mode-body{border-top:1px solid #ffffff24}.expert-welcome{background:#d9f36a12;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.expert-welcome>div{min-width:0}.expert-welcome span{color:var(--lime);letter-spacing:.12em;text-transform:uppercase;font-size:7px;font-weight:820}.expert-welcome p{color:#ffffffab;margin:3px 0 0;font-size:9px;line-height:1.35}.expert-welcome button,.expert-details-note button,.expert-field-head>button{color:#ffffffad;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;background:0 0;border:1px solid #ffffff40;min-height:27px;padding:0 8px;font-size:7px;font-weight:760}.expert-welcome button:hover,.expert-details-note button:hover,.expert-field-head>button:hover{border-color:var(--lime);color:var(--lime)}.expert-step{border-top:1px solid #ffffff1f;padding:15px 14px 16px}.expert-step-title{align-items:center;gap:9px;margin-bottom:13px;display:flex}.expert-step-title>span{width:24px;height:24px;color:var(--lime);font-family:var(--font-geist-mono), monospace;border:1px solid #d9f36a8c;border-radius:50%;place-items:center;font-size:7px;display:grid}.expert-step-title>div{gap:1px;display:grid}.expert-step-title b{font-family:var(--font-geist-sans), Arial, sans-serif;font-size:11px;font-weight:650}.expert-step-title small{color:#ffffff70;font-size:7px}.expert-field-grid,.expert-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.expert-number-field{min-width:0;margin:0 0 10px}.expert-field-head{justify-content:space-between;align-items:center;gap:5px;min-height:20px;margin-bottom:3px;display:flex}.expert-field-head>span{align-items:center;gap:4px;min-width:0;display:flex}.expert-field-head label{color:#ffffff9c;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:690;overflow:hidden}.expert-field-head .info-trigger{width:20px;height:20px;min-height:20px;font-size:7px}.expert-field-head small{color:#d9f36a9c;letter-spacing:.06em;text-transform:uppercase;font-size:6px;font-weight:760}.expert-field-head>button{min-height:20px;padding-inline:5px;font-size:6px}.expert-number-shell{background:#ffffff08;border:1px solid #ffffff36;justify-content:flex-end;align-items:center;gap:4px;min-height:36px;padding:0 9px;display:flex}.expert-number-shell:focus-within{border-color:var(--lime);background:#d9f36a0d}.expert-number-shell input,.performance-row input{width:100%;min-width:0;color:var(--white);font-family:var(--font-geist-mono), monospace;text-align:right;-moz-appearance:textfield;background:0 0;border:0;outline:0;padding:0;font-size:14px;font-weight:720}.expert-number-shell input{height:34px;line-height:34px}.expert-number-shell input::-webkit-inner-spin-button{appearance:none;margin:0}.expert-number-shell input::-webkit-outer-spin-button{appearance:none;margin:0}.performance-row input::-webkit-inner-spin-button{appearance:none;margin:0}.performance-row input::-webkit-outer-spin-button{appearance:none;margin:0}.expert-number-shell span,.performance-row label span{color:#ffffff69;font-family:var(--font-geist-mono), monospace;flex:none;font-size:7px}.expert-number-shell>span{line-height:1}.expert-number-row{grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid}.expert-number-row .expert-number-shell{border-right:0}.expert-number-action{border:1px solid var(--lime);min-width:66px;color:var(--lime);cursor:pointer;background:#d9f36a17;justify-content:center;align-items:center;gap:4px;padding:0 8px;font-size:7px;font-weight:780;display:inline-flex}.expert-number-action:hover{background:var(--lime);color:var(--ink)}.expert-number-action i{font-family:Georgia,serif;font-size:12px;font-style:normal}.expert-choice-block{margin-top:3px}.expert-choice-block>span{color:#ffffff9c;margin-bottom:6px;font-size:8px;font-weight:690;display:block}.expert-choice{border:1px solid #ffffff38;display:grid}.expert-choice-three{grid-template-columns:repeat(3,1fr)}.expert-choice-two{grid-template-columns:repeat(2,1fr);margin-bottom:12px}.expert-choice button{color:#ffffff8c;cursor:pointer;background:0 0;border:1px solid #ffffff29;border-top:0;border-left:0;min-height:34px;padding:4px 5px;font-size:8px;font-weight:720}.expert-choice-three button:last-child,.expert-choice-two button:nth-child(2n){border-right:0}.expert-choice-two button:nth-last-child(-n+2),.expert-choice-three button{border-bottom:0}.expert-choice button[aria-pressed=true]{background:var(--lime);color:var(--ink)}.ev-strategy-note{color:#ffffff8c;min-height:34px;margin:8px 1px 11px;font-size:8px;line-height:1.45}.expert-switch-control{min-width:0;margin:0 0 10px}.expert-switch-control .expert-field-head{margin-bottom:3px}.expert-switch-field{width:100%;min-height:36px;color:var(--white);cursor:pointer;text-align:left;background:#ffffff08;border:1px solid #ffffff36;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:6px 9px 6px 11px;display:flex}.expert-switch-field>small{color:#ffffff70;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:8px;line-height:1.25;overflow:hidden}.expert-switch-field>i{border:1px solid #ffffff47;border-radius:99px;flex:none;width:31px;height:18px;padding:3px;display:block;position:relative}.expert-switch-field>i:after{content:"";background:#ffffff85;border-radius:50%;width:10px;height:10px;transition:transform .15s;display:block}.expert-switch-field[aria-checked=true]>i{border-color:var(--lime)}.expert-switch-field[aria-checked=true]>i:after{background:var(--lime);transform:translate(13px)}.expert-details{border-top:1px solid #ffffff21}.expert-details summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:58px;padding:10px 14px;list-style:none;display:flex}.expert-details summary::-webkit-details-marker{display:none}.expert-details summary>span{gap:2px;display:grid}.expert-details summary b{font-size:9px;font-weight:720}.expert-details summary small{color:#ffffff6e;font-size:7px}.expert-details summary>i{width:9px;height:9px;display:block;position:relative}.expert-details summary>i:before,.expert-details summary>i:after{content:"";background:var(--lime);position:absolute}.expert-details summary>i:before{width:9px;height:1px;top:4px}.expert-details summary>i:after{width:1px;height:9px;transition:transform .15s;left:4px}.expert-details[open] summary>i:after{transform:scaleY(0)}.expert-details-body{padding:0 14px 15px}.expert-details-body>p{color:#ffffff7a;margin:0 0 10px;font-size:8px;line-height:1.45}.expert-details-note{justify-content:space-between;align-items:center;gap:8px;min-height:31px;margin-bottom:8px;display:flex}.expert-details-note span{color:var(--lime);letter-spacing:.06em;text-transform:uppercase;font-size:7px;font-weight:760}.expert-storage-card{background:#ffffff08;border:1px solid #ffffff30;grid-column:1/-1;padding:11px}.expert-storage-head{gap:2px;margin-bottom:9px;display:grid}.expert-storage-head>span{align-items:center;gap:5px;display:flex}.expert-storage-head b{font-size:9px;font-weight:720}.expert-storage-head small{color:#ffffff70;font-size:7px}.expert-storage-card .expert-choice-two{margin-bottom:10px}.expert-storage-card .expert-field-grid{gap:8px}.expert-storage-card .expert-number-field{margin-bottom:0}.expert-storage-card .expert-switch-field{margin:0}.expert-storage-card .expert-switch-control{margin:9px 0 0}.expert-storage-note{color:#ffffff73;margin:8px 1px 0;font-size:7px;line-height:1.45}.performance-table{border-top:1px solid #ffffff2e;border-left:1px solid #ffffff2e}.performance-group+.performance-group{border-top:1px solid #ffffff1f;margin-top:15px;padding-top:13px}.performance-group>p{color:#ffffff73;margin:-2px 0 8px;font-size:7px;line-height:1.45}.performance-row{grid-template-columns:.82fr 1.1fr .82fr;display:grid}.performance-table-two .performance-row{grid-template-columns:.9fr 1.35fr}.performance-row>*{border-bottom:1px solid #ffffff2e;border-right:1px solid #ffffff2e;align-items:center;min-width:0;min-height:34px;padding:0 7px;display:flex}.performance-row>b{color:var(--lime);font-family:var(--font-geist-mono), monospace;font-size:8px}.performance-row label{gap:3px}.performance-row input{font-size:10px}.performance-head span{color:#ffffff6b;letter-spacing:.06em;text-transform:uppercase;min-height:25px;font-size:6px;font-weight:760}.expert-active-summary{background:#d9f36a12;border-top:1px solid #d9f36a5c;padding:13px 14px 14px}.expert-active-summary span{color:var(--lime);letter-spacing:.1em;text-transform:uppercase;font-size:7px;font-weight:820}.expert-active-summary p{color:#ffffffb8;margin:5px 0 0;font-size:8px;line-height:1.45}.field-head{grid-template-columns:1fr auto;align-items:center;gap:16px;display:grid}.control-field-label{align-items:center;gap:6px;min-width:0;display:inline-flex}.range-reset{color:var(--lime);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;background:0 0;border:0;margin-left:auto;padding:2px 0;font-size:7px;font-weight:800}.range-assumption{color:#d9f36ab3;letter-spacing:.06em;text-transform:uppercase;margin-left:auto;font-size:7px;font-weight:760}.number-shell{cursor:text;border-bottom:1px solid #0000;justify-content:flex-end;align-items:baseline;gap:4px;min-width:94px;padding:3px 0 2px 5px;transition:border-color .12s,background-color .12s;display:flex}.number-shell:hover{border-bottom-color:#ffffff47}.number-shell:focus-within{border-bottom-color:var(--lime);background:#ffffff0a}.number-shell input{width:64px;color:var(--white);font-family:var(--font-geist-mono), monospace;text-align:right;cursor:text;-moz-appearance:textfield;background:0 0;border:0;outline:0;padding:0;font-size:14px;font-weight:700}.number-shell input:focus{outline:0}.range-field-overflow .number-shell input{color:var(--lime)}.number-shell input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.number-shell input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-shell span{color:#ffffff80;font-family:var(--font-geist-mono), monospace;font-size:9px}.range-control{cursor:ew-resize;appearance:none;background:0 0;width:100%;height:16px;margin:5px 0 0}.range-control::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--lime) 0 var(--progress), #ffffff38 var(--progress) 100%);height:2px}.range-control::-moz-range-track{background:#ffffff38;height:2px}.range-control::-moz-range-progress{background:var(--lime);height:2px}.range-control::-webkit-slider-thumb{border:3px solid var(--green-dark);background:var(--lime);width:14px;height:14px;box-shadow:0 0 0 1px var(--lime);appearance:none;border-radius:50%;margin-top:-6px}.range-control::-moz-range-thumb{border:3px solid var(--green-dark);background:var(--lime);width:10px;height:10px;box-shadow:0 0 0 1px var(--lime);border-radius:50%}.primary-button{background:var(--lime);width:100%;min-height:44px;color:var(--ink);cursor:pointer;letter-spacing:.02em;border:0;justify-content:space-between;align-items:center;margin-top:3px;padding:0 13px 0 16px;font-size:11px;font-weight:800;display:flex}.primary-button b{border:1px solid;border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font-size:13px;display:grid}.reload-icon i{width:10px;height:10px;display:block;position:relative}.reload-icon i:before,.reload-icon i:after{content:"";display:block;position:absolute}.reload-icon i:before{transform-origin:50%;background:currentColor;width:11px;height:1px;top:5px;left:-1px;transform:rotate(-45deg)}.reload-icon i:after{border-top:1px solid;border-right:1px solid;width:5px;height:5px;top:0;right:0}.primary-button:disabled{cursor:wait;opacity:.55}.button-pending{box-shadow:0 0 0 3px #d9f36a24}.system-controls{padding-bottom:17px}.results{min-width:0;scroll-margin-top:12px}.analysis-tabs{border:1px solid var(--ink);background:var(--card);grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px;display:grid}.analysis-tabs button{border:0;border-right:1px solid var(--ink);cursor:pointer;min-height:58px;color:var(--muted);text-align:left;background:0 0;align-content:center;gap:2px;padding:10px 18px;display:grid}.analysis-tabs button:last-child{border-right:0}.analysis-tabs button[aria-selected=true]{background:var(--ink);color:var(--white)}.analysis-tabs span{font-family:var(--font-geist-sans), Arial, sans-serif;font-size:16px;font-weight:680}.analysis-tabs small{color:currentColor}@supports (color:color-mix(in lab, red, red)){.analysis-tabs small{color:color-mix(in srgb, currentColor 62%, transparent)}}.analysis-tabs small{font-size:9px}.analysis-tabs button[aria-selected=true] span{color:var(--lime)}.analysis-tabs button:focus-visible,.profile-tabs button:focus-visible,.finance-period:focus-visible{outline:2px solid var(--lime);outline-offset:-4px}.analysis-panel{min-width:0}.data-attribution-inline{color:#53615b;letter-spacing:.04em;text-underline-offset:3px;width:fit-content;margin-top:4px;font-size:8px;font-weight:760;line-height:1.4;text-decoration-color:#53615b70;display:inline-flex}.loading-state,.error-state{border:1px solid var(--line);background:var(--card);justify-content:center;align-items:center;gap:28px;min-height:620px;padding:80px;display:flex}.loading-orbit{border:1px solid var(--line);border-radius:50%;width:72px;height:72px;animation:2.4s linear infinite orbit;position:relative}.loading-orbit span{background:var(--lime);width:14px;height:14px;box-shadow:0 0 0 1px var(--green);border-radius:50%;position:absolute;top:-7px;left:28px}@keyframes orbit{to{transform:rotate(360deg)}}.loading-state p{font-family:var(--font-geist-sans), Arial, sans-serif;margin:0 0 7px;font-size:19px;font-weight:650}.loading-state>div:last-child>span{max-width:360px;color:var(--muted);font-size:13px;line-height:1.5;display:block}.error-state{text-align:center;flex-direction:column}.error-state>span{color:var(--red);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800}.error-state h2{max-width:520px;font-family:var(--font-geist-sans), Arial, sans-serif;margin:0;font-size:28px}.error-state button{border:1px solid var(--ink);cursor:pointer;background:0 0;min-height:42px;padding:0 20px;font-size:12px;font-weight:700}.result-toolbar{border:1px solid var(--line);background:var(--card);justify-content:space-between;align-items:center;gap:24px;min-height:90px;padding:17px 20px 17px 24px;display:flex}.result-toolbar>div:first-child{gap:2px;display:grid}.location-kicker,.card-head>div:first-child>span,.event-callout>div:nth-child(2)>span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:800}.result-toolbar strong{font-family:var(--font-geist-sans), Arial, sans-serif;font-size:16px}.result-toolbar small{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:9px}.result-toolbar-controls{justify-items:end;gap:8px;display:grid}.analysis-export-control{align-items:center;gap:6px;display:inline-flex}.analysis-export-control .info-trigger{width:31px;height:31px;min-height:31px;font-size:9px}.analysis-export-button{border:1px solid var(--ink);background:var(--ink);cursor:pointer;min-height:34px;color:var(--white);font-family:var(--font-geist-mono), monospace;letter-spacing:.03em;align-items:center;gap:9px;padding:0 13px;font-size:9px;font-weight:760;transition:background .13s,border-color .13s,color .13s;display:inline-flex}.analysis-export-button:hover:not(:disabled),.analysis-export-button:focus-visible{border-color:var(--green);background:var(--lime);color:var(--ink)}.analysis-export-button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.analysis-export-button:disabled{cursor:progress;opacity:.58}.analysis-export-button>i{border-bottom:1px solid;width:11px;height:12px;display:block;position:relative}.analysis-export-button>i:before,.analysis-export-button>i:after{content:"";position:absolute}.analysis-export-button>i:before{background:currentColor;width:1px;height:8px;top:0;left:5px}.analysis-export-button>i:after{border-bottom:1px solid;border-right:1px solid;width:5px;height:5px;top:2px;left:3px;transform:rotate(45deg)}.export-error{margin-top:0}.year-switcher,.filter-tabs{border:1px solid var(--line);align-items:center;display:flex}.year-switcher button,.filter-tabs button{border:0;border-right:1px solid var(--line);cursor:pointer;min-height:31px;color:var(--muted);font-family:var(--font-geist-mono), monospace;background:0 0;padding:0 10px;font-size:9px;font-weight:650}.year-switcher button:last-child,.filter-tabs button:last-child{border-right:0}.year-switcher button[aria-pressed=true],.filter-tabs button[aria-pressed=true]{background:var(--ink);color:var(--white)}.inline-error{border-left:3px solid var(--red);background:var(--red);margin-top:8px;padding:10px 14px}@supports (color:color-mix(in lab, red, red)){.inline-error{background:color-mix(in srgb, var(--red) 8%, var(--card))}}.inline-error{color:#7b3025;font-size:11px}.climate-note{background:#e6eee9;border:1px solid #bfd0c7;grid-template-columns:150px 1fr auto;align-items:center;gap:18px;margin-top:10px;padding:14px 18px;display:grid}.climate-note>span{color:var(--green);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:800}.climate-note p{color:#42534b;margin:0;font-size:11px;line-height:1.5}.climate-note-copy{gap:5px;min-width:0;display:grid}.climate-note-copy details{color:var(--green);font-size:9px}.climate-note-copy summary{cursor:pointer;width:fit-content;font-weight:800}.climate-note-copy details p{border-left:1px solid #9fb8ab;margin-top:7px;padding-left:12px}.climate-note button{border:1px solid var(--green);min-height:34px;color:var(--green);cursor:pointer;white-space:nowrap;background:0 0;padding:0 12px;font-size:9px;font-weight:800}.climate-note button:hover{background:var(--green);color:var(--white)}.heatload-backdrop{z-index:500;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#091914bd;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.heatload-modal{border:1px solid var(--ink);background:var(--paper);width:min(1160px,100%);height:min(920px,100dvh - 44px);min-height:0;color:var(--ink);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 34px 90px #0000005c}.heatload-head{border-bottom:1px solid var(--ink);background:var(--card);flex:none;justify-content:space-between;align-items:center;gap:24px;min-height:108px;padding:20px 24px;display:flex}.heatload-head>div:first-child{min-width:0}.heatload-head>div:first-child>span{color:var(--green);letter-spacing:.13em;text-transform:uppercase;font-size:8px;font-weight:820}.heatload-head h2{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.045em;margin:3px 0 2px;font-size:28px;font-weight:620}.heatload-head p{color:var(--muted);margin:0;font-size:10px;line-height:1.45}.heatload-head-actions{flex:none;align-items:center;gap:14px;display:flex}.heatload-head-actions small{color:var(--muted);font-family:var(--font-geist-mono), monospace;white-space:nowrap;align-items:center;gap:6px;font-size:8px;display:inline-flex}.heatload-head-actions small>i{background:var(--green);border-radius:50%;width:6px;height:6px;display:block}.heatload-head-actions small[data-state=saving]>i{background:var(--amber);animation:.9s ease-in-out infinite storage-pulse}.heatload-head-actions small[data-state=error]>i{background:var(--red)}.heatload-head-actions small[data-state=disabled]>i{border:1px solid var(--muted);background:0 0}.heatload-head-actions>button{border:1px solid var(--ink);cursor:pointer;background:0 0;width:42px;height:42px;font-family:Arial,sans-serif;font-size:24px;font-weight:300;line-height:1}.heatload-head-actions>button:hover{background:var(--ink);color:var(--white)}.heatload-layout{flex:1;grid-template-columns:minmax(0,1fr) 330px;min-height:0;display:grid}.heatload-form,.heatload-result{overscroll-behavior:contain;min-height:0;overflow-y:auto}.heatload-form{scrollbar-color:var(--green) transparent;scrollbar-width:thin;padding:8px 26px 34px}.heatload-section{border-bottom:1px solid var(--line);padding:24px 0 26px}.heatload-section-title{align-items:center;gap:11px;margin-bottom:18px;display:flex}.heatload-section-title>span{border:1px solid var(--green);width:28px;height:28px;color:var(--green);font-family:var(--font-geist-mono), monospace;border-radius:50%;flex:none;place-items:center;font-size:8px;font-weight:700;display:grid}.heatload-section-title>div{min-width:0}.heatload-section-title h3{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.025em;margin:0;font-size:17px;font-weight:650}.heatload-section-title p{color:var(--muted);margin:2px 0 0;font-size:9px;line-height:1.4}.heatload-field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;display:grid}.heatload-field{align-content:start;gap:6px;min-width:0;display:grid}.heatload-field-label{color:#53625b;flex-direction:column;justify-content:flex-end;gap:2px;min-height:24px;font-size:8px;font-weight:720;display:flex}.heatload-field-label>small{color:var(--muted);font-size:7px;font-weight:400;line-height:1.25}.heatload-label-line{align-items:center;gap:5px;display:inline-flex}.heatload-input,.heatload-layer-input{background:var(--card);border:1px solid #b9c0b8;align-items:center;gap:5px;min-height:42px;padding:0 10px;display:flex}.heatload-input:focus-within,.heatload-layer-input:focus-within{border-color:var(--green);box-shadow:inset 0 -2px 0 var(--green)}.heatload-input input,.heatload-layer-input input{width:100%;min-width:0;color:var(--ink);font-family:var(--font-geist-mono), monospace;text-align:right;-moz-appearance:textfield;background:0 0;border:0;outline:0;padding:0;font-size:14px;font-weight:720}.heatload-input input::-webkit-inner-spin-button{appearance:none;margin:0}.heatload-input input::-webkit-outer-spin-button{appearance:none;margin:0}.heatload-layer-input input::-webkit-inner-spin-button{appearance:none;margin:0}.heatload-layer-input input::-webkit-outer-spin-button{appearance:none;margin:0}.heatload-input b,.heatload-layer-input b{color:var(--muted);flex:none;font-size:7px;font-weight:650;line-height:1}.heatload-choice-field{margin-top:15px}.heatload-choice-field>span{color:#53625b;margin-bottom:6px;font-size:8px;font-weight:720;display:block}.heatload-choice{background:var(--card);border:1px solid #b9c0b8;grid-template-columns:repeat(4,1fr);display:grid}.heatload-choice button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-right:1px solid #cfd2c8;padding:6px;font-size:8px;font-weight:720}.heatload-choice button:last-child{border-right:0}.heatload-choice button[aria-pressed=true]{background:var(--ink);color:var(--lime)}.heatload-assemblies{border-top:1px solid var(--line);border-left:1px solid var(--line)}.heatload-assembly{background:var(--card)}.heatload-assembly summary{border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 14px;list-style:none;display:flex}.heatload-assembly summary::-webkit-details-marker{display:none}.heatload-assembly summary>span{gap:3px;min-width:0;display:grid}.heatload-assembly summary b{font-family:var(--font-geist-sans), Arial, sans-serif;font-size:11px;font-weight:680}.heatload-assembly summary small{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:8px}.heatload-assembly summary>i{flex:none;width:10px;height:10px;position:relative}.heatload-assembly summary>i:before,.heatload-assembly summary>i:after{content:"";background:var(--green);position:absolute}.heatload-assembly summary>i:before{width:10px;height:1px;top:4px}.heatload-assembly summary>i:after{width:1px;height:10px;transition:transform .15s;left:4px}.heatload-assembly[open] summary>i:after{transform:scaleY(0)}.heatload-assembly-body{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#f7f6ef;padding:14px}.heatload-mode{border:1px solid #b9c0b8;grid-template-columns:1fr 1fr;margin-bottom:13px;display:grid}.heatload-mode button{min-height:37px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-right:1px solid #b9c0b8;font-size:8px;font-weight:720}.heatload-mode button:last-child{border-right:0}.heatload-mode button[aria-pressed=true]{background:var(--green);color:var(--white)}.heatload-layer-hint{color:var(--muted);margin:0 0 11px;font-size:8px;line-height:1.45}.heatload-layers{gap:7px;display:grid}.heatload-layer{background:var(--card);border:1px solid #d2d5cc;grid-template-columns:minmax(145px,1.3fr) minmax(105px,.8fr) minmax(90px,.7fr) 32px;align-items:end;gap:7px;padding:8px;display:grid}.heatload-layer>label,.heatload-layer-field{gap:4px;min-width:0;display:grid}.heatload-layer>label>span:first-child,.heatload-layer-field>span:first-child{color:var(--muted);font-size:7px;font-weight:700}.heatload-layer select,.heatload-select-field select{background:var(--card);width:100%;min-height:36px;color:var(--ink);border:1px solid #b9c0b8;border-radius:0;outline:0;padding:0 28px 0 9px;font-size:9px}.heatload-layer-input{min-height:36px;padding-inline:7px}.heatload-layer-input input{font-size:11px}.heatload-layer-remove{width:32px;height:36px;color:var(--red);cursor:pointer;background:0 0;border:1px solid #b9c0b8;font-size:18px}.heatload-layer-remove:disabled{cursor:default;opacity:.25}.heatload-add-layer{border:1px solid var(--green);min-height:38px;color:var(--green);cursor:pointer;background:0 0;margin-top:8px;padding:0 13px;font-size:8px;font-weight:750}.heatload-add-layer:hover{background:var(--green);color:var(--white)}.heatload-select-field{grid-template-columns:minmax(130px,.6fr) minmax(0,1fr);align-items:center;gap:12px;margin-top:12px;display:grid}.heatload-select-field>span{color:var(--muted);font-size:8px;font-weight:700}.heatload-window-card{border:1px solid var(--line);background:var(--card);grid-template-columns:minmax(150px,.7fr) minmax(0,1fr);align-items:center;gap:20px;margin-top:11px;padding:14px;display:grid}.heatload-window-card>div:first-child{gap:3px;display:grid}.heatload-window-card>div:first-child b{font-size:11px}.heatload-window-card>div:first-child small{color:var(--muted);font-size:8px;line-height:1.4}.heatload-window-card .heatload-field-grid{grid-template-columns:1fr 1fr}.heatload-formula{border-left:3px solid var(--green);color:var(--muted);margin-top:18px;padding:0 14px}.heatload-formula summary{min-height:38px;color:var(--ink);cursor:pointer;align-items:center;font-size:9px;font-weight:750;display:flex}.heatload-formula p{margin:0 0 9px;font-size:8px;line-height:1.5}.heatload-result{border-left:1px solid var(--ink);background:var(--ink);color:var(--white);scrollbar-color:var(--lime) transparent;scrollbar-width:thin;padding:25px 22px 22px}.heatload-result-main{border-bottom:1px solid #ffffff38;padding-bottom:21px}.heatload-result-main>span,.heatload-envelope>span,.heatload-areas>span{color:var(--lime);letter-spacing:.11em;text-transform:uppercase;font-size:8px;font-weight:820}.heatload-result-main>strong{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.055em;margin:8px 0 1px;font-size:46px;font-weight:560;display:block}.heatload-result-main>p{color:#ffffffab;margin:0;font-size:10px}.heatload-result-main>small{color:#ffffff85;margin-top:12px;font-size:8px;line-height:1.45;display:block}.heatload-result-main>small b{color:var(--white)}.heatload-breakdown{border-bottom:1px solid #ffffff38;margin:0;padding:13px 0}.heatload-breakdown>div{justify-content:space-between;align-items:center;gap:12px;min-height:29px;display:flex}.heatload-breakdown dt{color:#ffffff8c;font-size:8px}.heatload-breakdown dd{font-family:var(--font-geist-mono), monospace;margin:0;font-size:9px;font-weight:720}.heatload-envelope{border-bottom:1px solid #ffffff38;padding:15px 0 14px}.heatload-envelope>div{margin-top:9px}.heatload-envelope p{color:#ffffff9c;justify-content:space-between;margin:0 0 4px;font-size:8px;display:flex}.heatload-envelope p b{color:var(--white);font-family:var(--font-geist-mono), monospace}.heatload-envelope i{background:linear-gradient(to right, var(--lime) 0 var(--share), #ffffff21 var(--share) 100%);height:3px;display:block}.heatload-areas{padding:15px 0}.heatload-areas p{color:#ffffff96;margin:8px 0 0;font-size:8px}.heatload-apply{border:1px solid var(--lime);background:var(--lime);width:100%;min-height:62px;color:var(--ink);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:9px 13px;display:flex}.heatload-apply>span{gap:2px;font-size:12px;font-weight:800;display:grid}.heatload-apply small{letter-spacing:.08em;text-transform:uppercase;font-size:7px;font-weight:720}.heatload-apply>b{font-size:21px}.heatload-disclaimer{color:#ffffff6e;margin:12px 0 0;font-size:7px;line-height:1.5}.heatload-help-trigger{color:#59675f;cursor:pointer;background:0 0;border:1px solid #849087;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;padding:0;font-family:Georgia,serif;font-size:9px;font-weight:700;line-height:1;display:inline-grid}.heatload-help-trigger:hover,.heatload-help-trigger[aria-expanded=true]{border-color:var(--green);background:var(--green);color:var(--white)}.heatload-help-popover{z-index:800;border:1px solid var(--ink);background:var(--ink);color:var(--white);padding:13px 14px;font-size:10px;line-height:1.45;position:fixed;box-shadow:0 14px 40px #00000047}.heatload-help-popover:before{content:"";border-left:1px solid var(--ink);border-top:1px solid var(--ink);background:var(--ink);width:9px;height:9px;position:absolute;left:calc(50% - 5px);transform:rotate(45deg)}.heatload-help-popover[data-placement=below]:before{top:-5px}.heatload-help-popover[data-placement=above]:before{bottom:-5px;transform:rotate(225deg)}.heatload-help-popover b{color:var(--lime);font-size:10px}.heatload-help-popover p{color:#ffffffba;margin:6px 0 0}.heat-pump-result{background:#edf3ef;border:1px solid #a9c5b8;margin-top:10px}.ev-result{background:#f0f5f1;border:1px solid #afc6ba;margin-top:10px}.ev-result-head{border-bottom:1px solid #c7d8d0;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);align-items:center;gap:28px;padding:17px 20px;display:grid}.ev-result-head>div{gap:3px;display:grid}.ev-result-head span,.ev-result-grid article>span{color:var(--green);letter-spacing:.11em;text-transform:uppercase;font-size:8px;font-weight:820}.ev-result-head h2{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.035em;margin:0;font-size:20px;font-weight:620}.ev-result-head p{color:#4e6259;margin:0;font-size:10px;line-height:1.5}.ev-result-head p b{color:var(--ink)}.ev-result-grid{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.ev-result-grid article{border-right:1px solid #c7d8d0;flex-direction:column;gap:4px;min-width:0;min-height:106px;padding:14px 17px;display:flex}.ev-result-grid article:last-child{border-right:0}.ev-result-grid article>span{color:var(--muted);font-size:7px}.ev-result-grid strong{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.04em;margin-top:auto;font-size:22px;font-weight:590}.ev-result-grid small{color:var(--muted);font-size:8px;line-height:1.35}.ev-result-grid .ev-result-complete{background:var(--lime)}@supports (color:color-mix(in lab, red, red)){.ev-result-grid .ev-result-complete{background:color-mix(in srgb, var(--lime) 8%, transparent)}}.ev-result-grid .ev-result-complete strong{color:var(--green)}.ev-result-grid .ev-result-gap{background:var(--red)}@supports (color:color-mix(in lab, red, red)){.ev-result-grid .ev-result-gap{background:color-mix(in srgb, var(--red) 7%, transparent)}}.ev-result-grid .ev-result-gap strong,.ev-gap-value,.matrix-ev-gap{color:var(--red)}.heat-pump-result-head{border-bottom:1px solid #c7d8d0;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);align-items:center;gap:28px;padding:17px 20px;display:grid}.heat-pump-result-head>div{gap:3px;display:grid}.heat-pump-result-head span{color:var(--green);letter-spacing:.11em;text-transform:uppercase;font-size:8px;font-weight:820}.heat-pump-result-head h2{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.035em;margin:0;font-size:20px;font-weight:620}.heat-pump-result-head p{color:#4e6259;margin:0;font-size:10px;line-height:1.5}.heat-pump-result-head p b{color:var(--ink)}.heat-pump-result-grid{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.heat-pump-result-grid article{border-right:1px solid #c7d8d0;flex-direction:column;gap:4px;min-width:0;min-height:106px;padding:14px 17px;display:flex}.heat-pump-result-grid article:last-child{border-right:0}.heat-pump-result-grid span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:7px;font-weight:820}.heat-pump-result-grid strong{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.04em;margin-top:auto;font-size:22px;font-weight:590}.heat-pump-result-grid small{color:var(--muted);font-size:8px;line-height:1.35}.heat-pump-result-grid .heat-pump-coverage-gap{background:var(--green)}@supports (color:color-mix(in lab, red, red)){.heat-pump-result-grid .heat-pump-coverage-gap{background:color-mix(in srgb, var(--green) 7%, transparent)}}.heat-pump-result-grid .heat-pump-coverage-gap strong{color:var(--green)}.heat-pump-result-grid .heat-pump-coverage-gap[data-severity=relevant]{background:var(--amber)}@supports (color:color-mix(in lab, red, red)){.heat-pump-result-grid .heat-pump-coverage-gap[data-severity=relevant]{background:color-mix(in srgb, var(--amber) 9%, transparent)}}.heat-pump-result-grid .heat-pump-coverage-gap[data-severity=relevant] strong{color:#9a6419}.heat-pump-result-grid .heat-pump-coverage-gap[data-severity=significant]{background:var(--red)}@supports (color:color-mix(in lab, red, red)){.heat-pump-result-grid .heat-pump-coverage-gap[data-severity=significant]{background:color-mix(in srgb, var(--red) 8%, transparent)}}.heat-pump-result-grid .heat-pump-coverage-gap[data-severity=significant] strong{color:var(--red)}.heat-pump-result-grid .heat-pump-metric-label{justify-content:space-between;align-items:center;gap:7px;display:flex}.heat-pump-result-grid .heat-pump-metric-label .info-trigger{width:19px;height:19px;color:var(--muted);font-size:8px}.heat-pump-result-grid .heat-pump-coverage-gap .heat-pump-metric-label .info-trigger{color:currentColor}.load-detail{gap:2px;display:grid}.load-detail small{color:var(--muted);font-size:8px;line-height:1.25}.load-detail .ev-gap-value{color:var(--red)}.verdict{background:var(--ink);min-height:272px;color:var(--white);grid-template-columns:250px 1fr;align-items:center;gap:46px;margin-top:10px;padding:38px 42px;display:grid}.verdict-score{display:grid}.verdict-score>span{color:var(--lime);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:800}.verdict-score strong{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.075em;margin:10px 0 5px;font-size:clamp(58px,5.7vw,88px);font-weight:500;line-height:.9}.verdict-score small{color:#ffffff7a;font-size:10px}.verdict-copy{border-left:1px solid #ffffff3d;padding-left:42px}.verdict-kicker{color:var(--lime);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800}.verdict-shortage-total{align-items:baseline;gap:12px;margin-top:8px;display:flex}.verdict-shortage-total strong{font-family:var(--font-geist-sans), Arial, sans-serif;color:var(--white);letter-spacing:-.065em;margin:0;font-size:clamp(44px,4vw,64px);font-weight:520;line-height:.95}.verdict-shortage-total>span{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.035em;font-size:clamp(18px,1.6vw,24px)}.verdict-copy b{color:var(--lime);font-weight:650}.verdict-unmet{color:#ffffffb3;margin:5px 0 0;font-size:12px;line-height:1.45}.verdict-breakdown{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:20px;display:grid}.verdict-breakdown article{border-top:1px solid #ffffff3d;grid-template-columns:auto 1fr;align-items:start;gap:14px;min-width:0;padding-top:12px;display:grid}.verdict-breakdown article>strong{min-width:56px;color:var(--lime);font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.045em;font-size:28px;font-weight:560;line-height:1}.verdict-breakdown article>strong small{color:#ffffff7a;letter-spacing:0;text-transform:uppercase;margin-top:4px;font-family:Arial,Helvetica,sans-serif;font-size:8px;font-weight:400;display:block}.verdict-breakdown article div>b{color:var(--white);font-size:11px;line-height:1.3;display:block}.verdict-breakdown article p{color:#ffffff94;margin:4px 0 0;font-size:10px;line-height:1.4}.verdict-bridge-note{color:#ffffffa8;border-top:1px solid #ffffff24;max-width:720px;margin:17px 0 0;padding-top:13px;font-size:10px;line-height:1.45}.verdict-good,.verdict-good strong,.verdict-good>span{color:var(--lime)}.finance-verdict{background:var(--ink);min-height:250px;color:var(--white);grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);align-items:center;gap:44px;margin-top:10px;padding:36px 42px;display:grid}.finance-verdict-total{display:grid}.finance-verdict-total>span,.finance-verdict-copy>span{color:var(--lime);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800}.finance-verdict-total strong{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.065em;margin:10px 0 6px;font-size:clamp(48px,5.2vw,78px);font-weight:520;line-height:.95}.finance-verdict-total small{color:#ffffff7a;font-size:10px}.finance-verdict-copy{border-left:1px solid #ffffff3d;padding-left:42px}.finance-verdict-copy p{color:#ffffffc7;margin:10px 0 0;font-size:13px;line-height:1.55}.finance-verdict-copy b{color:var(--white);font-family:var(--font-geist-sans), Arial, sans-serif;font-size:17px}.finance-verdict-copy .finance-energy-equation{color:#ffffffa8;border-top:1px solid #fff3;margin-top:15px;padding-top:13px;font-size:11px}.finance-energy-equation b{font-size:13px}.finance-energy-equation b:last-of-type{color:#f3a28f}.finance-payback-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0;display:grid}.finance-payback-grid article{border:1px solid var(--line);border-top:3px solid var(--green);background:var(--card);min-width:0;padding:19px 21px}.finance-payback-grid article>span{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;font-size:9px;font-weight:800}.finance-payback-grid strong{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.045em;margin-top:10px;font-size:clamp(25px,2.5vw,38px);font-weight:570;line-height:1;display:block}.finance-payback-grid p{max-width:620px;color:var(--muted);margin:11px 0 0;font-size:10px;line-height:1.5}.finance-payback-grid p b{color:var(--ink)}.finance-scope-note{color:#5d5a50;background:#f1eee2;border:1px solid #c9c6b8;align-items:center;gap:10px;margin:0 0 10px;padding:11px 15px;display:flex}.finance-scope-note p{margin:0;font-size:10px;line-height:1.45}.finance-scope-note .info-trigger{cursor:help}.sizing-basis{text-align:right;justify-items:end;gap:2px;display:grid}.sizing-basis span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:800}.sizing-basis b{font-family:var(--font-geist-sans), Arial, sans-serif;font-size:16px}.sizing-basis small{color:var(--muted);font-size:9px}.sizing-recommendation{background:#eaf2dc;border:1px solid #afc99b;grid-template-columns:minmax(200px,.8fr) minmax(480px,1.6fr);align-items:center;gap:24px;margin:-4px 0 16px;padding:18px 20px;display:grid}.sizing-recommendation>div:first-child{gap:5px;display:grid}.sizing-recommendation>div:first-child span{color:var(--green);letter-spacing:.11em;text-transform:uppercase;font-size:8px;font-weight:800}.sizing-recommendation>div:first-child strong{font-family:var(--font-geist-sans), Arial, sans-serif;font-size:19px;line-height:1.25}.sizing-recommendation dl{grid-template-columns:repeat(4,1fr);margin:0;display:grid}.sizing-recommendation dl>div{border-left:1px solid #afc99b;min-width:0;padding-left:14px}.sizing-recommendation dt{color:var(--muted);font-size:8px}.sizing-recommendation dd{font-family:var(--font-geist-sans), Arial, sans-serif;margin:4px 0 0;font-size:14px;font-weight:650}.sizing-explainer{grid-template-columns:1.4fr 1fr;gap:20px;margin-bottom:15px;display:grid}.sizing-explainer p{color:var(--muted);margin:0;font-size:10px;line-height:1.5}.sizing-table-wrap{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);scrollbar-color:var(--green) var(--paper-deep);scrollbar-width:thin;overflow-x:auto}.sizing-table{table-layout:fixed;min-width:760px}.sizing-table th,.sizing-table td{text-align:center;min-width:112px;padding:5px}.sizing-table th{background:var(--card);position:static}.sizing-table thead th,.sizing-table tbody th{padding-block:10px;font-size:9px}.sizing-table th:first-child{text-align:left;width:112px}.sizing-table th small{color:var(--muted);letter-spacing:0;text-transform:none;margin-top:3px;font-family:Arial,Helvetica,sans-serif;font-size:8px;font-weight:400;display:block}.sizing-table td button{cursor:pointer;width:100%;min-width:0;min-height:80px;color:var(--ink);background:#f1f3ea;border:1px solid #0000;place-content:center;gap:5px;padding:8px 6px;display:grid}.sizing-table td button:hover,.sizing-table td button:focus-visible{border-color:var(--green);outline:0}.sizing-table td button.scenario-current{box-shadow:inset 0 0 0 2px var(--ink)}.sizing-table td button.scenario-best{border-color:var(--green);background:var(--lime)}.sizing-table td button strong{min-width:0;font-family:var(--font-geist-sans), Arial, sans-serif;justify-items:center;gap:2px;font-size:14px;line-height:1.15;display:grid}.sizing-table td button strong small{color:inherit;margin:0;font-size:8px;font-weight:500;line-height:1.3;display:block}.sizing-table td button span{min-width:0;color:var(--muted);overflow-wrap:anywhere;font-size:8px}.sizing-table td button .scenario-value{color:var(--ink);font-family:var(--font-geist-sans), Arial, sans-serif;font-size:14px;font-weight:750}.sizing-table td button .scenario-payback{color:var(--ink);gap:2px;font-weight:650;line-height:1.3;display:grid}.sizing-table td button .scenario-payback>span{color:inherit;font:inherit;display:block}.sizing-footnote{color:var(--muted);align-items:baseline;gap:8px;margin-top:13px;font-size:9px;line-height:1.45;display:flex}.sizing-footnote b{color:var(--ink);flex:none}.sizing-sources{flex:none;gap:10px;margin-left:auto;display:inline-flex}.sizing-sources a{color:var(--green);text-underline-offset:3px;font-weight:700}.metric-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin:10px 0;display:grid}.metric{border:1px solid var(--line);background:var(--card);flex-direction:column;min-height:158px;padding:21px 19px 17px;display:flex}.metric-label{min-height:23px;color:var(--muted);letter-spacing:.11em;text-transform:uppercase;font-size:9px;font-weight:800}.metric strong{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.045em;margin:auto 0 10px;font-size:clamp(23px,2.2vw,34px);font-weight:570;line-height:1}.metric small{color:var(--muted);font-size:10px;line-height:1.35}.metric-good{border-top:3px solid var(--green)}.metric-warn{border-top:3px solid var(--amber)}.metric-bad{border-top:3px solid var(--red)}.power-stress-card{border:1px solid var(--line);background:var(--card);margin-bottom:10px;padding:27px 30px 22px}.power-stress-card[data-tone=good]{border-top:3px solid var(--green)}.power-stress-card[data-tone=warn]{border-top:3px solid var(--amber)}.power-stress-card[data-tone=bad]{border-top:3px solid var(--red)}.power-stress-card[data-tone=neutral]{border-top:3px solid var(--muted)}.power-stress-head{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.power-stress-head>div:first-child>span,.power-stress-verdict>div>span{color:var(--green);letter-spacing:.13em;text-transform:uppercase;font-size:8px;font-weight:830}.power-stress-head h2{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.045em;margin:5px 0 0;font-size:clamp(22px,2.1vw,32px);font-weight:610}.power-stress-basis{color:var(--muted);white-space:nowrap;align-items:center;gap:9px;font-size:9px;display:inline-flex}.power-stress-grid{border:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:23px;display:grid}.power-stress-grid article{border-right:1px solid var(--line);min-width:0;padding:18px}.power-stress-grid article:last-child{border-right:0}.power-stress-grid article>span,.power-stress-scale>span,.power-stress-verdict dt{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:780}.power-stress-grid strong{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.045em;margin-top:14px;font-size:clamp(22px,2.4vw,34px);font-weight:610;line-height:1;display:block}.power-stress-grid strong small{color:var(--muted);letter-spacing:0;font-size:11px}.power-stress-grid p{min-height:29px;color:var(--muted);margin:9px 0 0;font-size:9px;line-height:1.45}.power-stress-comparison{border:1px solid var(--line);background:#eef0e8;grid-template-columns:1fr 1fr;gap:22px;margin-top:13px;padding:16px 18px;display:grid}.power-stress-scale{grid-template-columns:1fr auto;align-items:center;gap:8px 12px;display:grid}.power-stress-scale i{background:#d6dad1;grid-column:1;width:100%;height:8px;display:block;position:relative;overflow:hidden}.power-stress-scale i:after{content:"";height:100%;display:block}.power-stress-demand:after{width:var(--stress-power-share);background:var(--amber)}.power-stress-capacity:after{width:var(--battery-power-share);background:var(--green)}.power-stress-scale b{font-family:var(--font-geist-mono), monospace;grid-area:1/2/3;font-size:13px}.power-stress-verdict{border:1px solid var(--line);grid-template-columns:minmax(210px,.8fr) minmax(0,1.2fr);gap:28px;margin-top:13px;padding:20px 18px;display:grid}.power-stress-verdict>div>strong{margin-top:7px;font-size:14px;display:block}.power-stress-verdict>div>p{color:var(--muted);margin:6px 0 0;font-size:10px;line-height:1.55}.power-stress-verdict dl{border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.power-stress-verdict dl div{padding:2px 16px 11px}.power-stress-verdict dd{font-family:var(--font-geist-sans), Arial, sans-serif;margin:5px 0 0;font-size:15px;font-weight:650}.power-stress-note{color:var(--muted);margin:13px 0 0;font-size:9px;line-height:1.5}.event-callout{border:1px solid var(--line);background:#dfe9e5;grid-template-columns:56px 1fr;align-items:center;gap:23px;min-height:132px;margin-bottom:10px;padding:24px 30px;display:grid}.event-icon{border:1px solid var(--ink);border-radius:50%;place-items:center;width:52px;height:52px;font-size:22px;display:grid}.event-callout h2{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.03em;margin:4px 0 7px;font-size:21px;font-weight:620}.event-callout p{color:#43524c;margin:0;font-size:11px;line-height:1.5}.analysis-card{border:1px solid var(--line);background:var(--card);margin-bottom:10px;padding:28px}.card-head{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:24px;display:flex}.card-head h2{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.035em;margin:4px 0 0;font-size:24px;font-weight:580}.legend{flex-wrap:wrap;justify-content:flex-end;gap:13px;display:flex}.legend span{color:var(--muted);align-items:center;gap:6px;font-size:9px;display:inline-flex}.legend i{border:1px solid var(--ink);border-radius:50%;width:8px;height:8px;display:inline-block}.legend-pv,.legend-surplus{background:var(--green)}.legend-load{background:0 0}.legend-gap,.legend-shortage{background:var(--red)}.legend-battery{background:var(--amber)}.legend-thermal{background:linear-gradient(135deg, transparent 0 45%, var(--blue) 46% 100%);border-radius:1px!important}.legend-ev{background:0 0;border:2px solid var(--blue)!important}.profile-head-tools,.profile-controls{justify-items:end;gap:10px;display:grid}.profile-tabs{border:1px solid var(--line);display:flex}.profile-tabs button{border:0;border-right:1px solid var(--line);cursor:pointer;min-height:31px;color:var(--muted);font-family:var(--font-geist-mono), monospace;background:0 0;padding:0 12px;font-size:9px;font-weight:700}.profile-tabs button:last-child{border-right:0}.profile-tabs button[aria-pressed=true]{background:var(--ink);color:var(--white)}.legend-avoided{background:var(--green)}.legend-feed-in{background:var(--lime)}.legend-grid-cost{background:var(--red)}.granularity-switcher{border:1px solid var(--line);display:flex}.granularity-switcher button{border:0;border-right:1px solid var(--line);cursor:pointer;min-height:31px;color:var(--muted);font-family:var(--font-geist-mono), monospace;background:0 0;padding:0 12px;font-size:9px;font-weight:700}.granularity-switcher button:last-child{border-right:0}.granularity-switcher button[aria-pressed=true]{background:var(--ink);color:var(--white)}.profile-scroll{scrollbar-color:var(--green) var(--paper-deep);scrollbar-width:thin;overflow:auto hidden}.profile-scale-note{color:var(--muted);font-family:var(--font-geist-mono), monospace;margin:0 0 10px;font-size:8px;line-height:1.45}.profile-plot{min-width:100%}.profile-day .profile-plot{min-width:max(3600px, calc(var(--profile-columns) * 10px))}.profile-day .weekly-chart{grid-template-columns:repeat(var(--profile-columns), minmax(7px, 1fr));gap:2px;height:264px;position:relative}.profile-day .week-load{display:none}.profile-day .week-pv{opacity:.88;width:100%;left:0}.weekly-chart{grid-template-columns:repeat(var(--profile-columns), minmax(3px, 1fr));border-bottom:1px solid var(--ink);background:repeating-linear-gradient(to top, transparent 0 54px, var(--line) 55px, transparent 56px);align-items:end;gap:3px;height:218px;padding:0 2px;display:grid}.week{width:100%;height:100%;color:inherit;cursor:help;z-index:2;background:0 0;border:0;outline:0;padding:0;display:block;position:relative}.week[aria-pressed=true]{box-shadow:inset 0 -2px var(--lime)}.week i{display:block;position:absolute;bottom:0}.week-load{width:100%;height:var(--height);border-top:1px solid var(--ink);background:var(--ink);left:0}@supports (color:color-mix(in lab, red, red)){.week-load{background:color-mix(in srgb, var(--ink) 7%, transparent)}}.week-pv{width:calc(100% - 3px);height:var(--height);background:var(--green);left:1.5px}.daily-profile-overlay{z-index:3;pointer-events:none;width:calc(100% - 4px);height:100%;position:absolute;inset:0 2px;overflow:visible}.daily-profile-overlay polyline{fill:none;stroke-linecap:round;stroke-linejoin:round}.daily-load-line{stroke:var(--ink);stroke-width:1.8px}.daily-soc-area{fill:var(--lime)}@supports (color:color-mix(in lab, red, red)){.daily-soc-area{fill:color-mix(in srgb, var(--lime) 12%, transparent)}}.daily-soc-area{stroke:none}.daily-soc-line-shadow{stroke:var(--ink)}@supports (color:color-mix(in lab, red, red)){.daily-soc-line-shadow{stroke:color-mix(in srgb, var(--ink) 72%, transparent)}}.daily-soc-line-shadow{stroke-width:4.5px;opacity:.8}.daily-soc-line{stroke:var(--lime);stroke-width:2.5px}.daily-profile-scales{color:var(--muted);font-family:var(--font-geist-mono), monospace;justify-content:space-between;gap:18px;margin:-7px 0 12px;font-size:8px;line-height:1.4;display:flex}.daily-profile-scales span{align-items:baseline;gap:7px;display:flex}.daily-profile-scales span:last-child{text-align:right;justify-content:flex-end}.daily-profile-scales b{color:var(--ink);font-weight:750}.legend-soc{border:1px solid var(--ink);background:var(--lime)}.week-gap:after{content:"";background:var(--red);border-radius:50%;width:4px;height:4px;position:absolute;bottom:-11px;right:calc(50% - 2px)}.week-tooltip,.matrix-tooltip,.finance-tooltip,.finance-flow-tooltip,.thermal-coverage-tooltip,.popover-panel{background:var(--ink);color:var(--white);letter-spacing:0;text-align:left;text-transform:none;white-space:normal;border:1px solid #365047;font-family:Arial,Helvetica,sans-serif;box-shadow:0 0 0 1px #ffffff12,0 18px 46px #0818135c}.viewport-popover{z-index:200;overscroll-behavior:contain;pointer-events:none;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);position:fixed;overflow:auto}.controls .info-trigger{color:#ffffffd1;border-color:#ffffff6b;width:24px;height:24px;font-size:9px}.controls .info-trigger:hover,.controls .info-trigger[aria-expanded=true]{border-color:var(--lime);background:var(--lime);color:var(--ink)}.controls .control-field-label{width:100%;position:relative}.controls .control-field-label .info-popover{position:static}.week-tooltip{gap:5px;width:min(410px,100vw - 24px);padding:14px 15px;font-size:10px;line-height:1.35;display:grid}.finance-tooltip{gap:5px;width:min(270px,100vw - 24px);padding:13px 14px;font-size:10px;line-height:1.4;display:grid}.finance-tooltip b{color:var(--lime);margin-bottom:3px}.finance-tooltip strong{color:var(--lime);border-top:1px solid #ffffff3b;margin-top:4px;padding-top:8px}.finance-flow-cell{justify-content:flex-end;align-items:center;gap:7px;display:flex}.finance-flow-cell>span{justify-items:end;display:grid}.finance-flow-cell .info-trigger{width:21px;height:21px;color:var(--green);font-size:8px}.finance-flow-tooltip{gap:9px;width:min(390px,100vw - 24px);padding:15px 16px;font-size:10px;line-height:1.45;display:grid}.finance-flow-tooltip>b{color:var(--lime);font-family:var(--font-geist-sans), Arial, sans-serif;font-size:14px}.finance-flow-tooltip p{color:#ffffffc2;margin:0}.finance-flow-tooltip div{border-top:1px solid #ffffff2e;gap:4px;padding-top:8px;display:grid}.finance-flow-tooltip div strong{color:var(--lime);text-transform:uppercase;margin-bottom:2px;font-size:9px}.finance-flow-tooltip div span{color:#ffffffb8}.finance-flow-tooltip small{color:#ffffff85;border-top:1px solid #ffffff2e;padding-top:8px;font-size:9px}.thermal-coverage-tooltip{gap:12px;width:min(470px,100vw - 24px);padding:17px 18px;font-size:11px;line-height:1.45;display:grid}.thermal-coverage-tooltip>b{color:var(--lime);font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.02em;font-size:16px}.thermal-coverage-tooltip p{color:#ffffffc2;margin:0}.thermal-coverage-lead strong{color:var(--white);font-size:13px}.thermal-coverage-facts{background:#ffffff29;border:1px solid #ffffff29;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.thermal-coverage-facts>span{color:#ffffff94;background:#173129;flex-direction:column;justify-content:center;min-height:62px;padding:10px 11px;font-size:9px;display:flex}.thermal-coverage-facts strong{color:var(--white);font-family:var(--font-geist-sans), Arial, sans-serif;margin-bottom:3px;font-size:15px}.thermal-coverage-assessment{border-left:3px solid var(--lime);background:#ffffff0f;padding:11px 12px}.thermal-coverage-assessment[data-severity=relevant]{border-left-color:var(--amber)}.thermal-coverage-assessment[data-severity=significant]{border-left-color:var(--red)}.thermal-coverage-assessment>strong,.thermal-coverage-peaks>strong{color:var(--white);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:9px;display:block}.thermal-coverage-peaks{gap:5px;display:grid}.thermal-coverage-peaks>span{border-top:1px solid #ffffff24;grid-template-columns:58px 1fr;gap:2px 9px;padding:8px 0;display:grid}.thermal-coverage-peaks>span>b{color:var(--lime);grid-row:1/3}.thermal-coverage-peaks>span>span{color:var(--white)}.thermal-coverage-peaks small{color:#ffffff85;font-size:9px}.thermal-coverage-caveat{color:#ffffff7a;border-top:1px solid #ffffff29;padding-top:10px;font-size:9px}.finance-profile-scroll{border-bottom:1px solid var(--ink);overscroll-behavior-inline:contain}.finance-profile-scroll:focus-visible{outline:2px solid var(--green);outline-offset:3px}.finance-chart{grid-template-columns:repeat(var(--finance-count), minmax(20px, 1fr));background:repeating-linear-gradient(to top, transparent 0 57px, var(--line) 58px, transparent 59px);align-items:end;gap:7px;min-width:100%;height:232px;padding:0 4px;display:grid}.finance-day .finance-chart{min-width:max(7300px, calc(var(--finance-count) * 20px));grid-template-columns:repeat(var(--finance-count), minmax(18px, 1fr));gap:2px}.finance-month .finance-chart{min-width:720px}.finance-year .finance-chart{grid-template-columns:minmax(120px,220px);justify-content:center;width:min(280px,100%);min-width:220px;margin-inline:auto}.finance-period{cursor:help;background:0 0;border:0;outline:0;width:100%;height:100%;padding:0;position:relative}.finance-period[aria-pressed=true]{box-shadow:inset 0 -3px var(--lime)}.finance-period i{display:block;position:absolute;bottom:24px}.finance-period-label{color:var(--muted);font-family:var(--font-geist-mono), monospace;text-overflow:ellipsis;white-space:nowrap;font-size:8px;position:absolute;bottom:5px;left:0;right:0;overflow:hidden}.finance-benefit{width:calc(58% - 2px);height:max(1px, calc(var(--height) - 24px));background:linear-gradient(to top, var(--green) 0 var(--avoided-share), var(--lime) var(--avoided-share) 100%);left:1px}.finance-grid-cost{width:calc(42% - 2px);height:max(1px, calc(var(--height) - 24px));border:1px solid var(--red);background:var(--red);border-bottom:0;right:1px}@supports (color:color-mix(in lab, red, red)){.finance-grid-cost{background:color-mix(in srgb, var(--red) 14%, transparent)}}.finance-day .finance-period i{height:var(--height);bottom:0}.finance-day .finance-period-label{display:none}.finance-table-card td small{color:var(--muted);margin-top:2px;font-size:8px;display:block}.week-tooltip b{color:var(--lime);margin-bottom:3px}.week-tooltip strong{margin-top:3px}.tooltip-explanation{color:#ffffffb8;border-top:1px solid #ffffff3d;margin-top:5px;padding-top:7px;font-style:normal;line-height:1.45}.tooltip-surplus{color:var(--lime)}.tooltip-gap{color:#ffad9c}.chart-axis{grid-template-columns:repeat(12,1fr);margin-top:11px;display:grid}.chart-axis span{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:8px}.mobile-scroll-note{display:none}.matrix-scroll{min-width:0}.year-matrix{gap:7px;display:grid}.month-row{grid-template-columns:34px 1fr;align-items:center;gap:10px;display:grid}.month-row>span{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:8px}.month-row>div{grid-template-columns:repeat(31,minmax(5px,1fr));gap:3px;display:grid}.matrix-popover{min-width:0;display:block;position:relative}.day-cell{border:1px solid var(--ink);width:100%;height:13px;padding:0;display:block;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.day-cell{border:1px solid color-mix(in srgb, var(--ink) 13%, transparent)}}.day-cell{cursor:help;border-radius:0;transition:transform 90ms ease-out,border-color 90ms ease-out,box-shadow 90ms ease-out,filter 90ms ease-out,opacity 90ms ease-out}.day-cell:hover,.day-cell[aria-expanded=true]{z-index:4;border-color:var(--ink);box-shadow:0 0 0 2px var(--paper), 0 5px 14px #08211c47;filter:brightness(1.08)saturate(1.08);position:relative;transform:scale(1.58)}.day-surplus{background:var(--green)}.day-battery{background:var(--amber)}.day-shortage{background:var(--red)}.day-cell[data-ev-shortfall=true]{outline:2px solid var(--blue);outline-offset:-2px}.day-snow{box-shadow:inset 0 0 0 2px #dceaf4}.day-thermal-gap:after{content:"";border-top:6px solid var(--blue);border-left:6px solid #0000;width:0;height:0;position:absolute;top:-1px;right:-1px}.day-thermal-noticeable:after{border-top-color:var(--amber)}.day-thermal-critical:after{border-top-color:var(--red)}.matrix-tooltip{pointer-events:auto;gap:4px;width:min(410px,100vw - 24px);padding:13px 14px;font-size:9px;line-height:1.35;display:grid}.matrix-tooltip>b,.matrix-tooltip-head>b{color:var(--lime);margin-bottom:2px;font-size:10px}.matrix-tooltip-head{justify-content:space-between;align-items:flex-start;gap:16px;min-height:28px;display:flex}.popover-close-button{width:28px;height:28px;color:var(--white);cursor:pointer;background:0 0;border:1px solid #ffffff52;border-radius:50%;flex:none;place-items:center;margin:-5px -6px 0 0;padding:6px;display:grid}.popover-close-button:hover,.popover-close-button:focus-visible{border-color:var(--lime);background:var(--lime);color:var(--ink);outline:0}.popover-close-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8px;width:100%;height:100%}.energy-source-breakdown{gap:7px;margin:7px 0 5px;display:grid}.energy-source-title{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.week-tooltip .energy-source-title strong,.matrix-tooltip .energy-source-title strong{color:var(--white);margin:0;font-size:10px}.energy-source-title small{color:#ffffff80;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;font-size:7px}.energy-source-grid{border:1px solid #ffffff2e}.energy-source-row{border-bottom:1px solid #ffffff1f;grid-template-columns:minmax(76px,1.35fr) repeat(4,minmax(42px,.72fr));align-items:center;gap:5px;min-height:27px;padding:0 7px;display:grid}.energy-source-row:last-child{border-bottom:0}.energy-source-row>:not(:first-child){text-align:right}.week-tooltip .energy-source-row b,.matrix-tooltip .energy-source-row b{color:var(--white);margin:0;font-size:9px;font-weight:600}.energy-source-head{color:#ffffff7a;min-height:23px;font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;font-size:6px;font-weight:700}.energy-source-total{background:#ffffff0d;font-weight:700}.source-grid-value{color:#ffad9c;font-weight:700}.energy-source-key,.energy-source-priority,.energy-source-allocation-note{color:#ffffff8c;font-size:7px;line-height:1.4}.energy-source-priority{color:#dcf962c7}.energy-source-timing{border-left:2px solid var(--amber);color:#ffffffbf;background:#ffffff12;gap:3px;padding:8px 9px;line-height:1.4;display:grid}.week-tooltip .energy-source-timing strong,.matrix-tooltip .energy-source-timing strong{color:var(--white);margin:0;font-size:8px}.energy-source-timing span{font-size:8px}.power-peak-summary{border:1px solid #ffffff2e;gap:0;margin:7px 0 5px;display:grid;overflow:hidden}.power-peak-title{border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:center;gap:12px;min-height:27px;padding:0 8px;display:flex}.week-tooltip .power-peak-title strong,.matrix-tooltip .power-peak-title strong{color:var(--white);margin:0;font-size:10px}.power-peak-title small{color:#ffffff80;font-family:var(--font-geist-mono), monospace;letter-spacing:.04em;font-size:7px}.power-peak-row{border-bottom:1px solid #ffffff1f;grid-template-columns:minmax(64px,.8fr) repeat(2,minmax(92px,1fr));align-items:center;gap:6px;min-height:29px;padding:0 7px;display:grid}.power-peak-row:last-child{border-bottom:0}.power-peak-key{color:#ffffff8c;border-top:1px solid #ffffff1f;padding:6px 8px;font-size:7px;line-height:1.4}.power-device,.power-peak-value{align-items:center;min-width:0;display:flex}.power-device{gap:6px}.power-device svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.25px;flex:none;width:15px;height:15px}.power-device b{color:var(--white);font-size:8px;font-weight:650}.power-peak-value{font-family:var(--font-geist-mono), monospace;justify-content:flex-end;gap:3px}.power-peak-value i{color:var(--lime);font-size:10px;font-style:normal;font-weight:800}.power-peak-value[data-direction=out] i{color:#ffb19f}.power-peak-value b{color:var(--white);font-size:9px;font-weight:750}.power-peak-value small,.power-peak-value em{color:#ffffff7a;font-size:7px;font-style:normal;font-weight:500}.power-peak-value em{text-align:right;min-width:71px}.power-peak-cell{min-width:180px}.power-peak-summary[data-compact=true]{border-color:var(--line);background:var(--paper);min-width:170px;margin:0}@supports (color:color-mix(in lab, red, red)){.power-peak-summary[data-compact=true]{background:color-mix(in srgb, var(--paper) 52%, transparent)}}.power-peak-summary[data-compact=true] .power-peak-row{border-color:var(--line);grid-template-columns:42px repeat(2,minmax(50px,1fr));gap:3px;min-height:21px;padding:0 5px}.power-peak-summary[data-compact=true] .power-device{gap:4px}.power-peak-summary[data-compact=true] .power-device svg{width:12px;height:12px}.power-peak-summary[data-compact=true] .power-device b,.power-peak-summary[data-compact=true] .power-peak-value b{color:var(--ink);font-size:8px}.power-peak-summary[data-compact=true] .power-peak-value small{color:var(--muted);font-size:6px}.power-peak-summary[data-compact=true] .power-peak-value i{color:var(--green)}.power-peak-summary[data-compact=true] .power-peak-value[data-direction=out] i{color:var(--red)}.matrix-thermal-gap{border-left:2px solid var(--blue);background:#ffffff0f;gap:3px;margin-top:5px;padding:7px 8px;display:grid}.matrix-thermal-gap[data-severity=noticeable]{border-left-color:var(--amber)}.matrix-thermal-gap[data-severity=critical]{border-left-color:var(--red)}.matrix-thermal-gap b{color:var(--white);margin:0}.matrix-thermal-gap small{color:#ffffff94;font-size:8px;line-height:1.35}.table-head{align-items:center}.table-explainer{border-left:3px solid var(--amber);color:#5c5141;background:#f3ecde;align-items:baseline;gap:10px;margin:-5px 0 17px;padding:11px 13px;font-size:10px;line-height:1.45;display:flex}.table-explainer b{color:var(--ink);flex:none}.table-wrap{border-top:1px solid var(--ink);max-height:420px;overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:10px}th{z-index:2;border-bottom:1px solid var(--line);background:var(--card);color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.05em;text-align:right;text-transform:uppercase;padding:12px 11px;font-size:8px;font-weight:700;position:sticky;top:0}.header-label{justify-content:flex-end;align-items:center;gap:5px;display:inline-flex}th:first-child .header-label,th:nth-child(2) .header-label,th:last-child .header-label{justify-content:flex-start}.info-popover{vertical-align:middle;display:inline-flex;position:relative}.info-trigger{border:1px solid;place-items:center;width:24px;height:24px;padding:0;display:inline-grid;position:relative}@supports (color:color-mix(in lab, red, red)){.info-trigger{border:1px solid color-mix(in srgb, currentColor 40%, transparent)}}.info-trigger{cursor:help;color:inherit;background:0 0;border-radius:50%;flex:none;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:800;line-height:1}.info-trigger:before{content:"";position:absolute;inset:-10px}.info-trigger:hover,.info-trigger[aria-expanded=true]{border-color:var(--green);background:var(--green);color:var(--white)}.popover-panel{width:min(300px,100vw - 24px);padding:11px 12px;font-size:10px;font-weight:400;line-height:1.5}th:first-child,th:nth-child(2),th:last-child{text-align:left}td{border-bottom:1px solid var(--line);text-align:right;padding:8px 10px}td:first-child,td:nth-child(2),td:last-child{text-align:left}td:first-child{min-width:132px}.table-day{justify-content:space-between;align-items:center;gap:9px;display:flex;position:relative}.table-day .info-popover{position:static}.table-day>span:first-child{gap:2px;display:grid}.table-day b{font-size:11px}.table-day small{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:8px}tbody tr:hover{background:#f1f3ea}.status-pill{letter-spacing:.04em;text-transform:uppercase;border-radius:20px;padding:4px 7px;font-size:8px;font-weight:800;display:inline-block}.status-surplus{color:var(--green-dark);background:#dbe9df}.status-battery{color:#794c0e;background:#f3e4c7}.status-shortage{color:#8d3021;background:#f2d4cc}.status-ev{color:#315e78;background:#dce7ef}.gap-value{color:var(--red);font-weight:800}.battery-flow,.gap-detail,.reason{gap:2px;display:grid}.battery-flow{text-align:left;grid-template-columns:auto auto;align-items:baseline;column-gap:5px}.battery-flow small,.gap-detail small,.reason small{color:var(--muted);font-size:8px;font-weight:400}.battery-flow b{color:var(--ink);font-size:9px;font-weight:700}.gap-detail{justify-items:end}.thermal-gap-value{min-width:128px}.thermal-gap-detail{justify-items:end;gap:2px;display:grid}.thermal-gap-detail b{color:var(--green);font-size:10px}.thermal-gap-detail small{color:var(--muted);font-size:8px;font-weight:400}.thermal-gap-detail[data-severity=noticeable] b{color:#9a6419}.thermal-gap-detail[data-severity=critical] b{color:var(--red)}.reason{color:var(--muted)}.empty-row{height:100px;color:var(--muted);text-align:center!important}.more-button{border:1px solid var(--line);cursor:pointer;width:100%;min-height:44px;color:var(--muted);background:0 0;margin-top:12px;font-size:10px;font-weight:700}.method-card{border:1px solid var(--ink);background:var(--paper-deep);padding:36px}.method-card>div:first-child{grid-template-columns:34px 1fr;display:grid}.method-card h2{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.04em;margin:-6px 0 30px;font-size:27px;font-weight:580}.method-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.method-grid article{border-top:1px solid var(--ink);flex-direction:column;padding-top:14px;display:flex}.method-grid span{color:var(--green);letter-spacing:.11em;text-transform:uppercase;font-size:9px;font-weight:800}.method-grid p,.method-footer p{color:#53615b;font-size:11px;line-height:1.55}.method-grid .method-autonomy{grid-column:1/-1;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:34px;margin-top:4px;padding-top:18px;display:grid}.method-autonomy h3{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.025em;margin:8px 0 0;font-size:18px;font-weight:620;line-height:1.15}.method-autonomy p{margin:10px 0 0}.autonomy-formula{background:var(--ink);color:var(--white);padding:18px 20px}.method-grid .autonomy-formula>span{color:var(--lime)}.autonomy-formula>strong{font-family:var(--font-geist-mono), monospace;margin-top:9px;font-size:13px;line-height:1.45;display:block}.method-grid .autonomy-formula p{color:var(--white);margin:12px 0 0;font-size:12px}.autonomy-formula p b{color:var(--lime)}.autonomy-formula small{color:#ffffffa6;margin-top:9px;font-size:9px;line-height:1.5;display:block}.method-info-button{border:0;border-bottom:1px solid var(--ink);cursor:pointer;width:fit-content;min-height:31px;color:var(--ink);background:0 0;align-items:center;gap:7px;margin-top:auto;padding:0;font-size:10px;font-weight:700;display:inline-flex}.method-info-button b{border:1px solid;border-radius:50%;flex:none;place-items:center;width:17px;height:17px;font-size:10px;display:inline-grid}.method-footer{border-top:1px solid var(--line);justify-content:space-between;gap:40px;margin-top:30px;padding-top:20px;display:flex}.method-footer p{max-width:560px;margin:0}.method-footer>div{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.method-footer a{color:var(--ink);text-underline-offset:3px;font-size:9px;font-weight:700}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#13241ea3;place-items:center;padding:30px;display:grid;position:fixed;inset:0;overflow-y:auto}.export-progress-backdrop{z-index:130;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#051811a8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.export-progress-modal{border:1px solid var(--lime);background:var(--ink);width:min(500px,100%);min-height:178px;color:var(--white);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:27px;padding:30px 32px;display:grid;box-shadow:0 24px 80px #00000052}.export-loading-orbit{border-color:#ffffff4d;width:64px;height:64px}.export-loading-orbit span{top:-7px;left:24px}.export-progress-modal>div:last-child>span{color:var(--lime);letter-spacing:.13em;text-transform:uppercase;font-size:8px;font-weight:800;display:block}.export-progress-modal h2{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.035em;margin:7px 0 8px;font-size:25px;font-weight:620}.export-progress-modal p{color:#ffffffad;margin:0;font-size:11px;line-height:1.55}.method-modal{border:1px solid var(--ink);background:var(--card);width:min(760px,100%);max-height:calc(100vh - 60px);padding:32px;overflow-y:auto;box-shadow:0 30px 90px #00000047}.modal-head{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:flex-start;gap:30px;padding-bottom:20px;display:flex}.modal-head span,.example-box>span{color:var(--green);letter-spacing:.11em;text-transform:uppercase;font-size:9px;font-weight:800}.modal-head h2{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.045em;margin:6px 0 0;font-size:clamp(25px,4vw,38px);font-weight:580;line-height:1.05}.modal-close{border:1px solid var(--ink);cursor:pointer;background:0 0;border-radius:50%;flex:none;width:44px;height:44px;padding:0;font-size:24px;line-height:1}.modal-close:hover{background:var(--ink);color:var(--white)}.modal-intro{color:#36463f;font-family:var(--font-geist-sans), Arial, sans-serif;margin:22px 0;font-size:17px;line-height:1.5}.explanation-steps{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.explanation-steps article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:25px 1fr;align-items:start;gap:10px;min-height:186px;padding:18px;display:grid}.explanation-steps article>b{background:var(--lime);border-radius:50%;place-items:center;width:22px;height:22px;font-size:10px;display:grid}.explanation-steps h3{margin:2px 0 7px;font-size:13px}.explanation-steps p,.example-box p,.modal-limit{color:#53615b;margin:0;font-size:11px;line-height:1.55}.example-box{border:1px solid var(--ink);background:#edf1d9;margin-top:18px;padding:18px}.example-box p{color:var(--ink);margin-top:7px}.modal-limit{border-left:3px solid var(--amber);margin-top:16px;padding-left:12px}.compliance-card{border:1px solid var(--ink);background:var(--card);padding:30px 34px 26px}.compliance-head{display:block}.compliance-grid article>span{color:var(--green);letter-spacing:.12em;text-transform:uppercase;font-size:8px;font-weight:820}.compliance-head h2{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.04em;margin:0;font-size:26px;font-weight:580}.compliance-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:22px;display:grid}.compliance-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:17px 18px 16px}.compliance-grid p,.compliance-disclaimer p{color:#53615b;margin:9px 0 0;font-size:10px;line-height:1.55}.compliance-grid article>div{flex-wrap:wrap;gap:6px 12px;margin-top:13px;display:flex}.compliance-grid a{color:var(--ink);text-underline-offset:3px;font-size:9px;font-weight:760;text-decoration-color:#0a261c59}.compliance-disclaimer{border-top:1px solid var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:17px;padding-top:15px;display:grid}.compliance-disclaimer>div{min-width:0;padding-right:24px}.compliance-disclaimer>div+div{border-left:1px solid var(--line);padding-left:24px;padding-right:0}.compliance-disclaimer b{color:var(--amber);letter-spacing:.1em;text-transform:uppercase;font-size:8px}.compliance-disclaimer p{margin:8px 0 0}.site-footer{border-top:1px solid var(--ink);width:min(1480px,100% - 56px);min-height:110px;color:var(--muted);justify-content:space-between;align-items:center;gap:30px;margin:54px auto 0;font-size:9px;display:flex}.site-footer>span{color:var(--ink);letter-spacing:.08em;font-weight:800}.site-footer p{margin:0}.legal-shell{min-height:100vh}.legal-topbar{grid-template-columns:1fr auto}.privacy-page{width:min(1180px,100% - 56px);margin:54px auto 0}.privacy-hero{max-width:930px;padding:28px 0 62px}.privacy-hero>span{color:var(--green);letter-spacing:.13em;text-transform:uppercase;font-size:9px;font-weight:820}.privacy-hero h1{max-width:850px;font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.065em;margin:18px 0 22px;font-size:clamp(48px,7.2vw,94px);font-weight:610;line-height:.94}.privacy-hero p{color:#46554f;max-width:760px;margin:0;font-size:17px;line-height:1.58}.privacy-section{border-top:1px solid var(--ink);padding:54px 0 62px}.privacy-section-first{padding-top:42px}.privacy-section-heading{grid-template-columns:54px minmax(0,1fr);align-items:start;gap:20px;display:grid}.privacy-section-heading>span{border:1px solid var(--green);width:44px;height:44px;color:var(--green);font-family:var(--font-geist-mono), monospace;border-radius:50%;place-items:center;font-size:9px;font-weight:800;display:inline-grid}.privacy-section-heading h2{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.045em;margin:-4px 0 6px;font-size:clamp(28px,4vw,44px);font-weight:600}.privacy-section-heading p{max-width:680px;color:var(--muted);margin:0;font-size:12px;line-height:1.55}.privacy-no-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:34px;display:grid}.privacy-no-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card);min-height:158px;padding:23px 22px}.privacy-no-grid strong{font-size:13px;display:block}.privacy-no-grid p,.privacy-local-callout p,.privacy-process-list p,.privacy-storage-grid p,.privacy-rights p,.privacy-final p{color:#53615b;margin:9px 0 0;font-size:11px;line-height:1.62}.privacy-local-callout{border:1px solid var(--green);background:#e9efe3;grid-template-columns:190px minmax(0,1fr);gap:28px;margin-top:22px;padding:23px 25px;display:grid}.privacy-local-callout>span{color:var(--green);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:820}.privacy-local-callout p{color:var(--ink);margin:-4px 0 0}.privacy-process-list{border-top:1px solid var(--line);margin-top:34px}.privacy-process-list>article{border-bottom:1px solid var(--line);grid-template-columns:minmax(210px,.65fr) minmax(0,1.35fr);gap:52px;padding:30px 0 32px;display:grid}.privacy-process-list>article>div:first-child>span,.privacy-storage-grid article>span{color:var(--green);letter-spacing:.12em;text-transform:uppercase;font-size:8px;font-weight:820}.privacy-process-list h3,.privacy-rights h3{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.025em;margin:7px 0 0;font-size:19px;font-weight:620}.privacy-process-list>article>div:last-child>p:first-child{color:var(--ink);margin-top:-4px;font-size:12px}.privacy-process-list dl{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:22px 0;display:grid}.privacy-process-list dl>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:14px 15px}.privacy-process-list dt{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:780}.privacy-process-list dd{margin:7px 0 0;font-size:10px;line-height:1.45}.privacy-links{flex-wrap:wrap;gap:8px 18px;display:flex}.privacy-links a,.privacy-rights a{color:var(--ink);text-underline-offset:3px;font-size:10px;font-weight:760;text-decoration-color:#13241e59}.privacy-storage-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:34px;display:grid}.privacy-storage-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card);min-height:150px;padding:22px}.privacy-storage-grid p{margin-top:11px}.privacy-local-callout-neutral{border-color:var(--ink);background:0 0}.privacy-local-callout-neutral>span{color:var(--ink)}.privacy-browser-note{max-width:850px;color:var(--muted);margin:18px 0 0;font-size:10px;line-height:1.6}.privacy-contact-compact{border:1px solid var(--line);background:var(--card);grid-template-columns:minmax(210px,.45fr) minmax(0,1.55fr);align-items:start;gap:32px;margin-top:24px;padding:22px 24px;display:grid}.privacy-contact-compact a[href^=mailto\:]{color:var(--green);font-family:var(--font-geist-mono), monospace;text-underline-offset:4px;font-size:13px;font-weight:760}.privacy-contact-copy{gap:8px;display:grid}.privacy-contact-copy p{color:#53615b;margin:0;font-size:10px;line-height:1.55}.privacy-contact-copy a{color:var(--ink);text-underline-offset:3px;font-weight:760}.privacy-rights{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:34px;display:grid}.privacy-rights>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card);min-height:190px;padding:24px}.privacy-rights h3{margin:0 0 13px}.privacy-rights a[href^=mailto\:]{color:var(--green);font-family:var(--font-geist-mono), monospace;font-size:12px}.privacy-final{justify-content:space-between;align-items:end;gap:40px;padding-bottom:0;display:flex}.privacy-final h2{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.035em;margin:0;font-size:24px}.privacy-final p{max-width:680px}.privacy-back{border:1px solid var(--ink);background:var(--lime);min-height:48px;color:var(--ink);white-space:nowrap;align-items:center;gap:26px;padding:0 18px;font-size:10px;font-weight:800;text-decoration:none;display:inline-flex}.privacy-back:hover{background:var(--ink);color:var(--white)}.legal-footer{width:min(1180px,100% - 56px)}@media (width<=1160px){.workspace{grid-template-columns:320px minmax(0,1fr)}.verdict{grid-template-columns:190px 1fr;gap:28px;padding:32px}.verdict-copy{padding-left:28px}.finance-verdict{grid-template-columns:minmax(210px,.8fr) minmax(0,1.2fr);gap:28px;padding:32px}.finance-verdict-copy{padding-left:28px}.metric-grid,.power-stress-grid{grid-template-columns:repeat(2,1fr)}.power-stress-grid article:nth-child(2){border-right:0}.power-stress-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.heat-pump-result-grid,.ev-result-grid{grid-template-columns:repeat(2,1fr)}.heat-pump-result-grid article:nth-child(2),.ev-result-grid article:nth-child(2){border-right:0}.heat-pump-result-grid article:nth-child(-n+2),.ev-result-grid article:nth-child(-n+2){border-bottom:1px solid #c7d8d0}.year-switcher button{padding-inline:7px}}@media (width<=920px){.topbar,.workspace,.site-footer,.privacy-page{width:min(100% - 32px,760px)}.workspace{grid-template-columns:1fr}.controls{scrollbar-gutter:auto;max-height:none;position:relative;top:auto;overflow:visible}.controls form{grid-template-columns:1fr 1fr;display:grid}.controls form .settings-level{grid-column:1/-1}.controls form.finance-form .finance-controls{border-top:1px solid #ffffff2e;grid-column:1/-1}.control-section{border-bottom:0;border-right:1px solid #ffffff2e}.result-toolbar{flex-direction:column;align-items:flex-start}.result-toolbar-controls{justify-items:stretch;width:100%}.analysis-export-control{justify-content:flex-end}.year-switcher{width:100%;overflow-x:auto}.year-switcher button{flex:1}.verdict{grid-template-columns:1fr}.verdict-copy{border-top:1px solid #ffffff3d;border-left:0;padding:25px 0 0}.finance-verdict{grid-template-columns:1fr}.finance-verdict-copy{border-top:1px solid #ffffff3d;border-left:0;padding:25px 0 0}.sizing-recommendation{grid-template-columns:1fr}.sizing-recommendation dl>div:first-child{border-left:0;padding-left:0}.compliance-grid{grid-template-columns:1fr}.privacy-no-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.privacy-process-list>article{grid-template-columns:1fr;gap:16px}.privacy-process-list dl{margin-top:18px}}@media (width<=680px){.export-progress-backdrop{padding:14px}.export-progress-modal{grid-template-columns:1fr;justify-items:start;gap:22px;min-height:220px;padding:28px 24px}.export-loading-orbit{width:54px;height:54px}.export-loading-orbit span{left:19px}.topbar,.workspace,.site-footer,.privacy-page{width:calc(100% - 24px)}.topbar{grid-template-columns:1fr auto;grid-template-areas:"brand links""storage storage";row-gap:5px;min-height:108px;padding:9px 0 8px}.legal-topbar{grid-template-areas:"brand links";min-height:72px}.brand{grid-area:brand}.storage-status{grid-area:storage;justify-content:center;justify-self:stretch;width:100%}.workspace{row-gap:64px}.results{scroll-margin-top:28px}.topbar-links{grid-area:links;gap:15px}.topbar-links a{min-height:44px;font-size:10px}.privacy-page{margin-top:28px}.privacy-hero{padding:20px 0 42px}.privacy-hero h1{margin-block:14px 18px;font-size:clamp(43px,14vw,66px)}.privacy-hero p{font-size:14px}.privacy-section{padding-block:38px 44px}.privacy-section-heading{grid-template-columns:44px minmax(0,1fr);gap:13px}.privacy-section-heading>span{width:38px;height:38px}.privacy-no-grid,.privacy-storage-grid,.privacy-rights{grid-template-columns:1fr}.privacy-no-grid article,.privacy-storage-grid article,.privacy-rights>div{min-height:0}.privacy-local-callout{grid-template-columns:1fr;gap:10px}.privacy-local-callout p{margin-top:0}.privacy-contact-compact{grid-template-columns:1fr;gap:14px}.privacy-process-list>article{padding-block:24px 27px}.privacy-process-list dl{grid-template-columns:1fr}.privacy-final{flex-direction:column;align-items:stretch;gap:22px}.privacy-back{justify-content:space-between}.mobile-results-jump{border:1px solid var(--ink);background:var(--lime);width:calc(100% - 36px);min-height:44px;color:var(--ink);justify-content:space-between;align-items:center;margin:12px 18px 0;padding:0 18px;font-size:11px;font-weight:800;text-decoration:none;display:flex;position:static;box-shadow:0 10px 24px #0000002e}.mobile-results-jump-bottom{margin-block:0 16px}.controls form{display:block}.controls form.finance-form .finance-controls{border-top:0}.control-section{border-bottom:1px solid #ffffff2e;border-right:0;padding-inline:18px}.expert-mode-toggle{min-height:86px}.expert-choice button,.expert-switch-field,.expert-number-shell{min-height:44px}.expert-number-shell input{font-size:16px}.heat-pump-result-head,.ev-result-head{grid-template-columns:1fr;gap:10px}.heat-pump-result-grid,.ev-result-grid{grid-template-columns:1fr}.heat-pump-result-grid article,.heat-pump-result-grid article:nth-child(2),.ev-result-grid article,.ev-result-grid article:nth-child(2){border-bottom:1px solid #c7d8d0;border-right:0;min-height:88px}.heat-pump-result-grid article:last-child,.ev-result-grid article:last-child{border-bottom:0}.segmented button,.load-profile-switcher button,.year-switcher button,.filter-tabs button,.granularity-switcher button,.profile-tabs button,.analysis-tabs button,.method-info-button{min-height:44px}.number-shell input{min-height:34px;font-size:16px}.range-control{height:32px;margin-top:0}.range-control::-webkit-slider-thumb{width:20px;height:20px;margin-top:-9px}.range-control::-moz-range-thumb{width:16px;height:16px}.controls .info-trigger{width:26px;height:26px}.verdict{padding:28px 24px}.verdict-score strong{font-size:64px}.verdict-shortage-total{flex-direction:column;align-items:flex-start;gap:4px}.verdict-breakdown{grid-template-columns:1fr;gap:12px}.analysis-tabs button{padding-inline:14px}.analysis-tabs span{font-size:15px}.finance-verdict{padding:28px 24px}.finance-verdict-total strong{font-size:50px}.finance-payback-grid{grid-template-columns:1fr}.finance-scope-note{align-items:flex-start}.sizing-basis{text-align:left;justify-items:start}.sizing-recommendation{padding:16px}.sizing-recommendation dl{grid-template-columns:1fr;gap:9px}.sizing-recommendation dl>div{border-bottom:1px solid #afc99b;border-left:0;padding:0 0 9px}.sizing-recommendation dl>div:last-child{border-bottom:0;padding-bottom:0}.sizing-explainer{grid-template-columns:1fr;gap:7px}.sizing-table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}.sizing-table{table-layout:auto;width:max-content;min-width:0}.sizing-table th,.sizing-table td{box-sizing:border-box}.sizing-table th:first-child{background:var(--card);width:128px;min-width:128px;box-shadow:none;position:static}.sizing-table th:not(:first-child),.sizing-table td{scroll-snap-align:start;width:168px;min-width:168px}.sizing-table td button{gap:7px;min-height:116px;padding:12px 10px}.sizing-table td button .scenario-value{font-size:17px}.sizing-table td button strong small,.sizing-table td button span{font-size:9px}.sizing-footnote{flex-direction:column;align-items:flex-start}.sizing-sources{flex-wrap:wrap;margin-left:0}.metric-grid{grid-template-columns:1fr 1fr}.power-stress-card{padding:21px 16px 17px}.power-stress-head,.power-stress-comparison,.power-stress-verdict{grid-template-columns:1fr}.power-stress-head{display:grid}.power-stress-basis{white-space:normal}.power-stress-comparison{gap:15px}.power-stress-verdict{gap:17px}.power-stress-verdict dl{border-top:1px solid var(--line);border-left:0;padding-top:13px}.metric{min-height:145px;padding:17px 15px}.metric strong{font-size:24px}.metric-label,.metric small,.legend span,.data-attribution-inline{font-size:10px}.data-attribution-inline{align-items:center;min-height:36px}.event-callout{grid-template-columns:1fr}.event-icon{width:42px;height:42px}.analysis-card{padding:21px 16px}.card-head,.table-head{flex-direction:column;align-items:flex-start}.legend{justify-content:flex-start}.profile-head-tools,.profile-controls{justify-items:start;width:100%}.granularity-switcher{width:100%}.granularity-switcher button,.profile-tabs button{flex:1}.profile-tabs{width:100%}.profile-scroll,.matrix-scroll,.table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}.profile-day .profile-plot{min-width:calc(var(--profile-columns) * 24px)}.profile-day .weekly-chart{grid-template-columns:repeat(var(--profile-columns), minmax(22px, 1fr));height:232px}.daily-profile-scales{align-items:flex-start;margin-top:-4px;font-size:9px}.daily-profile-scales span{gap:2px;display:grid}.week-tooltip,.matrix-tooltip,.finance-tooltip,.finance-flow-tooltip,.thermal-coverage-tooltip,.popover-panel{font-size:12px;line-height:1.45}.mobile-scroll-note{color:var(--muted);margin:-11px 0 12px;font-size:11px;line-height:1.4;display:block}.weekly-chart{gap:1px;height:170px}.finance-chart{height:190px}.finance-day .finance-chart{min-width:calc(var(--finance-count) * 25px);grid-template-columns:repeat(var(--finance-count), minmax(23px, 1fr))}.finance-month .finance-chart{min-width:820px}.matrix-scroll{scrollbar-color:var(--green) var(--paper-deep);scrollbar-width:thin;padding-block:9px;overflow:auto hidden}.year-matrix{min-width:840px}.month-row{grid-template-columns:34px 1fr;gap:8px}.month-row>div{grid-template-columns:repeat(31,minmax(22px,1fr));gap:2px}.day-cell{height:24px}.filter-tabs{width:100%;overflow-x:auto}.filter-tabs button{flex:1;padding-inline:7px}.table-wrap{scroll-snap-type:x proximity;max-height:min(420px,58dvh);scroll-padding-left:132px}table{font-size:11px}th:not(:first-child),td:not(:first-child){scroll-snap-align:start}th{font-size:10px}th:first-child,td:first-child{position:sticky;left:0}th:first-child{z-index:5}td:first-child{z-index:1;background:var(--card);box-shadow:8px 0 12px -12px #13241eb8}tbody tr:hover td:first-child{background:#f1f3ea}th:nth-child(7) .header-label{padding-left:38px}.power-peak-summary[data-compact=true]{min-width:208px}.power-peak-summary[data-compact=true] .power-peak-row{padding-left:38px}.method-card{padding:28px 22px}.method-grid,.method-grid .method-autonomy{grid-template-columns:1fr;gap:14px}.compliance-card{padding:24px 20px 21px}.compliance-head h2{font-size:24px}.compliance-disclaimer{grid-template-columns:1fr;gap:16px}.compliance-disclaimer>div{padding-right:0}.compliance-disclaimer>div+div{border-top:1px solid var(--line);border-left:0;padding-top:16px;padding-left:0}.climate-note{grid-template-columns:1fr;gap:5px}.table-explainer{flex-direction:column;align-items:flex-start;gap:3px}.modal-backdrop{padding:12px}.method-modal{max-height:calc(100dvh - 24px);padding:22px 18px}.explanation-steps{grid-template-columns:1fr}.explanation-steps article{min-height:0}.method-footer,.site-footer{flex-direction:column;align-items:flex-start}.method-footer>div{align-items:flex-start}.site-footer{padding:28px 0}}@media (width<=780px){.heatload-backdrop{padding:0}.heatload-modal{border:0;width:100%;height:100dvh}.heatload-head{min-height:98px;padding:14px 16px}.heatload-head h2{font-size:24px}.heatload-head p{max-width:430px}.heatload-head-actions{gap:9px}.heatload-layout{overscroll-behavior:contain;display:block;overflow-y:auto}.heatload-form,.heatload-result{overflow:visible}.heatload-form{padding:3px 18px 26px}.heatload-result{border-top:1px solid var(--ink);border-left:0;padding:25px 20px 22px}.heatload-result-main>strong{font-size:42px}.heatload-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.heatload-window-card{grid-template-columns:1fr;gap:12px}.heatload-layer{grid-template-columns:minmax(125px,1.1fr) minmax(100px,.8fr) minmax(85px,.7fr) 36px}.heatload-choice button,.heatload-mode button,.heatload-add-layer,.heatload-head-actions>button{min-height:44px}.heatload-help-trigger{width:24px;height:24px}}@media (width<=520px){.power-stress-grid{grid-template-columns:1fr}.power-stress-grid article{border-right:0;border-bottom:1px solid var(--line)}.power-stress-grid article:last-child{border-bottom:0}.power-stress-verdict dl{grid-template-columns:1fr}.legal-topbar .brand small{display:none}.legal-topbar .topbar-links{gap:8px}.legal-topbar .topbar-links a{font-size:8px}.heatload-head>div:first-child>span,.heatload-head p{display:none}.heatload-head{min-height:72px}.heatload-head h2{margin:0;font-size:22px}.heatload-head-actions small{white-space:normal;max-width:96px}.heatload-section{padding-block:20px 22px}.heatload-section-title{margin-bottom:15px}.heatload-field-grid{grid-template-columns:1fr 1fr;gap:10px}.heatload-field-label{min-height:32px;font-size:9px}.heatload-input,.heatload-layer-input{min-height:44px}.heatload-input input,.heatload-layer-input input{font-size:16px}.heatload-choice{grid-template-columns:1fr 1fr}.heatload-choice button{border-bottom:1px solid #cfd2c8}.heatload-choice button:nth-child(2n){border-right:0}.heatload-choice button:nth-last-child(-n+2){border-bottom:0}.heatload-layer{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px}.heatload-layer>label:first-child{grid-column:1/-1}.heatload-window-card .heatload-field-grid{grid-template-columns:1fr 1fr}.heatload-result-main>strong{font-size:38px}.expert-number-action{min-width:61px}}@media (hover:none),(pointer:coarse){.profile-scroll{touch-action:pan-y;-webkit-user-select:none;user-select:none}.finance-profile-scroll,.matrix-scroll,.matrix-popover,.day-cell{touch-action:pan-x pan-y}.text-field input,.segmented button,.load-profile-switcher button,.year-switcher button,.filter-tabs button,.granularity-switcher button,.profile-tabs button,.analysis-tabs button,.method-info-button{min-height:44px}.number-shell input{min-height:34px;font-size:16px}.range-control{height:32px;margin-top:0}.range-control::-webkit-slider-thumb{width:20px;height:20px;margin-top:-9px}.range-control::-moz-range-thumb{width:16px;height:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.loading-orbit{animation:none}.day-cell{transition:none}}.pv-planner{--bg:#0d1517;--panel:#172225;--line:#314348;--text:#eef4f2;--muted:#94a6a8;--lime:#d9ff57}.pv-planner *{box-sizing:border-box}.pv-planner,.pv-planner{overscroll-behavior:none;background:var(--bg);width:100%;height:100%;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px;overflow:hidden}.pv-planner{overscroll-behavior:none;width:100%;height:100%;overflow:hidden}.pv-planner button,.pv-planner input,.pv-planner select{font:inherit}.pv-planner header{border-bottom:1px solid var(--line);background:#111b1d;justify-content:space-between;align-items:center;height:72px;padding:0 22px;display:flex}.pv-planner header small{color:var(--lime);letter-spacing:.18em;font-size:13px;font-weight:800;display:block}.pv-planner .title{color:#fff;background:0 0;border:0;outline:none;width:340px;padding:2px 0;font-size:20px;font-weight:750}.pv-planner .actions,.pv-planner nav{align-items:center;gap:8px;display:flex}.pv-planner .actions span{color:#87a09f;font-size:11px}.pv-planner .actions button,.pv-planner nav button{color:#dce8e6;cursor:pointer;background:#202e32;border:1px solid #36494e;border-radius:7px;padding:8px 12px}.pv-planner .actions .icon-button,.pv-planner nav .tool-button{place-items:center;width:36px;height:36px;padding:0;display:inline-grid}.pv-planner .actions .primary{background:var(--lime);color:#142013;border-color:var(--lime);font-weight:700}.pv-planner .actions .new-project-button{color:#eaff9c;background:#263229;border-color:#69813b;align-items:center;gap:6px;height:36px;font-weight:700;display:inline-flex}.pv-planner .actions .new-project-button span{color:inherit;font-size:10px}.pv-planner nav{border-bottom:1px solid var(--line);background:#152022;height:54px;padding:0 16px}.pv-planner nav button.on{color:#fff;background:#355159;border-color:#75bbcb}.pv-planner nav button:disabled{opacity:.35}.pv-planner nav i{border-left:1px solid var(--line);height:26px;margin:0 6px}.pv-planner nav b{flex:1}.pv-planner .zoom-value{color:#b8c8c8;font-variant-numeric:tabular-nums;text-align:center;min-width:45px;font-size:11px}.pv-planner nav label{color:var(--muted);align-items:center;gap:8px;font-size:11px;display:flex}.pv-planner .workspace{grid-template-columns:250px minmax(500px,1fr) 285px;align-items:stretch;gap:0;width:100%;height:calc(100vh - 126px);margin:0;display:grid}.pv-planner aside{background:var(--panel);border-right:1px solid var(--line);padding:18px;overflow:auto}.pv-planner aside.right{border-right:0;border-left:1px solid var(--line)}.pv-planner .roof-3d-panel{background:linear-gradient(#192a2e59,#070e10c7),#0b1416;border-bottom:1px solid #314348;width:calc(100% + 36px);height:238px;margin:-18px -18px 18px;position:relative;overflow:hidden}.pv-planner .roof-3d-panel.is-expanded{z-index:10000;border:1px solid #486066;width:auto;height:auto;margin:0;position:fixed;inset:24px;box-shadow:0 24px 90px #000000ad}.pv-planner .roof-3d-panel.is-embedded,.pv-planner .roof-3d-panel.is-expanded.is-embedded{width:100%;height:100%;box-shadow:none;border:0;margin:0;position:relative;inset:auto}.pv-planner .roof-3d-panel.is-loading:after{content:"";background:linear-gradient(105deg,#0000 35%,#23383d 50%,#0000 65%) 0 0/220% 100%;animation:1.2s linear infinite preview-shimmer;position:absolute;inset:0}@keyframes preview-shimmer{to{background-position:-220% 0}}.pv-planner .roof-3d-host{touch-action:none;position:absolute;inset:0}.pv-planner .roof-3d-unavailable{color:#c7d4d3;text-align:center;place-items:center;margin:0;padding:48px 24px 24px;font-size:12px;display:grid;position:absolute;inset:0}.pv-planner .roof-3d-host canvas{cursor:grab;width:100%;height:100%;display:block}.pv-planner .roof-3d-host canvas:active{cursor:grabbing}.pv-planner .roof-3d-badge,.pv-planner .roof-3d-reset,.pv-planner .roof-3d-expand{z-index:2;color:#c7d4d3;background:#0a1416db;border:1px solid #40575c;position:absolute;top:10px}.pv-planner .roof-3d-badge{color:var(--lime);letter-spacing:.12em;padding:4px 7px;font-size:9px;font-weight:800;left:10px}.pv-planner .roof-3d-panel:focus-visible{outline:2px solid var(--planner-lime);outline-offset:-2px}.pv-planner .roof-3d-reset{cursor:pointer;place-items:center;width:28px;height:28px;padding:0;display:grid;right:46px}.pv-planner .roof-3d-expand{cursor:pointer;place-items:center;width:28px;height:28px;padding:0;display:grid;right:10px}.pv-planner .roof-3d-reset:hover,.pv-planner .roof-3d-expand:hover{border-color:var(--lime);color:var(--lime)}@media (width<=720px){.pv-planner .roof-3d-panel.is-expanded{inset:8px}}.pv-planner h2{margin:0 0 14px;font-size:15px}.pv-planner h3{text-transform:uppercase;letter-spacing:.1em;color:#90a5a7;margin:22px 0 10px;font-size:11px}.pv-planner .metrics{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pv-planner .metrics div{background:#1d2a2e;border:1px solid #2e4145;border-radius:8px;padding:11px}.pv-planner .metrics b{font-size:18px;display:block}.pv-planner .metrics small{color:var(--muted);font-size:10px}.pv-planner .facing-summary{background:#111c1f;border:1px solid #2e4145;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:6px;display:grid}.pv-planner .facing-summary span{color:#7f9496;border-bottom:1px solid #2e4145;border-right:1px solid #2e4145;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;padding:7px 8px;font-size:9px;display:grid}.pv-planner .facing-summary span:nth-child(2n){border-right:0}.pv-planner .facing-summary span:nth-last-child(-n+2){border-bottom:0}.pv-planner .facing-summary i{border:1px solid #fff6;width:9px;height:9px}.pv-planner .facing-summary i[data-facing=N]{background:#5b6965}.pv-planner .facing-summary i[data-facing=O]{background:#2f765f}.pv-planner .facing-summary i[data-facing=S]{background:#62733f}.pv-planner .facing-summary i[data-facing=W]{background:#8f653d}.pv-planner .facing-summary em{text-overflow:ellipsis;font-style:normal;overflow:hidden}.pv-planner .facing-summary b{color:#e7efed;font-variant-numeric:tabular-nums;text-align:right;font-size:11px}.pv-planner .fields{gap:9px;display:grid}.pv-planner .fields.two{grid-template-columns:1fr 1fr}.pv-planner .fields label,.pv-planner .card label{color:var(--muted);gap:5px;font-size:11px;display:grid}.pv-planner .fields input,.pv-planner .fields select,.pv-planner .card input,.pv-planner .card select{color:#fff;background:#101a1c;border:1px solid #35484d;border-radius:6px;width:100%;padding:7px}.pv-planner .fields .check{align-items:center;gap:7px;display:flex}.pv-planner .fields .check input{width:auto}.pv-planner .equipment-catalog-picker{gap:8px;display:grid}.pv-planner .module-source-switch{margin-bottom:10px}.pv-planner .module-source-switch button{cursor:pointer;min-height:38px}.pv-planner .module-custom-fields{margin-top:0}.pv-planner .equipment-catalog-picker>label{color:var(--muted);gap:5px;font-size:10px;display:grid}.pv-planner .equipment-catalog-picker select{color:#fff;background:#101a1c;border:1px solid #35484d;border-radius:2px;width:100%;min-width:0;min-height:36px;padding:7px 28px 7px 8px;font-size:10px}.pv-planner .equipment-catalog-picker select:disabled{opacity:.58}.pv-planner .equipment-catalog-picker optgroup{color:var(--planner-lime,#d9f36a);background:#152522;font-weight:800}.pv-planner .equipment-catalog-picker option{color:#fff;background:#101a1c;font-weight:500}.pv-planner .catalog-status{color:#8fa1a2;font-size:9px}.pv-planner .catalog-status.error{color:#ffc16a}.pv-planner .catalog-selection-summary{border-left:2px solid var(--lime);color:#aebdbc;background:#d9ff5712;justify-content:space-between;align-items:center;gap:10px;padding:8px 9px;font-size:9px;display:flex}.pv-planner .catalog-selection-summary>span:first-child{gap:2px;min-width:0;display:grid}.pv-planner .catalog-selection-summary b{color:#f2f7f5;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.pv-planner .catalog-selection-summary a,.pv-planner .catalog-selection-actions{flex:none;align-items:center;gap:4px;display:inline-flex}.pv-planner .catalog-selection-summary a{color:var(--lime);text-decoration:none}.pv-planner .catalog-selection-meta{color:#ffffffa3;justify-content:space-between;align-items:center;gap:10px;font-size:9px;display:flex}.pv-planner .catalog-selection-meta a{color:var(--planner-lime);align-items:center;gap:4px;text-decoration:none;display:inline-flex}.pv-planner .catalog-selection-meta a:hover{color:#fff}.pv-planner .catalog-selection-actions button{border:1px solid var(--lime);background:var(--lime);color:#102014;cursor:pointer;border-radius:1px;min-height:30px;padding:5px 8px;font-size:9px;font-weight:800}.pv-planner aside p,.pv-planner .total small{color:#829497;font-size:11px;line-height:1.45}.pv-planner .field-caption{color:#8fa1a4;letter-spacing:.08em;text-transform:uppercase;margin:12px 0 6px;font-size:10px;font-weight:700;display:block}.pv-planner .canvas{overscroll-behavior:none;-webkit-user-select:none;user-select:none;background:#0b1214;padding:0;position:relative;overflow:hidden}.pv-planner .stage{-webkit-user-select:none;user-select:none;position:absolute;inset:0}.pv-planner .north-compass{z-index:8;color:#ddff57;pointer-events:none;background:#0b181be6;border:1px solid #60787c;border-radius:2px;align-content:center;place-items:center;gap:0;width:42px;height:58px;display:grid;position:absolute;top:16px;right:16px;box-shadow:0 4px 16px #0008}.pv-planner .north-compass b{letter-spacing:.12em;font-size:11px;line-height:1}.pv-planner .north-compass span{font-size:30px;font-weight:300;line-height:.9}.pv-planner .plan-check{background:#172b25;border:1px solid #355849;border-radius:8px;margin-top:10px;padding:10px 11px}.pv-planner .plan-check b,.pv-planner .plan-check span{display:block}.pv-planner .plan-check b{color:#7ee1aa;font-size:11px}.pv-planner .plan-check span{color:#8fa7a0;margin-top:2px;font-size:10px}.pv-planner .plan-check.warning{background:#2c251b;border-color:#765b32}.pv-planner .plan-check.warning b{color:#ffc868}.pv-planner .orientation-balance{background:#111c1f;border:1px solid #3a4d51;margin-top:10px}.pv-planner .orientation-balance-title,.pv-planner .orientation-counts{justify-content:space-between;align-items:center;display:flex}.pv-planner .orientation-balance-title{padding:9px 10px 7px}.pv-planner .orientation-balance-title b{font-size:11px}.pv-planner .orientation-balance-title span{color:#ffbd69;font-size:9px}.pv-planner .orientation-balance.balanced .orientation-balance-title span{color:#73dfaa}.pv-planner .orientation-bar{background:#263538;height:4px;margin:0 10px;display:flex;overflow:hidden}.pv-planner .orientation-bar i:first-child{background:#2c91cb}.pv-planner .orientation-bar i:last-child{background:#cf7645}.pv-planner .orientation-counts{border-bottom:1px solid #2d4044;padding:8px 10px}.pv-planner .orientation-counts span{color:#91a4a6;align-items:center;gap:5px;font-size:9px;display:flex}.pv-planner .orientation-counts span>i{background:#2c91cb;width:6px;height:6px}.pv-planner .orientation-counts span>i.west{background:#cf7645}.pv-planner .orientation-counts b{color:#edf4f2;font-size:13px}.pv-planner .topology-result,.pv-planner .symmetry-target{gap:2px;padding:8px 10px;display:grid}.pv-planner .symmetry-target{background:#261f16;border-top:1px solid #5d492c}.pv-planner .topology-result span,.pv-planner .symmetry-target span{color:#7e9294;text-transform:uppercase;letter-spacing:.08em;font-size:8px}.pv-planner .topology-result b,.pv-planner .symmetry-target b{font-size:10px}.pv-planner .topology-result em,.pv-planner .symmetry-target em{color:#9aadaf;font-size:8px;font-style:normal;line-height:1.4}.pv-planner .symmetry-target em{color:#e3bd84}.pv-planner .stage svg{touch-action:none;-webkit-user-select:none;user-select:none;background:#101b1e;width:100%;height:100%;display:block;overflow:hidden}.pv-planner .roof{fill:#243538;stroke:#b9c7c5;stroke-width:2px;vector-effect:non-scaling-stroke}.pv-planner .tool-roof .roof{cursor:move}.pv-planner .tool-roof .roof.selected{stroke:var(--lime);stroke-width:3px;filter:drop-shadow(0 0 3px #d9ff576b)}.pv-planner .roof-shared-boundaries{pointer-events:none}.pv-planner .roof-shared-edge-mask,.pv-planner .roof-shared-edge{vector-effect:non-scaling-stroke}.pv-planner .roof-shared-edge-mask{stroke:#243538;stroke-width:5px}.pv-planner .roof-shared-edge{stroke:var(--lime);stroke-width:1.5px;stroke-dasharray:8 6}.pv-planner .tool-panels .roof,.pv-planner.tool-strings .roof{pointer-events:none}.pv-planner .tool-panels .edge-handle,.pv-planner.tool-strings .edge-handle{pointer-events:none;stroke:#0000}.pv-planner .vertex{fill:var(--lime);stroke:#101819;stroke-width:2px;vector-effect:non-scaling-stroke;cursor:move}.pv-planner .vertex-control{cursor:move}.pv-planner .vertex-touch-target,.pv-planner .rotation-touch-target{fill:#0000;stroke:#0000;pointer-events:all}.pv-planner .vertex-control .vertex{pointer-events:none}.pv-planner .vertex.selected{fill:#fff;stroke:var(--lime);stroke-width:4px;filter:drop-shadow(0 0 4px #d9ff57bf)}.pv-planner .roof-snap-guide{stroke:#66e7ff;stroke-width:1px;stroke-dasharray:7 5;vector-effect:non-scaling-stroke;pointer-events:none}.pv-planner .roof-rotation-control{cursor:grab}.pv-planner .roof-rotation-control:active{cursor:grabbing}.pv-planner .roof-rotation-control circle{fill:#0000;stroke:var(--planner-ink,#10231d);stroke-width:2px;vector-effect:non-scaling-stroke;filter:none}.pv-planner .roof-rotation-control .rotation-touch-target{fill:#0000;stroke:#0000;filter:none}.pv-planner .roof-rotation-control>circle:not(.rotation-touch-target){fill:#0000;stroke:var(--planner-ink,#10231d);stroke-width:2.25px;filter:none}.pv-planner .roof-rotation-control text{pointer-events:none;-webkit-user-select:none;user-select:none;paint-order:stroke;stroke:#101b1e;stroke-width:3px;font-weight:800}.pv-planner .roof-rotation-control .roof-rotation-symbol{fill:var(--planner-ink,#10231d);stroke:none;text-anchor:middle;font-weight:500}.pv-planner .roof-rotation-control .roof-rotation-angle{fill:#d7e2df;paint-order:normal;stroke:none;text-anchor:middle;font-weight:400}.pv-planner .roof-rotation-angle-bg{fill:var(--planner-card);stroke:var(--planner-ink)}@supports (color:color-mix(in lab, red, red)){.pv-planner .roof-rotation-angle-bg{stroke:color-mix(in srgb, var(--planner-ink) 48%, var(--planner-paper))}}.pv-planner .roof-rotation-angle-bg{stroke-width:1px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #101b1e29);pointer-events:none}.pv-planner .roof-draft{pointer-events:none}.pv-planner .roof-draft polyline{fill:none;stroke:var(--lime);stroke-width:2px;stroke-dasharray:9 6;vector-effect:non-scaling-stroke}.pv-planner .roof-draft circle,.pv-planner .roof-edge-add circle,.pv-planner .roof-add-cursor circle{fill:#172326;stroke:var(--lime);stroke-width:2px;vector-effect:non-scaling-stroke}.pv-planner .roof-edge-add,.pv-planner .roof-add-cursor{pointer-events:none}.pv-planner .roof-edge-add text,.pv-planner .roof-add-cursor text{fill:var(--lime);text-anchor:middle;paint-order:stroke;stroke:#101b1e;stroke-width:3px;font-weight:800}.pv-planner .roof-add-cursor text{text-anchor:start}.pv-planner .roof-drawing .mod,.pv-planner .roof-drawing .block,.pv-planner .roof-drawing .edge-handle,.pv-planner .roof-drawing .route,.pv-planner .roof-drawing .collector,.pv-planner .roof-drawing .exclusion-zone{pointer-events:none}.pv-planner .tool-roof .mod{pointer-events:none;opacity:.28}.pv-planner .tool-roof .mod>rect{stroke-width:1.5px;stroke-dasharray:7 5;fill:#0000!important;stroke:#9badaa!important;filter:none!important}.pv-planner .tool-roof .mod path{opacity:.18}.pv-planner .tool-roof .mod text,.pv-planner .tool-roof .block,.pv-planner .tool-roof .string-overlay,.pv-planner .tool-roof .collector{display:none}.pv-planner .tool-roof .exclusion-zone{opacity:.78}.pv-planner .tool-roof .exclusion-zone.selected{opacity:1}.pv-planner .mod{cursor:grab}.pv-planner .mod>rect{stroke-width:2px;vector-effect:non-scaling-stroke}.pv-planner .mod.selected>rect{stroke:var(--lime);stroke-width:3px;filter:drop-shadow(0 0 3px #d9ff5766)}.pv-planner .mod text{fill:#fff;text-anchor:middle;pointer-events:none;font-size:18px;font-weight:800}.pv-planner .mod text.sl{fill:#d6e2df;font-size:14px}.pv-planner .collector-halo{fill:var(--planner-card,#f8f7f0);stroke:var(--planner-ink,#10231d);stroke-width:2px;vector-effect:non-scaling-stroke;pointer-events:none}.pv-planner .collector{fill:var(--planner-ink,#10231d);stroke:var(--planner-card,#f8f7f0);stroke-width:2.5px;vector-effect:non-scaling-stroke}.pv-planner .collector-label{pointer-events:none}.pv-planner .collector-label rect{fill:var(--planner-card,#f8f7f0);stroke:var(--planner-ink,#10231d);stroke-width:2px;vector-effect:non-scaling-stroke}.pv-planner .collector-label text{fill:var(--planner-ink,#10231d);font-size:16px;font-weight:750}.pv-planner .inverter-collectors>g:not(.active) .collector{opacity:.72}.pv-planner .inverter-collectors>g.active .collector{stroke:var(--planner-card,#f8f7f0);stroke-width:3px}.pv-planner .canvas footer{color:#839699;z-index:3;background:#10191bf2;border-top:1px solid #314348;justify-content:space-between;height:28px;padding:6px 14px;font-size:11px;display:flex;position:fixed;bottom:0;left:250px;right:285px}.pv-planner .canvas-mobile-summary{display:none}.pv-planner .card{background:#1d2a2e;border:1px solid #34484c;border-radius:9px;gap:10px;padding:12px;display:grid}.pv-planner .block-summary{border-bottom:1px solid #34484c;gap:2px;padding-bottom:9px;display:grid}.pv-planner .block-summary b{color:var(--lime);font-size:12px}.pv-planner .block-summary span{color:var(--muted);font-size:10px}.pv-planner .segment{grid-template-columns:1fr 1fr;display:grid}.pv-planner .facing-segment,.pv-planner .facing-control{grid-template-columns:repeat(4,1fr)}.pv-planner .mounting-mode-segment{grid-template-columns:repeat(6,minmax(0,1fr))}.pv-planner .mounting-mode-segment button{min-width:0;padding-inline:3px}.pv-planner .mounting-mode-segment button.active{border-color:var(--lime);color:var(--lime);background:#273b31}.pv-planner .block-mounting-fields{margin-top:1px}.pv-planner .facing-control{gap:4px;display:grid}.pv-planner .facing-control button{color:#aec0c1;cursor:pointer;background:#101a1c;border:1px solid #35484d;padding:7px 2px}.pv-planner .facing-control button.active{background:var(--lime);border-color:var(--lime);color:#172014;font-weight:800}.pv-planner .segment button{color:#fff;background:#26383c;border:1px solid #42565b;padding:7px}.pv-planner .stringlist{gap:5px;margin-top:14px;display:grid}.pv-planner .string-row{grid-template-columns:minmax(0,1fr) 28px;gap:4px;display:grid}.pv-planner .stringlist .string-select{color:#fff;text-align:left;cursor:pointer;background:#1c292c;border:1px solid #0000;border-radius:7px;grid-template-columns:9px 30px 1fr auto;align-items:center;gap:8px;padding:9px;display:grid}.pv-planner .stringlist .string-select:hover{border-color:#4c6267}.pv-planner .stringlist .string-delete{color:#9aacaf;cursor:pointer;background:#182326;border:1px solid #3c4e52;place-items:center;padding:0;font-size:17px;display:grid}.pv-planner .stringlist .string-delete:hover{color:#ff8a80;background:#321f20;border-color:#d85d55}.pv-planner .stringlist i{border-radius:3px;width:8px;height:22px}.pv-planner .stringlist span,.pv-planner .stringlist em{color:#9aacaf;font-size:11px}.pv-planner .stringlist em{color:#d8e3e1;font-style:normal}.pv-planner .total{background:#101a1c;border-radius:8px;margin-top:14px;padding:13px}.pv-planner .total span,.pv-planner .total small{color:#8da0a2;font-size:10px;display:block}.pv-planner .total b{margin:3px 0 8px;font-size:21px;display:block}.pv-planner .right ol{color:#9aabad;padding-left:18px;font-size:11px;line-height:1.6}.pv-planner .block-overview{gap:4px;margin-top:12px;display:grid}.pv-planner .block-overview>div{background:#182427;border:1px solid #314448;grid-template-columns:52px minmax(0,1fr);display:grid}.pv-planner .block-overview>div.active{border-color:var(--lime);box-shadow:inset 3px 0 0 var(--lime)}.pv-planner .block-overview-select{color:#e8efed;cursor:pointer;background:0 0;border:0;border-right:1px solid #314448;grid-template-columns:1fr 1fr;align-items:center;padding:7px;display:grid}.pv-planner .block-overview-select span{font-weight:800}.pv-planner .block-overview-select small{color:#8fa5a6;font-size:8px}.pv-planner .block-overview input{color:#dce7e5;background:0 0;border:0;outline:none;min-width:0;padding:7px 8px}.pv-planner .block-overview input:focus{background:#0f1a1c;box-shadow:inset 0 0 0 1px #668086}@media (width<=1050px){.pv-planner .workspace{grid-template-columns:220px minmax(460px,1fr)}.pv-planner .right{display:none}.pv-planner .canvas footer{left:220px;right:0}}@media (width<=760px){.pv-planner aside:not(.right){display:none}.pv-planner .workspace{grid-template-columns:1fr}.pv-planner .canvas footer{left:0}.pv-planner .title{width:210px}.pv-planner .actions span{display:none}}.pv-planner .dimension-plan-modal{z-index:300;background:var(--planner-paper);min-width:0;min-height:0;color:var(--planner-ink);grid-template-rows:auto auto minmax(0,1fr);display:grid;position:fixed;inset:0;overflow:hidden}.pv-planner .dimension-plan-header{border-bottom:1px solid var(--planner-line);background:var(--planner-green-dark);height:auto;min-height:78px;color:var(--planner-card);justify-content:space-between;align-items:center;gap:24px;padding:13px 18px;display:flex}.pv-planner .dimension-plan-header>div:first-child{min-width:0}.pv-planner .dimension-plan-header span{color:var(--planner-lime);font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;margin-bottom:4px;font-size:9px;font-weight:800;display:block}.pv-planner .dimension-plan-header h2{color:var(--planner-card);text-overflow:ellipsis;white-space:nowrap;max-width:min(68vw,980px);margin:0;font-size:clamp(20px,2vw,30px);line-height:1;overflow:hidden}.pv-planner .dimension-plan-actions{flex:none;align-items:center;gap:8px;display:flex}.pv-planner .dimension-plan-actions button{min-height:42px;color:var(--planner-card);cursor:pointer;background:0 0;border:1px solid #ffffff57;border-radius:0;justify-content:center;align-items:center;gap:8px;font-size:10px;font-weight:760;display:inline-flex}.pv-planner .dimension-plan-actions .dimension-plan-export{border-color:var(--planner-lime);background:var(--planner-lime);color:var(--planner-ink);padding:0 16px}.pv-planner .dimension-plan-actions .dimension-plan-parts,.pv-planner .dimension-plan-actions .dimension-plan-close{width:42px;padding:0}.pv-planner .dimension-plan-actions button:disabled{cursor:wait;opacity:.68}.pv-planner .dimension-plan-subheader{border-bottom:1px solid var(--planner-line);background:var(--planner-card);min-width:0}.pv-planner .dimension-plan-facts{border-bottom:1px solid var(--planner-line);min-width:0;margin:0;display:flex}.pv-planner .dimension-plan-facts>div{border-right:1px solid var(--planner-line);gap:2px;min-width:130px;padding:8px 13px;display:grid}.pv-planner .dimension-plan-facts>div:nth-child(2),.pv-planner .dimension-plan-facts>div:nth-child(3){flex:auto;min-width:0}.pv-planner .dimension-plan-facts dt{color:var(--planner-green);font-family:var(--font-geist-mono), monospace;letter-spacing:.09em;text-transform:uppercase;font-size:7px;font-weight:850}.pv-planner .dimension-plan-facts dd{color:var(--planner-ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:9px;font-weight:720;overflow:hidden}.pv-planner .is-spinning{animation:.8s linear infinite dimension-plan-spin}@keyframes dimension-plan-spin{to{transform:rotate(360deg)}}.pv-planner .dimension-plan-options{background:var(--planner-paper);align-items:center;gap:7px;min-height:42px;padding:5px 12px;display:flex}.pv-planner .dimension-plan-options button{border:1px solid var(--planner-line);min-height:32px;color:var(--planner-muted);cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:6px;padding:0 10px;font-size:9px;font-weight:740;display:inline-flex}.pv-planner .dimension-plan-options button.on{border-color:var(--planner-green);background:var(--planner-green)}@supports (color:color-mix(in lab, red, red)){.pv-planner .dimension-plan-options button.on{background:color-mix(in srgb, var(--planner-green) 8%, var(--planner-card))}}.pv-planner .dimension-plan-options button.on{color:var(--planner-ink)}.pv-planner .dimension-plan-options i{background:#156c55;border-radius:50%;width:9px;height:9px}.pv-planner .dimension-plan-options i[data-kind=block]{background:#245fc3}.pv-planner .dimension-plan-options i[data-kind=zone]{background:#c34c39}.pv-planner .dimension-plan-options>span{color:var(--planner-muted);font-family:var(--font-geist-mono), monospace;margin-left:auto;font-size:8px}.pv-planner .dimension-plan-options strong{color:#b83e2d;font-size:8px}.pv-planner .dimension-plan-error{border-top:1px solid #c34c39;padding:7px 12px;display:block}@supports (color:color-mix(in lab, red, red)){.pv-planner .dimension-plan-error{border-top:1px solid color-mix(in srgb, #c34c39 35%, var(--planner-line))}}.pv-planner .dimension-plan-error{background:#c34c39}@supports (color:color-mix(in lab, red, red)){.pv-planner .dimension-plan-error{background:color-mix(in srgb, #c34c39 8%, var(--planner-card))}}.pv-planner .dimension-plan-error{color:#a23e30;font-size:8px}.pv-planner .dimension-plan-workspace{background:var(--planner-line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;min-width:0;min-height:0;display:grid;overflow:hidden}.pv-planner .dimension-plan-modal.layout-2d .dimension-plan-workspace,.pv-planner .dimension-plan-modal.layout-3d .dimension-plan-workspace{grid-template-columns:minmax(0,1fr)}.pv-planner .dimension-plan-modal.layout-3d .pane-2d{display:none}.pv-planner .dimension-plan-modal.layout-2d .pane-3d{visibility:hidden;pointer-events:none;width:1200px;height:800px;position:fixed;top:0;left:-12000px}.pv-planner .dimension-plan-export-assets{pointer-events:none;width:1600px;height:1000px;position:fixed;top:0;left:-12000px;overflow:hidden}.pv-planner .dimension-plan-export-assets .parts-list-drawing,.pv-planner .dimension-plan-export-assets .dimension-plan-drawing{width:1600px;height:1000px}.pv-planner .dimension-plan-pane{background:var(--planner-card);grid-template-rows:39px minmax(0,1fr);min-width:0;min-height:0;display:grid}.pv-planner .dimension-plan-pane>header{border-bottom:1px solid var(--planner-line);background:var(--planner-card);justify-content:space-between;align-items:center;gap:8px;min-width:0;height:39px;padding:0 8px 0 12px;display:flex}.pv-planner .dimension-plan-pane>header>span{color:var(--planner-muted);align-items:center;gap:7px;font-size:9px;font-weight:720;display:inline-flex}.pv-planner .dimension-plan-pane>header b{background:var(--planner-green-dark);color:var(--planner-lime);font-family:var(--font-geist-mono), monospace;padding:3px 5px;font-size:8px}.pv-planner .dimension-plan-pane>header>div{align-items:center;gap:3px;display:flex}.pv-planner .dimension-plan-pane>header button{border:1px solid var(--planner-line);width:29px;height:29px;color:var(--planner-ink);cursor:pointer;background:0 0;place-items:center;padding:0;display:grid}.pv-planner .dimension-plan-pane>header button:hover{border-color:var(--planner-green);background:var(--planner-green)}@supports (color:color-mix(in lab, red, red)){.pv-planner .dimension-plan-pane>header button:hover{background:color-mix(in srgb, var(--planner-green) 8%, var(--planner-card))}}.pv-planner .dimension-plan-pane>header output{min-width:42px;color:var(--planner-muted);font-family:var(--font-geist-mono), monospace;text-align:center;font-size:8px}.pv-planner .dimension-plan-viewport{background:linear-gradient(#10251f0d 1px, transparent 1px), linear-gradient(90deg, #10251f0d 1px, transparent 1px), var(--planner-paper);cursor:grab;touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;background-size:24px 24px;place-items:stretch stretch;min-width:0;min-height:0;padding:8px;display:grid;overflow:hidden}.pv-planner .dimension-plan-viewport:active{cursor:grabbing}.pv-planner .dimension-plan-drawing{border:1px solid var(--planner-line);background:var(--planner-card);width:100%;min-width:0;height:100%;min-height:0;box-shadow:0 12px 36px #10251f1a}.pv-planner .dimension-plan-3d-viewport{background:#0b1416;min-width:0;min-height:0;overflow:hidden}@media (width<=760px){.pv-planner .dimension-plan-modal{grid-template-rows:auto auto minmax(0,1fr)}.pv-planner .dimension-plan-header{align-items:flex-start;gap:10px;min-height:0;padding:12px}.pv-planner .dimension-plan-header h2{max-width:48vw;font-size:19px}.pv-planner .dimension-plan-actions{gap:5px}.pv-planner .dimension-plan-actions .dimension-plan-export{width:42px;padding:0;font-size:0}.pv-planner .dimension-plan-options{gap:4px;padding:6px 8px;overflow-x:auto}.pv-planner .dimension-plan-options button{flex:none;min-height:34px;padding:0 8px;font-size:8px}.pv-planner .dimension-plan-options>span{display:none}.pv-planner .dimension-plan-facts{overflow-x:auto}.pv-planner .dimension-plan-facts>div,.pv-planner .dimension-plan-facts>div:nth-child(2),.pv-planner .dimension-plan-facts>div:nth-child(3){flex:none;min-width:145px}.pv-planner .dimension-plan-workspace{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.pv-planner .dimension-plan-modal.layout-2d .dimension-plan-workspace,.pv-planner .dimension-plan-modal.layout-3d .dimension-plan-workspace{grid-template-rows:minmax(0,1fr)}.pv-planner .dimension-plan-pane{grid-template-rows:37px minmax(0,1fr)}.pv-planner .dimension-plan-pane>header{height:37px}.pv-planner .dimension-plan-viewport{padding:6px}.pv-planner .dimension-plan-drawing{min-width:0;min-height:0}}.pv-planner .parts-list-modal{z-index:310;background:var(--planner-paper);min-width:0;min-height:0;color:var(--planner-ink);grid-template-rows:auto auto minmax(0,1fr);display:grid;position:fixed;inset:0;overflow:hidden}.pv-planner .parts-list-header{background:var(--planner-green-dark);min-height:78px;color:var(--planner-card);border-bottom:1px solid #ffffff40;justify-content:space-between;align-items:center;gap:20px;padding:13px 18px;display:flex}.pv-planner .parts-list-header>div{min-width:0}.pv-planner .parts-list-header span{color:var(--planner-lime);font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;margin-bottom:4px;font-size:9px;font-weight:850;display:block}.pv-planner .parts-list-header h2{max-width:min(75vw,1000px);color:var(--planner-card);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:clamp(21px,2vw,30px);line-height:1;overflow:hidden}.pv-planner .parts-list-header button{width:44px;height:44px;color:var(--planner-card);cursor:pointer;background:0 0;border:1px solid #ffffff61;flex:none;place-items:center;padding:0;display:grid}.pv-planner .parts-list-header button:hover{border-color:var(--planner-lime);color:var(--planner-lime)}.pv-planner .parts-list-summary{border-bottom:1px solid var(--planner-line);background:var(--planner-card);grid-template-columns:minmax(220px,.45fr) minmax(0,1fr);min-width:0;min-height:58px;display:grid}.pv-planner .parts-list-summary>div,.pv-planner .parts-list-summary>p{align-items:center;gap:10px;min-width:0;min-height:58px;margin:0;padding:10px 16px;display:flex}.pv-planner .parts-list-summary>div{border-right:1px solid var(--planner-line);color:var(--planner-green)}.pv-planner .parts-list-summary>div span{color:var(--planner-muted);gap:1px;font-size:9px;display:grid}.pv-planner .parts-list-summary>div b{color:var(--planner-ink);font-family:var(--font-geist-mono), monospace;font-size:16px}.pv-planner .parts-list-summary>p{color:var(--planner-muted);font-size:9px;line-height:1.45}.pv-planner .parts-list-summary>p svg{color:var(--planner-green);flex:none}.pv-planner .parts-list-workspace{background:var(--planner-line);grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:1px;min-width:0;min-height:0;display:grid;overflow:hidden}.pv-planner .parts-list-plan{background:var(--planner-card);grid-template-rows:42px minmax(0,1fr);min-width:0;min-height:0;display:grid}.pv-planner .parts-list-plan>header{border-bottom:1px solid var(--planner-line);background:var(--planner-card);justify-content:space-between;align-items:center;gap:10px;min-width:0;height:42px;padding:0 10px 0 13px;display:flex}.pv-planner .parts-list-plan>header span{color:var(--planner-muted);align-items:center;gap:7px;font-size:9px;font-weight:730;display:flex}.pv-planner .parts-list-plan>header b{background:var(--planner-green-dark);color:var(--planner-lime);font-family:var(--font-geist-mono), monospace;padding:3px 5px;font-size:8px}.pv-planner .parts-list-plan>header button{border:1px solid var(--planner-line);min-height:29px;color:var(--planner-ink);cursor:pointer;background:0 0;padding:0 9px;font-size:8px;font-weight:720}.pv-planner .parts-list-plan>header button:hover{border-color:var(--planner-green)}.pv-planner .parts-list-plan>div{background:linear-gradient(#10251f0d 1px, transparent 1px), linear-gradient(90deg, #10251f0d 1px, transparent 1px), var(--planner-paper);background-size:24px 24px;min-width:0;min-height:0;padding:10px;display:grid;overflow:hidden}.pv-planner .parts-list-drawing{border:1px solid var(--planner-line);background:var(--planner-card);width:100%;min-width:0;height:100%;min-height:0;box-shadow:0 12px 36px #10251f1a}.pv-planner .parts-list-lines{background:var(--planner-paper);min-width:0;min-height:0;padding:13px;overflow-y:auto}.pv-planner .parts-list-group{border:1px solid var(--planner-line);background:var(--planner-card);margin-bottom:12px}.pv-planner .parts-list-group>header{border-bottom:1px solid var(--planner-line);background:var(--planner-green);justify-content:space-between;align-items:center;gap:10px;min-height:34px;padding:0 11px;display:flex}@supports (color:color-mix(in lab, red, red)){.pv-planner .parts-list-group>header{background:color-mix(in srgb, var(--planner-green) 7%, var(--planner-card))}}.pv-planner .parts-list-group>header span{color:var(--planner-green);font-family:var(--font-geist-mono), monospace;letter-spacing:.09em;text-transform:uppercase;font-size:8px;font-weight:850}.pv-planner .parts-list-group>header b{color:var(--planner-muted);font-size:8px}.pv-planner .parts-list-item{border-bottom:1px solid var(--planner-line);position:relative}.pv-planner .parts-list-item:last-child{border-bottom:0}.pv-planner .parts-list-item-select{width:100%;min-height:67px;color:var(--planner-ink);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:58px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:9px 86px 9px 10px;display:grid}.pv-planner .parts-list-item-select:hover,.pv-planner .parts-list-item.active .parts-list-item-select{background:var(--planner-lime)}@supports (color:color-mix(in lab, red, red)){.pv-planner .parts-list-item-select:hover,.pv-planner .parts-list-item.active .parts-list-item-select{background:color-mix(in srgb, var(--planner-lime) 18%, var(--planner-card))}}.pv-planner .parts-list-item.active{box-shadow:inset 4px 0 var(--planner-green)}.pv-planner .parts-list-quantity{color:var(--planner-muted);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;font-size:7px;display:grid}.pv-planner .parts-list-quantity b{color:var(--planner-ink);font-size:18px;line-height:1}.pv-planner .parts-list-item-copy{gap:3px;min-width:0;display:grid}.pv-planner .parts-list-item-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.pv-planner .parts-list-item-copy small{color:var(--planner-muted);font-size:8px;line-height:1.35}.pv-planner .parts-list-item>a{color:var(--planner-green);align-items:center;gap:4px;font-size:7px;font-weight:750;text-decoration:none;display:inline-flex;position:absolute;bottom:9px;right:10px}.pv-planner .parts-list-empty{border:1px solid var(--planner-line);background:var(--planner-card);text-align:center;align-content:center;place-items:center;gap:10px;min-height:240px;padding:30px;display:grid}.pv-planner .parts-list-empty h3,.pv-planner .parts-list-empty p{max-width:330px;margin:0}.pv-planner .parts-list-empty p,.pv-planner .parts-list-unsupported{color:var(--planner-muted);font-size:9px;line-height:1.5}.pv-planner .parts-list-unsupported{background:#fff4e7;border:1px solid #c98b50;padding:10px}@media (width<=760px){.pv-planner .parts-list-header{min-height:62px;padding:10px 12px}.pv-planner .parts-list-header h2{max-width:72vw;font-size:19px}.pv-planner .parts-list-summary{grid-template-columns:minmax(0,1fr)}.pv-planner .parts-list-summary>div,.pv-planner .parts-list-summary>p{min-height:46px;padding:8px 11px}.pv-planner .parts-list-summary>div{border-right:0;border-bottom:1px solid var(--planner-line)}.pv-planner .parts-list-workspace{grid-template-rows:minmax(230px,43vh) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.pv-planner .parts-list-plan>div{padding:5px}.pv-planner .parts-list-lines{padding:8px}.pv-planner .parts-list-item-select{min-height:64px;padding-right:82px}}.pv-planner .angles{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.pv-planner .angles button{color:#aec0c1;cursor:pointer;background:#101a1c;border:1px solid #35484d;border-radius:5px;padding:6px 2px}.pv-planner .angles button.active{background:var(--lime);color:#172014;border-color:var(--lime);font-weight:800}.pv-planner .block rect{fill:none;stroke:#f3d34a;stroke-width:1.25px;stroke-dasharray:7 6;opacity:.7;vector-effect:non-scaling-stroke;pointer-events:none}.pv-planner .block text{fill:#f7dd5d;pointer-events:none;font-size:17px;font-weight:800}.pv-planner .block.drop-valid rect{fill:#7ee1aa14;stroke:#7ee1aa;stroke-width:2.5px;stroke-dasharray:none;opacity:1}.pv-planner .block.drop-valid text{fill:#a9ffd0}.pv-planner .block.group-selected rect{fill:#13241e14;stroke:var(--planner-ink,#10231d);stroke-width:2.25px;stroke-dasharray:none;opacity:1;filter:drop-shadow(0 0 1px #fbfaf5e6)}.pv-planner .block.group-selected text{fill:var(--planner-ink,#10231d);stroke:var(--planner-card,#fbfaf5);stroke-width:3px;paint-order:stroke}.pv-planner .block.add-target rect{fill:#13241e0d;stroke:var(--planner-ink,#10231d);stroke-width:1.75px;stroke-dasharray:6 5;opacity:1}.pv-planner .block.add-target text{fill:var(--planner-ink,#10231d)}.pv-planner .block.group-selected.add-target rect{fill:#13241e1a;stroke:var(--planner-ink,#10231d);stroke-width:2.25px;stroke-dasharray:none}.pv-planner .block.group-selected.add-target text{fill:var(--planner-ink,#10231d)}.pv-planner .block.drop-invalid rect{fill:#ff625a12;stroke:#ff625a;stroke-width:2.5px;opacity:1}.pv-planner .block.drag-source rect{stroke-dasharray:3 4;opacity:1}.pv-planner .route polyline{stroke-width:2px;opacity:.72;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pv-planner .route.active polyline{stroke-width:3px;opacity:.95;filter:drop-shadow(0 0 2px #ffffff3d)}.pv-planner .route-point{fill:#fff;stroke:#0c1517;stroke-width:2px;cursor:move;vector-effect:non-scaling-stroke}.pv-planner .marquee{fill:#00000012;stroke:#000;stroke-width:1.75px;stroke-dasharray:9 5;vector-effect:non-scaling-stroke}.pv-planner .tool-panels .stage svg{cursor:crosshair}.pv-planner .tool-roof .stage svg{cursor:default}.pv-planner.tool-strings .stage svg{cursor:cell}.pv-planner .roof-summary{grid-template-columns:1fr 1fr;gap:1px;padding:0;display:grid;overflow:hidden}.pv-planner .roof-summary>div{background:#18272a;gap:3px;padding:12px;display:grid}.pv-planner .roof-summary span{color:#819598;text-transform:uppercase;letter-spacing:.08em;font-size:9px}.pv-planner .roof-summary b{font-size:15px}.pv-planner .roof-surface-editor{gap:10px;display:grid}.pv-planner .roof-pitch-controls{border-radius:2px}.pv-planner .roof-pitch-controls .field-caption{margin-top:2px}.pv-planner .roof-pitch-controls .segment button.active{border-color:var(--lime);color:var(--lime);background:#273b31}.pv-planner .roof-height-hint{color:#8fa2a4;margin-top:5px;font-size:8px;font-weight:500;line-height:1.45;display:block}.pv-planner .dormer-picker{gap:8px;padding-top:2px;display:grid}.pv-planner .dormer-picker h3{color:#cbd9d6;letter-spacing:.03em;margin:0;font-size:10px}.pv-planner .dormer-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.pv-planner .dormer-grid button{color:#d8e4e2;text-align:left;background:#142225;border:1px solid #42585d;border-radius:2px;grid-template-rows:72px auto;gap:4px;min-width:0;padding:6px;display:grid}.pv-planner .dormer-grid button:hover{border-color:var(--lime);color:var(--lime);background:#192a2d}.pv-planner .dormer-grid b{color:inherit;text-overflow:ellipsis;font-size:9px;line-height:1.25;overflow:hidden}.pv-planner .dormer-preview{pointer-events:none;width:100%;height:72px;display:block}.pv-planner .dormer-kind-label{background:#132124;border:1px solid #354a4e;justify-content:space-between;align-items:center;gap:8px;padding:8px 9px;display:flex}.pv-planner .dormer-kind-label span{color:#809597;font-size:9px}.pv-planner .dormer-kind-label b{color:#e2f1ed;text-align:right;font-size:9px}.pv-planner .roof-delete-action{color:#f0b1b5;text-align:left;background:#2a1b1d;border:1px solid #74484b;margin-top:4px;padding:9px 10px}.pv-planner .roof-delete-action:hover{color:#ffd8da;border-color:#e27077}.pv-planner .roof-blueprints{margin-top:14px}.pv-planner .blueprint-dimensions{grid-template-columns:1fr 1fr;margin-bottom:9px}.pv-planner .blueprint-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.pv-planner .blueprint-grid button{text-align:left;background:#111d20;border:1px solid #34484c;border-radius:5px;grid-template-rows:56px auto auto;gap:3px;min-width:0;padding:8px;display:grid}.pv-planner .blueprint-grid button:hover{border-color:var(--lime);background:#172529}.pv-planner .blueprint-model{image-rendering:auto;pointer-events:none;width:100%;height:54px;display:block}.pv-planner .module-data-details{border-top:1px solid #2f4347;margin-top:9px;padding-top:8px}.pv-planner .module-data-details summary{cursor:pointer;color:#aababa;font-size:10px;font-weight:750}.pv-planner .blueprint-grid b{color:#e7efed;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.pv-planner .blueprint-grid span{color:#7f9395;font-size:8px}.pv-planner .stringlist .string-select.active{border-color:var(--lime);box-shadow:inset 3px 0 0 var(--lime);background:#263638}.pv-planner .route-editor{background:linear-gradient(145deg,#223237,#182629);border:1px solid #486068;border-radius:9px;margin:12px 0;padding:13px}.pv-planner .route-editor>span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.pv-planner .route-editor>b{margin:2px 0 5px;font-size:22px;display:block}.pv-planner .route-editor>div{grid-template-columns:1fr;gap:6px;display:grid}.pv-planner .route-editor button,.pv-planner .block-action{color:#dce8e6;cursor:pointer;background:#142124;border:1px solid #43585d;border-radius:6px;padding:7px;font-size:10px}.pv-planner .block-action{color:#e7ff91;background:#293324;border-color:#687b45;width:100%;font-weight:700}.pv-planner .actions button,.pv-planner nav button,.pv-planner .metrics div,.pv-planner .fields input,.pv-planner .fields select,.pv-planner .card input,.pv-planner .card select,.pv-planner .plan-check,.pv-planner .card,.pv-planner .stringlist button,.pv-planner .total,.pv-planner .angles button,.pv-planner .route-editor,.pv-planner .route-editor button,.pv-planner .block-action{border-radius:2px}.pv-planner .canvas.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.pv-planner .edge-handle{stroke:#d9ff570b;stroke-width:10px;vector-effect:non-scaling-stroke;pointer-events:stroke}.pv-planner .edge-handle:hover{stroke:#d9ff572e}.pv-planner .edge-handle.horizontal{cursor:ns-resize}.pv-planner .edge-handle.vertical{cursor:ew-resize}.pv-planner .edge-handle.is-insert-mode{cursor:none}.pv-planner .edge-dimension{pointer-events:none}.pv-planner .edge-dimension-leader{stroke:#60787c;stroke-width:1px;vector-effect:non-scaling-stroke;pointer-events:none}.pv-planner .edge-dimension rect{fill:#102124;stroke:#60787c;stroke-width:1px;vector-effect:non-scaling-stroke}.pv-planner .edge-dimension text{fill:#e1ecea;text-anchor:middle;font-weight:750}.pv-planner .module-candidate{pointer-events:none}.pv-planner .module-candidate .candidate-add{pointer-events:all;cursor:copy}.pv-planner .module-candidate rect{fill:#1e684e17;stroke:var(--planner-green-dark,#123c2f);stroke-width:1.5px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 1px #fbfaf5e0)}.pv-planner .module-candidate circle{fill:var(--lime);stroke:#111b1d;stroke-width:2px;vector-effect:non-scaling-stroke}.pv-planner .module-candidate text{fill:#142013;text-anchor:middle;font-size:27px;font-weight:800}.pv-planner .exclusion-zones{pointer-events:auto}.pv-planner .exclusion-zone-shape{fill:#be372d47;stroke:#b8332b;stroke-width:2px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke;cursor:pointer;touch-action:none}.pv-planner .exclusion-zones.is-editable .exclusion-zone-shape{cursor:move}.pv-planner .exclusion-zone.selected .exclusion-zone-shape{fill:#c2372c5c;stroke:#172622;stroke-width:3px;stroke-dasharray:7 3;filter:drop-shadow(0 0 2px #ffffffe6)}.pv-planner .exclusion-zone text{fill:#fff;paint-order:stroke;stroke:#6a211c;stroke-width:3px;pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:800}.pv-planner .exclusion-zone.draft{pointer-events:none}.pv-planner .exclusion-zone.draft .exclusion-zone-shape{fill:#ff625a24;stroke-dasharray:3 3}.pv-planner .exclusion-resize-handle{pointer-events:all;touch-action:none}.pv-planner .exclusion-resize-hit{fill:#0000;stroke:none}.pv-planner .exclusion-resize-connector{stroke:#172622;stroke-width:1.25px;vector-effect:non-scaling-stroke;pointer-events:none}.pv-planner .exclusion-resize-knob{fill:#172622;stroke:#fffdf7;stroke-width:3px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #00000059);pointer-events:none}.pv-planner .clearance-guide.labels-condensed rect,.pv-planner .clearance-guide.labels-condensed text{display:none}.pv-planner .handle-n,.pv-planner .handle-s{cursor:ns-resize}.pv-planner .handle-e,.pv-planner .handle-w{cursor:ew-resize}.pv-planner .handle-ne,.pv-planner .handle-sw{cursor:nesw-resize}.pv-planner .handle-nw,.pv-planner .handle-se{cursor:nwse-resize}.pv-planner .mod.no-go-conflict>rect{filter:drop-shadow(0 0 4px #ff3430bf);stroke:#ff4e48!important;stroke-width:4px!important}.pv-planner .placement-settings{grid-template-columns:1fr 1fr;margin-top:8px}.pv-planner .placement-actions{gap:6px;margin:8px 0;display:grid}.pv-planner .placement-actions button{color:#dce8e6;cursor:pointer;background:#142124;border:1px solid #43585d;border-radius:5px;min-height:34px}.pv-planner .placement-actions button.on{color:#ffd7d4;background:#3a2222;border-color:#ff625a}.pv-planner .placement-actions button.primary{color:#edff9c;background:#313c1e;border-color:#9ab642;font-weight:800}.pv-planner .roof-exclusion-action small{color:var(--muted);font-size:10px;line-height:1.45}.pv-planner .clearance-guide{pointer-events:none}.pv-planner .alignment-guide{stroke:var(--lime);stroke-width:1.25px;stroke-dasharray:10 5;vector-effect:non-scaling-stroke;pointer-events:none;filter:drop-shadow(0 0 2px #d9ff5766)}.pv-planner .clearance-guide line{stroke:#8de2ed;stroke-width:1px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.pv-planner .clearance-guide rect{fill:#102226;stroke:#4e8f98;stroke-width:1px;vector-effect:non-scaling-stroke}.pv-planner .clearance-guide text{fill:#d5f7fa;text-anchor:middle;font-weight:700}.pv-planner .module-gap line{stroke:var(--lime)}.pv-planner .module-gap rect{stroke:#a8d13b}.pv-planner .module-gap text{fill:#efffb4}.pv-planner.tool-strings .mod{cursor:pointer}.pv-planner .module-string-add{pointer-events:none}.pv-planner .module-string-add circle,.pv-planner .route-add-point circle{fill:#b8ef4b;stroke:#102014;stroke-width:2px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px #b8ef4b88)}.pv-planner .module-string-add text,.pv-planner .route-add-point text{fill:#152012;text-anchor:middle;pointer-events:none;font-weight:950}.pv-planner.tool-strings .mod.string-unassigned>rect{opacity:.92;stroke-width:4px;stroke-dasharray:8 5;filter:drop-shadow(0 0 5px #d75d4594);fill:#6d3428!important;stroke:var(--planner-red)!important}.pv-planner.tool-strings .mod.string-unassigned>path{opacity:.42}.pv-planner.tool-strings .mod.string-unassigned>text{opacity:1}.pv-planner.tool-strings .mod.string-unassigned>text.sl{fill:#fff0eb}.pv-planner .unassigned-module-alert{pointer-events:none}.pv-planner .unassigned-module-alert circle{fill:var(--planner-red);stroke:var(--planner-card);stroke-width:1.5px;vector-effect:non-scaling-stroke}.pv-planner .unassigned-module-alert text{fill:var(--planner-card);text-anchor:middle;font-weight:950}.pv-planner .string-order circle{fill:var(--lime);stroke:#10191b;stroke-width:1.5px;vector-effect:non-scaling-stroke}.pv-planner .string-order text{fill:#142013;text-anchor:middle;font-weight:900}.pv-planner .route-editor .create-string{color:#eaff9f;border-color:#94b93c;font-weight:750}.pv-planner .string-overlay{isolation:isolate}.pv-planner .string-layer{color:currentColor}.pv-planner .module-string-line,.pv-planner .cable-string-line{fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;vector-effect:non-scaling-stroke;pointer-events:none}.pv-planner .string-line-outline{fill:none;stroke:var(--planner-ink,#10231d);stroke-linecap:square;stroke-linejoin:miter;vector-effect:non-scaling-stroke;pointer-events:none}.pv-planner .string-layer.active{opacity:1}.pv-planner .string-layer.inactive{opacity:.48}.pv-planner .string-layer.active .module-string-line-outline{stroke-width:3.5px;opacity:.78}.pv-planner .string-layer.active .cable-string-line-outline{stroke-width:4px;opacity:.82}.pv-planner .string-layer.inactive .module-string-line-outline,.pv-planner .string-layer.inactive .cable-string-line-outline{stroke-width:2.5px;opacity:.54}.pv-planner.tool-strings .workspace{grid-template-columns:230px minmax(480px,1fr) 360px}.pv-planner.tool-strings .canvas footer{left:230px;right:360px}.pv-planner.tool-strings aside.right{background:#111b1d;padding:0}.pv-planner .string-planner-sidebar{color:#e7efed;min-height:100%}.pv-planner .simple-inverter-selection{border:1px solid #d9f36a57;border-left:3px solid var(--planner-lime);background:#d9f36a12;align-content:start;gap:8px;margin:12px 0;padding:12px;display:grid}.pv-planner .simple-inverter-selection>header{background:0 0;border:0;justify-content:space-between;align-items:center;height:auto;min-height:0;padding:0;display:flex}.pv-planner .simple-inverter-selection>header span{color:var(--planner-card);font-size:10px;font-weight:800}.pv-planner .simple-inverter-selection select{width:100%;min-height:38px;color:var(--planner-card);background:0 0;border:0;border-bottom:1px solid #ffffff61;font-size:10px}.pv-planner .simple-inverter-selection .equipment-catalog-picker>label{color:#ffffffc2;font-size:9px;font-weight:700}.pv-planner .simple-inverter-selection .catalog-selection-summary{background:#d9f36a1a;border-left-width:3px;grid-template-columns:minmax(0,1fr);gap:8px;padding:10px;display:grid}.pv-planner .simple-inverter-selection .catalog-selection-actions{border-top:1px solid #ffffff21;justify-content:flex-end;gap:9px;width:100%;padding-top:8px;display:flex}.pv-planner .simple-inverter-selection .catalog-selection-summary a{border:1px solid #d9f36a7a;min-height:32px;padding:0 9px}.pv-planner .simple-inverter-selection .catalog-selection-summary a:hover{border-color:var(--planner-lime);background:#d9f36a14}.pv-planner .simple-inverter-selection .catalog-selection-actions button{min-height:32px;padding-inline:11px}.pv-planner .simple-inverter-selection p{color:#ffffffa8;margin:0;font-size:9px;line-height:1.5}.pv-planner .string-planner-heading,.pv-planner .mppt-card>header{background:0 0;border:0;height:auto;padding:0}.pv-planner .string-planner-heading{border-bottom:1px solid #2d4044;padding:16px 16px 13px}.pv-planner .string-planner-heading span{color:#7f9496;letter-spacing:.14em;text-transform:uppercase;margin-bottom:2px;font-size:8px;font-weight:800;display:block}.pv-planner .string-planner-heading h2{letter-spacing:-.02em;margin:0;font-size:18px}.pv-planner .string-plan-statuses{justify-items:end;gap:4px;display:grid}.pv-planner .string-planner-heading strong{color:#80dfaa;border:1px solid #436252;align-items:center;gap:5px;padding:4px 7px;font-size:9px;font-weight:800;display:inline-flex}.pv-planner .string-planner-heading strong.attention{color:#ffc16a;border-color:#745632}.pv-planner .string-plan-kpis{border-bottom:1px solid #2d4044;grid-template-columns:repeat(3,1fr);display:grid}.pv-planner .string-plan-kpis>div{border-right:1px solid #2d4044;padding:10px 12px 9px}.pv-planner .string-plan-kpis>div:last-child{border-right:0}.pv-planner .string-plan-kpis b,.pv-planner .string-plan-kpis span{display:block}.pv-planner .string-route-model-note{color:#8fa2a1;margin:10px 0 0;font-size:9px;line-height:1.55}.pv-planner .string-plan-kpis b{color:#f0f6f4;font-variant-numeric:tabular-nums;font-size:14px}.pv-planner .string-plan-kpis span{color:#788d8f;text-transform:uppercase;margin-top:1px;font-size:8px}.pv-planner .inverter-fleet{background:#101a1d;border-bottom:1px solid #2d4044;padding:11px 12px}.pv-planner .inverter-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.pv-planner .inverter-tabs button{color:#b7c5c4;text-align:left;cursor:pointer;background:#152124;border:1px solid #34494e;border-radius:1px;gap:2px;min-width:0;padding:8px 9px;display:grid}.pv-planner .inverter-tabs button.active{border-color:var(--lime);box-shadow:inset 2px 0 0 var(--lime);color:#f3f8f6;background:#1b2a2d}.pv-planner .inverter-tabs span,.pv-planner .inverter-tabs small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pv-planner .inverter-tabs span{font-size:10px;font-weight:800}.pv-planner .inverter-tabs small{color:#7f9496;font-size:8px}.pv-planner .inverter-add-row{margin-top:6px;display:block}.pv-planner .inverter-topology{background:#142024;border-bottom:1px solid #2d4044;padding:13px 16px 14px}.pv-planner .inverter-device-heading{justify-content:space-between;align-items:start;gap:8px;margin-bottom:10px;display:flex}.pv-planner .inverter-device-heading>div:first-child{min-width:0}.pv-planner .inverter-device-heading input{color:#f0f6f4;background:0 0;border:0;border-bottom:1px solid #0000;outline:none;width:100%;padding:0;font-size:13px;font-weight:850}.pv-planner .inverter-device-heading input:focus{border-bottom-color:var(--lime)}.pv-planner .inverter-device-heading span{color:#7f9496;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:8px;display:block;overflow:hidden}.pv-planner .device-actions{flex:none;display:flex}.pv-planner .device-actions button{color:#9eb0b1;cursor:pointer;background:#101a1d;border:1px solid #34494e;border-radius:0;place-items:center;width:27px;height:27px;padding:0;display:grid}.pv-planner .device-actions button+button{border-left:0}.pv-planner .device-actions button:disabled{opacity:.25;cursor:default}.pv-planner .inverter-device-meta{color:#6f8385;flex-direction:column;align-items:flex-start;gap:3px;margin:-3px 0 9px;font-size:8px;display:flex}.pv-planner .inverter-device-meta span{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;max-width:100%;display:inline-flex;overflow:hidden}.pv-planner .inverter-device-meta a{color:#b8ce69;flex:none;align-items:center;gap:3px;text-decoration:none;display:inline-flex}.pv-planner .section-title-row,.pv-planner .distribution-heading,.pv-planner .mppt-card>header,.pv-planner .orphan-string-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.pv-planner .section-title-row>div span,.pv-planner .section-title-row>div b{display:block}.pv-planner .section-title-row>div span,.pv-planner .distribution-heading span{color:#7f9496;letter-spacing:.08em;text-transform:uppercase;font-size:8px}.pv-planner .section-title-row>div b{text-overflow:ellipsis;white-space:nowrap;max-width:210px;margin-top:2px;font-size:10px;overflow:hidden}.pv-planner .section-title-row label{color:#869a9c;align-items:center;gap:6px;font-size:8px;font-weight:800;display:flex}.pv-planner .section-title-row input{color:#fff;text-align:center;background:#0c1517;border:1px solid #43575b;border-radius:2px;width:44px;padding:5px}.pv-planner .mppt-input-grid{background:#2f4246;border:1px solid #2f4246;gap:1px;margin-top:10px;display:grid}.pv-planner .mppt-input-row{background:#101a1d;justify-content:space-between;align-items:center;min-height:30px;padding-left:9px;display:flex}.pv-planner .mppt-input-row>b{font-size:9px}.pv-planner .mppt-input-row>div{grid-template-columns:26px 92px 26px;align-items:center;height:29px;display:grid}.pv-planner .mppt-input-row button{color:#aebfc0;cursor:pointer;background:#172326;border:0;border-left:1px solid #2f4246;border-radius:0;place-items:center;width:26px;height:29px;padding:0;display:grid}.pv-planner .mppt-input-row button:disabled{opacity:.3}.pv-planner .mppt-input-row span{color:#90a3a5;text-align:center;font-size:9px}.pv-planner .string-limit-line{color:#829597;justify-content:space-between;margin:9px 0;font-size:9px;display:flex}.pv-planner .string-limit-line b{color:#cbd8d5;font-variant-numeric:tabular-nums}.pv-planner .string-auto-plan,.pv-planner .optimize-string{background:var(--lime);color:#152012;cursor:pointer;border:1px solid #a9cb43;border-radius:2px;justify-content:center;align-items:center;gap:7px;width:100%;padding:8px;font-size:10px;font-weight:850;display:flex}.pv-planner .string-plan-error,.pv-planner .string-plan-warnings{color:#efb2ad;background:#2a1e1e;border-left:2px solid #e46c61;margin-top:8px;font-size:9px}.pv-planner .string-plan-error{align-items:start;gap:7px;padding:8px;line-height:1.4;display:flex}.pv-planner .string-plan-partial{color:#fff0eb;background:#6d342852;border:1px solid #e46c6194;border-left-width:3px;align-items:flex-start;gap:8px;margin-top:8px;padding:9px;display:flex}.pv-planner .string-plan-partial>svg{color:#ff8c79;flex:none;margin-top:1px}.pv-planner .string-plan-partial span{gap:3px;display:grid}.pv-planner .string-plan-partial b{font-size:10px}.pv-planner .string-plan-partial small{color:#efb2ad;font-size:9px;line-height:1.45}.pv-planner .string-plan-warnings{color:#e7bd81;background:#292318;border-left-color:#ce8a3d}.pv-planner .string-plan-warnings.routing{color:#add8e4;background:#17262b;border-left-color:#4c91a8}.pv-planner .string-plan-warnings summary{cursor:pointer;align-items:center;gap:6px;padding:7px 8px;display:flex}.pv-planner .string-plan-warnings ul{margin:0;padding:0 10px 8px 24px}.pv-planner .electrical-advanced{color:#839698;margin-top:9px;font-size:9px}.pv-planner .electrical-advanced summary{cursor:pointer}.pv-planner .electrical-advanced>div{gap:4px;margin-top:8px;display:grid}.pv-planner .electrical-advanced label,.pv-planner .electrical-advanced label>span{justify-content:space-between;align-items:center;gap:5px;display:flex}.pv-planner .electrical-advanced input{color:#fff;background:#0c1517;border:1px solid #3b4f53;border-radius:2px;width:69px;padding:4px 5px}.pv-planner .electrical-advanced i{color:#6f8385;width:34px;font-size:8px;font-style:normal}.pv-planner .inverter-electrical{border-top:1px solid #2f4246;margin-top:8px;padding-top:7px}.pv-planner .mppt-electrical-row{border-top:1px solid #283a3e;gap:4px;padding:7px 0;display:grid}.pv-planner .mppt-electrical-row>b{color:#bdcac8;font-size:8px}.pv-planner .mppt-electrical-row label>span:last-child{justify-content:flex-end}.pv-planner .mppt-electrical-row input{width:55px}.pv-planner .mppt-distribution{gap:8px;padding:14px 16px 20px;display:grid}.pv-planner .distribution-heading{margin-bottom:1px}.pv-planner .distribution-heading b{color:#aab9b9;font-size:9px}.pv-planner .mppt-card{background:#162225;border:1px solid #34494e;border-radius:2px}.pv-planner .mppt-card.warning{border-color:#765b32}.pv-planner .mppt-card>header{border-bottom:1px solid #2c4145;padding:8px 9px}.pv-planner .mppt-card>header div{align-items:baseline;gap:7px;display:flex}.pv-planner .mppt-card>header b{font-size:10px}.pv-planner .mppt-card>header span,.pv-planner .mppt-card>header em{color:#7f9496;font-size:8px;font-style:normal}.pv-planner .mppt-card>header span{color:#a8c4c5;background:#223438;padding:2px 4px;font-weight:800}.pv-planner .mppt-strings{display:grid}.pv-planner .mppt-string{border-bottom:1px solid #293c40}.pv-planner .mppt-string:last-child,.pv-planner .free-string-input:last-child{border-bottom:0}.pv-planner .mppt-string.active{box-shadow:inset 2px 0 0 var(--lime);background:#19282b}.pv-planner .mppt-string-row{grid-template-columns:minmax(0,1fr) 28px;display:grid}.pv-planner .mppt-string-select{color:#e9f0ee;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;grid-template-columns:6px minmax(0,1fr) auto 14px;align-items:center;gap:8px;min-width:0;padding:8px 9px;display:grid}.pv-planner .mppt-string-select:hover{background:#1d2e31}.pv-planner .mppt-string-select>i,.pv-planner .orphan-string-row button>i{width:5px;height:22px}.pv-planner .mppt-string-select span,.pv-planner .mppt-string-select b,.pv-planner .mppt-string-select small{min-width:0;display:block}.pv-planner .mppt-string-select b{font-size:10px}.pv-planner .mppt-string-select small{color:#7e9294;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.pv-planner .mppt-string-select>em{color:#7edfa9;font-variant-numeric:tabular-nums;font-size:8px;font-style:normal}.pv-planner .mppt-string-select>em.bad{color:#ffb56c}.pv-planner .mppt-string-chevron{color:#7f9496;transition:transform .14s}.pv-planner .mppt-string.active .mppt-string-chevron{color:var(--lime);transform:rotate(180deg)}.pv-planner .mppt-string-delete{color:#748789;cursor:pointer;background:0 0;border:0;border-left:1px solid #293c40;border-radius:0;place-items:center;padding:0;display:grid}.pv-planner .mppt-string-delete:hover{color:#ff8a80;background:#302021}.pv-planner .active-string-detail{border-top:1px solid #2d4246;padding:8px 10px 10px}.pv-planner .active-string-detail>label{color:#839698;justify-content:space-between;align-items:center;font-size:8px;display:flex}.pv-planner .active-string-detail select{color:#fff;background:#0d1719;border:1px solid #3d5256;border-radius:2px;padding:4px 6px;font-size:9px}.pv-planner .active-string-metrics{background:#304448;grid-template-columns:1fr 1fr;gap:1px;margin:8px 0;display:grid}.pv-planner .active-string-metrics>div{background:#142124;min-width:0;padding:6px 7px}.pv-planner .active-string-metrics span,.pv-planner .active-string-metrics b{display:block}.pv-planner .active-string-metrics span{color:#718587;text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.pv-planner .active-string-metrics b{margin-top:1px;font-size:10px}.pv-planner .active-string-metrics .bad b{color:#ffb56c}.pv-planner .optimize-string{color:#dfe9e7;background:#23363a;border-color:#526a70}.pv-planner .string-detail-actions{grid-template-columns:repeat(3,1fr);gap:3px;margin-top:5px;display:grid}.pv-planner .string-detail-actions button{color:#a9b9ba;cursor:pointer;background:#111c1e;border:1px solid #34494e;border-radius:2px;justify-items:center;gap:3px;min-width:0;padding:6px 2px;display:grid}.pv-planner .string-detail-actions span{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:7px;overflow:hidden}.pv-planner .free-string-input{color:#718587;cursor:pointer;background:#111c1e;border:0;border-bottom:1px dashed #31464a;border-radius:0;justify-content:center;align-items:center;gap:5px;min-height:28px;font-size:8px;display:flex}.pv-planner .free-string-input:hover{color:var(--lime);background:#172321}.pv-planner .orphan-strings>header span{color:#e9b56c;background:#30271b}.pv-planner .orphan-string-row{border-bottom:1px solid #3c3529;padding:6px 8px}.pv-planner .orphan-string-row>button{color:#fff;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;min-width:0;padding:0;display:flex}.pv-planner .orphan-string-row button span,.pv-planner .orphan-string-row button b,.pv-planner .orphan-string-row button small{display:block}.pv-planner .orphan-string-row button b{font-size:9px}.pv-planner .orphan-string-row button small{color:#957f66;font-size:8px}.pv-planner .orphan-string-row select{color:#e7caa1;background:#211b14;border:1px solid #5c4d36;border-radius:2px;padding:4px 5px;font-size:8px}@media (width<=1180px){.pv-planner.tool-strings .workspace{grid-template-columns:210px minmax(460px,1fr) 330px}.pv-planner.tool-strings .canvas footer{left:210px;right:330px}}.pv-planner .module-string-line{stroke-width:1.5px}.pv-planner .cable-string-line{stroke-width:2px;filter:drop-shadow(0 0 1px #0710118c)}.pv-planner .string-layer.inactive .module-string-line,.pv-planner .string-layer.inactive .cable-string-line{stroke-width:1.25px;filter:none}.pv-planner .string-segment-hit{fill:none;stroke:#0000;stroke-width:15px;vector-effect:non-scaling-stroke;cursor:move}.pv-planner .route-add-point{cursor:copy}.pv-planner .route-point-slim{fill:#e8f0ee;stroke:#102124;stroke-width:1.5px;vector-effect:non-scaling-stroke;cursor:pointer}.pv-planner .string-inspector{background:#14231f;border:1px solid #3f5c50;margin-top:12px;padding:12px}.pv-planner .string-inspector.warning{background:#2b241a;border-color:#765b32}.pv-planner .string-inspector>header{justify-content:space-between;align-items:start;gap:8px;display:flex}.pv-planner .string-inspector header span,.pv-planner .string-inspector header b{display:block}.pv-planner .string-inspector header span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.pv-planner .string-inspector header b{margin-top:2px;font-size:19px}.pv-planner .string-inspector header strong{color:#7ee1aa;font-size:10px}.pv-planner .string-inspector.warning header strong{color:#ffc868}.pv-planner .mppt-assignment{color:#8fa6a0;justify-content:space-between;align-items:center;gap:8px;margin-top:9px;font-size:9px;display:flex}.pv-planner .mppt-assignment select{color:#fff;background:#0f1a18;border:1px solid #3d514c;padding:4px 6px;font-size:9px}.pv-planner .electrical-checks{background:#344842;grid-template-columns:1fr 1fr;gap:1px;margin:10px 0;display:grid}.pv-planner .electrical-checks>div{background:#172824;min-width:0;padding:7px}.pv-planner .string-inspector.warning .electrical-checks>div{background:#2b251d}.pv-planner .electrical-checks span,.pv-planner .electrical-checks b{display:block}.pv-planner .electrical-checks span{color:#8fa6a0;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.pv-planner .electrical-checks b{color:#dff6eb;margin-top:2px;font-size:12px}.pv-planner .electrical-checks .bad b{color:#ffbb73}.pv-planner .string-inspector summary{cursor:pointer;color:#b6c9c4;font-size:10px}.pv-planner .electrical-fields{gap:4px;margin-top:8px;display:grid}.pv-planner .electrical-fields label,.pv-planner .electrical-fields label>span:last-child{justify-content:space-between;align-items:center;gap:6px;display:flex}.pv-planner .electrical-fields label>span:first-child{color:#93a7a3;font-size:9px}.pv-planner .electrical-fields input{color:#fff;background:#0f1a18;border:1px solid #3d514c;border-radius:2px;width:72px;padding:4px 5px}.pv-planner .electrical-fields i{color:#718781;width:33px;font-size:8px;font-style:normal}.pv-planner .string-inspector>small{color:#718781;margin-top:9px;font-size:8px;line-height:1.4;display:block}.pv-planner .string-automation{background:#1c281c;border:1px solid #53683f;gap:9px;margin-top:12px;padding:12px;display:grid}.pv-planner .string-automation>header{background:0 0;border:0;height:auto;padding:0}.pv-planner .string-automation header span,.pv-planner .string-automation header b{display:block}.pv-planner .string-automation header span{color:#9caf82;text-transform:uppercase;letter-spacing:.09em;font-size:9px}.pv-planner .string-automation header b{margin-top:2px;font-size:12px}.pv-planner .topology-fields{grid-template-columns:1fr 1fr;gap:6px;display:grid}.pv-planner .topology-fields label{color:#9eae9b;gap:4px;font-size:9px;display:grid}.pv-planner .topology-fields input{color:#fff;background:#111a13;border:1px solid #465a42;width:100%;min-width:0;padding:6px}.pv-planner .topology-window{background:#172015;border-left:2px solid #9ab642;grid-template-columns:1fr auto;align-items:baseline;gap:2px 8px;padding:7px 8px;font-size:9px;display:grid}.pv-planner .topology-window b{color:#d9ff57;text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:170px;font-size:10px;overflow:hidden}.pv-planner .topology-window small{color:#81907d;grid-column:1/-1;font-size:8px}.pv-planner .string-automation button{color:#142013;cursor:pointer;background:#d9ff57;border:1px solid #9ab642;padding:8px;font-size:10px;font-weight:800}.pv-planner .topology-error{background:#2d1d1d;border-left:2px solid #ff6b61;gap:3px;padding:8px;display:grid}.pv-planner .topology-error b{color:#ff928a;font-size:10px}.pv-planner .topology-error span{color:#dcb8b5;font-size:9px;line-height:1.45}.pv-planner .string-automation>small{color:#84927f;font-size:8px;line-height:1.45}.pv-planner .topology-warnings{color:#e7bf85;background:#2d2519;border-left:2px solid #d89746;gap:3px;margin:0;padding:7px 7px 7px 20px;font-size:8px;line-height:1.35;display:grid}.pv-planner .topology-guidance{color:#acd4e3;background:#14252c;border-left:2px solid #58a8c8;gap:4px;margin:0;padding:8px 8px 8px 20px;font-size:8px;line-height:1.35;display:grid}.pv-planner .project-menu{position:relative}.pv-planner .actions .project-menu-trigger{text-align:left;grid-template-columns:7px minmax(70px,150px) auto 10px;align-items:center;gap:7px;min-width:140px;display:grid}.pv-planner .actions .project-menu-trigger.on{background:#28342c;border-color:#7d9d45}.pv-planner .project-menu-trigger>span:nth-child(2){color:#e5eeec;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pv-planner .project-menu-trigger small{color:#afbec0;letter-spacing:0;text-align:center;border:1px solid #4b5e62;min-width:18px;padding:1px 4px;font-size:8px;display:inline}.pv-planner .project-menu-trigger b{color:#87999b}.pv-planner .autosave-dot{background:#63da9e;width:6px;height:6px;box-shadow:0 0 0 2px #63da9e1f}.pv-planner .project-popover{z-index:100;background:#111b1e;border:1px solid #43575b;width:min(480px,100vw - 20px);position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 18px 55px #00000073}.pv-planner .project-save{border-bottom:1px solid #304247;grid-template-columns:1fr auto;gap:6px;padding:10px;display:grid}.pv-planner .project-save input,.pv-planner .actions .project-popover button{color:#e8f0ee;background:#182528;border:1px solid #3a4d52;border-radius:1px;min-width:0;font-size:9px}.pv-planner .project-save input{outline:none;padding:7px}.pv-planner .project-save input:focus{border-color:#91ae43}.pv-planner .actions .project-save button{color:#efffa3;border-color:#91ae43}.pv-planner .autosave-state{color:#75898b;border-bottom:1px solid #283a3e;align-items:center;gap:7px;padding:7px 10px;font-size:8px;display:flex}.pv-planner .project-list{max-height:480px;overflow:auto}.pv-planner .project-list details{border-bottom:1px solid #283a3e}.pv-planner .project-list summary{grid-template-columns:1fr 26px;align-items:stretch;list-style:none;display:grid}.pv-planner .project-name-editor{border-top:1px solid var(--planner-line);background:var(--planner-card);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding:10px;display:grid}.pv-planner .project-name-editor label{gap:4px;min-width:0;display:grid}.pv-planner .project-name-editor label>span{color:var(--planner-muted);letter-spacing:.08em;text-transform:uppercase;font-size:7px;font-weight:750}.pv-planner .project-name-editor input{border:1px solid var(--planner-line);background:var(--planner-paper);width:100%;min-width:0;height:34px;color:var(--planner-ink);border-radius:0;outline:none;padding:0 9px;font-size:10px;font-weight:720}.pv-planner .project-name-editor input:focus{border-color:var(--planner-green);box-shadow:inset 0 0 0 1px var(--planner-green)}.pv-planner .actions .project-popover .project-name-editor button,.pv-planner .planner-project-actions .project-popover .project-name-editor button{border:1px solid var(--planner-green);background:var(--planner-green);min-height:34px;color:var(--planner-card);justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:8px;font-weight:800;display:inline-flex}.pv-planner .project-name-editor button:disabled{border-color:var(--planner-line);color:var(--planner-muted);cursor:default;opacity:.65;background:0 0}.pv-planner .actions .project-open{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;display:flex}.pv-planner .project-open b{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.pv-planner .project-open span{color:#7b8f91;white-space:nowrap;font-size:8px}.pv-planner .actions .icon-danger{color:#ad7470;background:0 0;border:0;border-left:1px solid #2c3d41;padding:0}.pv-planner .actions .icon-danger:hover{color:#ffaaa5;background:#352020}.pv-planner .version-list{background:#0d1719}.pv-planner .version-list>div{border-top:1px solid #26363a;grid-template-columns:1fr 26px;margin-left:12px;display:grid}.pv-planner .actions .version-list>div>button:first-child{text-align:left;background:0 0;border:0;grid-template-columns:126px minmax(0,1fr);align-items:center;gap:10px;padding:8px;display:grid}.pv-planner .actions .version-list>div>button:first-child:hover{background:#152225}.pv-planner .plan-preview{pointer-events:none;background:#0a1214;border:1px solid #35484d;width:126px;height:78px;display:block}.pv-planner .preview-roof{fill:#243538;stroke:#a9b9b7;stroke-width:1px;vector-effect:non-scaling-stroke}.pv-planner .preview-modules{stroke-width:.8px;vector-effect:non-scaling-stroke}.pv-planner .preview-zone{fill:#ff524a57;stroke:#ff625a;stroke-width:.8px;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}.pv-planner .preview-collector{fill:var(--lime);stroke:#0a1112;stroke-width:1px;vector-effect:non-scaling-stroke}.pv-planner .version-meta{gap:5px;min-width:0;display:grid}.pv-planner .version-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.pv-planner .version-title time{color:#aebdbd;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.pv-planner .version-list .version-meta em{color:#9eadae;font-size:8px}.pv-planner .version-list .version-meta small{color:#617577;font-size:7px}.pv-planner .version-list b{color:#cfe878}.pv-planner .version-list span{color:#b8c5c5;font-size:8px}.pv-planner .version-list em{color:#617577;font-size:7px;font-style:normal}.pv-planner .project-storage-actions{border-top:1px solid #304247;grid-template-columns:1fr 1fr;gap:6px;padding:9px 10px;display:grid}.pv-planner .actions .project-storage-actions button{background:#142023;padding:7px}.pv-planner nav{scrollbar-width:thin;overflow-x:auto}.pv-planner .module-footprint{color:#819597;background:#111b1e;border:1px solid #314448;justify-content:space-between;align-items:center;margin-top:8px;padding:7px 8px;font-size:9px;display:flex}.pv-planner .module-footprint b{color:#dbe7e5;font-size:10px}.pv-planner{--planner-paper:#f1f0e8;--planner-paper-deep:#e7e5da;--planner-card:#fbfaf5;--planner-ink:#13241e;--planner-muted:#68736d;--planner-line:#cfd2c8;--planner-green:#1e684e;--planner-green-dark:#123c2f;--planner-lime:#d9f36a;--planner-amber:#d89a3d;--planner-red:#d75d45;--bg:var(--planner-paper);--panel:var(--planner-green-dark);--line:var(--planner-line);--text:var(--planner-ink);--muted:var(--planner-muted);--lime:var(--planner-lime);background:var(--planner-paper);color:var(--planner-ink);font-family:var(--font-geist-sans), Arial, sans-serif}.pv-planner header{border-bottom-color:var(--planner-ink);background:var(--planner-paper);height:88px;padding:0 max(22px,50vw - 740px)}.pv-planner .planner-heading{align-items:center;gap:12px;min-width:0;display:flex}.pv-planner .planner-heading>div{min-width:0}.pv-planner .planner-brand-mark{border:1px solid var(--planner-ink);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:inline-grid;position:relative}.pv-planner .planner-brand-mark:before,.pv-planner .planner-brand-mark:after,.pv-planner .planner-brand-mark i{content:"";background:var(--planner-ink);position:absolute}.pv-planner .planner-brand-mark:before{width:1px;height:38px}.pv-planner .planner-brand-mark:after{width:38px;height:1px}.pv-planner .planner-brand-mark i{border-radius:50%;width:8px;height:8px}.pv-planner header small{color:var(--planner-green);font-family:var(--font-geist-mono), monospace;letter-spacing:.16em;font-size:8px}.pv-planner .title{width:auto;max-width:350px;color:var(--planner-ink);font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:720;display:block;overflow:hidden}.pv-planner .actions{min-width:0}.pv-planner .actions button,.pv-planner nav button{border-color:var(--planner-line);background:var(--planner-card);border-radius:0}@supports (color:color-mix(in lab, red, red)){.pv-planner .actions button,.pv-planner nav button{background:color-mix(in srgb, var(--planner-card) 70%, transparent)}}.pv-planner .actions button,.pv-planner nav button{color:var(--planner-muted)}.pv-planner .actions button:hover:not(:disabled),.pv-planner nav button:hover:not(:disabled){border-color:var(--planner-ink);background:var(--planner-lime);color:var(--planner-ink)}.pv-planner .actions .primary,.pv-planner .actions .new-project-button{border-color:var(--planner-green);background:var(--planner-lime);color:var(--planner-ink)}.pv-planner .actions .new-project-button span{color:inherit}.pv-planner .planner-stage-switch,.pv-planner .actions .planner-stage-switch{border-color:var(--planner-line);background:var(--planner-card)}@supports (color:color-mix(in lab, red, red)){.pv-planner .planner-stage-switch,.pv-planner .actions .planner-stage-switch{background:color-mix(in srgb, var(--planner-card) 66%, transparent)}}.pv-planner .actions .planner-stage-switch button{border-right-color:var(--planner-line);color:var(--planner-muted);background:0 0}.pv-planner .actions .planner-stage-switch button[aria-current=page]{background:var(--planner-ink);color:var(--planner-card)}.pv-planner .actions .planner-stage-switch button:not([aria-current=page]):hover{background:var(--planner-lime);color:var(--planner-ink)}.pv-planner nav{border-bottom-color:var(--planner-line);background:var(--planner-card);height:54px;padding-inline:max(16px,50vw - 740px)}.pv-planner nav button.on{border-color:var(--planner-ink);background:var(--planner-ink);color:var(--planner-card)}.pv-planner nav i{border-left-color:var(--planner-line)}.pv-planner .zoom-value,.pv-planner nav label{color:var(--planner-muted);font-family:var(--font-geist-mono), monospace}.pv-planner .workspace{grid-template-columns:272px minmax(500px,1fr) 300px;height:calc(100vh - 142px)}.pv-planner aside,.pv-planner.tool-strings aside.right{background:var(--planner-green-dark);color:var(--planner-card);border-color:#ffffff2e}.pv-planner aside h2{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.02em;font-size:17px;font-weight:620}.pv-planner h3,.pv-planner .field-caption{color:var(--planner-lime);font-family:var(--font-geist-mono), monospace;letter-spacing:.11em;font-size:8px;font-weight:820}.pv-planner .metrics{border:1px solid #ffffff38;gap:0}.pv-planner .metrics div{background:0 0;border:1px solid #ffffff2e;border-top:0;border-left:0;border-radius:0}.pv-planner .metrics div:nth-child(2n){border-right:0}.pv-planner .metrics div:nth-last-child(-n+2){border-bottom:0}.pv-planner .metrics b{color:var(--planner-card);font-family:var(--font-geist-mono), monospace}.pv-planner .metrics small,.pv-planner aside p,.pv-planner .total small,.pv-planner .fields label,.pv-planner .card label{color:#ffffff94}.pv-planner .facing-summary,.pv-planner .orientation-balance,.pv-planner .roof-summary,.pv-planner .card,.pv-planner .total,.pv-planner .route-editor,.pv-planner .module-footprint{background:#ffffff0a;border-color:#fff3;border-radius:0}.pv-planner .facing-summary span,.pv-planner .orientation-counts,.pv-planner .block-summary,.pv-planner .module-data-details{border-color:#ffffff29}.pv-planner .facing-summary span,.pv-planner .facing-summary b,.pv-planner .orientation-counts span,.pv-planner .orientation-counts b,.pv-planner .roof-summary span,.pv-planner .roof-summary b,.pv-planner .blueprint-grid b,.pv-planner .module-footprint b{color:var(--planner-card)}.pv-planner .fields input,.pv-planner .card input,.pv-planner .section-title-row input{color:var(--planner-card);font-family:var(--font-geist-mono), monospace;background:0 0;border:0;border-bottom:1px solid #ffffff6b;border-radius:0}.pv-planner .fields input:focus,.pv-planner .card input:focus,.pv-planner .section-title-row input:focus{border-color:var(--planner-lime);outline:none}.pv-planner .plan-check{background:#d9f36a12;border-color:#d9f36a6b;border-radius:0}.pv-planner .plan-check b{color:var(--planner-lime)}.pv-planner .plan-check span{color:#ffffff8f}.pv-planner .plan-check.warning{border-color:var(--planner-amber)}@supports (color:color-mix(in lab, red, red)){.pv-planner .plan-check.warning{border-color:color-mix(in srgb, var(--planner-amber) 70%, transparent)}}.pv-planner .plan-check.warning{background:var(--planner-amber)}@supports (color:color-mix(in lab, red, red)){.pv-planner .plan-check.warning{background:color-mix(in srgb, var(--planner-amber) 10%, transparent)}}.pv-planner .canvas,.pv-planner .stage svg{background:var(--planner-paper)}.pv-planner .canvas{border-inline:1px solid var(--planner-line)}.pv-planner .stage svg{background-image:none}.pv-planner .canvas-grid-minor{stroke:#13362b52;stroke-width:.45px}.pv-planner .canvas-grid-mid{stroke:#10332970;stroke-width:.7px}.pv-planner .canvas-grid-major{stroke:#0d3026ad;stroke-width:1.15px}.pv-planner .roof{fill:var(--planner-paper-deep);stroke:var(--planner-ink)}.pv-planner .tool-roof .roof.selected{stroke:var(--planner-green);filter:drop-shadow(0 0 2px #ffffffe6)}.pv-planner .roof-shared-edge-mask{stroke:var(--planner-paper-deep)}.pv-planner .roof-shared-edge{stroke:var(--planner-green);stroke-width:1.75px;filter:drop-shadow(0 0 1px var(--planner-card))}.pv-planner .roof-draft polyline{stroke:var(--planner-green);stroke-width:2.5px;filter:drop-shadow(0 0 1px var(--planner-card))}.pv-planner .roof-draft circle,.pv-planner .roof-edge-add circle,.pv-planner .roof-add-cursor circle{fill:var(--planner-ink);stroke:var(--planner-lime);stroke-width:2.5px}.pv-planner .roof-snap-guide,.pv-planner .alignment-guide{stroke:var(--planner-green);stroke-width:1.5px;filter:drop-shadow(0 0 1px var(--planner-card))}.pv-planner .edge-dimension-leader{stroke:var(--planner-ink)}@supports (color:color-mix(in lab, red, red)){.pv-planner .edge-dimension-leader{stroke:color-mix(in srgb, var(--planner-ink) 72%, var(--planner-paper))}}.pv-planner .edge-dimension rect{fill:var(--planner-card);stroke:var(--planner-muted)}.pv-planner .edge-dimension text,.pv-planner .roof-rotation-angle{fill:var(--planner-ink)}.pv-planner .roof-add-cursor text{fill:var(--planner-ink);stroke:var(--planner-card);stroke-width:3px}.pv-planner .roof-rotation-control .roof-rotation-angle{fill:var(--planner-ink);stroke:none;font-weight:400}.pv-planner .roof-rotation-control .roof-rotation-symbol{fill:var(--planner-ink);stroke:none}.pv-planner .roof-edge-add text{fill:var(--planner-lime);stroke:var(--planner-ink);stroke-width:3px}.pv-planner .roof-edge-add .roof-edge-add-label{fill:var(--planner-ink);stroke:var(--planner-card);stroke-width:3px;text-anchor:start}.pv-planner .clearance-guide line,.pv-planner .module-gap line{stroke:var(--planner-green);stroke-width:1.5px}.pv-planner .clearance-guide rect,.pv-planner .module-gap rect{fill:var(--planner-ink);stroke:var(--planner-card)}.pv-planner .clearance-guide text,.pv-planner .module-gap text{fill:var(--planner-card)}.pv-planner .exclusion-clearance.target-roof line{stroke:var(--planner-green)}.pv-planner .exclusion-clearance.target-block line{stroke:#b45a2e}.pv-planner .exclusion-clearance.target-block rect{fill:#733820;stroke:#d28a61}.pv-planner .north-compass{border-color:var(--planner-ink);background:var(--planner-green-dark);color:var(--planner-lime);border-radius:0;box-shadow:0 10px 25px #13241e2e}.pv-planner .canvas footer{border-top-color:var(--planner-line);background:var(--planner-card);left:272px;right:300px}@supports (color:color-mix(in lab, red, red)){.pv-planner .canvas footer{background:color-mix(in srgb, var(--planner-card) 92%, transparent)}}.pv-planner .canvas footer{color:var(--planner-muted);font-family:var(--font-geist-mono), monospace}.pv-planner .planner-empty-state{z-index:2;border:1px solid var(--planner-line);border-left:3px solid var(--planner-green);background:var(--planner-card);width:min(520px,100% - 64px);padding:30px 32px;position:absolute;top:50%;left:50%}@supports (color:color-mix(in lab, red, red)){.pv-planner .planner-empty-state{background:color-mix(in srgb, var(--planner-card) 94%, transparent)}}.pv-planner .planner-empty-state{pointer-events:none;transform:translate(-50%,-55%);box-shadow:0 22px 45px #13241e1a}.pv-planner .planner-empty-state span{color:var(--planner-green);font-family:var(--font-geist-mono), monospace;letter-spacing:.11em;font-size:9px;font-weight:820}.pv-planner .planner-empty-state h2{color:var(--planner-ink);letter-spacing:-.035em;margin:10px 0 8px;font-size:clamp(24px,3vw,38px);font-weight:610}.pv-planner .planner-empty-state p{max-width:430px;color:var(--planner-muted);margin:0;font-size:13px;line-height:1.55}.pv-planner .planner-empty-actions{pointer-events:auto;gap:8px;margin-top:18px;display:flex}.pv-planner .planner-empty-actions button{border:1px solid var(--planner-green);background:var(--planner-green);min-height:40px;color:var(--planner-card);cursor:pointer;padding:0 14px;font-size:10px;font-weight:800}.pv-planner .planner-empty-actions button+button{border-color:var(--planner-line);color:var(--planner-ink);background:0 0}.pv-planner .canvas-touch-status,.pv-planner .mobile-planner-level{display:none}.pv-planner .canvas-editor-help{z-index:18;pointer-events:none;align-items:center;gap:7px;display:flex;position:absolute;bottom:40px;left:14px}.pv-planner .canvas-editor-context{border:1px solid var(--planner-line);background:var(--planner-card);align-items:center;min-height:34px;display:flex;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.pv-planner .canvas-editor-context{background:color-mix(in srgb, var(--planner-card) 94%, transparent)}}.pv-planner .canvas-editor-context{pointer-events:auto;box-shadow:0 10px 28px #13241e1f}.pv-planner .canvas-editor-hint{border-right:1px solid var(--planner-line);min-height:32px;color:var(--planner-muted);white-space:nowrap;align-items:center;gap:6px;padding:0 9px;font-size:9px;display:inline-flex}.pv-planner .canvas-editor-hint:last-child{border-right:0}.pv-planner .canvas-editor-hint kbd,.pv-planner .canvas-shortcut-panel kbd{border:1px solid var(--planner-ink);padding:3px 5px}@supports (color:color-mix(in lab, red, red)){.pv-planner .canvas-editor-hint kbd,.pv-planner .canvas-shortcut-panel kbd{border:1px solid color-mix(in srgb, var(--planner-ink) 34%, transparent)}}.pv-planner .canvas-editor-hint kbd,.pv-planner .canvas-shortcut-panel kbd{background:var(--planner-paper);color:var(--planner-ink);font-family:var(--font-geist-mono), monospace;box-shadow:0 1px 0 var(--planner-ink);font-size:8px;font-weight:800;line-height:1}@supports (color:color-mix(in lab, red, red)){.pv-planner .canvas-editor-hint kbd,.pv-planner .canvas-shortcut-panel kbd{box-shadow:0 1px 0 color-mix(in srgb, var(--planner-ink) 28%, transparent)}}.pv-planner .canvas-editor-hint.is-active{background:var(--planner-green-dark);color:var(--planner-card)}.pv-planner .canvas-editor-hint.is-active kbd{border-color:var(--planner-lime);background:var(--planner-lime);color:var(--planner-green-dark);box-shadow:none}.pv-planner .canvas-shortcut-trigger{border:1px solid var(--planner-ink);background:var(--planner-green-dark);min-height:34px;color:var(--planner-card);cursor:pointer;pointer-events:auto;align-items:center;gap:6px;padding:0 10px;font-size:9px;font-weight:800;display:inline-flex;box-shadow:0 10px 28px #13241e24}.pv-planner .canvas-shortcut-trigger:hover,.pv-planner .canvas-shortcut-trigger[aria-expanded=true]{border-color:var(--planner-lime);color:var(--planner-lime)}.pv-planner .canvas-shortcut-panel{border:1px solid var(--planner-ink);border-top:3px solid var(--planner-lime);background:var(--planner-green-dark);width:min(560px,100vw - 32px);color:var(--planner-card);pointer-events:auto;position:absolute;bottom:43px;left:0;box-shadow:0 22px 54px #071c1547}.pv-planner .canvas-shortcut-panel>header{background:0 0;border-bottom:1px solid #ffffff2e;justify-content:space-between;align-items:flex-start;min-height:auto;padding:14px 16px 13px;display:flex}.pv-planner .canvas-shortcut-panel>header>div>span{color:var(--planner-lime);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;font-size:8px;font-weight:850}.pv-planner .touch-help-title,.pv-planner .touch-trigger-label,.pv-planner .touch-shortcut-grid,.pv-planner .touch-hint-key{display:none}.pv-planner .canvas-shortcut-panel h3{color:var(--planner-card);letter-spacing:-.02em;margin:4px 0 0;font-size:18px;font-weight:650}.pv-planner .shortcut-panel-intro{color:#ffffff94;margin:3px 0 0;font-size:9px;line-height:1.4}.pv-planner .canvas-shortcut-panel>header button{width:32px;height:32px;color:var(--planner-card);cursor:pointer;background:0 0;border:1px solid #ffffff4d;place-items:center;display:grid}.pv-planner .canvas-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;display:grid}.pv-planner .touch-shortcut-grid{display:none}.pv-planner .desktop-shortcut-grid>div{min-width:0;padding:16px}.pv-planner .desktop-shortcut-grid>div+div{border-left:1px solid #ffffff29}.pv-planner .canvas-shortcut-grid b{color:var(--planner-lime);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-size:9px;display:block}.pv-planner .canvas-shortcut-grid p{color:#ffffffb8;margin:7px 0;font-size:10px;line-height:1.45}.pv-planner .desktop-shortcut-grid p:not(.shortcut-context-note){grid-template-columns:max-content minmax(0,1fr);align-items:start;gap:8px;display:grid}.pv-planner .desktop-shortcut-grid p:not(.shortcut-context-note) kbd{white-space:nowrap;margin:0}.pv-planner .shortcut-context-note,.pv-planner .touch-keyboard-note{border-left:2px solid #d9f36a7a;padding-left:9px}.pv-planner .canvas-shortcut-panel kbd{color:var(--planner-card);box-shadow:none;background:#ffffff14;border-color:#ffffff47;margin-right:3px}.pv-planner .roof-3d-panel{background:linear-gradient(#123c2f1f, #08221a94), var(--planner-green-dark);border-bottom-color:#ffffff2e}.pv-planner .roof-3d-badge,.pv-planner .roof-3d-movement-hint,.pv-planner .roof-3d-reset,.pv-planner .roof-3d-expand{color:var(--planner-card);background:#08221ac7;border-color:#ffffff47}@media (hover:none),(pointer:coarse){.pv-planner .roof-3d-movement-hint{display:none}}.pv-planner .blueprint-grid button,.pv-planner .dormer-grid button,.pv-planner .placement-actions button,.pv-planner .route-editor button,.pv-planner .block-action,.pv-planner .angles button,.pv-planner .facing-control button,.pv-planner .segment button,.pv-planner .stringlist .string-select,.pv-planner .stringlist .string-delete,.pv-planner .block-overview>div,.pv-planner .mppt-input-row,.pv-planner .mppt-input-row button{color:#ffffffb8;background:0 0;border-color:#ffffff38;border-radius:0}.pv-planner .blueprint-grid button:hover,.pv-planner .dormer-grid button:hover,.pv-planner .placement-actions button:hover,.pv-planner .route-editor button:hover,.pv-planner .block-action:hover,.pv-planner .angles button:hover,.pv-planner .facing-control button:hover,.pv-planner .segment button:hover,.pv-planner .stringlist .string-select:hover{border-color:var(--planner-lime);color:var(--planner-lime);background:#d9f36a14}.pv-planner .blueprint-grid span,.pv-planner .module-data-details summary,.pv-planner .block-overview-select small,.pv-planner .block-overview input,.pv-planner .stringlist span,.pv-planner .stringlist em{color:#ffffff8a}.pv-planner .placement-actions button.primary,.pv-planner .facing-control button.active,.pv-planner .angles button.active,.pv-planner .mounting-mode-segment button.active,.pv-planner .module-source-switch button.active{border-color:var(--planner-lime);background:var(--planner-lime);color:var(--planner-ink)}.pv-planner .block-overview>div.active,.pv-planner .stringlist .string-select.active{border-color:var(--planner-lime);box-shadow:inset 3px 0 0 var(--planner-lime);background:#d9f36a14}.pv-planner .block-overview-select{color:var(--planner-card);border-right-color:#fff3}.pv-planner .block-overview input:focus{box-shadow:inset 0 0 0 1px var(--planner-lime);background:#ffffff0f}.pv-planner .orientation-bar{background:#ffffff24}.pv-planner .orientation-bar i:first-child,.pv-planner .orientation-counts span>i{background:var(--planner-green)}.pv-planner .orientation-bar i:last-child,.pv-planner .orientation-counts span>i.west{background:var(--planner-amber)}.pv-planner .mod text{fill:var(--planner-card)}.pv-planner .mod text.sl{fill:#ffffffc2}.pv-planner .block rect{stroke:var(--planner-amber)}.pv-planner .block text{fill:var(--planner-amber)}@supports (color:color-mix(in lab, red, red)){.pv-planner .block text{fill:color-mix(in srgb, var(--planner-amber) 82%, var(--planner-ink))}}.pv-planner .racking-controls{border-top:1px solid #ffffff2e;margin-top:18px;padding-top:18px}.pv-planner .racking-controls h3{margin-top:0}.pv-planner .card>.block-racking-controls{background:#ffffff05;border-block:1px solid #ffffff2e;margin:14px -16px 2px;padding:16px}.pv-planner .card>.block-racking-controls h3{font-size:13px}.pv-planner .racking-surface-picker{color:#ffffff9e;letter-spacing:.06em;text-transform:uppercase;gap:6px;margin-bottom:10px;font-size:10px;font-weight:750;display:grid}.pv-planner .racking-surface-picker select{width:100%;min-height:44px;color:var(--planner-card);font:inherit;letter-spacing:0;text-transform:none;background:#0d201c;border:1px solid #ffffff3d;padding:0 12px;font-size:12px;font-weight:700}.pv-planner .racking-surface-scope{border-left:3px solid var(--planner-amber);background:#e09d2c1a;gap:3px;margin:0 0 12px;padding:10px 12px;display:grid}.pv-planner .racking-surface-scope b{color:#ffd68c;font-size:11px}.pv-planner .racking-surface-scope span{color:#ffffffad;font-size:10px;line-height:1.5}.pv-planner .racking-layout-switch{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:7px}.pv-planner .racking-layout-switch button{min-height:46px;padding-inline:9px}.pv-planner .racking-layout-switch button.active{border-color:var(--planner-lime);background:var(--planner-lime);color:var(--planner-ink)}.pv-planner .racking-wind-toggle{background:#ffffff0a;border:1px solid #ffffff38;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:12px 14px;display:flex}.pv-planner .racking-wind-toggle>span,.pv-planner .racking-wind-toggle b,.pv-planner .racking-wind-toggle small{display:block}.pv-planner .racking-wind-toggle b{color:var(--planner-card);font-size:12px}.pv-planner .racking-wind-toggle small{color:#ffffff8f;margin-top:2px;font-size:10px}.pv-planner .racking-wind-toggle input{width:21px;height:21px;accent-color:var(--planner-lime)}.pv-planner .racking-product-card{border-left:3px solid var(--planner-lime);background:#ffffff12;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:12px;padding:13px 14px;display:grid}.pv-planner .racking-product-card>div{min-width:0}.pv-planner .racking-product-card b,.pv-planner .racking-product-card span{display:block}.pv-planner .racking-product-card b{color:var(--planner-card);font-size:12px}.pv-planner .racking-product-card span{color:#ffffff8f;margin-top:3px;font-size:10px;line-height:1.45}.pv-planner .racking-product-card a{color:var(--planner-lime);white-space:nowrap;align-items:center;gap:5px;font-size:10px;font-weight:800;text-decoration:none;display:inline-flex}.pv-planner .racking-note{color:#ffffff94;margin:10px 0 0;font-size:10px;line-height:1.55}.pv-planner .racking-compound-note{border-left:2px solid #fff3;padding-left:10px}.pv-planner .racking-compatible,.pv-planner .racking-issues{margin-top:11px;padding:10px 12px;font-size:10px;line-height:1.5}.pv-planner .racking-compatible{color:#a8e6c2;border:1px solid #7ee1aa59}.pv-planner .racking-issues{color:#ffc3b8;background:#ec6b551a;border-left:3px solid #ec6b55}.pv-planner .racking-issues b,.pv-planner .racking-issues span{display:block}.pv-planner .racking-issues span+span{margin-top:4px}.pv-planner .racking-selection-lock{border-left:3px solid var(--planner-lime);background:#d9f36a12;gap:3px;padding:12px 13px;display:grid}.pv-planner .racking-selection-lock b{color:var(--planner-card);font-size:12px}.pv-planner .racking-selection-lock span{color:var(--planner-lime);font-size:10px;font-weight:800}.pv-planner .racking-selection-lock small{color:#ffffff8f;margin-top:4px;font-size:10px;line-height:1.45}.pv-planner .racking-support{pointer-events:none}.pv-planner .racking-support-base{fill:#a5aaa5;stroke:#172a24;stroke-width:.9px;vector-effect:non-scaling-stroke}.pv-planner .racking-support-high{fill:#4f5b56}.pv-planner .racking-support-low{fill:#7d8580}.pv-planner .racking-support-markers{pointer-events:none}.pv-planner .racking-support-markers line{stroke:#10231dad;stroke-width:1.1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.pv-planner .racking-support-markers circle{stroke:var(--planner-card);stroke-width:.8px;vector-effect:non-scaling-stroke}.pv-planner .racking-support-markers circle.high{fill:#172a24}.pv-planner .racking-support-markers circle.low{fill:#7d8580}.pv-planner .racking-wind-deflectors{pointer-events:none}.pv-planner .racking-wind-deflector{fill:#aab4b1;stroke:#10251f;stroke-width:1.2px;vector-effect:non-scaling-stroke}.pv-planner .racking-wind-deflector-rear-edge{stroke:#263a34;stroke-width:1.8px;vector-effect:non-scaling-stroke}.pv-planner .racking-wind-deflector-module-edge{stroke:#f8f7f1;stroke-width:.9px;vector-effect:non-scaling-stroke}@media (width<=760px){.pv-planner .racking-product-card{grid-template-columns:1fr;gap:8px}}.pv-planner .project-popover{border-color:var(--planner-ink);background:var(--planner-card);color:var(--planner-ink);box-shadow:0 18px 55px #13241e3d}.pv-planner .actions .project-menu-trigger.on{border-color:var(--planner-ink);background:var(--planner-lime)}.pv-planner .project-menu-trigger>span:nth-child(2),.pv-planner .project-menu-trigger b{color:var(--planner-ink)}.pv-planner .project-save,.pv-planner .project-storage-actions,.pv-planner .project-list details{border-color:var(--planner-line)}.pv-planner .project-save input,.pv-planner .actions .project-popover button{border-color:var(--planner-line);color:var(--planner-ink);background:0 0}.pv-planner .actions .project-save button{border-color:var(--planner-green);background:var(--planner-lime);color:var(--planner-ink)}.pv-planner .actions .project-storage-actions button{background:var(--planner-paper)}.pv-planner .autosave-state,.pv-planner .project-empty,.pv-planner .version-list .version-meta em,.pv-planner .version-list .version-meta small,.pv-planner .version-title time{color:var(--planner-muted)}.pv-planner .version-list b,.pv-planner .version-list span,.pv-planner .version-list em{color:var(--planner-ink)}.pv-planner .autosave-dot{background:var(--planner-green);box-shadow:0 0 0 2px #1e684e1f}@media (width<=1050px){.pv-planner .workspace{grid-template-columns:236px minmax(460px,1fr)}.pv-planner .canvas footer{left:236px;right:0}}@media (width<=760px){.pv-planner header{grid-template-columns:minmax(0,1fr);gap:10px;height:auto;min-height:0;padding:12px 14px;display:grid}.pv-planner .planner-heading{width:100%;min-height:38px}.pv-planner .planner-brand-mark{width:26px;height:26px}.pv-planner .planner-brand-mark:before{height:32px}.pv-planner .planner-brand-mark:after{width:32px}.pv-planner .title{max-width:calc(100vw - 84px);font-size:14px}.pv-planner .actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;max-width:none;display:grid}.pv-planner .planner-stage-switch{grid-column:1/-1;width:100%}.pv-planner .actions .planner-stage-switch button{flex:1;justify-content:center}.pv-planner .actions>.new-project-button,.pv-planner .actions>.icon-button,.pv-planner .actions>.project-menu,.pv-planner .actions .project-menu-trigger{width:100%;min-width:0}.pv-planner .actions>.new-project-button,.pv-planner .actions>.icon-button{justify-content:center}.pv-planner .actions .new-project-button span,.pv-planner .actions .autosave-dot{display:block}.pv-planner .actions .project-menu-trigger{grid-template-columns:7px 1fr 10px;justify-content:center}.pv-planner .actions .project-menu-trigger>span:nth-child(2){display:none}.pv-planner nav{padding-inline:8px}.pv-planner .workspace{height:calc(100vh - 206px)}.pv-planner .planner-empty-state{width:calc(100% - 32px);padding:22px}}.pv-planner{flex-direction:column;min-height:0;display:flex}.pv-planner .planner-workflow-bar{border-bottom:1px solid var(--planner-line);background:var(--planner-card);min-height:72px;color:var(--planner-ink);flex:none;grid-template-columns:minmax(450px,1fr) auto;align-items:center;gap:18px;padding:10px max(16px,50vw - 740px);display:grid}.pv-planner .planner-workflow-steps{border:1px solid var(--planner-line);grid-template-columns:repeat(4,minmax(88px,1fr));min-width:0;display:grid}.pv-planner .planner-workflow-steps>button{border:0;border-right:1px solid var(--planner-line);min-width:0;min-height:48px;color:var(--planner-muted);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:8px;padding:7px 10px;display:flex}.pv-planner .planner-workflow-steps>button:last-child{border-right:0}.pv-planner .planner-workflow-steps>button:hover:not(:disabled){background:var(--planner-lime)}@supports (color:color-mix(in lab, red, red)){.pv-planner .planner-workflow-steps>button:hover:not(:disabled){background:color-mix(in srgb, var(--planner-lime) 28%, transparent)}}.pv-planner .planner-workflow-steps>button:hover:not(:disabled){color:var(--planner-ink)}.pv-planner .planner-workflow-steps>button.active{background:var(--planner-ink);color:var(--planner-card)}.pv-planner .planner-workflow-steps>button:disabled{cursor:default;opacity:.48}.pv-planner .workflow-step-icon{width:30px;height:30px;color:var(--planner-green);flex:none;place-items:center;display:grid;position:relative}.pv-planner .workflow-step-icon:after{content:attr(data-step);background:var(--planner-card);color:var(--planner-muted);font-family:var(--font-geist-mono), monospace;padding:1px 2px;font-size:5px;font-weight:850;line-height:1;position:absolute;bottom:-2px;right:-2px}.pv-planner .workflow-step-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45px;vector-effect:non-scaling-stroke;width:27px;height:27px;overflow:visible}.pv-planner .active .workflow-step-icon{color:var(--planner-lime)}.pv-planner .planner-workflow-steps>button.active:hover:not(:disabled) .workflow-step-icon{color:var(--planner-ink)}.pv-planner .active .workflow-step-icon:after{background:var(--planner-ink);color:#ffffff8a}.pv-planner .workflow-step-copy{gap:2px;min-width:0;display:grid}.pv-planner .workflow-step-copy>b{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.pv-planner .workflow-state{color:currentColor;font-family:var(--font-geist-mono), monospace;opacity:.68;align-items:center;gap:3px;font-size:7px;display:inline-flex}.pv-planner .workflow-state i{border:1px solid;border-radius:50%;width:5px;height:5px}.pv-planner .state-attention{color:var(--planner-amber);opacity:1}.pv-planner .state-ready{color:var(--planner-green);opacity:1}.pv-planner .planner-workflow-controls,.pv-planner .planner-project-actions,.pv-planner .planner-level-switch{align-items:center;display:flex}.pv-planner .planner-workflow-controls{gap:8px}.pv-planner .planner-level-switch{border:1px solid var(--planner-line)}.pv-planner .planner-level-switch button,.pv-planner .planner-project-actions>button,.pv-planner .planner-project-actions .project-menu-trigger,.pv-planner .workflow-next{border:0;border-right:1px solid var(--planner-line);min-height:36px;color:var(--planner-muted);cursor:pointer;background:0 0;padding:0 10px;font-size:9px;font-weight:750}.pv-planner .planner-level-switch button:last-child,.pv-planner .planner-project-actions>:last-child{border-right:0}.pv-planner .planner-level-switch button[aria-pressed=true]{background:var(--planner-ink);color:var(--planner-card)}.pv-planner .planner-project-actions{border:1px solid var(--planner-line)}.pv-planner .planner-project-actions>button{justify-content:center;align-items:center;gap:5px;display:inline-flex}.pv-planner .planner-project-actions .icon-button{width:36px;padding:0}.pv-planner .planner-project-actions .icon-button.primary{background:var(--planner-lime);color:var(--planner-ink)}.pv-planner .planner-project-actions .project-menu{min-width:0}.pv-planner .planner-project-actions .project-menu-trigger{border-right:0;grid-template-columns:6px minmax(0,1fr) auto auto;align-items:center;gap:5px;min-width:104px;max-width:180px;display:grid}.pv-planner .planner-project-actions .project-menu-trigger>span:nth-child(2){color:var(--planner-ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pv-planner .planner-project-actions button:hover:not(:disabled),.pv-planner .planner-level-switch button:hover,.pv-planner .planner-project-actions .project-menu-trigger.on{background:var(--planner-lime);color:var(--planner-ink)}.pv-planner .workflow-next{border:1px solid var(--planner-green);background:var(--planner-green);min-width:148px;color:var(--planner-card);justify-content:center;align-items:center;gap:5px;display:inline-flex}.pv-planner .workflow-next:hover:not(:disabled){border-color:var(--planner-ink);background:var(--planner-lime);color:var(--planner-ink)}.pv-planner .workflow-next:disabled{cursor:not-allowed;opacity:.38}.pv-planner .planner-edit-toolbar{border-bottom-color:var(--planner-line);background:var(--planner-paper);flex:none;height:48px;min-height:48px}.pv-planner .planner-edit-toolbar .tool-button:has(.tool-button-label){gap:6px;width:auto;padding:0 10px;display:inline-flex}.pv-planner .planner-edit-toolbar .tool-button-label{font-size:9px;font-weight:780}.pv-planner .workspace,.pv-planner.tool-strings .workspace{flex:auto;height:auto;min-height:0}.pv-planner .mobile-drawer-close,.pv-planner .mobile-panel-launchers,.pv-planner .mobile-drawer-backdrop,.pv-planner .mobile-project-manager,.pv-planner .touch-help-icon{display:none}.pv-planner .placement-default-summary,.pv-planner .module-simple-summary,.pv-planner .simple-string-intro{border-left:2px solid var(--planner-lime);background:#d9f36a12;gap:4px;margin:14px 0;padding:11px;display:grid}.pv-planner .placement-default-summary small,.pv-planner .module-simple-summary small,.pv-planner .simple-string-intro p{color:#ffffff94;font-size:10px;line-height:1.45}.pv-planner .placement-default-summary span,.pv-planner .simple-string-intro span{color:var(--planner-lime);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:800}.pv-planner .module-simple-summary b,.pv-planner .placement-default-summary b,.pv-planner .simple-string-intro b{color:var(--planner-card)}.pv-planner .module-simple-summary span{color:#ffffffb8;font-family:var(--font-geist-mono), monospace;font-size:10px}.pv-planner .block text{font-size:10px;font-weight:760}.pv-planner .mod .module-primary-label{text-anchor:middle;font-size:11px;font-weight:800}.pv-planner .mod .module-orientation-badge{pointer-events:none}.pv-planner .mod .module-orientation-cardinal,.pv-planner .mod .module-orientation-tilt{fill:var(--planner-card);font-family:var(--font-geist-mono), monospace;paint-order:stroke fill;stroke:#10251fad;stroke-linejoin:round;text-anchor:middle}.pv-planner .mod .module-orientation-cardinal{stroke-width:3px;font-size:22px;font-weight:900}.pv-planner .mod .module-orientation-tilt{stroke-width:2px;font-size:11px;font-weight:760}.pv-planner.tool-strings .mod>rect,.pv-planner.tool-strings .mod>path{opacity:.58}.pv-planner.tool-strings .mod>text{opacity:.82}.pv-planner.tool-strings .mod .module-primary-label{fill:var(--planner-card);stroke:var(--planner-ink);stroke-width:2.5px;paint-order:stroke fill;stroke-linejoin:round}.pv-planner.tool-strings .mod .module-string-badge{opacity:.86;pointer-events:none}.pv-planner.tool-strings .mod .module-string-badge rect{stroke-width:1.5px;vector-effect:non-scaling-stroke}.pv-planner.tool-strings .mod .module-string-badge text{fill:var(--planner-ink);stroke:none;font-family:var(--font-geist-mono), monospace;text-anchor:middle;font-weight:900}.pv-planner.tool-strings .mod.wire-current>rect,.pv-planner.tool-strings .mod.wire-current>path{opacity:.94}.pv-planner.tool-strings .mod.wire-current>text,.pv-planner.tool-strings .mod.wire-current .module-string-badge{opacity:1}.pv-planner.tool-strings .mod.wire-current>rect{stroke-width:3px;filter:drop-shadow(0 0 2px #10231d6b)}.pv-planner.tool-strings .mod.wire-muted:hover>rect,.pv-planner.tool-strings .mod.wire-muted:hover>path{opacity:.82}.pv-planner.tool-strings:not(.string-active) .mod>rect,.pv-planner.tool-strings:not(.string-active) .mod>path{opacity:.9}.pv-planner.tool-strings:not(.string-active) .mod>text{opacity:1}.pv-planner.tool-strings .mod .string-order circle{fill:var(--planner-lime);stroke:var(--planner-ink);stroke-width:2px}.pv-planner.tool-strings .mod .string-order text{fill:var(--planner-ink);stroke:none;opacity:1}.pv-planner .string-layer.active .module-string-line{stroke-width:1.75px}.pv-planner .string-layer.active .cable-string-line{stroke-width:2.25px}.pv-planner .string-layer.inactive .module-string-line{stroke-width:1.15px}.pv-planner .string-layer.inactive .cable-string-line{stroke-width:1.4px}.pv-planner .project-popover{z-index:120}@media (width<=1280px){.pv-planner .planner-workflow-bar{grid-template-columns:minmax(390px,1fr) auto;gap:10px}.pv-planner .planner-project-actions .new-project-button span{display:none}.pv-planner .planner-project-actions .new-project-button{width:36px;padding:0}.pv-planner .planner-project-actions .project-menu-trigger{grid-template-columns:6px minmax(0,1fr) auto auto;min-width:112px}}@media (width<=1050px){.pv-planner .planner-workflow-bar{grid-template-columns:1fr;gap:8px;min-height:124px}.pv-planner .planner-workflow-controls{justify-content:space-between}.pv-planner .planner-level-switch button,.pv-planner .planner-project-actions>button,.pv-planner .planner-project-actions .project-menu-trigger{min-height:44px}.pv-planner .workspace,.pv-planner.tool-strings .workspace{display:block;position:relative}.pv-planner .canvas{width:100%;height:100%}.pv-planner aside,.pv-planner aside:not(.right),.pv-planner aside.right,.pv-planner.tool-strings aside.right{z-index:60;visibility:hidden;width:min(360px,100% - 28px);transition:transform .18s,visibility .18s;display:block;position:absolute;top:0;bottom:0;box-shadow:0 18px 60px #04150f6b}.pv-planner aside:not(.right){left:0;transform:translate(-105%)}.pv-planner aside.right{right:0;transform:translate(105%)}.pv-planner aside.mobile-open{visibility:visible;transform:none}.pv-planner.tool-strings aside.right.mobile-open{visibility:visible;display:block;transform:none}.pv-planner .mobile-drawer-close{z-index:5;background:var(--planner-green-dark);width:44px;height:44px;color:var(--planner-card);cursor:pointer;border:1px solid #ffffff42;place-items:center;margin:-8px -8px 12px auto;display:grid;position:sticky;top:0}.pv-planner .mobile-project-manager{border-bottom:1px solid #ffffff2e;gap:8px;margin:0 0 16px;padding:0 0 16px;display:grid}.pv-planner .mobile-project-manager>span{color:var(--planner-lime);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:820}.pv-planner .mobile-project-manager .planner-project-actions{border-color:#ffffff3d;width:100%;display:flex}.pv-planner .mobile-project-manager .planner-project-actions>button,.pv-planner .mobile-project-manager .project-menu-trigger{color:var(--planner-card);border-color:#fff3}.pv-planner .mobile-project-manager .project-menu{flex:1;min-width:0}.pv-planner .mobile-project-manager .project-menu-trigger{width:100%;max-width:none}.pv-planner .mobile-project-manager .project-menu-trigger>span:nth-child(2),.pv-planner .mobile-project-manager .project-menu-trigger b{color:var(--planner-card)}.pv-planner .mobile-panel-launchers{z-index:16;gap:7px;display:flex;position:absolute;top:12px;left:12px}.pv-planner .mobile-panel-launchers button{border:1px solid var(--planner-ink);background:var(--planner-card);min-height:38px;color:var(--planner-ink);cursor:pointer;align-items:center;gap:6px;padding:0 11px;font-size:9px;font-weight:800;display:inline-flex;box-shadow:0 8px 24px #13241e24}.pv-planner .mobile-panel-launchers .mobile-selection-delete{color:#fff;background:#c94f3b;border-color:#c94f3b}.pv-planner .mobile-panel-launchers .mobile-selection-delete:hover,.pv-planner .mobile-panel-launchers .mobile-selection-delete:focus-visible{border-color:var(--planner-ink);background:var(--planner-ink);color:#fff}.pv-planner .mobile-drawer-backdrop{z-index:50;background:#0818137a;border:0;display:block;position:absolute;inset:0}.pv-planner .canvas footer,.pv-planner.tool-strings .canvas footer{left:0;right:0}}@media (width<=760px){.pv-planner .planner-workflow-bar{gap:6px;min-height:0;padding:6px 8px}.pv-planner .planner-workflow-steps{grid-template-columns:repeat(4,minmax(76px,1fr));overflow-x:auto}.pv-planner .planner-workflow-steps>button{gap:5px;min-height:44px;padding:6px 5px}.pv-planner .workflow-step-icon{width:24px;height:24px}.pv-planner .workflow-step-icon svg{width:22px;height:22px}.pv-planner .workflow-step-copy>b{font-size:10px}.pv-planner .workflow-state{font-size:6px}.pv-planner .planner-workflow-controls{grid-template-columns:auto minmax(0,1fr);gap:6px;display:grid}.pv-planner .planner-workflow-controls>.planner-project-actions{display:none}.pv-planner .workflow-next{width:100%;min-width:0;min-height:44px;padding-inline:7px;font-size:8px}.pv-planner .planner-edit-toolbar{scrollbar-width:none;gap:5px;height:44px;min-height:44px;padding-inline:8px;overflow-x:auto}.pv-planner .planner-edit-toolbar::-webkit-scrollbar{display:none}.pv-planner .planner-edit-toolbar .tool-button{flex:0 0 40px;width:40px;height:40px}.pv-planner .planner-edit-toolbar .tool-button:has(.tool-button-label){flex-basis:40px;width:40px;padding:0}.pv-planner .planner-edit-toolbar .tool-button-label,.pv-planner .planner-edit-toolbar .tool-button:disabled{display:none}.pv-planner .mobile-panel-launchers button{justify-content:center;width:44px;min-height:44px;padding:0;font-size:0}.pv-planner .mobile-canvas-mode{border:1px solid var(--planner-ink);background:var(--planner-card);display:flex;box-shadow:0 8px 24px #13241e24}.pv-planner .mobile-panel-launchers .mobile-canvas-mode button{border:0;border-right:1px solid var(--planner-line);width:auto;min-width:78px;box-shadow:none;gap:5px;padding:0 8px;font-size:8px}.pv-planner .mobile-panel-launchers .mobile-canvas-mode button:last-child{border-right:0}.pv-planner .mobile-panel-launchers .mobile-canvas-mode button.active{background:var(--planner-green-dark);color:var(--planner-lime)}.pv-planner .canvas.touch-pan-mode,.pv-planner .canvas.touch-pan-mode .stage svg{cursor:grab}.pv-planner .canvas.touch-pan-mode.is-panning,.pv-planner .canvas.touch-pan-mode.is-panning .stage svg{cursor:grabbing}.pv-planner .edge-handle{stroke-width:20px}.pv-planner .north-compass{width:32px;height:42px;top:64px;right:10px}.pv-planner .north-compass b{font-size:8px}.pv-planner .north-compass span{font-size:22px}.pv-planner .planner-empty-state{top:54%}.pv-planner .canvas-editor-help{justify-content:space-between;bottom:39px;left:10px;right:10px}.pv-planner .canvas-editor-context{max-width:calc(100% - 52px)}.pv-planner .canvas-editor-hint{display:none}.pv-planner .canvas-editor-hint:first-child{display:inline-flex}.pv-planner .canvas-shortcut-trigger{border-radius:50%;justify-content:center;width:44px;min-width:44px;min-height:44px;padding:0;font-size:0;line-height:0}.pv-planner .canvas-shortcut-panel{width:calc(100vw - 20px);max-height:max(120px,min(360px,100vh - 540px));bottom:44px;overflow-y:auto}.pv-planner .canvas-shortcut-grid{grid-template-columns:1fr;gap:10px;max-height:none;overflow:visible}.pv-planner .canvas-shortcut-panel>header{z-index:2;background:var(--planner-green-dark);position:sticky;top:0}.pv-planner .desktop-help-title,.pv-planner .desktop-trigger-label,.pv-planner .desktop-shortcut-grid,.pv-planner .desktop-help-icon{display:none}.pv-planner .touch-help-title{display:inline}.pv-planner .touch-trigger-label{display:none}.pv-planner .touch-help-icon{display:block}.pv-planner .touch-shortcut-grid{display:grid}.pv-planner .desktop-hint-key{display:none}.pv-planner .touch-hint-key{display:inline}.pv-planner .canvas footer .canvas-status-message,.pv-planner .canvas footer .canvas-status-metrics{display:none}.pv-planner .canvas footer .canvas-mobile-summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}}@media (width<=820px){.pv-planner .planner-workflow-bar{gap:5px;min-height:0;padding:5px 7px 7px}.pv-planner .planner-workflow-steps{grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}.pv-planner .planner-workflow-steps>button{justify-content:center;gap:3px;min-height:38px;padding:4px 3px}.pv-planner .workflow-step-icon{width:19px;height:19px}.pv-planner .workflow-step-icon svg{width:18px;height:18px}.pv-planner .workflow-step-icon:after,.pv-planner .workflow-state{display:none}.pv-planner .workflow-step-copy>b{letter-spacing:-.01em;font-size:8px}.pv-planner .planner-workflow-controls{display:block}.pv-planner .planner-workflow-controls>.planner-level-switch,.pv-planner .planner-workflow-controls>.planner-project-actions{display:none}.pv-planner .workflow-next{width:100%;min-height:38px;font-size:9px}.pv-planner .planner-edit-toolbar{display:none}.pv-planner .mobile-panel-launchers{gap:5px;top:8px;left:8px;right:8px}.pv-planner .mobile-panel-launchers button{flex:0 0 40px;width:40px;min-height:40px}.pv-planner .mobile-panel-launchers .mobile-launcher-settings,.pv-planner .mobile-panel-launchers .mobile-touch-mode-toggle{flex:0 auto;gap:5px;width:auto;padding:0 9px;font-size:8px}.pv-planner .mobile-panel-launchers .mobile-launcher-settings{margin-right:auto}.pv-planner .mobile-panel-launchers .mobile-touch-mode-toggle[aria-pressed=true]{background:var(--planner-green-dark);color:var(--planner-lime)}.pv-planner .planner-empty-state{width:calc(100% - 28px);padding:20px 18px;top:52%;transform:translate(-50%,-50%)}.pv-planner .planner-empty-state h2{margin:7px 0 5px;font-size:23px}.pv-planner .planner-empty-state p{font-size:11px;line-height:1.45}.pv-planner .planner-empty-actions{grid-template-columns:1fr 1fr;margin-top:13px;display:grid}.pv-planner .planner-empty-actions button{min-width:0;min-height:42px;padding:0 8px;font-size:9px}.pv-planner .north-compass{top:56px}.pv-planner .canvas-editor-context{min-width:0;max-width:calc(100% - 50px)}.pv-planner .canvas-editor-hint,.pv-planner .canvas-editor-hint:first-child{display:none}.pv-planner .canvas-touch-status{min-width:0;min-height:34px;color:var(--planner-muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;padding:0 10px;font-size:8px;font-weight:720;display:flex;overflow:hidden}.pv-planner .canvas-shortcut-trigger{border-radius:50%;justify-content:center;width:44px;min-width:44px;min-height:44px;padding:0;font-size:0;line-height:0}.pv-planner .desktop-help-title,.pv-planner .desktop-trigger-label,.pv-planner .desktop-shortcut-grid,.pv-planner .desktop-help-icon{display:none}.pv-planner .touch-help-title{display:inline}.pv-planner .touch-trigger-label{display:none}.pv-planner .touch-help-icon{display:block}.pv-planner .touch-shortcut-grid{display:grid}.pv-planner .canvas-shortcut-panel{width:min(420px,100vw - 20px);max-height:min(420px,100vh - 250px);bottom:44px;overflow-y:auto}.pv-planner aside:not(.right).mobile-open{flex-direction:column;display:flex}.pv-planner .mobile-planner-level{border-bottom:1px solid #ffffff2e;order:1;gap:7px;margin-bottom:14px;padding-bottom:14px;display:grid}.pv-planner .mobile-planner-level>span{color:#ffffff94;font-size:9px;font-weight:750}.pv-planner .mobile-planner-level>div{border:1px solid #ffffff3d;grid-template-columns:1fr 1fr;display:grid}.pv-planner .mobile-planner-level button{color:#ffffff9e;background:0 0;border:0;border-right:1px solid #ffffff3d;min-height:40px;font-size:9px;font-weight:800}.pv-planner .mobile-planner-level button:last-child{border-right:0}.pv-planner .mobile-planner-level button[aria-pressed=true]{background:var(--planner-lime);color:var(--planner-ink)}.pv-planner aside:not(.right)>.mobile-drawer-close{order:0}.pv-planner aside:not(.right)>.roof-blueprints{order:2}.pv-planner aside:not(.right)>:not(.mobile-drawer-close):not(.mobile-planner-level):not(.roof-blueprints):not(.mobile-project-manager){order:3}.pv-planner .mobile-project-manager{border-top:1px solid #ffffff2e;border-bottom:0;order:99;margin:18px 0 0;padding:14px 0 0}.pv-planner .mobile-project-manager>summary{color:#ffffffa8;cursor:pointer;align-items:center;min-height:40px;font-size:9px;font-weight:800;display:flex}.pv-planner .mobile-project-manager[open]>summary{color:var(--planner-lime);margin-bottom:8px}.pv-planner aside.right.mobile-open .roof-3d-panel{width:calc(100% + 20px);height:min(250px,34dvh);margin:0 -10px 18px}}@media (hover:hover) and (pointer:fine){.pv-planner .desktop-help-title,.pv-planner .desktop-trigger-label{display:inline!important}.pv-planner .desktop-help-copy,.pv-planner .desktop-shortcut-grid,.pv-planner .desktop-help-icon{display:grid!important}.pv-planner .desktop-help-copy{display:block!important}.pv-planner .touch-help-title,.pv-planner .touch-trigger-label,.pv-planner .touch-shortcut-grid,.pv-planner .touch-help-icon,.pv-planner .canvas-touch-status{display:none!important}.pv-planner .canvas-editor-hint:first-child{display:inline-flex!important}}@media (hover:none),(pointer:coarse){.pv-planner .desktop-help-title,.pv-planner .desktop-trigger-label,.pv-planner .desktop-help-copy,.pv-planner .desktop-shortcut-grid,.pv-planner .desktop-help-icon{display:none!important}.pv-planner .touch-help-title,.pv-planner .touch-trigger-label{display:inline!important}.pv-planner .touch-shortcut-grid{display:grid!important}.pv-planner .touch-help-icon{flex:none;margin:0;display:block!important}.pv-planner .canvas-touch-status{display:flex!important}.pv-planner .canvas-editor-hint{display:none!important}}.pv-planner .project-popover{border:1px solid var(--planner-ink);background:var(--planner-card);width:min(620px,100vw - 24px);color:var(--planner-ink);overflow:hidden;box-shadow:0 22px 64px #13241e47}.pv-planner .project-save{border-bottom:1px solid var(--planner-line);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:14px;display:grid}.pv-planner .project-save label{gap:5px;min-width:0;display:grid}.pv-planner .project-save label>span{color:var(--planner-green);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:800}.pv-planner .project-save label>small{color:var(--planner-muted);font-size:8px}.pv-planner .project-save input{border:1px solid var(--planner-line);background:var(--planner-card);width:100%;min-height:40px;color:var(--planner-ink);border-radius:0;outline:none;padding:0 11px;font-size:12px}.pv-planner .project-save input:focus{border-color:var(--planner-green);box-shadow:inset 0 0 0 1px var(--planner-green)}.pv-planner .actions .project-popover .save-version-button,.pv-planner .planner-project-actions .project-popover .save-version-button{border:1px solid var(--planner-green);background:var(--planner-green);min-height:40px;color:var(--planner-card);white-space:nowrap;justify-content:center;align-items:center;gap:7px;margin-top:17px;padding:0 14px;font-size:10px;font-weight:800;display:inline-flex}.pv-planner .project-popover .save-version-button:hover:not(:disabled){border-color:var(--planner-ink);background:var(--planner-lime);color:var(--planner-ink)}.pv-planner .project-popover .save-version-button:disabled{cursor:not-allowed;opacity:.42}.pv-planner .autosave-state{border-bottom:1px solid var(--planner-line);min-height:32px;color:var(--planner-muted);padding:7px 14px;font-size:8px}.pv-planner .project-list{background:var(--planner-paper);max-height:min(520px,100vh - 260px);overflow:auto}.pv-planner .project-list details{border-bottom:1px solid var(--planner-line);background:var(--planner-card);box-shadow:none}.pv-planner .project-list details.active{box-shadow:inset 3px 0 0 var(--planner-green)}.pv-planner .project-list summary{cursor:pointer;grid-template-columns:18px minmax(0,1fr) auto 34px;align-items:center;gap:8px;min-height:54px;padding:8px 10px;list-style:none;display:grid}.pv-planner .project-list summary::-webkit-details-marker{display:none}.pv-planner .project-summary-chevron{color:var(--planner-muted);transition:transform .15s}.pv-planner .project-list details[open] .project-summary-chevron{transform:rotate(180deg)}.pv-planner .project-summary-copy{gap:3px;min-width:0;display:grid}.pv-planner .project-summary-copy b{color:var(--planner-ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.pv-planner .project-summary-copy small{color:var(--planner-muted);font-size:8px}.pv-planner .active-project-badge{border:1px solid var(--planner-green);padding:4px 7px}@supports (color:color-mix(in lab, red, red)){.pv-planner .active-project-badge{border:1px solid color-mix(in srgb, var(--planner-green) 42%, transparent)}}.pv-planner .active-project-badge{color:var(--planner-green);letter-spacing:.08em;text-transform:uppercase;font-size:7px;font-weight:850}.pv-planner .actions .project-popover .project-open,.pv-planner .planner-project-actions .project-popover .project-open{border:1px solid var(--planner-line);min-height:28px;color:var(--planner-ink);background:0 0;align-items:center;gap:5px;padding:0 8px;font-size:8px;display:inline-flex}.pv-planner .project-popover .project-open:hover{border-color:var(--planner-green);background:var(--planner-lime)}@supports (color:color-mix(in lab, red, red)){.pv-planner .project-popover .project-open:hover{background:color-mix(in srgb, var(--planner-lime) 35%, transparent)}}.pv-planner .actions .project-popover .project-delete,.pv-planner .actions .project-popover .version-delete,.pv-planner .planner-project-actions .project-popover .project-delete,.pv-planner .planner-project-actions .project-popover .version-delete{color:#a55b50;background:0 0;border:1px solid #0000;place-items:center;width:34px;height:34px;min-height:34px;padding:0;display:grid}.pv-planner .project-popover .project-delete:hover,.pv-planner .project-popover .version-delete:hover{color:#8f3328;background:#f8e9e6;border-color:#d3aaa4}.pv-planner .version-list{border-top:1px solid var(--planner-line);background:var(--planner-paper);gap:8px;padding:10px;display:grid}.pv-planner .version-card{border:1px solid var(--planner-line);background:var(--planner-card);grid-template-columns:112px minmax(0,1fr) 34px;align-items:stretch;gap:11px;min-width:0;padding:9px;display:grid}.pv-planner .version-card-actions{align-content:center;gap:4px;display:grid}.pv-planner .actions .project-popover .version-share,.pv-planner .planner-project-actions .project-popover .version-share{width:34px;height:34px;min-height:34px;color:var(--planner-green);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid}.pv-planner .project-popover .version-share:hover{border-color:var(--planner-green);background:var(--planner-lime)}@supports (color:color-mix(in lab, red, red)){.pv-planner .project-popover .version-share:hover{background:color-mix(in srgb, var(--planner-lime) 26%, transparent)}}.pv-planner .actions .project-popover .share-current-plan,.pv-planner .planner-project-actions .project-popover .share-current-plan{border:1px solid var(--planner-green);width:calc(100% - 28px);min-height:35px;color:var(--planner-green);background:0 0;justify-content:center;align-items:center;gap:7px;margin:10px 14px;font-size:9px;font-weight:800;display:flex}.pv-planner .project-popover .share-current-plan:hover{background:var(--planner-green);color:var(--planner-card)}.pv-planner .shared-project-action{border:1px solid var(--planner-green);background:var(--planner-green);min-height:38px;color:var(--planner-card);align-items:center;gap:7px;padding:0 13px;font-size:9px;font-weight:800;display:inline-flex}.pv-planner.read-only .workspace{grid-template-columns:minmax(500px,1fr) 300px}.pv-planner.read-only.tool-strings .workspace{grid-template-columns:minmax(500px,1fr)}.pv-planner.read-only .workspace>aside:not(.right),.pv-planner.read-only.tool-strings .workspace>aside.right{display:none}.pv-planner.read-only .mobile-launcher-settings,.pv-planner.read-only .mobile-touch-mode-toggle,.pv-planner.read-only .mobile-selection-delete,.pv-planner.read-only .canvas-editor-help{display:none!important}.pv-planner .actions .project-popover .version-preview-action,.pv-planner .planner-project-actions .project-popover .version-preview-action{border:1px solid var(--planner-line);background:#10201c;min-width:0;min-height:76px;padding:0;position:relative;overflow:hidden}.pv-planner .version-preview-action .plan-preview{border:0;width:100%;height:76px}.pv-planner .version-preview-action>span{color:#fff;background:#0b1c17e0;justify-content:center;align-items:center;gap:5px;min-height:24px;font-size:8px;font-weight:800;display:flex;position:absolute;bottom:0;left:0;right:0}.pv-planner .version-preview-action:hover>span{background:var(--planner-green)}.pv-planner .version-details{align-content:center;gap:7px;min-width:0;display:grid}.pv-planner .version-kicker{justify-content:space-between;align-items:center;gap:8px;display:flex}.pv-planner .version-kicker b{color:var(--planner-green);font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;font-size:8px}.pv-planner .version-kicker time{color:var(--planner-muted);white-space:nowrap;font-size:8px}.pv-planner .version-name-field{gap:3px;min-width:0;display:grid}.pv-planner .version-name-field>span{color:var(--planner-muted);text-transform:uppercase;font-size:7px}.pv-planner .version-name-field input{border:1px solid var(--planner-line);background:var(--planner-card);width:100%;min-width:0;height:29px;color:var(--planner-ink);border-radius:0;outline:none;padding:0 7px;font-size:10px;font-weight:720}.pv-planner .version-name-field input:focus{border-color:var(--planner-green);box-shadow:inset 0 0 0 1px var(--planner-green)}.pv-planner .version-facts{color:var(--planner-muted);flex-wrap:wrap;gap:3px 10px;font-size:8px;display:flex}.pv-planner .version-empty{color:var(--planner-muted);text-align:center;margin:0;padding:14px;font-size:9px}.pv-planner .project-empty{color:var(--planner-muted);text-align:center;padding:26px 14px;font-size:9px}.pv-planner .project-storage-actions{border-top:1px solid var(--planner-line);background:var(--planner-card);justify-content:flex-end;gap:8px;padding:10px 14px;display:flex}.pv-planner .actions .project-popover .project-storage-actions button,.pv-planner .planner-project-actions .project-popover .project-storage-actions button{border:1px solid var(--planner-line);min-height:32px;color:var(--planner-ink);background:0 0;align-items:center;gap:6px;padding:0 9px;font-size:8px;display:inline-flex}.pv-planner .project-storage-actions button:hover{border-color:var(--planner-green)}.pv-planner aside{--sidebar-control-height:40px;--sidebar-control-border:#ffffff47;--sidebar-control-bg:#071d186b}.pv-planner aside h3{margin-block:18px 10px;line-height:1.25}.pv-planner aside .fields label,.pv-planner aside .card label,.pv-planner aside .equipment-catalog-picker>label,.pv-planner aside .racking-surface-picker{color:#ffffff9e;font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:0;text-transform:none;gap:6px;font-size:10px;font-weight:620;line-height:1.25}.pv-planner aside select,.pv-planner .card select{width:100%;min-width:0;min-height:var(--sidebar-control-height,40px);appearance:none;border:1px solid var(--sidebar-control-border,#ffffff47);background-color:var(--sidebar-control-bg,#071d186b);color:var(--planner-card);font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:0;text-transform:none;background-image:linear-gradient(45deg,#0000 50%,#ffffffc2 50%),linear-gradient(135deg,#ffffffc2 50%,#0000 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;border-radius:0;padding:0 38px 0 12px;font-size:11px;font-weight:620;line-height:1.2}.pv-planner aside select:hover:not(:disabled),.pv-planner .card select:hover:not(:disabled){background-color:#d9f36a12;border-color:#d9f36abd}.pv-planner aside select:focus,.pv-planner aside select:focus-visible,.pv-planner .card select:focus,.pv-planner .card select:focus-visible{border-color:var(--planner-lime);outline-offset:1px;outline:2px solid #d9f36a38}.pv-planner aside select:disabled,.pv-planner .card select:disabled{cursor:not-allowed;opacity:.52}.pv-planner aside select option,.pv-planner aside select optgroup,.pv-planner .card select option,.pv-planner .card select optgroup{color:var(--planner-card);font-family:var(--font-geist-sans), Arial, sans-serif;background:#10261f}.pv-planner aside select optgroup,.pv-planner .card select optgroup{color:var(--planner-lime);font-weight:750}.pv-planner .equipment-catalog-picker select,.pv-planner .racking-surface-picker select{min-height:var(--sidebar-control-height);border:1px solid var(--sidebar-control-border);background-color:var(--sidebar-control-bg);font-family:var(--font-geist-sans), Arial, sans-serif;padding:0 38px 0 12px;font-size:11px;font-weight:620}.pv-planner .placement-actions,.pv-planner .module-source-switch{margin-block:10px}.pv-planner .placement-actions button,.pv-planner .module-source-switch button{min-height:var(--sidebar-control-height);border:1px solid var(--sidebar-control-border);font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.01em;border-radius:0;padding:0 14px;font-size:11px;font-weight:720;line-height:1.2}.pv-planner .module-source-switch button+button{border-left:0}.pv-planner .placement-actions button.primary{border-color:var(--planner-lime);background:var(--planner-lime);color:var(--planner-ink)}.pv-planner .plan-check b,.pv-planner .placement-default-summary b{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.01em;font-size:12px;font-weight:720;line-height:1.25}.pv-planner .plan-check span,.pv-planner .placement-default-summary small,.pv-planner .racking-note{font-family:var(--font-geist-sans), Arial, sans-serif;font-size:10px;line-height:1.5}.pv-planner .roof-covering-control{padding-block:2px 4px}.pv-planner .roof-covering-hint{color:#ffffff8c;min-height:30px;font-family:var(--font-geist-sans), Arial, sans-serif;font-size:9px;font-weight:480;line-height:1.45;display:block}@media (width<=760px){.pv-planner .project-popover{z-index:120;width:auto;max-height:calc(100dvh - 82px);position:fixed;inset:74px 8px auto;overflow:auto}.pv-planner .project-save{grid-template-columns:1fr}.pv-planner .actions .project-popover .save-version-button,.pv-planner .planner-project-actions .project-popover .save-version-button{margin-top:0}.pv-planner .project-list{max-height:none}.pv-planner .version-card{grid-template-columns:84px minmax(0,1fr) 34px;gap:8px}.pv-planner .actions .project-popover .version-preview-action,.pv-planner .planner-project-actions .project-popover .version-preview-action,.pv-planner .version-preview-action .plan-preview{height:64px;min-height:64px}.pv-planner .project-storage-actions{grid-template-columns:1fr 1fr;display:grid}.pv-planner .project-storage-actions button{justify-content:center}.pv-planner.read-only .workspace,.pv-planner.read-only.tool-strings .workspace{grid-template-columns:minmax(0,1fr)}}.sol365-product-shell{min-height:100vh}.sol365-product-shell.view-planning{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.planner-host{flex:1;min-height:0}.product-header{grid-template-columns:auto auto minmax(190px,1fr) auto auto;column-gap:clamp(12px,1.5vw,24px)}.active-project-context{border-left:1px solid var(--line);gap:1px;min-width:0;padding-left:14px;display:grid}.active-project-context>span,.active-project-context>small{color:var(--muted);font-family:var(--font-geist-mono), monospace;text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.active-project-context>span{color:var(--green);letter-spacing:.1em;text-transform:uppercase;font-weight:800}.active-project-context>strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.product-stage-switch{border:1px solid var(--line);background:var(--card);justify-self:start;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.product-stage-switch{background:color-mix(in srgb, var(--card) 66%, transparent)}}.product-stage-switch button{border:0;border-right:1px solid var(--line);min-height:38px;color:var(--muted);cursor:pointer;background:0 0;align-items:center;gap:8px;padding:0 14px;font-size:10px;font-weight:760;display:inline-flex}.product-stage-switch button:last-child{border-right:0}.product-stage-switch button[aria-current=page]{background:var(--ink);color:var(--white)}.product-stage-switch button:not([aria-current=page]):hover:not(:disabled){background:var(--lime);color:var(--ink)}.product-stage-switch button:disabled{cursor:wait;opacity:.45}.product-stage-switch span{font-family:var(--font-geist-mono), monospace;opacity:.62;font-size:8px}.linked-plant-card{background:#d9f36a12;border:1px solid #d9f36a6b;margin:3px 0 15px}.linked-plant-heading{border-bottom:1px solid #ffffff21;justify-content:space-between;align-items:baseline;padding:12px;display:flex}.linked-plant-heading span{color:var(--lime);letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:820}.linked-plant-heading b{font-family:var(--font-geist-mono), monospace;font-size:15px}.linked-plant-card dl{border-bottom:1px solid #ffffff21;grid-template-columns:repeat(3,1fr);margin:0;display:grid}.linked-plant-card dl div{border-right:1px solid #ffffff21;gap:2px;padding:9px 8px;display:grid}.linked-plant-card dl div:last-child{border-right:0}.linked-plant-card dt{color:#ffffff7a;letter-spacing:.06em;text-transform:uppercase;font-size:7px}.linked-plant-card dd{font-family:var(--font-geist-mono), monospace;margin:0;font-size:13px}.linked-generator-list{max-height:170px;overflow:auto}.linked-generator-list>div{border-bottom:1px solid #ffffff1a;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:9px 11px;display:grid}.linked-generator-list span{color:#ffffffc7;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.linked-generator-list b{color:var(--white);font-family:var(--font-geist-mono), monospace;font-size:9px}.linked-generator-list small{color:#ffffff6b;grid-column:1/-1;font-size:7px}.linked-plant-card>button{background:var(--lime);width:100%;min-height:36px;color:var(--ink);cursor:pointer;border:0;font-size:9px;font-weight:820}.planned-capacity-row{border-left:2px solid var(--lime);background:#d9f36a12;grid-template-columns:1fr auto;gap:3px 10px;margin-bottom:15px;padding:11px 12px;display:grid}.planned-capacity-row span{color:#ffffffa3;font-size:10px}.planned-capacity-row b{font-family:var(--font-geist-mono), monospace;font-size:13px}.planned-capacity-row small{color:#ffffff6b;grid-column:1/-1;font-size:8px}.planner-loading-shell{background:var(--paper);min-height:100%;color:var(--ink);text-align:center;place-content:center;gap:10px;display:grid}.planner-loading-shell span{color:var(--green);letter-spacing:.18em;font-size:9px;font-weight:800}.shared-plan-banner{border-bottom:1px solid var(--line);background:var(--lime);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:11px;min-height:54px;padding:8px max(16px,50vw - 740px);display:grid}@supports (color:color-mix(in lab, red, red)){.shared-plan-banner{background:color-mix(in srgb, var(--lime) 18%, var(--card))}}.shared-plan-banner.is-read-only{background:var(--blue)}@supports (color:color-mix(in lab, red, red)){.shared-plan-banner.is-read-only{background:color-mix(in srgb, var(--blue) 13%, var(--card))}}.shared-plan-icon{border:1px solid var(--ink);border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.shared-plan-banner>div{gap:2px;min-width:0;display:grid}.shared-plan-banner strong{font-size:11px}.shared-plan-banner small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.shared-plan-banner button{border:1px solid var(--ink);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 11px;font-size:8px;font-weight:800;display:inline-flex}.shared-plan-banner .adopt-shared-plan{background:var(--ink);color:var(--white)}.shared-plan-loading,.shared-plan-load-error{text-align:center;place-content:center;justify-items:center;gap:12px;min-height:min(620px,100dvh - 88px);padding:40px;display:grid}.shared-plan-load-error h1,.shared-plan-load-error p{margin:0}.shared-plan-load-error a{border:1px solid var(--ink);background:var(--ink);color:var(--white);padding:11px 15px;font-size:10px;font-weight:800;text-decoration:none}.shared-loading-spinner{border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite shared-spin}@keyframes shared-spin{to{transform:rotate(360deg)}}.calculator-read-only .controls{opacity:.74;filter:saturate(.65)}.share-plan-backdrop{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#081913b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.share-plan-dialog{border:1px solid var(--ink);background:var(--card);width:min(650px,100%);max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 28px 90px #05150f61}.share-plan-dialog>header{border-bottom:1px solid var(--line);background:var(--green-dark);min-height:112px;color:var(--white);align-content:center;gap:8px;padding:22px 66px 20px 24px;display:grid;position:relative}.share-plan-dialog>header>span{color:var(--lime);font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;text-transform:uppercase;font-size:8px;font-weight:800}.share-plan-dialog h2,.share-plan-dialog h3,.share-plan-dialog p{margin:0}.share-plan-dialog h2{letter-spacing:-.035em;font-size:24px}.share-plan-dialog>header>button{width:38px;height:38px;color:var(--white);cursor:pointer;background:0 0;border:1px solid #ffffff57;place-items:center;display:grid;position:absolute;top:20px;right:20px}.share-access-setting{border:1px solid var(--line);background:var(--paper);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:20px;padding:16px;display:grid}.share-section-settings{border:1px solid var(--line);background:var(--card);margin:0 20px 20px;padding:0}.share-section-settings legend{color:var(--green);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;margin-left:13px;padding:0 6px;font-size:8px;font-weight:850}.share-section-settings>p{color:var(--muted);padding:10px 14px 8px;font-size:9px}.share-section-settings>div{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.share-section-settings label{border-right:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:66px;padding:11px 13px;display:grid}.share-section-settings label:nth-child(2n){border-right:0}.share-section-settings label:last-child{border-bottom:0}.share-section-settings label>span{gap:3px;display:grid}.share-section-settings b{color:var(--ink);font-size:10px}.share-section-settings small,.share-result-sections{color:var(--muted);font-size:8px;line-height:1.35}.share-section-settings>strong{border-top:1px solid var(--red);padding:9px 13px;display:block}@supports (color:color-mix(in lab, red, red)){.share-section-settings>strong{border-top:1px solid color-mix(in srgb, var(--red) 35%, var(--line))}}.share-section-settings>strong{color:#a54435;font-size:9px}.share-access-icon{border:1px solid var(--green);width:36px;height:36px;color:var(--green);border-radius:50%;place-items:center;display:grid}.share-access-setting>span:nth-child(2),.share-server-consent>span{gap:5px;display:grid}.share-access-setting b,.share-server-consent b{font-size:11px}.share-access-setting small,.share-server-consent small{color:var(--muted);font-size:9px;line-height:1.45}.share-readonly-switch{border:1px solid var(--ink);background:var(--line);cursor:pointer;border-radius:999px;width:52px;height:28px;padding:2px}.share-readonly-switch>span{background:var(--card);border-radius:50%;width:22px;height:22px;transition:transform .14s;display:block;transform:translate(0);box-shadow:0 1px 4px #05150f3d}.share-readonly-switch[aria-checked=true]{background:var(--green)}.share-readonly-switch[aria-checked=true]>span{background:var(--lime);transform:translate(24px)}.share-server-consent{border:1px solid var(--line);background:var(--card);cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:11px;margin:0 20px 20px;padding:15px;display:grid}.share-server-consent input{width:18px;height:18px;accent-color:var(--green)}.share-plan-error{border-left:3px solid var(--red);background:var(--red);padding:11px 13px;margin:0 20px 18px!important}@supports (color:color-mix(in lab, red, red)){.share-plan-error{background:color-mix(in srgb, var(--red) 9%, var(--card))}}.share-plan-error{color:#9c3c2e;font-size:9px}.share-plan-dialog>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;padding:14px 20px;display:flex}.share-plan-dialog>footer button,.share-link-field button{border:1px solid var(--ink);cursor:pointer;align-items:center;gap:7px;min-height:40px;padding:0 14px;font-size:9px;font-weight:800;display:inline-flex}.share-plan-dialog>footer .secondary{background:0 0}.share-plan-dialog>footer .primary{background:var(--green);color:var(--white)}.share-plan-dialog>footer button:disabled{cursor:not-allowed;opacity:.42}.racking-change-dialog{width:min(720px,100%);color:var(--ink)}.racking-change-content{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px 14px;padding:22px;display:grid}.racking-change-icon{background:#d68a35;border:1px solid #b86428;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}@supports (color:color-mix(in lab, red, red)){.racking-change-icon{background:color-mix(in srgb, #d68a35 14%, var(--card))}}.racking-change-icon{color:#9a4d1c}.racking-change-content>div:nth-child(2){gap:6px;display:grid}.racking-change-content h3{color:var(--ink)}.racking-change-content>div:nth-child(2) p,.racking-change-note{color:var(--muted);font-size:10px;line-height:1.5}.racking-change-comparison{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;display:grid}.racking-change-comparison>span{border:1px solid var(--line);background:var(--paper);align-content:center;gap:5px;min-height:78px;padding:13px;display:grid}.racking-change-comparison small{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:800}.racking-change-comparison b{color:var(--ink);font-size:11px;line-height:1.45}.racking-change-content ul{background:#d68a35;border-left:3px solid #d47a34;grid-column:1/-1;margin:0;padding:13px 15px 13px 30px}@supports (color:color-mix(in lab, red, red)){.racking-change-content ul{background:color-mix(in srgb, #d68a35 9%, var(--card))}}.racking-change-content ul{color:var(--ink);font-size:10px;line-height:1.5}.racking-change-impact{border:1px solid var(--line);background:var(--paper);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.racking-change-impact span{min-height:58px;color:var(--ink);align-items:baseline;gap:6px;padding:12px 14px;font-size:10px;display:flex}.racking-change-impact span+span{border-left:1px solid var(--line)}.racking-change-impact span.destructive{color:#9a3d2c}.racking-change-impact b{font-family:var(--font-geist-mono), monospace;font-size:16px}.racking-change-impact small{border-top:1px solid var(--line);color:var(--muted);grid-column:1/-1;padding:9px 14px;font-size:9px}.racking-change-note{grid-column:1/-1;color:var(--muted)!important}.racking-tilt-comparison{border:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.racking-tilt-comparison>span{gap:5px;min-width:0;padding:14px;display:grid}.racking-tilt-comparison>span+span{border-left:1px solid var(--line)}.racking-tilt-comparison small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:9px}.racking-tilt-comparison b{font-family:var(--font-geist-mono), monospace;font-size:20px}.racking-tilt-dialog>footer{grid-template-columns:minmax(180px,280px);justify-content:end}.racking-change-dialog>footer .secondary{color:var(--ink)}.racking-change-dialog>footer .primary{color:var(--white)}.racking-transition-progress{z-index:1001;color:var(--white);text-align:center;background:#081913b8;place-content:center;justify-items:center;gap:12px;padding:20px;display:grid;position:fixed;inset:0}.racking-transition-progress>span:last-child{gap:4px;display:grid}.racking-transition-progress b{font-size:12px}.racking-transition-progress small{color:#ffffffb8;font-size:9px}.share-plan-result{grid-template-columns:auto 1fr;gap:14px;padding:24px;display:grid}.share-success-mark{background:var(--lime);border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.share-plan-result>div:not(.share-link-field){gap:5px;display:grid}.share-plan-result p{color:var(--muted);font-size:10px;line-height:1.5}.share-link-field{grid-column:1/-1;grid-template-columns:1fr auto;display:grid}.share-link-field input{border:1px solid var(--line);background:var(--paper);min-width:0;height:42px;font-family:var(--font-geist-mono), monospace;padding:0 11px;font-size:9px}.share-link-field button{background:var(--ink);color:var(--white)}.spin{animation:.7s linear infinite shared-spin}@media (width<=1260px){.product-header{grid-template-columns:auto auto minmax(170px,1fr) auto}.product-header .topbar-links{display:none}}@media (width<=920px){.product-header{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"brand project""switch storage";row-gap:8px;width:calc(100% - 32px);min-height:132px;padding-block:10px}.product-header .brand{grid-area:brand}.product-header .product-stage-switch{grid-area:switch;justify-self:stretch;width:100%}.product-header .product-stage-switch button{flex:1;justify-content:center}.active-project-context{grid-area:project}.product-header .storage-status{grid-area:storage;justify-content:center;justify-self:stretch;width:100%}}@media (width<=760px){.shared-plan-banner{grid-template-columns:auto minmax(0,1fr);gap:8px;min-height:0;padding:7px 9px}.shared-plan-banner>div small{white-space:normal}.shared-plan-banner button{grid-column:1/-1;min-height:32px}.shared-plan-icon{width:30px;height:30px}.share-plan-backdrop{padding:8px}.share-plan-dialog>header{min-height:94px;padding:17px 58px 16px 17px}.share-plan-dialog>header>button{top:15px;right:15px}.share-plan-dialog h2{font-size:20px}.share-access-setting{margin:14px;padding:14px}.share-server-consent,.share-section-settings{margin:0 14px 14px}.share-section-settings>div{grid-template-columns:1fr}.share-section-settings label,.share-section-settings label:nth-child(2n){border-right:0}.share-plan-dialog>footer{grid-template-columns:1fr;padding:12px 14px;display:grid}.share-plan-dialog>footer button{justify-content:center}.racking-change-content{padding:16px 14px}.racking-change-comparison{grid-template-columns:1fr}.racking-change-comparison>svg{justify-self:center;transform:rotate(90deg)}.racking-change-impact{grid-template-columns:1fr}.racking-change-impact span+span{border-top:1px solid var(--line);border-left:0}.share-link-field{grid-template-columns:1fr}.share-link-field button{justify-content:center}.product-header{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand project""switch switch""storage storage";width:calc(100% - 24px);min-height:168px}.active-project-context{justify-self:end;max-width:205px}.product-header .product-stage-switch button{padding:0 9px}.product-header .storage-status{min-height:34px}.product-header .storage-copy{min-width:0;overflow:hidden}.product-header .storage-copy>span{text-overflow:ellipsis;overflow:hidden}.product-header .brand{font-size:12px}.product-header .brand-mark{width:26px;height:26px}.product-header .brand-mark:before{height:32px}.sol365-product-shell.view-planning .product-header{grid-template-columns:1fr;grid-template-areas:"switch";width:100%;min-height:52px;padding:6px 8px}.sol365-product-shell.view-planning .product-header .brand,.sol365-product-shell.view-planning .product-header .active-project-context,.sol365-product-shell.view-planning .product-header .storage-status{display:none}.sol365-product-shell.view-planning .product-header .product-stage-switch{width:100%}.sol365-product-shell.view-planning .product-header .product-stage-switch button{min-height:38px}.product-header .brand-mark:after{width:32px}.sol365-product-shell.view-planning .product-header{grid-template-areas:"switch";min-height:52px}.sol365-product-shell.view-planning .product-header .storage-status{display:none}}@media (width>=761px) and (width<=820px){.sol365-product-shell.view-planning .product-header{grid-template-columns:1fr;grid-template-areas:"switch";width:100%;min-height:52px;padding:6px 8px}.sol365-product-shell.view-planning .product-header .brand,.sol365-product-shell.view-planning .product-header .active-project-context,.sol365-product-shell.view-planning .product-header .storage-status{display:none}.sol365-product-shell.view-planning .product-header .product-stage-switch{grid-area:switch;width:100%}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
