/* Shared stat cards; the existing data bindings retain their element IDs. */
.dashboard-stat-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}
.dashboard-stat-grid .dashboard-stat-card {
  --stat-ink: #52708d;
  --stat-wash: #edf3f8;
  --stat-line: #dce6ef;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 10px 13px 9px;
  border: 1px solid #e1e8f1;
  border-radius: 15px;
  background: linear-gradient(145deg, #fff 56%, var(--stat-wash) 185%);
  box-shadow: 0 2px 3px #17263a02, 0 5px 18px #17263a04;
  overflow: hidden;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.dashboard-stat-grid .stat-tone-mint { --stat-ink:#059777; --stat-wash:#e8f8f2; --stat-line:#bde9dc; }
.dashboard-stat-grid .stat-tone-rose { --stat-ink:#e05571; --stat-wash:#fff0f2; --stat-line:#f5cbd4; }
.dashboard-stat-grid .stat-tone-amber { --stat-ink:#be861b; --stat-wash:#fff6e5; --stat-line:#f0dfba; }
.dashboard-stat-grid .stat-tone-violet { --stat-ink:#8864d3; --stat-wash:#f2edfc; --stat-line:#dbcef3; }
.dashboard-stat-grid .stat-tone-blue { --stat-ink:#3985d9; --stat-wash:#ecf4fe; --stat-line:#c8ddf6; }
.dashboard-stat-grid .dashboard-stat-card::after {
  content:""; position:absolute; width:80px; height:80px; border-radius:50%;
  background:var(--stat-wash); right:-48px; top:22px; opacity:.5; pointer-events:none;
}
.dashboard-stat-grid .dashboard-stat-card:hover {
  border-color:var(--stat-line);
  box-shadow:0 6px 22px #17263a09;
}
.stat-card-top { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:6px; }
.stat-card-icon {
  display:grid; place-items:center; width:24px; height:24px; flex-shrink:0;
  border-radius:8px; color:var(--stat-ink); background:var(--stat-wash);
  box-shadow:inset 0 0 0 1px #ffffff99;
}
.stat-card-icon svg { width:14px; height:14px; }
.stat-card-period {
  color:#93a0b4; font-size:9px; line-height:1.4; font-weight:600; letter-spacing:.15px;
  background:#f7f9fc; border:1px solid #edf1f6; border-radius:6px; padding:3px 6px;
}
.dashboard-stat-grid .dashboard-stat-label { color:#68788f; font-size:11px; font-weight:600; line-height:1.6; z-index:1; }
.dashboard-stat-grid .dashboard-stat-card strong {
  color:#17243a; font-size:25px; font-weight:800; letter-spacing:-.8px;
  font-variant-numeric:tabular-nums; line-height:1.15; margin:3px 0 6px; z-index:1;
  overflow-wrap:anywhere;
}
.dashboard-stat-grid .dashboard-stat-meta {
  position:relative; color:#8a9ab0; font-size:9px; font-weight:500; line-height:1.6;
  padding-top:6px; margin-top:auto; border-top:1px solid #edf1f6; min-height:20px;
  padding-left:11px;
}
.dashboard-stat-grid .dashboard-stat-meta::before {
  content:""; position:absolute; left:0; top:11px; width:4px; height:4px;
  border-radius:50%; background:var(--stat-ink); opacity:.75;
}
@media(max-width:1599px) {
  .dashboard-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:650px) {
  .dashboard-stat-grid { gap:9px; }
  .dashboard-stat-grid .dashboard-stat-card { padding:10px 11px; border-radius:14px; }
  .dashboard-stat-grid .dashboard-stat-card strong { font-size:24px; }
  .dashboard-stat-grid .dashboard-stat-label { font-size:10px; }
}
@media(max-width:380px) { .dashboard-stat-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .dashboard-stat-grid .dashboard-stat-card { transition:none; } }
