.print-recap{display:none}@media print{@page{size:A4;margin:14mm}.no-print,.app-header,.settings-panel,.btn-inline{display:none!important}.calc-summary{display:none}.print-recap{display:block}.app{max-width:none;padding:0}table,.chart{break-inside:avoid}.chart-canvas,.chart-canvas .recharts-responsive-container,.chart-canvas .recharts-wrapper{width:640px!important;height:260px!important}}:root{--color-bg:#fff;--color-bg-subtle:#fafafa;--color-text:#14151a;--color-text-secondary:#6b7280;--color-text-tertiary:#9aa0ac;--color-border:#e2e4e9;--color-accent:#2f6fed;--color-accent-bg:#eaf1fe;--color-target:#1a7f4b;--color-target-bg:#e5f6ec;--color-sub:#9a6a00;--color-sub-bg:#fdf3d8;--color-supra:#b3261e;--color-supra-bg:#fce8e6;--radius-card:12px;--radius-control:8px;--border-width:.5px;--border-width-emphasis:2px;--space-row-gap:6px;--space-card-padding-block:1rem;--space-card-padding-inline:1.25rem;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace;--font-weight-regular:400;--font-weight-medium:500;--font-size-hero:30px;--font-size-hero-label:13px;--font-size-support-label:12px;--font-size-support-value:15px;--font-size-table-row:14px;--font-size-table-head:12px;--font-size-body:15px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--color-bg:#121316;--color-bg-subtle:#191a1e;--color-text:#f2f2f5;--color-text-secondary:#a3a7b0;--color-text-tertiary:#797d87;--color-border:#33353c;--color-accent:#6ea2ff;--color-accent-bg:#16233d;--color-target:#4fd68a;--color-target-bg:#123424;--color-sub:#e9b949;--color-sub-bg:#3a2f0d;--color-supra:#ff6b64;--color-supra-bg:#3b1613}}:root[data-theme=dark]{--color-bg:#121316;--color-bg-subtle:#191a1e;--color-text:#f2f2f5;--color-text-secondary:#a3a7b0;--color-text-tertiary:#797d87;--color-border:#33353c;--color-accent:#6ea2ff;--color-accent-bg:#16233d;--color-target:#4fd68a;--color-target-bg:#123424;--color-sub:#e9b949;--color-sub-bg:#3a2f0d;--color-supra:#ff6b64;--color-supra-bg:#3b1613}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-weight:var(--font-weight-regular);font-size:var(--font-size-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}h1,h2,h3,legend{font-weight:var(--font-weight-medium);margin:0}button,input{font:inherit;color:inherit}.app{text-align:left;flex-direction:column;gap:16px;max-width:720px;margin-inline:auto;padding:16px;display:flex}.derived-summary{padding:var(--space-card-padding-block) var(--space-card-padding-inline);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg-subtle);flex-wrap:wrap;gap:12px;display:flex}.derived-item{font-size:var(--font-size-support-value);color:var(--color-text-secondary);align-items:center;gap:6px;display:inline-flex}.derived-item strong{font-family:var(--font-mono);font-weight:var(--font-weight-medium);color:var(--color-text)}.derived-summary-empty{padding:var(--space-card-padding-block) var(--space-card-padding-inline);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-card);color:var(--color-text-secondary);font-size:var(--font-size-support-value);text-align:left}.patient-form{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-card-padding-block) var(--space-card-padding-inline);text-align:left;gap:12px;display:grid}.patient-form legend{font-size:var(--font-size-body);padding:0}.field{gap:var(--space-row-gap);text-align:left;flex-direction:column;display:flex}.field-label{font-size:var(--font-size-support-label);color:var(--color-text-secondary)}.field-label .unit{color:var(--color-text-tertiary)}.field input[type=number],.field input[type=text]{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg);font-size:var(--font-size-support-value);text-align:left;padding:8px 10px}.field input[aria-invalid=true]{border-color:var(--color-supra)}.field-issue{border-radius:var(--radius-control);font-size:var(--font-size-support-label);font-weight:var(--font-weight-regular);align-self:flex-start;align-items:center;gap:6px;margin:0;padding:2px 8px;display:inline-flex}.field-issue.error{background:var(--color-supra-bg);color:var(--color-supra)}.field-issue.warn{background:var(--color-sub-bg);color:var(--color-sub)}.segmented{gap:6px;display:inline-flex}.seg{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg);cursor:pointer;padding:8px 16px}.seg.active{border-color:var(--color-accent);background:var(--color-accent-bg);color:var(--color-accent);font-weight:var(--font-weight-medium)}@media (width>=768px){.patient-form{grid-template-columns:repeat(2,1fr)}.patient-form legend,.patient-form>.field:first-child{grid-column:1/-1}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.btn-reset{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg);font-size:var(--font-size-support-value);cursor:pointer;align-items:center;gap:6px;padding:8px 12px;display:inline-flex}.settings-panel{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-card-padding-block) var(--space-card-padding-inline);text-align:left}.settings-summary{cursor:pointer;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);align-items:center;gap:8px;list-style:none;display:flex}.settings-summary::-webkit-details-marker{display:none}.settings-body{gap:12px;margin-top:12px;display:grid}.field-checkbox{font-size:var(--font-size-support-value);cursor:pointer;flex-direction:row;align-items:center;gap:8px}.field select{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg);font-size:var(--font-size-support-value);text-align:left;padding:8px 10px}@media (width>=768px){.settings-body{grid-template-columns:repeat(2,1fr)}}.badge{border-radius:var(--radius-control);font-size:var(--font-size-support-label);font-weight:var(--font-weight-regular);align-items:center;padding:2px 8px;display:inline-flex}.badge-modified{background:var(--color-accent-bg);color:var(--color-accent)}.badge-target{background:var(--color-target-bg);color:var(--color-target)}.badge-sub{background:var(--color-sub-bg);color:var(--color-sub)}.badge-supra{background:var(--color-supra-bg);color:var(--color-supra)}.badge-normal{background:var(--color-bg-subtle);color:var(--color-text-secondary)}.card{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-card-padding-block) var(--space-card-padding-inline);gap:var(--space-row-gap);text-align:left;flex-direction:column;display:flex}.card-primary{border-color:var(--color-accent)}.card-warn{border-color:var(--color-sub)}.card-error{border-color:var(--color-supra)}.card-title{font-size:var(--font-size-body);align-items:center;gap:8px;display:flex}.card-note{color:var(--color-text-secondary);font-size:var(--font-size-support-label);margin:0}.dose-kicker{color:var(--color-text-secondary);font-size:var(--font-size-hero-label)}.dose-hero{font-size:var(--font-size-hero);font-weight:var(--font-weight-medium);font-family:var(--font-mono);margin:0}.dose-hero-meta{color:var(--color-text-secondary);font-size:var(--font-size-hero-label);flex-wrap:wrap;align-items:center;gap:4px;margin:0;display:flex}.btn-inline{color:var(--color-accent);font-size:var(--font-size-support-label);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;padding:0;display:inline-flex}.card-divider{border:none;border-top:var(--border-width) solid var(--color-border);width:100%;margin:4px 0}.card-support-row{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width>=480px){.card-support-row{grid-template-columns:repeat(4,1fr)}}.card-support-item{flex-direction:column;gap:2px;display:flex}.support-label{font-size:var(--font-size-support-label);color:var(--color-text-secondary)}.support-value{font-size:var(--font-size-support-value);font-family:var(--font-mono)}.table-wrap{overflow-x:auto}.dose-table{border-collapse:separate;width:100%;border-spacing:0 var(--space-row-gap);text-align:right}.dose-table thead th{font-size:var(--font-size-table-head);color:var(--color-text-tertiary);font-weight:var(--font-weight-regular);text-align:right;padding:0 10px 4px}.dose-table thead th:first-child{text-align:left}.dose-table tbody tr{cursor:pointer}.dose-table tbody th[scope=row],.dose-table tbody td{font-size:var(--font-size-table-row);font-weight:var(--font-weight-regular);background:var(--color-bg);border-top:var(--border-width) solid var(--color-border);border-bottom:var(--border-width) solid var(--color-border);text-align:right;padding:10px}.dose-table tbody th[scope=row]{text-align:left;white-space:normal}.dose-table tbody td.num{font-family:var(--font-mono)}.dose-table tbody tr td:first-child,.dose-table tbody tr th:first-child{border-left:var(--border-width) solid var(--color-border);border-top-left-radius:var(--radius-control);border-bottom-left-radius:var(--radius-control)}.dose-table tbody tr td:last-child{border-right:var(--border-width) solid var(--color-border);border-top-right-radius:var(--radius-control);border-bottom-right-radius:var(--radius-control)}.dose-table tbody tr.selected th[scope=row],.dose-table tbody tr.selected td{border-top-width:var(--border-width-emphasis);border-bottom-width:var(--border-width-emphasis);border-top-color:var(--color-accent);border-bottom-color:var(--color-accent)}.dose-table tbody tr.selected td:first-child,.dose-table tbody tr.selected th:first-child{border-left-width:var(--border-width-emphasis);border-left-color:var(--color-accent)}.dose-table tbody tr.selected td:last-child{border-right-width:var(--border-width-emphasis);border-right-color:var(--color-accent)}.dose-table tbody tr:focus-visible th[scope=row],.dose-table tbody tr:focus-visible td{outline:2px solid var(--color-accent);outline-offset:-2px}@media (width<=480px){.dose-table thead th,.dose-table tbody th[scope=row],.dose-table tbody td{padding:8px 6px;font-size:12px}}.measured-table{border-collapse:collapse;width:100%}.measured-table th,.measured-table td{font-size:var(--font-size-table-row);font-weight:var(--font-weight-regular);border-top:var(--border-width) solid var(--color-border);text-align:left;padding:6px 0}.measured-table tr:first-child th,.measured-table tr:first-child td{border-top:none}.measured-table th[scope=row]{color:var(--color-text-secondary);font-weight:var(--font-weight-regular)}.measured-table td{text-align:right}.measured-table td.num{font-family:var(--font-mono)}.chart{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-card-padding-block) var(--space-card-padding-inline);gap:var(--space-row-gap);text-align:left;flex-direction:column;margin:0;display:flex}.chart-canvas{width:100%}.chart-caption{color:var(--color-text-secondary);font-size:var(--font-size-support-label);font-family:var(--font-mono);margin:0}.chart-empty{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-card-padding-block) var(--space-card-padding-inline);color:var(--color-text-secondary);font-size:var(--font-size-support-value);text-align:left;margin:0}.calc-steps{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-card-padding-block) var(--space-card-padding-inline);text-align:left}.calc-summary{cursor:pointer;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);align-items:center;gap:8px;list-style:none;display:flex}.calc-summary::-webkit-details-marker{display:none}.calc-list{gap:var(--space-row-gap);margin:12px 0 0;padding:0;list-style:none;display:grid}.calc-step{border-top:var(--border-width) solid var(--color-border);justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;display:flex}.calc-step:first-child{border-top:none}.calc-label{font-size:var(--font-size-support-label);color:var(--color-text-secondary)}.calc-value{font-size:var(--font-size-support-value);font-family:var(--font-mono);white-space:nowrap;text-align:right}.calc-ref{color:var(--color-text-tertiary);font-size:var(--font-size-support-label);margin:12px 0 0}.approval-banner{border:.5px solid var(--status-warn-border,#d9a441);background:var(--status-warn-bg,#faeeda);color:var(--status-warn-text,#633806);border-radius:8px;margin:0 0 12px;padding:8px 12px;font-size:13px}.export-bar{flex-direction:column;gap:8px;display:flex}.export-bar-buttons{flex-wrap:wrap;gap:8px;display:flex}.export-fallback{gap:var(--space-row-gap);flex-direction:column;display:flex}.export-fallback-textarea{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg);width:100%;min-height:96px;color:inherit;font-family:var(--font-mono);font-size:var(--font-size-support-value);resize:vertical;padding:8px 10px}.print-recap{text-align:left;border-bottom:var(--border-width) solid var(--color-border);margin-bottom:12px;padding-bottom:12px}.print-recap-title{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);margin:0}.print-recap-meta,.print-recap-sign{font-size:var(--font-size-support-label);color:var(--color-text-secondary);margin:4px 0 0}.print-recap-heading{font-size:var(--font-size-support-label);color:var(--color-text-secondary);margin:12px 0 4px}.print-recap-settings ul{font-size:var(--font-size-support-value);gap:2px;margin:0;padding:0;list-style:none;display:grid}.print-recap-modified{color:var(--color-text-secondary)}.print-recap-method{font-size:var(--font-size-support-label);color:var(--color-text-secondary);margin:12px 0 0}.print-recap-approval{font-size:var(--font-size-support-label);font-weight:var(--font-weight-medium);margin:12px 0 0}
