*{box-sizing:border-box}body{margin:0;background:#eef3f6;color:#152d3a;font:16px system-ui,sans-serif}header{background:#123343;color:white;padding:28px 0 24px;border-bottom:4px solid #29a793}header small{letter-spacing:.18em;color:#a1e6da}h1{margin:.3em 0}header p{margin:0;color:#c5dde5}.wrap{max-width:1120px;margin:auto;padding-inline:18px}main{padding-block:18px 40px}.panel{background:white;border:1px solid #cad9df;border-radius:12px;padding:16px;margin:12px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,155px),1fr));gap:12px}label{display:block;font-weight:600}input,select,button{font:inherit;border-radius:6px;padding:8px;border:1px solid #9eb5bf}input,select{width:100%;margin-top:4px;color:inherit;background:white}button{background:#12695d;color:white;cursor:pointer;margin-block:3px}button.secondary{background:white;color:#234855}.times{display:grid;grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:8px;margin:12px 0}.measure{border:1px solid #c9d8df;padding:5px}.measure button{float:right;padding:0 6px}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.9em}th,td{border:1px solid #9eb5bf;text-align:left;padding:6px;overflow-wrap:anywhere}th{background:#edf4f6}.ok{background:#d9f4e4;color:#125831}.bad{background:#ffe2df;color:#8c2525}#print{display:none}[hidden]{display:none!important}input:focus,select:focus,button:focus-visible{outline:2px solid #168f81;outline-offset:2px}
@page{size:letter;margin:9mm}@media print{body{background:white;font:9pt system-ui;color:#152d3a;print-color-adjust:exact;-webkit-print-color-adjust:exact}body>header,main{display:none}#print{display:block}table{table-layout:fixed}td,th{padding:3px}tr{break-inside:avoid}thead{display:table-header-group}.sheet{break-inside:avoid;margin:9px 0;border:1px solid #9eb5bf;padding:6px}.sheet h3,.sheet p{margin:3px 0}}

.mobile-summary{display:none}
@media screen and (max-width:680px){
  #results table{display:none}
  .mobile-summary{display:grid;gap:12px}
  .mobile-summary article{border:1px solid #cad9df;border-radius:8px;padding:12px;overflow-wrap:anywhere}
  .mobile-summary h3{margin:0 0 8px}
  .mobile-capacity{margin:0;padding:6px 8px;border-radius:4px;font-weight:700}
  .mobile-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:10px 0 0}
  .mobile-summary dt{font-size:.8rem;color:#34515f}
  .mobile-summary dd{margin:0;font-weight:600}
}
