/* ================================
   EROBERER — Paleta Oro/Ámbar
   ================================ */
:root{
  /* Colores base */
  --brand:#E8A51B;         /* Oro principal */
  --brand-600:#D48806;     /* Oro profundo / hover */
  --brand-700:#B86A0A;     /* Ámbar oscuro / énfasis */
  --accent:#F5B83A;        /* Ámbar claro */
  --accent-2:#F0C96B;      /* Resaltes suaves */

  --ink:#271A00;           /* Tinta marrón oscura */
  --muted:#6B5E47;         /* Texto secundario */
  --bg:#FFF9EF;            /* Fondo cálido */
  --surface:#FFFFFF;       /* Superficie blanca */
  --card:#FFF4DA;          /* Tarjetas con tinte */
  --line:#F1E2BF;          /* Líneas y bordes */
  --shadow:0 16px 40px rgba(184,106,10,.18);

  --radius:12px;
}

/* ====== Layout general ====== */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
  background:var(--bg);
  color:var(--ink);
}

/* ====== Header ====== */
.hdr{
  background: linear-gradient(90deg, var(--brand), var(--accent));
  color:#fff;
  padding:16px 20px;
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  box-shadow: var(--shadow);
  border-bottom: 1px solid rgba(255,255,255,.25);
}
.hdr .brand{display:flex; align-items:center; gap:12px}
.hdr img{height:54px}
.hdr .brand-titles h1{
  margin:0; font-size:20px; font-weight:900; letter-spacing:.4px;
}
.hdr .brand-titles .sub{
  font-size:13px; opacity:.95
}
.hdr .meta{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.hdr .fecha{font-size:13px; color:#fffbe6}
.logout{
  display:inline-block; background:#fff; color:var(--brand-600);
  padding:6px 12px; text-decoration:none; border-radius:8px; border:1px solid #fff2;
  font-weight:700;
}
.logout:hover{background:#fffdf6}

/* ====== Menú ====== */
.menu{
  display:flex; gap:10px; padding:10px 16px;
  background: linear-gradient(180deg, rgba(232,165,27,.15), rgba(232,165,27,.05));
  border-bottom:1px solid var(--line);
  overflow-x:auto;
}
.menu a{
  flex:0 0 auto;
  color:#5b3a00;
  background:#fff;
  text-decoration:none;
  padding:8px 14px;
  border-radius:10px;
  border:1px solid var(--line);
  font-size:14px; white-space:nowrap;
  box-shadow: 0 6px 16px rgba(184,106,10,.10);
}
.menu a:hover{
  border-color:#e1c07a;
  transform: translateY(-1px);
  transition:.15s;
}

/* ====== Contenido ====== */
.contenido{ padding:20px; max-width:1200px; margin:0 auto; }

/* Títulos centrados */
.ttl{
  color:#7a4a00; margin:10px 0 16px;
  font-weight:900;
  text-align:center;   /* centrado */
}

/* Alertas */
.alert{
  margin:12px 0; padding:12px 14px; border-radius:12px;
  background:#FCF6E6; border:1px solid #F1E2BF; color:#5a4500;
}
.alert.error{
  background:#FEF3F2; border-color:#FECACA; color:#7F1D1D;
}

/* Tarjetas de resumen */
.tarjetas{
  display:flex; flex-wrap:wrap; gap:14px;
  justify-content:center;  /* centrado */
}
.tarjeta{
  background: var(--surface);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px; width:140px; text-align:center;
  box-shadow: 0 10px 24px rgba(184,106,10,.10);
}
.tarjeta h3{ margin:4px 0 6px; font-size:12px; color:#8b5a00; letter-spacing:.4px }
.tarjeta p{ margin:0; font-size:24px; font-weight:900; color:#5b3a00 }

/* Panel y KPIs */
.panel{
  margin-top:22px; padding:16px; border-radius:14px;
  background: var(--card); border:1px solid var(--line);
  box-shadow: 0 10px 28px rgba(184,106,10,.12);
}
.panel h3{ margin:0 0 10px; color:#7a4a00 }

.kpis{ display:grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap:12px; }
.kpi{
  background: var(--surface);
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px; text-align:center;
}
.kpi .n{ font-size:22px; margin-top:6px; color:#3b2a00; }

/* Tabla */
.tabla{ overflow:auto; border:1px solid var(--line); border-radius:12px; background:var(--surface) }
table{ width:100%; border-collapse:collapse; min-width:1100px }
thead th{
  background:#FFE7B3; color:#5b3a00; font-weight:800; font-size:13px;
  text-align:left; padding:10px; border-bottom:1px solid var(--line);
  text-transform:uppercase;
}
tbody td{ padding:10px; border-bottom:1px solid var(--line); font-size:14px; color:var(--ink) }

/* Botones */
.btn{
  background: var(--brand-600);
  color:#fff; border:none; padding:8px 12px; border-radius:10px; cursor:pointer;
  box-shadow: 0 8px 18px rgba(184,106,10,.18);
}
.btn:hover{ background:var(--brand-700) }
.btn.secondary{ background:#7a4a00 }
.btn.secondary[disabled]{ opacity:.35; cursor:not-allowed }
.btn.danger{ background:#B42318 }
.btn.danger:hover{ background:#9A2015 }

/* Tarjeta de gráfica (más compacta) */
.grafica{
  margin-top:24px; padding:14px; border-radius:12px;
  background:var(--surface); border:1px solid var(--line);
  box-shadow: 0 8px 22px rgba(184,106,10,.12);
  width:100%;
  max-width:420px;               /* más pequeña que antes */
  margin-left:auto; margin-right:auto;
}

/* Acciones de tabla */
.acciones{ display:flex; gap:8px; justify-content:flex-end; }

/* Nota técnica / hint */
.nota{ font-size:13px; color:#7a4a00; margin-bottom:8px }

/* Responsive */
@media (max-width:600px){
  .hdr{gap:10px}
  .hdr .brand-titles h1{font-size:18px}
  .menu a{font-size:13px}
}
