/* ERON Control — panel de administración. Mismos tokens que el sitio público (tema oscuro), layout distinto (sidebar). */
@font-face{font-family:"Barlow Condensed";src:url(../fonts/barlow-condensed-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible Next";src:url(../fonts/atkinson-hyperlegible-next-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible Next";src:url(../fonts/atkinson-hyperlegible-next-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(../fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}

:root{
  color-scheme:dark;
  --bg:#141217;--bg-2:#1A171E;--surface:#1F1B24;--surface-2:#27222D;--field:#110F14;
  --text:#F1ECF3;--text-inv:#141217;--text-2:#A89FB0;--line:#2E2834;--border:#463E4F;
  --accent:#E0559F;--accent-ink:#1C0612;--accent-text:#F28BC1;--accent-shadow:#7E2458;
  /* aviso = amarillo (no naranja) para no confundirse con --error */
  --ok:#5FB98A;--error:#FF9A6B;--warn:#E6C84F;--focus:#F28BC1;
  --f-disp:"Barlow Condensed",sans-serif;--f-txt:"Atkinson Hyperlegible Next","Segoe UI",system-ui,sans-serif;--f-mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:400 .98rem/1.55 var(--f-txt)}
a{color:var(--accent-text)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
h1,h2,h3{font-family:var(--f-disp);font-weight:700;margin:0 0 .4em}

.adm-shell{display:grid;grid-template-columns:15rem 1fr;min-height:100vh}
.adm-sidebar{background:var(--bg-2);border-right:1px solid var(--line);padding:1.4rem 1.1rem;position:sticky;top:0;height:100vh;overflow-y:auto}
.adm-marca{display:block;font:700 1.5rem/1 var(--f-disp);color:var(--text);text-decoration:none;margin-bottom:.3rem}
.adm-marca span{color:var(--accent-text)}
.adm-sub{font:400 .7rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);display:block;margin-bottom:2rem}
.adm-nav{display:grid;gap:.15rem}
.adm-nav a{display:flex;align-items:center;gap:.6rem;padding:.6rem .7rem;border-radius:5px;text-decoration:none;color:var(--text-2);font-size:.92rem}
.adm-nav a:hover{background:var(--surface);color:var(--text)}
.adm-nav a[aria-current]{background:var(--surface-2);color:var(--text);border-left:3px solid var(--accent);padding-left:calc(.7rem - 3px)}
.adm-nav .grupo{font:400 .68rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);margin:1.3rem 0 .4rem;padding-left:.7rem}

.adm-main{padding:1.6rem 2rem 3rem}
.adm-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.6rem;gap:1rem;flex-wrap:wrap}
.adm-topbar h1{font-size:1.5rem}
.adm-usuario{font-size:.85rem;color:var(--text-2)}
.adm-usuario form{display:inline}

.adm-cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:2rem}
.adm-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:1.2rem}
.adm-card .n{display:block;font:700 2.1rem/1 var(--f-disp)}
.adm-card .l{font:400 .78rem/1 var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}

.adm-panel{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:1.4rem;margin-bottom:1.6rem}
.adm-panel h2{font-size:1.05rem;margin-bottom:1rem}

table.adm-tabla{width:100%;border-collapse:collapse;font-size:.92rem}
table.adm-tabla th{text-align:left;font:400 .72rem/1 var(--f-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);padding:.6rem .5rem;border-bottom:1px solid var(--line)}
table.adm-tabla td{padding:.7rem .5rem;border-bottom:1px solid var(--line);vertical-align:middle}
table.adm-tabla tr:hover td{background:var(--surface-2)}

.badge{display:inline-flex;align-items:center;gap:.3rem;font:400 .72rem/1 var(--f-mono);text-transform:uppercase;letter-spacing:.04em;
  padding:.28rem .6rem;border-radius:99px;border:1px solid var(--border);color:var(--text-2)}
.badge.ok{border-color:var(--ok);color:var(--ok)}
.badge.warn{border-color:var(--warn);color:var(--warn)}
.badge.error{border-color:var(--error);color:var(--error)}

.adm-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border:1px solid var(--border);border-radius:4px;
  background:transparent;color:var(--text);text-decoration:none;font:400 .88rem/1 var(--f-txt);cursor:pointer}
.adm-btn:hover{background:var(--surface-2)}
.adm-btn.primario{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700}
.adm-btn.peligro{border-color:var(--error);color:var(--error)}
.adm-btn.pequeno{padding:.3rem .6rem;font-size:.78rem}

.adm-form{display:grid;gap:1rem;max-width:44rem}
.adm-form .fila-2{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
.adm-campo{display:grid;gap:.35rem}
.adm-campo label{font-size:.85rem;font-weight:700}
.adm-campo input,.adm-campo select,.adm-campo textarea{font:400 .95rem/1.4 var(--f-txt);padding:.6rem .75rem;background:var(--field);
  border:1px solid var(--border);border-radius:4px;color:var(--text)}
.adm-campo textarea{min-height:10rem;font-family:var(--f-mono);font-size:.85rem}
.adm-ayuda{font-size:.8rem;color:var(--text-2)}

.adm-flash{padding:.8rem 1rem;border-radius:4px;border:1px solid var(--border);margin-bottom:1.2rem;border-left:4px solid var(--accent)}
.adm-flash.exito{border-left-color:var(--ok)}
.adm-flash.error{border-left-color:var(--error)}

.adm-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}
.adm-login-box{width:100%;max-width:23rem;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:2rem}

.adm-bar{height:.5rem;background:var(--line);border-radius:99px;overflow:hidden;display:flex}
.adm-bar span{display:block;height:100%}

.adm-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.8rem}
.adm-media-item{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--surface)}
.adm-media-item img{width:100%;aspect-ratio:1;object-fit:cover}
.adm-media-item .meta{padding:.5rem;font-size:.72rem;color:var(--text-2);word-break:break-all}

@media(max-width:860px){
  .adm-shell{grid-template-columns:1fr}
  .adm-sidebar{position:static;height:auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}
  .adm-nav{display:flex;flex-wrap:wrap;gap:.3rem}
  .adm-nav .grupo{display:none}
  .adm-form .fila-2{grid-template-columns:1fr}
}

/* ---------- opus5.5: clases que sustituyen a los style="…" de las vistas (la CSP los bloqueaba) ---------- */
.fila-2{display:grid;gap:1.2rem;grid-template-columns:1fr 1fr}
@media (max-width:760px){.fila-2{grid-template-columns:1fr}}
.mt-1{margin-top:1rem}.mt-15{margin-top:1.5rem}.mb-1{margin-bottom:1rem}
.adm-acciones{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.adm-inline{display:inline}
.adm-error{color:var(--error)}
.adm-check{display:flex;flex-direction:row;align-items:center;gap:.5rem}
.adm-check-fin{align-self:end}
.adm-form-ancho{max-width:56rem}
.adm-pill{border:1px solid var(--border);padding:.2rem .6rem;border-radius:99px;font-size:.75rem}
.adm-filtros{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}
.adm-filtros [aria-current]{background:var(--surface-2);border-color:var(--accent)}
.adm-mensaje{white-space:pre-wrap;background:var(--field);border:1px solid var(--line);border-radius:6px;padding:1rem;max-width:70ch}
.adm-no-leido td{font-weight:700;color:var(--text)}
.adm-subida{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.adm-buscar{padding:.5rem .8rem;border:1px solid var(--border);border-radius:4px;background:var(--field);color:var(--text);min-width:16rem}
.adm-btn-bloque{margin-top:.4rem;width:100%}
.adm-media-item img{background:repeating-conic-gradient(#2E2834 0 25%,#1F1B24 0 50%) 50%/16px 16px}
/* Barras de la analítica con <progress> (antes style="width:…", bloqueado por la CSP) */
.adm-barra-fila{margin-bottom:.7rem}
.adm-barra-etq{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem}
.adm-barra{appearance:none;display:block;width:100%;height:.5rem;border:0;border-radius:99px;background:var(--line);overflow:hidden}
.adm-barra::-webkit-progress-bar{background:var(--line);border-radius:99px}
.adm-barra::-webkit-progress-value{background:var(--accent);border-radius:99px}
.adm-barra::-moz-progress-bar{background:var(--accent);border-radius:99px}
.adm-barra.ok::-webkit-progress-value{background:var(--ok)}
.adm-barra.ok::-moz-progress-bar{background:var(--ok)}
.badge-nuevo{display:inline-block;min-width:1.4rem;margin-left:auto;padding:0 .4rem;border-radius:99px;background:var(--accent);color:var(--accent-ink);font:700 .72rem/1.4rem var(--f-mono);text-align:center}
.adm-acciones{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
