/* =========================================================================
   JaldiCare additive theme layer (module: theme) — OFFLINE PACKAGE
   Baseline: main.js OFF d1cd37b6 / worker v74 / main.css as attached 19:01.
   Loaded AFTER main.css. Zero visual change when no admin customization:
   every var() carries the ACTUAL current surface value as its fallback.
   Groups = the 25 numbered identities from the owner colour spec
   (File file-01M6NCJ9TYXB6P08993BEV1JHR, 5 Nov 2026), defaults re-based
   to the current blue build (owner: no green, 5 Nov 15:35).
   ========================================================================= */

/* ---- root plumbing: static defaults = actual baseline values.
   The ENGINE sets these same vars inline with concrete resolved values on
   every apply (mode switch / customization) — no var() chains anywhere. */
:root{
  --brand:#1a6b5c;--brand-dark:#125144;
  --page:#ffffff;--bg:#f7f5f1;--ink:#1d1b18;--ink2:#6b655c;
  --line:#e5e0d8;--red:#b3261e;--card:#fff;
}

/* ---- Group 1: primary buttons (actual #1e3a8a family) ----------------- */
.primary-btn,
.ack-icon,
.splash-btn,
.emerg-btn,
.mini-btn.ok,
.lang-pill.active,
.ver-chip,
.chat-msg.patient,
.mini-toggle.pill-on,
.dl-top-btn{background:var(--th-primary,#1e3a8a);color:var(--th-on-primary,#fff)}
.mini-btn.ok{border-color:transparent}
.lang-pill.active{border-color:var(--th-primary,#1e3a8a)}
.mini-toggle{border-color:var(--th-primary,#1e3a8a);color:var(--th-primary,#1e3a8a)}
.mini-toggle.pill-on{border-color:var(--th-primary,#1e3a8a)}
.emerg-btn.secondary{background:var(--th-surface,#fff);color:var(--th-primary,#1e3a8a);border-color:var(--th-primary,#1e3a8a)}
.prof-btn{border-color:var(--th-primary,#1e3a8a);color:var(--th-primary,#1e3a8a)}
.svc-sup summary,.svc-sup-sec,.pol-sec h4,.contact-footer a,.cat-img-plain,.login-landing-light,.form-tag{color:var(--th-primary,#1e3a8a)}
.form-tag{background:var(--th-primary-soft,#dbeafe)}
.live-auth .in:focus{border-color:var(--th-primary,#1e3a8a)}
.quote-cust{border-color:var(--th-primary,#1e3a8a)}
.stat-btn:active,.stat-btn:focus-visible{background:var(--th-primary-soft,#f0f9ff);outline-color:var(--th-primary2,#38bdf8)}
.emergency-call-top:focus-visible{outline-color:var(--th-primary,#1d4ed8)}
.contact-footer a:hover{background:color-mix(in srgb,var(--th-primary,#1e3a8a) 8%,transparent)}

/* ---- Group 2: floating cart button (actual #1e40af, cart-ui injected) -- */
.mca-cart-fab{background:var(--th-cart,#1e40af)!important;color:var(--th-on-cart,#fff)!important}
.mca-cart-fab .n{background:var(--th-surface,#fff)!important;color:var(--th-cart,#1e40af)!important}
.mca-cart-tabs button{border-color:var(--th-cart,#1e40af)!important;color:var(--th-cart,#1e40af)!important;background:var(--th-surface,#fff)!important}
.mca-cart-tabs button.on{background:var(--th-cart,#1e40af)!important;color:var(--th-on-cart,#fff)!important}
.mca-cart-btn{background:var(--th-cart,#1e40af)!important;color:var(--th-on-cart,#fff)!important}
.mca-cart-btn.alt{background:var(--th-surface,#fff)!important;color:var(--th-cart,#1e40af)!important;border-color:var(--th-cart,#1e40af)!important}
.mca-cart-row .st{color:var(--th-cart,#1e40af)!important}
.mca-cart-chip{border-color:var(--th-cart,#1e40af)!important;color:var(--th-cart,#1e40af)!important;background:var(--th-cart-soft,#eff6ff)!important}

/* ---- Group 3: 24x7 Help button (actual tt-blue gradient) --------------- */
.header-help{background:linear-gradient(135deg,var(--th-help-a,#1d4ed8),var(--th-help-b,#1e3a8a));color:var(--th-on-help,#fff)}

/* ---- Group 4: 108 emergency (actual red #b3261e) ----------------------- */
.emergency-call-top{background:var(--th-emergency,#b3261e);border-color:var(--th-emergency-dark,#8e1e18);color:var(--th-on-emergency,#fff)}
.mini-btn.no{color:var(--th-emergency,#b3261e)}
.callout.warn{background:var(--th-emergency-soft,#fdf0ef);border-color:var(--th-emergency-line,#eec6c3);color:var(--th-emergency,#b3261e)}
.stale,.pol-draft{color:var(--th-emergency,#b3261e)}

/* ---- Group 5: notifications bell (actual tt-blue gradient) ------------- */
.mca-bell4289{background:linear-gradient(135deg,var(--th-bell-a,#1d4ed8),var(--th-bell-b,#1e3a8a))!important;color:var(--th-on-bell,#fff)!important}

/* ---- Group 6: small chips + service icons (actual teal #0b7285) -------- */
.svc-icon{color:var(--th-teal,#1e40af)!important}
.tile-row .svc-icon{color:#fff!important;stroke:#fff!important}
.med-pick{border-color:var(--th-teal,#0b7285);color:var(--th-teal,#0b7285);background:var(--th-surface,#fff)}
.med-pick.on{background:var(--th-teal,#0b7285);color:#fff}
.chip{border-color:var(--th-teal-line,#b2d8d8);background:var(--th-surface,#fff);color:var(--th-ink,#1d1b18)}
.chip.on{background:var(--th-teal,#0b7285);border-color:var(--th-teal,#0b7285);color:#fff}
.med-search{border-color:var(--th-teal-line,#b2d8d8)}
.svc-info{background:var(--th-teal-soft,#f2f8f5);border-color:var(--th-teal-line,#cfe0da)}
.banner{background:var(--th-teal-soft,#eef4f2);border-color:var(--th-teal-line,#cfe0da);color:var(--th-teal-ink,#2c4f47)}

/* ---- Group 7: role chips (actual per-role gradients preserved) --------- */
.rc-admin{background:linear-gradient(135deg,var(--th-role-a,#1d4fa0),var(--th-role-b,#2563eb))}
.rc-customer{background:linear-gradient(135deg,var(--th-role-a,#2b6cb0),var(--th-role-b,#4299e1))}
.rc-caregiver{background:linear-gradient(135deg,var(--th-role-a,#1d4fa0),var(--th-role-b,#2563eb))}
.rc-provider{background:linear-gradient(135deg,var(--th-role-a,#7b4fa6),var(--th-role-b,#9f7aea))}

/* ---- Groups 8-13: admin tile cards (actual gradients preserved) -------- */
.tt-teal  {background:linear-gradient(135deg,var(--th-tt1-a,#2563eb),var(--th-tt1-b,#1e40af))}
.tt-slate {background:linear-gradient(135deg,var(--th-tt2-a,#475569),var(--th-tt2-b,#1e293b))}
.tt-blue  {background:linear-gradient(135deg,var(--th-tt3-a,#1d4ed8),var(--th-tt3-b,#1e3a8a))}
.tt-green {background:linear-gradient(135deg,var(--th-tt4-a,#0284c7),var(--th-tt4-b,#075985))}
.tt-maroon{background:linear-gradient(135deg,var(--th-tt5-a,#9f1239),var(--th-tt5-b,#881337))}
.tt-orange{background:linear-gradient(135deg,var(--th-tt6-a,#c2410c),var(--th-tt6-b,#7c2d12))}
.tt-purple{background:linear-gradient(135deg,var(--th-tt7-a,#6d28d9),var(--th-tt7-b,#4c1d95))}
.rp-customer{background:linear-gradient(135deg,var(--th-tt3-a,#2563eb),var(--th-tt3-b,#1e40af))}
.rp-caregiver{background:linear-gradient(135deg,var(--th-tt5-a,#9f1239),var(--th-tt5-b,#881337))}
.rp-provider{background:linear-gradient(135deg,var(--th-tt3-a,#1d4ed8),var(--th-tt3-b,#1e3a8a))}
.rp-admin{background:linear-gradient(135deg,var(--th-tt7-a,#6d28d9),var(--th-tt7-b,#4c1d95))}

/* ---- Group 14: page background (colour or gallery image) --------------- */
.bmch-body{background:
  radial-gradient(1200px 500px at 80% -10%,color-mix(in srgb,var(--th-primary,#2563eb) 10%,transparent),transparent 60%),
  radial-gradient(900px 420px at -10% 30%,color-mix(in srgb,var(--th-tt5-a,#881337) 10%,transparent),transparent 55%),
  var(--th-bg-img,linear-gradient(180deg,var(--th-bg-a,#f8faff),var(--th-bg-b,#edf3ff)))}
.splash{background:
  radial-gradient(1000px 480px at 70% 10%,color-mix(in srgb,var(--th-primary,#2563eb) 12%,transparent),transparent 60%),
  radial-gradient(800px 400px at 10% 85%,color-mix(in srgb,var(--th-tt5-a,#881337) 12%,transparent),transparent 55%),
  var(--th-bg-img,linear-gradient(180deg,var(--th-bg-a,#f8faff),var(--th-bg-b,#edf3ff)))!important}
.lang-screen{background:var(--th-bg-img,var(--bg))}

/* ---- Group 15: white cards / panels ------------------------------------ */
.panel,.visit-card,.query-card,.track-box,.menu-drawer,.menu-drawer-head,.prof-drop,
.help-call-dialog,.mca-cart-panel,.loc-box,.chosen-svc,.resume-doc,.staff-card,
.menu-close,.menu-btn,.stat-btn,.svc-pick,.emerg-card,.cat-card,.mini-toggle,
.top-nav{background:var(--th-surface,#fff)}
.top-nav{background:var(--th-surface-nav,#fffffff0)}
.mca-cart-panel{background:var(--th-surface,#fff)!important;color:var(--th-ink,#1d1b18)!important}
.mca-cart-item .d,.mca-cart-note{color:var(--th-ink2,#6b655c)!important}
.mca-cart-item button{color:var(--th-no-fg,#991b1b)!important}
.mca-cart-panel input,.mca-cart-panel textarea{background:var(--th-surface,#fff)!important;color:var(--th-ink,#1d1b18)!important;border-color:var(--th-line,#e5e0d8)!important}
.mca-cart-item,.mca-cart-row{border-color:var(--th-line,#e5e0d8)!important}

/* ---- Group 16: main text (actual near-black) ---------------------------- */
.menu-drawer-head b,.menu-row,.menu-close,.menu-btn span{border-color:var(--th-line,#cbd5e1)}
.menu-drawer-head b,.menu-row,.menu-close{color:var(--th-ink-strong,#0f3d63)}
.menu-btn span{background:var(--th-ink-strong,#0f3d63)}
.mca-bottom-motto{} /* placeholder keeps grouping comments stable */
body{color:var(--th-ink,#1d1b18)}
.bmch-root,.bmch-body{color:var(--th-ink,#000)}
.splash-tag{color:var(--th-ink2,#000)!important}
.ver-at,.menu-row small,.menu-fine,.cat-sub,.svc-info-desc,.resume-row.redacted span:last-child{color:var(--th-ink2,#000)}

/* ---- Group 17: light secondary text ------------------------------------ */
/* consumed through --ink2 re-declared above; explicit extras: */
.sample-tag{color:var(--th-wait-fg,#92400e);background:var(--th-wait-bg,#fef3c7)}

/* ---- Group 18: footer + motto (inline-styled in index.html) ------------- */
.mca-bottom-motto{color:var(--th-motto,#1e3a8a)!important}
body>footer{color:var(--th-footer-ink,#000)!important}

/* ---- Group 19: test (dummy) banner (actual orange #b45309) -------------- */
.splash-test,.mca-th-dummy-banner{background:var(--th-dummy,#b45309)!important;color:var(--th-on-dummy,#fff)!important}

/* ---- Group 20: app-download banner (actual light blue box) -------------- */
.app-dl-top{background:var(--th-dl-bg,#eff6ff)!important;border-color:var(--th-dl-line,#bfdbfe)!important}

/* ---- Group 21: status pills approved/declined/waiting ------------------- */
.qstatus.pill-on,.status.done,.staff-badge.ok{background:var(--th-ok-bg,#e3ecfa);color:var(--th-ok-fg,#1e3a8a)}
.qstatus.pill-off,.status.no{background:var(--th-no-bg,#fee2e2);color:var(--th-no-fg,#991b1b)}
.qstatus.pill-wait,.staff-badge.warn{background:var(--th-wait-bg,#fef9c3);color:var(--th-wait-fg,#854d0e)}
.status.done{background:var(--th-ok-bg,#e3ecfa)}
.status.no{background:var(--th-no-bg,#f9e3e1)}
.gate-ok{color:var(--th-ok-fg,#1e3a8a)}
.gate-no{color:var(--th-no-fg,#9a3412)}
.gate-lock{background:var(--th-wait-soft,#fff7ed);border-color:var(--th-wait-line,#fed7aa)}
.mca-cart-ok{background:var(--th-ok-bg,#e3ecfa)!important;border-color:var(--th-ok-line,#9db8ff)!important;color:var(--th-ok-fg,#1e3a8a)!important}
.mca-cart-err{background:var(--th-no-bg,#fdeeee)!important;border-color:var(--th-no-line,#e5a9a9)!important;color:var(--th-ink,#1d1b18)!important}

/* ---- Group 22: status en-route / pending -------------------------------- */
.status.enroute{background:var(--th-enroute-bg,#e3ecfa);color:var(--th-enroute-fg,#1d4fa0)}
.status{background:var(--th-pend-bg,#f3ede2);color:var(--th-pend-fg,#6b5420)}

/* ---- Groups 23 + 25: logo & help-icon images (engine swaps img src) ----- */
:root{--th-logo-url:none;--th-helpicon-url:none}

/* ---- Group 24: brand name text ------------------------------------------ */
.splash-brand{color:var(--th-brand,#1e3a8a)!important}
.login-landing-brand,.mca-bottom-brand4277{color:var(--th-brand,#1e3a8a)!important}
.hero-brand{color:var(--th-hero-brand,#fff)}

.top-nav b{color:var(--th-ink-strong,#0f3d63)}
.crumb-nav{color:var(--th-ink2,#6b655c)}

/* ---- misc surfaces that stay consistent ---------------------------------- */
.menu-row.active{background:var(--th-primary-soft,#e0f2fe);border-color:var(--th-primary2,#38bdf8)}
.chat-list{background:var(--th-surface2,#f1f5f9)}
.chat-msg.doctor{background:var(--th-surface,#fff);border-color:var(--th-line,#e2e8f0);color:var(--th-ink,#1d1b18)}
.mini-toggle.pill-off{background:var(--th-surface2,#f1f5f9);color:var(--th-ink,#000);border-color:var(--th-line,#cbd5e1)}
.quote-box{background:var(--th-surface2,#f8fafc);border-color:var(--th-line,#94a3b8)}
.menu-row{background:var(--th-surface2,#f8fafc);border-color:var(--th-line,#e2e8f0)}
.rx-view{background:var(--th-wait-soft,#fffbeb);border-color:var(--th-wait-line,#fde68a);color:var(--th-ink,#1d1b18)}
.staff-card{background:var(--th-surface2,#f4f6fb);border-color:var(--th-line,#d5dcee)}

/* =========================================================================
   DARK MODE — default dark values; the engine re-derives inline values for
   admin-customized groups on mode switch, so both modes stay consistent.
   ========================================================================= */
html[data-mca-mode="dark"]{
  --th-bg-a:#0b1220;--th-bg-b:#131f38;--th-bg-img:linear-gradient(180deg,#0b1220,#131f38);
  --th-surface:#1b2536;--th-surface2:#232f45;--th-surface-nav:#131f38f0;
  --th-ink:#eef2f8;--th-ink-strong:#dbe6f5;--th-ink2:#a9b6cb;--th-line:#3a4a66;
  --th-footer-ink:#cbd5e1;--th-motto:#9db8ff;--th-brand:#9db8ff;
  --th-primary:#5b83f0;--th-on-primary:#fff;--th-primary-soft:#26355a;--th-primary2:#7aa2ff;
  --th-cart:#5b83f0;--th-cart-soft:#26355a;
  --th-teal:#4fc3d8;--th-teal-soft:#1d2c3d;--th-teal-line:#33536b;--th-teal-ink:#bfe6ef;
  --th-dl-bg:#1d2c45;--th-dl-line:#33507c;
  --th-ok-bg:#152c52;--th-ok-fg:#9db8ff;--th-ok-line:#33507c;
  --th-no-bg:#3d1a1a;--th-no-fg:#ff9d9d;--th-no-line:#6b2f2f;
  --th-wait-bg:#3a2f12;--th-wait-fg:#f2ce6b;--th-wait-line:#6b5a23;--th-wait-soft:#2c2410;
  --th-enroute-bg:#1b2c4d;--th-enroute-fg:#8fb3ff;
  --th-pend-bg:#2e2a1c;--th-pend-fg:#d8c89a;
  --th-emergency:#e05b52;--th-emergency-dark:#a83a32;--th-emergency-soft:#331a19; --th-emergency-line:#5c2626;
  --th-hero-brand:#fff;
}
html[data-mca-mode="dark"] .mca-cart-panel h3{color:var(--th-ink)}
html[data-mca-mode="dark"] input,html[data-mca-mode="dark"] textarea,html[data-mca-mode="dark"] select{color-scheme:dark}

/* =========================================================================
   Theme panel UI (module's own overlay + injected rows; additive DOM)
   ========================================================================= */
.mca-th-tile{margin:8px 0}
.mca-th-mode-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--th-line,#e2e8f0);border-radius:12px;background:var(--th-surface2,#f8fafc);font-size:14px;font-weight:600;color:var(--th-ink-strong,#0f3d63);cursor:pointer;width:100%;font-family:inherit}
.mca-th-mode-switch{position:relative;width:52px;height:28px;border-radius:999px;background:#cbd5e1;flex:none;transition:background .2s}
html[data-mca-mode="dark"] .mca-th-mode-switch{background:var(--th-primary,#5b83f0)}
.mca-th-mode-switch::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:left .2s}
html[data-mca-mode="dark"] .mca-th-mode-switch::after{left:27px}
.mca-th-overlay{position:fixed;inset:0;z-index:10050;background:var(--th-bg-a,#f8faff);color:var(--th-ink,#1d1b18);overflow-y:auto;font-family:Noto Sans Devanagari,Noto Sans,system-ui,sans-serif}
.mca-th-wrap{max-width:760px;margin:0 auto;padding:14px 16px 60px}
.mca-th-head{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:0;background:var(--th-bg-a,#f8faff);padding:10px 0;z-index:5;border-bottom:1px solid var(--th-line,#e5e0d8)}
.mca-th-head h2{margin:0;font-size:18px}
.mca-th-close{border:1px solid var(--th-line,#cbd5e1);background:var(--th-surface,#fff);color:var(--th-ink-strong,#0f3d63);border-radius:10px;padding:8px 14px;font:600 14px inherit;cursor:pointer}
.mca-th-sec{font-size:15px;font-weight:700;margin:18px 0 8px;color:var(--th-ink-strong,#0f3d63)}
.mca-th-row{border:1px solid var(--th-line,#e2e8f0);border-radius:12px;background:var(--th-surface,#fff);padding:10px 12px;margin-bottom:8px}
.mca-th-rowhead{display:flex;align-items:center;gap:10px}
.mca-th-num{flex:none;width:26px;height:26px;border-radius:8px;background:var(--th-primary,#1e3a8a);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.mca-th-sw{flex:none;width:30px;height:30px;border-radius:8px;border:1px solid var(--th-line,#cbd5e1)}
.mca-th-info{flex:1;min-width:0}
.mca-th-name{font-weight:600;font-size:14px}
.mca-th-where{font-size:12px;color:var(--th-ink2,#6b655c);line-height:1.4}
.mca-th-cur{font-size:11.5px;color:var(--th-ink2,#6b655c)}
.mca-th-btnrow{display:flex;gap:6px;flex:none}
.mca-th-mini{border:1px solid var(--th-line,#cbd5e1);background:var(--th-surface,#fff);color:var(--th-ink-strong,#0f3d63);border-radius:8px;padding:6px 10px;font:600 12.5px inherit;cursor:pointer}
.mca-th-mini.on{background:var(--th-primary,#1e3a8a);color:#fff;border-color:var(--th-primary,#1e3a8a)}
.mca-th-pal{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;margin-top:10px}
.mca-th-opt{aspect-ratio:1;border-radius:6px;border:1px solid #0002;cursor:pointer;padding:0}
.mca-th-opt.chosen{outline:3px solid var(--th-primary,#1e3a8a);outline-offset:1px}
.mca-th-custom{display:flex;gap:6px;margin-top:8px;align-items:center;flex-wrap:wrap}
.mca-th-custom input[type=text]{flex:1;min-width:110px;padding:8px 10px;border:1px solid var(--th-line,#cbd5e1);border-radius:8px;font:14px inherit;background:var(--th-surface,#fff);color:var(--th-ink,#1d1b18)}
.mca-th-gallery{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.mca-th-gal{width:84px;height:52px;border-radius:8px;border:2px solid transparent;cursor:pointer;padding:0;background-size:cover}
.mca-th-gal.chosen{border-color:var(--th-primary,#1e3a8a)}
.mca-th-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap;position:sticky;bottom:0;background:var(--th-bg-a,#f8faff);padding:10px 0;border-top:1px solid var(--th-line,#e5e0d8)}
.mca-th-save{flex:1;border:none;border-radius:12px;background:var(--th-primary,#1e3a8a);color:#fff;font:700 15px inherit;padding:13px;cursor:pointer}
.mca-th-reset{border:1px solid var(--th-emergency,#b3261e);color:var(--th-emergency,#b3261e);background:var(--th-surface,#fff);border-radius:12px;font:600 14px inherit;padding:13px 16px;cursor:pointer}
.mca-th-status{font-size:12.5px;color:var(--th-ink2,#6b655c);margin-top:8px;line-height:1.5}
.mca-th-mode-big{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--th-line,#e2e8f0);border-radius:12px;background:var(--th-surface,#fff);color:var(--th-ink-strong,#0f3d63);padding:12px;margin:10px 0;font-weight:600;cursor:pointer}
.mca-th-status.mca-th-error{color:var(--th-no-fg,#991b1b);font-weight:600}
.mca-th-error{color:var(--th-no-fg,#991b1b);font-size:12.5px;margin-top:6px;line-height:1.5}
html{background:var(--th-bg-a,#f8faff)}
.mca-th-pair{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:2px 0 8px;font-size:12.5px}
.mca-th-plab{font-weight:700;font-size:12px;color:var(--th-ink-strong,#0f3d63)}
.mca-th-pbox{width:34px;height:24px;border-radius:6px;border:1px solid var(--th-line,#cbd5e1);background-size:cover;background-position:center;display:inline-block;flex:none}
.mca-th-pval{font-size:11.5px;color:var(--th-ink2,#6b655c);word-break:break-all;max-width:120px}
.mca-th-parrow{color:var(--th-ink2,#6b655c);font-weight:700}

/* v14 root canvas avoids white browser-default gutters/footer in dark mode. */
html[data-mca-mode="dark"] body{background:var(--th-bg-a,#0b1220)!important;color:var(--th-ink,#eef2f8)!important}

/* v15 real doctor header and secondary controls, without changing role-banner colours. */
html[data-mca-mode="dark"] .top-nav .link-btn,
html[data-mca-mode="dark"] .top-nav .link-btn.mca-bicon{color:var(--th-ink,#eef2f8)!important}
html[data-mca-mode="dark"] .mini-btn:not(.ok):not(.no),
html[data-mca-mode="dark"] .mini-btn.ghost,
html[data-mca-mode="dark"] button.secondary{
 background:var(--th-surface2,#232f45)!important;color:var(--th-ink,#eef2f8)!important;border-color:var(--th-line,#3a4a66)!important}
html[data-mca-mode="dark"] select,
html[data-mca-mode="dark"] input:not([type=checkbox]):not([type=radio]):not([type=range]),
html[data-mca-mode="dark"] textarea{
 background:var(--th-surface2,#232f45)!important;color:var(--th-ink,#eef2f8)!important;border-color:var(--th-line,#3a4a66)!important}
html[data-mca-mode="dark"] input::placeholder,
html[data-mca-mode="dark"] textarea::placeholder{color:var(--th-ink2,#a9b6cb)!important;opacity:1}
/* v17: courtesy notice stays readable and follows visitor dark mode.
   Content, dismissal, session key, focus trap and fees/consent semantics untouched. */
html[data-mca-mode="dark"] .mca-notice27-card{
 background:var(--th-surface,#1b2536)!important;color:var(--th-ink,#eef2f8)!important;
 border:1px solid var(--th-line,#3a4a66)}
html[data-mca-mode="dark"] .mca-notice27-card h2,
html[data-mca-mode="dark"] .mca-notice27-card p{color:var(--th-ink,#eef2f8)!important}
html[data-mca-mode="dark"] .mca-notice27-footer{border-color:var(--th-line,#3a4a66)!important}
html[data-mca-mode="dark"] .mca-notice27-close{
 background:var(--th-surface2,#232f45)!important;color:var(--th-ink,#eef2f8)!important;
 border-color:var(--th-line,#3a4a66)!important}
html[data-mca-mode="dark"] .mca-notice27-ok{
 background:var(--th-primary,#5b83f0)!important;color:var(--th-on-primary,#fff)!important}
/* v18: nested Admin menu/back links use the same ink as top navigation.
   link-btn is transparent navigation, not a primary/action identity. */
html[data-mca-mode="dark"] .link-btn,
html[data-mca-mode="dark"] .link-btn.mca-bicon{color:var(--th-ink,#eef2f8)!important}
/* Bounded Help/Ambulance non-card ink only. No geometry, X-row, surface or call changes. */
.help-call-dialog{color:var(--th-ink,#1d1b18)!important}
.help-call-dialog>h3,
.help-call-dialog>p,
.help-call-dialog .amb108-item>div>b{color:var(--th-ink,#1d1b18)!important}
.help-call-dialog .amb108-item>small{color:var(--th-ink2,#6b655c)!important}
/* Coloured .tile-row call cards and their descendants intentionally untouched. */
/* Exact unsaved-health and temporary service-draft guards only.
   Visual surface/ink/backdrop; no save/discard/X semantics or geometry changes. */
div[role="dialog"][aria-label="बिना सहेजे बदलाव"],
div[role="dialog"][aria-label="बदलाव सेव करें?"]{background:rgba(0,0,0,.53)!important}
div[role="dialog"][aria-label="बिना सहेजे बदलाव"]>section,
div[role="dialog"][aria-label="बदलाव सेव करें?"]>section{
 background:var(--th-surface,#fff)!important;color:var(--th-ink,#1d1b18)!important}
div[role="dialog"][aria-label="बिना सहेजे बदलाव"]>section>h3,
div[role="dialog"][aria-label="बदलाव सेव करें?"]>section>h3,
div[role="dialog"][aria-label="बदलाव सेव करें?"]>section>p:not([role="alert"]){color:var(--th-ink,#1d1b18)!important}
html[data-mca-mode="dark"] div[role="dialog"][aria-label="बिना सहेजे बदलाव"]>section>p[role="alert"],
html[data-mca-mode="dark"] div[role="dialog"][aria-label="बदलाव सेव करें?"]>section>p[role="alert"]{color:#ffaaa3!important}
/* Match the existing dark dialog specificity so backdrop stays translucent. */
html[data-mca-mode="dark"] div[role="dialog"][aria-label="बिना सहेजे बदलाव"],
html[data-mca-mode="dark"] div[role="dialog"][aria-label="बदलाव सेव करें?"]{background:rgba(0,0,0,.53)!important}

/* PRINTFIX-LOCAL-CAND v2: print text+icon contrast when user prints with backgrounds OFF.
   Local candidate only - no live GO. Does NOT force backgrounds on (respects the user's print choice);
   makes light-on-color text/icons dark and gives shapes an outline so the printout stays readable. */
@media print{
 .bmch-body :is(.tt-teal,.tt-slate,.tt-blue,.tt-green,.tt-maroon,.tt-orange,.tt-purple,
  .rp-customer,.rp-provider,.rp-caregiver,.rp-admin,
  button,.primary-btn,.secondary,.mini-btn,.link-btn,.vp-btn,.menu-btn,.prof-btn,
  .chip.on,.med-pick.on,.mca-th-num,.mca-th-mini.on,.mca-th-save,
  .splash-test,.mca-th-dummy-banner,.app-dl-top,.mca-notice27){
  background:none!important;color:#1d1b18!important;border:1px solid #6b655c!important;box-shadow:none!important}
 .bmch-body :is(.tt-teal,.tt-slate,.tt-blue,.tt-green,.tt-maroon,.tt-orange,.tt-purple,
  .rp-customer,.rp-provider,.rp-caregiver,.rp-admin,
  button,.primary-btn,.secondary,.mini-btn,.link-btn,.vp-btn,.menu-btn,.prof-btn,
  .chip.on,.med-pick.on,.mca-th-num,.mca-th-mini.on,.mca-th-save,
  .splash-test,.mca-th-dummy-banner,.app-dl-top,.mca-notice27) :is(span,b,small,strong,div,p,svg){
  color:#1d1b18!important}
 .bmch-body :is(.tt-teal,.tt-slate,.tt-blue,.tt-green,.tt-maroon,.tt-orange,.tt-purple,
  .rp-customer,.rp-provider,.rp-caregiver,.rp-admin,
  button,.primary-btn,.secondary,.mini-btn,.link-btn,.vp-btn,.menu-btn,.prof-btn,
  .chip.on,.med-pick.on,.mca-th-num,.mca-th-mini.on,.mca-th-save,
  .splash-test,.mca-th-dummy-banner,.app-dl-top,.mca-notice27) svg{stroke:currentColor!important}
 .bmch-body .tile-row .svc-icon{color:#1d1b18!important;stroke:#1d1b18!important}
}
