*{box-sizing:border-box} body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;margin:0;background:#f2f4f7;color:#17202a}
header{background:#17365d;color:#fff;padding:20px 24px} header h1{margin:0 0 6px;font-size:26px}
.tag{background:#f5b041;color:#17202a;border-radius:10px;padding:2px 9px;font-size:13px;vertical-align:middle}
.sub{max-width:900px;opacity:.92}.headline{font-size:20px;font-weight:700;background:#fff;color:#17365d;border-radius:8px;padding:10px 14px;max-width:900px;margin:12px 0}
button{cursor:pointer;border:1px solid #9db2cc;background:#fff;border-radius:8px;padding:9px 14px;font-size:15px;margin:4px 4px 4px 0}
button.primary{background:#2e86c1;color:#fff;border-color:#2e86c1;font-weight:700}
main{max-width:1080px;margin:0 auto;padding:16px}
.card{background:#fff;border-radius:12px;padding:18px 20px;margin:0 0 16px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.card h2{margin-top:2px} label{display:block;font-weight:600;font-size:14px;margin:6px 0}
input,select{width:100%;padding:8px;border:1px solid #b8c2cc;border-radius:6px;font-size:15px;margin-top:4px}
input.num{width:90px}.name-in{min-width:260px}
.grid5{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
table{width:100%;border-collapse:collapse;margin:8px 0 12px} th,td{border-bottom:1px solid #e3e8ee;padding:6px;text-align:left;vertical-align:top;font-size:14px}
tr.grand{font-weight:800;background:#eaf2f8} tr.inspect-total{background:#fdf6e3;font-weight:600} tr.inspect-row{background:#fffaf0}
.note{color:#5d6d7e;font-size:13px;font-weight:400}
#diagram{width:250px;max-width:80vw;display:block;margin:8px 0}
.body-shell{fill:#d6eaf8;stroke:#17365d;stroke-width:2}.glass{fill:#aed6f1;opacity:.7}
.zone{fill:#f9e79f;stroke:#7d6608;stroke-width:1.5;cursor:pointer;opacity:.85}.zone:hover{opacity:1}.zone.selected{fill:#e74c3c;stroke:#78281f}
.lbl{fill:#17365d;font-size:15px;font-weight:700;text-anchor:middle}.lbl.small{font-size:11px}
.print-table td,.print-table th{font-size:14px}
.disclaimers{border:2px solid #c0392b;border-radius:8px;padding:10px 16px;background:#fdf2f2;margin-top:14px}
footer{max-width:1080px;margin:0 auto;padding:0 16px 24px;color:#5d6d7e;font-size:13px}
@media print{
  header .headline,header button,section.card:not(#printArea),footer{display:none!important}
  header{background:#fff;color:#000;padding:0} main{padding:0}
  #printArea{box-shadow:none}
}
