/* ===== Raymine EMR navigation v2: navy icon rail + white context panel ===== */
:root { --font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }

.sidebar.nav2 { width: 372px; padding: 0; flex-direction: row; background: #FFFFFF; color: #172033; border-right: 1px solid #E1E6EF; }
@media (max-width: 1280px) { .sidebar.nav2 { width: 344px; } }
.sidebar.nav2 .brand { display: none; }

.nav2-rail { width: 84px; flex-shrink: 0; background: #0F1C3F; display: flex; flex-direction: column; align-items: center; padding: 16px 0; gap: 4px; overflow-y: auto; }
.nav2-logo { width: 44px; height: 44px; border-radius: 12px; background: #1476D6; color: #FFFFFF; display: flex; align-items: center; justify-content: center; font-family: Fraunces, Georgia, serif; font-size: 22px; font-weight: 600; margin-bottom: 14px; flex-shrink: 0; }
.nav2-rail-btn { all: unset; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; gap: 4px; width: 64px; padding: 9px 0; border-radius: 12px; color: #B4C2E0; font-family: var(--font-family); font-size: 11px; font-weight: 500; cursor: pointer; flex-shrink: 0; text-align: center; }
.nav2-rail-btn:hover { color: #FFFFFF; }
.nav2-rail-btn.on { background: #22376B; color: #FFFFFF; }
.nav2-rail-btn:focus-visible, .nav2-avatar:focus-visible { outline: 2px solid #7FA8F0; outline-offset: 2px; }
.nav2-rail-btn svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.nav2-spacer { flex-grow: 1; min-height: 8px; }
.nav2-avatar { all: unset; box-sizing: border-box; width: 40px; height: 40px; border-radius: 999px; background: #2B4478; color: #FFFFFF; display: flex; align-items: center; justify-content: center; font-family: var(--font-family); font-size: 14px; font-weight: 600; margin-top: 8px; cursor: pointer; flex-shrink: 0; }

.nav2-panel { flex-grow: 1; min-width: 0; display: flex; flex-direction: column; background: #FFFFFF; padding: 22px 14px; overflow: hidden; }
.nav2-head { padding: 0 12px 4px; }
.nav2-title { font-family: Fraunces, Georgia, serif; font-size: 26px; font-weight: 600; color: #172033; margin: 0; line-height: 1.2; }
.nav2-sub { font-size: 13px; color: #5A6478; margin-top: 2px; }
.sidebar.nav2 .nav-menu { flex: 1; overflow-y: auto; margin: 0; padding: 0; }
.sidebar.nav2 .nav-section-title { display: none; }
.nav2-sec { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #5A6478; padding: 0 12px; margin: 20px 0 6px; }
.nav2-group { display: none; }
.nav2-group.on { display: block; }

.sidebar.nav2 .nav-item { display: flex; align-items: center; justify-content: flex-start; gap: 10px; min-height: 40px; padding: 0 12px; margin: 0 0 2px; border-radius: 10px; border: none; box-shadow: none; background: transparent; color: #263049; font-size: 14px; font-weight: 400; text-decoration: none; }
.sidebar.nav2 .nav-item i { width: 18px; text-align: center; color: #5A6478; font-size: 15px; }
.sidebar.nav2 .nav-item:hover { background: #EDF1F7; color: #172033; }
.sidebar.nav2 .nav-item.active { background: #E4ECFA; color: #1B4FA3; font-weight: 600; border: none; box-shadow: none; }
.sidebar.nav2 .nav-item.active i { color: #1B4FA3; }
.sidebar.nav2 .nav-item .badge { display: none; }

.nav2-account { position: absolute; left: 92px; bottom: 16px; width: 264px; background: #FFFFFF; border: 1px solid #E1E6EF; border-radius: 14px; box-shadow: 0 12px 32px rgba(15, 28, 63, .18); padding: 14px; display: none; z-index: 60; }
.nav2-account.open { display: block; }
.nav2-account .sidebar-footer { margin: 0; padding: 0; border: none; background: none; }
.nav2-account .db-status { background: #F3F5F9; color: #172033; border-radius: 10px; padding: 10px 12px; border: none; }
.nav2-account .db-status i { color: #1B4FA3; }
.nav2-account .db-title { color: #172033; }
.nav2-account .db-desc { color: #5A6478; }
.nav2-account .btn-outline { background: #FFFFFF; color: #263049; border: 1px solid #D2D9E5; }
.nav2-account .btn-outline:hover { border-color: #A3AEC2; background: #F7F9FC; }

/* ===== Phase 2: Today page + global search ===== */
.top-header.nav2-today .header-actions { display: none; }

.nav2-topbar { position: sticky; top: 0; z-index: 40; display: flex; align-items: center; gap: 16px; padding: 10px 14px; margin-bottom: 16px; background: #FFFFFF; border: 1px solid #E1E6EF; border-radius: 14px; }
.nav2-search-wrap { position: relative; flex: 1; max-width: 620px; }
.nav2-search { display: flex; align-items: center; gap: 10px; height: 42px; padding: 0 14px; border: 1px solid #D2D9E5; border-radius: 10px; background: #F7F9FC; color: #5A6478; }
.nav2-search:focus-within { border-color: #1B5FB8; background: #FFFFFF; }
.nav2-search input { border: none; outline: none; background: transparent; font: inherit; font-size: 14px; flex: 1; color: #172033; min-width: 0; }
.nav2-search svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; flex-shrink: 0; }
.nav2-search kbd { font: inherit; font-size: 12px; border: 1px solid #D2D9E5; border-radius: 6px; padding: 1px 6px; background: #FFFFFF; }
.nav2-results { position: absolute; top: 48px; left: 0; right: 0; background: #FFFFFF; border: 1px solid #E1E6EF; border-radius: 12px; box-shadow: 0 12px 32px rgba(15, 28, 63, .16); padding: 6px; display: none; max-height: 440px; overflow-y: auto; z-index: 70; }
.nav2-results.open { display: block; }
.nav2-result { all: unset; box-sizing: border-box; display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; padding: 10px 12px; border-radius: 8px; cursor: pointer; font-family: var(--font-family); font-size: 14px; color: #172033; }
.nav2-result:hover, .nav2-result.sel { background: #E4ECFA; }
.nav2-result small { color: #5A6478; font-size: 12px; }
.nav2-results-note { padding: 10px 12px; font-size: 13px; color: #5A6478; }
.nav2-date { font-size: 13px; color: #5A6478; margin-left: auto; white-space: nowrap; }

.today-wrap { padding: 0 0 32px; }
.today-sec { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #5A6478; margin: 20px 0 10px; }
.today-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.today-card { all: unset; box-sizing: border-box; display: flex; flex-direction: column; gap: 6px; background: #FFFFFF; border: 1px solid #E1E6EF; border-radius: 14px; padding: 16px 18px; cursor: pointer; min-height: 116px; font-family: var(--font-family); }
.today-card:hover { border-color: #A3AEC2; box-shadow: 0 4px 14px rgba(15, 28, 63, .06); }
.today-card:focus-visible { outline: 2px solid #1B5FB8; outline-offset: 2px; }
.today-num { font-family: Fraunces, Georgia, serif; font-size: 36px; font-weight: 600; line-height: 1; color: #172033; }
.today-label { font-size: 14px; font-weight: 600; color: #263049; }
.today-hint { font-size: 13px; color: #5A6478; }
.today-card.hot { border-color: #F1D5A3; background: #FFFBF3; }
.today-card.hot .today-num { color: #8A4B06; }
.today-card.zero .today-num { color: #A3AEC2; }
.today-flow { background: #FFFFFF; border: 1px solid #E1E6EF; border-radius: 14px; overflow: hidden; }
.today-row { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 14px; width: 100%; padding: 12px 16px; border-bottom: 1px solid #EDF1F7; font-family: var(--font-family); font-size: 14px; color: #172033; cursor: pointer; }
.today-row:hover { background: #F7F9FC; }
.today-row:last-child { border-bottom: none; }
.today-time { width: 52px; flex-shrink: 0; color: #5A6478; font-size: 13px; }
.today-who { flex: 1; min-width: 0; }
.today-who small { display: block; color: #5A6478; font-size: 12px; margin-top: 2px; }
.today-chip { font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 999px; background: #E4ECFA; color: #1B4FA3; white-space: nowrap; }
.today-empty { padding: 20px 16px; color: #5A6478; font-size: 14px; }
@media (max-width: 768px) { .nav2-date { display: none; } .today-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ===== Display font system-wide: Fraunces for headings and key numbers ===== */
h1, h2, h3, #page-title,
.stat-value, .stat-number, .stat-count, .stat-card h3 {
    font-family: Fraunces, Georgia, serif;
    font-weight: 600;
    letter-spacing: -0.01em;
}
/* Keep small UI labels that happen to use heading tags in the sans face */
.nav2-account h2, .nav2-account h3, .nav-section-title { font-family: var(--font-family); }

/* The rail's Today item replaces the old house button beside page titles */
#btn-go-home { display: none !important; }

/* Today cards, flow rows and search results are links (not buttons) so
   browser auto-dark treats them like every other card in the app */
.today-card, .today-row, .nav2-result { text-decoration: none; color: #172033; }
.today-row:focus-visible, .nav2-result:focus-visible { outline: 2px solid #1B5FB8; outline-offset: -2px; }

/* Today > Awaiting pharmacy dispense list */
.today-rx { background: #FFFFFF; border: 1px solid #E1E6EF; border-radius: 14px; padding: 14px 16px; margin-bottom: 10px; color: #172033; }
.today-rx-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.today-rx-head small { color: #5A6478; font-size: 12px; }
.today-rx-drugs { margin: 10px 0 0; padding-left: 18px; font-size: 14px; line-height: 1.7; }

/* Dispense prescription (multi-drug) */
.rx-overlay { position: fixed; inset: 0; background: rgba(15, 28, 63, .45); z-index: 5000; display: flex; align-items: flex-start; justify-content: center; padding: 40px 16px; overflow-y: auto; }
.rx-modal { background: #FFFFFF; color: #172033; border-radius: 16px; width: 100%; max-width: 1000px; box-shadow: 0 24px 60px rgba(15, 28, 63, .3); font-family: var(--font-family); }
.rx-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 20px 24px; border-bottom: 1px solid #E1E6EF; }
.rx-head h2 { margin: 0; font-size: 24px; }
.rx-sub { font-size: 14px; color: #5A6478; margin-top: 4px; }
.rx-x { all: unset; cursor: pointer; font-size: 28px; line-height: 1; color: #5A6478; padding: 2px 10px; border-radius: 8px; }
.rx-x:hover { background: #EDF1F7; }
.rx-body { padding: 16px 24px; overflow-x: auto; }
.rx-info { font-size: 13px; color: #5A6478; margin-bottom: 12px; line-height: 1.5; }
.rx-pick { font: inherit; font-size: 14px; padding: 8px 10px; border: 1px solid #D2D9E5; border-radius: 8px; margin-bottom: 12px; background: #FFFFFF; color: #172033; }
.rx-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.rx-table th { text-align: left; font-size: 12px; font-weight: 600; color: #5A6478; padding: 8px 10px; border-bottom: 1px solid #E1E6EF; white-space: nowrap; }
.rx-table td { padding: 12px 10px; border-bottom: 1px solid #EDF1F7; vertical-align: top; }
.rx-table select, .rx-table input[type=number] { font: inherit; font-size: 14px; padding: 8px 10px; border: 1px solid #D2D9E5; border-radius: 8px; background: #FFFFFF; color: #172033; }
.rx-table select { width: 100%; min-width: 230px; }
.rx-table input[type=number] { width: 88px; }
.rx-table input[type=checkbox] { width: 18px; height: 18px; margin-top: 2px; }
.rx-drug small { display: block; color: #5A6478; font-size: 12px; margin-top: 2px; }
.rx-short { color: #B91C1C; font-weight: 600; }
.rx-done { color: #15803D; font-weight: 600; }
.rx-foot { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 16px 24px; border-top: 1px solid #E1E6EF; }
.rx-foot input[type=text] { font: inherit; font-size: 14px; padding: 8px 10px; border: 1px solid #D2D9E5; border-radius: 8px; min-width: 200px; }
.rx-total { margin-left: auto; font-size: 15px; color: #5A6478; }
.rx-total strong { font-family: Fraunces, Georgia, serif; font-size: 22px; color: #172033; margin-left: 6px; }

/* ===== Phase 3: patient chart ===== */
.nav2-panel.chart-mode .nav2-head, .nav2-panel.chart-mode > .nav-menu { display: none; }
#nav2-chart { display: none; flex: 1; overflow-y: auto; }
.nav2-panel.chart-mode #nav2-chart { display: block; }
.ch-back { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; padding: 0 12px; color: #1B5FB8; text-decoration: none; }
.ch-who { display: flex; gap: 12px; align-items: center; padding: 16px 12px 4px; }
.ch-avatar { width: 52px; height: 52px; border-radius: 999px; background: #E4ECFA; color: #1B4FA3; display: flex; align-items: center; justify-content: center; font-family: Fraunces, Georgia, serif; font-size: 20px; font-weight: 600; flex-shrink: 0; }
.ch-name { font-family: Fraunces, Georgia, serif; font-size: 21px; font-weight: 600; line-height: 1.15; color: #172033; }
.ch-meta { font-size: 13px; color: #5A6478; margin-top: 3px; }
.ch-badges { display: flex; gap: 6px; flex-wrap: wrap; padding: 8px 12px 0; }
.ch-chip { display: inline-flex; align-items: center; font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 999px; white-space: nowrap; }
.ch-count { margin-left: auto; font-size: 12px; font-weight: 500; color: #4A5468; background: #EDF1F7; padding: 2px 8px; border-radius: 999px; }
.ch-wrap { padding: 0 0 32px; display: flex; flex-direction: column; gap: 16px; }
.ch-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.ch-due { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 12px 16px; border-radius: 12px; background: #FDF1DC; border: 1px solid #F1D5A3; color: #6E3B04; font-size: 14px; }
.ch-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.ch-card { background: #FFFFFF; border: 1px solid #E1E6EF; border-radius: 14px; padding: 18px; color: #172033; }
.ch-card-h { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 12px; }
.ch-card-h h2 { margin: 0; font-size: 17px; }
.ch-kv1, .ch-kv2, .ch-kv3 { display: grid; gap: 14px; }
.ch-kv2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ch-kv3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ch-lbl { font-size: 12px; color: #5A6478; }
.ch-val { font-size: 16px; font-weight: 600; margin-top: 2px; }
.ch-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 4px; border-bottom: 1px solid #EDF1F7; color: #172033; text-decoration: none; }
a.ch-row:hover { background: #F7F9FC; }
.ch-row:last-child { border-bottom: none; }
.ch-row-main { min-width: 0; }
.ch-row-main strong { display: block; font-size: 14px; }
.ch-row-main small { display: block; font-size: 13px; color: #5A6478; margin-top: 2px; }
.ch-empty { padding: 12px 4px; font-size: 14px; color: #5A6478; }
.ch-link { font-size: 13px; color: #1B5FB8; text-decoration: none; }
.ch-risk { margin-top: 14px; font-size: 14px; color: #8A4B06; }
.ch-tabs { display: none; gap: 8px; overflow-x: auto; padding-bottom: 2px; }
.ch-tab { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border-radius: 999px; font-size: 14px; text-decoration: none; color: #263049; background: #FFFFFF; border: 1px solid #E1E6EF; white-space: nowrap; }
.ch-tab.on { background: #0F1C3F; border-color: #0F1C3F; color: #FFFFFF; }
@media (max-width: 768px) { .ch-tabs { display: flex; } .ch-kv3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ch-actions { justify-content: flex-start; } }

/* Clickable, compact list rows (Visits log first) */
.data-table tr.row-link { cursor: pointer; }
.data-table tr.row-link:hover td { background: #F7F9FC; }
.vl-sub { font-size: 12px; color: #5A6478; margin-top: 3px; white-space: nowrap; }
.vl-clip { max-width: 280px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vl-more { font-size: 12px; font-weight: 600; color: #1B4FA3; background: #E4ECFA; padding: 2px 8px; border-radius: 999px; white-space: nowrap; }
.vl-muted { color: #5A6478; font-size: 13px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.vl-tags { display: flex; flex-wrap: wrap; gap: 6px; }

/* Click feedback while a screen opens */
.is-opening { opacity: .5; cursor: progress !important; transition: opacity .12s ease; }
.is-opening td, .is-opening * { cursor: progress !important; }

/* Raymine logo (outlined hexagon R) */
.rm-mark-host { background: transparent !important; box-shadow: none !important; border: none !important; color: #FFFFFF; display: inline-flex !important; align-items: center; justify-content: center; padding: 0 !important; font-size: 0 !important; }
.rm-mark-host svg { width: 100%; height: 100%; display: block; }
.rm-mark-top { width: 30px; height: 30px; flex-shrink: 0; }
.mobile-top-bar-brand { display: flex; align-items: center; gap: 10px; }
.mobile-top-bar-brand span:not(.rm-mark-host) { font-family: Manrope, 'IBM Plex Sans', system-ui, sans-serif; font-weight: 800; letter-spacing: -0.02em; }

/* ===== Lab page: quiet, sophisticated list ===== */
#btn-open-new-lab-order { background: #0F1C3F !important; border-color: #0F1C3F !important; color: #FFFFFF !important; white-space: nowrap; }
#btn-open-new-lab-order:hover { background: #1B2B57 !important; }
.rm-quiet-btn { background: transparent !important; border: none !important; box-shadow: none !important; color: #1B5FB8 !important; white-space: nowrap; }
.rm-quiet-btn:hover { text-decoration: underline; }
body.rm-lab .rm-hide-in-lab, #btn-open-new-lab-order-page1 { display: none !important; }
.lab-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.lab-stat { text-align: left; background: #FFFFFF; border: 1px solid #E1E6EF; border-radius: 14px; padding: 16px 18px; cursor: pointer; display: flex; flex-direction: column; gap: 4px; font: inherit; color: #172033; transition: border-color .15s, box-shadow .15s; }
.lab-stat:hover { border-color: #B9C6DC; }
.lab-stat.on { border-color: #1B5FB8; box-shadow: 0 0 0 3px rgba(27, 95, 184, .12); }
.lab-stat .lab-n { font-family: Fraunces, Georgia, serif; font-size: 30px; font-weight: 600; line-height: 1.1; }
.lab-stat .lab-l { font-size: 14px; color: #5A6478; }
.lab-f { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; border-radius: 10px; color: #263049; text-decoration: none; font-size: 15px; }
.lab-f:hover { background: #F3F5F9; }
.lab-f.on { background: #E4ECFA; color: #1B4FA3; font-weight: 600; }
.lb-name { font-size: 15px; }
.lb-tests, .lb-when { font-size: 14px; color: #263049; }
.lb-status { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; color: #263049; }
.lb-status i { width: 8px; height: 8px; border-radius: 999px; display: inline-block; background: #94A3B8; }
.lb-amber i { background: #D97706; }
.lb-blue i { background: #1B5FB8; }
.lb-green i { background: #0E8A5F; }
.lb-action { background: none; border: none; padding: 6px 4px; font: inherit; font-size: 14px; font-weight: 600; color: #1B5FB8; cursor: pointer; white-space: nowrap; }
.lb-action:hover { text-decoration: underline; }
.lab-empty { padding: 28px; text-align: center; color: #5A6478; font-size: 15px; }
@media (max-width: 900px) { .lab-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ===== Quiet headers + quiet lists (all pages) ===== */
.rm-actions { display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px; }
.rm-actions > .btn { width: auto !important; flex: 0 0 auto !important; white-space: nowrap; }
.rm-actions .rm-quiet-btn { order: -1; }
.rm-primary { background: #0F1C3F !important; border-color: #0F1C3F !important; color: #FFFFFF !important; }
.rm-primary:hover { background: #1B2B57 !important; }
.rm-hide { display: none !important; }
.toolbar [id^="btn-open-new-"][id*="-page"] { display: none !important; }
.lb-red i { background: #DC2626; }
.lb-dx { display: block; max-width: 300px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 14px; color: #263049; }
.lb-money { font-size: 14px; color: #263049; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lb-icon { background: none; border: 1px solid #E1E6EF; border-radius: 10px; width: 34px; height: 34px; color: #5A6478; cursor: pointer; margin-left: 6px; }
.lb-icon:hover { color: #1B5FB8; border-color: #B9C6DC; }

/* Event Queue (quiet) */
.q-strip { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.lb-purple i { background: #6D4ACF; }
.q-drugs { font-size: 13px; line-height: 1.5; color: #263049; margin-top: 2px; }
.q-drugs strong { display: block; font-size: 13px; color: #172033; }
.q-acts { display: flex; gap: 8px; align-items: center; margin-top: 8px; flex-wrap: wrap; }
.q-primary { background: #0F1C3F; color: #FFFFFF; border: none; border-radius: 8px; padding: 6px 12px; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.q-primary:hover { background: #1B2B57; }
@media (max-width: 900px) { .q-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Nursing Station (quiet) */
.ns-vitals { font-size: 14px; color: #263049; line-height: 1.6; max-width: 420px; }
.ns-sep { color: #B4BDCC; margin: 0 2px; }

/* ===== Quiet style for every remaining table ===== */
.data-table .tag, .data-table .badge { background: transparent !important; border: none !important; padding: 0 !important; color: #263049 !important; font-weight: 500; font-size: 14px; display: inline-flex; align-items: center; gap: 8px; }
.data-table .tag::before, .data-table .badge::before { content: ''; width: 8px; height: 8px; border-radius: 999px; background: #94A3B8; flex-shrink: 0; }
.data-table .tag-hmo::before, .data-table .badge-active::before, .data-table .badge-info::before, .data-table .badge-primary::before { background: #1B5FB8; }
.data-table .tag-warning::before, .data-table .badge-warning::before { background: #D97706; }
.data-table .tag-danger::before, .data-table .badge-danger::before { background: #DC2626; }
.data-table .tag-success::before, .data-table .badge-success::before { background: #0E8A5F; }
.data-table .visit-code-badge { background: none !important; border: none !important; padding: 0 !important; color: #5A6478 !important; font-family: inherit !important; font-size: 13px !important; font-weight: 500 !important; }
.data-table td .btn:not(.btn-join-consult):not(.btn-claim-consult) { background: none !important; border: none !important; box-shadow: none !important; color: #1B5FB8 !important; padding: 6px 4px !important; font-weight: 600; }
.data-table td .btn:not(.btn-join-consult):not(.btn-claim-consult):hover { text-decoration: underline; }
.data-table td .btn-danger { color: #B91C1C !important; }
.data-table td .btn i { display: none; }
.data-table td .btn-join-consult, .data-table td .btn-claim-consult { background: #0F1C3F !important; border: none !important; color: #FFFFFF !important; border-radius: 8px !important; }

/* ===== Quiet buttons (everywhere) ===== */
.btn { border-radius: 10px; font-weight: 600; }
.btn-emerald, .btn-primary { background: #0F1C3F !important; border-color: #0F1C3F !important; color: #FFFFFF !important; }
.btn-emerald:hover, .btn-primary:hover { background: #1B2B57 !important; border-color: #1B2B57 !important; }
.btn-outline, .btn-secondary { background: #FFFFFF !important; border: 1px solid #D2D9E5 !important; color: #263049 !important; }
.btn-outline:hover, .btn-secondary:hover { background: #F3F5F9 !important; border-color: #B9C6DC !important; }
/* keep header secondary actions as quiet links */
.rm-actions .rm-quiet-btn { background: transparent !important; border: none !important; box-shadow: none !important; color: #1B5FB8 !important; }

/* ===== Quiet windows (all pop-ups) ===== */
.modal-backdrop { background: rgba(15, 28, 63, .45) !important; }
.modal-dialog { border-radius: 18px !important; border: 1px solid #E1E6EF !important; box-shadow: 0 24px 60px rgba(15, 28, 63, .22) !important; background: #FFFFFF !important; overflow: hidden; }
.modal-header { background: #FFFFFF !important; border-bottom: 1px solid #E1E6EF !important; padding: 18px 24px !important; }
.modal-header h2, .modal-header h3 { font-family: Fraunces, Georgia, serif !important; font-weight: 600 !important; font-size: 22px !important; color: #172033 !important; margin: 0; }
.modal-header h2 > i, .modal-header h3 > i { display: none; }
.modal-close { border-radius: 10px !important; color: #5A6478 !important; background: transparent !important; border: none !important; }
.modal-close:hover { background: #F3F5F9 !important; color: #172033 !important; }
.modal-body { padding: 22px 24px !important; background: #FFFFFF; }
.modal-footer { background: #FAFBFD !important; border-top: 1px solid #E1E6EF !important; padding: 16px 24px !important; gap: 10px; }
.modal-footer .btn { min-height: 44px; padding: 0 20px; }
.modal-footer .btn > i { display: none; }

/* ===== Quiet forms (all pop-ups and pages) ===== */
.form-group label { font-size: 14px !important; font-weight: 600 !important; color: #263049 !important; margin-bottom: 6px; }
.form-control, .form-select { min-height: 44px; border: 1px solid #D2D9E5 !important; border-radius: 10px !important; background: #F7F9FC !important; color: #172033 !important; font-size: 15px !important; transition: border-color .15s, box-shadow .15s, background .15s; }
textarea.form-control { min-height: 96px; line-height: 1.5; }
.form-control:focus, .form-select:focus { border-color: #1B5FB8 !important; box-shadow: 0 0 0 3px rgba(27, 95, 184, .18) !important; background: #FFFFFF !important; outline: none; }
.form-control::placeholder { color: #8A94A8; }
.form-section-header { background: none !important; border: none !important; border-bottom: 1px solid #E1E6EF !important; border-radius: 0 !important; padding: 0 0 8px !important; margin: 24px 0 14px !important; font-family: 'IBM Plex Sans', system-ui, sans-serif !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .08em; text-transform: uppercase; color: #5A6478 !important; }
.form-section-header > i { display: none; }
.required, label .required { color: #B91C1C !important; }

/* MAR catch-up charting window */
.mar-ov { position: fixed; inset: 0; z-index: 10050; background: rgba(15, 28, 63, .45); display: flex; align-items: center; justify-content: center; padding: 16px; }
.mar-box { background: #FFFFFF; border-radius: 18px; width: min(600px, 100%); max-height: 90vh; display: flex; flex-direction: column; box-shadow: 0 24px 60px rgba(15, 28, 63, .25); overflow: hidden; }
.mar-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 18px 22px; border-bottom: 1px solid #E1E6EF; }
.mar-head h2 { margin: 0; font-family: Fraunces, Georgia, serif; font-size: 21px; font-weight: 600; color: #172033; }
.mar-sub { font-size: 14px; color: #5A6478; margin-top: 3px; }
.mar-x { border: none; background: none; font-size: 26px; line-height: 1; color: #5A6478; cursor: pointer; padding: 2px 8px; border-radius: 8px; }
.mar-x:hover { background: #F3F5F9; }
.mar-list { overflow-y: auto; padding: 8px 22px; }
.mar-row { display: grid; grid-template-columns: 24px 1fr 1.4fr; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid #EDF1F7; }
.mar-row:last-child { border-bottom: none; }
.mar-pick { width: 18px; height: 18px; }
.mar-slot strong { display: block; font-size: 15px; color: #172033; }
.mar-slot small, .mar-given small { display: block; font-size: 12px; color: #5A6478; }
.mar-given .form-control { min-height: 40px; margin-top: 2px; }
.mar-fields { padding: 12px 22px 4px; border-top: 1px solid #E1E6EF; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mar-hint { grid-column: 1 / -1; margin: 0 0 8px; font-size: 13px; color: #5A6478; line-height: 1.5; }
.mar-foot { display: flex; justify-content: flex-end; gap: 10px; padding: 14px 22px; background: #FAFBFD; border-top: 1px solid #E1E6EF; }
@media (max-width: 560px) { .mar-row { grid-template-columns: 24px 1fr; } .mar-given { grid-column: 2; } .mar-fields { grid-template-columns: 1fr; } }

/* Regimen builder (prescribe form) */
.rg-box { margin: 14px 0 6px; border: 1px solid #E1E6EF; border-radius: 14px; padding: 14px 16px; background: #FAFBFD; }
.rg-mode { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.rg-seg { display: inline-flex; border: 1px solid #D2D9E5; border-radius: 10px; overflow: hidden; }
.rg-seg button { border: none; background: #FFFFFF; padding: 9px 14px; font: inherit; font-size: 14px; color: #263049; cursor: pointer; }
.rg-seg button.on { background: #0F1C3F; color: #FFFFFF; font-weight: 600; }
.rg-sec { margin-top: 16px; }
.rg-lbl { font-size: 13px; font-weight: 600; color: #263049; margin-bottom: 8px; }
.rg-hint { font-weight: 400; color: #5A6478; margin-left: 6px; }
.rg-chips { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.rg-chip { height: 36px; padding: 0 14px; border-radius: 999px; border: 1px solid #D2D9E5; background: #FFFFFF; font: inherit; font-size: 14px; color: #263049; cursor: pointer; }
.rg-chip.on { background: #0F1C3F; border-color: #0F1C3F; color: #FFFFFF; font-weight: 600; }
.rg-first { max-width: 240px; }
.rg-note { margin-top: 8px; font-size: 13px; color: #8A4B06; background: #FDF5E6; border: 1px solid #F1D5A3; border-radius: 10px; padding: 8px 12px; line-height: 1.5; }
.rg-step { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; background: #FFFFFF; border: 1px solid #E1E6EF; border-radius: 12px; padding: 10px 12px; margin-bottom: 8px; font-size: 14px; }
.rg-num { width: 24px; height: 24px; border-radius: 999px; background: #E4ECFA; color: #1B4FA3; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 600; }
.rg-in { width: 76px !important; min-height: 38px !important; }
.rg-dose { flex: 1 1 220px; min-height: 38px !important; }
.rg-x { border: none; background: none; font-size: 22px; line-height: 1; color: #5A6478; cursor: pointer; padding: 2px 8px; border-radius: 8px; }
.rg-x:hover { background: #F3F5F9; color: #B91C1C; }
.rg-add { display: flex; gap: 18px; }
.rg-link { border: none; background: none; color: #1B5FB8; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; padding: 4px 0; }
.rg-list { background: #FFFFFF; border: 1px solid #E1E6EF; border-radius: 12px; padding: 4px 14px; max-height: 260px; overflow-y: auto; }
.rg-dose-row { display: grid; grid-template-columns: 130px 1fr auto; gap: 10px; align-items: center; padding: 9px 0; border-bottom: 1px solid #EDF1F7; font-size: 14px; }
.rg-dose-row:last-child { border-bottom: none; }
.rg-tag { font-size: 12px; font-weight: 600; color: #1B4FA3; background: #E4ECFA; border-radius: 999px; padding: 2px 9px; }
.rg-sum { margin-top: 10px; font-size: 14px; color: #263049; }
.rg-err { font-size: 14px; color: #B91C1C; background: #FDECEC; border: 1px solid #F5C2C2; border-radius: 10px; padding: 10px 12px; }
.rg-more { font-size: 13px; color: #5A6478; padding: 8px 0; }

/* Ward drug chart (full screen) */
.dc-ov { position: fixed; inset: 0; z-index: 10040; background: #F3F5F9; overflow-y: auto; }
.dc-body { max-width: 1400px; margin: 0 auto; padding: 28px 32px 48px; display: flex; flex-direction: column; gap: 20px; }
.dc-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.dc-head h1 { margin: 0; font-family: Fraunces, Georgia, serif; font-size: 30px; font-weight: 600; color: #172033; }
.dc-sub2 { font-size: 15px; color: #5A6478; margin-top: 4px; }
.dc-close { border: 1px solid #D2D9E5; background: #FFFFFF; border-radius: 10px; width: 44px; height: 44px; font-size: 26px; line-height: 1; color: #263049; cursor: pointer; }
.dc-round { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.dc-card { background: #FFFFFF; border: 1px solid #E1E6EF; border-radius: 16px; overflow: hidden; }
.dc-card-h { display: flex; align-items: center; gap: 10px; padding: 14px 18px; border-bottom: 1px solid #E1E6EF; }
.dc-card-h h2 { margin: 0; font-family: Fraunces, Georgia, serif; font-size: 20px; font-weight: 600; color: #172033; }
.dc-dot { width: 9px; height: 9px; border-radius: 999px; display: inline-block; }
.dc-count { margin-left: auto; font-size: 14px; color: #5A6478; }
.dc-due { display: grid; grid-template-columns: 70px 1fr auto; gap: 14px; align-items: center; padding: 13px 18px; border-bottom: 1px solid #EDF1F7; }
.dc-due:last-child { border-bottom: none; }
.dc-time { font-size: 17px; font-weight: 600; color: #172033; }
.dc-late { color: #B91C1C; }
.dc-drug { font-size: 15px; font-weight: 600; color: #172033; }
.dc-sub { font-size: 13px; color: #5A6478; margin-top: 2px; }
.dc-give { height: 40px; padding: 0 18px; border: none; border-radius: 10px; background: #0F1C3F; color: #FFFFFF; font: inherit; font-weight: 600; font-size: 14px; cursor: pointer; }
.dc-give:hover { background: #1B2B57; }
.dc-in { font-size: 14px; color: #5A6478; white-space: nowrap; }
.dc-empty { padding: 18px; font-size: 14px; color: #5A6478; }
.dc-nav { margin-left: auto; display: flex; gap: 6px; }
.dc-nav button { border: 1px solid #D2D9E5; background: #FFFFFF; border-radius: 999px; padding: 6px 14px; font: inherit; font-size: 13px; color: #263049; cursor: pointer; }
.dc-scroll { overflow-x: auto; }
.dc-grid { border-collapse: collapse; width: 100%; min-width: 900px; }
.dc-grid th { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #5A6478; text-align: left; padding: 12px 14px; background: #F7F9FC; border-bottom: 1px solid #E1E6EF; }
.dc-grid td { padding: 12px 14px; border-bottom: 1px solid #EDF1F7; vertical-align: top; }
.dc-drugcol { width: 260px; }
.dc-today { text-transform: none; letter-spacing: 0; color: #1B5FB8; }
.dc-stopped { opacity: .6; }
.dc-box { display: inline-flex; flex-direction: column; align-items: flex-start; min-width: 64px; padding: 6px 8px; border-radius: 8px; margin: 0 6px 6px 0; font: inherit; font-size: 13px; font-weight: 600; line-height: 1.25; text-align: left; }
.dc-box small { font-weight: 400; font-size: 11px; }
button.dc-box { cursor: pointer; }
.dc-box.g { background: #EEF8F2; color: #0B5A3C; border: 1px solid #CDEBDA; }
.dc-box.d { background: #FDF5E6; color: #8A4B06; border: 1px solid #F1D5A3; }
.dc-box.o { background: #FDECEC; color: #991B1B; border: 1px solid #F5C2C2; }
.dc-box.u { background: #FFFFFF; color: #5A6478; border: 1px solid #D2D9E5; }
.dc-box.n { background: #F3F5F9; color: #5A6478; border: 1px dashed #C9D1DE; }
.dc-legend { display: flex; gap: 16px; flex-wrap: wrap; padding: 12px 18px; font-size: 13px; color: #5A6478; border-top: 1px solid #EDF1F7; }
@media (max-width: 900px) { .dc-round { grid-template-columns: 1fr; } .dc-body { padding: 16px; } }

/* Prescription treatment plan (outpatient / admit) */
.tp-body { padding: 16px 22px; overflow-y: auto; display: flex; flex-direction: column; gap: 14px; }
.tp-meds { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.tp-h { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #5A6478; margin-bottom: 6px; }
.tp-meds ul { margin: 0; padding-left: 18px; font-size: 14px; color: #263049; line-height: 1.6; }
.tp-opts { display: flex; flex-direction: column; gap: 10px; }
.tp-opt { display: flex; gap: 12px; align-items: flex-start; border: 1px solid #D2D9E5; border-radius: 14px; padding: 14px 16px; cursor: pointer; background: #FFFFFF; }
.tp-opt:hover { border-color: #B9C6DC; }
.tp-opt:has(input:checked) { border-color: #1B5FB8; box-shadow: 0 0 0 3px rgba(27, 95, 184, .12); background: #F7FAFF; }
.tp-opt input { margin-top: 3px; width: 18px; height: 18px; }
.tp-opt strong { display: block; font-size: 16px; color: #172033; }
.tp-opt small { display: block; font-size: 14px; color: #5A6478; margin-top: 3px; line-height: 1.5; }
.btn.tp-ok:disabled { opacity: .5; cursor: not-allowed; }

/* Prescription treatment plan (outpatient / admit) */
.tp-body { padding: 16px 22px; overflow-y: auto; display: flex; flex-direction: column; gap: 14px; }
.tp-meds { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.tp-h { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #5A6478; margin-bottom: 6px; }
.tp-meds ul { margin: 0; padding-left: 18px; font-size: 14px; color: #263049; line-height: 1.6; }
.tp-opts { display: flex; flex-direction: column; gap: 10px; }
.tp-opt { display: flex; gap: 12px; align-items: flex-start; border: 1px solid #D2D9E5; border-radius: 14px; padding: 14px 16px; cursor: pointer; background: #FFFFFF; }
.tp-opt:hover { border-color: #B9C6DC; }
.tp-opt:has(input:checked) { border-color: #1B5FB8; box-shadow: 0 0 0 3px rgba(27, 95, 184, .12); background: #F7FAFF; }
.tp-opt input { margin-top: 3px; width: 18px; height: 18px; }
.tp-opt strong { display: block; font-size: 16px; color: #172033; }
.tp-opt small { display: block; font-size: 14px; color: #5A6478; margin-top: 3px; line-height: 1.5; }
.btn.tp-ok:disabled { opacity: .5; cursor: not-allowed; }

/* Per-drug schedule + multi-drug ward form */
.rg-rowbox { margin: 12px 0 0; }
.rg-adddrug { display: block; width: 100%; margin: 4px 0 14px; padding: 12px; border: 1px dashed #B9C6DC; border-radius: 12px; background: #FAFBFD; color: #1B5FB8; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.rg-adddrug:hover { background: #F3F7FD; border-color: #1B5FB8; }

/* Structured presenting complaints */
.rc-panel { border: 1px solid #E1E6EF; border-radius: 16px; padding: 16px 18px; background: #FFFFFF; margin-bottom: 12px; }
.rc-title { font-family: Fraunces, Georgia, serif; font-size: 19px; font-weight: 600; color: #172033; }
.rc-subt { font-size: 13px; color: #5A6478; margin-top: 2px; }
.rc-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 6px; }
.rc-chip { height: 38px; padding: 0 16px; border-radius: 999px; border: 1px solid #D2D9E5; background: #FFFFFF; font: inherit; font-size: 14px; font-weight: 500; color: #263049; cursor: pointer; }
.rc-chip:hover { border-color: #1B5FB8; }
.rc-chip.on { background: #0F1C3F; border-color: #0F1C3F; color: #FFFFFF; font-weight: 600; }
.rc-mod { border: 1px solid #E1E6EF; border-radius: 14px; margin-top: 12px; background: #FAFBFD; overflow: hidden; }
.rc-mod-h { display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: #FFFFFF; border-bottom: 1px solid #E1E6EF; }
.rc-mod-h strong { font-size: 16px; color: #172033; }
.rc-main { font-size: 12px; font-weight: 600; color: #1B4FA3; background: #E4ECFA; border-radius: 999px; padding: 2px 9px; }
.rc-sys { font-size: 12px; color: #5A6478; margin-left: auto; }
.rc-x { border: none; background: none; font-size: 22px; line-height: 1; color: #5A6478; cursor: pointer; padding: 0 6px; border-radius: 8px; }
.rc-x:hover { background: #F3F5F9; color: #B91C1C; }
.rc-sec { border-bottom: 1px solid #EDF1F7; }
.rc-sec:last-child { border-bottom: none; }
.rc-sec summary { cursor: pointer; padding: 10px 14px; font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #5A6478; }
.rc-fields { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px 18px; padding: 4px 14px 14px; }
.rc-wide { grid-column: 1 / -1; }
.rc-l { display: block; font-size: 13px; font-weight: 600; color: #263049; margin-bottom: 6px; }
.rc-hint { font-weight: 400; color: #5A6478; }
.rc-row { display: flex; gap: 8px; align-items: center; }
.rc-row .form-control, .rc-row .form-select { min-height: 40px !important; }
.rc-unit { font-size: 13px; color: #5A6478; white-space: nowrap; }
.rc-seg { display: flex; flex-wrap: wrap; gap: 6px; }
.rc-seg button { min-height: 34px; padding: 0 12px; border-radius: 8px; border: 1px solid #D2D9E5; background: #FFFFFF; font: inherit; font-size: 13px; color: #263049; cursor: pointer; }
.rc-seg button.on { background: #1B5FB8; border-color: #1B5FB8; color: #FFFFFF; font-weight: 600; }
.rc-assoc { display: flex; flex-direction: column; gap: 6px; }
.rc-arow { display: grid; grid-template-columns: 170px auto 1fr; gap: 10px; align-items: center; font-size: 14px; color: #263049; }
.rc-ad { min-height: 34px !important; font-size: 13px !important; }
.rc-hpi-wrap { margin-top: 16px; }
.rc-actions { display: flex; align-items: center; gap: 14px; margin-top: 6px; }
.rc-link { border: none; background: none; color: #1B5FB8; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; padding: 4px 0; }
.rc-edited { font-size: 12px; color: #8A4B06; }
.rc-oldlink { margin-top: 10px; }
.rc-old { display: none !important; }
.rc-old.rc-show { display: block !important; }
.rc-hl { background: #FDF5E6 !important; border-radius: 6px; box-shadow: inset 3px 0 0 #D97706; }
@media (max-width: 700px) { .rc-arow { grid-template-columns: 1fr auto; } .rc-arow .rc-ad, .rc-arow > span:last-child { grid-column: 1 / -1; } }


/* Admissions list rows are clickable */
#admissions-tbody tr { cursor: pointer; }
#admissions-tbody tr:hover td { background: #F7F9FC; }

/* Complaint modules: colour boundaries, wrap/open, red flags, scale */
.rc-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.rc-headlinks { display: flex; align-items: center; gap: 8px; color: #5A6478; white-space: nowrap; }
.rc-mod { border: 1px solid #E1E6EF !important; border-left: 6px solid #1B5FB8 !important; border-radius: 14px; margin-top: 22px !important; background: #FFFFFF !important; box-shadow: 0 1px 2px rgba(15, 28, 63, .05); }
.rc-mod-h { gap: 10px; padding: 14px 16px !important; }
.rc-mod-h strong { font-size: 17px !important; }
.rc-num { width: 26px; height: 26px; border-radius: 999px; color: #FFFFFF; font-size: 14px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rc-wrapbtn { border: 1px solid #D2D9E5; background: #FFFFFF; border-radius: 8px; padding: 6px 12px; font: inherit; font-size: 13px; font-weight: 600; color: #263049; cursor: pointer; white-space: nowrap; }
.rc-wrapbtn:hover { border-color: #1B5FB8; color: #1B5FB8; }
.rc-sum { padding: 12px 16px 14px; font-size: 14px; line-height: 1.55; color: #3A4458; cursor: pointer; }
.rc-sum:hover { background: #F7F9FC; }
.rc-flagbadge { font-size: 12px; font-weight: 700; color: #FFFFFF; background: #DC2626; border-radius: 999px; padding: 2px 9px; }
.rc-red { display: flex; gap: 12px; align-items: flex-start; margin-top: 14px; padding: 12px 14px; border-radius: 12px; background: #FDECEC; border: 1px solid #F5C2C2; color: #7F1D1D; font-size: 14px; line-height: 1.5; }
.rc-redicon { width: 24px; height: 24px; border-radius: 999px; background: #DC2626; color: #FFFFFF; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rc-sec-flags summary { color: #B91C1C !important; }
.rc-flags { display: flex; flex-wrap: wrap; gap: 8px; }
.rc-flag { min-height: 36px; padding: 6px 12px; border-radius: 10px; border: 1px dashed #F5C2C2; background: #FFFFFF; font: inherit; font-size: 13px; color: #7F1D1D; cursor: pointer; text-align: left; }
.rc-flag.on { background: #DC2626; border: 1px solid #DC2626; color: #FFFFFF; font-weight: 600; }
.rc-scale button { min-width: 34px; padding: 0 !important; }
.rc-multi button { min-height: 34px; }

/* "+ Other complaint" search */
.rc-chip-add { border-style: dashed !important; color: #1B5FB8 !important; font-weight: 600 !important; }
.rc-chip-other { background: #475569 !important; border-color: #475569 !important; }
.rc-other { margin: 6px 0 4px; padding: 12px; border: 1px solid #D2D9E5; border-radius: 12px; background: #FAFBFD; }
.rc-ores { display: flex; flex-direction: column; gap: 4px; margin-top: 8px; max-height: 320px; overflow-y: auto; }
.rc-ohit { display: flex; justify-content: space-between; align-items: center; gap: 12px; text-align: left; padding: 10px 12px; border: 1px solid #E1E6EF; border-radius: 10px; background: #FFFFFF; font: inherit; cursor: pointer; }
.rc-ohit:hover { border-color: #1B5FB8; background: #F7FAFF; }
.rc-ohit strong { font-size: 14px; color: #172033; font-weight: 600; }
.rc-ohit span { font-size: 12px; color: #5A6478; white-space: nowrap; }
.rc-ocustom { border-style: dashed; }
.rc-ohint { font-size: 13px; color: #5A6478; padding: 6px 2px; }

/* External results & documents */
.rd-list { display: flex; flex-direction: column; gap: 10px; }
.rd-card { display: flex; gap: 14px; align-items: center; text-align: left; width: 100%; padding: 10px; border: 1px solid #E1E6EF; border-radius: 12px; background: #FFFFFF; font: inherit; cursor: pointer; }
.rd-card:hover { border-color: #1B5FB8; background: #F7FAFF; }
.rd-err { opacity: .55; }
.rd-thumb { width: 72px; height: 72px; flex-shrink: 0; border-radius: 8px; background: #F3F5F9; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.rd-thumb img { width: 100%; height: 100%; object-fit: cover; }
.rd-pdf { font-size: 12px; font-weight: 700; color: #B91C1C; }
.rd-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rd-type { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #1B4FA3; }
.rd-body strong { font-size: 15px; color: #172033; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rd-body small { font-size: 13px; color: #5A6478; }
.rd-errtxt { color: #B91C1C !important; }
.rd-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; padding: 16px 22px; overflow-y: auto; }
.rd-wide { grid-column: 1 / -1; }
.rd-capture { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.rd-grey { font-size: 13px; color: #263049; display: inline-flex; gap: 6px; align-items: center; margin-left: 6px; }
.rd-pages { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.rd-pg { position: relative; width: 110px; display: flex; flex-direction: column; gap: 4px; }
.rd-pg img, .rd-pg .rd-pdf { width: 110px; height: 140px; object-fit: cover; border-radius: 8px; border: 1px solid #E1E6EF; background: #F3F5F9; display: flex; align-items: center; justify-content: center; }
.rd-pg small { font-size: 11px; color: #5A6478; line-height: 1.3; }
.rd-saved { color: #0E8A5F; }
.rd-pgx { position: absolute; top: 4px; right: 4px; width: 26px; height: 26px; border-radius: 999px; border: none; background: rgba(15, 28, 63, .75); color: #FFFFFF; font-size: 16px; cursor: pointer; }
.rd-total, .rd-nopages { width: 100%; font-size: 13px; color: #5A6478; }
.rd-status { font-size: 13px; color: #1B5FB8; font-weight: 600; }
.rd-viewer { width: min(1180px, 100%) !important; }
.rd-vbody { display: grid; grid-template-columns: 1fr 300px; min-height: 0; overflow: hidden; }
.rd-stage { display: flex; flex-direction: column; min-height: 0; background: #0F1C3F; }
.rd-img { flex: 1; overflow: auto; display: flex; align-items: flex-start; justify-content: center; padding: 12px; min-height: 50vh; max-height: 70vh; }
.rd-img img { max-width: 100%; max-height: 66vh; cursor: zoom-in; background: #FFFFFF; }
.rd-img.zoom img { max-width: none; max-height: none; cursor: zoom-out; }
.rd-img .ch-empty { color: #C9D4EA; }
.rd-nav { display: flex; justify-content: center; align-items: center; gap: 14px; padding: 10px; background: #FFFFFF; border-top: 1px solid #E1E6EF; }
.rd-pgn { font-size: 13px; color: #263049; }
.rd-side { padding: 16px 18px; overflow-y: auto; border-left: 1px solid #E1E6EF; }
.rd-side p { font-size: 14px; color: #263049; margin: 0 0 12px; white-space: pre-wrap; }
@media (max-width: 800px) { .rd-form { grid-template-columns: 1fr; } .rd-vbody { grid-template-columns: 1fr; } .rd-side { border-left: none; border-top: 1px solid #E1E6EF; } }

/* Previous history: list of earlier visits */
.ph-visit { border: 1px solid #E1E6EF; border-left: 4px solid #1B5FB8; border-radius: 10px; padding: 10px 12px; margin-top: 8px; font-size: 14px; color: #263049; line-height: 1.5; background: #FFFFFF; }
.ph-top { margin-bottom: 4px; }
.ph-l { font-weight: 600; color: #5A6478; }
.ph-visit details summary { cursor: pointer; color: #1B5FB8; font-weight: 600; font-size: 13px; margin-top: 4px; }
.ph-hpi { white-space: pre-wrap; margin-top: 6px; color: #3A4458; }
.ph-more { font-size: 12px; color: #5A6478; margin-top: 6px; }

/* Admin backup warning */
.rm-backup-warn { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0 0 14px; padding: 12px 16px; border-radius: 12px; background: #FDECEC; border: 1px solid #F5C2C2; color: #7F1D1D; font-size: 14px; }
.rm-backup-warn button { margin-left: auto; border: none; background: none; font-size: 22px; line-height: 1; color: #7F1D1D; cursor: pointer; }

/* Dispense window: payment strip */
.rx-pay{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;margin-bottom:10px;border:1px solid #E1E6EF;border-radius:8px;font-size:13px;color:#263049;background:#F7F9FC}
.rx-pay.ok{background:#EEF7F1;border-color:#CFE6D7}
.rx-pay.due{background:#FFF6E8;border-color:#F2DDB5}
.rx-pay-links a{margin-left:14px;color:#1B5FB8;font-weight:600;text-decoration:none}

/* Dose guide (MAR + drug chart) */
.dg{margin-top:8px;padding:8px 10px;border-left:3px solid #1B5FB8;background:#F4F7FC;border-radius:6px;font-size:13px;color:#263049;line-height:1.4}
.dg-h{font-weight:700;color:#0F1C3F}
.dg-d{color:#5A6478;margin-top:2px}
.dg-w{margin-top:4px;font-weight:600}
.dg-warn{border-left-color:#D97706;background:#FFF7EA}.dg-warn .dg-w{color:#8A4B06}
.dg-check{border-left-color:#DC2626;background:#FDEEEE}.dg-check .dg-w{color:#991B1B}
.dgc{font-size:11.5px;font-weight:600;margin-top:2px;color:#1B5FB8}
.dgc-warn{color:#8A4B06}.dgc-check{color:#B91C1C}

/* Product line under the generic drug name (MAR + drug chart) */
.dg-prod{font-size:12.5px;color:#5A6478;margin-top:2px;font-weight:400}
.dc-prod{font-size:11.5px;color:#5A6478;margin-top:1px}

/* Prescribing drug picker: generic first, brand in brackets, product underneath */
.autocomplete-item .ac-title{font-weight:600;color:#172033}
.autocomplete-item .ac-brand{font-weight:400;color:#5A6478}
.autocomplete-item .ac-out{color:#B91C1C;font-weight:600}
.med-drug-caption{margin-top:4px}
.med-drug-caption .cap-prod{font-size:12.5px;color:#5A6478}
.med-dose-warn{font-size:12.5px;font-weight:600;color:#8A4B06;margin-top:2px}
.med-dose-warn.check{color:#B91C1C}

/* Drug form: dispensing & dose section */
.drug-sec-h{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5A6478;border-top:1px solid #E1E6EF;padding-top:14px;margin-top:4px}
.drug-checks{display:flex;flex-direction:column;gap:6px;justify-content:center}
.drug-checks .chk{display:flex;align-items:center;gap:8px;font-weight:500;color:#263049;margin:0}

/* Admission account panel */
.acc-panel{border:1px solid #E1E6EF;border-radius:12px;background:#fff;padding:14px 16px;margin:0 0 14px}
.acc-load,.acc-note{color:#5A6478;font-size:13px}
.acc-h{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.acc-h h3{margin:0;font-family:Fraunces,Georgia,serif;font-size:18px;color:#0F1C3F}
.acc-code{font-family:inherit;font-size:12px;font-weight:600;color:#5A6478;margin-left:6px}
.acc-chips{display:flex;gap:6px}
.acc-chip{font-size:11.5px;font-weight:700;border-radius:99px;padding:3px 10px}
.acc-chip.ok{background:#EAF6F1;color:#0B5A3C}.acc-chip.due{background:#FDF5E6;color:#8A4B06}.acc-chip.low{background:#FDECEC;color:#991B1B}
.acc-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-bottom:10px}
.acc-figs>div{background:#F7F9FC;border:1px solid #E9EDF4;border-radius:10px;padding:8px 10px}
.acc-figs span{display:block;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#5A6478}
.acc-figs b{display:block;font-size:17px;color:#172033;margin-top:2px}
.acc-figs small{display:block;font-size:11.5px;color:#5A6478}
.acc-figs .good b{color:#0B5A3C}.acc-figs .bad b{color:#991B1B}
.acc-warn{background:#FFF6E8;border-left:3px solid #D97706;color:#8A4B06;border-radius:6px;padding:7px 10px;font-size:13px;font-weight:600;margin-bottom:8px}
.acc-warn.grey{background:#F3F5F9;border-left-color:#94A3B8;color:#3E4B5C;font-weight:500}
.acc-warn a{color:#1B5FB8}
.acc-acts{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 8px}
.acc-list summary{cursor:pointer;font-weight:600;color:#263049;font-size:13px;padding:4px 0}
.acc-tw{max-height:280px;overflow:auto;border:1px solid #E9EDF4;border-radius:8px;margin-top:6px}
.acc-tw table{width:100%;border-collapse:collapse;font-size:13px}
.acc-tw th{position:sticky;top:0;background:#F7F9FC;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#5A6478;padding:6px 8px}
.acc-tw td{padding:6px 8px;border-top:1px solid #EEF1F6;color:#263049}
.acc-tw .n{text-align:right;white-space:nowrap}.acc-tw tr.pend td{color:#5A6478}
.acc-tag{font-size:10.5px;font-weight:700;color:#8A4B06;background:#FDF5E6;border-radius:4px;padding:1px 5px;margin-left:4px}
.acc-empty{text-align:center;color:#5A6478}
.acc-box{max-width:460px;width:calc(100% - 32px)}.acc-box.wide{max-width:760px}
.acc-box .mar-head{display:flex;justify-content:space-between;align-items:center}
.acc-x{background:none;border:0;font-size:22px;line-height:1;cursor:pointer;color:#5A6478}
.acc-dbody{padding:12px 18px;max-height:70vh;overflow:auto}
.acc-dbody label{display:block;font-size:12.5px;font-weight:600;color:#263049;margin-bottom:10px}
.acc-dbody label .form-control{margin-top:4px}
.acc-sum,.acc-help{font-size:13px;color:#5A6478;margin:0 0 10px}
.acc-cat{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5A6478;margin:12px 0 6px}
.acc-trow{display:grid;grid-template-columns:1fr 120px auto auto;gap:8px;align-items:center;padding:6px 0;border-top:1px solid #EEF1F6}
.acc-trow.new{grid-template-columns:1fr 150px 110px auto}
.acc-trow.off .acc-tn{opacity:.5}
.acc-tn{font-size:13.5px;font-weight:600;color:#172033}.acc-tn small{display:block;font-weight:400;color:#5A6478;font-size:11.5px}
.acc-trow .acc-act{font-size:12px;font-weight:500;margin:0;white-space:nowrap}
@media (max-width:600px){.acc-trow{grid-template-columns:1fr 100px}}

/* Expiry tracking */
.exp-cell{background:none;border:0;padding:0;cursor:pointer;text-align:left;font:inherit}
.exp-cell:hover .x-date,.exp-cell:hover .x-unk{text-decoration:underline}
.x-date{display:block;font-weight:700}
.exp-cell small,td small.x-ok,td small.x-warn,td small.x-bad{display:block;font-size:11.5px}
.x-ok{color:#3E4B5C}.x-warn{color:#B45309}.x-bad{color:#B91C1C}
.x-unk{color:#5A6478;font-style:italic}.x-none{color:#94A3B8}
.x-badge{display:inline-block;min-width:18px;padding:0 5px;margin-left:4px;border-radius:99px;background:#DC2626;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}
.x-sum{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.x-sum>div{border:1px solid #E9EDF4;border-radius:10px;padding:8px 10px;background:#F7F9FC}
.x-sum span{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#5A6478}
.x-sum b{font-size:20px}
.x-sec{margin-top:14px}.x-h{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid #E1E6EF;padding-bottom:4px;margin-bottom:6px}
.x-sec.bad .x-h{border-color:#F5C2C2}.x-sec.warn .x-h{border-color:#F1D5A3}
.x-h h4{margin:0;font-size:14px;color:#0F1C3F}.x-h h4 span{color:#5A6478;font-weight:600}
.x-row{display:grid;grid-template-columns:1fr 130px auto;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid #EEF1F6}
.x-drug{font-weight:600;color:#172033;font-size:13.5px}.x-sub{font-size:12px;color:#5A6478}
.x-exp b{display:block;font-size:13.5px}.x-exp small{display:block;font-size:11.5px}
.x-act{display:flex;gap:6px;align-items:center;justify-content:flex-end}.x-month{width:150px;padding:5px 8px}
.btn.x-danger{color:#B91C1C;border-color:#F5C2C2}
@media (max-width:600px){.x-sum{grid-template-columns:repeat(2,1fr)}.x-row{grid-template-columns:1fr;gap:4px}.x-act{justify-content:flex-start}}

/* Drug catalogue: keep Edit / Restock visible after the Expiry column was added */
#drugs-tbody td:last-child{width:1%;text-align:right}
#drugs-tbody td:last-child .lb-action{display:block;width:100%;margin:2px 0;text-align:right;white-space:nowrap}
#drugs-tbody .exp-cell small{white-space:nowrap}
.table-container:has(#drugs-tbody),div:has(> table > #drugs-tbody){overflow-x:auto;-webkit-overflow-scrolling:touch}

/* Drug catalogue: narrower columns + Edit/Restock pinned to the right edge */
table:has(#drugs-tbody) th,#drugs-tbody td{padding-left:12px!important;padding-right:12px!important}
#drugs-tbody td:first-child{min-width:200px;max-width:300px;white-space:normal}
#drugs-tbody td:last-child,table:has(#drugs-tbody) thead th:last-child{position:sticky;right:0;z-index:2}
#drugs-tbody td:last-child{background:#fff;box-shadow:-8px 0 10px -8px rgba(15,28,63,.18)}
#drugs-tbody tr:hover td:last-child{background:#F7F9FC}
table:has(#drugs-tbody) thead th:last-child{background:#F3F5F9}

/* Prescription window: age / sex / weight strip */
.rxd{margin:-4px 0 14px;padding:8px 12px;border-radius:8px;background:var(--bg-subtle,#f1f5f9);font-size:14px}
.rxd .rxd-sub{font-size:12px;color:var(--text-muted,#64748b)}
.rxd .rxd-warn{margin-top:4px;font-size:13px;font-weight:600;color:#b45309}

/* Invoice window: consultation prompt */
.cp-box{border:1px solid #fcd34d;background:#fffbeb;border-radius:10px;padding:12px 14px;margin-bottom:12px;color:#1f2937}
.cp-head{font-weight:700;color:#92400e;margin-bottom:8px}
.cp-opts{display:flex;flex-wrap:wrap;gap:6px 18px}
.cp-opt{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}
.cp-price{font-size:12px;color:#64748b}
.cp-extra{margin-top:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}
.cp-extra .cp-in{max-width:220px}
.cp-foot{margin-top:10px;display:flex;justify-content:flex-end}

/* Billing: lines still at N0 */
.pp-bar{margin:0 0 12px;padding:10px 14px;border:1px solid #fcd34d;background:#fffbeb;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#92400e}
.pp-box{max-width:980px;width:96vw}
.pp-note{font-size:12px;color:#64748b;margin:4px 0 8px}
.pp-scroll{max-height:60vh;overflow:auto}
.pp-table{width:100%;border-collapse:collapse;font-size:13px}
.pp-table th,.pp-table td{padding:6px;border-bottom:1px solid var(--border-color,#e5e7eb);vertical-align:top;text-align:left}
.pp-sub{font-size:11px;color:#64748b}
.pp-flag{color:#b45309;font-weight:600}
.pp-in{width:90px}
.pp-act{white-space:nowrap}
@media (max-width:700px){.pp-table thead{display:none}.pp-table tr{display:block;padding:6px 0;border-bottom:1px solid #e5e7eb}.pp-table td{display:block;border:0;padding:3px 0}}

/* Ward Board: Ward / OPAT tabs */
.wb-tabs{display:flex;gap:8px;margin:0 0 12px;flex-wrap:wrap}
.wb-tab{padding:8px 16px;border-radius:999px;border:1px solid var(--border-color,#d1d5db);background:transparent;color:inherit;cursor:pointer;font-weight:600;font-size:14px}
.wb-tab .n{opacity:.7;margin-left:2px;font-weight:500}
.wb-tab.active{background:#0f172a;color:#fff;border-color:#0f172a}
.wb-none{padding:24px;text-align:center;color:var(--text-muted,#64748b)}

/* Prescribing: out-of-stock warning and alternatives */
.rx-oos{color:#b91c1c;font-weight:600}
.rx-oos-note{margin-top:6px;padding:8px 10px;border-radius:8px;background:#fffbeb;border:1px solid #fcd34d;color:#92400e;font-size:13px}
.rx-alt{margin:4px 6px 0 0;padding:4px 10px;border-radius:999px;border:1px solid #d97706;background:#fff;color:#92400e;cursor:pointer;font-weight:600;font-size:13px}
.rx-alt small{font-weight:400;color:#64748b}

/* ===== Mobile sidebar v3: narrower menu on phones ===== */
@media (max-width: 768px) {
  .sidebar.nav2 { width: min(252px, 78vw); }
  .nav2-rail { width: 62px; padding: 12px 0; }
  .nav2-rail-btn { width: 54px; padding: 7px 0; font-size: 10.5px; }
  .nav2-rail-btn svg { width: 20px; height: 20px; }
  .nav2-logo { width: 38px; height: 38px; font-size: 19px; }
  .nav2-avatar { width: 36px; height: 36px; }
  .nav2-panel { padding: 16px 6px; }
  .nav2-head { padding: 0 8px 2px; }
  .nav2-title { font-size: 20px; }
  .nav2-sec { padding: 0 8px; margin: 14px 0 4px; }
  .sidebar.nav2 .nav-item { padding: 0 8px; gap: 8px; font-size: 14px; }
  .nav2-account { left: 68px; width: min(264px, calc(100vw - 80px)); }
}

/* ===== Dosage-form tag on the drug picker ===== */
.rx-form{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;line-height:1.5;white-space:nowrap}
.rx-form.inj{background:#FDE8E8;color:#B42318}
.rx-form.liq{background:#E4ECFA;color:#1B4FA3}
.rx-form.sol{background:#EEF0F3;color:#475467}
.rx-form.top{background:#E3F4EA;color:#167245}
.rx-form.oth{background:#F4EBFA;color:#6B3FA0}
.rx-picked-form{position:absolute;transform:translateY(-50%);margin:0;pointer-events:none;z-index:2}

/* ===== Dispense confirmation ===== */
.dc-bill{margin:0;padding:8px 10px;border-radius:8px;background:#E3F4EA;color:#167245;font-size:13px}
.dc-bill.unpaid{background:#FEF3E2;color:#9A5B00}

/* ===== Manage Service Prices: save state ===== */
.service-price-input.svp-dirty{border-color:#E5A23A!important;background:#FEF7EA!important}
.svp-status{font-size:12px;min-width:0;max-width:200px;line-height:1.3}
.svp-status.dirty{color:#9A5B00;font-weight:600}
.svp-status.busy{color:#5A6478}
.svp-status.ok{color:#167245;font-weight:600}
.svp-status.err{color:#B42318;font-weight:600}
.svp-bar{position:sticky;top:0;z-index:3;display:none;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;margin:0 0 8px;border:1px solid #E5A23A;background:#FEF3E2;color:#9A5B00;border-radius:10px;font-weight:600;font-size:13px}

/* ===== Invoice: add a service ===== */
.sp-box{margin:14px 0;padding:12px 14px;border:1px solid #D2D9E5;border-radius:12px;background:#F7F9FC}
.sp-title{font-weight:600;color:#172033;margin-bottom:8px;font-size:14px}
.sp-title i{color:#1B5FB8}
.sp-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.sp-row .sp-item{flex:1 1 260px;min-width:0}
.sp-lab{display:flex;flex-direction:column;gap:2px;font-size:12px;color:#5A6478;margin:0}
.sp-qty{width:80px}
.sp-price{width:130px}
.sp-price[readonly]{background:#EEF0F3}
.sp-total{font-weight:600;color:#167245;min-width:90px;padding-bottom:8px}
.sp-rm{margin-left:10px;border:none;background:none;color:#B42318;font-size:12px;font-weight:600;cursor:pointer;padding:2px 4px;white-space:nowrap}
.sp-rm:hover{text-decoration:underline}
.sp-danger{background:#B42318;color:#fff;border:none}
.sp-danger:hover{background:#912018;color:#fff}
@media print{.sp-rm,.sp-box{display:none!important}}

/* ===== Invoice summary strip ===== */
.inv-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px}
.inv-sum>div{border:1px solid #E1E6EF;border-radius:12px;padding:10px 12px;background:#F7F9FC}
.inv-sum small{display:block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5A6478}
.inv-sum strong{display:block;font-size:20px;color:#172033;margin-top:2px;font-variant-numeric:tabular-nums}
.inv-sum .due{background:#FDECEC;border-color:#F3B8B8}
.inv-sum .due strong{color:#B42318}
.inv-sum .clear{background:#E3F4EA;border-color:#B7E1C8}
.inv-sum .clear strong{color:#167245}
@media (max-width:560px){.inv-sum strong{font-size:16px}.inv-sum>div{padding:8px}}

/* ===== Billing: awaiting-payment banner ===== */
.bb-banner{position:fixed;top:10px;left:50%;transform:translateX(-50%);z-index:4500;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;max-width:min(980px,calc(100vw - 24px));padding:8px 12px;background:#FEF3E2;border:1px solid #E5A23A;color:#7A4A00;border-radius:12px;box-shadow:0 8px 24px rgba(15,28,63,.18);font-size:13px}
.bb-banner.red{background:#FDECEC;border-color:#E08585;color:#8E1B12;animation:bbpulse 2s ease-in-out infinite}
@keyframes bbpulse{50%{box-shadow:0 0 0 4px rgba(180,35,24,.2),0 8px 24px rgba(15,28,63,.18)}}
@media (prefers-reduced-motion:reduce){.bb-banner.red{animation:none}}
.bb-banner.min{padding:0;border:none;background:none;box-shadow:none;left:auto;right:12px;transform:none;animation:none}
.bb-pill{all:unset;cursor:pointer;padding:8px 14px;border-radius:999px;background:#E5A23A;color:#fff;font-weight:700;font-size:13px;box-shadow:0 6px 18px rgba(15,28,63,.22)}
.bb-banner.red .bb-pill{background:#B42318}
.bb-chips{display:flex;flex-wrap:wrap;gap:6px}
.bb-chip{all:unset;cursor:pointer;background:#fff;border:1px solid currentColor;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}
.bb-chip.red{background:#B42318;color:#fff;border-color:#B42318}
.bb-chip small{opacity:.8;font-weight:500}
.bb-late{background:#B42318;color:#fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}
.bb-more{font-size:12px;opacity:.85}
.bb-acts{display:flex;gap:6px;margin-left:auto}
.bb-btn{all:unset;cursor:pointer;padding:4px 10px;border-radius:8px;background:rgba(255,255,255,.85);border:1px solid currentColor;font-size:12px;font-weight:600}
.bb-btn:focus-visible,.bb-chip:focus-visible,.bb-pill:focus-visible,.bb-k:focus-visible,.bb-main:focus-visible,.bb-close:focus-visible{outline:2px solid #1B5FB8;outline-offset:2px}
@media (max-width:768px){.bb-banner{top:auto;bottom:12px}}
/* ===== Billing: "Who owes" board ===== */
.bb-ov{position:fixed;inset:0;background:rgba(15,28,63,.45);z-index:5000;display:flex;align-items:flex-start;justify-content:center;padding:24px 12px;overflow-y:auto}
.bb-box{background:#fff;border-radius:16px;width:min(980px,100%);box-shadow:0 20px 50px rgba(15,28,63,.3)}
.bb-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #E1E6EF;font-family:Fraunces,Georgia,serif;font-size:22px;font-weight:600;color:#172033}
.bb-close{all:unset;cursor:pointer;font-size:26px;line-height:1;padding:0 6px;color:#5A6478}
.bb-body{padding:16px 20px}
.bb-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.bb-k{all:unset;cursor:pointer;padding:5px 12px;border-radius:999px;border:1px solid #D2D9E5;font-size:13px;color:#263049}
.bb-k.on{background:#1B4FA3;border-color:#1B4FA3;color:#fff}
.bb-q{flex:1 1 200px;min-width:0;max-width:280px}
.bb-old{font-size:13px;color:#5A6478;display:flex;gap:6px;align-items:center;margin:0}
.bb-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.bb-tiles>div{border:1px solid #E1E6EF;border-radius:12px;padding:10px 12px;background:#F7F9FC}
.bb-tiles small{display:block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5A6478}
.bb-tiles strong{display:block;font-size:20px;color:#172033;font-variant-numeric:tabular-nums}
.bb-tiles .nc strong{color:#B42318}.bb-tiles .ow strong{color:#9A5B00}
.bb-row{border:1px solid #E1E6EF;border-radius:12px;margin-bottom:8px;overflow:hidden}
.bb-main{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;width:100%;padding:10px 14px}
.bb-main:hover{background:#F7F9FC}
.bb-who strong{display:block;color:#172033}.bb-who small{color:#5A6478;font-size:12px}
.bb-amt{text-align:right}.bb-amt small{display:block;color:#5A6478;font-size:11px}.bb-amt strong{font-size:17px;color:#172033;font-variant-numeric:tabular-nums}
.bb-st{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}
.bb-st.nc{background:#FDECEC;color:#B42318}.bb-st.od{background:#B42318;color:#fff}.bb-st.ow{background:#FEF3E2;color:#9A5B00}.bb-st.rn{background:#E4ECFA;color:#1B4FA3}
.bb-bills{border-top:1px solid #E1E6EF;background:#F7F9FC;padding:6px 14px}
.bb-bill{display:grid;grid-template-columns:1fr auto auto auto;gap:10px;align-items:center;padding:6px 0;font-size:13px}
.bb-num{font-variant-numeric:tabular-nums;font-weight:600}
.bb-empty{padding:24px;text-align:center;color:#5A6478}
.bb-entry{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px;font-size:13px;color:#5A6478}
@media (max-width:640px){.bb-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.bb-main{grid-template-columns:1fr auto}.bb-main .bb-st{justify-self:start}.bb-bill{grid-template-columns:1fr auto}.bb-body{padding:12px}}
/* ===== Invoice: payment not confirmed / owing ===== */
.br-box{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 0 14px;padding:10px 14px;border-radius:12px;border:1px solid #E1E6EF}
.br-box small{display:block;font-size:12px;margin-top:2px;opacity:.9}
.br-box.nc{background:#FDECEC;border-color:#F3B8B8;color:#8E1B12}
.br-box.ow{background:#FEF3E2;border-color:#E5A23A;color:#7A4A00}
.br-box.cl{background:#EEF0F3;color:#475467}
.br-acts{display:flex;flex-wrap:wrap;gap:6px}
@media print{.bb-banner,.br-box,.bb-entry{display:none!important}}

/* ===== Dispense: pay / not dispensed ===== */
.rx-pay .rx-paybtn{background:#B42318;color:#fff!important;padding:3px 10px;border-radius:8px;font-weight:700;text-decoration:none}
.rx-closelink{color:#9A5B00!important;font-weight:600}

.bb-chip .bb-ct{font-weight:500;opacity:.92}

/* ===== Vitals corrections ===== */
.vf-box{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:8px 0 16px}
.vf-line{font-size:12.5px;color:#7A4A00;background:#FEF3E2;border:1px solid #F1D19A;border-radius:8px;padding:5px 10px}
.vf-line i{margin-right:4px}
.vf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}
.vf-grid label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#5A6478;margin:0}
@media (max-width:480px){.vf-grid{grid-template-columns:1fr}}
@media print{.vf-btn{display:none!important}}

/* ===== Add to bill: consultation quick amounts ===== */
.sp-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.sp-chips button{all:unset;cursor:pointer;padding:4px 12px;border-radius:999px;border:1px solid #1B5FB8;color:#1B4FA3;font-size:12px;font-weight:600;background:#fff}
.sp-chips button:hover,.sp-chips button:focus-visible{background:#E4ECFA;outline:none}
.sp-box.sp-flash{box-shadow:0 0 0 3px #7FA8F0;transition:box-shadow .3s}

/* ===== Lab results: Mark reviewed bar ===== */
.lr-wrap{margin:0 0 14px}
.lr-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;border:1px solid #E1E6EF;font-size:14px}
.lr-bar.due{background:#FEF3E2;border-color:#E5A23A;color:#7A4A00}
.lr-bar.ok{background:#E3F4EA;border-color:#B7E1C8;color:#167245}
.lr-bar.wait{background:#F3F5F9;color:#475467}
.lr-wait{font-size:12.5px;opacity:.85}
.lr-acts{display:flex;gap:6px;flex-wrap:wrap}
@media print{.lr-acts{display:none!important}}

/* bb chip close x */
.bb-chip .bb-x{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:6px;border-radius:50%;font-weight:700;font-size:15px;line-height:1;opacity:.65}
.bb-chip .bb-x:hover{opacity:1;background:rgba(0,0,0,.15)}

/* lab interpretation (labcomment.js) */
.lc-wrap{margin:6px 0 12px}
.lc-box{border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;margin-bottom:8px;background:#f8fafc}
.lc-box.ok{border-color:#86efac;background:#f0fdf4}
.lc-head{font-size:14px;margin-bottom:4px}.lc-sub{color:#64748b;font-weight:400}
.lc-rep{line-height:1.5;margin:6px 0}
.lc-emr{margin:6px 0;font-size:13px}.lc-emr summary{cursor:pointer;color:#0f766e}.lc-emr div{margin-top:6px;line-height:1.5}
.lc-by{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:13px;color:#475569}
.lc-ed-body{padding:12px 18px;max-height:70vh;overflow:auto}
.lc-ed-body label{display:block;font-weight:600;margin:10px 0 4px}.lc-ed-body label small{font-weight:400;color:#64748b}
.lc-ed-body textarea{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;font:inherit;line-height:1.45}
.lc-note{margin:0 0 4px;font-size:13px;color:#475569}
