:root{--teal:#286a78;--dark:#153e49;--lime:#d8e360;--bg:#f3f6f7;--muted:#607782;--border:#dbe4e7;--red:#a73832}*{box-sizing:border-box}body{margin:0;font-family:"Segoe UI",Arial,sans-serif;color:#213d48;background:var(--bg);font-size:14px}button,input,select,textarea{font:inherit}button{border:1px solid #cbd9de;background:white;border-radius:7px;padding:10px 15px;cursor:pointer;color:var(--dark);font-weight:600;transition:.12s}button:hover{border-color:var(--teal);background:#eaf2f3}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a9cbd5;outline-offset:2px}button.primary{background:var(--teal);border-color:var(--teal);color:white}button.lime{background:var(--lime);border-color:var(--lime)}button.danger{color:var(--red)}button.small{padding:6px 10px;font-size:12px}button:disabled{opacity:.45;cursor:default}#app{display:flex;min-height:100vh}aside{background:var(--dark);color:white;padding:28px 18px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{background:white;padding:16px 12px;border-radius:10px;margin:0 4px 36px}.brand img{width:180px;display:block}.brand span{font-size:9px;letter-spacing:1.7px;color:var(--teal);display:block;margin-top:9px}.sidebar-label{font-size:10px;color:#8db3be;letter-spacing:2px;margin:0 14px 12px}nav button{display:flex;gap:12px;align-items:center;width:100%;border:0;background:transparent;color:#c7dde3;text-align:left;margin:3px 0;padding:13px 12px;font-weight:500}nav button:hover{background:#255562}nav button.active{background:var(--lime);color:var(--dark);font-weight:700}nav .num{font-size:11px;border:1px solid currentColor;border-radius:5px;width:23px;height:23px;display:grid;place-items:center;opacity:.8}.side-bottom{margin-top:auto;padding:20px 10px 0;display:grid;gap:8px;font-size:12px}.side-bottom span{font-size:11px;color:#94b5be}.side-bottom button{background:transparent;color:#c7dde3;border-color:#49707b;margin-top:10px}main{padding:30px 40px}header{display:flex;justify-content:space-between;align-items:center;gap:24px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted)}h1{font-size:29px;margin:7px 0 22px;letter-spacing:-.7px}.actions{display:flex;gap:8px}.project-strip{display:flex;justify-content:space-between;align-items:center;border-block:1px solid var(--border);padding:14px 0;margin-bottom:24px}.project-strip strong{font-size:14px}.project-strip span{font-size:12px;color:var(--muted);margin-left:16px}#saveStatus{max-width:340px;text-align:right}.intro{color:var(--muted);line-height:1.66;margin:0 0 22px;max-width:900px}.card{background:white;border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 2px 3px #14384603}.card h2{font-size:17px;margin:0 0 20px}.card h3{font-size:14px;margin:0 0 16px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:12px;color:var(--muted);font-weight:600}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #ccdade;border-radius:6px;background:#fff;color:#203b45}input[type=number]{min-width:65px}input[type=checkbox]{width:17px;height:17px;accent-color:var(--teal)}input[type=color]{padding:3px;height:40px;width:60px}textarea{min-height:120px;resize:vertical;line-height:1.6}.hint{font-size:12px;color:var(--muted);line-height:1.6}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}.toolbar h2,.toolbar h3{margin:0}.pill{font-size:11px;background:#e9f1f3;padding:5px 8px;border-radius:4px;color:var(--teal)}.film-head{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:20px}.film-head .title{display:flex;gap:10px;align-items:center}.dot{width:12px;height:12px;display:inline-block;border-radius:50%;flex-shrink:0}.film-head h2{margin:0;font-size:16px}.toggles{display:flex;gap:16px;flex-wrap:wrap;background:#f3f7f8;padding:12px 14px;border-radius:7px;margin-top:18px}.toggles label{display:flex;align-items:center;gap:6px;font-size:12px}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.kpi{background:#fff;border:1px solid var(--border);border-radius:10px;padding:19px}.kpi span{color:var(--muted);font-size:12px;display:block}.kpi b{font-size:27px;margin-top:7px;display:block;font-weight:650}.kpi small{font-size:12px;color:var(--muted)}.notice{border-left:4px solid #c2cb43;background:#f5f7dd;padding:13px 16px;font-size:13px;line-height:1.6;margin-bottom:20px}.error{border-color:#bd4d42;background:#fff0eb}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-size:11px;padding:11px 12px;background:#f0f5f6;border-bottom:1px solid var(--border)}td{border-bottom:1px solid #e5ecef;padding:10px 12px;font-size:13px}td input{padding:7px 9px;max-width:150px}.changed{background:#f9f8da}.measure-layout{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(450px,1.4fr);gap:20px}.measure-layout>.card{min-width:0}svg{width:100%;height:auto;display:block}.empty{padding:40px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:8px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photo-tile{border:1px solid var(--border);border-radius:8px;padding:12px;background:white}.photo-tile img{width:100%;height:230px;object-fit:contain;background:#f3f6f7}.photo-tile input{margin:10px 0}.photo-actions{display:flex;justify-content:space-between}.app-footer{margin-top:25px;padding:16px 0;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.app-footer button{font-size:11px;background:transparent;border:0}.logo-preview{height:55px;width:auto;max-width:220px;object-fit:contain;margin-bottom:12px}#toast{position:fixed;right:24px;bottom:24px;background:var(--dark);color:white;border-radius:8px;max-width:430px;padding:15px 22px;box-shadow:0 5px 25px #1236;display:none;z-index:500}dialog{border:0;border-radius:12px;max-width:680px;padding:28px;line-height:1.7;color:#203d48}dialog::backdrop{background:#1238}dialog h2{margin-top:0}.preview-container{background:#dfe7eb;padding:25px;overflow:auto;border-radius:10px}.report-page{width:210mm;height:297mm;padding:12mm 12mm 10mm;background:white;margin:0 auto 20px;color:#20383f;position:relative;box-shadow:0 3px 15px #1232;font-family:"Segoe UI",Arial,sans-serif;font-size:9pt;display:flex;flex-direction:column;overflow:hidden}.report-header{height:15mm;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;border-bottom:2.5mm solid var(--teal);padding-bottom:3mm;margin-bottom:4mm}.report-header img{max-width:48mm;max-height:10mm}.report-header img.partner{max-width:28mm}.report-body{height:249mm;flex-shrink:0;overflow:hidden}.report-footer{font-size:7pt;display:flex;justify-content:space-between;color:white;background:var(--teal);height:4mm;align-items:center;padding:0 2mm;margin-top:auto}.report-block{margin:0 0 4mm;break-inside:avoid}.report-block h2{margin:0 0 3mm;padding:1.6mm 2mm;background:var(--teal);color:white;font-size:10pt;text-transform:uppercase;letter-spacing:.3px}.report-block h3{margin:0 0 2mm;font-size:9pt;color:var(--teal)}.report-block p{font-size:8.5pt;line-height:1.45;margin:0 0 2mm;white-space:pre-wrap;overflow-wrap:anywhere}.report-kv{display:grid;grid-template-columns:1fr 1fr;gap:1.5mm 5mm;font-size:8pt}.report-kv>div{display:flex;justify-content:space-between;gap:3mm}.report-kv b{text-align:right;overflow-wrap:anywhere}.report-film{border-bottom:1px solid #d5e2e5;padding-bottom:2mm}.report-film h3{background:var(--teal);color:white;padding:1mm 2mm;display:flex;justify-content:space-between}.report-film .highlight{color:#a3322a}.report-note{background:#eaf2f3;padding:3mm;border-left:1mm solid var(--lime)}.report-chart{border:1px solid #cbdcde;padding:2mm}.report-chart svg{max-height:105mm}.report-table{table-layout:fixed}.report-table td,.report-table th{font-size:7.3pt;padding:2mm 1mm;overflow-wrap:anywhere;text-align:right;border:1px solid #d4e0e3}.report-table th{background:var(--lime);color:var(--dark);text-align:center}.report-table td:first-child,.report-table th:first-child{width:57mm;text-align:left}.report-table td{background:#edf3f4}.report-photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:3mm}.report-photo-row img{width:100%;height:78mm;object-fit:contain;border:1px solid #bed0d5}.report-photo-row p{font-size:7pt;margin-top:1mm}.report-callouts{display:grid;grid-template-columns:1fr 1fr;gap:2mm;background:#e5eff1;border-radius:3mm;padding:3mm}.report-callouts div{background:var(--lime);padding:3mm;font-weight:700;color:var(--teal);text-align:center;font-size:10pt}.report-callouts .sub{grid-column:1/-1;background:none;padding:0;font-size:8pt}.report-caption{font-size:7pt;color:#617981;margin-top:1mm}.report-mini{font-size:7pt!important;color:#5d757c}.preview-toolbar{position:sticky;top:0;background:var(--bg);padding:10px 0;z-index:10}#printRoot{display:none}.check-line{display:flex;gap:8px;align-items:center}.mobile-scroll{overflow:auto}@page{size:A4;margin:0}@media print{html,body{margin:0!important;padding:0!important;background:white!important}#app,#toast,dialog{display:none!important}#printRoot{display:block!important}.report-page{margin:0!important;box-shadow:none!important;break-after:page;page-break-after:always}.report-page:last-child{break-after:auto;page-break-after:auto}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}@media(max-width:1100px){aside{}main{padding:24px}.brand img{width:145px}.measure-layout{grid-template-columns:1fr}.grid.three{grid-template-columns:repeat(2,1fr)}header{align-items:flex-start}.actions{flex-wrap:wrap;justify-content:flex-end}}@media(max-width:750px){aside{position:static;padding:15px}.brand{display:none}.sidebar-label,.side-bottom{display:none}nav{display:flex;overflow:auto}nav button{white-space:nowrap;width:auto}nav .num{display:none}#app{display:block}main{margin:0;padding:18px}.grid,.grid.three,.photo-grid{grid-template-columns:1fr}h1{font-size:23px}.project-strip{align-items:flex-start}.kpis{grid-template-columns:1fr}.preview-container{padding:8px}.app-footer{display:block}}

/* Report refinements, shared by preview and print. */
.report-page:first-child .report-header{height:10mm;border-bottom:0;padding-bottom:0;margin-bottom:1.5mm}
.report-page:first-child .report-body{height:256.5mm}
.report-block h2.report-main-title{text-align:center}
.report-kv b.usage-reduction{color:#8b1e24}
.report-table thead td.report-table-corner{background:transparent;border:none}

/* Keep the closing contact block at the bottom of the final report page. */
.report-body{display:flex;flex-direction:column}
.report-body>.report-block{flex-shrink:0}
.report-body>.report-signature{margin-top:auto;margin-bottom:0;padding-top:4mm}
.report-signature-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8mm;font-size:8.5pt;line-height:1.62}
.report-company{text-align:left}
.report-person{text-align:right}
.report-signature-columns strong{display:block;font-weight:700}
.report-signature-columns>div{overflow-wrap:anywhere}

.report-block p.report-calculation-note{text-align:center;margin:3mm 0 0;font-style:italic}
.report-calculation-note strong{font-weight:700;font-style:italic}

.report-block p.report-signature-note{width:90%;margin:3mm auto 0;padding:1.2mm 2mm;font-size:7pt;line-height:1.3;font-weight:400;color:#53676e;background:#f1f5f6;border-top:.25mm solid #cbdcde;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere}

.report-block h2.report-section-title{text-align:center;background:var(--lime);color:var(--dark)}

.adaptive-summary{width:100%;table-layout:fixed;margin-bottom:3mm}
.adaptive-summary td,.adaptive-summary th{font-size:var(--summary-font);padding:1.5mm var(--cell-padding);line-height:1.25;overflow-wrap:anywhere}
.adaptive-summary td:first-child,.adaptive-summary th:first-child{width:var(--label-width)}
.adaptive-summary thead td.report-table-corner{background:transparent;border:none}
.evaluation-chart{margin:0 auto;max-width:100%}
.report-evaluation-chart svg{max-height:none}
.chart-controls{margin-bottom:20px}

.adaptive-summary thead th{background:var(--teal);color:#fff}

.weight-note{display:block;font-size:.85em;font-weight:400;line-height:1.25;margin-top:1mm;overflow-wrap:anywhere}
.evaluation-grid{display:grid;grid-template-columns:repeat(var(--chart-columns,1),minmax(0,1fr));gap:3mm;align-items:start}
.evaluation-grid>.card{min-width:0;padding:14px}
.evaluation-grid .chart-controls{grid-template-columns:1fr}
.evaluation-title{font-size:10pt;color:var(--teal);margin:0 0 2mm;overflow-wrap:anywhere}
.report-block .evaluation-title{font-size:8pt;line-height:1.25}
.report-evaluation-chart{min-width:0;padding:1.5mm}
#content textarea{min-height:54px;resize:none;overflow:hidden}
.report-note{padding:2mm 3mm}
.report-note p:last-child{margin-bottom:0}
@media screen and (max-width:850px){#content .evaluation-grid{grid-template-columns:1fr}}

.chart-with-image{display:grid;grid-template-columns:minmax(0,1fr);gap:4mm;align-items:center}
.chart-with-image.has-image{grid-template-columns:minmax(0,1fr) minmax(0,3fr)}
.chart-with-image figure{margin:0;min-width:0;text-align:center}
.chart-with-image figure img{display:block;width:100%;max-height:60mm;object-fit:contain}
.chart-with-image figcaption{font-size:7pt;line-height:1.3;overflow-wrap:anywhere;margin-top:2mm}
.chart-image-controls{margin:14px 0}
.chart-image-controls .field{margin-top:10px}

.evaluation-title{text-align:center;font-weight:700}
.evaluation-chart svg text,.force-chart svg text,.evaluation-title .weight-note{font-weight:700}
.report-force-chart svg{max-height:none}

.phantom-note{visibility:hidden}
.chart-with-image.has-image{grid-template-columns:minmax(0,var(--image-width,25%)) minmax(0,1fr)}
.chart-with-image figure img{max-height:var(--image-height,60mm)}
.force-chart svg{max-height:none}

.evaluation-slot{min-width:0}


.report-location>div+div{margin-top:2mm}
.report-kv>.report-location{display:block}
.report-location>div{display:flex;justify-content:space-between;gap:3mm}

/* Compact comparison banner matching the supplied sample. */
.report-callouts.comparison-banner{display:grid;grid-template-columns:26% minmax(0,1fr);gap:0;padding:0;border:.35mm solid var(--teal);border-radius:3mm;background:#d1e4e8;overflow:hidden}
.comparison-banner .comparison-lead{display:flex;flex-direction:column;justify-content:center;gap:1.5mm;padding:3mm 2mm;background:var(--teal);color:white;border-radius:2.5mm}
.comparison-lead>strong{font-size:22pt;line-height:1.1}
.comparison-lead>small{font-size:8pt;line-height:1.25;overflow-wrap:anywhere}
.comparison-banner .comparison-values{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1.5mm 2mm;padding:2mm 3mm;background:transparent;align-content:center}
.comparison-banner .comparison-pill{padding:1.5mm 1mm;border:.3mm solid var(--teal);border-radius:1.2mm;background:var(--lime);color:var(--teal);font-size:8.5pt;line-height:1.25;overflow-wrap:anywhere;align-content:center}
.comparison-pill>strong{color:#8b3c16}
.report-block p.comparison-reference{font-size:7pt;text-align:center;margin:1mm 0 0;color:var(--teal)}

.evaluation-grid .evaluation-title{margin-bottom:.5mm}

#languageToggle{display:inline-flex;align-items:center;gap:7px}#languageToggle img{width:27px;height:17px;border:1px solid #cbdcde;object-fit:cover}
.report-kv>.actual-thickness-row{background:#cee4eb;border:.45mm solid #d40000;padding:.5mm 1mm;align-items:center}
.actual-thickness-row>span{text-decoration:underline;font-weight:700}
.report-kv b.film-consumption{background:#cee4eb;padding:.4mm 1.5mm;min-width:18mm;text-align:left}

.home-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd9de;background:white;border-radius:7px;padding:10px 15px;color:var(--dark);font:600 14px "Segoe UI",Arial,sans-serif;text-decoration:none}.home-button:hover{background:var(--bg)}.home-button:focus-visible{outline:2px solid var(--teal);outline-offset:3px}#creatorCredit{line-height:1.6}

/* Compact graphs retain font sizes and make room for following sections. */
.force-chart{padding:1mm}
.force-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 18px;margin:4px 0 1px;font-size:9pt;font-weight:700;line-height:1.3}
.force-legend>span{display:flex;align-items:center;gap:6px;max-width:100%;overflow-wrap:anywhere;min-width:0}
.force-legend i{display:inline-block;flex:0 0 16px;height:3px}
.report-compact .report-block{margin-bottom:2.5mm}
.report-compact .report-block h2{margin-bottom:2mm}
.report-compact .report-signature{margin-bottom:0}

.force-legend>span{flex-shrink:0}.force-legend>span>span{min-width:0}
