/* Shared presentation for department libraries; loaded after their source styles. */
.patient-fold { --ui-strong: var(--ui-subtle); --ui-on-strong: var(--ui-text); --ui-on-strong-muted: var(--ui-muted); --ui-strong-border: var(--ui-border-strong); }
.patient-fold > summary { min-height:48px; padding:12px 16px; }
.patient-fold .patient-bar, .patient-fold .patient-bar:has(.weight-conversion-result) { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; padding:14px 16px; background:var(--ui-subtle); color:var(--ui-text); }
.patient-fold .patient-bar .patient-kind { flex:0 0 130px; width:130px; }
.patient-fold .patient-bar .weight-entry { flex:0 1 282px; width:auto; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:6px; }
.patient-fold .weight-entry > label { grid-column:1/-1; }
.patient-fold .patient-bar label { color:var(--ui-muted); font-size:12px; margin-bottom:6px; }
.patient-fold .weight-input { min-width:0; gap:6px; }
.patient-fold .patient-bar #weight { flex:1; width:100px; min-width:0; padding-inline:8px; }
.patient-fold .patient-bar input, .patient-fold .patient-bar select { height:44px; background:var(--ui-surface); color:var(--ui-text); border-color:var(--ui-border-strong); font-size:16px; }
.patient-fold .patient-bar .weight-adjustments { gap:4px; margin:0; }
.patient-fold .weight-adjustments > span { display:none; }
.patient-fold .patient-bar .weight-step { flex:0 0 44px; width:44px; height:44px; border-color:var(--ui-border-strong); }
.patient-fold .patient-bar .patient-actions { flex:0 1 auto; width:auto; padding:0; border:0; gap:8px; }
.patient-fold .patient-bar .patient-actions > .button { min-height:44px; margin:0; padding:8px 12px; background:var(--ui-surface); color:var(--ui-text); }
.patient-fold .patient-bar .converted, .patient-fold .patient-bar:has(.weight-conversion-result) .converted { order:4; flex:1 1 170px; min-width:0; padding:0; margin:0; max-width:240px; color:var(--ui-text); font-size:12px; align-self:center; }
.patient-fold .weight-conversion-result { display:flex; flex-wrap:wrap; align-items:baseline; column-gap:8px; padding:0; border:0; background:transparent; color:var(--ui-text); }
.patient-fold .weight-conversion-result strong { font-size:24px; color:var(--ui-text); line-height:1.2; }
.patient-fold .weight-conversion-result > span { color:var(--ui-muted); font-size:12px; }
.patient-fold .weight-conversion-result > span:last-child { flex-basis:100%; }
.patient-fold .weight-conversion-result small { color:inherit; font-size:14px; }
.med-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; }
.medication-group { min-width:0; }
.medication-group > .fold-body { padding:12px; display:grid; gap:12px; }
.medication-group > summary { min-height:64px; }
.compact-dose { min-width:0; margin-bottom:12px; }
.compact-dose > summary { min-height:56px; padding:12px 14px; gap:8px; align-items:center; }
.compact-dose .medication-summary-name { flex:1; min-width:0; }
.compact-dose .medication-summary-name small { display:block; color:var(--ui-muted); font-weight:400; margin-top:3px; }
.compact-dose .dose-body { padding:14px; }
.compact-dose .dose-heading { margin:0 0 10px; }
.compact-dose .dose-heading h3 { margin:0; font-size:17px; }
.compact-dose .concentration-control { margin:10px 0; display:flex; flex-wrap:wrap; align-items:center; gap:8px; color:var(--ui-muted); font-size:12px; }
.compact-dose .concentration-control strong { color:var(--ui-text); font-size:14px; }
.compact-dose .concentration-control select { width:auto; max-width:100%; min-width:0; min-height:44px; font-size:14px; padding:8px; border:1px solid var(--ui-border-strong); border-radius:5px; background:var(--ui-surface); color:var(--ui-text); }
.compact-dose .population-dose { padding:0; margin:0; border:0; background:transparent; }
.compact-dose .population-dose h4 { margin:12px 0 6px; font-size:13px; color:var(--ui-muted); }
.compact-dose .dose-result { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 24px; min-height:0; padding:12px; margin:10px 0 0; background:var(--ui-success-bg); border:0; color:var(--ui-success); border-radius:6px; }
.compact-dose .dose-result strong { font-size:30px; line-height:1.2; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.compact-dose .dose-result strong small { font-size:18px; }
.compact-dose .dose-result .result-label { display:block; font-size:12px; margin-bottom:5px; }
.compact-dose .dose-result .result-prompt { font-size:14px; line-height:1.5; }
.compact-dose .dose-result:has(.result-prompt) { background:var(--ui-subtle); color:var(--ui-text); }
.compact-dose .dose-result .volume { border:0; padding:0; }
.compact-dose .dose-result .volume-missing, .compact-dose .dose-result .limit-note, .concentration-reminder { flex-basis:100%; font-size:12px; line-height:1.5; }
.concentration-reminder { color:var(--ui-text); }
.compact-dose .field-label { margin:10px 0; color:var(--ui-muted); }
.compact-dose .rate-input { max-width:180px; min-height:44px; font-size:16px; background:var(--ui-surface); color:var(--ui-text); }
.compact-dose .scope-unresolved { margin:8px 0; font-size:12px; color:var(--ui-warning); }
.compact-dose .reference-dose-text { font-size:14px; color:var(--ui-text); margin:8px 0; }
.credential-legend { display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; padding:12px 0 18px; font-size:12px; color:var(--ui-muted); }
.credential-legend > span { display:inline-flex; align-items:center; gap:7px; }
.credential-dots { display:inline-flex; flex-wrap:wrap; vertical-align:middle; align-items:center; }
.credential-dot { position:relative; display:inline-flex; align-items:center; justify-content:center; width:36px; height:44px; cursor:help; border-radius:5px; flex:none; }
.credential-dot:focus-visible { outline:3px solid var(--ui-focus); outline-offset:1px; }
.credential-disc { display:inline-block; flex:none; width:10px; height:10px; border-radius:50%; background:var(--credential-color,var(--ui-muted)); }
[data-credential="basic"] { --credential-color:#19749b; }
[data-credential="emt-intermediate"] { --credential-color:#19749b; }
[data-credential="paramedic"] { --credential-color:#c33732; }
[data-credential="ccp"] { --credential-color:#8450ac; }
[data-credential="mih-basic"] { --credential-color:#a66b13; }
[data-credential="mih-paramedic"] { --credential-color:#b34e87; }
:root[data-theme="dark"] [data-credential="basic"] { --credential-color:#71c7ea; }
:root[data-theme="dark"] [data-credential="emt-intermediate"] { --credential-color:#71c7ea; }
:root[data-theme="dark"] [data-credential="paramedic"] { --credential-color:#ff8980; }
:root[data-theme="dark"] [data-credential="ccp"] { --credential-color:#cb9bea; }
:root[data-theme="dark"] [data-credential="mih-basic"] { --credential-color:#e4bb6e; }
:root[data-theme="dark"] [data-credential="mih-paramedic"] { --credential-color:#e798c2; }
@media(max-width:760px) {
 .med-grid { grid-template-columns:minmax(0,1fr); }
 .patient-fold .patient-bar .converted, .patient-fold .patient-bar:has(.weight-conversion-result) .converted { flex-basis:100%; max-width:none; }
 .patient-fold .patient-bar .patient-actions { flex:1 1 100%; justify-content:flex-start; }
 .patient-fold .patient-bar .patient-actions > .button { flex:1 1 auto; }
 .patient-fold .patient-bar .weight-entry { flex:1 1 260px; }
 .compact-dose > summary { flex-wrap:wrap; }
 .compact-dose > summary .credential-dots { order:2; }
}

.patient-fold .patient-actions .button { white-space:nowrap; }
.compact-dose .reference-dose-text p { white-space:pre-line; }
@media(forced-colors:active) { .credential-disc { background:CanvasText; } .credential-tooltip { border:1px solid CanvasText; } }

.compact-dose > summary::after { order:3; margin-left:auto; border-color:var(--ui-muted); }

/* Reuse Allen's Before giving disclosure and advisory list styles. */


/* Source-based checks expand when the user opens Before giving. */
.medication-guidance{margin:0 0 18px;border-color:var(--ui-border);background:var(--ui-canvas)}

.medication-guidance>summary{min-height:54px;padding:13px 15px;background:var(--ui-warning-bg);font-size:14px;color:var(--ui-warning)}

.medication-guidance>summary:hover{background:var(--ui-warning-bg)}

.medication-guidance>.fold-body{padding:15px;background:var(--ui-canvas)}

.med-guidance-section+ .med-guidance-section{border-top:1px solid var(--ui-border);margin-top:14px;padding-top:14px}

.med-guidance-section h4{margin:0 0 8px;font-size:13px;color:var(--ui-warning)}

.med-guidance-section ul{margin:0;padding-left:18px;font-size:13px;line-height:1.65;color:var(--ui-text)}

.med-guidance-section li+li{margin-top:7px}
.med-guidance-section ul{font-size:14px}

.credential-tooltip { position:fixed; inset:auto; z-index:2147483647; width:max-content; margin:0; padding:8px 10px; border:1px solid var(--ui-border-strong); background:var(--ui-text); color:var(--ui-bg); border-radius:6px; font:400 12px/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; white-space:normal; overflow-wrap:anywhere; overflow:auto; text-align:left; box-shadow:0 3px 12px #0003; }
.credential-tooltip[hidden] { display:none; }

[data-credential="emt-basic"] { --credential-color:#fff; }
[data-credential="emt-basic"] .credential-disc { border:1px solid #637785; }
[data-credential="emt-intermediate-acls"] { --credential-color:#25815c; }
:root[data-theme="dark"] [data-credential="emt-intermediate-acls"] { --credential-color:#72cea2; }
