@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700&display=swap');
/* ============================================================
   BOS — SoCalMHS Design System (single source of truth)
   Ported verbatim from the public SoCalMHS site's site.css.
   Values are exact (see SOCALMHS-DESIGN-SYSTEM.md). Change a
   token here and every BOS page inherits it.

   Principles carried over: zero border-radius, hairlines not
   shadows, warm neutrals + one clay accent, Archivo only (no
   serif, no monospace). Semantic status colors are the one
   deliberate app-only addition (design-system §11).
   ============================================================ */
:root{
  /* ---- Surfaces (exact SoCalMHS values) ---- */
  --paper:#FAF8F5;        /* lightest warm off-white — cards, buttons-on-dark */
  --paper-2:#F3EFE9;      /* page ground, alt panels, fills, card hover-target */
  --paper-3:#EAE4DB;      /* third warm step — subtle wells */
  --ink:#131412;          /* near-black — dark sections, body text, primary btn */
  --ink-soft:#1C1D1A;     /* dark card hover, device frame */

  /* ---- Text ---- */
  --text:#131412;         /* headings + primary copy on light */
  --text-2:#4A4A44;       /* body prose, list items, card body (AAA on paper) */
  --text-muted:#6E6E66;   /* eyebrows, captions, meta only — never reading copy */

  /* ---- Lines ---- */
  --line:#DED8CE;         /* default hairline: rules, dividers, grid gaps */
  --line-strong:#C6BEB1;  /* interactive borders: ghost buttons, fields, toggles */

  /* ---- Accent (warm clay — the single brand accent) ---- */
  --accent:#9C4526;       /* eyebrows, bullets, links, focus ring, btn hover */
  --accent-deep:#7C351C;  /* pressed / active state */

  /* ---- On-dark counterparts (for --ink sections) ---- */
  --d-text:#F3EFE9;
  --d-text-2:#B6B2A9;
  --d-line:rgba(243,239,233,0.16);
  --d-line-2:rgba(243,239,233,0.30);
  --d-accent:#E2A07C;     /* lightened clay — never use --accent on --ink */

  /* ---- Semantic status (app-only, design-system §11) ----
     Derived warm to sit with the palette; kept recognizable.
     Reserve --accent for brand emphasis, never for "success". */
  --danger:#B3261E;       --danger-deep:#8F1D17;  --danger-soft:#F6E4E1;
  --caution:#C08A2D;      --caution-deep:#9A6E20;  --caution-soft:#F5EBD6;
  --success:#4F6B4A;      --success-deep:#3C5438;  --success-soft:#E7ECE2;
  --info:#5E7488;         --info-deep:#4A5D6E;      --info-soft:#E6EBEF;

  /* ---- Icon system (see BOS ICON SYSTEM block below) ----
     Color = attention: gray for everything, amber for warnings,
     red for emergencies. Those three tiers ARE the color system. */
  --icon-rest:var(--text-muted);   /* quiet gray — default icon at rest    */
  --icon-hover:var(--accent);      /* brand clay — icon on hover/active     */

  /* ---- Typography ---- */
  --sans:'Archivo',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;

  /* ---- Layout ---- */
  --maxw:1220px;
  --gutter:clamp(1.25rem,5vw,4rem);
  --section-y:clamp(2rem,5vw,3.25rem);   /* tightened for an app (not the site's 4.5–8.5rem) */
  --appbar-h:60px;

  /* ============================================================
     LEGACY ALIASES — existing page CSS already references these
     names. Remapping them onto the new palette flips every page
     to the SoCalMHS brand with no per-page color edits.
     ============================================================ */
  --brand:var(--accent);        /* was slate #5E7488 → now clay            */
  --brand-2:var(--line-strong); /* was secondary blue-gray                 */
  --tint:var(--paper-2);        /* light fills / hovers                    */
  --page:var(--paper-2);        /* page background ground                  */
  --card:var(--paper);          /* cards — lighter than page, lifts w/ line */
  --sub:var(--text-2);          /* secondary text (kept AAA-strong)        */

  --acc:var(--accent);
  --acc2:var(--success);
  --bg:var(--paper-2);
  --gold:var(--caution);
  --warn:var(--danger);

  /* Portal (training) legacy names */
  --sand:var(--paper-2);
  --shell:var(--paper);
  --deep:var(--accent);
  --teal:var(--accent);
  --seafoam:var(--accent);      /* collapse the 2nd accent to one system accent */
  --coral:var(--danger);
  --ok:var(--success);
  --sunset:var(--accent);       /* was a gradient — now solid clay          */
}

/* ============================================================
   GLOBAL BASE — low-specificity defaults. Bare-element rules so
   unstyled bits inherit the system; page class rules still win
   where they set their own values.
   ============================================================ */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
button,input,select,textarea{font-family:var(--sans);}
/* Kill rounded UA styling on form controls unless a page overrides it */
input,select,textarea{border-radius:0;}

/* Accessible focus, applied globally, never removed */
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;}
}

/* ============================================================
   SHARED APP SHELL — a unified, slim, sticky brand bar so staff
   always know: they're in BOS ▸ BOS | One Path ▸ <this module>.
   Pages opt in by using this markup in their <header>.
   ============================================================ */
.appbar{
  position:sticky;top:0;z-index:100;
  background:rgba(250,248,245,0.97);
  -webkit-backdrop-filter:saturate(180%) blur(10px);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--line);
}
.appbar__in{
  max-width:var(--maxw);margin-inline:auto;
  min-height:var(--appbar-h);
  display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;
  padding:.5rem clamp(1rem,4vw,2rem);
}
/* Bordered wordmark box — the app's portable brand mark (1.5px = mark, not container) */
.brandbox{
  display:inline-flex;align-items:center;
  font:500 1rem/1 var(--sans);letter-spacing:.02em;
  border:1.5px solid var(--ink);padding:.34rem .6rem;
  color:var(--ink);text-decoration:none;white-space:nowrap;
  transition:background .18s ease,color .18s ease;
}
.brandbox:hover{background:var(--ink);color:var(--paper);}
.brandbox .mhs{font-weight:600;}
/* BOS | One Path crumb — pipe rendered in accent at weight 400 */
.crumb{
  display:inline-flex;align-items:center;gap:.5rem;
  font:600 .8rem/1 var(--sans);letter-spacing:.07em;text-transform:uppercase;
  color:var(--text-2);white-space:nowrap;
}
.crumb .pipe{color:var(--accent);font-weight:400;}
.crumb .bos{color:var(--ink);}
.crumb .op{color:var(--ink);}
/* Current-module tag — bordered box (the "you are here" affordance) */
.crumb .mod{
  margin-left:.15rem;border:1px solid var(--line-strong);
  padding:.4rem .6rem;color:var(--ink);
}
.appbar__spacer{flex:1 1 auto;}
/* Right-side app links (home, back) */
.appbar__link{
  font:600 .76rem/1 var(--sans);letter-spacing:.07em;text-transform:uppercase;
  color:var(--text-2);text-decoration:none;padding:.4rem .2rem;
  transition:color .16s ease;
}
.appbar__link:hover{color:var(--accent);}

/* Header home-base affordance — the global appbar of every page carries this
   so staff can always return to the operations home in one tap. */
.appbar__home{
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px;margin:-4px -2px -4px 0;color:var(--icon-rest);
  text-decoration:none;border-radius:4px;transition:color .16s ease;
  -webkit-tap-highlight-color:transparent;
}
.appbar__home:hover,.appbar__home:focus-visible{color:var(--icon-hover);}
.appbar__home .bi{color:inherit;}
/* On the shift checklist itself the home shortcut is redundant — hide it there
   (the class display would otherwise beat the bare [hidden] UA rule). */
.appbar__home[hidden]{display:none;}

/* ============================================================
   BOS ICON SYSTEM   (design-system §icons)
   ------------------------------------------------------------
   ONE monochrome line-icon set — Feather/Lucide geometry: 24×24
   viewBox, stroke-based, no fill, round caps/joins. Icons are
   INLINED as <svg> (no icon font, no sprite dependency). The
   canonical SVG source set lives in bos-icons.js (window.BOS_ICONS)
   so JS-built UIs and hand-placed markup share one geometry; new
   pages either inline <svg class="bi …"> from that set or call
   bosIcon(name).

   COLOR = ATTENTION.  Three tiers, and ONLY these three:
     • GRAY  (default)   — every ordinary UI icon. Quiet at rest,
                           brand (clay) on hover / focus / active.
     • AMBER (.bi--warn) — caution banners only; pairs with the ⚠
                           triangle the Administrator keeps.
     • RED   (.bi--danger)— 911 / crisis / emergency quick-cards and
                           the emergency button ONLY.
   If it is not a warning or an emergency, it is gray.

   TWO SIZES, and ONLY these two:
     • .bi-sm  18px  — inline chips (video, Group Impressions, list
                       markers, inline affordances). Range 16–20px.
     • .bi-lg  26px  — section / tile / header icons. Range 24–28px.

   USAGE
     <a href="…" aria-label="Open grocery list">
       <svg class="bi bi-sm" viewBox="0 0 24 24" aria-hidden="true">…</svg>
     </a>
   The link/button text (or aria-label) names the action; the icon
   is decorative (aria-hidden) and inherits color from the parent.
   ============================================================ */
.bi{
  display:inline-block;flex:none;vertical-align:middle;
  stroke:currentColor;stroke-width:1.7;fill:none;
  stroke-linecap:round;stroke-linejoin:round;
  color:var(--icon-rest);
}
.bi-sm{width:18px;height:18px;}
.bi-lg{width:26px;height:26px;}
/* Interactive icons: gray at rest, brand on hover/focus. The parent
   link/button drives the color and the icon inherits it. */
a .bi,button .bi{transition:color .16s ease;}
a:hover .bi,a:focus-visible .bi,button:hover .bi,button:focus-visible .bi{color:var(--icon-hover);}
/* Warning + emergency tiers (the only non-gray icons). */
.bi--warn{color:var(--caution);}
.bi--danger{color:var(--danger);}
a:hover .bi--warn,a:hover .bi--danger{color:inherit;} /* keep tier color on hover */
/* Solid variant for glyphs that read better filled (e.g. play triangle). */
.bi--fill{fill:currentColor;stroke:none;}
/* Icons inside filled buttons follow the button's own text color (e.g. light on
   a dark button), not the gray default — and stay that color on hover. */
.ds-btn:not(.ds-btn--ghost) .bi,.btn:not(.btn--ghost) .bi,.minibtn .bi{color:currentColor;}

/* ============================================================
   COMPLIANCE CHECKLIST — shared engine styles (compliance.js).
   Collapsible section per area, 3-state rows (Open / Done / N/A),
   persistent "+ Add item", optional review log. Used by jc-prep.html
   and safety-risks.html. PHI-free operational data only.
   ============================================================ */
.ck-wrap{display:flex;flex-direction:column;gap:.7rem}
.ck-sec{border:1px solid var(--line);background:var(--paper)}
.ck-sec>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;font:600 .8rem/1.3 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--ink)}
.ck-sec>summary::-webkit-details-marker{display:none}
.ck-chev{margin-left:auto;flex:none;color:var(--text-muted);transition:transform .18s ease}
.ck-sec[open]>summary .ck-chev{transform:rotate(180deg)}
.ck-prog{flex:none;font:600 .66rem/1 var(--sans);letter-spacing:.03em;color:var(--text-muted);background:var(--paper-2);border:1px solid var(--line);padding:.32rem .5rem;font-variant-numeric:tabular-nums}
.ck-prog.done{color:var(--success-deep);border-color:var(--success)}
.ck-body{padding:.15rem .7rem .5rem;border-top:1px solid var(--line)}
.ck-row{display:flex;align-items:flex-start;gap:.7rem;padding:.5rem .3rem;border-bottom:1px solid var(--line);min-height:46px}
.ck-row:last-child{border-bottom:0}
.ck-main{flex:1;display:flex;align-items:flex-start;gap:.7rem;cursor:pointer;min-width:0;background:none;border:0;text-align:left;padding:0;font:inherit;color:inherit}
.ck-cb{flex:none;width:24px;height:24px;border:1.5px solid var(--line-strong);background:var(--paper);margin-top:1px;position:relative}
.ck-row.is-done .ck-cb{background:var(--ink);border-color:var(--ink)}
.ck-row.is-done .ck-cb::after{content:"";position:absolute;left:8px;top:3px;width:6px;height:12px;border:solid var(--paper);border-width:0 2px 2px 0;transform:rotate(45deg)}
.ck-txt{font-size:.97rem;color:var(--ink);line-height:1.4;overflow-wrap:anywhere}
.ck-row.is-done .ck-txt{color:var(--text-muted);text-decoration:line-through}
.ck-row.is-na{opacity:.55}
.ck-row.is-na .ck-txt{text-decoration:none}
.ck-cta{display:inline-block;font:600 .5rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);border:1px solid var(--line-strong);padding:.18rem .32rem;margin-left:.4rem;vertical-align:middle}
.ck-na{flex:none;align-self:center;font:600 .62rem/1 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--text-2);border:1px solid var(--line-strong);background:var(--paper);padding:.45rem .55rem;min-height:34px;cursor:pointer}
.ck-row.is-na .ck-na{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.ck-del{flex:none;align-self:center;background:transparent;border:0;color:var(--text-muted);font-size:1.25rem;line-height:1;padding:.2rem .45rem;cursor:pointer}
.ck-del:hover{color:var(--danger)}
.ck-note{display:flex;gap:.45rem;align-items:flex-start;background:var(--caution-soft);border-left:2px solid var(--caution);color:var(--caution-deep);font:500 .85rem/1.45 var(--sans);padding:.55rem .7rem;margin:.4rem 0 .2rem}
.ck-note .bi{flex:none;margin-top:1px}
.ck-link{display:flex;gap:.4rem;align-items:center;padding:.5rem .3rem;font-size:.88rem}
.ck-link a{color:var(--accent);text-decoration:none;font-weight:600}
.ck-link a:hover{text-decoration:underline}
.ck-add{display:flex;gap:.4rem;flex-wrap:wrap;padding:.6rem .3rem .2rem}
.ck-add input{flex:1 1 12rem;min-width:0;min-height:40px;padding:.5rem .6rem;border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);font:400 .95rem/1.2 var(--sans)}
.ck-add input:focus{outline:none;border-color:var(--accent)}
.ck-addbtn{flex:none;display:inline-flex;align-items:center;gap:.35rem;font:600 .66rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);border:1px solid var(--line-strong);background:var(--paper);padding:.55rem .75rem;min-height:40px;cursor:pointer}
.ck-addbtn:hover{border-color:var(--accent)}
/* review log */
.ck-log{border:1px solid var(--line);background:var(--paper);padding:clamp(1rem,2.5vw,1.4rem);margin-top:1.4rem}
.ck-due{border-left:2px solid var(--caution);background:var(--caution-soft);color:var(--caution-deep);padding:.65rem .85rem;font:500 .88rem/1.45 var(--sans);margin:.4rem 0 1rem}
.ck-due.ok{border-left-color:var(--success);background:var(--success-soft);color:var(--success-deep)}
.ck-logform{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:.5rem 0}
.ck-logform input{flex:1 1 12rem;min-height:42px;padding:.5rem .6rem;border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);font:400 .95rem/1.2 var(--sans)}
.ck-logform input:focus{outline:none;border-color:var(--accent)}
.ck-logbtn{font:600 .7rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:.7rem .95rem;min-height:42px;cursor:pointer}
.ck-logbtn:hover{background:var(--accent);border-color:var(--accent)}
.ck-logtable{width:100%;border-collapse:collapse;margin-top:.7rem;font-size:.86rem}
.ck-logtable th{text-align:left;font:600 .62rem/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:.4rem .5rem;border-bottom:1px solid var(--line)}
.ck-logtable td{padding:.45rem .5rem;border-bottom:1px solid var(--line);color:var(--text-2);font-variant-numeric:tabular-nums}
.ck-logempty{color:var(--text-muted);font-size:.86rem;padding:.5rem}

@media (max-width:640px){
  .appbar__in{gap:.6rem;padding:.5rem 1rem;}
  .crumb .mod{margin-left:0;}
}

/* ------------------------------------------------------------
   Standardized BOS breadcrumb — the one trail used system-wide.
   Sits immediately after the BOS square: BOS  ›  Section  ›  Page.
   Intermediate links are clickable; the current page is bold ink.
   Wraps (never overflows) on narrow screens; the BOS square stays. */
.crumbs{display:flex;flex-direction:row;flex-wrap:wrap;flex:0 1 auto;align-items:center;
  gap:.35rem .5rem;min-width:0;min-height:auto;overflow:visible;
  font:600 .76rem/1.35 var(--sans);letter-spacing:.06em;text-transform:uppercase;}
.crumbs a{color:var(--text-2);text-decoration:none;white-space:nowrap;transition:color .16s ease;}
.crumbs a:hover,.crumbs a:focus-visible{color:var(--accent);}
.crumbs .sep{color:var(--accent);font-weight:400;flex:none;}
.crumbs .cur{color:var(--ink);white-space:nowrap;}
@media (max-width:640px){ .crumbs{font-size:.72rem;letter-spacing:.04em;} }

/* ============================================================
   SHARED UTILITY COMPONENTS (system conventions any page can use)
   ============================================================ */
/* Eyebrow / kicker label */
.eyebrow{
  font:600 .74rem/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;
  color:var(--accent);
}
/* 2px left-rule callout — the system's emphasis device (not a tinted box) */
.notice{
  border-left:2px solid var(--accent);
  padding:.9rem 0 .9rem 1.1rem;color:var(--text-2);line-height:1.6;
}
/* Primary / ghost buttons — square, hairline, uppercase-tracked (app-tightened) */
.ds-btn{
  display:inline-flex;align-items:center;gap:.5rem;
  font:600 .8rem/1 var(--sans);letter-spacing:.07em;text-transform:uppercase;
  text-decoration:none;cursor:pointer;
  padding:.7rem 1.1rem;
  border:1px solid var(--ink);background:var(--ink);color:var(--paper);
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.ds-btn:hover{background:var(--accent);border-color:var(--accent);}
.ds-btn:active{transform:translateY(1px);}
.ds-btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-strong);}
.ds-btn--ghost:hover{background:transparent;color:var(--accent);border-color:var(--accent);}

/* ============================================================
   .bos-reminder — standard, understated informational reminder.
   Pale gold, NOT a red/pink alert. Reusable across BOS pages.
   Markup: <div class="bos-reminder"><span class="bos-reminder__h">REMINDER</span> text…</div>
   ============================================================ */
.bos-reminder{
  background:var(--caution-soft);
  border:1px solid var(--caution);
  color:var(--text);
  padding:.85rem 1rem;
  margin:1.6rem 0 0;
  font:400 .9rem/1.55 var(--sans);
}
.bos-reminder__h{
  display:block;
  font:700 .68rem/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;
  color:var(--caution-deep);
  margin-bottom:.35rem;
}

/* ============================================================
   PHI NOTICE — one standardized, quiet gray footer on every
   page, injected by footer.js so future pages inherit it.
   Point-of-risk reminders (.phi-input) live ONLY beside
   free-text inputs where a PHI mistake would actually be typed.
   ============================================================ */
.phi-footer{
  border-top:1px solid var(--line);
  background:var(--paper-2);
  color:var(--text-muted);
  font:400 .78rem/1.5 var(--sans);
  padding:.8rem clamp(1rem,3vw,1.5rem);
  margin-top:2.75rem;
  text-align:center;
}
.phi-footer b{color:var(--text-2);font-weight:600}
.phi-input{
  display:block;margin:.4rem 0 .1rem;
  font:400 .74rem/1.4 var(--sans);color:var(--text-muted);
}
@media print{ .phi-footer{display:none} }

/* ============================================================
   ROADMAP — shared tab + rail + checklist system for the
   Clinical Roadmap, Operations Roadmap, and Operations Map
   (renderer: roadmap.js). Reference content, not synced.
   ============================================================ */
.rm-tabs{display:flex;flex-wrap:wrap;gap:1px;background:var(--line);border:1px solid var(--line);margin:0 0 1.4rem}
.rm-tab{flex:1 1 auto;min-width:max-content;background:var(--paper);border:0;padding:.7rem .9rem;cursor:pointer;font:600 .72rem/1 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);min-height:44px;transition:background .15s ease,color .15s ease}
.rm-tab:hover{background:var(--paper-2);color:var(--text-2)}
.rm-tab.active{background:var(--ink);color:var(--paper)}
.rm-panel{display:none}
.rm-panel.active{display:block}
.rm-intro{font-size:.92rem;color:var(--text-2);line-height:1.6;margin:0 0 1.2rem;max-width:70ch}
/* checklist items (shared) */
.rm-items{list-style:none;display:flex;flex-direction:column;gap:.4rem;margin:.5rem 0 0}
.rm-items li{display:flex;align-items:flex-start;gap:.55rem;font-size:.92rem;color:var(--text);line-height:1.5}
.rm-chk{flex:none;width:15px;height:15px;border:1.5px solid var(--line-strong);margin-top:.15rem}
.rm-items li.amber .rm-chk{border-color:var(--caution)}
.rm-items li.red .rm-chk{border-color:var(--danger)}
.rm-t{min-width:0}
.rm-own{display:inline-block;margin-left:.4rem;font:600 .58rem/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--line-strong);padding:.12rem .32rem;vertical-align:1px}
.rm-link{color:var(--accent);font-weight:600;text-decoration:none;white-space:nowrap}
.rm-link:hover{text-decoration:underline}
.rm-items li.rm-nav{margin-top:.2rem}
.rm-items li.rm-nav .rm-link{white-space:normal;font-size:.82rem;letter-spacing:.03em;text-transform:uppercase}
/* vertical rail */
.rm-rail{list-style:none;position:relative;margin:0;padding:0 0 0 1.4rem}
.rm-rail::before{content:'';position:absolute;left:5px;top:.4rem;bottom:.4rem;width:2px;background:var(--line)}
.rm-node{position:relative;padding:0 0 1.5rem .6rem}
.rm-node:last-child{padding-bottom:0}
.rm-dot{position:absolute;left:-1.4rem;top:.2rem;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--icon-rest)}
.rm-node.amber .rm-dot{border-color:var(--caution)}
.rm-node.red .rm-dot{border-color:var(--danger)}
.rm-node-h{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-bottom:.15rem}
.rm-badge{font:600 .6rem/1 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--caution-deep);background:var(--caution-soft);border:1px solid var(--caution);padding:.28rem .45rem;white-space:nowrap}
.rm-node-title{font-size:1.05rem;font-weight:600;color:var(--ink);letter-spacing:-0.01em}
.rm-owner{font:600 .6rem/1.3 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--line-strong);padding:.18rem .38rem}
/* callout cards */
.rm-cards{display:flex;flex-direction:column;gap:1rem}
.rm-card{border:1px solid var(--line);border-left:2px solid var(--line-strong);background:var(--paper);padding:1rem 1.1rem}
.rm-card.amber{border-left-color:var(--caution);background:var(--caution-soft)}
.rm-card.red{border-left-color:var(--danger);background:var(--danger-soft)}
.rm-card-h{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}
.rm-card-h h3{font-size:1.02rem;font-weight:600;color:var(--ink)}
.rm-card.amber .rm-card-h .bi{color:var(--caution)}
.rm-card.red .rm-card-h .bi{color:var(--danger)}
.rm-card-h .bi{color:var(--icon-rest)}
.rm-card-b{font-size:.9rem;color:var(--text-2);line-height:1.55}
.rm-card.red .rm-card-b,.rm-card.red .rm-t{color:var(--danger)}
.rm-card.red .rm-chk{border-color:var(--danger)}
/* grouped lists */
.rm-groups{display:flex;flex-direction:column;gap:1.5rem}
.rm-group h3{font:600 .68rem/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--line);padding-bottom:.4rem;margin-bottom:.3rem}
.rm-note{font-size:.85rem;color:var(--text-muted);line-height:1.5;margin-top:.4rem}
/* master map — clinical + operational lanes */
.rm-stages{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line)}
.rm-stage{background:var(--paper);display:grid;grid-template-columns:1fr;gap:.6rem;padding:1rem}
.rm-stage--head{display:none}
.rm-stage-when{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.rm-stage-name{font-size:1.02rem;font-weight:600;color:var(--ink)}
.rm-lane{min-width:0}
.rm-lane--c::before,.rm-lane--o::before{display:block;font:600 .58rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.3rem}
.rm-lane--c::before{content:'Clinical'}
.rm-lane--o::before{content:'Operations'}
@media(min-width:760px){
  .rm-stage{grid-template-columns:150px 1fr 1fr;gap:1.1rem;align-items:start}
  .rm-stage-when{flex-direction:column;align-items:flex-start;gap:.4rem}
  .rm-stage--head{display:grid;background:var(--paper-2)}
  .rm-stage--head .rm-lane{font:600 .62rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
  .rm-lane--c::before,.rm-lane--o::before{display:none}
}
@media print{
  .rm-tabs{display:none}
  .rm-panel{display:block !important;break-inside:avoid;margin-bottom:1.5rem}
  .rm-tab{color:#000}
}
