:root{--ink:#252528;--body:#57565b;--muted:#757279;--canvas:#faf9f6;--card:#fff;--border:#dedbd6;--teal:#783e48;--aqua:#f4ecee;--bad:#a32f3f;--badbg:#fdf1f2;--radius:10px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-size:15px;line-height:1.6}button,input,select{font:inherit}button{cursor:pointer}a{color:var(--teal);text-underline-offset:4px}button,a,input,select,summary{outline-offset:4px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--teal)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip-link{position:absolute;top:-100px;left:20px;background:white;padding:10px;z-index:30}.skip-link:focus{top:10px}.app{min-height:100vh}.sidebar{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1160px;margin:0 auto;padding:25px 36px;border-bottom:1px solid var(--border);height:auto;position:relative;background:transparent}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}.brand-mark{font-family:Georgia,serif;font-size:32px;line-height:1;color:var(--teal);letter-spacing:-3px;margin-right:5px}.brand-name{font-size:18px;font-weight:650;letter-spacing:-.5px}.brand-name span{color:var(--muted);font-weight:450}.nav-container{display:flex;gap:22px}.nav-link{border:0;background:none;color:var(--muted);font-size:13px;font-weight:500;padding:10px 0;border-bottom:1px solid transparent}.nav-link:hover{color:var(--ink)}.nav-link.active{color:var(--ink);border-color:var(--teal)}.page{max-width:1160px;margin:auto;padding:45px 36px 30px}.view{display:none}.view.active{display:block}.home-intro{padding:60px 0 44px;max-width:750px}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:600;color:var(--muted);text-transform:uppercase;margin:0 0 19px}.home-intro h1{font-size:clamp(40px,5vw,64px);font-weight:500;line-height:1.12;letter-spacing:-2.6px;margin:0 0 23px}.home-subtitle{color:var(--body);margin:0;font-size:16px}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:920px}.tool-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:transparent;border:1px solid var(--border);border-radius:var(--radius);padding:28px 30px;min-height:270px;color:var(--ink);transition:background .15s,border-color .15s}.tool-card:hover{background:#fff;border-color:#a69395}.tool-number{font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted);margin-bottom:24px}.tool-name{font-size:29px;line-height:1.15;font-weight:500;letter-spacing:-.7px;min-height:68px}.tool-description{color:var(--body);font-size:13px;margin:15px 0 28px}.go{margin-top:auto;display:flex;justify-content:space-between;width:100%;font-size:12px;font-weight:500;color:var(--teal)}.go span{font-size:20px;line-height:1}.home-note{color:var(--muted);font-size:11px;margin-top:27px}.page-head{margin:0 0 15px}.page-head .eyebrow{margin-bottom:12px}.page-head h1{font-size:36px;font-weight:500;letter-spacing:-1.2px;line-height:1.2;margin:0 0 11px}.page-head p{margin:0;color:var(--body);font-size:14px}.validation-note{font-size:11px;color:var(--muted);margin:0 0 27px}.work-tabs{display:flex;gap:24px;border-bottom:1px solid var(--border);margin-bottom:28px;overflow-x:auto;scrollbar-width:none}.work-tabs [role=tab]{border:0;border-bottom:2px solid transparent;white-space:nowrap;background:transparent;color:var(--muted);font-size:13px;padding:12px 1px;font-weight:500}.work-tabs [aria-selected=true]{border-bottom-color:var(--teal);color:var(--ink)}.shared-options{max-width:390px;margin-bottom:20px}.shared-options .field{gap:4px}.shared-options .field label{font-size:11px;color:var(--muted)}.shared-options select{background:transparent;font-size:13px;min-height:39px;padding:7px 10px}.patient-summary{display:flex;align-items:center;justify-content:space-between;gap:15px;background:none;color:var(--body);font-size:12px;padding:0 0 21px;border-bottom:1px solid var(--border);margin-bottom:24px}.workspace[data-active-pane=base]>.patient-summary,.workspace[data-active-pane=recovery]>.patient-summary{display:none}.text-button{background:transparent;border:0;color:var(--teal);padding:6px 0;font-size:12px;white-space:nowrap}.columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:24px;align-items:start}.stack{display:contents}.panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:26px;min-width:0;box-shadow:none}.panel h2{font-size:16px;line-height:1.35;font-weight:600;margin:0 0 15px;letter-spacing:-.25px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.section-head h2{margin:0}.intro{color:var(--body);font-size:12px;line-height:1.65;margin:0 0 20px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 18px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:12px;color:var(--body);font-weight:500}.field input,.field select{width:100%;min-height:45px;border:1px solid var(--border);border-radius:6px;background:#fff;padding:9px 11px;color:var(--ink);font-size:16px}.field input:focus,.field select:focus{outline:2px solid #b3979d;outline-offset:1px}.field input:disabled,.field select:disabled{background:#f5f4f2;color:var(--muted)}.help,.progress-hint{color:var(--muted);font-size:11px;line-height:1.5}.field-error{color:var(--bad);font-size:11px}.field-error:empty{display:none}input[aria-invalid=true]{border-color:var(--bad);background:var(--badbg)}.wide-rule{border:0;border-top:1px solid var(--border);margin:23px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:white;color:var(--body);border:1px solid var(--border);border-radius:6px;font-size:12px;font-weight:500;padding:10px 13px;min-height:40px;text-decoration:none}.button:hover{border-color:#a28c90;color:var(--ink)}.button.primary{background:var(--ink);border-color:var(--ink);color:#fff}.btnline,.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:19px}.button svg{width:15px;height:15px}.kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.kpi{background:none;border:0;border-bottom:1px solid var(--border);padding:15px 12px 17px 0;min-height:104px}.klabel{display:block;font-size:11px;line-height:1.5;color:var(--body);margin-bottom:7px}.kval{font-size:30px;font-weight:500;letter-spacing:-1px;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--ink)}.unit{color:var(--muted);font-size:10px;line-height:1.5;margin-top:6px}.dose-display{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:20px 0 0;padding:17px 0;border-top:1px solid var(--border);background:none}.dose-display small{display:block;color:var(--body);font-size:12px;margin-bottom:5px}.dose-display strong{font-size:27px;line-height:1.3;font-weight:500;letter-spacing:-.6px;display:block;font-variant-numeric:tabular-nums}.dose-note{font-size:11px;line-height:1.5;color:var(--muted);text-align:right}.cytodose{margin-top:15px;padding:19px 21px;border:0;border-radius:7px;background:var(--aqua)}.cytodose strong{font-size:35px;color:var(--teal)}.step-row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--border);font-size:12px;color:var(--body)}.step-row strong{font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.explain,.sources{border-top:1px solid var(--border);padding-top:17px;margin-top:22px;color:var(--body);font-size:12px;line-height:1.7}.sources{background:transparent;border:0;border-top:1px solid var(--border);padding:17px 0;border-radius:0}.sources p{max-width:850px}.explain summary,.sources summary{cursor:pointer;color:var(--body);font-weight:500;font-size:12px}.explain[open] summary,.sources[open] summary{margin-bottom:15px}.formula{background:#f6f5f2;border-radius:5px;padding:11px 13px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;overflow-wrap:anywhere;margin:10px 0}.callout{border:0;border-left:2px solid #bcb5b0;border-radius:0;background:none;padding:4px 0 4px 12px;color:var(--body);font-size:11px;line-height:1.7;margin-top:20px}.callout.error{border-color:var(--bad);color:#8b3340}.table-scroll{overflow:auto}.time-table{width:100%;border-collapse:collapse;font-size:12px}.time-table th{text-align:left;font-size:10px;font-weight:500;color:var(--muted);padding:12px 8px;border-bottom:1px solid var(--border)}.time-table td{padding:13px 8px;border-bottom:1px solid var(--border);vertical-align:top;font-variant-numeric:tabular-nums}.time-table th:first-child,.time-table td:first-child{padding-left:0}.time-table td:last-child{text-align:right}.time-table .highlight{color:var(--teal)}.time-table input{width:81px;border:1px solid var(--border);border-radius:5px;font:inherit;padding:7px;background:#fff}.time-table input:disabled{background:#f5f4f2}.pill-stat{font-size:10px;color:var(--body);font-weight:500}.timeline-head{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:20px}.timeline-head h2{margin:0 0 5px}.timeline-head p{color:var(--muted);font-size:12px;margin:0}.timeline-head .actions{margin:0}.timeline-wrap{margin-top:24px}.timeline-scroll{overflow:auto}.timeline{display:flex;min-width:max-content;gap:0;padding:8px 0 19px}.tday{width:100px;background:none;border:0;padding:0 5px;display:flex;flex-direction:column;align-items:center;color:var(--body);text-align:center}.tpoint{height:9px;width:9px;border-radius:50%;background:#d0c6c7;margin:16px 0}.tday.active .tpoint,.tday.zero .tpoint{background:var(--teal)}.tday strong{font-size:12px;font-weight:500}.tday em{font-size:11px;color:var(--muted);font-style:normal}.tflag{font-size:10px;line-height:1.4;margin-top:8px;color:var(--teal)}.time-focus{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:15px 0;margin:8px 0;border-top:1px solid var(--border)}.time-focus b{display:block;font-size:16px;font-weight:500}.time-focus p{font-size:12px;color:var(--muted);margin:5px 0}.note-label{font-size:10px;color:var(--muted)}.timeline-quick{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.tiny-btn{background:white;border:1px solid var(--border);border-radius:5px;padding:7px 10px;font-size:11px;color:var(--body)}.footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--border);padding-top:21px;margin-top:70px;color:var(--muted);font-size:10px}.workspace[data-active-pane=ptcy] .panel,.workspace[data-active-pane=meds] .panel,.workspace[data-active-pane=timeline] .panel,.workspace[data-active-pane=plan] .panel{grid-column:1/-1}.workspace[data-active-pane=ptcy] .columns,.workspace[data-active-pane=meds] .columns{max-width:820px}.workspace[data-active-pane=meds] .fields{max-width:500px}#bleed .stack>.btnline{grid-column:1/-1;margin:0}.export-actions{display:flex;justify-content:flex-end;gap:8px;align-items:center;margin:20px 0}.export-actions .progress-hint{font-size:10px}.export-actions .button{padding:7px 11px;min-height:34px;font-size:11px}.export-actions .button.primary{background:transparent;color:var(--body);border-color:var(--border)}
@media(max-width:850px){.sidebar{padding:20px 24px}.page{padding:35px 24px 24px}.nav-container{gap:17px}.columns{grid-template-columns:1fr 1fr;gap:18px}.panel{padding:20px}.fields{gap:15px}.field.full{grid-column:1/-1}.home-intro{padding-top:45px}.tool-card{padding:25px}}
@media(max-width:650px){.sidebar{padding:18px 20px;display:block}.brand{width:max-content;margin-bottom:14px}.brand-name{font-size:17px}.nav-container{gap:24px}.nav-link{font-size:12px;min-height:36px}.page{padding:27px 20px 22px}.home-intro{padding:28px 0 31px}.home-intro h1{font-size:43px;letter-spacing:-1.7px}.eyebrow{font-size:9px;margin-bottom:16px}.home-subtitle{font-size:14px}.tool-grid{grid-template-columns:1fr;gap:14px}.tool-card{min-height:0;padding:22px 24px;display:grid;grid-template-columns:1fr 20px;row-gap:12px}.tool-number{margin:0;grid-column:1}.tool-name{font-size:25px;min-height:0;grid-column:1;letter-spacing:-.6px}.tool-name br{display:none}.tool-description{font-size:12px;margin:0;grid-column:1}.go{grid-column:2;grid-row:1/4;align-self:center;font-size:0}.go span{font-size:23px}.home-note{margin-top:23px}.columns{grid-template-columns:1fr;gap:18px}.panel{padding:21px}.fields{gap:16px}.page-head h1{font-size:29px;letter-spacing:-.8px}.work-tabs{gap:23px;margin-bottom:22px}.work-tabs [role=tab]{font-size:12px;min-height:44px}.shared-options{max-width:none}.patient-summary{align-items:flex-start;font-size:11px}.patient-summary .text-button{padding:0;font-size:11px}.time-table{font-size:11px}.dose-display strong{font-size:25px}.cytodose strong{font-size:32px}.timeline{display:grid;min-width:0}.tday{width:100%;display:grid;grid-template-columns:50px 70px 1fr;text-align:left;align-items:center;justify-items:start;padding:11px 0;border-bottom:1px solid var(--border);gap:10px}.tpoint{display:none}.tday strong{grid-column:1}.tday em{grid-column:2}.tflag{grid-column:3;margin:0;font-size:11px}.tday.active{background:var(--aqua)}.timeline-head{display:block}.timeline-head .actions{margin-top:13px}.timeline-wrap{margin-top:20px}.export-actions{justify-content:flex-start;flex-wrap:wrap}.footer{margin-top:45px;flex-direction:column;gap:5px}}
@media(max-width:365px){.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.sidebar{padding:15px}.page{padding-left:15px;padding-right:15px}.work-tabs{gap:16px}.home-intro h1{font-size:37px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:#fff;font-size:12px}.sidebar,.skip-link,.work-tabs,.shared-options,.patient-summary,.validation-note,.btnline,.export-actions,.actions,.timeline-quick,.footer{display:none!important}.page{max-width:none;padding:0}.view{display:none!important}.view.active{display:block!important}.view.active [data-work-pane][hidden]{display:block!important}.columns{display:block}.stack{display:contents}.panel{padding:12px;border-radius:0;box-shadow:none;margin:12px 0;break-inside:avoid}.page-head h1{font-size:24px}.timeline-scroll{display:none}.kpi{display:block!important;min-height:70px}.kval{font-size:23px}.dose-display strong{font-size:22px}.table-scroll{overflow:visible}.time-table{font-size:9px}.time-table input{border:0;padding:0;width:55px;font-size:9px}.field input,.field select{border:0;border-bottom:1px solid var(--border);border-radius:0;min-height:25px;font-size:12px;padding:3px}.panel input:disabled{background:transparent}.sources{break-inside:avoid}.cytodose{print-color-adjust:exact;-webkit-print-color-adjust:exact}.workspace[data-active-pane=recovery] .kpi,.workspace[data-active-pane=treatment] .kpi{display:block!important}}

@media print{#bleed .panel{grid-column:auto!important;grid-row:auto!important}}

/* Focused homepage iteration v0.4.2 */
.sidebar{max-width:none;width:100%;height:85px;padding:20px max(28px,calc((100vw - 1088px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}
.sidebar .brand{margin:0}.brand-name{font-size:18px;font-weight:600;letter-spacing:-.5px}.header-drop{display:grid;place-items:center;width:36px;height:44px;color:#ba3948}.header-drop svg{display:block;width:23px;height:30px;transform-origin:50% 75%}.header-drop:hover svg{animation:drop-hover .65s ease-in-out 1}
@keyframes drop-hover{0%,100%{transform:translateY(0) rotate(0) scale(1)}25%{transform:translateY(-3px) rotate(-7deg) scale(1.04)}55%{transform:translateY(-2px) rotate(5deg) scale(1.04)}80%{transform:translateY(0) rotate(-2deg)}}
.main{display:flex;flex-direction:column;min-height:calc(100svh - 85px)}.page{width:100%;display:flex;flex-direction:column;flex:1}.workspace.active{flex:1}#home.active{display:flex;align-items:center;justify-content:center;flex:1;min-height:calc(100svh - 235px);padding:35px 0}
#home .tool-grid{width:100%;max-width:800px;grid-template-columns:1fr 1fr;gap:28px}#home .tool-card{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:29px;min-height:275px;padding:35px 22px;background:transparent;border:1px solid var(--border);border-radius:9px;text-align:center;transition:background .2s,border-color .2s}#home .tool-card:hover{background:#fff;border-color:#b6a5a6}#home .module-icon{display:block;width:60px;height:60px;color:var(--body)}#home .module-icon svg{display:block;width:100%;height:100%}#home .tool-name{font-size:13px;font-weight:500;letter-spacing:.1em;line-height:1.4;min-height:0;color:var(--ink)}.footer{margin-top:35px}
@media(max-width:650px){.sidebar{height:74px;padding:16px 20px}.brand-name{font-size:17px}.header-drop{width:30px;height:38px}.header-drop svg{width:20px;height:26px}.main{min-height:calc(100svh - 74px)}#home.active{padding:24px 0;min-height:calc(100svh - 225px)}#home .tool-grid{max-width:390px;grid-template-columns:1fr;gap:18px}#home .tool-card{min-height:195px;gap:22px;padding:26px 20px}#home .module-icon{width:50px;height:50px}#home .tool-name{font-size:12px;letter-spacing:.1em}.footer{margin-top:25px}}
@media(prefers-reduced-motion:reduce){.header-drop:hover svg{animation:none}}
@media print{.main{min-height:0;display:block}.page{display:block}#home.active{display:block;min-height:0}}

/* v0.4.3: viewport-wide frame and softer module choices */
.sidebar{padding-left:22px;padding-right:22px}.sidebar .brand-name{font-size:24px;letter-spacing:-.7px}.header-drop{width:28px}.main>.footer{width:100%;margin:0;flex:none;padding:20px 22px 23px;border-top:1px solid var(--border);display:flex;flex-direction:row;justify-content:space-between;gap:16px}#home .tool-grid{max-width:690px;gap:24px}#home .tool-card{min-height:235px;background:#f0ece7;border:1px solid transparent;border-radius:13px;gap:26px;padding:32px 22px}#home .tool-card:hover{background:#e9e3dc;border-color:transparent}#home .module-icon{width:58px;height:58px;color:#92515b}#home .tool-name{font-size:13px;letter-spacing:.09em;font-weight:550}
@media(max-width:650px){.sidebar{padding-left:16px;padding-right:16px}.sidebar .brand-name{font-size:21px;letter-spacing:-.6px}.main>.footer{padding:18px 16px 20px;flex-direction:column;gap:4px}#home .tool-grid{max-width:350px;gap:18px}#home .tool-card{min-height:187px;gap:22px;padding:26px 20px}#home .module-icon{width:50px;height:50px}#home .tool-name{font-size:12px}}
@media print{.main>.footer{display:none!important}}

/* v0.4.4: light stone, blood red and editorial wordmark */
:root{--canvas:#f3f3f2;--ink:#28262a;--body:#58575c;--muted:#747278;--border:#dcdcdf;--teal:#b43a48;--aqua:#f8e9ec;--bad:#a32f3f}
.sidebar{padding-left:40px;padding-right:40px}.sidebar .brand{color:var(--ink);transition:transform .2s ease}.sidebar .brand-name{font-family:Georgia,"Times New Roman",serif;font-size:27px;line-height:1.2;font-weight:400;letter-spacing:-.8px;color:var(--ink);transition:color .2s ease}.sidebar .brand:hover{transform:translateY(-1px)}.sidebar .brand:hover .brand-name,.sidebar .brand:focus-visible .brand-name{color:var(--teal)}.header-drop{color:var(--teal)}.main>.footer{padding-left:40px;padding-right:40px}#home .tool-card{background:#fafafa;border:1px solid transparent;border-radius:12px;gap:27px;transition:background .2s,border-color .2s}#home .tool-card:hover{background:#fff;border-color:#d6b6bc}#home .module-icon{color:var(--teal)}#home .tool-name{font-size:14px;letter-spacing:.035em;font-weight:500}.formula{background:#f4f4f3}
@media(max-width:650px){.sidebar{padding-left:22px;padding-right:22px}.sidebar .brand-name{font-size:24px;letter-spacing:-.7px}.main>.footer{padding-left:22px;padding-right:22px}#home .tool-name{font-size:13px;letter-spacing:.035em}}
@media(prefers-reduced-motion:reduce){.sidebar .brand:hover{transform:none}.header-drop:hover svg{animation:none}}

/* v0.4.5: oslowerk-inspired composition */
:root{--canvas:#f2eee4;--ink:#191918;--body:#58564f;--muted:#77736b;--border:#c9c4b9;--teal:#bb3b32;--aqua:#f6e4de;--bad:#a9322b}
.sidebar .brand-name{font-family:Arial,Helvetica,sans-serif;font-size:25px;font-weight:750;letter-spacing:-1.25px}.header-drop{color:var(--teal)}#home.active{flex-direction:column;justify-content:center;align-items:center;padding:42px 0 48px}.home-masthead{text-align:center;margin:0 0 62px;width:100%}.home-masthead h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(42px,6.8vw,80px);font-weight:700;line-height:1.06;letter-spacing:-4.2px;margin:0 0 21px;color:var(--ink)}.home-masthead h1 span{color:var(--teal)}.home-masthead p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}#home .tool-grid{max-width:700px;gap:25px}#home .tool-card{background:transparent;border:1px solid #c8c1b4;border-radius:4px;min-height:208px;gap:24px;padding:29px 22px;transition:background .2s,border-color .2s}#home .tool-card:hover{background:#f8f4eb;border-color:var(--teal)}#home .module-icon{width:52px;height:52px;color:var(--ink);transition:color .2s}#home .tool-card:hover .module-icon{color:var(--teal)}#home .tool-name{font-family:Arial,Helvetica,sans-serif;font-size:14px;letter-spacing:.055em;font-weight:600}.main>.footer{font-size:10px;letter-spacing:.025em}
@media(max-width:850px){.home-masthead h1{letter-spacing:-2.8px}}
@media(max-width:650px){.sidebar .brand-name{font-size:23px;letter-spacing:-1.1px}#home.active{padding:35px 0 38px;justify-content:center}.home-masthead{margin-bottom:37px}.home-masthead h1{font-size:clamp(39px,8.5vw,52px);letter-spacing:-2px;line-height:1.08;max-width:380px;margin:0 auto 17px}.home-masthead h1 span{display:block}.home-masthead p{font-size:12px;max-width:270px;margin:auto}#home .tool-grid{max-width:350px;gap:16px}#home .tool-card{min-height:168px;gap:20px;padding:24px 20px}#home .module-icon{width:45px;height:45px}#home .tool-name{font-size:12px}}
@media print{.home-masthead h1{font-size:36px;letter-spacing:-1px}.home-masthead{margin-bottom:20px}}

/* v0.4.6: red domain suffix with a restrained outward glide */
.sidebar .brand{transform-origin:left center;transition:transform .25s cubic-bezier(.2,.75,.25,1)}.sidebar .brand-domain{display:inline-block;color:var(--teal);font-weight:inherit;transform:translateX(0);transition:transform .3s cubic-bezier(.2,.75,.25,1)}.sidebar .brand:hover,.sidebar .brand:focus-visible{transform:rotate(-1deg)}.sidebar .brand:hover .brand-name,.sidebar .brand:focus-visible .brand-name{color:var(--ink)}.sidebar .brand:hover .brand-domain,.sidebar .brand:focus-visible .brand-domain{color:var(--teal);transform:translateX(4px)}
@media(prefers-reduced-motion:reduce){.sidebar .brand:hover,.sidebar .brand:focus-visible,.sidebar .brand:hover .brand-domain,.sidebar .brand:focus-visible .brand-domain{transform:none}}

/* v0.4.8: keep transplant setup out of the basic measurements pane. */
#allo[data-active-pane=base] .shared-options{display:none}

/* v0.4.9: start-day selector belongs to ciklosporin. */
.csa-start{border:0;padding:0;margin:2px 0 22px}.csa-start legend{font-size:11px;color:var(--body);padding:0;margin-bottom:9px}.segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid var(--border);border-radius:8px;background:#eae5da;max-width:460px}.segmented-option{position:relative;cursor:pointer;min-width:0}.segmented-option input{position:absolute;width:1px;height:1px;opacity:0}.segmented-option>span{display:block;text-align:center;border-radius:5px;padding:11px 15px;color:var(--body);font-size:13px;line-height:1.4;transition:background .18s,color .18s}.segmented-option small{display:block;font-size:10px;margin-top:4px;font-weight:400;color:var(--muted)}.segmented-option input:checked+span{background:#faf7f0;color:var(--teal);font-weight:600;box-shadow:0 1px 3px #24201912}.segmented-option input:focus-visible+span{outline:2px solid var(--teal);outline-offset:1px}.segmented-option:hover>span{color:var(--teal)}
@media(max-width:365px){.segmented-option>span{font-size:12px;padding:10px 8px}}
@media print{.segmented-option:not(:has(input:checked)){display:none}.segmented-control{display:block;border:0;background:none}.segmented-option>span{text-align:left;padding:0}.segmented-option input:checked+span{box-shadow:none;background:none}}

/* v0.4.10: bounded timeline and symmetric date/day lookup. */
#allo[data-active-pane=timeline] .columns{display:none}.timeline-wrap{margin-top:0;margin-bottom:0}.timeline-current{font-size:11px;color:var(--muted);margin:0 0 16px}.timeline-fixed{width:100%;overflow:visible}.timeline-fixed .timeline{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));min-width:0;width:100%;padding:0 0 12px;position:relative}.timeline-fixed .timeline:before{content:"";position:absolute;top:21px;left:3.5%;right:3.5%;height:1px;background:var(--border)}.timeline-fixed .tday{width:auto;min-width:0;display:flex;flex-direction:column;gap:0;padding:0 3px;border-bottom:0;align-items:center;text-align:center;position:relative}.timeline-fixed .tpoint{display:block;flex:none;width:9px;height:9px;margin:17px 0 13px;border:2px solid var(--canvas);box-sizing:content-box;background:#bfb7aa;z-index:1}.timeline-fixed .tday.active .tpoint,.timeline-fixed .tday.zero .tpoint{background:var(--teal)}.timeline-fixed .tday.active{background:none}.timeline-fixed .tday strong{font-size:12px;line-height:1.5;white-space:nowrap}.timeline-fixed .tday em{font-size:10px;white-space:nowrap;margin-top:3px}.timeline-fixed .tflag{font-size:9px;line-height:1.4;max-width:100%;overflow-wrap:anywhere;margin-top:8px;color:var(--teal)}.timeline-fixed .tday.zero strong{color:var(--teal);font-weight:700}.timeline-lookup-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}#allo[data-active-pane=timeline] .timeline-lookup-grid .panel{grid-column:auto}.timeline-lookup-grid .dose-display{min-height:75px;align-items:flex-start}.timeline-lookup-grid .dose-display strong{font-size:27px}
@media(max-width:650px){.timeline-fixed .timeline{grid-template-columns:repeat(7,minmax(0,1fr));row-gap:19px}.timeline-fixed .timeline:before{display:none}.timeline-fixed .tpoint{margin-top:7px}.timeline-fixed .tday strong{font-size:12px}.timeline-fixed .tday em{display:none}.timeline-fixed .tflag{font-size:9px}.timeline-lookup-grid{gap:14px;margin-top:18px}.timeline-lookup-grid .panel{padding:16px 12px}.timeline-lookup-grid .panel h2{font-size:14px}.timeline-lookup-grid .field label{font-size:11px}.timeline-lookup-grid .field input{padding:8px 5px;min-width:0;font-size:16px}.timeline-lookup-grid .help{font-size:10px;min-height:30px}.timeline-lookup-grid .dose-display strong{font-size:20px;letter-spacing:-.4px}.timeline-wrap .time-focus{gap:12px;align-items:flex-start}.timeline-wrap .time-focus .pill-stat{max-width:50%;text-align:right}}
@media print{#allo[data-active-pane=timeline] .columns{display:block}.timeline-fixed .timeline{grid-template-columns:repeat(14,minmax(0,1fr))}.timeline-lookup-grid{grid-template-columns:1fr 1fr}.timeline-fixed .tday em{display:block}.timeline-fixed .tflag{font-size:8px}}

/* v0.4.12: contextual help, usable with pointer, keyboard and touch. */
.label-with-help{display:flex;align-items:center;gap:8px}.help-popover-wrap{position:relative;display:inline-flex}.info-button{width:19px;height:19px;padding:0;border:1px solid #a9a398;border-radius:50%;background:transparent;color:var(--body);font-family:Georgia,serif;font-size:12px;font-weight:700;line-height:17px;text-align:center}.info-button:hover,.info-button[aria-expanded=true]{color:var(--teal);border-color:var(--teal)}.help-popover{position:absolute;top:calc(100% + 8px);left:0;width:min(325px,calc(100vw - 105px));padding:17px 18px;background:#faf7ef;color:var(--body);border:1px solid var(--border);border-radius:7px;box-shadow:0 8px 24px #29231c14;font-size:12px;line-height:1.6;z-index:15}.help-popover:before{content:"";position:absolute;top:-9px;left:0;width:100%;height:10px}.help-popover p{margin:0 0 12px}.help-popover strong{color:var(--ink);font-weight:600}.help-popover a{font-size:10px}.help-popover .help{font-size:10px}
@media print{.info-button,.help-popover{display:none!important}}
/* v0.4.13: patient details are entered once; treatment starts at the calculation. */
@media(min-width:651px){


}

/* v0.4.14: a read-only course follows the treatment calculation. */
#bleed .bleed-timeline{margin-top:20px}
#bleed[data-active-pane=recovery]>.export-actions,#bleed[data-active-pane=recovery]>#bCopyMsg{display:none}

/* v0.4.16: aligned basic panels and a single separator above CG weight. */
#allo .cg-weight-field{margin-top:23px}
@media(min-width:651px){#allo[data-active-pane=base] .columns{align-items:stretch}#allo[data-active-pane=base] .panel[data-work-pane=base]{align-self:stretch}}

/* v0.4.19: compact PTCy weight and dose comparison. */
#allo[data-active-pane=ptcy]>.patient-summary .text-button{display:none}
.ptcy-weights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid var(--border)}
.ptcy-weights span{display:block;color:var(--body);font-size:12px;margin-bottom:7px}.ptcy-weights strong{font-size:25px;font-weight:500;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.ptcy-percent{max-width:220px;margin:18px 0}.ptcy-dose-summary .step-row{padding:11px 0}.ptcy-selected{color:var(--ink);font-weight:600}.ptcy-selected strong{font-weight:600}.ptcy-basis{font-size:11px;color:var(--muted);margin:9px 0 0}
@media(max-width:650px){.ptcy-weights{gap:10px}.ptcy-weights span{font-size:10px}.ptcy-weights strong{font-size:21px}.ptcy-panel .cytodose{align-items:flex-start;flex-direction:column;gap:10px}.ptcy-panel .step-row{gap:12px}}

/* v0.4.21: proximity hover and one line per timeline event. */
#allo[data-active-pane=timeline]>.patient-summary .text-button{display:none}
.timeline-event{display:block}.timeline-event+.timeline-event{margin-top:5px}
.timeline-event-list{text-align:right;color:var(--teal);font-size:12px;line-height:1.5;max-width:55%}
#aTimeline .tpoint{--point-base:#bfb7aa;background:color-mix(in srgb,var(--point-base),var(--teal) var(--point-red,0%));transform:scale(calc(1 + var(--point-proximity,0)*.95));transition:transform 140ms ease-out,background-color 180ms ease-out}
#aTimeline .active .tpoint,#aTimeline .zero .tpoint{--point-base:var(--teal)}
#aTimeline .tday:focus-visible .tpoint{background:var(--teal);transform:scale(1.65)}
@media(prefers-reduced-motion:reduce){#aTimeline .tpoint{transition:none;transform:none}}

/* v0.4.22: restrained local hover and a short day-zero celebration. */
#aTimeline .tpoint{transform:scale(calc(1 + var(--point-proximity,0)*.4));transition:transform 180ms ease-out,background-color 180ms ease-out}
#aTimeline .tday:focus-visible .tpoint{transform:scale(1.35)}
#aTimeline .transplant-event{white-space:nowrap;width:max-content;max-width:none;position:relative;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:-.2px}
.day-zero-confetti{position:fixed;z-index:100;pointer-events:none;width:0;height:0}.day-zero-confetti i{position:absolute;width:4px;height:7px;border-radius:1px;animation:day-zero-burst 700ms cubic-bezier(.15,.65,.35,1) both}
@keyframes day-zero-burst{0%{transform:translate(0,0) rotate(0);opacity:0}12%{opacity:1}80%{opacity:.8}100%{transform:translate(var(--confetti-x),calc(var(--confetti-y) + 30px)) rotate(var(--confetti-rotation));opacity:0}}
@media(prefers-reduced-motion:reduce){#aTimeline .tpoint,#aTimeline .tday:focus-visible .tpoint{transition:none;transform:none}.day-zero-confetti{display:none}}

/* v0.4.23: include day +7 and keep each event on one line. */
.timeline-fixed .timeline{grid-template-columns:repeat(15,minmax(0,1fr))}
#aTimeline .timeline-event{white-space:nowrap;width:max-content;max-width:none;position:relative;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:-.2px}
@media(max-width:650px){.timeline-fixed .timeline{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media print{.timeline-fixed .timeline{grid-template-columns:repeat(15,minmax(0,1fr))}}

/* v0.4.24: brief labels with separate clinical detail and CyA follow-up. */
.timeline-event-list{max-width:72%;font-size:12px}.timeline-event-list .timeline-event{white-space:normal;overflow-wrap:normal}.cya-followup{margin-top:12px;padding-top:14px;border-top:1px solid var(--border)}
@media(max-width:650px){.timeline-wrap .time-focus{display:grid;grid-template-columns:auto minmax(0,1fr)}.timeline-event-list{max-width:none;font-size:11px}}

/* v0.4.26: one shared follow-up field with dates on the left. */
.followup-box{margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.followup-box h3{margin:0 0 8px;font-size:13px;font-weight:600}.followup-row{display:grid;grid-template-columns:minmax(170px,.45fr) 1fr;gap:24px;padding:9px 0;font-size:12px;align-items:baseline}.followup-row b{color:var(--teal);font-weight:500;font-variant-numeric:tabular-nums}.followup-row>span{text-align:right;color:var(--body)}
@media(max-width:650px){.followup-row{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:14px;font-size:11px}}

/* v0.4.28: quiet patient context in the page heading. */
.workspace .page-head>.patient-summary{border:0;background:none;padding:0;margin:14px 0 0;justify-content:flex-start;gap:16px;color:var(--muted);font-size:12px;line-height:1.7}
.workspace .page-head>.patient-summary .text-button{font-size:11px;padding:0;white-space:nowrap}
.workspace[data-active-pane=base] .page-head>.patient-summary,.workspace[data-active-pane=recovery] .page-head>.patient-summary{display:none}
@media(max-width:650px){.workspace .page-head>.patient-summary{font-size:11px;flex-wrap:wrap;gap:5px 12px}}

/* v0.4.29: optional patient serology with explicit positive/negative choices. */
.patient-status{border:0;padding:0;margin:0;min-width:0}.patient-status legend{font-size:11px;color:var(--body);margin-bottom:7px;padding:0}.patient-status .segmented-control{max-width:none;gap:3px}.patient-status .segmented-option>span{padding:10px 8px;font-size:12px}

/* v0.4.30: CMV and EBV stay together on a shared row. */
.serology-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
@media(max-width:650px){.serology-group{gap:12px}.serology-group .segmented-option>span{padding:10px 5px;font-size:11px}}

/* v0.4.32: distinguish today from the selected day and show today's tasks. */
#aTimeline .tday.today .tpoint{box-shadow:0 0 0 3px var(--canvas),0 0 0 4px var(--teal)}
#aTimeline .tday.today strong{font-weight:700;color:var(--teal)}

/* v0.4.33: interchangeable context above tabs without changing their position. */
.context-slot{display:grid;align-items:center;margin:0 0 18px;min-height:32px}
.workspace .context-slot>.validation-note,.workspace .context-slot>.patient-summary{grid-area:1 / 1;margin:0;padding:0;border:0;background:none;font-size:12px;line-height:1.7}
.workspace .context-slot>.patient-summary{display:flex;justify-content:flex-start;gap:16px;color:var(--muted)}
#allo[data-active-pane=base] .context-slot>.patient-summary,#bleed[data-active-pane=recovery] .context-slot>.patient-summary{visibility:hidden}
#allo:not([data-active-pane=base]) .context-slot>.validation-note,#bleed:not([data-active-pane=recovery]) .context-slot>.validation-note{visibility:hidden}
@media(max-width:650px){.workspace .context-slot>.validation-note,.workspace .context-slot>.patient-summary{font-size:11px}.workspace .context-slot>.patient-summary{flex-wrap:wrap;gap:5px 12px}}
@media print{.context-slot{display:none}}

/* v0.4.34: independently collapsible medication fields. */
.medication-block{border:0;margin:0}.medication-block+.medication-block{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}
.medication-block>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none}.medication-block>summary::-webkit-details-marker{display:none}.medication-block>summary h2{margin:0}.medication-toggle{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted);white-space:nowrap}.medication-chevron{font-size:19px;line-height:1;transition:transform .16s}.medication-block[open]>summary .medication-chevron{transform:rotate(180deg)}.medication-block[open] .when-closed,.medication-block:not([open]) .when-open{display:none}.medication-body{padding-top:18px}.medication-block>summary:hover .medication-toggle{color:var(--teal)}
@media(prefers-reduced-motion:reduce){.medication-chevron{transition:none}}
@media print{.medication-block>.medication-body{display:block!important}.medication-toggle{display:none}}

/* v0.4.35: icon-only circular disclosure controls. */
.medication-toggle{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;gap:0;border:1px solid var(--border);border-radius:50%;color:var(--body);background:transparent;transition:background .18s,border-color .18s,color .18s}
.medication-toggle .medication-chevron{display:block;width:16px;height:16px}
.medication-block>summary:hover .medication-toggle,.medication-block>summary:focus-visible .medication-toggle{background:var(--aqua);border-color:var(--teal);color:var(--teal)}
@media(prefers-reduced-motion:reduce){.medication-toggle{transition:none}}
@media print{.medication-toggle{display:none}}

/* v0.4.38: separate the section title from individual medication headings. */
.medication-heading{margin-bottom:28px}.panel .medication-heading h2{font-size:23px;line-height:1.25;font-weight:600;letter-spacing:-.6px}
.medication-block>summary h3{margin:0;font-size:16px;line-height:1.4;font-weight:500;letter-spacing:-.2px}
@media(max-width:650px){.panel .medication-heading h2{font-size:21px}.medication-heading{margin-bottom:24px}.medication-block>summary h3{font-size:15px}}

/* v0.4.39: compact ursodeoxycholic acid result without separators. */
.medication-block.urso-block{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.urso-block>.medication-body{padding-top:10px}.urso-block .intro{margin-bottom:10px}
.urso-dose-row{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:7px 0 3px}.urso-dose-row strong{font-size:24px;line-height:1.35;font-weight:500;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.urso-frequency{font-size:15px;color:var(--body)}
@media(max-width:650px){.urso-dose-row{flex-wrap:wrap;gap:4px 14px}.urso-dose-row strong{font-size:22px}}

/* v0.5.1: invariant header geometry across routes, including scrollbar changes. */
html{scrollbar-gutter:stable}
@supports not (scrollbar-gutter:stable){html{overflow-y:scroll}}
.sidebar{width:100%;max-width:none;min-height:85px;height:85px;margin:0;flex:none;padding:20px 40px;box-sizing:border-box}
.sidebar .brand{flex:0 0 auto}.sidebar .header-drop{flex:0 0 28px}
@media(max-width:650px){.sidebar{height:74px;min-height:74px;padding:16px 22px}}

/* v0.5.2: keep the header line at the viewport top across navigation/scroll. */
.sidebar{position:sticky;top:0;z-index:40;background:var(--canvas);overflow-anchor:none}
html{scroll-padding-top:100px}
@media(max-width:650px){html{scroll-padding-top:89px}}

/* v0.5.3: Busulfan shares the compact weight/dose pane layout. */
#allo[data-active-pane=busulfan] .panel{grid-column:1/-1}
#allo[data-active-pane=busulfan] .columns{max-width:820px}

/* v0.6.0: recurring course dates, scoped to the calendar module. */
.course-layout{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:24px;align-items:start;margin-top:28px}
.course-date-label{display:flex;align-items:center;justify-content:space-between;gap:12px}.course-date-label .text-button{padding:0;font-size:10px}
.course-input-note{margin:19px 0 12px}.course-input input[type=text]{font-size:15px}
.course-output .section-head{align-items:baseline;gap:12px;flex-wrap:wrap}.course-output .section-head h2{margin:0}
.course-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.course-table th,.course-table td{white-space:nowrap;text-align:left}.course-table td:first-child{color:var(--teal);font-weight:500}.course-table td:last-child{color:var(--muted)}
.course-empty{min-height:90px;display:flex;align-items:center}.course-note{margin:18px 0}.course-actions{margin-top:20px}.course-actions .button:disabled{opacity:.45;cursor:default}
.course-journal{display:block;width:100%;padding:13px;border:1px solid var(--border);border-radius:5px;background:var(--canvas);color:var(--ink);font:12px/1.6 monospace;resize:vertical}
#kCopyMsg:empty{display:none}
@media(max-width:800px){.course-layout{grid-template-columns:1fr;gap:18px}.course-input .fields{grid-template-columns:1fr 1fr}.course-table{font-size:11px}.course-table th,.course-table td{padding-left:6px;padding-right:6px}}
@media print{.course-input,.course-actions,#kCopyMsg,.course-journal{display:none!important}.course-layout{display:block}.course-output{border:0}.course-table thead{display:table-header-group}.course-table tr{break-inside:avoid}}

/* v0.6.1: align the week header with its values. */
.course-table th:last-child,.course-table td:last-child{text-align:right}

/* v0.7.0: simple/advanced calendar switch and per-medicine plans. */
.course-mode{display:inline-flex;align-self:flex-start;gap:4px;border:1px solid var(--border);padding:4px;border-radius:22px;background:#eae5da;margin:8px 0 0}
.course-mode button{border:0;border-radius:18px;background:transparent;padding:8px 22px;font-size:12px;color:var(--muted);transition:background .18s,color .18s}
.course-mode button[aria-pressed=true]{background:#faf7f0;color:var(--teal);box-shadow:0 1px 3px #24201912;font-weight:600}
.course-drug-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.course-drug-heading h3,.course-drug-heading h4{margin:0;font-size:13px;font-weight:600}
.course-drug{min-width:0;padding:14px;border:1px solid var(--border);border-radius:5px;background:var(--canvas)}.course-drug .fields{margin-top:14px;gap:13px}.course-drug .field label{font-size:11px}.course-drug .field input,.course-drug .field select{min-height:40px;font-size:14px;padding:8px 9px}
.course-remove{width:27px;height:27px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;background:none;color:var(--muted);font-size:19px;line-height:1}.course-remove:hover{color:var(--teal);border-color:var(--teal)}.course-remove:disabled{opacity:.3;cursor:default}
.course-drug .field-error{font-size:10px;margin:12px 0 0}.course-drug .field-error:empty,#kAdvancedError:empty{display:none}.course-mode button:focus-visible{outline:2px solid var(--teal)}
.course-table .course-medicine-cell{white-space:normal;min-width:145px;line-height:1.6}.course-layout.advanced{grid-template-columns:minmax(0,1fr)}
@media(max-width:900px){.course-layout.advanced{grid-template-columns:1fr}}
@media print{.course-mode{display:none!important}}


/* A quiet study invitation with an interactive blood-film slide. */
#studies .study-invitation{min-height:clamp(400px,55svh,570px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px 16px 60px}
.study-slide{display:block;flex:none;width:min(100%,440px);aspect-ratio:520/310;margin:0 0 19px;padding:0;border:0;border-radius:16px;background:transparent;cursor:default;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
.study-slide svg{display:block;width:100%;height:auto;overflow:visible;pointer-events:none}
.study-slide:focus-visible{outline:1px solid var(--teal);outline-offset:8px}
#study-lens{opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s}
.study-slide.is-exploring{cursor:none}
.study-slide.is-exploring #study-lens{opacity:1;visibility:visible}
#studies .study-question{font-family:Georgia,'Times New Roman',serif;font-size:clamp(23px,3vw,31px);line-height:1.3;letter-spacing:-.025em;color:var(--ink);margin:0 0 12px}
#studies .study-contact{font-size:14px;line-height:1.7;color:var(--muted);margin:0}
.study-contact a{color:var(--teal);text-decoration-thickness:1px;text-underline-offset:4px;overflow-wrap:anywhere}
@media(max-width:650px){#studies .study-invitation{padding:10px 0 45px;min-height:390px}.study-slide{width:min(100%,380px);margin-bottom:22px}#studies .study-contact{font-size:13px}}
@media(prefers-reduced-motion:reduce){#study-lens{transition:none}}

/* Compact medication panel grows with its card count. */
.course-medications{--medicine-limit:4;--medicine-frame:54px;min-width:0;margin:0;justify-self:start;width:calc(min(var(--medicine-count,1),var(--medicine-limit))*248px + var(--medicine-frame) - 12px);max-width:100%}
.course-medications>.course-drug-heading h2{margin:0}
.course-medications>.help{margin:10px 0 20px}
#kMedicines{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,236px),1fr));gap:12px;align-items:stretch}
.course-drug .fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.course-drug .field input,.course-drug .field select{width:100%;min-width:0}
.course-add{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;padding:0;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--teal);font-size:25px;font-weight:400;line-height:1;transition:background .18s,border-color .18s,color .18s,transform .18s}
.course-add span{display:block;line-height:1;transform:translateY(-1px)}
.course-add:hover,.course-add:focus-visible{background:var(--teal);border-color:var(--teal);color:#fff9f1}
.course-add:active{transform:scale(.94)}.course-add:disabled{opacity:.35;cursor:default;transform:none;background:transparent;color:var(--muted);border-color:var(--border)}
.course-layout.advanced .course-input .fields{grid-template-columns:repeat(4,minmax(0,1fr))}
.course-layout.advanced .course-input .field.full{grid-column:auto}
@media(max-width:1100px){.course-medications{--medicine-limit:3}.course-layout.advanced .course-input .fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.course-medications{--medicine-limit:2}}
@media(max-width:650px){.course-medications{--medicine-frame:44px}}
@media(max-width:600px){.course-medications{--medicine-limit:1}.course-layout.advanced .course-input .fields{grid-template-columns:minmax(0,1fr)}.course-drug{padding:16px}}
@media(prefers-reduced-motion:reduce){.course-add{transition:none}}
@media print{.course-medications{display:none!important}}

/* Shared native select control: inset chevron and reserved text space. */
select:not([multiple]):not([size]),select[size="1"]{
 -webkit-appearance:none;appearance:none;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1.5 5 5 5-5' fill='none' stroke='%236b6560' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px;padding-right:40px;
}
@media(forced-colors:active){select:not([multiple]):not([size]),select[size="1"]{-webkit-appearance:auto;appearance:auto;background-image:none;padding-right:10px}}
@media print{select:not([multiple]):not([size]),select[size="1"]{background-image:none;padding-right:3px}}

/* Shared actions: restrained blood-red hover and visible keyboard focus. */
.button{transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.button:not(:disabled):hover,.button:not(:disabled):focus-visible{color:var(--teal);border-color:var(--teal);background:#bb3b3209;box-shadow:0 2px 8px #bb3b320c}
.button.primary:not(:disabled):hover,.button.primary:not(:disabled):focus-visible{background:var(--teal);border-color:var(--teal);color:#fff9f1}
.course-actions{display:flex;flex-wrap:wrap;gap:10px}
@media(prefers-reduced-motion:reduce){.button{transition:none}}

/* Shared two-option pills: native controls with one sliding selection surface. */
.segmented-control,.patient-status .segmented-control,.course-mode{position:relative;isolation:isolate;display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--border);border-radius:12px;background:#eae5da}
.segmented-control,.patient-status .segmented-control{display:grid}
.segmented-control::before,.course-mode::before{content:"";position:absolute;z-index:0;left:4px;top:4px;bottom:4px;width:calc((100% - 12px)/2);border-radius:8px;background:#faf7f0;box-shadow:0 1px 4px #24201914,inset 0 0 0 1px #bb3b3212;pointer-events:none;opacity:0;transform:translateX(0);transition:transform .28s cubic-bezier(.22,.8,.25,1),opacity .16s ease}
.segmented-control:has(input:checked)::before,.course-mode:has(button:is([aria-pressed=true],[aria-selected=true]))::before{opacity:1}
.segmented-control:has(.segmented-option:nth-child(2) input:checked)::before,.course-mode:has(button:nth-child(2):is([aria-pressed=true],[aria-selected=true]))::before{transform:translateX(calc(100% + 4px))}
.segmented-control>.segmented-option,.course-mode>button{position:relative;z-index:1;min-width:0;border-radius:8px}
.segmented-control>.segmented-option>span,.course-mode>button{display:block;min-height:40px;padding:10px 16px;border:0;border-radius:8px;background:transparent;box-shadow:none;color:var(--body);font-size:12px;line-height:20px;text-align:center;font-weight:500;transition:color .2s ease}
.segmented-control .segmented-option input:checked+span,.course-mode>button:is([aria-pressed=true],[aria-selected=true]){background:transparent;box-shadow:none;color:var(--teal);font-weight:500}
.segmented-control .segmented-option:hover>span,.course-mode>button:hover{color:var(--teal)}
.segmented-control .segmented-option input:focus-visible+span,.course-mode>button:focus-visible{outline:2px solid var(--teal);outline-offset:1px}
.segmented-control .segmented-option small{line-height:14px;margin-top:2px}
@media(max-width:365px){.segmented-control>.segmented-option>span,.course-mode>button{padding-left:9px;padding-right:9px}}
@media(prefers-reduced-motion:reduce){.segmented-control::before,.course-mode::before,.segmented-control>.segmented-option>span,.course-mode>button{transition:none}}
@media(forced-colors:active){.segmented-control::before,.course-mode::before{background:Highlight;box-shadow:none}.segmented-control .segmented-option input:checked+span,.course-mode>button:is([aria-pressed=true],[aria-selected=true]){color:HighlightText}}
@media print{.segmented-control::before,.course-mode::before{display:none}.segmented-control,.patient-status .segmented-control{display:block;border:0;background:none;padding:0}.segmented-control>.segmented-option>span{text-align:left;padding:0;min-height:0}}

/* The transplant tabs sit directly below the heading; context follows the tabs. */
#allo[data-active-pane=base]>.context-slot{display:none}
#allo>.context-slot{min-height:0;margin:0 0 18px}

/* Patient context belongs inside the active panel, not between tabs and panels. */
.workspace>.context-slot{display:none}
.workspace .panel>.patient-summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;margin:0 0 18px;padding:0;border:0;background:none;color:var(--muted);font-size:11px;line-height:1.7}
#allo>.timeline-wrap{margin-top:0}
@media print{.workspace .panel>.patient-summary{display:none!important}}

/* Medication dividers separate drugs; internal explanations and rows use whitespace. */
.medication-body .explain,.medication-body .sources{border-top:0;padding-top:0;margin-top:18px}
.medication-body .time-table th,.medication-body .time-table td{border-bottom:0}

/* Renal alert is an inline disclosure beside the clearance estimate. */
.clearance-value-row{display:flex;align-items:center;gap:9px}
.renal-help{flex:0 0 auto}
.renal-info-button{width:20px;height:20px;line-height:18px;border-color:var(--teal);background:var(--teal);color:#fff9f1;font-family:Arial,Helvetica,sans-serif;font-size:13px;transition:background .18s ease,box-shadow .18s ease}
.renal-info-button:hover,.renal-info-button[aria-expanded=true]{color:#fff9f1;border-color:#9d3029;background:#9d3029;box-shadow:0 0 0 3px #bb3b3210}
.renal-popover{left:auto;right:0;width:min(270px,calc(100vw - 64px));padding:13px 15px;font-size:12px;font-weight:400;letter-spacing:normal;text-align:left}
.renal-popover strong{font-size:11px;color:var(--teal)}
.renal-popover p{margin:6px 0 0}
@media(prefers-reduced-motion:reduce){.renal-info-button{transition:none}}

/* Optional donor context on the base pane; no changes to the core calculations. */
.donor-extra{margin-top:24px}.donor-extra>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer}.donor-extra>summary::-webkit-details-marker{display:none}.donor-extra>summary strong{font-size:15px;font-weight:600;letter-spacing:-.2px}.donor-extra>summary small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.donor-extra[open]>summary{padding-bottom:22px;border-bottom:1px solid var(--border)}.donor-extra[open]>summary .medication-chevron{transform:rotate(180deg)}.donor-extra-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:42px;padding-top:24px}.donor-extra h3{font-size:13px;font-weight:600;margin:0 0 20px}.donor-extra .segmented-control{width:100%}.donor-extra .segmented-option{flex:1}.donor-extra .segmented-option span{padding:9px 8px}.donor-existing{justify-content:flex-start;gap:7px;font-size:12px}.donor-existing small{font-size:10px;color:var(--muted)}.donor-assessment>.help{margin:0 0 18px}.donor-result{border-top:1px solid var(--border);font-size:12px}.donor-result>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;list-style:none;cursor:pointer}.donor-result>summary::-webkit-details-marker{display:none}.donor-result>summary small{display:block;color:var(--teal);font-size:11px;margin-top:5px}.donor-result>p,.donor-result>div>p{font-size:12px;line-height:1.7;color:var(--body);margin:0 0 16px}.donor-letermovir{background:var(--aqua);border-radius:6px;padding:12px 14px;margin-bottom:16px}.donor-letermovir strong{font-size:12px;font-weight:600}.donor-letermovir p{font-size:12px;line-height:1.7;margin:5px 0 0;color:var(--body)}.donor-model-note{margin-top:18px!important;font-size:11px}.donor-extra .explain{font-size:11px}.donor-extra .medication-toggle{flex:none}@media(max-width:850px){.donor-extra-grid{grid-template-columns:1fr;gap:27px}.donor-assessment{border-top:1px solid var(--border);padding-top:22px}}@media(max-width:480px){.donor-extra>summary strong{font-size:14px}.donor-extra>summary small{font-size:10px}}

/* Match the base serology controls without the browser fieldset frame. */
.donor-extra fieldset.field{border:0;padding:0;margin:0;min-width:0}.donor-extra fieldset.field legend{padding:0;margin-bottom:7px;font-size:11px;color:var(--body)}

/* Shared red punctuation for the four module headings. */
.page-head .title-dot{color:var(--teal)}

/* Elective factor plans: compact editable phases, output-only course table. */
.bleed-phase-editor{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--border)}
.bleed-phase-editor h3{font-size:14px;font-weight:600;margin:0}
.bleed-phase-editor .section-head{gap:12px;margin-bottom:6px}
.bleed-phase-editor .text-button{white-space:normal;text-align:right}
.bleed-phase-row{padding:13px 0;border-bottom:1px solid var(--border)}
.bleed-phase-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.bleed-phase-title strong{font-size:12px;font-weight:500;color:var(--teal);font-variant-numeric:tabular-nums}
.bleed-phase-remove{width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--muted);font-size:18px;line-height:1}
.bleed-phase-remove:hover{color:var(--teal);background:var(--aqua);border-color:var(--teal)}
.bleed-phase-add{margin-top:13px}
.bleed-plan-total{font-size:13px;font-weight:500;color:var(--teal);margin:16px 0 0}
#bleed .bleed-timeline .time-table{min-width:620px}
#bleed .bleed-timeline th:not(:first-child),#bleed .bleed-timeline td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
@media(pointer:coarse){.bleed-phase-remove{width:40px;height:40px}}

/* Separate patient/recovery cards, one treatment card, then the summary. */
#bleed .bleed-input-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px;background:transparent;border:0;padding:0}
#bleed .bleed-input-layout .panel{grid-column:1 / -1;grid-row:auto;min-width:0;padding:22px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}
#bleed .bleed-input-layout .bleed-patient{grid-column:1;grid-row:1}
#bleed .bleed-input-layout .bleed-patient>.fields{grid-template-columns:minmax(165px,1.3fr) minmax(75px,.65fr) minmax(135px,1fr);align-items:end}
#bleed .bleed-input-layout .bleed-patient>.fields>.field.full{grid-column:2 / -1}
#bleed .bleed-input-layout .bleed-recovery{grid-column:2;grid-row:1}
#bleed .bleed-input-layout .bleed-treatment{grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;align-items:start}
#bleed .bleed-input-layout .bleed-summary{grid-row:3}
#bleed .bleed-treatment>.bleed-bolus{padding:0;min-width:0}
#bleed .bleed-treatment>.bleed-infusion{padding:0;border:0;min-width:0}
#bleed .bleed-treatment .section-head h3{font-size:13px;font-weight:500;margin:0}
#bleed .bleed-treatment>.bleed-phase-editor,#bleed .bleed-treatment>.bleed-adjustment{grid-column:1 / -1;margin-top:0}
#bleed[data-active-pane=plan] .bleed-input-layout{display:none}
#bleed .bleed-input-layout .section-head{margin-bottom:12px}
#bleed .bleed-input-layout .section-head h2{font-size:14px}
#bleed .bleed-input-layout .fields{gap:12px 16px}
#bleed .bleed-input-layout .field{gap:5px}
#bleed .bleed-input-layout .field input,#bleed .bleed-input-layout .field select{min-height:40px;padding-top:7px;padding-bottom:7px}
#bleed .bleed-input-layout .help{font-size:11px;line-height:1.5}
#bleed .bleed-patient>.fields{grid-template-columns:repeat(2,minmax(0,1fr))}
#bleed .bleed-bolus>.fields,#bleed .bleed-infusion>.fields{grid-template-columns:repeat(2,minmax(0,1fr))}
#bleed .bleed-bolus>.fields>.field.full{grid-column:auto}
#bleed .bleed-infusion>.fields>.field.full{grid-column:1 / -1}
#bleed .bleed-summary .kpi:not([hidden]){display:block}
#bleed .bleed-summary .kpi[hidden],#bleed .bleed-summary .kpi-grid>[hidden]{display:none!important}
#bleed .bleed-summary .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#bleed .bleed-summary .kpi{padding:12px;background:transparent;border:0;border-radius:0;min-height:0}
#bleed .bleed-summary .kpi.featured{background:var(--aqua);border-radius:6px}
#bleed .bleed-summary .kval{font-size:24px}
#bleed .bleed-summary .callout{margin-top:12px;font-size:11px;padding:10px 12px}
#bleed .bleed-phase-editor{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px;margin-top:16px;padding-top:0;border-top:0}
#bleed .bleed-phase-editor>.section-head,#bleed .bleed-phase-editor>.help,#bleed .bleed-phase-editor>.field-error{grid-column:1 / -1}
#bleed .bleed-phase-row{border:0;padding:8px 0}
#bleed .bleed-phase-add{justify-self:start;align-self:end}
#bleed .bleed-adjustment{margin-top:16px;padding-top:0;border:0}
#bleed .bleed-adjustment>summary,#bleed .bleed-recovery-formula>summary{cursor:pointer;font-size:12px;font-weight:500;color:var(--teal)}
#bleed .bleed-adjustment>.fields{margin-top:14px}
#bleed .bleed-recovery-formula{margin-top:12px}
#bleed .bleed-recovery-formula .help{margin-top:8px}
#bleed .bleed-plan-context{margin:0 0 18px}
#bleed .bleed-recovery>.fields{grid-template-columns:minmax(210px,1.4fr) minmax(90px,1fr)}
#bleed .bleed-recovery .field{min-width:0}
#bleed .bleed-recovery select{width:100%;min-width:0}
.recovery-value-label{font-size:12px;color:var(--muted);display:block}
.recovery-value{display:flex;align-items:center;min-height:40px;font-size:13px;color:var(--teal);font-variant-numeric:tabular-nums}
@media(max-width:1000px){
 #bleed .bleed-input-layout .bleed-patient>.fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 #bleed .bleed-input-layout .bleed-patient>.fields>.field.full{grid-column:1 / -1}
 #bleed .bleed-recovery>.fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 #bleed .bleed-recovery .field:has(#bRecoveryMode),#bleed .bleed-recovery .field:has(#bDose),#bleed .bleed-recovery .field:has(#bKnownRecovery),#bleed #bAssumedRecoveryField{grid-column:1 / -1}
}
@media(max-width:800px){
 #bleed .bleed-input-layout{gap:18px}
 #bleed .bleed-input-layout .panel{padding:18px}
 #bleed .bleed-bolus>.fields,#bleed .bleed-infusion>.fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 #bleed .bleed-phase-editor{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
 #bleed .bleed-input-layout .bleed-patient>.fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 #bleed .bleed-input-layout{grid-template-columns:minmax(0,1fr);padding:0;gap:16px}
 #bleed .bleed-input-layout .panel{grid-column:1;grid-row:auto}
 #bleed .bleed-input-layout .bleed-recovery{grid-row:2}
 #bleed .bleed-input-layout .bleed-treatment{grid-row:3;grid-template-columns:minmax(0,1fr)}
 #bleed .bleed-input-layout .bleed-summary{grid-row:4}
 #bleed .bleed-summary .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #bleed .bleed-summary .kpi{padding:10px 8px}
 #bleed .bleed-input-layout .field input,#bleed .bleed-input-layout .field select{min-height:44px}
}
@media(max-width:390px){#bleed .bleed-patient>.fields,#bleed .bleed-bolus>.fields,#bleed .bleed-infusion>.fields,#bleed .bleed-phase-editor{grid-template-columns:minmax(0,1fr)}}
@media print{#bleed[data-active-pane=plan] .bleed-input-layout{display:grid}}

@media(max-width:390px){#bleed .bleed-input-layout .bleed-patient>.fields{grid-template-columns:minmax(0,1fr)}}

.bleed-clearance-result{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}
.bleed-clearance-result output{font-size:22px;font-weight:500;color:var(--teal);font-variant-numeric:tabular-nums}
.bleed-clearance-result p{margin:7px 0 0;max-width:70ch}

.bleed-bolus-suggestions{margin-top:14px;padding:12px 14px;border-radius:6px;background:var(--aqua)}
.bleed-bolus-suggestions p{margin:0}
.bleed-bolus-suggestions .btnline{margin:9px 0;gap:10px;flex-wrap:wrap}

.bleed-patient-actions{display:flex;align-items:center;gap:14px;margin-left:auto}
#bleed .bleed-patient>.section-head{gap:12px;flex-wrap:wrap}
#bleed .bleed-input-layout select{min-height:40px;padding-right:34px;font-size:13px}
#bleed .bleed-input-layout input[type=date]{min-width:0}
#bleed .bleed-bolus-details{margin-top:12px}
#bleed .bleed-bolus-details>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;font-size:12px;color:var(--teal);padding:5px 0}
#bleed .bleed-bolus-details>summary::-webkit-details-marker{display:none}
#bleed .bleed-bolus-details>summary::before{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .18s ease}
#bleed .bleed-bolus-details[open]>summary::before{transform:rotate(45deg)}
#bleed .bleed-bolus-details>.help{margin:8px 0 0}
#bleed .bleed-bolus-suggestions{margin-top:10px;padding:0;background:transparent}
@media(prefers-reduced-motion:reduce){#bleed .bleed-bolus-details>summary::before{transition:none}}
@media(max-width:650px){#bleed .bleed-input-layout select{font-size:16px}}
@media(max-width:480px){#bleed .bleed-input-layout .bleed-patient>.fields{grid-template-columns:minmax(0,1fr)}}

#bleed .bleed-infusion-meta{position:relative;margin-top:7px}
#bleed .bleed-infusion-meta>#bPhaseCoverage{display:block;min-height:20px;padding-right:140px}
#bleed .bleed-infusion-meta>.bleed-pump-settings{margin:0}
#bleed .bleed-infusion-meta>.bleed-pump-settings>summary{position:absolute;right:0;top:0;white-space:nowrap}
#bleed .bleed-pump-settings>summary{cursor:pointer;font-size:12px;color:var(--teal)}
#bleed .bleed-pump-settings>.help{margin:10px 0}
#bleed .bleed-pump-settings>.fields{grid-template-columns:minmax(0,1fr)}

/* Readable, editable treatment stages. */
#bleed .bleed-treatment>.bleed-phase-editor{display:block}
#bleed .bleed-phase-editor>.section-head{margin-bottom:6px}
#bleed .bleed-phase-editor>.help{margin:0 0 14px}
#bleed .bleed-phase-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
#bleed .bleed-phase-cards>.bleed-phase-row{position:relative;padding:14px;background:#faf9f7;border:1px solid var(--border);border-top:2px solid #b45c64;border-radius:8px;animation:bleed-phase-enter .18s ease-out;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
#bleed .bleed-phase-row:has(+.bleed-phase-row:not([hidden]))::after{content:"";position:absolute;top:27px;right:-19px;width:18px;border-top:1px solid #c9adb0}
#bleed .bleed-phase-identity{display:flex;align-items:center;gap:9px}
#bleed .bleed-phase-number{display:grid;place-items:center;width:23px;height:23px;background:var(--aqua);border-radius:50%;color:var(--teal);font-size:11px;font-weight:600}
#bleed .bleed-phase-title strong{font-size:13px;color:var(--ink)}
#bleed .bleed-phase-dates{font-size:10px;color:var(--muted);margin:8px 0 12px;font-variant-numeric:tabular-nums}
#bleed .bleed-phase-dates:empty{display:none}
#bleed .bleed-phase-cards .fields{gap:10px;margin-top:12px}
#bleed .bleed-phase-add{display:inline-flex;align-items:center;gap:8px;margin-top:14px;border-style:dashed;background:transparent;font-size:12px}
#bleed .bleed-phase-add>span{font-size:19px;line-height:1}
#bleed #bPhaseCoverage{display:block;font-variant-numeric:tabular-nums;margin-top:3px}
@keyframes bleed-phase-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover){#bleed .bleed-phase-cards>.bleed-phase-row:hover{border-color:#b45c64;transform:translateY(-1px);box-shadow:0 4px 12px #6e263208}}
@media(max-width:800px){#bleed .bleed-phase-cards{grid-template-columns:repeat(2,minmax(0,1fr))}#bleed .bleed-phase-row::after{display:none}}
@media(max-width:480px){#bleed .bleed-phase-cards{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){#bleed .bleed-phase-cards>.bleed-phase-row{animation:none;transition:none;transform:none}}

#bleed .bleed-infusion-meta>#bPhaseCoverage{margin-top:0}

/* Compact treatment workspace with the shared heading-above-fields layout. */
#bleed .bleed-input-layout .bleed-treatment{display:block;padding:20px 22px}
#bleed .bleed-treatment>.bleed-bolus{display:block;margin-bottom:20px}
#bleed .bleed-bolus>.fields{grid-template-columns:repeat(3,minmax(0,1fr));max-width:850px}
#bleed .bleed-bolus>.fields:has(>#bPreopField[hidden]){grid-template-columns:repeat(2,minmax(0,1fr));max-width:560px}
#bleed .bleed-bolus>.bleed-bolus-details{margin-top:4px}
#bleed .bleed-treatment>.bleed-phase-editor{margin:0;padding:0}
#bleed .bleed-phase-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px}
#bleed .bleed-phase-heading>#bPhaseCoverage{margin:0}
#bleed .bleed-phase-editor>.help{margin-bottom:10px}
#bleed .bleed-phase-cards{gap:14px}
#bleed .bleed-phase-cards>.bleed-phase-row{padding:10px 12px}
#bleed .bleed-phase-row:has(+.bleed-phase-row:not([hidden]))::after{right:-15px;width:14px}
#bleed .bleed-phase-dates{margin:5px 0 7px}
#bleed .bleed-phase-cards .fields{margin-top:7px;gap:8px}
#bleed .bleed-phase-actions{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px 20px;margin-top:10px}
#bleed .bleed-phase-actions>.bleed-phase-add{margin:0;padding:6px 12px;min-height:34px}
#bleed .bleed-phase-actions>.bleed-pump-settings{margin:0;justify-self:end;width:min(100%,340px)}
#bleed .bleed-phase-actions>.bleed-pump-settings>summary{position:static;justify-content:flex-end;padding:8px 0}
#bleed .bleed-phase-editor>.field-error:empty{display:none}
#bleed .bleed-treatment>.bleed-adjustment{margin:10px 0 0;padding-top:10px}
#bleed .bleed-consumption{margin-top:12px;padding:12px;border-top:1px solid var(--border)}
#bleed .bleed-consumption .bleed-plan-total{margin:5px 0;color:var(--ink)}
#bleed .bleed-consumption .help{margin:0}
@media(max-width:650px){
 #bleed .bleed-bolus>.fields,#bleed .bleed-bolus>.fields:has(>#bPreopField[hidden]){grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
 #bleed .bleed-phase-actions{gap:8px 12px}
 #bleed .bleed-phase-cards .field input{min-height:44px}
}
@media(max-width:390px){#bleed .bleed-bolus>.fields,#bleed .bleed-bolus>.fields:has(>#bPreopField[hidden]){grid-template-columns:1fr}#bleed .bleed-phase-actions{grid-template-columns:1fr}#bleed .bleed-phase-actions>.bleed-pump-settings{justify-self:stretch;width:100%}#bleed .bleed-phase-actions>.bleed-pump-settings>summary{justify-content:flex-start}}

/* Quiet documentation within the shared site layout. */
.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.about-grid .panel{min-width:0;padding:24px}
.about-grid h2{font-size:16px;margin:0 0 12px}
.about-grid p{font-size:14px;line-height:1.7;margin:0 0 12px}
.about-grid p:last-child{margin-bottom:0}
.about-grid a{overflow-wrap:anywhere}
.footer{flex-wrap:wrap;gap:10px 20px}
.footer>a{color:var(--muted);font-size:inherit}
.footer>a:hover{color:var(--teal)}
@media(max-width:700px){.about-grid{grid-template-columns:minmax(0,1fr)}}
