/* ===== GAIA • Light Olive — Base v2 (sobrio, lujo discreto) ===== */
:root{
  /* Colores */
  --bg:#F3F4EE; --card:#FFFFFF; --ink:#1C1F1A; --muted:#60665A;
  --line:#E3E6DC; --chip:#F7F8F2;
  --gold:#C8A532; --gold-2:#B8932A; --olive:#5C6652;
  --ok:#2E6B3E; --warn:#B86E00; --crit:#B23A3A;

  /* Radii & sombras */
  --r:14px;
  --shadow:0 8px 22px rgba(28,31,26,.06);
  --shadow-hover:0 12px 28px rgba(28,31,26,.10);

  /* Tipografía & ritmo */
  --fs-12:12px; --fs-13:13px; --fs-14:14px; --fs-16:16px; --fs-18:18px;
  --lh:1.5;
  --sp-4:4px; --sp-6:6px; --sp-8:8px; --sp-10:10px; --sp-12:12px; --sp-14:14px; --sp-16:16px; --sp-20:20px; --sp-24:24px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font:var(--fs-14)/var(--lh) system-ui,Segoe UI,Roboto,Inter,sans-serif;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}

/* ===== Header ===== */
.site-header{
  display:flex;align-items:center;justify-content:center;gap:var(--sp-14);flex-wrap:wrap;
  padding:var(--sp-16);border-bottom:1px solid var(--line);background:#FAFAF7;
}
.site-header img{height:56px;width:auto;display:block}
.brand{display:flex;flex-direction:column;align-items:center}
.brand h1{margin:0;font-size:var(--fs-18);letter-spacing:.2px}
.brand small{color:var(--muted);letter-spacing:.14em}

/* ===== Layout ===== */
.container{max-width:1120px;margin:var(--sp-22,22px) auto;padding:0 var(--sp-16)}
.grid-cards{
  display:grid;gap:var(--sp-16);
  grid-template-columns:repeat(3,minmax(0,1fr));
}
@media (max-width:900px){.grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.grid-cards{grid-template-columns:1fr}}

/* ===== Card enlace (lobby) ===== */
.card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  padding:var(--sp-16);box-shadow:var(--shadow);
  transition:transform .08s ease, box-shadow .18s ease, border-color .18s;
}
.card-link{display:block;color:inherit;text-decoration:none;position:relative}
.card-link:hover{transform:translateY(-1px);box-shadow:var(--shadow-hover);border-color:#D9DDCF}
.card-icon{font-size:28px;line-height:1;margin-bottom:var(--sp-8)}
.card-title{margin:0 0 var(--sp-6);font-size:var(--fs-16)}
.card-desc{margin:0 0 var(--sp-12);color:var(--muted)}
.card-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-6);
  padding:8px 12px;min-height:34px;border-radius:999px;border:0;
  background:linear-gradient(180deg,var(--gold),var(--gold-2));color:#fff;
  font-weight:700;letter-spacing:.25px;text-shadow:0 1px 0 rgba(0,0,0,.12);
}

/* ===== Controles & utilidades ===== */
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-8);
  height:40px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);
  background:#fff;color:var(--ink);cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease;
}
.button:hover{box-shadow:0 6px 16px rgba(28,31,26,.08);border-color:#D9DDCF}
.button--gold{
  background:linear-gradient(180deg,var(--gold),var(--gold-2));border-color:transparent;color:#fff;font-weight:700
}
.input,.select{
  background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:10px;height:40px;padding:10px 12px;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.input:focus,.select:focus{border-color:#D3C08A;box-shadow:0 0 0 3px rgba(200,165,50,.18);outline:0}
.help{font-size:var(--fs-12);color:var(--muted)}
.pill{
  padding:5px 10px;border-radius:999px;font-size:var(--fs-12);border:1px solid var(--line);
  background:#fff;color:#394036
}

/* ===== Tablas ===== */
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:separate;border-spacing:0 8px}
th,td{padding:12px 14px;vertical-align:middle}
th{
  color:#455046;background:#F4F6EF;border:1px solid var(--line);
  font-weight:600;font-size:var(--fs-13);text-align:center
}
tbody tr{
  background:var(--chip);transition:background .12s ease, transform .06s ease;
  border:1px solid var(--line);
}
tbody tr:hover{background:#EBF1E9}
td:first-child, th:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px}
td:last-child, th:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}
.state-ok{color:var(--ok);font-weight:600}
.state-low{color:var(--warn);font-weight:600}
.state-crit{color:var(--crit);font-weight:700}

/* ===== Footer ===== */
.site-footer{
  display:flex;justify-content:space-between;gap:var(--sp-8);flex-wrap:wrap;
  max-width:1120px;margin:10px auto 24px;padding:0 var(--sp-16);color:var(--muted);font-size:var(--fs-12)
}

/* ===== Accesibilidad & motion ===== */
.card-link:focus-visible,.button:focus-visible,.input:focus-visible,.select:focus-visible{
  outline:2px solid var(--gold);outline-offset:2px;box-shadow:0 0 0 4px rgba(200,165,50,.18)
}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  .card-link:hover{transform:none;box-shadow:var(--shadow)}
}
/* Click feedback suave */
.card-link{cursor:pointer}
.card-link:active{transform:translateY(0);box-shadow:0 6px 18px rgba(28,31,26,.10)}

/* ===== Extra: badges de estado mínimos ===== */
.badge{
  display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;
  font-size:12px;border:1px solid var(--line);background:#fff;color:#394036
}
.badge i{font-style:normal;opacity:.7}
