:root{color-scheme:light;--ink:#111;--gray:#c8c8c8;--light:#f1f1f1;--blue:#124d84;--input:#f0f6fc;--selection:#fff0a6;--border:#252525}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e9e9e9;color:var(--ink);font:17px/1.3 "Times New Roman",Times,serif}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,.table-scroll:focus-visible{outline:3px solid #377aba;outline-offset:3px}button:disabled{cursor:default}[hidden]{display:none!important}.toolbar{max-width:1280px;margin:auto;padding:13px 24px;display:flex;align-items:center;justify-content:space-between;font:14px/1.2 Arial,sans-serif;color:#343434}.toolbar>span{font-weight:700}.toolbar>div{display:flex;align-items:center;gap:22px}.toolbar a{color:#343434;text-underline-offset:3px}.toolbar button{border:1px solid #aaa;background:#fafafa;border-radius:3px;padding:8px 12px}.sheet{max-width:1280px;margin:0 auto 36px;background:white;padding:22px 30px 24px;box-shadow:0 1px 8px #00000016}.loading-chart{width:63%;margin-left:9%;margin-bottom:16px}table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:16px;line-height:1.1}caption{background:#050505;color:white;text-align:left;font-size:18px;font-weight:700;padding:8px 10px;border:3px solid var(--border)}caption span{font-size:15px;font-weight:400}.loading-chart caption{display:table-caption}.loading-chart caption span{float:right;padding-top:2px}th{font-weight:700}th small{font-size:14px}.loading-chart table{border:4px solid var(--border)}.loading-chart thead th{text-align:left;padding:8px 6px 6px;vertical-align:bottom;border-right:5px double var(--border)}.loading-chart td,.loading-chart tbody th{text-align:center;padding:2px 5px;border-right:5px double var(--border);font-weight:700}.loading-chart tbody tr:nth-child(odd){background:var(--gray)}.loading-chart tbody tr:nth-child(even){background:var(--light)}.loading-chart th:first-child{width:27%}.table-scroll{overflow:auto}.maintenance-chart{margin-bottom:30px}.maintenance-chart table{min-width:950px;border:4px solid var(--border);text-align:center}.maintenance-chart caption{text-align:center;font-weight:400;font-size:18px}.maintenance-chart thead th{padding:4px 0}.maintenance-chart .group-head{border-left:5px double var(--border);line-height:1.2;padding:6px 2px}.maintenance-chart .group-head span{display:block;font-size:14px}.maintenance-chart .frequency{text-align:left;padding:8px 5px;border-top:1px solid #444;border-bottom:1px solid #444;border-left:5px double var(--border)}.maintenance-chart .weight-cell{font-size:15px;padding:5px 0;white-space:nowrap}.maintenance-chart .crcl-head{width:46px;vertical-align:bottom;padding-bottom:8px;font-size:16px}.maintenance-chart tbody td,.maintenance-chart tbody th{padding:3px 0;border-top:1px solid #aaa;font-weight:700}.shade{background:var(--gray)}.plain{background:var(--light)}.maintenance-chart .group-start{border-left:5px double var(--border)}.axis-selected{background:#d4e4f5!important;color:#123e65}.cell-selected{background:var(--selection)!important;color:#111;box-shadow:inset 0 0 0 2px #8a6311}.cell-base{box-shadow:inset 0 0 0 2px #3977ae}.cell-path{background:#e3edf7!important}#patient-inputs{padding:0 5%;scroll-margin-top:16px}input[type=number],input[type=text],input[type=date]{border:0;border-bottom:1px solid #333;border-radius:0;background:var(--input);color:var(--blue);padding:4px 5px;min-width:0;height:34px;font-family:Arial,sans-serif;font-size:17px;font-weight:600}input[type=number]{appearance:textfield;-moz-appearance:textfield}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input::placeholder{font-size:15px;font-weight:400;color:#738295}input[aria-invalid=true]{border-bottom:2px solid #a02525;background:#fff2f2}input[type=checkbox],input[type=radio]{accent-color:#174d7a;width:16px;height:16px;margin:0 5px 0 0;flex-shrink:0}.line-field{display:flex;align-items:baseline;gap:6px;white-space:nowrap;font-weight:700}.line-field input{width:70px}.line-field small{font-size:13px;font-weight:400;color:#505050}.patient-line{display:grid;grid-template-columns:auto auto auto auto auto;align-items:start;gap:14px}.patient-line #age{width:47px}.patient-line #height{width:58px}.patient-line #tbw{width:78px}.patient-line #ibw{width:76px}.sex{border:0;padding:6px 0 0;margin:0;display:flex;gap:7px;font-weight:700;white-space:nowrap}.sex label{display:flex;align-items:center}.sex input{width:14px;height:14px;margin-right:4px}.ibw-field button{background:none;border:0;color:var(--blue);font:12px Arial,sans-serif;text-decoration:underline;padding:4px 0}.formula-lines{margin-top:16px}.classification{margin:18px 0}.classification>span{font-weight:700}.classification .answer{margin-left:12px;display:inline-block}.secondary{font-size:14px;color:#444;font-weight:400;line-height:1.45}.labs-line{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;margin-top:18px}.answer{display:inline-block;min-width:74px;min-height:30px;padding:2px 5px;border-bottom:1px solid #333;color:var(--blue);font-weight:700;text-align:center;font-variant-numeric:tabular-nums}.answer.wide{min-width:220px}.renal-formulas{margin-top:20px}.equation-row{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.fraction{display:inline-flex;vertical-align:middle;flex-direction:column;text-align:center;line-height:1.2;margin-left:3px}.fraction>span:first-child{border-bottom:1px solid #111;padding:0 3px 2px}.fraction>span:last-child{padding-top:2px}.formula-answer{color:var(--blue);font-weight:700;font-size:16px}.age-rule{display:flex;flex-wrap:wrap;gap:12px 34px;align-items:center;margin:18px 0}.dose-line{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 20px;margin:18px 0 6px}.dose{min-width:102px;font-size:19px}.dose-line .line-field{font-size:19px}.lookup-detail{font-size:14px;color:#343434;display:flex;gap:6px;flex-direction:column;min-height:38px}.special-populations{border:0;padding:0;margin:20px 0 0}.special-populations legend{padding:0;text-decoration:underline;text-underline-offset:2px;font-size:17px}.checklist{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:10px;font-size:16px}.checklist label,.renal-status label{display:flex;align-items:center}.checklist small{font-size:12px;margin-left:4px;color:#555}.checklist .automatic input:disabled{opacity:1}.special-populations p{margin:8px 0}.renal-status{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:16px 0 22px;font-size:15px}.timing{margin-top:22px;border-top:2px solid #222;padding-top:16px}.load-given{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap}.load-given label{display:flex;align-items:center;gap:7px;font-size:16px}.load-given input[type=date]{width:157px;font-size:15px}.load-given input[type=text]{width:79px}.load-given small{font-size:13px;color:#555}.trough-line{display:flex;align-items:baseline;gap:18px;margin:16px 0 5px;font-size:19px}.trough{flex:1;text-align:left;min-height:38px;font-size:inherit}.timing .secondary{margin-top:4px}.validation{font-size:15px;color:#952020;margin:10px 0}footer{margin:22px 5% 0;padding-top:10px;border-top:1px solid #ddd;font:14px/1.5 Arial,sans-serif;color:#666}footer a{color:#4f657b;text-underline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cell-selected.cell-path{background:var(--selection)!important}
@media(min-width:1250px){.loading-chart td,.loading-chart tbody th{padding-top:1px;padding-bottom:1px}.maintenance-chart tbody td,.maintenance-chart tbody th{padding-top:2px;padding-bottom:2px}}
@media(max-width:1050px){.sheet{padding:18px 16px}#patient-inputs{padding:0 2%}.patient-line{grid-template-columns:repeat(3,1fr);gap:12px}.loading-chart{width:72%;margin-left:5%}.labs-line{justify-content:flex-start}.dose-line{justify-content:flex-start}.classification .answer{margin-left:5px}}
@media(max-width:600px){body{font-size:16px}.toolbar{padding:10px 12px}.toolbar>div{gap:12px}.toolbar a{font-size:12px}.toolbar button{font-size:12px;padding:7px}.sheet{padding:12px 10px;margin-bottom:0;box-shadow:none}.loading-chart{width:100%;margin-left:0;margin-bottom:20px}.loading-chart caption{font-size:16px}.loading-chart caption span{float:none;display:block;font-size:12px;padding-top:3px}.loading-chart th{font-size:15px}.loading-chart th small{font-size:12px}.loading-chart td{font-size:15px}.maintenance-chart{margin-bottom:22px}.maintenance-chart caption{font-size:16px}.maintenance-chart caption span{font-size:14px}.patient-line{grid-template-columns:repeat(2,1fr);gap:12px 8px}.sex{grid-column:2;grid-row:1}.ibw-field{grid-column:1/-1}.labs-line{gap:12px 14px}.line-field{font-size:16px}.labs-line .line-field{flex-wrap:wrap;gap:5px}.labs-line input{width:63px}.classification .answer{display:block;margin:6px 0 0;width:100%;text-align:left}.equation-row{gap:12px 20px}.age-rule{gap:8px 16px}.dose-line{flex-direction:column;gap:10px}.dose-line .line-field{display:grid;grid-template-columns:1fr 1fr}.dose-line .answer{text-align:left}.checklist{gap:11px;flex-direction:column}.trough-line{align-items:flex-start;flex-direction:column;gap:5px}.trough{width:100%}.load-given>strong{width:100%}.load-given{gap:10px}.load-given small{width:100%}.lookup-detail{margin-top:10px}footer{margin:20px 2% 0}}
.print-value{display:none}
@media screen and (max-width:600px){.toolbar{flex-wrap:wrap;gap:10px}.toolbar>div{flex-wrap:wrap}}
/* The 7.5 × 10 inch content area fits US Letter with ordinary printer margins.
   These rules come last so printing never inherits the narrow-screen layout. */
@page{size:letter portrait;margin:0.5in}
@media print{
  .app-tools{display:none!important}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  html{scroll-behavior:auto}
  /* Center within Letter's 10-inch printable height. A minimum (not fixed)
     height lets unusually long content grow without being clipped. */
  body{background:#fff;font:9.5pt/1.1 "Times New Roman",Times,serif;min-height:10in;display:flex;flex-direction:column;justify-content:center;align-items:center}
  .toolbar,.ibw-field button,#time-help{display:none!important}
  .sheet{width:7.5in;max-width:100%;flex:0 0 auto;margin:0 auto;padding:0;box-shadow:none;font-size:9.5pt}
  table{font-size:8.5pt;line-height:1;break-inside:avoid}
  caption{padding:2px 5px;font-size:11pt;border-width:1pt}
  caption span{font-size:9pt}
  th small{font-size:8.5pt}
  .loading-chart{width:68%;margin:0 auto 6px;break-inside:avoid}
  .loading-chart table{border-width:1.5pt}
  .loading-chart caption{font-size:11pt}
  .loading-chart caption span{display:inline;float:right;font-size:9pt;padding-top:1px}
  .loading-chart thead th{padding:3px;font-size:8.5pt;border-right-width:3px}
  .loading-chart th small{font-size:8.5pt}
  .loading-chart td,.loading-chart tbody th{padding:0 3px;font-size:8.5pt;border-right-width:3px}
  .maintenance-chart{margin:0 0 8px;break-inside:avoid}
  .table-scroll{overflow:visible}
  .maintenance-chart table{min-width:0;border-width:1.5pt}
  .maintenance-chart caption{font-size:11pt}
  .maintenance-chart caption span{font-size:9pt}
  .maintenance-chart .group-head{padding:3px 1px;border-left-width:3px;line-height:1.05}
  .maintenance-chart .group-head span{font-size:8pt}
  .maintenance-chart .weight-cell{font-size:8.5pt;padding:3px 0}
  .maintenance-chart .crcl-head{width:28px;font-size:9pt;padding-bottom:3px}
  .maintenance-chart .frequency{padding:3px;border-left-width:3px}
  .maintenance-chart tbody td,.maintenance-chart tbody th{padding:0}
  .maintenance-chart .group-start{border-left-width:3px}
  /* Outlines keep the selected cells recognizable in grayscale or without fills. */
  .axis-selected{color:#111;text-decoration:underline}
  .cell-selected{outline:1.5pt solid #111;outline-offset:-1.5pt}
  .cell-base:not(.cell-selected){outline:1pt dashed #444;outline-offset:-1pt}
  #patient-inputs{padding:0;break-inside:auto}
  .patient-line{grid-template-columns:auto auto auto auto auto;gap:8px;align-items:baseline}
  .line-field{font-size:9.5pt;gap:3px}
  .line-field small{font-size:8pt;color:#333}
  .sex{grid-column:auto;grid-row:auto;padding:0;gap:4px}
  .ibw-field{grid-column:auto}
  input,select{display:none!important}
  .print-value{display:inline-block;min-width:28px;padding:1px 3px;border-bottom:1px solid #333;color:#111;font:600 9.5pt/1.1 Arial,sans-serif;text-align:center;white-space:nowrap}
  .print-mark{width:11px;min-width:11px;height:11px;margin:0 4px 0 0;padding:0;border:1px solid #222;font:700 9pt/9px Arial,sans-serif;vertical-align:middle}
  .formula-lines{margin-top:6px}
  .classification{margin:7px 0}
  .classification .answer{display:inline-block;width:auto;margin:0 0 0 5px;text-align:center}
  .answer{min-width:45px;min-height:0;padding:1px 3px;color:#111}
  .answer.wide{min-width:165px}
  .secondary{font-size:8.5pt;line-height:1.15;color:#333}
  .labs-line{flex-wrap:nowrap;justify-content:space-between;gap:6px;margin-top:7px}
  .labs-line .line-field{flex-wrap:nowrap;gap:3px}
  .renal-formulas{margin-top:7px}
  .equation-row{gap:8px 16px}
  .fraction{line-height:1.05}
  .fraction>span:first-child{padding-bottom:1px}
  .fraction>span:last-child{padding-top:1px}
  .formula-answer{font-size:9pt;color:#111}
  .age-rule{margin:7px 0;gap:6px 16px}
  .dose-line{flex-direction:row;flex-wrap:nowrap;justify-content:space-between;gap:6px;margin:8px 0 4px;break-inside:avoid}
  .dose-line .line-field{display:flex;font-size:11pt}
  .dose-line .answer{text-align:center}
  .dose{min-width:65px;font-size:11pt}
  .lookup-detail{min-height:0;margin:0;font-size:8.5pt;line-height:1.15}
  .special-populations{margin:8px 0 0;break-inside:avoid}
  .special-populations legend{font-size:10pt}
  .checklist{flex-direction:row;gap:4px 12px;margin-top:5px;font-size:9pt}
  .checklist small{font-size:8pt;margin-left:3px}
  .timing{margin-top:9px;padding-top:7px;border-top-width:1pt;break-inside:avoid}
  .load-given{gap:5px 12px}
  .load-given>strong{width:auto}
  .load-given label{font-size:9.5pt;gap:5px}
  .trough-line{flex-direction:row;align-items:baseline;gap:10px;margin:7px 0 3px;font-size:11pt}
  .trough{width:auto;min-height:0;font-size:inherit}
  .timing .secondary{margin-top:3px}
  .validation{font-size:9pt;margin:5px 0;color:#111;font-weight:700}
  footer{margin:9px 0 0;padding-top:5px;font:8pt/1.15 Arial,sans-serif;color:#333;break-inside:avoid}
}

/* Phone installation controls stay separate from the printable chart. */
.app-tools{max-width:1280px;margin:0 auto;padding:0 24px 12px;display:flex;gap:10px 14px;flex-wrap:wrap;align-items:center;font:14px/1.45 Arial,sans-serif;color:#343434}
.app-tools>span{margin-right:auto}.app-tools button{border:1px solid #124d84;border-radius:4px;background:white;color:#124d84;padding:9px 12px;min-height:44px;font:inherit}
.app-tools #install-app{background:#124d84;color:white}.app-tools details{flex-basis:100%;background:white;border:1px solid #bbb;padding:10px 14px;border-radius:4px}.app-tools summary{cursor:pointer;font-weight:600;min-height:24px}.app-tools p{margin:8px 0}.app-tools button:disabled{opacity:.6}
@media(max-width:600px){.toolbar{flex-wrap:wrap;gap:10px}.toolbar>div{width:100%;justify-content:space-between}.toolbar button{min-height:44px;font-size:14px}.toolbar a{font-size:14px}.app-tools{padding:0 12px 12px}.app-tools>span{flex-basis:100%}.checklist label{min-height:32px}input[type=date]{font-size:16px!important}}
