.masp__utility-report{overflow-x:auto}.masp__utility-report h2{font-size:24px;margin:2px 0 18px}.masp__utility-report h3{font-size:17px;margin:22px 0 8px}.masp__utility-report table{width:100%;border-collapse:collapse;font-size:12px}.masp__utility-report th,.masp__utility-report td{padding:8px;border:1px solid var(--line);text-align:left;vertical-align:top}.masp__utility-report th{background:var(--wash)}.masp__utility-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 18px}
.masp__income-comparison,.masp__stakeholder-value{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.masp__income-comparison h5,.masp__stakeholder-value h5{font-size:19px;margin:0 0 8px}
.masp__opportunity{margin:14px 0;padding:14px 16px;border:1px solid #3c9a72;border-left:5px solid #3c9a72;border-radius:10px;background:#eefaf4}.masp__opportunity p{margin:4px 0 0}.masp__tco-summary--four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.masp__tco-summary--four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.masp__utility-meta{grid-template-columns:1fr}.masp__utility-report table{min-width:760px}.masp__tco-summary--four{grid-template-columns:1fr}}

.masp__zone{margin:20px 0;padding:18px;border:1px solid #9aaebb;border-radius:10px}.masp__zone-diagram{margin:12px 0;padding:12px;border:2px solid #546779;background:#f6fafb;text-align:center}.masp__zone-diagram figcaption{font-weight:700;margin-bottom:10px}.masp__equipment{padding:12px;border:1px dashed #546779;background:#e3eff0}.masp__cabinet-row{display:flex;gap:3px;justify-content:center}.masp__cabinet-row span{flex:1;min-width:0;border:1px solid #334e64;background:#d2e5e8;padding:13px 1px;font-size:11px}.masp__aisle{padding:10px;font-size:11px}.masp__zone-diagram p{font-size:11px;font-weight:700}.masp__report-section>h2{font-size:23px;border-bottom:2px solid #087f8c;padding-bottom:8px}.masp__report-section{overflow-wrap:anywhere}
@media(max-width:600px){.masp__zone{padding:9px}.masp__zone-diagram{padding:5px}.masp__cabinet-row{gap:1px}.masp__cabinet-row span{font-size:8px;padding:9px 0}.masp__comparison{font-size:11px}.masp__comparison th,.masp__comparison td{padding:5px}}
@page{size:letter portrait;margin:.5in}
@media print{.masp{position:static!important;margin:0!important;border:0!important;font-size:10pt;overflow:visible}.masp form{padding:0!important}.masp__step:not(.masp__complete),.masp button,.masp input,.masp select,.masp textarea,.masp__hp{display:none!important}.masp__zone-diagram,.masp__cards article,.masp__validation,.masp__tco-summary article,.masp__service-detail,.masp__assumptions{break-inside:avoid;page-break-inside:avoid}.masp__zone{break-inside:auto}.masp h2,.masp h3,.masp h4,.masp h5,.masp figcaption{break-after:avoid;page-break-after:avoid}.masp p{orphans:3;widows:3}.masp table{break-inside:auto;page-break-inside:auto}.masp thead{display:table-header-group}.masp tr{break-inside:avoid}.masp__report-section{break-before:auto;page-break-before:auto}.masp details>summary{display:block;font-weight:bold;break-after:avoid}.masp details>*{display:block}.masp__comparison{font-size:9pt}.masp__verdict,.masp__validation{border:1px solid #555!important}.masp__zone-diagram{background:white}.masp__cabinet-row span{background:white}}

@media print{.masp__zone{break-inside:avoid;page-break-inside:avoid;padding:10px;margin:10px 0}.masp__zone h3{font-size:16px;margin:0 0 7px}.masp__zone p{margin:6px 0;font-size:9pt;line-height:1.3}.masp__zone-diagram{padding:6px;margin:7px 0}.masp__equipment{padding:5px;font-size:9pt}.masp__aisle{padding:4px}.masp__cabinet-row span{padding:7px 0}.masp__zone-diagram figcaption{font-size:9pt;margin-bottom:5px}.masp__cards{grid-template-columns:repeat(4,minmax(0,1fr))}.masp__cards article{padding:12px}.masp__cards strong{font-size:20px}.masp__summary{break-inside:avoid}.masp__report-section h2{font-size:18px}.masp__report-section>p:first-of-type{break-after:avoid}}

@media print{.masp p{break-inside:avoid;page-break-inside:avoid}.masp__comparison{break-inside:avoid;page-break-inside:avoid}.masp__zone-intro{break-after:avoid;page-break-after:avoid}}

@media print{.masp .masp__comparison{display:table!important;overflow:visible;break-inside:avoid;page-break-inside:avoid}.masp__service-detail li strong{margin-left:8px}}

.masp__cards .masp__redundancy-quantity{font-size:21px;font-weight:700;line-height:1.4;color:var(--ink);margin:5px 0}.masp__building-value{padding:18px;border:2px solid #526e86;background:#f3f6fa;border-radius:10px}.masp__cabinet-row span b{font-size:10px;display:block}.masp__cabinet-row .masp__cabinet-spec{font-size:9px;display:block;color:#10233b;line-height:1.5}.masp__cabinet-schedule{font-size:11px!important;text-align:left}.masp__building-value{break-inside:avoid}
@media(max-width:600px){.masp__cabinet-row .masp__cabinet-spec{display:none}.masp__cabinet-row span b{font-size:7px}.masp__cards .masp__redundancy-quantity{font-size:21px}}
@media print{.masp__cabinet-row .masp__cabinet-spec{display:block;font-size:7px}.masp__cabinet-row span b{font-size:8px}.masp__cards .masp__redundancy-quantity{font-size:16px}.masp__building-value{break-inside:avoid;page-break-inside:avoid}}

/* Fixed scaling-guide architecture: equipment is inside Building; heat rejection is outside. */
.masp__density-help{min-height:1.5em;font-weight:700;color:#31485a}.masp__layout-warning{padding:10px;border-left:4px solid #956512;background:#fff6df}
.masp__zone-diagram{background:#fff;text-align:left;overflow:visible}.masp__zone-diagram figcaption{text-align:left;font-size:15px}.masp__building{border:3px solid #43586b;padding:14px;background:#f9fbfc}.masp__building-label{display:block;font-size:15px;margin:-7px 0 10px}.masp__equipment-stage{margin:10px 0 0}.masp__equipment-stage h4{font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px}.masp__equipment-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch}.masp__equipment-box{min-width:0;border:2px solid #536c7b;border-radius:5px;padding:9px;background:#e9f2f5;display:flex;flex-direction:column;gap:3px;font-size:12px;overflow-wrap:anywhere}.masp__equipment-box strong{font-size:13px}.masp__equipment-box small{font-size:11px}.masp__cdu-unit{min-width:0;display:flex;align-items:stretch;justify-content:center;gap:2px}.masp__cdu-unit .masp__equipment-box{flex:1}.masp__trim-sidecar{flex:0 0 58px;border:1px solid #6a737c;border-radius:4px;padding:6px 2px;align-self:center;background:#fff;font-size:10px;line-height:1.35;text-align:center;overflow-wrap:anywhere}.masp__equipment-stage+.masp__equipment-stage:before{content:'↓';display:block;text-align:center;font-size:17px;line-height:1;color:#52677a}.masp__cabinet-row{flex-wrap:wrap}.masp__cabinet-row span{flex:1 0 12%;padding:8px 2px;font-size:10px;text-align:center}.masp__heat-link{width:2px;height:24px;background:#52677a;margin:auto}.masp__outdoor{max-width:430px;margin:auto;border:2px solid #536c7b;border-radius:5px;padding:10px 14px;background:#eef5f4;display:flex;flex-direction:column;gap:3px;font-size:12px}.masp__outdoor strong{font-size:14px}.masp__outdoor--building{background:#f1f3f5}.masp__zone-summary{width:100%;border-collapse:collapse;margin:12px 0;font-size:12px}.masp__zone-summary caption{text-align:left;font-weight:700;font-size:14px;margin-bottom:5px}.masp__zone-summary th,.masp__zone-summary td{border:1px solid #a5b2bd;padding:6px 9px;text-align:left}.masp__zone-summary th{width:55%;background:#f3f7f9}.masp__zone-summary td{font-weight:700}.masp__zone{break-inside:auto}
@media(max-width:600px){.masp__equipment-row{grid-template-columns:1fr 1fr}.masp__trim-sidecar{flex-basis:43px;font-size:8px}.masp__equipment-box{padding:6px;font-size:10px}.masp__equipment-box strong{font-size:11px}.masp__cabinet-row span{flex-basis:18%;font-size:8px}}
@media print{.masp__zone{break-inside:avoid;page-break-inside:avoid}.masp__equipment-row{grid-template-columns:repeat(3,minmax(0,1fr))}.masp__equipment-box{padding:5px;font-size:8pt}.masp__equipment-box strong{font-size:9pt}.masp__equipment-box small{font-size:7pt}.masp__trim-sidecar{flex-basis:42px;font-size:7pt}.masp__equipment-stage{margin-top:5px}.masp__equipment-stage h4{font-size:8pt}.masp__building{padding:8px}.masp__zone-summary{font-size:8pt}.masp__zone-summary th,.masp__zone-summary td{padding:3px 6px}.masp__outdoor{padding:5px;font-size:8pt}.masp__heat-link{height:12px}}
@media print{
  .masp__zone{padding:5px;margin:5px 0;break-inside:avoid;page-break-inside:avoid}
  .masp__zone>p{margin:2px 0;font-size:8pt;line-height:1.15}
  .masp__zone h3{font-size:13px;margin:0 0 3px}
  .masp__zone-diagram{padding:3px;margin:3px 0}
  .masp__zone-diagram figcaption{font-size:8pt;margin-bottom:2px}
  .masp__building{padding:4px}
  .masp__building-label{font-size:9pt;margin:0 0 3px}
  .masp__equipment-stage{margin:2px 0 0}
  .masp__equipment-stage h4{font-size:7pt;margin:0 0 2px}
  .masp__equipment-stage+.masp__equipment-stage:before{font-size:10px;line-height:1}
  .masp__equipment-row{gap:3px}
  .masp__equipment-box{padding:3px;gap:0;line-height:1.1}
  .masp__trim-sidecar{padding:2px 1px;line-height:1.1}
  .masp__cabinet-row span{padding:3px 1px}
  .masp__aisle{padding:2px}
  .masp__heat-link{height:8px}
  .masp__outdoor{padding:3px 5px;gap:0;line-height:1.1}
  .masp__outdoor strong{font-size:8pt}
  .masp__zone-summary{margin:4px 0}
  .masp__zone-summary caption{font-size:9pt;margin-bottom:1px}
  .masp__zone-summary th,.masp__zone-summary td{padding:2px 5px;line-height:1.1}
}
.masp__validation span{text-transform:none;letter-spacing:normal;font-size:12px}

/* Equipment assemblies and IDU chains preserve their topology at every width. */
.masp__diagram-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:5px}
.masp__diagram-scroll:focus-visible{outline:3px solid #087f8c;outline-offset:2px}
.masp__diagram-content{min-width:780px}
.masp__equipment-row{grid-template-columns:repeat(var(--paths,3),minmax(0,1fr));gap:12px}
.masp__equipment-stage+.masp__equipment-stage:before{display:none}
.masp__ups-unit,.masp__cdu-unit{display:flex;align-items:center;gap:3px;min-width:0}
.masp__ups-unit>.masp__equipment-box,.masp__cdu-unit>.masp__equipment-box{flex:1;min-width:0}
.masp__equipment-box{min-height:72px;justify-content:center}
.masp__battery-group{flex:0 0 88px}
.masp__battery-group>small{display:block;font-size:10px;text-align:center;margin-bottom:3px}
.masp__battery-group>div{display:flex;gap:2px}
.masp__battery-sidecar{border:1px solid #536c7b;border-radius:3px;padding:12px 2px;background:#f1f3f6;text-align:center;font-size:11px;flex:1}
.masp__path-unit{min-width:0}
.masp__path-unit:before{content:'↓';display:block;text-align:center;color:#43586b;font-size:18px;line-height:18px}
.masp__trim-sidecar,.masp__trim-spacer{flex:0 0 52px}
.masp__trim-sidecar{font-size:10px}
.masp__idu-row{display:flex;align-items:stretch;flex-wrap:nowrap}
.masp__idu{flex:1;min-width:0;padding:4px;border:2px solid #425e70;background:#eff5f7}
.masp__idu h5{margin:0 0 4px;text-align:center;font-size:12px}
.masp__idu-link{display:flex;align-items:center;justify-content:center;flex:0 0 18px;font-size:19px;color:#425e70}
.masp__idu .masp__cabinet-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;flex-wrap:nowrap}
.masp__idu .masp__cabinet{min-width:0;padding:9px 1px;font-size:12px;white-space:nowrap}
.masp__aisle--cold{background:#e8f5fa;border-block:1px dashed #31738b}
.masp__aisle--hot{background:#fff0e7;border-block:1px dotted #905b37}
.masp__cabinet-schedule{font-size:12px!important;line-height:1.4}
.masp__validation--green,.masp__verdict--green{background:#edf8f0;border-color:#23733c;border-left:6px solid #23733c}
.masp__validation--yellow,.masp__verdict--yellow{background:#fff4cf;border-color:#896000;border-left:6px dashed #896000}
.masp__validation--red,.masp__verdict--red{background:#fde9e9;border-color:#a4242b;border-left:6px double #a4242b}
.masp__validation--green>span{color:#23733c}.masp__validation--yellow>span{color:#896000}.masp__validation--red>span{color:#a4242b}
.masp__ups-unit{align-items:stretch}
.masp__equipment-row--cdu>.masp__path-unit{display:flex;flex-direction:column}
.masp__equipment-row--cdu .masp__cdu-unit{flex:1;align-items:stretch}
.masp__ups-unit .masp__equipment-box,.masp__cdu-unit .masp__equipment-box{justify-content:flex-start}
.masp__internal-devices{margin-top:5px;padding-top:6px;border-top:1px solid #8da5b4}
.masp__internal-devices>small{display:block;margin-bottom:4px;font-size:11px;color:#344e60}
.masp__internal-device-row{display:flex;gap:5px}
.masp__battery-cabinet,.masp__trim-device{flex:1;min-width:0;border:1px solid #708897;border-radius:3px;background:#fff;text-align:center;padding:5px 3px;font-size:11px;line-height:1.3}
@media print{
  .masp__diagram-scroll{overflow:visible;padding:0}
  .masp__diagram-content{min-width:0;width:100%}
  .masp__equipment-row{grid-template-columns:repeat(var(--paths,3),minmax(0,1fr));gap:5px}
  .masp__equipment-row{display:flex;flex-wrap:nowrap}
  .masp__equipment-row>*{flex:1 1 0;min-width:0}
  .masp__equipment-box{padding:3px;min-height:42px;font-size:8pt;overflow-wrap:normal}
  .masp__equipment-box strong{font-size:8pt}.masp__equipment-box small{font-size:8pt}
  .masp__internal-devices{margin-top:2px;padding-top:2px}
  .masp__internal-devices>small{display:none}
  .masp__internal-device-row{gap:3px}
  .masp__battery-cabinet,.masp__trim-device{font-size:8pt;padding:2px;line-height:1.1}
  .masp__battery-group{flex-basis:57px}.masp__battery-group>small{font-size:8pt;line-height:1.1}
  .masp__battery-sidecar{font-size:8pt;padding:6px 0}
  .masp__trim-sidecar,.masp__trim-spacer{flex-basis:50px}.masp__trim-sidecar{font-size:8pt;padding:2px 0}
  .masp__path-unit:before{font-size:10pt;line-height:11px}
  .masp__idu{padding:2px;border-width:1px}.masp__idu h5{font-size:8pt;margin-bottom:2px;line-height:1.1}
  .masp__idu-link{flex-basis:10px;font-size:10pt}
  .masp__idu .masp__cabinet{font-size:8pt;padding:2px 0;line-height:1.1}
  .masp__aisle{font-size:8pt;padding:1px;line-height:1.1}
  .masp__equipment-stage h4{font-size:8pt}.masp__cabinet-schedule{font-size:8pt!important;line-height:1.15}
  .masp__zone-summary th{width:42%}.masp__zone-summary td{font-weight:500}
  .masp__zone-summary th,.masp__zone-summary td{font-size:8pt;padding:2px 3px}
  .masp__validation,.masp__verdict{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .masp__validation--green,.masp__verdict--green{border:2px solid #23733c!important}
  .masp__validation--yellow,.masp__verdict--yellow{border:2px dashed #896000!important}
  .masp__validation--red,.masp__verdict--red{border:3px double #a4242b!important}
}
.masp__deployment-summary,.masp__breaker-schedule{width:100%;border-collapse:collapse;margin:18px 0;font-size:13px}
.masp__deployment-summary caption,.masp__breaker-schedule caption{font-size:19px;font-weight:700;text-align:left;margin:0 0 9px}
.masp__deployment-summary th,.masp__deployment-summary td,.masp__breaker-schedule th,.masp__breaker-schedule td{border:1px solid #a5b2bd;padding:7px 10px;text-align:left;vertical-align:top}
.masp__deployment-summary th,.masp__breaker-schedule th{background:#f3f7f9}
.masp__site-figure{margin:24px 0 12px;padding:16px;border:2px solid #546779;border-radius:8px;background:#fff}
.masp__site-figure>figcaption{font-size:22px;font-weight:700}
.masp__site-legend,.masp__site-qualification{font-size:12px;line-height:1.45}
.masp__site-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:6px}
.masp__site-scroll:focus-visible{outline:3px solid #087f8c;outline-offset:2px}
.masp__site-content{min-width:690px;font-size:12px;line-height:1.4}
.masp__site-sources,.masp__site-source-links{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 12px}
.masp__site-box{border:2px solid #52677a;border-radius:5px;padding:10px;background:#f4f8fa;display:flex;flex-direction:column;gap:5px;min-width:0}
.masp__site-box strong{font-size:13px}.masp__site-box small{font-size:11px}
.masp__site-building{border:3px solid #43586b;padding:12px;background:#f9fbfc}
.masp__site-boundary-label{display:block;font-size:16px;margin-bottom:10px}
.masp__site-distribution{display:grid;grid-template-columns:1fr 90px 2fr;gap:8px;align-items:center}
.masp__electrical-link{text-align:center;border-top:2px solid #52677a;margin:9px 0;padding:5px 2px;font-size:11px;font-weight:600}
.masp__site-content .masp__optional{border-style:dotted;border-color:#74818c;background:#fff;color:#475766}
.masp__breaker-groups{display:flex;gap:7px;flex-wrap:wrap}.masp__breaker{flex:1 1 100px;border:1px solid #52677a;padding:6px;background:#fff;display:flex;flex-direction:column;gap:4px}
.masp__breaker strong{font-size:11px}.masp__breaker small{font-size:10px}
.masp__site-zones{display:grid;grid-template-columns:repeat(var(--zone-columns,4),minmax(0,1fr));gap:9px}
.masp__site-zone{background:#eaf3f5}.masp__site-zone strong{font-size:12px}
.masp__thermal-link{color:#146487;border-top:3px double #146487;text-align:center;font-weight:700;margin:10px 0;padding-top:4px}
.masp__shared-heat,.masp__building-connection{border:1px solid #146487;background:#f0f8fc;padding:10px;text-align:center}
.masp__shared-heat p{margin:5px 0 8px}.masp__heat-paths{display:flex;gap:10px;justify-content:center}.masp__heat-path{flex:1;border-color:#146487;background:#fff}
@media(max-width:720px){.masp__site-figure{padding:8px}.masp__breaker-schedule{font-size:11px}.masp__breaker-schedule th,.masp__breaker-schedule td{padding:5px 3px}.masp__deployment-summary{font-size:12px}}
@media print{
  .masp__site-figure{break-inside:avoid;page-break-inside:avoid;padding:7px;margin:10px 0}
  .masp__site-figure>figcaption{font-size:13pt}.masp__site-legend,.masp__site-qualification{font-size:8pt;line-height:1.2;margin:5px 0}
  .masp__site-scroll{overflow:visible;padding:0}.masp__site-content{min-width:0;width:100%;font-size:8pt;line-height:1.2}
  .masp__site-box{padding:5px;gap:3px}.masp__site-box strong,.masp__site-zone strong{font-size:8pt}.masp__site-box small{font-size:8pt}
  .masp__site-building{padding:6px}.masp__site-boundary-label{font-size:10pt;margin-bottom:5px}
  .masp__site-sources,.masp__site-source-links{gap:10px;padding:0 6px}.masp__site-distribution{grid-template-columns:1fr 65px 2fr;gap:5px;break-inside:avoid}
  .masp__electrical-link{font-size:8pt;margin:5px 0;padding:3px 0}.masp__breaker{padding:3px}.masp__breaker strong,.masp__breaker small{font-size:8pt}
  .masp__site-zones{gap:5px}.masp__site-zone{break-inside:avoid}.masp__thermal-link{margin:5px 0;padding-top:3px}
  .masp__shared-heat,.masp__building-connection{padding:5px}.masp__heat-paths{gap:5px}
  .masp__deployment-summary,.masp__breaker-schedule{font-size:8pt;margin:8px 0;break-inside:auto}
  .masp__deployment-summary caption,.masp__breaker-schedule caption{font-size:11pt;break-after:avoid}
  .masp__deployment-summary th,.masp__deployment-summary td,.masp__breaker-schedule th,.masp__breaker-schedule td{padding:3px 5px}
  .masp__breaker-schedule thead{display:table-header-group}.masp__breaker-schedule tr{break-inside:avoid}
}
@media print{.masp__zone{break-inside:auto;page-break-inside:auto}.masp .masp__deployment-summary{break-inside:avoid;page-break-inside:avoid}.masp__breaker-schedule thead{break-after:avoid;page-break-after:avoid}}
@media print{.masp__zone{border:0;padding:0}.masp__zone-design-lead{break-inside:avoid;page-break-inside:avoid}}

/* Remove theme layout boxes, not just their ink, from the report print flow. */
@media print {
  body:has(.masp) *:not(.masp):not(.masp *):not(:has(.masp)){display:none!important}
  html:has(.masp),body:has(.masp),body :has(.masp){display:block!important;position:static!important;float:none!important;margin:0!important;padding:0!important;border:0!important;width:auto!important;max-width:none!important;min-width:0!important;height:auto!important;min-height:0!important;overflow:visible!important;transform:none!important;contain:none!important;box-shadow:none!important;background:none!important;break-before:auto!important;break-after:auto!important;break-inside:auto!important}
  html:has(.masp)::before,html:has(.masp)::after,body:has(.masp)::before,body:has(.masp)::after,body :has(.masp)::before,body :has(.masp)::after{display:none!important;content:none!important}
  .masp{max-width:none!important;width:100%!important;padding:0!important;border-radius:0!important}
}
