/* Kakaówa · identidad "Capas del territorio" aplicada al sistema (kit de marca nov 2026).
   Fuentes servidas desde el propio sistema (licencia OFL). */
@font-face{font-family:"Young Serif";font-weight:400;font-display:swap;src:url(/marca/young-serif-latin.woff2) format("woff2")}
@font-face{font-family:"Josefin Sans";font-weight:100 700;font-display:swap;src:url(/marca/josefin-sans-latin.woff2) format("woff2")}
@font-face{font-family:"Josefin Sans";font-style:italic;font-weight:100 700;font-display:swap;src:url(/marca/josefin-sans-italic-latin.woff2) format("woff2")}
:root{
  --k-verde:#1C3520;--k-terra:#7A2517;--k-terra-2:#6B1A12;--k-marfil:#F6EAC5;--k-tarjeta:#FCF3DF;--k-dorado:#DD8623;--k-dorado-d:#B85F0F;
  --k-choco:#221307;--k-salvia:#499469;--k-titulo:#2C1709;--k-cuerpo:#4A2A12;--k-cuerpo-oscuro:#E2D2AC;--k-suave:#7A6048;
  --k-serif:"Young Serif",Georgia,serif;--k-sans:"Josefin Sans",system-ui,-apple-system,sans-serif;--k-boton:linear-gradient(135deg,#7A2517,#DD8623);
  /* variables del sistema BPM, llevadas a la paleta de marca */
  --cacao:var(--k-titulo);--chocolate:var(--k-cuerpo);--caramelo:var(--k-dorado-d);--crema:var(--k-marfil);--blanco:var(--k-tarjeta);
  --gris:#F1E3BF;--gris2:#E2CFA3;--texto:var(--k-cuerpo);--verde:#2F6B45;--rojo:#9E2A1B;--amarillo:var(--k-dorado);
}
body{font-family:var(--k-sans);font-size:16px}
/* Títulos: Young Serif 400, sin negrita falsa */
#topbar h2,.card h3,.modal h3,.prog-header h2,.month-nav span,.stat-card .val,.stat-card .num,#modal-body h3{font-family:var(--k-serif);font-weight:400;font-feature-settings:"lnum" 1}
.card h3{font-size:1.05rem}#topbar h2{font-size:1.1rem}
/* Menú lateral: mundo verde selva */
#sidebar{background:var(--k-verde)}
#sidebar .logo{padding:22px 18px 16px;border-bottom:1px solid rgba(246,234,197,.14)}
#sidebar .logo img{display:block;width:150px;height:auto}
#sidebar .logo p{font-family:var(--k-serif);font-size:1rem;line-height:1.25;color:var(--k-dorado);margin-top:10px}
#sidebar nav .section-label{color:var(--k-dorado);opacity:.85;letter-spacing:.22em;font-weight:600}
#sidebar nav a{color:var(--k-cuerpo-oscuro);font-size:.86rem}
#sidebar nav a:hover{background:rgba(246,234,197,.07);color:var(--k-marfil)}
#sidebar nav a.active{background:rgba(221,134,35,.16);color:var(--k-dorado);border-left-color:var(--k-dorado)}
/* Barra superior y contenido */
#topbar{background:var(--k-tarjeta);border-bottom-color:var(--gris2)}
#topbar .meta{color:var(--k-suave)}
#menu-btn{color:var(--k-titulo)}
.card,.stat-card,.modal{background:var(--k-tarjeta);border-radius:16px;box-shadow:0 1px 3px rgba(44,23,9,.08)}
.stat-card{border-left-color:var(--k-dorado)}
.stat-card .lbl,.modal-close{color:var(--k-suave)}
.prog-header{background:var(--k-terra-2);border-radius:16px}
.prog-header h2{color:var(--k-marfil);font-size:1.25rem}
.prog-header p,.prog-header .mr{color:var(--k-cuerpo-oscuro)}
th{background:var(--gris);color:var(--k-titulo);font-weight:600}
tr:hover td{background:#F8EBCB}
/* Botones */
.btn{font-family:var(--k-sans);border-radius:10px}
.btn-p{background:var(--k-boton);color:var(--k-marfil)}.btn-p:hover{background:var(--k-boton);filter:brightness(1.08)}
.btn-s{background:var(--k-marfil);color:var(--k-titulo);border-color:var(--gris2)}.btn-s:hover{background:var(--gris)}
.btn-d{background:#F7DCD3;color:var(--rojo);border-color:#EBB9A9}
.tab{color:var(--k-suave)}.tab.active{color:var(--k-terra);border-bottom-color:var(--k-dorado)}
.form-group label{color:var(--k-cuerpo)}
.form-group input,.form-group select,.form-group textarea{background:#FFFBF1;border-radius:8px}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--k-dorado)}
/* Estados (sin azules ni neón) */
.badge.v{background:#DCEBDD;color:var(--verde)}.badge.r{background:#F7DCD3;color:var(--rojo)}
.badge.a{background:#F8E2C2;color:#8A4A0B}.badge.g{background:var(--gris);color:var(--k-suave)}
.alert.warn{background:#F8E2C2;color:#7A3E08;border-color:#EBC48E}
.alert.info{background:#E7EDDB;color:var(--k-verde);border-color:#C5D3B3}
.alert.success{background:#DCEBDD;color:var(--verde);border-color:#B5D2B9}
.progress-fill{background:var(--k-salvia)}
.card ol li::marker{color:var(--k-dorado-d)}
@media print{body{background:#fff}.card,.stat-card{background:#fff;box-shadow:none}}
