/* Estanix — Design System "Warm Editorial" (tokens). Colores base; Branding::css() sobreescribe primario/grafito/acento desde BD. */
:root {
    --bg: #F4F4F5;
    --card: #FFFFFF;
    --surface-alt: #ECECEE;
    --border: #E2E2E5;
    --text: #1B1B1E;
    --muted: #5F5F66;
    --primary: #1D9E75;
    --primary-soft: #E4F4EE;
    --primary-dark: #158060;
    --hover-row: rgba(0,0,0,.045);
    --accent-warm: #E8892B;
    --sidebar-1: #1F2C3A;
    --sidebar-2: #2C3E50;
    --sidebar-width: 260px;
    --topbar-height: 60px;
    --shadow: rgba(27,27,30,.07);
    --input-bg: #FFFFFF;
    --input-border: #D4D4D8;
    --input-text: #1B1B1E;
    --focus-ring: rgba(29,158,117,.20);
    --font-serif: 'Fraunces', Georgia, 'Times New Roman', serif;
    --font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
[data-theme="dark"], [data-bs-theme="dark"] {
    --bg: #131315;
    --card: #1B1B1E;
    --surface-alt: #242427;
    --border: #2E2E33;
    --text: #F3F3F4;
    --muted: #A1A1A8;
    --primary: #23B588;
    --primary-soft: #10312A;
    --primary-dark: #1D9E75;
    --hover-row: rgba(255,255,255,.05);
    --sidebar-1: #14202B;
    --sidebar-2: #1E2C3A;
    --shadow: rgba(0,0,0,.45);
    --input-bg: #131315;
    --input-border: #3A3A40;
    --input-text: #F3F3F4;
    --focus-ring: rgba(35,181,136,.28);
}

body { background: var(--bg); color: var(--text); font-family: var(--font-body); }
h1, h2, h3, .page-header h1, .card-header, .stat-value { font-family: var(--font-serif); letter-spacing: -.01em; }
a { color: var(--primary-dark); }
.card { background: var(--card); border: 1px solid var(--border); border-radius: 14px; box-shadow: 0 1px 2px var(--shadow); }
.form-control, .form-select { background: var(--input-bg); border-color: var(--input-border); color: var(--input-text); border-radius: 9px; }
.form-control:focus, .form-select:focus { border-color: var(--primary); box-shadow: 0 0 0 .2rem var(--focus-ring); }
.btn-primary { background: var(--primary); border-color: var(--primary); border-radius: 9px; }
.btn-primary:hover, .btn-primary:focus { background: var(--primary-dark); border-color: var(--primary-dark); }
.btn-outline-secondary { border-radius: 9px; }
.table { color: var(--text); }
.table thead th { background: var(--surface-alt); color: var(--muted); border-color: var(--border); font-weight: 500; }
.table tbody tr:hover { background: var(--hover-row); }
.table td, .table th { border-color: var(--border); }
.dropdown-menu { background: var(--card); border: 1px solid var(--border); border-radius: 12px; box-shadow: 0 6px 24px var(--shadow); }
.dropdown-item { color: var(--text); }
.dropdown-item:hover { background: var(--hover-row); }
:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.table td, .table th, .stat-value, .badge { font-variant-numeric: tabular-nums; }
.badge.text-bg-primary { background: var(--primary) !important; }
.text-primary { color: var(--primary-dark) !important; }
* { scrollbar-width: thin; scrollbar-color: var(--border) transparent; }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-thumb { background: var(--border); border-radius: 999px; }
