/* ===== TEMA NOVO v4 + DOCK + ZOOM — appended to styles.css ===== */
/*
   This file is APPENDED to styles.css. It only ADDS rules.
   - Skin rules are ALL prefixed with html[data-v4="on"] and only touch
     visual properties (color/bg/border/radius/shadow/font/spacing tweaks).
   - Accent surfaces are parameterized via hsl(var(--accent-h) …) so each mode
     keeps its identity: PS blue (~220), UBS green (145), Pediatria pink (327).
   - DOCK / ZOOM / TRANSITION blocks are NOT prefixed — they work in classic + v4.
   Fonts already loaded in the page:
     UI/body  -> 'IBM Plex Sans'
     titles   -> 'Space Grotesk'
     mono     -> 'IBM Plex Mono'
*/

/* =========================================================================
   A) FONT ZOOM (accessibility)
   No tema clássico: zoom no body. No v4: zoom só no CONTEÚDO (não no root fixo,
   senão o overlay/sidebar fixos deslocam e bugam a tela).
   ========================================================================= */
html:not([data-v4="on"]) body { zoom: var(--user-font-scale, 1); }
html[data-v4="on"] .v4m-main { zoom: var(--user-font-scale, 1); }
html[data-v4="on"][data-v4page="other"] .app { zoom: var(--user-font-scale, 1); }

/* =========================================================================
   B) DOCK (floating control dock, right edge) — classic + v4
   ========================================================================= */
.v4dock {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 120;
  display: flex;
  align-items: center;
  flex-direction: row-reverse; /* launcher on the right, panel to its left */
  gap: 0;
  font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  pointer-events: none; /* children re-enable — lets clicks pass around it */
}
.v4dock > * { pointer-events: auto; }

/* Always-visible launcher tab attached to the edge */
.v4dock-launch {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 36px;
  min-height: 78px;
  padding: 11px 0;
  border: none;
  border-radius: 13px 0 0 13px;
  cursor: pointer;
  color: #fff;
  background: linear-gradient(135deg, hsl(var(--accent-h,225) 62% 52%), hsl(var(--accent-h,225) 66% 42%));
  box-shadow: -3px 3px 15px hsl(var(--accent-h,225) 50% 40% / .38);
  transition: box-shadow .2s ease, transform .2s ease, filter .2s ease;
  animation: v4dockPulse 2.2s ease-out 3;
}
.v4dock-launch:hover { filter: brightness(1.07); box-shadow: -5px 5px 20px hsl(var(--accent-h,225) 50% 40% / .5); transform: translateX(-1px); }
.v4dock.open .v4dock-launch { filter: brightness(1.04); }
.v4dock-launch:active { transform: scale(.97); }
@keyframes v4dockPulse {
  0%   { box-shadow: -3px 3px 15px hsl(var(--accent-h,225) 50% 40% / .38), -1px 0 0 0 hsl(var(--accent-h,225) 60% 50% / .55); }
  70%  { box-shadow: -3px 3px 15px hsl(var(--accent-h,225) 50% 40% / .38), -1px 0 0 9px hsl(var(--accent-h,225) 60% 50% / 0); }
  100% { box-shadow: -3px 3px 15px hsl(var(--accent-h,225) 50% 40% / .38); }
}
.v4dock-launch-a {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 15px;
  line-height: 1;
}
.v4dock-launch-plus {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 1;
  opacity: .95;
}

/* Panel — hidden/collapsed by default, revealed when .v4dock.open */
.v4dock-panel {
  width: 208px;
  margin-right: 6px;
  padding: 14px;
  background: #fff;
  border: 1px solid #e7ebe8;
  border-radius: 16px;
  box-shadow: 0 10px 34px rgba(23,37,28,.18);
  color: #17251c;
  /* collapsed */
  opacity: 0;
  visibility: hidden;
  transform: translateX(14px) scale(.97);
  transform-origin: right center;
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease, visibility .22s;
}
.v4dock.open .v4dock-panel {
  opacity: 1;
  visibility: visible;
  transform: translateX(0) scale(1);
  pointer-events: auto;
}

.v4dock-group { display: flex; flex-direction: column; gap: 9px; }
.v4dock-title {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #8a9b90;
}
.v4dock-sep {
  height: 1px;
  margin: 12px 0;
  background: #edf1ee;
  border-radius: 1px;
}

/* Zoom row */
.v4dock-zoom {
  display: flex;
  align-items: center;
  gap: 8px;
}
.v4dock-zbtn {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid #dcebe0;
  border-radius: 10px;
  background: #fff;
  color: #17251c;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}
.v4dock-zbtn:hover {
  border-color: hsl(145 55% 45%);
  color: hsl(145 60% 34%);
  box-shadow: 0 2px 8px hsl(145 40% 40% / .14);
}
.v4dock-zbtn:active { background: hsl(145 40% 96%); }
.v4dock-zbtn-lg { font-size: 17px; }
.v4dock-zbtn:disabled,
.v4dock-zbtn[disabled] {
  opacity: .4;
  cursor: default;
  box-shadow: none;
  border-color: #dcebe0;
  color: #17251c;
}
.v4dock-zval {
  flex: 1;
  text-align: center;
  font-family: 'IBM Plex Mono', monospace;
  font-variant-numeric: tabular-nums;
  font-size: 13px;
  font-weight: 500;
  color: #5f7367;
}

/* Reset ghost button */
.v4dock-reset {
  align-self: flex-start;
  padding: 2px 0;
  border: none;
  background: none;
  color: #8a9b90;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color .16s ease;
}
.v4dock-reset:hover { color: hsl(145 60% 36%); }

.v4dock-hint {
  font-size: 10.5px;
  line-height: 1.4;
  color: #97a89c;
}

/* =========================================================================
   OUTLET (the "tomada" theme toggle) — classic + v4
   ========================================================================= */
.v4outlet {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: 64px;
  padding: 0 12px;
  border: 1px solid #dcebe0;
  border-radius: 14px;
  background: #f4f7f5;
  cursor: pointer;
  overflow: hidden;
  transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.v4outlet:hover { border-color: #cfe2d5; }

/* Plug that slides into the socket */
.v4outlet-plug {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  width: 20px;
  height: 40px;
  flex-shrink: 0;
  border-radius: 6px;
  background: linear-gradient(180deg, #cfd8d2, #aeb9b2);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.5);
  transform: translateX(10px);
  transition: transform .28s cubic-bezier(.4,0,.2,1), background .25s ease;
}
.v4outlet-prong {
  width: 8px;
  height: 5px;
  margin-left: -6px;
  border-radius: 2px;
  background: #7d8a83;
  transition: background .25s ease;
}

/* Socket face with two holes */
.v4outlet-body {
  position: relative;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  flex-shrink: 0;
  border-radius: 12px;
  background: radial-gradient(circle at 50% 40%, #fff, #eef2ef);
  border: 1px solid #d7e9dd;
  box-shadow: inset 0 1px 3px rgba(23,37,28,.10);
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.v4outlet-holes {
  display: flex;
  gap: 8px;
}
.v4outlet-holes i {
  width: 4px;
  height: 12px;
  border-radius: 2px;
  background: #9aa8a0;
  transition: background .25s ease;
}

.v4outlet-state {
  margin-left: auto;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  color: #97a89c;
  transition: color .25s ease;
}

/* ON state — literal green "new theme" brand (hard-coded green is allowed here) */
.v4outlet.on {
  background: linear-gradient(135deg, hsl(145 55% 95%), hsl(145 45% 90%));
  border-color: hsl(145 55% 62%);
  box-shadow: 0 0 0 3px hsl(145 60% 50% / .16), 0 4px 16px hsl(145 55% 42% / .22);
}
.v4outlet.on .v4outlet-plug {
  transform: translateX(0);
  background: linear-gradient(180deg, hsl(145 30% 78%), hsl(145 35% 60%));
}
.v4outlet.on .v4outlet-prong { background: hsl(145 45% 34%); }
.v4outlet.on .v4outlet-body {
  border-color: hsl(145 60% 50%);
  box-shadow: inset 0 1px 3px rgba(23,37,28,.10), 0 0 14px hsl(145 65% 50% / .45);
  background: radial-gradient(circle at 50% 40%, #fff, hsl(145 50% 94%));
}
.v4outlet.on .v4outlet-holes i { background: hsl(145 50% 40%); }
.v4outlet.on .v4outlet-state { color: hsl(145 62% 32%); }

/* =========================================================================
   DOCK / OUTLET mobile — keep usable, don't cover bottom nav
   ========================================================================= */
@media (max-width: 720px) {
  .v4dock {
    top: auto;
    bottom: 84px;
    transform: none;
  }
  .v4dock-launch { width: 26px; min-height: 54px; }
  .v4dock-launch-a { font-size: 14px; }
  .v4dock-panel { width: min(220px, 78vw); }
}

/* =========================================================================
   C) THEME-SWITCH TRANSITION overlay — classic + v4
   ========================================================================= */
.v4-transition {
  position: fixed;
  inset: 0;
  z-index: 9998;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(244,248,245,.6);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  animation: v4fade .22s ease;
}
@keyframes v4fade {
  from { opacity: 0; }
  to   { opacity: 1; }
}
.v4-transition-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: 26px 34px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 18px 50px rgba(23,37,28,.22);
}
.v4-spinner {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 3px solid hsl(145 30% 88%);
  border-top-color: hsl(145 62% 42%);
  animation: v4spin .8s linear infinite;
}
@keyframes v4spin {
  to { transform: rotate(360deg); }
}
.v4-transition-txt {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  font-size: 14.5px;
  color: #17251c;
}

/* Gentle cross-fade so switching feels smooth */
html[data-v4="on"] .app,
html:not([data-v4]) .app {
  transition: background-color .35s ease, color .35s ease;
}

/* =========================================================================
   V4 SKIN — all rules prefixed html[data-v4="on"]
   Accent surfaces via hsl(var(--accent-h) …) to preserve per-mode identity.
   ========================================================================= */

/* Accent = hsl(var(--accent-h) …). PS=225 blue, UBS=145 green, Ped=327 pink.
   The header/dock/outlet/transition rules ABOVE this line are untouched.
   Every rule below is prefixed html[data-v4="on"] and uses !important on any
   property that must beat styles.css or the inline <style> in the HTML. */

/* ---------- base / typography ---------- */
html[data-v4="on"] body {
  font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
  color: #17251c !important;
}
/* mode-tinted app canvas (green prototype ≈ #f4f8f5 at hue 145) */
html[data-v4="on"] .app,
html[data-v4="on"] .main,
html[data-v4="on"] .main-inner,
html[data-v4="on"] .hero-search-sticky {
  background: hsl(var(--accent-h, 225) 30% 97%) !important;
}
/* display/title face */
html[data-v4="on"] .brand-name,
html[data-v4="on"] .doctor-name,
html[data-v4="on"] .rx-page-header-title,
html[data-v4="on"] .rx-block-title,
html[data-v4="on"] .sec-title,
html[data-v4="on"] .card-name,
html[data-v4="on"] .card.card-list .card-name,
html[data-v4="on"] .v4-transition-txt {
  font-family: 'Space Grotesk', sans-serif !important;
  letter-spacing: -0.01em;
}
/* codes / monospace */
html[data-v4="on"] .card-cid,
html[data-v4="on"] .card.card-list .card-cid,
html[data-v4="on"] .doctor-crm,
html[data-v4="on"] .kbd,
html[data-v4="on"] .kbd-inline {
  font-family: 'IBM Plex Mono', monospace !important;
}

/* rounded, tinted scrollbar thumb */
html[data-v4="on"] * {
  scrollbar-color: hsl(var(--accent-h, 225) 25% 55% / .35) transparent;
}
html[data-v4="on"] *::-webkit-scrollbar { width: 10px; height: 10px; }
html[data-v4="on"] *::-webkit-scrollbar-thumb {
  background: hsl(var(--accent-h, 225) 25% 55% / .35);
  border-radius: 99px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
html[data-v4="on"] *::-webkit-scrollbar-track { background: transparent; }

/* ---------- sidebar ---------- */
html[data-v4="on"] .app-sidebar {
  background: #fff !important;
  border-right: 1px solid #e3ebe5 !important;
}
html[data-v4="on"] .sb-item {
  border-radius: 11px !important;
  color: #5f7367 !important;
  transition: background .14s ease, color .14s ease, transform .14s ease, box-shadow .14s ease, gap .25s;
}
html[data-v4="on"] .sb-item:hover {
  background: hsl(var(--accent-h, 225) 40% 96%) !important;
  color: #17251c !important;
  transform: translateX(3px);
}
/* ACTIVE nav — beats inline `.sb-item.sb-on{background:#eff6ff!important;color:#2563eb!important}` */
html[data-v4="on"] .sb-item.sb-on {
  background: linear-gradient(90deg, hsl(var(--accent-h, 225) 64% 48%), hsl(var(--accent-h, 225) 66% 40%)) !important;
  color: #fff !important;
  box-shadow: 0 4px 14px hsl(var(--accent-h, 225) 60% 40% / .34) !important;
}
html[data-v4="on"] .sb-item.sb-on .sb-lbl { color: #fff !important; }
html[data-v4="on"] .sb-item.sb-on .sb-ico svg,
html[data-v4="on"] .sb-item.sb-on svg {
  stroke: #fff !important;
  color: #fff !important;
}
html[data-v4="on"] .sb-sub-item { border-radius: 9px !important; color: #5f7367 !important; }
html[data-v4="on"] .sb-sub-item:hover { background: hsl(var(--accent-h, 225) 40% 96%) !important; color: #17251c !important; }
html[data-v4="on"] .sb-sub-item.active { color: hsl(var(--accent-h, 225) 60% 38%) !important; font-weight: 600; }
html[data-v4="on"] .sb-support-area { border-top-color: #e3ebe5; }

/* ---------- brand block ---------- */
html[data-v4="on"] .sb-brand { font-family: 'Space Grotesk', sans-serif; }
html[data-v4="on"] .brand-mark,
html[data-v4="on"] .sb-brand-icon,
html[data-v4="on"] .sb-brand-mark {
  border-radius: 12px !important;
  background: linear-gradient(135deg, hsl(var(--accent-h, 225) 62% 46%), hsl(var(--accent-h, 225) 70% 30%)) !important;
  color: #fff !important;
  box-shadow: 0 4px 14px hsl(var(--accent-h, 225) 60% 40% / .32) !important;
}
html[data-v4="on"] .brand-mark svg,
html[data-v4="on"] .sb-brand-icon svg { stroke: #fff !important; color: #fff !important; }
html[data-v4="on"] .brand-name,
html[data-v4="on"] .sb-brand-name {
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 700 !important;
  color: #17251c !important;
}
html[data-v4="on"] .brand-name span { color: hsl(var(--accent-h, 225) 60% 46%) !important; }
html[data-v4="on"] .brand-sub { color: #97a89c; }

/* ---------- header ---------- */
html[data-v4="on"] .app-header {
  background: #fff !important;
  border-bottom: 1px solid #e3ebe5 !important;
}
html[data-v4="on"] .date-pill {
  background: hsl(var(--accent-h, 225) 45% 94%) !important;
  color: hsl(var(--accent-h, 225) 60% 34%) !important;
  border-radius: 99px !important;
}
html[data-v4="on"] .icon-btn {
  border-radius: 11px !important;
  border: 1px solid #dcebe0 !important;
  background: #fff !important;
  color: #5f7367 !important;
}
html[data-v4="on"] .icon-btn:hover {
  border-color: hsl(var(--accent-h, 225) 55% 55%) !important;
  color: hsl(var(--accent-h, 225) 60% 34%) !important;
}

/* ---------- page header ---------- */
html[data-v4="on"] .rx-page-header {
  background: linear-gradient(135deg,
    hsl(var(--accent-h, 225) 42% 97%) 0%,
    hsl(var(--accent-h, 225) 46% 94%) 100%) !important;
  border-bottom: 1px solid #dcebe0 !important;
}
html[data-v4="on"] .rx-page-header-title {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: clamp(20px, 1.9vw, 26px) !important;
  font-weight: 700 !important;
  color: #17251c !important;
  letter-spacing: -0.015em;
}
html[data-v4="on"] .rx-page-header-sub { color: #5f7367 !important; }
html[data-v4="on"] .rx-page-header-icon {
  border-radius: 14px !important;
  background: linear-gradient(135deg, hsl(var(--accent-h, 225) 62% 46%), hsl(var(--accent-h, 225) 70% 30%)) !important;
  color: #fff !important;
  box-shadow: 0 6px 20px hsl(var(--accent-h, 225) 60% 40% / .32) !important;
}
html[data-v4="on"] .rx-page-header-icon svg { stroke: #fff !important; color: #fff !important; }

/* ---------- search bar ---------- */
html[data-v4="on"] .hero-search-inner {
  background: #fff !important;
  border: 1.5px solid #cfe2d5 !important;
  border-radius: 14px !important;
  box-shadow: 0 2px 10px hsl(var(--accent-h, 225) 30% 40% / .06) !important;
}
html[data-v4="on"] .hero-search-inner:focus-within {
  border-color: hsl(var(--accent-h, 225) 60% 44%) !important;
  box-shadow: 0 0 0 3px hsl(var(--accent-h, 225) 62% 46% / .18) !important;
}
/* icon circle → accent gradient */
html[data-v4="on"] .hero-search-icon-wrap {
  background: linear-gradient(135deg, hsl(var(--accent-h, 225) 62% 46%), hsl(var(--accent-h, 225) 70% 32%)) !important;
  border-radius: 11px !important;
}
html[data-v4="on"] .hero-search-icon-wrap svg,
html[data-v4="on"] .hero-search-icon { color: #fff !important; stroke: #fff !important; }
html[data-v4="on"] .hero-search-pulse {
  background: hsl(var(--accent-h, 225) 62% 50% / .30) !important;
}
html[data-v4="on"] .hero-search-input { color: #17251c !important; }
html[data-v4="on"] .hero-search-clear:hover { color: hsl(var(--accent-h, 225) 60% 40%) !important; }
html[data-v4="on"] .search-input {
  border-radius: 12px !important;
  border: 1.5px solid #cfe2d5 !important;
  background: #fff !important;
  color: #17251c !important;
}
html[data-v4="on"] .search-input:focus {
  border-color: hsl(var(--accent-h, 225) 60% 44%) !important;
  box-shadow: 0 0 0 3px hsl(var(--accent-h, 225) 62% 46% / .18) !important;
}
/* stuck state — beat highly specific base .is-stuck rules */
html[data-v4="on"] .hero-search-sticky.is-stuck {
  background: hsl(var(--accent-h, 225) 32% 96%) !important;
  border-bottom-color: #dcebe0 !important;
}
html[data-v4="on"] .hero-search-sticky.is-stuck .hero-search-inner {
  background: #fff !important;
  border-color: #cfe2d5 !important;
}

/* ---------- mode tabs ---------- */
html[data-v4="on"] .ped-seg,
html[data-v4="on"] .ped-seg.mode-seg {
  background: #fff !important;
  border: 1px solid #dcebe0 !important;
  border-radius: 14px !important;
  box-shadow: 0 2px 8px hsl(var(--accent-h, 225) 30% 40% / .07) !important;
}
html[data-v4="on"] .ped-tab {
  border-radius: 11px !important;
  color: #5f7367 !important;
  font-family: 'Space Grotesk', sans-serif !important;
  background: transparent !important;
  box-shadow: none !important;
}
html[data-v4="on"] .ped-tab:hover {
  color: #17251c !important;
  background: hsl(var(--accent-h, 225) 40% 96%) !important;
}
/* active tab picks up whatever mode you're switching TO via --accent-h */
html[data-v4="on"] .ped-tab.active,
html[data-v4="on"] .ped-tab.mode-tab-ubs.active,
html[data-v4="on"] .ped-tab.ped-tab-ped.active {
  background: hsl(var(--accent-h, 225) 45% 94%) !important;
  color: hsl(var(--accent-h, 225) 60% 34%) !important;
  box-shadow: inset 0 0 0 1.5px hsl(var(--accent-h, 225) 50% 72%) !important;
}
html[data-v4="on"] .ped-tab-meds {
  border-radius: 11px !important;
  border: 1.5px solid hsl(var(--accent-h, 225) 45% 78%) !important;
  background: hsl(var(--accent-h, 225) 45% 95%) !important;
  color: hsl(var(--accent-h, 225) 60% 34%) !important;
}

/* =========================================================================
   SIGNATURE 1+2 — COLUMN as a rounded card with a gradient header bar
   ========================================================================= */
html[data-v4="on"] .col,
html[data-v4="on"] .col-prescricoes,
html[data-v4="on"] .col-condutas,
html[data-v4="on"] .col-ubs-prescricoes,
html[data-v4="on"] .col-ubs-outros,
html[data-v4="on"] .col-pediatria {
  background: hsl(var(--accent-h, 225) 40% 96%) !important;
  border: 1px solid hsl(var(--accent-h, 225) 35% 88%) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  padding: 0 !important;
  box-shadow: 0 3px 16px hsl(var(--accent-h, 225) 30% 40% / .07) !important;
}
/* gradient header bar, flush at the top of the container */
html[data-v4="on"] .col .sec-head {
  background: linear-gradient(90deg, hsl(var(--accent-h, 225) 64% 48%), hsl(var(--accent-h, 225) 66% 40%)) !important;
  margin: 0 !important;
  padding: 12px 15px !important;
  border-radius: 0 !important;
}
html[data-v4="on"] .col .sec-title,
html[data-v4="on"] .col-condutas .sec-title {
  color: #fff !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
}
html[data-v4="on"] .col .sec-title svg { stroke: #fff !important; color: #fff !important; }
/* the little dot → subtle white pip on the bar */
html[data-v4="on"] .col .sec-head .col-dot {
  background: rgba(255,255,255,.9) !important;
  box-shadow: 0 0 0 3px rgba(255,255,255,.25) !important;
}
/* count → white pill with mono accent text */
html[data-v4="on"] .col .sec-head .sec-count {
  background: #fff !important;
  color: hsl(var(--accent-h, 225) 66% 34%) !important;
  border: none !important;
  border-radius: 7px !important;
  padding: 2px 9px !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-weight: 700 !important;
  margin-left: auto !important;
}
/* inset the card list from the container edge */
html[data-v4="on"] .col .cards-stack { padding: 10px !important; gap: 8px !important; }
html[data-v4="on"] .col .col-empty {
  margin: 10px !important;
  background: #fff !important;
  border: 1px dashed hsl(var(--accent-h, 225) 35% 80%) !important;
  color: #5f7367 !important;
}

/* =========================================================================
   SIGNATURE 3 — CARD list items (white, accent left-stripe)
   ========================================================================= */
html[data-v4="on"] .card,
html[data-v4="on"] .card.card-list,
html[data-v4="on"] .rx-card {
  background: #fff !important;
  border: 1px solid #dce7e1 !important;
  border-radius: 11px !important;
  box-shadow: inset 3px 0 0 hsl(var(--accent-h, 225) 60% 46%) !important;
  transition: border-color .15s, box-shadow .15s, transform .12s !important;
}
html[data-v4="on"] .card:hover,
html[data-v4="on"] .card.card-list:hover,
html[data-v4="on"] .rx-card:hover {
  border-color: hsl(var(--accent-h, 225) 55% 50%) !important;
  box-shadow: inset 3px 0 0 hsl(var(--accent-h, 225) 60% 46%),
              0 3px 14px hsl(var(--accent-h, 225) 45% 40% / .18) !important;
  transform: translateX(3px) !important;
}
/* favourite keeps a gold stripe on top of the accent look */
html[data-v4="on"] .card.card-list.card-fav {
  box-shadow: inset 4px 0 0 #e8b004 !important;
}
html[data-v4="on"] .card.card-list.card-fav:hover {
  box-shadow: inset 4px 0 0 #c89500,
              0 3px 14px hsl(var(--accent-h, 225) 45% 40% / .18) !important;
}
html[data-v4="on"] .card-name,
html[data-v4="on"] .card.card-list .card-name {
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 600 !important;
  color: #22362a !important;
}
html[data-v4="on"] .card-sub,
html[data-v4="on"] .card.card-list .card-sub { color: #5f7367 !important; }
/* CID → mono badge */
html[data-v4="on"] .card-cid,
html[data-v4="on"] .card.card-list .card-cid {
  display: inline-flex !important;
  align-items: center;
  padding: 1px 7px !important;
  background: hsl(var(--accent-h, 225) 45% 94%) !important;
  color: hsl(var(--accent-h, 225) 60% 34%) !important;
  border: 1px solid hsl(var(--accent-h, 225) 40% 86%) !important;
  border-radius: 6px !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-weight: 600 !important;
}
/* fav star keeps its gold identity */
html[data-v4="on"] .card.card-list .card-star.on svg {
  fill: #e8b004 !important;
  stroke: #c89500 !important;
}
html[data-v4="on"] .card-icon { border-radius: 10px !important; }
html[data-v4="on"] .card-cat-tag { border-radius: 99px !important; }
/* condutas column stays its own red identity inside the accent frame */
html[data-v4="on"] .col-condutas .card.card-list {
  box-shadow: inset 3px 0 0 #d04c2c !important;
}
html[data-v4="on"] .col-condutas .card.card-list:hover {
  border-color: #f3a896 !important;
  box-shadow: inset 3px 0 0 #d04c2c, 0 3px 14px rgba(208,76,44,.16) !important;
}

/* =========================================================================
   BUTTONS — primary accent gradient, Atestado stays amber
   ========================================================================= */
html[data-v4="on"] .hero-act-btn {
  border-radius: 12px !important;
  border: 1px solid #dcebe0 !important;
  background: #fff !important;
  color: #5f7367 !important;
  box-shadow: 0 1px 3px rgba(23,37,28,.06) !important;
}
html[data-v4="on"] .hero-act-btn:hover {
  border-color: hsl(var(--accent-h, 225) 55% 50%) !important;
  color: hsl(var(--accent-h, 225) 60% 34%) !important;
  box-shadow: 0 4px 14px hsl(var(--accent-h, 225) 55% 45% / .16) !important;
}
/* keep Atestado amber */
html[data-v4="on"] .hero-act-atestado:hover {
  border-color: #e8b004 !important;
  color: #a67a00 !important;
  box-shadow: 0 4px 14px rgba(232,176,4,.18) !important;
}
html[data-v4="on"] .hero-act-nova {
  background: linear-gradient(135deg, hsl(var(--accent-h, 225) 62% 46%), hsl(var(--accent-h, 225) 70% 30%)) !important;
  border: none !important;
  color: #fff !important;
  box-shadow: 0 4px 14px hsl(var(--accent-h, 225) 60% 40% / .34) !important;
}
html[data-v4="on"] .hero-act-nova:hover {
  background: linear-gradient(135deg, hsl(var(--accent-h, 225) 64% 42%), hsl(var(--accent-h, 225) 72% 28%)) !important;
  box-shadow: 0 6px 18px hsl(var(--accent-h, 225) 60% 40% / .42) !important;
}
html[data-v4="on"] .hero-act-nova svg { stroke: #fff !important; color: #fff !important; }
html[data-v4="on"] .btn-primary {
  border-radius: 11px !important;
  background: linear-gradient(135deg, hsl(var(--accent-h, 225) 62% 46%), hsl(var(--accent-h, 225) 70% 30%)) !important;
  border: none !important;
  color: #fff !important;
  box-shadow: 0 4px 14px hsl(var(--accent-h, 225) 60% 40% / .28) !important;
}
html[data-v4="on"] .btn-primary:hover {
  background: linear-gradient(135deg, hsl(var(--accent-h, 225) 64% 42%), hsl(var(--accent-h, 225) 72% 28%)) !important;
}

/* ---------- mobile bottom nav + misc accents ---------- */
html[data-v4="on"] .bnav-item.active,
html[data-v4="on"] .bnav-item.bnav-on {
  color: hsl(var(--accent-h, 225) 60% 38%) !important;
}
html[data-v4="on"] .drawer-tab.active { color: hsl(var(--accent-h, 225) 60% 38%) !important; }
html[data-v4="on"] .tb-btn.active {
  background: hsl(var(--accent-h, 225) 45% 94%) !important;
  color: hsl(var(--accent-h, 225) 60% 34%) !important;
  border-radius: 9px !important;
}

/* =========================================================================
   V4Main (layout novo do protótipo) — responsivo / mobile
   ========================================================================= */
/* Mobile: sidebar vira drawer deslizante + topbar com hamburguer */
@media (max-width: 900px) {
  .v4m-topbar { display: flex !important; }
  .v4m-sidebar {
    position: fixed !important;
    top: 0; left: 0; bottom: 0; height: 100vh !important;
    z-index: 106 !important;
    width: min(280px, 82vw) !important;
    transform: translateX(-105%) !important;
    transition: transform .26s cubic-bezier(.4,0,.2,1) !important;
    box-shadow: 4px 0 26px rgba(23,37,28,.2);
  }
  .v4m-navopen .v4m-sidebar,
  .v4m-sidebar.v4m-sidebar-open { transform: translateX(0) !important; }
  .v4m-navopen .v4m-nav-backdrop {
    display: block !important;
    position: fixed; inset: 0;
    background: rgba(23,37,28,.42);
    z-index: 105;
  }
}
@media (max-width: 820px) {
  .v4m-cols { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px) {
  .v4m-searchbar { gap: 8px !important; }
  .v4m-actions { width: 100% !important; }
  .v4m-actions > button, .v4m-actions > div { flex: 1 1 auto !important; }
}

/* ===== v4 — skin coeso das páginas clássicas (Plantões, IA, Calculadoras, sidebar) ===== */
/*
   Este bloco é APPENDED ao _v4theme.css (que por sua vez é appended ao styles.css).
   Objetivo: quando html[data-v4="on"] estiver ativo, TODAS as páginas clássicas
   (Meus Plantões, IA Assistente, Calculadoras/Gaso, Protocolos, Rename, conta/config,
   sidebar/fullsidebar/topnav) ganham o visual verde coeso do novo tema. A tela
   "Prescrições" tem overlay próprio e NÃO é alvo aqui.

   Cor: SEMPRE via var(--v4-primary, #1d9d58) e afins (o app troca o valor por modo):
     --v4-primary       fallback #1d9d58
     --v4-primary-2      fallback #0f6b38
     --v4-primary-soft   fallback #edf6f0
     --v4-primary-rgb    fallback 23,138,76
   Neutros: texto #17251c, muted #5f7367 / #97a89c, bordas #e3ebe5 / #dcebe0,
   card bg #fff, canvas claro.
   Fontes: body 'IBM Plex Sans', títulos 'Space Grotesk', mono 'IBM Plex Mono'.
   Apenas propriedades VISUAIS (cor/bg/borda/raio/sombra/fonte/spacing). Nada de
   display/position/flex/grid/width/height estrutural. !important onde precisa vencer
   regras clássicas.
*/

/* ---- gradiente/atalhos reutilizados (comentário — CSS não tem mixins) ----
   grad primário:  linear-gradient(135deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38))
   grad barra:     linear-gradient(90deg,  var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38))
   sombra prim:    0 4px 14px rgba(var(--v4-primary-rgb,23,138,76), .30)
*/

/* ---------- dock launcher + outlet: recolorir por modo (overrides globais) ---------- */
.v4dock-launch {
  background: linear-gradient(135deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important;
  box-shadow: -3px 3px 15px rgba(var(--v4-primary-rgb,23,138,76), .38) !important;
}
.v4dock-launch:hover {
  box-shadow: -5px 5px 20px rgba(var(--v4-primary-rgb,23,138,76), .50) !important;
}
html[data-v4="on"] .v4outlet.on {
  background: linear-gradient(135deg, var(--v4-primary-soft,#edf6f0), color-mix(in srgb, var(--v4-primary,#1d9d58) 16%, #fff)) !important;
  border-color: var(--v4-primary,#1d9d58) !important;
  box-shadow: 0 0 0 3px rgba(var(--v4-primary-rgb,23,138,76), .16), 0 4px 16px rgba(var(--v4-primary-rgb,23,138,76), .22) !important;
}
html[data-v4="on"] .v4outlet.on .v4outlet-prong { background: var(--v4-primary-2,#0f6b38) !important; }
html[data-v4="on"] .v4outlet.on .v4outlet-body {
  border-color: var(--v4-primary,#1d9d58) !important;
  box-shadow: inset 0 1px 3px rgba(23,37,28,.10), 0 0 14px rgba(var(--v4-primary-rgb,23,138,76), .45) !important;
}
html[data-v4="on"] .v4outlet.on .v4outlet-holes i { background: var(--v4-primary,#1d9d58) !important; }
html[data-v4="on"] .v4outlet.on .v4outlet-state { color: var(--v4-primary-2,#0f6b38) !important; }

/* ---------- 1a) Full sidebar (.fsbr-*) — desktop admin-style ---------- */
html[data-v4="on"] .app-fullsidebar {
  background: #fff !important;
  border-right: 1px solid #e3ebe5 !important;
}
html[data-v4="on"] .fsbr-brand { border-bottom-color: #e3ebe5 !important; }
html[data-v4="on"] .fsbr-brand-mark {
  border-radius: 13px !important;
  background: linear-gradient(135deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important;
  box-shadow: 0 4px 14px rgba(var(--v4-primary-rgb,23,138,76), .30) !important;
}
html[data-v4="on"] .fsbr-brand-mark svg { stroke: #fff !important; color: #fff !important; }
html[data-v4="on"] .fsbr-brand-name {
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 700 !important;
  color: #17251c !important;
}
html[data-v4="on"] .fsbr-brand-sub { color: #97a89c !important; }
html[data-v4="on"] .fsbr-sep { background: #e3ebe5 !important; }
html[data-v4="on"] .fsbr-item {
  border-radius: 11px !important;
  color: #5f7367 !important;
  font-family: 'IBM Plex Sans', sans-serif !important;
}
html[data-v4="on"] .fsbr-item:hover {
  background: var(--v4-primary-soft,#edf6f0) !important;
  color: #17251c !important;
}
html[data-v4="on"] .fsbr-item.fsbr-on {
  background: linear-gradient(90deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(var(--v4-primary-rgb,23,138,76), .32) !important;
}
html[data-v4="on"] .fsbr-item.fsbr-on svg { stroke: #fff !important; color: #fff !important; }
html[data-v4="on"] .fsbr-sub-item { border-radius: 9px !important; color: #5f7367 !important; }
html[data-v4="on"] .fsbr-sub-item:hover { background: var(--v4-primary-soft,#edf6f0) !important; color: #17251c !important; }
html[data-v4="on"] .fsbr-sub-item.active {
  color: var(--v4-primary-2,#0f6b38) !important;
  background: var(--v4-primary-soft,#edf6f0) !important;
  font-weight: 600 !important;
}
html[data-v4="on"] .fsbr-chevron { color: #97a89c !important; }
/* footer user card + timer + gear + logout */
html[data-v4="on"] .fsbr-foot { border-top-color: #e3ebe5 !important; }
html[data-v4="on"] .fsbr-user-card {
  background: var(--v4-primary-soft,#edf6f0) !important;
  border-radius: 12px !important;
}
html[data-v4="on"] .fsbr-avatar {
  background: linear-gradient(135deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important;
  color: #fff !important;
  border-radius: 10px !important;
}
html[data-v4="on"] .fsbr-user-name {
  font-family: 'Space Grotesk', sans-serif !important;
  color: #17251c !important;
}
html[data-v4="on"] .fsbr-user-crm { color: #5f7367 !important; font-family: 'IBM Plex Mono', monospace !important; }
html[data-v4="on"] .fsbr-session-timer {
  color: var(--v4-primary-2,#0f6b38) !important;
  font-family: 'IBM Plex Mono', monospace !important;
}
html[data-v4="on"] .fsbr-gear-menu {
  background: #fff !important;
  border: 1px solid #e3ebe5 !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 24px rgba(23,37,28,.12) !important;
}
html[data-v4="on"] .fsbr-gear-item { border-radius: 8px !important; color: #17251c !important; }
html[data-v4="on"] .fsbr-gear-item:hover { background: var(--v4-primary-soft,#edf6f0) !important; }
html[data-v4="on"] .fsbr-gear-btn:hover,
html[data-v4="on"] .fsbr-logout-icon-btn:hover {
  border-color: var(--v4-primary,#1d9d58) !important;
  color: var(--v4-primary-2,#0f6b38) !important;
}
html[data-v4="on"] .fsbr-logout-popover {
  background: #fff !important;
  border: 1px solid #e3ebe5 !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 24px rgba(23,37,28,.14) !important;
}
html[data-v4="on"] .fsbr-logout-popover-yes {
  background: linear-gradient(135deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
}

/* ---------- 1b) Topnav (.topnav-*) — desktop horizontal ---------- */
html[data-v4="on"] .app-topnav-bar {
  background: #fff !important;
  border-bottom: 1px solid #e3ebe5 !important;
}
html[data-v4="on"] .topnav-item {
  color: #5f7367 !important;
  font-family: 'IBM Plex Sans', sans-serif !important;
}
html[data-v4="on"] .topnav-item:hover {
  color: #17251c !important;
  border-bottom-color: #dcebe0 !important;
}
html[data-v4="on"] .topnav-item.active {
  color: var(--v4-primary-2,#0f6b38) !important;
  border-bottom-color: var(--v4-primary,#1d9d58) !important;
  font-weight: 700 !important;
}
html[data-v4="on"] .topnav-dropdown-menu {
  background: #fff !important;
  border: 1px solid #e3ebe5 !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 24px rgba(23,37,28,.10) !important;
}
html[data-v4="on"] .topnav-dropdown-item { border-radius: 8px !important; color: #17251c !important; }
html[data-v4="on"] .topnav-dropdown-item:hover { background: var(--v4-primary-soft,#edf6f0) !important; }
html[data-v4="on"] .topnav-dropdown-item.active {
  background: var(--v4-primary-soft,#edf6f0) !important;
  color: var(--v4-primary-2,#0f6b38) !important;
  font-weight: 600 !important;
}

/* ---------- 1c) Classic sidebar reinforcement via var(--v4-primary) ---------- */
/* (regras hsl anteriores já cobrem; abaixo reforço com --v4-primary p/ modo verde) */
html[data-v4="on"] .sb-item.sb-on {
  background: linear-gradient(90deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important;
  box-shadow: 0 4px 14px rgba(var(--v4-primary-rgb,23,138,76), .32) !important;
}
html[data-v4="on"] .sb-item:hover { background: var(--v4-primary-soft,#edf6f0) !important; }
html[data-v4="on"] .sb-item-sub:hover { background: var(--v4-primary-soft,#edf6f0) !important; }
html[data-v4="on"] .sb-item-sub.active { color: var(--v4-primary-2,#0f6b38) !important; }
html[data-v4="on"] .brand-mark,
html[data-v4="on"] .sb-brand-icon,
html[data-v4="on"] .sb-brand-mark {
  background: linear-gradient(135deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important;
  box-shadow: 0 4px 14px rgba(var(--v4-primary-rgb,23,138,76), .30) !important;
}

/* =========================================================================
   2) GLOBAL PAGE CHROME sob v4 — botões primários, cards genéricos, títulos
   ========================================================================= */
html[data-v4="on"] .btn-primary,
html[data-v4="on"] .btn.primary,
html[data-v4="on"] button.primary,
html[data-v4="on"] [class*="-primary"]:not(.pt-rel-card):not(.ia-caso-info-card) {
  background: linear-gradient(135deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important;
  border: none !important;
  color: #fff !important;
  border-radius: 11px !important;
  box-shadow: 0 4px 14px rgba(var(--v4-primary-rgb,23,138,76), .28) !important;
}
html[data-v4="on"] .btn-primary:hover,
html[data-v4="on"] .btn.primary:hover,
html[data-v4="on"] button.primary:hover {
  filter: brightness(1.06) !important;
  box-shadow: 0 6px 18px rgba(var(--v4-primary-rgb,23,138,76), .38) !important;
}
/* card genérico / painel */
html[data-v4="on"] .card,
html[data-v4="on"] .panel,
html[data-v4="on"] .settings-card,
html[data-v4="on"] .account-card {
  border-radius: 14px !important;
  border: 1px solid #e3ebe5 !important;
  box-shadow: 0 2px 10px rgba(23,37,28,.05) !important;
}
/* headings padrão -> Space Grotesk */
html[data-v4="on"] h1,
html[data-v4="on"] h2,
html[data-v4="on"] h3 {
  font-family: 'Space Grotesk', sans-serif !important;
  letter-spacing: -0.01em;
}

/* =========================================================================
   3) MEUS PLANTÕES (.pt-*)
   ========================================================================= */
html[data-v4="on"] .pt-view { background: var(--v4-primary-soft,#edf6f0) !important; }
/* barra de mês */
html[data-v4="on"] .pt-marr {
  border: 1.5px solid #dcebe0 !important;
  color: #5f7367 !important;
  border-radius: 10px !important;
}
html[data-v4="on"] .pt-marr:hover {
  border-color: var(--v4-primary,#1d9d58) !important;
  color: var(--v4-primary-2,#0f6b38) !important;
}
html[data-v4="on"] .pt-mlbl {
  font-family: 'Space Grotesk', sans-serif !important;
  color: #17251c !important;
}
html[data-v4="on"] .pt-hoje-btn {
  background: var(--v4-primary-soft,#edf6f0) !important;
  color: var(--v4-primary-2,#0f6b38) !important;
  border: 1px solid #dcebe0 !important;
  border-radius: 99px !important;
}
html[data-v4="on"] .pt-novo,
html[data-v4="on"] .pt-btn-pri {
  background: linear-gradient(135deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 11px !important;
  box-shadow: 0 4px 14px rgba(var(--v4-primary-rgb,23,138,76), .32) !important;
}
html[data-v4="on"] .pt-novo:hover,
html[data-v4="on"] .pt-btn-pri:hover:not(:disabled) {
  box-shadow: 0 6px 18px rgba(var(--v4-primary-rgb,23,138,76), .40) !important;
}
html[data-v4="on"] .pt-btn-sec {
  background: #fff !important;
  color: #5f7367 !important;
  border: 1.5px solid #dcebe0 !important;
  border-radius: 11px !important;
}
html[data-v4="on"] .pt-btn-sec:hover {
  border-color: var(--v4-primary,#1d9d58) !important;
  color: var(--v4-primary-2,#0f6b38) !important;
  background: var(--v4-primary-soft,#edf6f0) !important;
}
/* cards de resumo */
html[data-v4="on"] .pt-rc {
  background: #fff !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 4px rgba(23,37,28,.05), 0 0 0 1px #e3ebe5 !important;
}
html[data-v4="on"] .pt-rc-ico { background: var(--v4-primary-soft,#edf6f0) !important; border-radius: 12px !important; }
html[data-v4="on"] .pt-rc-val { color: #17251c !important; font-family: 'Space Grotesk', sans-serif !important; }
html[data-v4="on"] .pt-rc-lbl { color: #5f7367 !important; }
/* pt-rg (verde/positivo) usa a cor do modo */
html[data-v4="on"] .pt-rg .pt-rc-val { color: var(--v4-primary,#1d9d58) !important; }
html[data-v4="on"] .pt-rg .pt-rc-ico { background: var(--v4-primary-soft,#edf6f0) !important; }
/* lista de plantões (container) */
html[data-v4="on"] .pt-lista-card {
  background: #fff !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 4px rgba(23,37,28,.05), 0 0 0 1px #e3ebe5 !important;
}
html[data-v4="on"] .pt-lista-hdr {
  background: var(--v4-primary-soft,#edf6f0) !important;
  border-bottom-color: #e3ebe5 !important;
}
html[data-v4="on"] .pt-sec-title {
  color: var(--v4-primary-2,#0f6b38) !important;
  font-family: 'Space Grotesk', sans-serif !important;
}
html[data-v4="on"] .pt-row-item { border-color: #eef4f0 !important; }
html[data-v4="on"] .pt-row-today { background: var(--v4-primary-soft,#edf6f0) !important; }
html[data-v4="on"] .pt-ri-hoje,
html[data-v4="on"] .pt-ri-pip { background: var(--v4-primary,#1d9d58) !important; }
html[data-v4="on"] .pt-row-acc { background: #f6faf7 !important; }
html[data-v4="on"] .pt-row-acc-edit:hover {
  border-color: var(--v4-primary,#1d9d58) !important;
  color: var(--v4-primary-2,#0f6b38) !important;
}
/* calendário */
html[data-v4="on"] .pt-cal {
  background: #fff !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 4px rgba(23,37,28,.05), 0 0 0 1px #e3ebe5 !important;
}
html[data-v4="on"] .pt-cal-dow { color: #97a89c !important; }
html[data-v4="on"] .pt-cc:hover { background: var(--v4-primary-soft,#edf6f0) !important; }
html[data-v4="on"] .pt-cc-today { box-shadow: inset 0 0 0 2px var(--v4-primary,#1d9d58) !important; }
html[data-v4="on"] .pt-cc-today .pt-cc-num { color: var(--v4-primary-2,#0f6b38) !important; font-weight: 800 !important; }
html[data-v4="on"] .pt-cev {
  background: var(--v4-primary-soft,#edf6f0) !important;
  color: var(--v4-primary-2,#0f6b38) !important;
  border-radius: 6px !important;
}
html[data-v4="on"] .pt-cev-pass { opacity: .65; }
html[data-v4="on"] .pt-cal-hint { color: #97a89c !important; }
/* empty states */
html[data-v4="on"] .pt-empty-state,
html[data-v4="on"] .pt-bloco-empty {
  color: #5f7367 !important;
  border-radius: 12px !important;
}
html[data-v4="on"] .pt-empty-hint,
html[data-v4="on"] .pt-bloco-empty .pt-empty-hint { color: #97a89c !important; }
html[data-v4="on"] .pt-novo-inline {
  color: var(--v4-primary-2,#0f6b38) !important;
  font-weight: 700 !important;
}
/* blocos por período */
html[data-v4="on"] .pt-bloco {
  background: #fff !important;
  border-radius: 14px !important;
  border: 1px solid #e3ebe5 !important;
  box-shadow: 0 2px 10px rgba(23,37,28,.05) !important;
}
html[data-v4="on"] .pt-bloco-title,
html[data-v4="on"] .pt-bloco-sec-hdr { font-family: 'Space Grotesk', sans-serif !important; color: #17251c !important; }
html[data-v4="on"] .pt-bloco-badge-cur {
  background: var(--v4-primary,#1d9d58) !important;
  color: #fff !important;
  border-radius: 99px !important;
}
html[data-v4="on"] .pt-bloco-badge-fut {
  background: var(--v4-primary-soft,#edf6f0) !important;
  color: var(--v4-primary-2,#0f6b38) !important;
  border-radius: 99px !important;
}
/* modal de plantão (form) */
html[data-v4="on"] .pt-mbox {
  background: #fff !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 50px rgba(23,37,28,.22) !important;
}
html[data-v4="on"] .pt-mbox-hdr {
  background: linear-gradient(135deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important;
  color: #fff !important;
}
html[data-v4="on"] .pt-mbox-title { font-family: 'Space Grotesk', sans-serif !important; color: #fff !important; }
html[data-v4="on"] .pt-mbox-sub { color: rgba(255,255,255,.82) !important; }
html[data-v4="on"] .pt-mbox-x { color: rgba(255,255,255,.9) !important; }
html[data-v4="on"] .pt-mbox-x:hover { background: rgba(255,255,255,.18) !important; }
html[data-v4="on"] .pt-mbox-ftr { border-top-color: #e3ebe5 !important; background: #f6faf7 !important; }
html[data-v4="on"] .pt-form-sec-hdr { color: var(--v4-primary-2,#0f6b38) !important; font-family: 'Space Grotesk', sans-serif !important; }
html[data-v4="on"] .pt-lbl { color: #5f7367 !important; }
html[data-v4="on"] .pt-inp {
  border: 1.5px solid #dcebe0 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #17251c !important;
}
html[data-v4="on"] .pt-inp:focus {
  border-color: var(--v4-primary,#1d9d58) !important;
  box-shadow: 0 0 0 3px rgba(var(--v4-primary-rgb,23,138,76), .16) !important;
}
html[data-v4="on"] .pt-tog-btn.active,
html[data-v4="on"] .pt-turno-btn.active {
  border-color: var(--v4-primary,#1d9d58) !important;
  background: var(--v4-primary-soft,#edf6f0) !important;
  color: var(--v4-primary-2,#0f6b38) !important;
}
html[data-v4="on"] .pt-check:checked,
html[data-v4="on"] .pt-check.on { accent-color: var(--v4-primary,#1d9d58) !important; }
html[data-v4="on"] .pt-info-box,
html[data-v4="on"] .pt-scope-box { border-radius: 12px !important; }
html[data-v4="on"] .pt-scope-btn:hover {
  border-color: var(--v4-primary,#1d9d58) !important;
  background: var(--v4-primary-soft,#edf6f0) !important;
}
/* pt-fin pago = cor do modo */
html[data-v4="on"] .pt-fin-pago { color: var(--v4-primary,#1d9d58) !important; }
/* abas / bulk / metas */
html[data-v4="on"] .pt-tab-btn.active {
  color: var(--v4-primary-2,#0f6b38) !important;
  border-bottom-color: var(--v4-primary,#1d9d58) !important;
}
html[data-v4="on"] .pt-goal-fill { background: linear-gradient(90deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important; }
html[data-v4="on"] .pt-goal-pct { color: var(--v4-primary-2,#0f6b38) !important; }
html[data-v4="on"] .pt-btn-metas:hover,
html[data-v4="on"] .pt-btn-rel:hover,
html[data-v4="on"] .pt-btn-pdf:hover {
  border-color: var(--v4-primary,#1d9d58) !important;
  color: var(--v4-primary-2,#0f6b38) !important;
}
html[data-v4="on"] .pt-lc-bar { background: linear-gradient(90deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important; }
html[data-v4="on"] .pt-bulk-pago {
  background: var(--v4-primary,#1d9d58) !important;
  color: #fff !important;
  border-radius: 10px !important;
}
/* relatório (modal) */
html[data-v4="on"] .pt-rel-modal { background: #fff !important; border-radius: 16px !important; }
html[data-v4="on"] .pt-rel-hdr {
  background: linear-gradient(135deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important;
  color: #fff !important;
}
html[data-v4="on"] .pt-rel-title { font-family: 'Space Grotesk', sans-serif !important; color: #fff !important; }
html[data-v4="on"] .pt-rel-sub { color: rgba(255,255,255,.82) !important; }
html[data-v4="on"] .pt-rel-sidebar { background: #f6faf7 !important; border-right-color: #e3ebe5 !important; }
html[data-v4="on"] .pt-rel-preset.active {
  background: var(--v4-primary,#1d9d58) !important;
  color: #fff !important;
  border-radius: 8px !important;
}
html[data-v4="on"] .pt-rel-card {
  background: #fff !important;
  border: 1.5px solid #e3ebe5 !important;
  border-radius: 12px !important;
}
html[data-v4="on"] .pt-rel-card-val { color: #17251c !important; font-family: 'Space Grotesk', sans-serif !important; }
html[data-v4="on"] .pt-rel-card.rel-green .pt-rel-card-val { color: var(--v4-primary,#1d9d58) !important; }
html[data-v4="on"] .pt-rel-card.rel-blue .pt-rel-card-val { color: var(--v4-primary-2,#0f6b38) !important; }
html[data-v4="on"] .pt-rel-sec-title { color: var(--v4-primary-2,#0f6b38) !important; font-family: 'Space Grotesk', sans-serif !important; }
html[data-v4="on"] .pt-rel-trend-bar {
  background: linear-gradient(180deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important;
  border-radius: 5px 5px 0 0 !important;
}
html[data-v4="on"] .pt-rel-loc-bar { background: linear-gradient(90deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important; }
html[data-v4="on"] .pt-rel-act-btn:hover {
  border-color: var(--v4-primary,#1d9d58) !important;
  color: var(--v4-primary-2,#0f6b38) !important;
}
html[data-v4="on"] .pt-rel-loc-pago,
html[data-v4="on"] .pt-rel-v-ok { color: var(--v4-primary,#1d9d58) !important; }
/* painel de pendências */
html[data-v4="on"] .pt-pend-panel { background: #fff !important; border-radius: 14px !important; border: 1px solid #e3ebe5 !important; }
html[data-v4="on"] .pt-pend-ttl { font-family: 'Space Grotesk', sans-serif !important; color: #17251c !important; }

/* =========================================================================
   4) IA ASSISTENTE (.ia-*) — mantém VERMELHOS de urgência (.ia-urg-*)
   ========================================================================= */
html[data-v4="on"] .ia-view h1,
html[data-v4="on"] .ia-view h2,
html[data-v4="on"] .ia-view h3 { font-family: 'Space Grotesk', sans-serif !important; }
/* hero -> gradiente primário */
html[data-v4="on"] .ia-hero {
  background: linear-gradient(135deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important;
  border-radius: 16px !important;
}
html[data-v4="on"] .ia-hero-title { font-family: 'Space Grotesk', sans-serif !important; color: #fff !important; }
html[data-v4="on"] .ia-hero-sub { color: rgba(255,255,255,.82) !important; }
/* cards de busca / prompt */
html[data-v4="on"] .ia-search-card,
html[data-v4="on"] .ia-prompt-card {
  background: #fff !important;
  border: 1.5px solid #e3ebe5 !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 10px rgba(23,37,28,.05) !important;
}
html[data-v4="on"] .ia-prompt-card:focus-within {
  border-color: var(--v4-primary,#1d9d58) !important;
  box-shadow: 0 0 0 3px rgba(var(--v4-primary-rgb,23,138,76), .14), 0 4px 24px rgba(23,37,28,.06) !important;
}
html[data-v4="on"] .ia-prompt-ico { color: var(--v4-primary,#1d9d58) !important; }
html[data-v4="on"] .ia-search-input {
  border: 1.5px solid #dcebe0 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #17251c !important;
}
html[data-v4="on"] .ia-search-input:focus { border-color: var(--v4-primary,#1d9d58) !important; }
html[data-v4="on"] .ia-search-ico { color: #97a89c !important; }
/* botões de submit -> gradiente primário */
html[data-v4="on"] .ia-search-btn,
html[data-v4="on"] .ia-prompt-btn {
  background: linear-gradient(135deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important;
  border: none !important;
  color: #fff !important;
  border-radius: 10px !important;
}
/* pills de modo (neutro / ativo) */
html[data-v4="on"] .ia-mode-pill {
  border-radius: 99px !important;
  border-color: #dcebe0 !important;
  color: #5f7367 !important;
}
html[data-v4="on"] .ia-mode-pill.ia-mode-active {
  background: var(--v4-primary-soft,#edf6f0) !important;
  border-color: var(--v4-primary,#1d9d58) !important;
  color: var(--v4-primary-2,#0f6b38) !important;
}
html[data-v4="on"] .ia-estudo-info { background: var(--v4-primary-soft,#edf6f0) !important; border-radius: 10px !important; }
html[data-v4="on"] .ia-peso-input {
  border: 1.5px solid #dcebe0 !important;
  border-radius: 8px !important;
}
html[data-v4="on"] .ia-prompt-hint { color: #97a89c !important; }
/* loading orb / spinner */
html[data-v4="on"] .ia-loading-orb {
  background: linear-gradient(135deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important;
}
html[data-v4="on"] .ia-loading-text { font-family: 'Space Grotesk', sans-serif !important; color: #17251c !important; }
/* meta / badges (neutros -> primário) */
html[data-v4="on"] .ia-cat-badge,
html[data-v4="on"] .ia-modo-badge {
  background: var(--v4-primary-soft,#edf6f0) !important;
  color: var(--v4-primary-2,#0f6b38) !important;
  border-radius: 99px !important;
}
html[data-v4="on"] .ia-query-text { color: #17251c !important; }
/* prescrição lista */
html[data-v4="on"] .ia-presc-item { border-radius: 10px !important; border-color: #e3ebe5 !important; }
html[data-v4="on"] .ia-presc-num {
  background: var(--v4-primary,#1d9d58) !important;
  color: #fff !important;
}
html[data-v4="on"] .ia-copy-btn:hover { color: var(--v4-primary-2,#0f6b38) !important; border-color: var(--v4-primary,#1d9d58) !important; }
html[data-v4="on"] .ia-copy-btn-ok { background: var(--v4-primary-soft,#edf6f0) !important; color: var(--v4-primary-2,#0f6b38) !important; }
/* card de fármaco / doença / caso (neutros) */
html[data-v4="on"] .ia-result-farmaco,
html[data-v4="on"] .ia-result-doenca,
html[data-v4="on"] .ia-result-caso {
  background: #fff !important;
  border: 1px solid #e3ebe5 !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 10px rgba(23,37,28,.05) !important;
}
html[data-v4="on"] .ia-farmaco-icon,
html[data-v4="on"] .ia-ds-icon {
  background: linear-gradient(135deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important;
  color: #fff !important;
  border-radius: 12px !important;
}
html[data-v4="on"] .ia-farmaco-title,
html[data-v4="on"] .ia-ds-title { font-family: 'Space Grotesk', sans-serif !important; color: #17251c !important; }
html[data-v4="on"] .ia-ds-cid,
html[data-v4="on"] .ia-doenca-cid {
  font-family: 'IBM Plex Mono', monospace !important;
  background: var(--v4-primary-soft,#edf6f0) !important;
  color: var(--v4-primary-2,#0f6b38) !important;
  border-radius: 6px !important;
}
html[data-v4="on"] .ia-doenca-card { border-radius: 10px !important; border-color: #dcebe0 !important; }
html[data-v4="on"] .ia-doenca-card.ia-doenca-card-on {
  border-color: var(--v4-primary,#1d9d58) !important;
  background: var(--v4-primary-soft,#edf6f0) !important;
}
html[data-v4="on"] .ia-doenca-card.ia-doenca-card-on .ia-doenca-num {
  background: var(--v4-primary,#1d9d58) !important;
  color: #fff !important;
}
html[data-v4="on"] .ia-ds-sintoma-tag {
  background: var(--v4-primary-soft,#edf6f0) !important;
  color: var(--v4-primary-2,#0f6b38) !important;
  border-radius: 99px !important;
}
html[data-v4="on"] .ia-presc-tab.ia-presc-tab-on {
  background: var(--v4-primary,#1d9d58) !important;
  color: #fff !important;
  border-radius: 8px !important;
}
/* caso info card NEUTRO usa primário; ALARME permanece vermelho */
html[data-v4="on"] .ia-caso-info-card {
  background: #fff !important;
  border: 1px solid #e3ebe5 !important;
  border-radius: 12px !important;
}
html[data-v4="on"] .ia-caso-info-card:not(.ia-caso-info-alarme) .ia-caso-info-label {
  color: var(--v4-primary-2,#0f6b38) !important;
}
/* markdown headings */
html[data-v4="on"] .ia-md-h2,
html[data-v4="on"] .ia-md-h3 { font-family: 'Space Grotesk', sans-serif !important; color: #17251c !important; }
html[data-v4="on"] .ia-md-h2 { border-bottom-color: #e3ebe5 !important; }
/* tabs de resultado / histórico */
html[data-v4="on"] .ia-tab-btn.ia-tab-btn-on {
  color: var(--v4-primary-2,#0f6b38) !important;
  border-bottom-color: var(--v4-primary,#1d9d58) !important;
}
html[data-v4="on"] .ia-tab-count {
  background: var(--v4-primary-soft,#edf6f0) !important;
  color: var(--v4-primary-2,#0f6b38) !important;
  border-radius: 99px !important;
}
html[data-v4="on"] .ia-history-panel { background: #fff !important; border-radius: 14px !important; border: 1px solid #e3ebe5 !important; }
html[data-v4="on"] .ia-history-title { font-family: 'Space Grotesk', sans-serif !important; color: #17251c !important; }
html[data-v4="on"] .ia-history-count-badge {
  background: var(--v4-primary-soft,#edf6f0) !important;
  color: var(--v4-primary-2,#0f6b38) !important;
  border-radius: 99px !important;
}
html[data-v4="on"] .ia-history-item:hover { border-color: var(--v4-primary,#1d9d58) !important; }
html[data-v4="on"] .ia-history-cat { color: var(--v4-primary-2,#0f6b38) !important; }
html[data-v4="on"] .ia-hist-rerun-btn:hover { border-color: var(--v4-primary,#1d9d58) !important; color: var(--v4-primary-2,#0f6b38) !important; }
/* NOTA: .ia-urg-* (urgência) e .ia-caso-info-alarme mantêm o vermelho original — sinais de segurança, NÃO reskinar. */

/* =========================================================================
   5) CALCULADORAS (.calc-*) + GASOMETRIA / PROTOCOLOS (.gaso-*)
   ========================================================================= */
/* hero (gradiente vem do modo via style inline; garantimos raio/fonte) */
html[data-v4="on"] .calc-hero,
html[data-v4="on"] .gaso-hero {
  background: linear-gradient(135deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important;
  border-radius: 18px !important;
}
html[data-v4="on"] .calc-hero-title,
html[data-v4="on"] .gaso-hero-title { font-family: 'Space Grotesk', sans-serif !important; color: #fff !important; }
/* criterion buttons */
html[data-v4="on"] .calc-crit-btn { border: 2px solid #dcebe0 !important; border-radius: 14px !important; }
html[data-v4="on"] .calc-crit-btn:hover { border-color: var(--v4-primary,#1d9d58) !important; background: var(--v4-primary-soft,#edf6f0) !important; }
html[data-v4="on"] .calc-crit-btn.calc-crit-on { border-color: var(--v4-primary,#1d9d58) !important; background: var(--v4-primary-soft,#edf6f0) !important; }
html[data-v4="on"] .calc-crit-btn.calc-crit-on .calc-crit-letter { background: var(--v4-primary,#1d9d58) !important; color: #fff !important; }
html[data-v4="on"] .calc-crit-btn.calc-crit-on .calc-crit-label { color: var(--v4-primary-2,#0f6b38) !important; }
html[data-v4="on"] .calc-crit-label { font-family: 'Space Grotesk', sans-serif !important; color: #17251c !important; }
html[data-v4="on"] .calc-crit-desc { color: #5f7367 !important; }
/* result card + tabela de referência */
html[data-v4="on"] .calc-result-card {
  background: #fff !important;
  border: 1px solid #e3ebe5 !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 10px rgba(23,37,28,.05) !important;
}
html[data-v4="on"] .calc-result-label { font-family: 'Space Grotesk', sans-serif !important; }
html[data-v4="on"] .calc-ref-table {
  background: #fff !important;
  border: 1px solid #e3ebe5 !important;
  border-radius: 12px !important;
}
html[data-v4="on"] .calc-ref-title { color: var(--v4-primary-2,#0f6b38) !important; font-family: 'Space Grotesk', sans-serif !important; }
html[data-v4="on"] .calc-note { color: #5f7367 !important; }
/* gaso form card + inputs */
html[data-v4="on"] .gaso-form-card {
  background: #fff !important;
  border: 1.5px solid #e3ebe5 !important;
  border-radius: 18px !important;
  box-shadow: 0 2px 10px rgba(23,37,28,.05) !important;
}
html[data-v4="on"] .gaso-form-title { color: var(--v4-primary-2,#0f6b38) !important; font-family: 'Space Grotesk', sans-serif !important; }
html[data-v4="on"] .gaso-lbl { color: #5f7367 !important; }
html[data-v4="on"] .gaso-input {
  border: 1.5px solid #dcebe0 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #17251c !important;
}
html[data-v4="on"] .gaso-input:focus {
  border-color: var(--v4-primary,#1d9d58) !important;
  box-shadow: 0 0 0 3px rgba(var(--v4-primary-rgb,23,138,76), .16) !important;
  background: #fff !important;
}
html[data-v4="on"] .gaso-btn-calc {
  background: linear-gradient(135deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 14px rgba(var(--v4-primary-rgb,23,138,76), .30) !important;
}
html[data-v4="on"] .gaso-btn-clear {
  background: #fff !important;
  border: 1.5px solid #dcebe0 !important;
  color: #5f7367 !important;
  border-radius: 10px !important;
}
html[data-v4="on"] .gaso-btn-clear:hover { border-color: var(--v4-primary,#1d9d58) !important; color: var(--v4-primary-2,#0f6b38) !important; }
/* diagnóstico + seções de resultado (neutros) */
html[data-v4="on"] .gaso-diag,
html[data-v4="on"] .gaso-section,
html[data-v4="on"] .gaso-ref-box {
  background: #fff !important;
  border: 1px solid #e3ebe5 !important;
  border-radius: 14px !important;
}
html[data-v4="on"] .gaso-section-title,
html[data-v4="on"] .gaso-ref-title { color: var(--v4-primary-2,#0f6b38) !important; font-family: 'Space Grotesk', sans-serif !important; }
html[data-v4="on"] .gaso-ox-card { background: #fff !important; border: 1px solid #e3ebe5 !important; border-radius: 12px !important; }
html[data-v4="on"] .gaso-passo-num {
  background: var(--v4-primary,#1d9d58) !important;
  color: #fff !important;
}
html[data-v4="on"] .gaso-passo-titulo { font-family: 'Space Grotesk', sans-serif !important; color: #17251c !important; }
html[data-v4="on"] .gaso-comp-tag-ok,
html[data-v4="on"] .gaso-ag-badge-ok { background: var(--v4-primary-soft,#edf6f0) !important; color: var(--v4-primary-2,#0f6b38) !important; }
/* NOTA: .gaso-err / .gaso-comp-bad / .gaso-ag-badge-high / .gaso-ox-warn mantêm alerta vermelho/âmbar. */

/* =========================================================================
   6) RENAME + formulários/tabelas genéricos
   ========================================================================= */
html[data-v4="on"] .rename-hero {
  background: linear-gradient(135deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important;
  border-radius: 18px !important;
}
html[data-v4="on"] .rename-hero-title { font-family: 'Space Grotesk', sans-serif !important; color: #fff !important; }
html[data-v4="on"] .rename-search,
html[data-v4="on"] .rename-class-sel {
  border: 1.5px solid #dcebe0 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #17251c !important;
}
html[data-v4="on"] .rename-search:focus,
html[data-v4="on"] .rename-class-sel:focus {
  border-color: var(--v4-primary,#1d9d58) !important;
  box-shadow: 0 0 0 3px rgba(var(--v4-primary-rgb,23,138,76), .16) !important;
}
html[data-v4="on"] .rename-card {
  border: 1px solid #e3ebe5 !important;
  border-radius: 12px !important;
}
html[data-v4="on"] .rename-card:hover {
  border-color: var(--v4-primary,#1d9d58) !important;
  box-shadow: 0 2px 10px rgba(var(--v4-primary-rgb,23,138,76), .10) !important;
}
html[data-v4="on"] .rename-card-open {
  border-color: var(--v4-primary,#1d9d58) !important;
  box-shadow: 0 4px 16px rgba(23,37,28,.07) !important;
}
html[data-v4="on"] .rename-nome { font-family: 'Space Grotesk', sans-serif !important; color: #17251c !important; }
html[data-v4="on"] .rename-classe { color: #5f7367 !important; }
html[data-v4="on"] .rename-apres { border: 1px solid #e3ebe5 !important; border-radius: 10px !important; }
html[data-v4="on"] .rename-apres-forma { font-family: 'Space Grotesk', sans-serif !important; color: #17251c !important; }
html[data-v4="on"] .rename-apres-dil {
  background: var(--v4-primary-soft,#edf6f0) !important;
  border-left: 3px solid var(--v4-primary,#1d9d58) !important;
  border-radius: 8px !important;
}
html[data-v4="on"] .rename-dil-lbl { color: var(--v4-primary-2,#0f6b38) !important; }
html[data-v4="on"] .rename-uso-lbl { color: #5f7367 !important; }
/* inputs/select/textarea genéricos + focus primário */
html[data-v4="on"] input[type="text"]:focus,
html[data-v4="on"] input[type="search"]:focus,
html[data-v4="on"] input[type="number"]:focus,
html[data-v4="on"] input[type="email"]:focus,
html[data-v4="on"] input[type="password"]:focus,
html[data-v4="on"] select:focus,
html[data-v4="on"] textarea:focus {
  border-color: var(--v4-primary,#1d9d58) !important;
  box-shadow: 0 0 0 3px rgba(var(--v4-primary-rgb,23,138,76), .14) !important;
}
/* checkbox/radio accent + links */
html[data-v4="on"] input[type="checkbox"],
html[data-v4="on"] input[type="radio"] { accent-color: var(--v4-primary,#1d9d58) !important; }
html[data-v4="on"] a { color: var(--v4-primary-2,#0f6b38); }
/* tabela genérica: cabeçalho com tinta suave */
html[data-v4="on"] table thead th { color: var(--v4-primary-2,#0f6b38) !important; }
/* ===== fim do bloco v4 — páginas clássicas ===== */

/* ===== v4 — sidebar persistente + polish + ignorar tema admin + mobile ===== */

/* -------------------------------------------------------------------------
   1) Sidebar consistente em páginas não-prescrições
   ------------------------------------------------------------------------- */
/* Esconder TODAS as variantes de nav clássica nas outras páginas
   (sidebar padrão .app-sidebar, sidebar completa .app-fullsidebar,
    topnav .app-topnav-bar / .topnav / .app-topnav) */
html[data-v4="on"][data-v4page="other"] .app-sidebar,
html[data-v4="on"][data-v4page="other"] .app-fullsidebar,
html[data-v4="on"][data-v4page="other"] .app-topnav-bar,
html[data-v4="on"][data-v4page="other"] .topnav,
html[data-v4="on"][data-v4page="other"] .app-topnav,
html[data-v4="on"][data-v4page="other"] nav.app-sidebar {
  display: none !important;
}

/* Deslocar o app clássico para que o conteúdo não fique sob a sidebar fixa v4 */
html[data-v4="on"][data-v4page="other"] .app {
  padding-left: 240px !important;
}
@media (max-width: 900px) {
  html[data-v4="on"][data-v4page="other"] .app {
    padding-left: 0 !important;
  }
}

/* Hamburger da sidebar fixa v4: oculto no desktop, visível no mobile */
html[data-v4="on"] .v4m-burger {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 107;
  width: 42px;
  height: 42px;
  border-radius: 11px;
  border: 1px solid #e3ebe5;
  background: #fff;
  box-shadow: 0 2px 10px rgba(23,37,28,.12);
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #33473a;
}
@media (max-width: 900px) {
  html[data-v4="on"] .v4m-burger { display: flex !important; }
}
/* Desktop: a sidebar dentro do shell fixo ocupa a altura total */
@media (min-width: 901px) {
  html[data-v4="on"] .v4m-shell .v4m-sidebar { height: 100vh !important; }
}

/* -------------------------------------------------------------------------
   2) Ignorar o esquema de cores do admin (data-theme="tech") quando v4 ligado
   ------------------------------------------------------------------------- */
/* Reafirmar superfícies claras + texto escuro para que as regras escuras
   do tema admin não "vazem" por baixo do v4. */
html[data-v4="on"][data-theme] .app,
html[data-v4="on"][data-theme="tech"] .app {
  background: #f4f8f5 !important;
  color: #17251c !important;
}
html[data-v4="on"][data-theme] .main,
html[data-v4="on"][data-theme="tech"] .main {
  background: transparent !important;
  color: #17251c !important;
}
html[data-v4="on"][data-theme] .app-header,
html[data-v4="on"][data-theme="tech"] .app-header {
  background: #fff !important;
  color: #17251c !important;
}
html[data-v4="on"][data-theme] .card,
html[data-v4="on"][data-theme] .pt-card,
html[data-v4="on"][data-theme] .ia-card,
html[data-v4="on"][data-theme] .calc-card,
html[data-v4="on"][data-theme] .gaso-card,
html[data-v4="on"][data-theme="tech"] .card,
html[data-v4="on"][data-theme="tech"] .pt-card,
html[data-v4="on"][data-theme="tech"] .ia-card,
html[data-v4="on"][data-theme="tech"] .calc-card,
html[data-v4="on"][data-theme="tech"] .gaso-card {
  background: #fff !important;
  color: #17251c !important;
}
/* Reafirmação genérica de contêineres de página (prefixos .pt-*/.ia-*/.calc-*/.gaso-*) */
html[data-v4="on"][data-theme] [class^="pt-"],
html[data-v4="on"][data-theme] [class^="ia-"],
html[data-v4="on"][data-theme] [class^="calc-"],
html[data-v4="on"][data-theme] [class^="gaso-"],
html[data-v4="on"][data-theme="tech"] [class^="pt-"],
html[data-v4="on"][data-theme="tech"] [class^="ia-"],
html[data-v4="on"][data-theme="tech"] [class^="calc-"],
html[data-v4="on"][data-theme="tech"] [class^="gaso-"] {
  color: #17251c !important;
}

/* -------------------------------------------------------------------------
   3) Polish de problemas reportados
   ------------------------------------------------------------------------- */
/* Label "FERRAMENTAS" da sidebar completa: era roxo/índigo (#6366f1) -> silenciado */
html[data-v4="on"] .fsbr-section-label {
  color: #97a89c !important;
}

/* Botão "Voltar para área de Prescrições" (.back-to-rx-btn): era azul -> tema primário */
html[data-v4="on"] .back-to-rx-btn {
  background: var(--v4-primary-soft, #edf6f0) !important;
  color: var(--v4-primary, #1d9d58) !important;
  border-color: color-mix(in srgb, var(--v4-primary, #1d9d58) 35%, transparent) !important;
  box-shadow: 0 2px 12px rgba(var(--v4-primary-rgb, 23,138,76), .12) !important;
}
html[data-v4="on"] .back-to-rx-btn:hover {
  background: color-mix(in srgb, var(--v4-primary, #1d9d58) 16%, #fff) !important;
  border-color: var(--v4-primary, #1d9d58) !important;
  color: var(--v4-primary-2, #0f6b38) !important;
  box-shadow: 0 4px 20px rgba(var(--v4-primary-rgb, 23,138,76), .22) !important;
}
html[data-v4="on"] .back-rx-arrow {
  background: color-mix(in srgb, var(--v4-primary, #1d9d58) 15%, transparent) !important;
  color: var(--v4-primary, #1d9d58) !important;
}
html[data-v4="on"] .back-to-rx-btn:hover .back-rx-arrow {
  background: color-mix(in srgb, var(--v4-primary, #1d9d58) 25%, transparent) !important;
}

/* Acentos azuis/índigo residuais em elementos interativos clássicos -> primário v4.
   (Vermelhos/âmbares semânticos de urgência/erro NÃO são tocados.) */
html[data-v4="on"] .fsbr-item.fsbr-on {
  background: var(--v4-primary, #1d9d58) !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(var(--v4-primary-rgb, 23,138,76), .35) !important;
}
html[data-v4="on"] .fsbr-item.fsbr-on svg { stroke: #fff !important; }
html[data-v4="on"] .fsbr-item:hover {
  background: var(--v4-primary-soft, #edf6f0) !important;
  color: var(--v4-primary-2, #0f6b38) !important;
}
html[data-v4="on"] .topnav-item.active,
html[data-v4="on"] .topnav-dropdown-item.active {
  color: var(--v4-primary-2, #0f6b38) !important;
  background: var(--v4-primary-soft, #edf6f0) !important;
}

/* -------------------------------------------------------------------------
   4) Mobile: conteúdo clássico utilizável em largura total sob o v4
   ------------------------------------------------------------------------- */
@media (max-width: 900px) {
  html[data-v4="on"][data-v4page="other"] .main {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
/* ===== fim do bloco v4 — sidebar persistente + polish + admin + mobile ===== */

/* ===== v4 — estrela favoritar (hover), grade e seletor no mobile ===== */
.v4m-fav span { transition: transform .12s ease, filter .12s ease; }
.v4m-fav:hover span { transform: scale(1.4); filter: drop-shadow(0 1px 3px rgba(245,166,35,.5)); }
.v4m-fav:hover { color: #f5a623 !important; }
.v4m-fav:active span { transform: scale(1.15); }

/* mobile: grade de cards vira 1 coluna; seletor mostra só ícones; busca ocupa linha toda */
@media (max-width: 640px) {
  .v4m-multicol { grid-template-columns: 1fr !important; }
  .v4m-viewlbl { display: none !important; }
  .v4m-searchbox { min-width: 100% !important; }
}

/* ===== v4 — dock removido, scroll único, histórico visível ===== */
/* #6: some com o dock da direita quando o tema novo está ativo (controles migraram p/ sidebar) */
html[data-v4="on"] .v4dock { display: none !important; }

/* #8: um único scroll — trava o body quando o overlay de Prescrições cobre a tela */
html[data-v4="on"][data-v4page="presc"] body { overflow: hidden !important; }
html[data-v4="on"] .v4m-main { -webkit-overflow-scrolling: touch; }

/* #5: histórico igual ao tema antigo (trilha à direita) — acima do overlay v4 */
html[data-v4="on"] .history-rail { z-index: 116 !important; }
html[data-v4="on"] .history-drawer, html[data-v4="on"] .history-drawer-overlay { z-index: 117 !important; }

/* ===== v4 — histórico legível + páginas de calculadora no tema ===== */
/* Histórico: trilha à direita com fundo sólido do tema (era verde claro sobre branco = ilegível) */
html[data-v4="on"] .history-rail {
  z-index: 116 !important;
  background: linear-gradient(135deg, var(--v4-primary,#1d9d58), var(--v4-primary-2,#0f6b38)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 14px 0 0 14px !important;
  box-shadow: -4px 6px 20px rgba(var(--v4-primary-rgb,23,138,76),.4) !important;
  padding: 16px 11px !important;
}
html[data-v4="on"] .history-rail:hover { filter: brightness(1.06) !important; padding-right: 15px !important; }
html[data-v4="on"] .history-rail, html[data-v4="on"] .history-rail * { color: #fff !important; }
html[data-v4="on"] .history-rail svg { stroke: #fff !important; color: #fff !important; }
html[data-v4="on"] .history-rail-text { color: #fff !important; }
html[data-v4="on"] .history-rail-badge {
  background: #fff !important; color: var(--v4-primary-2,#0f6b38) !important; font-weight: 800 !important;
}

/* Calculadoras / Protocolos: hero e cards seguem a cor do modo (vencendo o gradiente inline) */
html[data-v4="on"] .calc-hero,
html[data-v4="on"] .gaso-hero,
html[data-v4="on"] .rename-hero,
html[data-v4="on"] .ia-hero {
  background: linear-gradient(135deg, var(--v4-primary,#1d9d58) 0%, var(--v4-primary-2,#0f6b38) 100%) !important;
}
html[data-v4="on"] .v4-pagemenu { max-width: 100%; }
html[data-v4="on"] .calc-hero-badge, html[data-v4="on"] .gaso-hero .gaso-badge {
  background: rgba(255,255,255,.2) !important; color: #fff !important;
}

/* ===== v4 — páginas internas: alinhamento e legibilidade ===== */
/* conteúdo clássico flui em bloco (centralizado), não empurrado pela sidebar antiga escondida */
html[data-v4="on"][data-v4page="other"] .app { display: block !important; }
html[data-v4="on"] .gaso-view, html[data-v4="on"] .calc-view,
html[data-v4="on"] .rename-view, html[data-v4="on"] .ia-view, html[data-v4="on"] .pt-view {
  margin-left: auto !important; margin-right: auto !important;
}
/* hero das calculadoras: texto branco legível sobre o gradiente do tema */
html[data-v4="on"] .gaso-hero-title, html[data-v4="on"] .gaso-hero-sub,
html[data-v4="on"] .calc-hero-title, html[data-v4="on"] .calc-hero-sub { color: #fff !important; }
html[data-v4="on"] .gaso-hero-sub, html[data-v4="on"] .calc-hero-sub { opacity: .95 !important; }
/* fundo claro garantido (mesmo se o admin usar tema escuro) — evita texto escuro em fundo escuro */
html[data-v4="on"] .gaso-form-card, html[data-v4="on"] .gaso-diag, html[data-v4="on"] .gaso-section,
html[data-v4="on"] .gaso-ref-box, html[data-v4="on"] .calc-result-card, html[data-v4="on"] .calc-ref-table,
html[data-v4="on"] .gaso-input, html[data-v4="on"] .ia-caso-info-card {
  background: #fff !important; color: #17251c !important;
}
html[data-v4="on"] .gaso-input { border-color: #dce7e1 !important; }
