/* Dream: capa de marca sobre Bootstrap 5.3 */
:root, [data-bs-theme="light"] {
  --dream-brand: #3b3f9e;
  --dream-brand-2: #6f5bd3;
  --dream-accent: #00a79e;
  --bs-primary: #3b3f9e;
  --bs-primary-rgb: 59, 63, 158;
  --bs-link-color: #3b3f9e;
  --bs-link-color-rgb: 59, 63, 158;
  --bs-link-hover-color: #2b2e78;
  --bs-body-bg: #f4f5fa;
  --bs-body-font-family: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
  --bs-body-font-size: .95rem;
  --dream-card: #ffffff;
}
[data-bs-theme="dark"] {
  --dream-brand: #8d90f0;
  --bs-primary: #7d80e8;
  --bs-primary-rgb: 125, 128, 232;
  --bs-link-color: #a3a6f5;
  --bs-link-color-rgb: 163, 166, 245;
  --bs-link-hover-color: #c3c5ff;
  --bs-body-bg: #0f1120;
  --dream-card: #171a2e;
}
body { font-family: var(--bs-body-font-family); }
.card { background: var(--dream-card); border-color: var(--bs-border-color-translucent); border-radius: .8rem; }
.btn-primary { --bs-btn-bg: var(--bs-primary); --bs-btn-border-color: var(--bs-primary); --bs-btn-hover-bg: #2f3284; --bs-btn-hover-border-color: #2f3284; --bs-btn-active-bg: #2b2e78; }
[data-bs-theme="dark"] .btn-primary { --bs-btn-color: #0f1120; --bs-btn-hover-bg: #9a9df0; --bs-btn-hover-border-color: #9a9df0; --bs-btn-active-bg: #a8aaf3; }
.btn-outline-primary { --bs-btn-color: var(--bs-primary); --bs-btn-border-color: var(--bs-primary); --bs-btn-hover-bg: var(--bs-primary); --bs-btn-hover-border-color: var(--bs-primary); --bs-btn-active-bg: var(--bs-primary); --bs-btn-active-border-color: var(--bs-primary); }

.dream-nav { background: var(--dream-card); border-bottom: 1px solid var(--bs-border-color-translucent); }
.dream-nav .nav-link.active { color: var(--bs-primary); font-weight: 500; }
.navbar-brand { font-weight: 600; color: var(--dream-brand) !important; }
.dream-logo { display: inline-grid; place-items: center; width: 2rem; height: 2rem; border-radius: .6rem;
  background: linear-gradient(135deg, var(--dream-brand), var(--dream-brand-2)); color: #fff; font-size: 1rem; }
.dream-logo-lg { width: 3.2rem; height: 3.2rem; font-size: 1.5rem; border-radius: .9rem; }

.dream-auth { background: radial-gradient(1200px 600px at 20% -10%, rgba(111, 91, 211, .18), transparent), var(--bs-body-bg); }
.dream-auth-card { width: 100%; max-width: 420px; }

.dream-kpi .card-body { padding: .9rem 1rem; }
.dream-dev { transition: box-shadow .15s, transform .15s; border-left: 4px solid var(--bs-border-color); }
.dream-dev:hover { box-shadow: 0 .4rem 1rem rgba(0,0,0,.08); transform: translateY(-1px); }
.dream-dev[data-estado="alerta"] { border-left-color: var(--bs-danger); }
.dream-dev[data-estado="atencion"] { border-left-color: var(--bs-warning); }
.dream-dev[data-estado="ok"] { border-left-color: var(--bs-success); }
.dream-dev[data-estado="sin_datos"] { border-left-color: var(--bs-secondary); }
.dream-vitals { border-top: 1px solid var(--bs-border-color-translucent); border-bottom: 1px solid var(--bs-border-color-translucent); padding: .5rem 0; }
.dream-vital { font-size: 1.6rem; font-weight: 600; font-variant-numeric: tabular-nums; line-height: 1.2; }
.dream-chart { min-height: 220px; }
.table { --bs-table-bg: transparent; }
.font-monospace { font-size: .9em; }
@media (prefers-reduced-motion: reduce) { .dream-dev { transition: none; } }
