/* Progressive disclosure: needs first, engineering details on demand. */
.engineer-navigation{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}.engineer-navigation button{font-size:16px;min-height:46px;border:1px solid #bacfc0;background:#fff;color:#254b39}.engineer-navigation button[aria-pressed=true]{background:#183e32;color:#fff;border-color:#183e32}.engineer-workspace h3{margin:24px 0 16px}.engineer-workspace .ux-grid label,.engineer-workspace label,.engineer-workspace summary{font-size:14px;line-height:1.5}.engineer-workspace input,.engineer-workspace select,.engineer-workspace textarea{font-size:16px}.engineer-workspace p{font-size:16px;line-height:1.6}.engineer-workspace .ux-field-help,.engineer-workspace .ux-field-help button{font-size:12px}.engineer-workspace .ux-field-help{gap:5px 9px}.engineer-workspace .ux-field-help button{min-height:28px}.engineer-conditions dl{margin:0}.engineer-conditions dl>div{padding:16px 0;border-bottom:1px solid #dfe8e1}.engineer-conditions dl>div:last-child{border-bottom:0}.engineer-conditions dt{font-size:14px;font-weight:650;margin-bottom:7px;color:#234736}.engineer-conditions dd{margin:0;font-size:14px;line-height:1.65;color:#4b5f53;overflow-wrap:anywhere}.engineer-conditions dd button{padding:3px 8px;font-size:14px;min-height:32px;margin-left:4px}.engineer-group{scroll-margin-top:24px}.engineer-group>summary{cursor:pointer;font-weight:650;padding:4px 0}.engineer-group-body{margin-top:24px}.engineer-group-body>.card{box-shadow:none;padding:20px 0;border:0;border-top:1px solid #e0e8e1;border-radius:0}.engineer-group-body>.card:first-child{border-top:0;padding-top:0}.engineer-workspace :is(button,summary):focus-visible{outline:3px solid #819a3a;outline-offset:3px}.engineer-workspace .solar-switch input[type=checkbox]{width:22px;min-width:22px;height:22px;accent-color:#15533d}.engineer-workspace .aux-confirm{align-items:center}.engineer-workspace .solar-switch{margin-bottom:20px}
@media(max-width:580px){.engineer-navigation{display:grid;grid-template-columns:1fr 1fr}.engineer-navigation button{font-size:14px;padding:10px}.engineer-workspace .ux-grid label{font-size:14px}.engineer-workspace .ux-grid{grid-template-columns:1fr}.engineer-workspace .ux-section-title h2{font-size:22px}.engineer-workspace .ux-field-help{font-size:12px}.engineer-conditions dd button{margin-left:0}.engineer-workspace .solar-switch>label{min-width:0}}
.ux-modebar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 24px;padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:#fff}
.ux-modebar>div:first-child{flex-shrink:0}.ux-modebar small{display:block;color:#53645d;font-size:12px;margin-top:5px}
.ux-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.ux-modes button{text-align:left;padding:11px 16px;min-height:60px;border-color:transparent;background:#f4f6f2}
.ux-modes button[aria-pressed=true]{background:#183e32;color:#fff}.ux-modes button[aria-pressed=true] small{color:#dce8d2}.ux-modes strong{font-size:15px}
.ux-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start}.ux-layout>div{min-width:0}.ux-layout .card{padding:26px}.ux-section-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:24px}
.ux-section-title>span{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;background:#e8f0d9;border-radius:50%;color:#31523e;font-size:12px;font-weight:700}.ux-section-title h2{margin:2px 0 8px;font-size:24px}.ux-section-title p{margin:0;color:#52625b;font-size:14px;line-height:1.55}
.ux-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 16px}.ux-grid>label,.ux-field{min-width:0}.ux-grid label{font-size:14px;line-height:1.45;color:#29463a}.ux-grid input,.ux-grid select{min-width:0;width:100%;max-width:100%;font-size:15px;min-height:46px;margin-top:8px}.ux-value{display:block}.ux-value input{font-size:20px;font-weight:650;font-variant-numeric:tabular-nums;margin-top:8px;padding:12px}
.ux-field-help{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:11px;line-height:1.5;margin-top:8px;color:#68766d}.ux-origin{background:#edf4df;padding:2px 7px;color:#385c2b;border-radius:4px}.ux-origin.manual{background:#edf0f2;color:#475962}.ux-field-help button,.ux-inline-note button{border:0;background:none;padding:0;min-height:24px;color:#385848;font-size:11px;text-decoration:underline;text-underline-offset:3px}
.ux-divider{height:1px;background:var(--line);margin:26px 0}.ux-help,.ux-small{font-size:13px;color:#54665b;line-height:1.65}.ux-help{margin:24px 0}.ux-inline-note{background:#f2f5ec;padding:13px 15px;border-radius:7px;font-size:13px;line-height:1.65;margin:16px 0}
.ux-assumptions{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.ux-assumptions summary{font-size:14px;cursor:pointer;color:#36533e}.ux-assumptions p{font-size:13px;line-height:1.6;color:#57675d}.ux-assumptions dl{margin:16px 0;font-size:13px}.ux-assumptions dl>div{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px solid #edf0e9}.ux-assumptions dt{color:#526357}.ux-assumptions dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.ux-detail-group{margin:26px 0}.ux-detail-group h3{font-size:16px}.ux-detail-group>details{padding:16px 0;border-top:1px solid var(--line)}.ux-detail-group summary,.ux-detail summary,.ux-choices summary{font-weight:650;font-size:15px;cursor:pointer;line-height:1.6}.ux-detail-group details[open]>summary,.ux-detail[open]>summary,.ux-choices[open]>summary{margin-bottom:22px}.ux-detail-group small{display:block;margin-top:16px;line-height:1.6}.ux-detail{margin-top:20px}.ux-detail>.card{margin:16px 0 0;padding:16px;border-radius:8px;box-shadow:none}
.ux-summary{border:1px solid #cbd8c6;border-radius:14px;overflow:hidden;background:#fff;position:sticky;top:24px}.ux-summary-heading{background:#183e32;color:#fff;padding:22px}.ux-summary-heading>span{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#d3e1c8}.ux-summary-heading h2{font-size:23px;margin:10px 0 0;line-height:1.25}.ux-summary-body{padding:22px}.ux-metrics{display:grid;grid-template-columns:1fr 1fr;gap:20px 14px;margin:0 0 22px}.ux-metrics dt{font-size:12px;color:#617063;line-height:1.5;margin-bottom:6px}.ux-metrics dd{font-size:26px;font-weight:650;color:#193c2e;margin:0;line-height:1.2;font-variant-numeric:tabular-nums}.ux-metrics dd small{font-size:12px;font-weight:400;display:block;margin-top:5px}
.ux-equipment-mini{border-top:1px solid var(--line);padding-top:10px}.ux-equipment-mini p{display:flex;gap:12px;font-size:12px;line-height:1.55;margin:10px 0}.ux-equipment-mini strong{white-space:nowrap;min-width:40px}.ux-equipment-mini span{overflow-wrap:anywhere;color:#526255}.ux-budget{margin:20px 0;padding-top:18px;border-top:1px solid var(--line)}.ux-budget span,.ux-budget small{display:block;font-size:11px;color:#586a5e;line-height:1.55}.ux-budget strong{font-size:28px;display:block;margin:8px 0;font-variant-numeric:tabular-nums}.ux-primary{width:100%;min-height:48px}.ux-summary .ux-small{font-size:11px;margin:14px 0 0}.ux-summary-body>button:last-child:not(.ux-primary){margin-top:14px;font-size:12px}
.ux-problems{border:1px solid #e1bc8a;background:#fff7ea;border-radius:10px;padding:20px;margin-bottom:20px;overflow-wrap:anywhere}.ux-problems h3{margin:0;font-size:17px}.ux-problems li{font-size:13px;line-height:1.6;margin:10px 0}.ux-problems ul{padding-left:18px}.ux-problems .button-group{flex-wrap:wrap;margin-top:18px}.ux-problems button{font-size:12px;background:#fff}.ux-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.ux-choice-grid article{display:flex;flex-direction:column;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:10px}.ux-choice-grid article>span{font-size:11px;color:#617158}.ux-choice-grid h3{font-size:20px;margin:12px 0}.ux-choice-grid p{font-size:12px;line-height:1.6;overflow-wrap:anywhere;margin:0 0 12px}.ux-choice-grid button{margin-top:auto;font-size:13px;width:100%}
.ux-spec{margin-top:24px}.ux-spec td{vertical-align:top}.ux-spec th{font-size:11px}.ux-spec td:first-child{min-width:180px}.ux-spec td input{width:100px;max-width:100%;min-height:40px}.ux-spec td:nth-child(2) input{width:65px}.ux-spec td small{display:block;max-width:300px;overflow-wrap:anywhere;font-size:12px;line-height:1.55}.ux-spec td:nth-child(4){white-space:nowrap;font-size:13px}.ux-proposal-assumptions{padding:10px 12px;background:#f3f6ed;font-size:12px;line-height:1.5;color:#495b4e}
[data-ux-mode]:focus-visible,[data-ux-reset]:focus-visible,[data-ux-recommend]:focus-visible,.ux-layout input:focus-visible,.ux-layout select:focus-visible{outline:3px solid #829c32;outline-offset:3px}
@media(max-width:1120px){.ux-layout{grid-template-columns:minmax(0,1fr) 310px;gap:18px}.ux-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ux-modebar{align-items:flex-start}.ux-modebar>div:first-child{flex-shrink:1}.ux-modes small{font-size:11px}.ux-choice-grid{grid-template-columns:1fr}.ux-summary-heading h2{font-size:21px}}
@media(max-width:860px){.ux-layout{grid-template-columns:1fr}.ux-summary{position:static}.ux-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.ux-modebar{display:block}.ux-modes{margin-top:14px}.ux-modebar>div:first-child{display:flex;justify-content:space-between;gap:15px;align-items:center}.ux-modebar>div:first-child small{margin:0}.ux-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:580px){.ux-layout .card{padding:20px 16px}.ux-grid{gap:20px 12px}.ux-section-title h2{font-size:21px}.ux-section-title{gap:10px}.ux-section-title>span{width:30px;height:30px}.ux-modebar{padding:14px}.ux-modebar>div:first-child{display:block}.ux-modebar>div:first-child small{margin-top:5px}.ux-modes button{padding:10px 8px;text-align:center;min-height:44px}.ux-modes strong{font-size:13px}.ux-modes button small{display:none}.ux-grid label{font-size:12px}.ux-value input{font-size:18px}.ux-grid input,.ux-grid select{font-size:16px}.ux-field-help{font-size:10px}.ux-choice-grid{grid-template-columns:1fr}.ux-metrics{grid-template-columns:1fr 1fr}.ux-problems{padding:16px}.ux-assumptions dd{max-width:55%}.ux-summary-body{padding:20px}.ux-spec table{min-width:560px}}
@media print{.ux-proposal-assumptions{font-size:7pt;padding:2mm;line-height:1.4;break-inside:avoid}}

/* Common commercial workspace is identical across experience levels. */
.price-source{display:block;color:#617069;font-size:11px;line-height:1.5;margin-top:6px;overflow-wrap:anywhere}.ux-equipment-pickers{margin:18px 0}.component summary small{margin-left:auto;white-space:normal}.ux-spec td:first-child{min-width:230px}.ux-spec .price-source{max-width:400px}

.solar-switch{display:flex;gap:24px;align-items:center;flex-wrap:wrap;background:#f0f5f2;border:1px solid #c2d6ca;border-radius:12px;padding:18px;margin:20px 0}.solar-switch>label{display:flex;align-items:center;gap:14px;flex:1;min-width:210px}.solar-switch input[role=switch]{width:22px;height:22px;accent-color:#15533d}.solar-switch label strong{display:block;font-size:1rem}.solar-switch small,.solar-switch>p{font-size:.875rem;color:#526259;line-height:1.5;margin:4px 0}.solar-switch .ux-field{flex:1;min-width:200px}
/* Flexible supply editor: a single row pattern for equipment, accessories and work. */
.spec-toolbar,.spec-catalog-heading,.spec-line-heading,.spec-allocation,.spec-excluded-line,.spec-catalog-item{display:flex;align-items:center;justify-content:space-between;gap:16px}.spec-toolbar{justify-content:flex-start;flex-wrap:wrap;margin-top:22px}.spec-counts{font-size:13px;color:#56665f}.spec-notice{font-size:13px;color:#276244;min-height:20px}.spec-lines{display:grid;gap:14px}.spec-line{border:1px solid #dce5df;border-radius:12px;padding:18px;background:#fff}.spec-line.has-existing{border-left:4px solid #62846d}.spec-line-heading{align-items:flex-start}.spec-line h3{font-size:16px;line-height:1.4;margin:5px 0 16px}.spec-tag{font-size:11px;color:#536a60;font-weight:600}.spec-remove{font-size:12px;background:transparent;color:#626b65;border:1px solid #dce5df;padding:8px 10px}.spec-line-fields{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px}.spec-line-fields label{min-width:0;font-size:12px}.spec-line-fields input,.spec-line-fields select{width:100%;min-width:0}.spec-allocation{margin:14px 0 4px;font-size:13px;flex-wrap:wrap}.spec-allocation>strong{font-size:15px}.spec-details{border-top:1px solid #edf0ed;margin-top:14px;padding-top:12px}.spec-details summary,.spec-recalculate summary,.spec-excluded summary{cursor:pointer;font-size:13px;font-weight:600}.spec-details[open]>summary{margin-bottom:16px}.spec-details textarea{min-height:70px}.spec-details>.picker{margin-bottom:16px}.spec-details small{display:block;line-height:1.5}.spec-verify{font-size:12px;margin:10px 0}.spec-warning{font-size:13px;background:#fff5df;padding:10px;border-radius:6px;color:#895120}.spec-excluded,.spec-recalculate{border-top:1px solid #dde5df;margin-top:22px;padding-top:18px}.spec-excluded-line{padding:14px 0;align-items:flex-start}.spec-excluded-line small,.spec-catalog-item small{display:block;font-size:12px;color:#657369;margin-top:4px}.spec-catalog{border:1px solid #abc1aa;background:#f4f8ef;border-radius:12px;padding:18px;margin-bottom:20px}.spec-catalog[hidden]{display:none}.spec-catalog-item{border-bottom:1px solid #dce5df;padding:14px 0;align-items:flex-start;font-size:13px}.spec-catalog-item .button-group{flex-shrink:0;flex-direction:column}.spec-catalog-item button{font-size:12px;padding:8px 10px}.spec-catalog #spec-catalog-results{max-height:460px;overflow:auto;margin-top:16px}.proposal-scope{font-size:12px;margin:16px 0}.proposal-scope ul{padding-left:18px}.proposal-scope li{margin:6px 0;overflow-wrap:anywhere}.scope-caption{font-size:11px;color:#52625a;line-height:1.5}.spec-line button:focus-visible,.spec-line summary:focus-visible,.spec-toolbar button:focus-visible{outline:3px solid #78943e;outline-offset:3px}
@media(max-width:700px){.spec-line{padding:14px}.spec-line-fields{grid-template-columns:1fr 1fr}.spec-line-fields>label:first-child{grid-column:1/-1}.spec-line-heading{gap:10px}.spec-toolbar>button{flex:1 1 40%}.spec-excluded-line,.spec-catalog-item{flex-direction:column;align-items:stretch}.spec-catalog-item .button-group{flex-direction:row}.spec-allocation{align-items:flex-start;flex-direction:column}.spec-line h3{overflow-wrap:anywhere}.specification-editor .solar-switch{margin-top:14px}}
@media print{.proposal-scope{break-inside:auto}.proposal-scope li{break-inside:avoid}}

/* Equipment selection and proposal branding are shared by all experience levels. */
.solution-picker h2{margin-bottom:8px}.solution-current{display:grid;gap:5px;background:#edf3e7;border-left:3px solid #648741;padding:14px;margin:18px 0;color:#234738}.solution-current span{font-size:13px;overflow-wrap:anywhere}.solution-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.solution-option{border:1px solid #d7e0d8;border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:8px;min-width:0}.solution-option h3,.solution-option p{margin:0}.solution-option span,.solution-option small{font-size:12px;color:#52655c}.solution-option button{margin-top:auto}.solution-option p{overflow-wrap:anywhere;font-size:13px}.solution-active{border:2px solid #597c36;background:#f8fbf1}.solution-manual{display:flex;align-items:center;gap:15px;margin:18px 0}.solution-manual small{max-width:420px}.company-editor>label{max-width:400px}.company-editor textarea{width:100%;box-sizing:border-box}.company-upload{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:18px 0}.company-upload small{width:100%}.company-preview{padding:18px;border:1px dashed #afbbaf;border-radius:10px}.proposal-company{display:flex;flex-direction:column;gap:4px;overflow-wrap:anywhere;max-width:480px}.paperhead .proposal-company{max-width:54%}.proposal-company strong{font-size:22px;line-height:1.2}.proposal-company small{font-size:11px}.company-details{white-space:pre-wrap}.company-logo{max-width:180px;max-height:65px;width:auto;height:auto;object-fit:contain;object-position:left;align-self:flex-start}
@media(max-width:700px){.solution-options{grid-template-columns:1fr}.solution-manual{align-items:stretch;flex-direction:column}.company-upload{align-items:flex-start;flex-direction:column}.company-upload input{max-width:100%}.paperhead .proposal-company{max-width:100%}.solution-picker select{max-width:100%}}

.spec-battery-count{margin:.5rem 0;font-size:.95rem;line-height:1.55}.spec-battery-count strong{font-size:1.1rem;color:#12352e}
