/* ── Morganite (display) ─────────────────────────────────────────────────── */
@font-face { font-family:'Morganite'; src:url('/assets/fonts/Morganite-Thin.ttf') format('truetype'); font-weight:100; font-style:normal; font-display:swap; }
@font-face { font-family:'Morganite'; src:url('/assets/fonts/Morganite-ThinItalic.ttf') format('truetype'); font-weight:100; font-style:italic; font-display:swap; }
@font-face { font-family:'Morganite'; src:url('/assets/fonts/Morganite-ExtraLight.ttf') format('truetype'); font-weight:200; font-style:normal; font-display:swap; }
@font-face { font-family:'Morganite'; src:url('/assets/fonts/Morganite-ExtraLightItalic.ttf') format('truetype'); font-weight:200; font-style:italic; font-display:swap; }
@font-face { font-family:'Morganite'; src:url('/assets/fonts/Morganite-Light.ttf') format('truetype'); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:'Morganite'; src:url('/assets/fonts/Morganite-LightItalic.ttf') format('truetype'); font-weight:300; font-style:italic; font-display:swap; }
@font-face { font-family:'Morganite'; src:url('/assets/fonts/Morganite-Book.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Morganite'; src:url('/assets/fonts/Morganite-BookItalic.ttf') format('truetype'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:'Morganite'; src:url('/assets/fonts/Morganite-Medium.ttf') format('truetype'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'Morganite'; src:url('/assets/fonts/Morganite-MediumItalic.ttf') format('truetype'); font-weight:500; font-style:italic; font-display:swap; }
@font-face { font-family:'Morganite'; src:url('/assets/fonts/Morganite-SemiBold.ttf') format('truetype'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'Morganite'; src:url('/assets/fonts/Morganite-SemiBoldItalic.ttf') format('truetype'); font-weight:600; font-style:italic; font-display:swap; }
@font-face { font-family:'Morganite'; src:url('/assets/fonts/Morganite-Bold.ttf') format('truetype'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'Morganite'; src:url('/assets/fonts/Morganite-BoldItalic.ttf') format('truetype'); font-weight:700; font-style:italic; font-display:swap; }
@font-face { font-family:'Morganite'; src:url('/assets/fonts/Morganite-ExtraBold.ttf') format('truetype'); font-weight:800; font-style:normal; font-display:swap; }
@font-face { font-family:'Morganite'; src:url('/assets/fonts/Morganite-ExtraBoldItalic.ttf') format('truetype'); font-weight:800; font-style:italic; font-display:swap; }
@font-face { font-family:'Morganite'; src:url('/assets/fonts/Morganite-Black.ttf') format('truetype'); font-weight:900; font-style:normal; font-display:swap; }
@font-face { font-family:'Morganite'; src:url('/assets/fonts/Morganite-BlackItalic.ttf') format('truetype'); font-weight:900; font-style:italic; font-display:swap; }

/* ── Visby CF (UI) ───────────────────────────────────────────────────────── */
@font-face { font-family:'Visby CF'; src:url('/assets/fonts/VisbyCF-Thin.otf') format('opentype'); font-weight:100; font-style:normal; font-display:swap; }
@font-face { font-family:'Visby CF'; src:url('/assets/fonts/VisbyCF-ThinOblique.otf') format('opentype'); font-weight:100; font-style:italic; font-display:swap; }
@font-face { font-family:'Visby CF'; src:url('/assets/fonts/VisbyCF-Light.otf') format('opentype'); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:'Visby CF'; src:url('/assets/fonts/VisbyCF-LightOblique.otf') format('opentype'); font-weight:300; font-style:italic; font-display:swap; }
@font-face { font-family:'Visby CF'; src:url('/assets/fonts/VisbyCF-Regular.otf') format('opentype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Visby CF'; src:url('/assets/fonts/VisbyCF-RegularOblique.otf') format('opentype'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:'Visby CF'; src:url('/assets/fonts/VisbyCF-Medium.otf') format('opentype'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'Visby CF'; src:url('/assets/fonts/VisbyCF-MediumOblique.otf') format('opentype'); font-weight:500; font-style:italic; font-display:swap; }
@font-face { font-family:'Visby CF'; src:url('/assets/fonts/VisbyCF-DemiBold.otf') format('opentype'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'Visby CF'; src:url('/assets/fonts/VisbyCF-DemiBoldOblique.otf') format('opentype'); font-weight:600; font-style:italic; font-display:swap; }
@font-face { font-family:'Visby CF'; src:url('/assets/fonts/VisbyCF-Bold.otf') format('opentype'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'Visby CF'; src:url('/assets/fonts/VisbyCF-BoldOblique.otf') format('opentype'); font-weight:700; font-style:italic; font-display:swap; }
@font-face { font-family:'Visby CF'; src:url('/assets/fonts/VisbyCF-ExtraBold.otf') format('opentype'); font-weight:800; font-style:normal; font-display:swap; }
@font-face { font-family:'Visby CF'; src:url('/assets/fonts/VisbyCF-ExtraBoldOblique.otf') format('opentype'); font-weight:800; font-style:italic; font-display:swap; }
@font-face { font-family:'Visby CF'; src:url('/assets/fonts/VisbyCF-Heavy.otf') format('opentype'); font-weight:900; font-style:normal; font-display:swap; }
@font-face { font-family:'Visby CF'; src:url('/assets/fonts/VisbyCF-HeavyOblique.otf') format('opentype'); font-weight:900; font-style:italic; font-display:swap; }

/* ── Libre Baskerville (body) ────────────────────────────────────────────── */
@font-face { font-family:'Libre Baskerville'; src:url('/assets/fonts/LibreBaskerville-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Libre Baskerville'; src:url('/assets/fonts/LibreBaskerville-Italic.ttf') format('truetype'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:'Libre Baskerville'; src:url('/assets/fonts/LibreBaskerville-Bold.ttf') format('truetype'); font-weight:700; font-style:normal; font-display:swap; }

/* ── Barlow Condensed (UI) ───────────────────────────────────────────────── */
@font-face { font-family:'Barlow Condensed'; src:url('/assets/fonts/BarlowCondensed-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Barlow Condensed'; src:url('/assets/fonts/BarlowCondensed-Italic.ttf') format('truetype'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:'Barlow Condensed'; src:url('/assets/fonts/BarlowCondensed-SemiBold.ttf') format('truetype'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'Barlow Condensed'; src:url('/assets/fonts/BarlowCondensed-SemiBoldItalic.ttf') format('truetype'); font-weight:600; font-style:italic; font-display:swap; }
@font-face { font-family:'Barlow Condensed'; src:url('/assets/fonts/BarlowCondensed-Bold.ttf') format('truetype'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'Barlow Condensed'; src:url('/assets/fonts/BarlowCondensed-BoldItalic.ttf') format('truetype'); font-weight:700; font-style:italic; font-display:swap; }
@font-face { font-family:'Barlow Condensed'; src:url('/assets/fonts/BarlowCondensed-Black.ttf') format('truetype'); font-weight:900; font-style:normal; font-display:swap; }
@font-face { font-family:'Barlow Condensed'; src:url('/assets/fonts/BarlowCondensed-BlackItalic.ttf') format('truetype'); font-weight:900; font-style:italic; font-display:swap; }

/* ── Variables Vida Nueva ────────────────────────────────────────────────── */
:root {
  /* Colores de marca */
  --orange:         #FF4D00;
  --orange-dark:    #CC3C00;
  --orange-mid:     #B34900;
  --ink:            #111111;
  --ink-soft:       #292929;
  --cream:          #EBE8DD;
  --cream-soft:     #D9D6CB;
  --muted:          #666460;
  --border:         #CFCDC2;

  /* Fuentes oficiales */
  --font-display:   'Morganite', 'Barlow Condensed', sans-serif;
  --font-ui:        'Barlow Condensed', sans-serif;
  --font-body:      'Libre Baskerville', Georgia, serif;

  /* Mapeo sobre variables de app.css */
  --color-primary:       var(--orange);
  --color-primary-dark:  var(--orange-dark);
  --color-primary-pale:  rgba(255,77,0,.07);
  --color-bg:            var(--cream);
  --color-surface:       #FFFFFF;
  --color-surface-alt:   var(--cream-soft);
  --color-text:          var(--ink);
  --color-text-soft:     var(--ink-soft);
  --color-muted:         var(--muted);
  --color-rule:          var(--border);
  --color-white:         #FFFFFF;
  --color-black:         #000000;

  /* Sidebar / Topbar */
  --sidebar-bg:     var(--ink);
  --sidebar-fg:     var(--cream);
  --sidebar-accent: var(--orange);
  --topbar-bg:      var(--ink);
  --topbar-fg:      var(--cream);
  --topbar-border:  var(--ink);

  /* Alias generales */
  --accent:         var(--orange);
  --accent-2:       #CC3C00;
  --border-color:   var(--ink);
  --border-width:   2px;

  /* ── Variables de dashboard (nuevas) ──────────────────────────────────── */
  --bg-page:            #F5F2EB;
  --bg-card:            #FAFAF7;
  --bg-hero:            #111111;
  --text-primary:       #111111;
  --text-muted:         #6B6560;

  --border-card:        1.5px solid #D4CFC4;
  --radius-card:        0px;
  --radius-icon:        0px;
  --radius-badge:       0px;
  --radius-bar:         0px;
  --shadow-card:        none;

  --hero-text:          #F5F2EB;
  --hero-sub:           #6B6560;
  --hero-icon:          #FF4D00;

  --icon-bg-1:          transparent;
  --icon-bg-2:          transparent;
  --icon-bg-3:          transparent;
  --icon-bg-4:          transparent;
  --icon-radius:        0px;

  --badge-padding:      2px 8px;
  --bar-height:         6px;
  --bar-track:          #D4CFC4;

  --table-header-bg:    #111111;
  --table-header-text:  #F5F2EB;
  --table-row-alt:      #F0EDE6;

  --kpi-number-size:    3rem;
  --kpi-number-weight:  400;
}

/* ── RESET TOTAL Vida Nueva (instancia dedicada — sin scope de clase) ────── */
* { box-shadow: none !important; }

body {
  background:  #F5F2EB !important;
  font-family: 'Libre Baskerville', Georgia, serif !important;
}

/* ── Legacy: cards, inputs, botones, modales ─────────────────────────────── */
.card {
  border-radius: 0 !important;
  border:        2px solid var(--ink) !important;
  background:    var(--cream-soft) !important;
}

input.form-control,
select.form-control,
textarea.form-control {
  border-radius: 0 !important;
  border:        2px solid var(--ink) !important;
  background:    var(--cream-soft) !important;
  color:         var(--ink) !important;
}

.btn { border-radius: 0 !important; }
.btn:not(.btn-light) {
  background:   var(--orange) !important;
  border-color: var(--orange) !important;
  color:        var(--ink)    !important;
}
.btn:not(.btn-light):hover {
  background:   var(--orange-dark) !important;
  border-color: var(--orange-dark) !important;
}

.table th, .table td { border-color: var(--border) !important; }
.modal-dialog { border-radius: 0 !important; }

/* ── Navegación ──────────────────────────────────────────────────────────── */
.sidebar { background: #111111 !important; }
.topbar  { background: #111111 !important; border-bottom: 1px solid #2A2A2A !important; }

/* ── Dashboard ───────────────────────────────────────────────────────────── */
.dashboard-card {
  background:    #FAFAF7 !important;
  border:        1.5px solid #D4CFC4 !important;
  border-radius: 0 !important;
  box-shadow:    none !important;
}

.hero-banner {
  background:    #111111 !important;
  border-radius: 0 !important;
  box-shadow:    none !important;
}

.hero-title {
  font-family:    'Morganite', 'Barlow Condensed', sans-serif !important;
  font-size:      52px !important;
  text-transform: uppercase !important;
  color:          #F5F2EB !important;
  line-height:    1 !important;
}

.hero-label {
  font-family:    'Barlow Condensed', sans-serif !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color:          #FF4D00 !important;
  font-size:      10px !important;
}

.hero-sub {
  font-family: 'Barlow Condensed', sans-serif !important;
  color:       #6B6560 !important;
}

.kpi-icon {
  background:    transparent !important;
  border-radius: 0 !important;
  width:         28px !important;
  height:        28px !important;
  color:         #FF4D00 !important;
  font-size:     1.4rem !important;
  margin-bottom: 16px !important;
}

.kpi-label {
  font-family:    'Barlow Condensed', sans-serif !important;
  font-size:      10px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color:          #6B6560 !important;
}

.kpi-number {
  font-family: 'Libre Baskerville', Georgia, serif !important;
  font-size:   3.2rem !important;
  font-weight: 400 !important;
  color:       #111111 !important;
  line-height: 1 !important;
}

.kpi-sub {
  font-family:    'Barlow Condensed', sans-serif !important;
  font-size:      11px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color:          #6B6560 !important;
}

.section-label {
  font-family:    'Barlow Condensed', sans-serif !important;
  font-size:      10px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color:          #6B6560 !important;
}

.spirit-track { border-radius: 0 !important; height: 6px !important; background: #D4CFC4 !important; }
.spirit-fill  { border-radius: 0 !important; height: 6px !important; }
.spirit-name  { font-family: 'Barlow Condensed', sans-serif !important; }
.spirit-count { font-family: 'Barlow Condensed', sans-serif !important; }

.status-badge {
  background:     #FF4D00 !important;
  color:          #111111 !important;
  border-radius:  0 !important;
  padding:        2px 8px !important;
  font-family:    'Barlow Condensed', sans-serif !important;
  font-size:      10px !important;
  letter-spacing: 1px !important;
}

table.records-table th {
  background:     #111111 !important;
  color:          #F5F2EB !important;
  font-family:    'Barlow Condensed', sans-serif !important;
  letter-spacing: 2px !important;
  font-size:      10px !important;
}

table.records-table tr:nth-child(even) td {
  background: #F0EDE6 !important;
}
