
:root{--navy:#142139;--blue:#2f5fdd;--pale:#eef4ff;--edge:#dce5f3;--muted:#65748b}*{box-sizing:border-box}body{margin:0;background:#f5f8fc;color:var(--navy);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}a{color:var(--blue)}.wrap{max-width:1200px;margin:auto;padding:0 20px}header{background:#fff;border-bottom:1px solid var(--edge);position:sticky;top:0;z-index:5}.nav{display:flex;align-items:center;justify-content:space-between;min-height:65px;gap:16px}.logo{font-size:20px;font-weight:800}.logo b{color:var(--blue)}.mini{font-size:12px;color:var(--muted)}h1{font-size:clamp(28px,3vw,40px);margin:5px 0 10px}h2{font-size:19px;margin:0 0 15px}h3{font-size:16px;margin:0 0 6px}p{margin:8px 0;color:#5b6c83}.eyebrow{font-size:11px;letter-spacing:.1em;font-weight:800;color:var(--blue)}.hero{padding:28px 0 10px}.panel{border:1px solid var(--edge);border-radius:16px;background:#fff;padding:20px;margin:15px 0;box-shadow:0 8px 26px #14213908}.selection{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.choice{border:1px solid #cbd9f1;background:#fff;text-align:left;border-radius:12px;cursor:pointer;padding:17px;color:inherit}.choice:hover,.choice.active{border-color:var(--blue);background:var(--pale)}.choice strong{display:block;font-size:17px}.choice span{display:block;color:var(--muted);font-size:12px;margin-top:7px}.choice i{font-style:normal;font-size:24px;color:var(--blue)}button{font:inherit;cursor:pointer}button.primary{background:var(--blue);color:#fff;border:0;border-radius:9px;padding:11px 14px;font-weight:750}button.secondary{background:white;border:1px solid #aec4ea;color:#234e9d;border-radius:9px;padding:10px 13px;font-weight:700}button.danger{color:#aa3232;background:#fff;border:1px solid #f1c3c3;border-radius:8px;padding:8px 10px}button.small{padding:7px 10px;font-size:12px}.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}label{font-weight:650;font-size:13px;display:block;margin:9px 0}label small{font-weight:400;color:var(--muted)}input,select{width:100%;font:inherit;padding:10px 12px;border:1px solid #bdcee5;border-radius:9px;background:#fff;color:var(--navy);margin-top:5px}input:focus,select:focus{outline:2px solid #b5ccff;border-color:var(--blue)}.field-label{display:flex;align-items:center;gap:6px}button.help{display:inline-flex;width:21px;height:21px;justify-content:center;align-items:center;border:1px solid #99b5ea;border-radius:100%;color:var(--blue);background:#eff5ff;font-weight:900;font-size:13px;padding:0}button.help:focus-visible{outline:2px solid var(--blue)}.step{font-size:11px;color:var(--blue);font-weight:800;letter-spacing:.08em}.plant{border:1px solid #d8e3f2;border-radius:13px;margin:12px 0;overflow:hidden}.plant-head{background:#f4f7ff;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:10px}.plant-body{padding:14px}.plant-head strong{font-size:17px}.muted{color:var(--muted);font-size:13px}.room{border:1px solid #e2eaf4;border-radius:11px;padding:14px;margin-top:11px}.room-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.metric{background:#f0f5ff;border-radius:11px;padding:12px}.metric small{display:block;color:var(--muted)}.metric strong{font-size:20px;color:#2456b4}.right{margin-left:auto}.hint{font-size:12px;color:#617389;background:#f5f8fe;border:1px solid #dbe5f5;border-radius:10px;padding:10px 12px;margin:10px 0}.warning{color:#934719;background:#fff5e8;border-color:#f4d6a9}.foot{border-top:1px solid var(--edge);padding:25px 0;margin-top:28px;font-size:12px;color:var(--muted)}.foot a{margin-right:14px}.hidden{display:none!important}.empty{padding:22px;background:#f8fbff;border:1px dashed #b8cbe5;border-radius:11px;color:var(--muted)}dialog{border:1px solid var(--edge);border-radius:13px;padding:25px;max-width:520px;width:calc(100% - 24px);box-shadow:0 20px 60px #12244333}dialog::backdrop{background:#1023446b}.printhead{display:none}@media(max-width:800px){.selection,.grid,.metrics{grid-template-columns:1fr 1fr}.nav .mini{display:none}}@media(max-width:540px){.selection,.grid,.metrics{grid-template-columns:1fr}.wrap{padding:0 12px}.panel{padding:14px}.nav{min-height:58px}.toolbar{gap:6px}.plant-head{align-items:flex-start;flex-wrap:wrap}}@media print{@page{size:A4;margin:13mm}body{background:white;font-size:11px}header,.hero,.selection,.toolbar,.help,.foot,.hide-print,.choice{display:none!important}.printhead{display:block}.panel,.plant,.room{box-shadow:none;break-inside:avoid;padding:7px;margin:8px 0;border-color:#bbb}.plant-head,.metric{background:#f5f5f5}.metric strong{font-size:15px}.grid{grid-template-columns:repeat(3,1fr)}h1{font-size:20px}h2{font-size:16px}input,select{padding:4px;border:0;border-bottom:1px solid #ddd}button{display:none!important}.hint{font-size:10px}}

.room .source{font-size:12px;color:#607089;margin:12px 0}.advanced{padding:12px;background:#f4f7fc;border-radius:10px;margin:12px 0}.advanced summary{font-weight:700;cursor:pointer}.checks{display:grid;gap:5px;margin-top:10px}.check{font-size:12px;color:#775a22;background:#fff8ea;padding:7px 10px;border-radius:7px}.room select{max-width:100%}

.room-multi{margin-top:10px;padding:12px 14px;border-radius:9px;background:#eef4ff;color:#1a4182;font-weight:700;font-size:14px}

/* Eigenständiger, datenbasierter A4-Report (V2.4) */
#professional-report{display:none}
@media print{
 @page{size:A4 portrait;margin:14mm 13mm 16mm}
 body{background:#fff!important;color:#142139!important;font-family:Arial,Helvetica,sans-serif!important;font-size:9pt!important}
 body>header,body>main,body>footer,body>dialog{display:none!important}
 #professional-report{display:block!important}
 .report-sheet{width:100%;margin:0;color:#142139;line-height:1.35}
 .report-brand{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2.5px solid #2f5fdd;padding:0 0 13px}
 .report-logo{font-size:19pt;font-weight:800;letter-spacing:-.7px}.report-logo span{color:#2f5fdd}
 .report-kicker{color:#64748b;font-size:7pt;letter-spacing:1.3px;font-weight:700;margin-top:4px}
 .report-version{font-size:8pt;color:#64748b;text-align:right;line-height:1.6}
 .report-titleblock{padding:21px 0 15px}
 .report-titleblock h1{font-size:24pt;line-height:1.15;margin:4px 0 5px;overflow-wrap:anywhere}
 .report-titleblock p{margin:0;font-size:9pt;color:#61718b}
 .report-eyebrow{color:#2f5fdd;font-size:7.3pt;letter-spacing:1.2px;font-weight:800}
 .report-projectmeta{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;border:1px solid #dae4f2;background:#f6f9ff;border-radius:8px;padding:11px 12px;margin-bottom:20px}
 .report-meta-item span{display:block;color:#667892;font-size:7pt;margin-bottom:4px}.report-meta-item strong{display:block;font-size:8.5pt;overflow-wrap:anywhere}
 .report-section{margin:18px 0 0;break-inside:avoid-page}
 .report-sectionhead{display:flex;align-items:center;gap:10px;margin:0 0 9px;border-bottom:1px solid #e1e8f4;padding-bottom:7px}
 .report-sectionhead>b{color:#2f5fdd;font-size:8pt}.report-sectionhead h2{font-size:12pt;margin:0;color:#142139;font-weight:800}
 .report-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
 .report-kpis>div{background:#f0f5ff;border:1px solid #dbe6f8;border-radius:8px;padding:12px 10px}
 .report-kpis span{display:block;color:#60718b;font-size:7.5pt;margin-bottom:8px}
 .report-kpis strong{display:block;color:#1d4fbc;font-size:18pt;white-space:nowrap;line-height:1.1}
 .report-kpis em{font-style:normal;font-size:8pt;font-weight:600}
 .report-facts{display:flex;gap:20px;margin-top:10px;color:#576780;font-size:8pt}.report-facts b{color:#142139;font-size:10pt}
 .report-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:8pt}
 .report-table thead{display:table-header-group}
 .report-table th{background:#142e54;color:white;font-size:7pt;padding:8px 6px;text-align:left;font-weight:700}
 .report-table th.num,.report-table td.num{text-align:right;white-space:nowrap}
 .report-table td{border-bottom:1px solid #e0e8f2;padding:9px 6px;vertical-align:top;overflow-wrap:anywhere}
 .report-table tbody tr:nth-child(even){background:#f7f9fd}
 .report-table tbody tr{break-inside:avoid}
 .report-table td small{display:block;color:#697a90;font-size:7pt;font-weight:400;margin-top:3px}
 .report-bold{font-weight:750}.report-idx{color:#5772a0}
 .report-table tfoot td{background:#eaf1ff;color:#173e8f;font-weight:800;border-top:1px solid #b7cbf0}
 .report-room-table{font-size:7pt}
 .report-room-table th{font-size:6.5pt;padding:7px 4px}
 .report-room-table td{padding:8px 4px}
 .report-room-table th:nth-child(1){width:6%}.report-room-table th:nth-child(2){width:23%}.report-room-table th:nth-child(3){width:7%}.report-room-table th:nth-child(4){width:8%}.report-room-table th:nth-child(5){width:7%}.report-room-table th:nth-child(6){width:17%}.report-room-table th:nth-child(7){width:10%}.report-room-table th:nth-child(8){width:11%}.report-room-table th:nth-child(9){width:11%}
 .report-caption{font-size:7pt;color:#6b7890;margin-top:7px}
 .report-note{background:#f5f8fc;border-left:3px solid #2f5fdd;border-radius:0 6px 6px 0;padding:12px 13px}
 .report-note .report-sectionhead{border:none;padding:0;margin-bottom:7px}.report-note p{color:#445571;font-size:7.5pt;margin:5px 0}
 .report-footer{border-top:1px solid #ccd9e9;margin-top:18px;padding-top:7px;display:flex;justify-content:space-between;gap:8px;color:#61718b;font-size:7pt}
}

@media print{.report-section:has(.report-room-table){break-inside:auto}.report-room-table{break-inside:auto}}

/* V2.6: kompakter A4-Bericht, Fußzeile ohne verwaiste zweite Seite. */
@media print {
 @page {size:A4 portrait;margin:11mm 12mm 12mm}
 #professional-report{margin:0!important;padding:0!important}
 .report-sheet{width:100%;font-size:8.5pt;line-height:1.24}
 .report-brand{padding-bottom:9px}
 .report-titleblock{padding:12px 0 10px}
 .report-titleblock h1{font-size:21pt;margin:2px 0 3px}
 .report-projectmeta{padding:8px 10px;margin-bottom:11px}
 .report-section{margin-top:11px}
 .report-sectionhead{margin-bottom:6px;padding-bottom:5px}
 .report-kpis>div{padding:8px 9px}
 .report-kpis span{margin-bottom:4px}
 .report-kpis strong{font-size:16pt}
 .report-facts{margin-top:6px}
 .report-table th{padding:6px 5px}
 .report-table td{padding:6px 5px}
 .report-room-table td{padding:6px 4px}
 .report-note{padding:8px 10px}
 .report-note p{margin:3px 0}
 .report-footer{margin-top:9px;padding-top:5px;break-inside:avoid-page;page-break-inside:avoid;font-size:6.8pt}
 .report-balance-warning{margin-top:7px;border:1px solid #edb663;background:#fff6e9;color:#8c4218;padding:7px 9px;border-radius:5px;font-size:7.6pt;font-weight:700;break-inside:avoid-page}
}

/* UI 2026-10-26: visuelle Auswahlkarten, ohne Eingriff in den Rechenkern */
#choices .choice{min-height:150px;position:relative;background:linear-gradient(150deg,#ffffff,#f3f8fe);border-radius:15px;padding:16px 17px;transition:box-shadow .15s,border-color .15s,background .15s}
#choices .choice:nth-child(2){background:linear-gradient(145deg,#f2fbf9,#ecf8f7)}
#choices .choice:nth-child(3){background:linear-gradient(145deg,#f7f9ff,#eef3ff)}
#choices .choice:hover,#choices .choice.active{border-color:#2f5fdd;box-shadow:0 0 0 2px #2f5fdd22,0 7px 19px #0a285d14}
#choices .choice:focus-visible{outline:3px solid #2f5fdd;outline-offset:3px}
#choices .choice .choice-art{display:grid;place-items:center;width:82px;height:64px;margin-bottom:12px;background:#eaf3ff;border-radius:13px}
#choices .choice:nth-child(2) .choice-art{background:#e3f5f1}
#choices .choice .choice-art svg{width:70px;height:55px;fill:none;stroke:#215cad;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
#choices .choice strong{font-size:16px;color:#142139}
#choices .choice span{line-height:1.35;margin-top:4px;max-width:230px}
@media(min-width:801px){#choices .choice{min-height:157px}}
@media(max-width:540px){#choices{grid-template-columns:1fr}#choices .choice{min-height:100px;display:grid;grid-template-columns:72px 1fr;column-gap:13px;align-items:center}#choices .choice .choice-art{grid-row:span 2;width:66px;height:65px;margin:0}#choices .choice .choice-art svg{width:60px}#choices .choice strong{align-self:end}#choices .choice span{align-self:start}}
@media print{#choices{display:none!important}}

/* Drei Originalillustrationen aus der freigegebenen CalcAirVent-Vorlage */
#choices .choice .choice-art{width:100%;height:108px;margin-bottom:14px;background:transparent!important;display:flex;justify-content:center;align-items:center;overflow:hidden}
#choices .choice .choice-art img{display:block;width:auto;max-width:95%;height:100px;object-fit:contain;filter:none}
@media (max-width:640px){#choices .choice .choice-art{height:88px}#choices .choice .choice-art img{height:80px}}
