.design-limits { margin:0 20px 20px; padding:0; border:1px solid #dce5f1; border-radius:8px; min-width:0; }
.design-limits legend { padding:0 8px; margin-left:10px; color:#0b55bd; font-size:14px; font-weight:700; }
.tools-accumulator .design-grid { padding:14px; }
#limits-note,.model-note { margin:0; padding:0 14px 14px; color:#526987; font-size:12px; line-height:1.6; }
.model-note { padding:14px 18px 0; }
.verification-panel { padding:20px; }
.verification-panel h2 { margin:0 0 14px; font-size:18px; }
.balance-equations { margin:0 0 14px; padding:12px; background:#f0f6ff; border-radius:8px; font-size:13px; line-height:1.7; }
.audit-table { width:100%; border-collapse:collapse; font-size:12px; }
.audit-table th,.audit-table td { padding:9px 5px; border-bottom:1px solid #dce5f1; text-align:left; overflow-wrap:anywhere; }
.audit-table th { width:55%; font-weight:600; color:#415671; }
.audit-table td { text-align:right; font-variant-numeric:tabular-nums; }
.audit-table small { color:#687892; }
.design-warnings { padding:12px 12px 12px 28px; background:#fff5de; border-left:3px solid #d99017; border-radius:5px; color:#704b0b; font-size:12px; line-height:1.6; }
.model-assumptions { padding-left:18px; color:#526987; font-size:12px; line-height:1.6; }
.model-assumptions li+li,.design-warnings li+li { margin-top:8px; }
.model-sources { font-size:12px; color:#1267d8; }
.engineering-inputs summary { padding:12px 14px; cursor:pointer; color:#0b55bd; font-weight:700; }
.engineering-inputs input,.engineering-inputs select { width:100%; min-width:0; min-height:40px; border:1px solid #cfdaea; border-radius:7px; padding:7px; background:#fff; font:inherit; }
.engineering-summary { padding:16px 20px; }
.engineering-summary h3 { margin:0 0 10px; color:#0b55bd; font-size:16px; }
.engineering-summary p { font-size:12px; line-height:1.5; }
.engineering-warning { background:#fff5de; border-left:3px solid #d99017; padding:8px 10px; }
@media screen and (max-width:600px) {
  .design-limits { margin:0 14px 16px; }
  .verification-panel { padding:16px; }
  .audit-table th { width:48%; }
}
@media print {
  /* Keep project information, inputs and results together on the first A4 sheet. */
  body.tools-accumulator .tools-page-header { padding:0 0 3mm; margin:0 0 3mm; min-height:0; }
  body.tools-accumulator .tools-page-header h1 { font-size:17pt; line-height:1.2; margin:1mm 0; }
  body.tools-accumulator .tools-page-header p { font-size:8pt; margin:0; }
  body.tools-accumulator .workspace { gap:3mm; align-items:start; }
  body.tools-accumulator .project-panel { margin:0; }
  body.tools-accumulator .project-toggle { min-height:8mm; padding:1mm 3mm; }
  body.tools-accumulator .project-fields { padding:2mm 3mm; gap:1.5mm 3mm; }
  body.tools-accumulator .input-panel,
  body.tools-accumulator .result-panel { margin:0; break-inside:avoid; page-break-inside:avoid; }
  body.tools-accumulator .input-panel .panel-title,
  body.tools-accumulator .result-panel .panel-title { padding:2mm 3mm; min-height:9mm; }
  body.tools-accumulator .input-panel .panel-title h2,
  body.tools-accumulator .result-panel .panel-title h2 { font-size:11pt; }
  body.tools-accumulator .input-grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding:3mm; gap:2.5mm 2mm; }
  body.tools-accumulator .input-grid label { min-width:0; gap:1mm; font-size:8pt; line-height:1.25; }
  body.tools-accumulator .input-grid label>small { font-size:6.5pt; }
  body.tools-accumulator .input-grid input { height:7mm; padding:0 1.5mm; font-size:9pt; }
  body.tools-accumulator .input-grid label b { min-width:0; padding:0 1.5mm; font-size:7pt; }
  body.tools-accumulator .design-limits { margin:0 3mm 3mm; }
  body.tools-accumulator .design-limits legend { font-size:8.5pt; }
  body.tools-accumulator .design-grid { padding:2mm; gap:2mm; }
  body.tools-accumulator #limits-note { padding:0 2mm 2mm; font-size:7pt; line-height:1.35; }
  body.tools-accumulator .result-grid { padding:3mm; gap:2mm; grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.tools-accumulator .result-grid article { min-height:24mm; padding:2.5mm; gap:1mm; }
  body.tools-accumulator .result-grid article>span { font-size:8pt; min-height:8mm; line-height:1.25; }
  body.tools-accumulator .result-grid strong { font-size:15pt; }
  body.tools-accumulator .result-grid article>b,
  body.tools-accumulator .result-grid article>small { font-size:7pt; }
  /* Print the simulation in block flow so iOS honors the page boundary. */
  body.tools-accumulator main > .right-column { display:block; width:186mm; height:auto; overflow:visible; }
  body.tools-accumulator .tank-panel { break-before:page; page-break-before:always; break-inside:avoid; page-break-inside:avoid; }
  body.tools-accumulator .tank-panel .panel-title { break-after:avoid; page-break-after:avoid; }
  body.tools-accumulator .engineering-inputs { display:none; }
  body.tools-accumulator .engineering-summary { grid-column:1/-1; padding:3mm; margin:0; break-inside:avoid; }
  body.tools-accumulator .engineering-summary h3 { font-size:9pt; margin:0 0 1mm; }
  body.tools-accumulator .engineering-summary p { font-size:7pt; margin:1mm 0; }
  body.tools-accumulator .engineering-summary .audit-table { font-size:7pt; }
  body.tools-accumulator .engineering-summary .audit-table th,body.tools-accumulator .engineering-summary .audit-table td { padding:1mm; }
  body.tools-accumulator .verification-panel { break-before:page; page-break-before:always; }
  .verification-panel { grid-column:1/-1; padding:4mm; break-inside:auto; margin:0 0 4mm; border:1px solid #cbd8e8; }
  .verification-panel h2 { font-size:12pt; }
  .audit-table,.model-assumptions,.design-warnings,.model-note,#limits-note,.model-sources { font-size:8pt; }
  .audit-table tr { break-inside:avoid; }
  .verification-panel .audit-table th,.verification-panel .audit-table td { padding:7px 5px; }
  .model-assumptions li+li,.design-warnings li+li { margin-top:4px; }
  .design-limits { margin:0 4mm 4mm; }
  .balance-equations { font-size:9pt; }
}
