/* CareForAll AI — premium shared theme (v1).
   Linked LAST on every screen, so it refines each page's own inline styles
   without touching structure or scripts. Visual-only + layout-safe:
   we change colour, depth, radius, motion and typography — never box sizing. */

:root{
  --cfa-navy:#0F2A5B; --cfa-blue:#0F7FE0; --cfa-teal:#12B39A;
  --cfa-line:#E6EEF8;
  --cfa-shadow:0 1px 2px rgba(15,42,91,.05), 0 10px 28px rgba(15,42,91,.09);
  --cfa-shadow-hi:0 16px 36px rgba(15,42,91,.15);
}

/* ---- page: soft, premium background with a hint of brand colour ---- */
body{
  background:
    radial-gradient(1100px 420px at 100% -12%, rgba(18,179,154,.07), transparent 60%),
    radial-gradient(950px 420px at -12% -8%, rgba(15,127,224,.08), transparent 55%),
    #EAF1FB !important;
}

/* ---- cards: crisper edge, softer layered depth, rounder ---- */
.card{
  border:1px solid var(--cfa-line) !important;
  border-radius:16px !important;
  box-shadow:var(--cfa-shadow) !important;
}

/* ---- headings ---- */
h1{ letter-spacing:-.02em; font-weight:800; }

/* ---- buttons: richer primary, gentle motion ---- */
button{ border-radius:10px !important; transition:transform .12s ease, filter .12s ease, box-shadow .12s ease; }
button:not(.ghost):not(.sm):not(.sec){ box-shadow:0 3px 10px rgba(15,127,224,.28); }
button:hover{ filter:brightness(1.06); transform:translateY(-1px); }
button:active{ transform:translateY(0); filter:brightness(.97); }

/* ---- inputs: premium focus ring ---- */
input:focus, select:focus, textarea:focus{
  outline:none; border-color:var(--cfa-blue) !important;
  box-shadow:0 0 0 3px rgba(15,127,224,.16) !important;
}

/* ---- tables: airy header + row hover ---- */
th{ background:#F5F9FE; }
tbody tr{ transition:background .12s ease; }
tbody tr:hover{ background:#F5F9FE; }

/* ---- KPI / stat tiles: brand accent bar + hover lift (works on .kpi and .tile) ---- */
.kpi, .tile{
  position:relative; overflow:hidden;
  transition:transform .16s ease, box-shadow .16s ease;
  box-shadow:var(--cfa-shadow) !important;
}
.kpi::before, .tile::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:4px;
  background:linear-gradient(var(--cfa-blue), var(--cfa-teal));
}
.kpi:hover, .tile:hover{ transform:translateY(-3px); box-shadow:var(--cfa-shadow-hi) !important; }
.kpi .n, .tile .n{ font-variant-numeric:tabular-nums; letter-spacing:-.01em; }

/* ---- icon badge used on the upgraded dashboards ---- */
.cfa-ic{
  width:40px; height:40px; border-radius:12px;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:20px; line-height:1; margin-bottom:9px;
}

/* ---- links + scrollbars: small premium details ---- */
a{ transition:color .12s ease; }
*::-webkit-scrollbar{ width:10px; height:10px; }
*::-webkit-scrollbar-thumb{ background:#C7D6EA; border-radius:8px; }
*::-webkit-scrollbar-thumb:hover{ background:#AEC4E0; }

@media (prefers-reduced-motion: reduce){
  button, .kpi, .tile, tbody tr, a{ transition:none !important; }
  .kpi:hover, .tile:hover, button:hover{ transform:none !important; }
}
