/* =============================================================================
   ADMIN.CSS — estilos del panel de administración
   =============================================================================
   Es una hoja de estilos aparte, sencilla y sobria, para no mezclarla con el
   diseño de la web pública (css/style.css).
   ========================================================================== */

:root{
  --pa-fondo:#f6f4ef;
  --pa-blanco:#fff;
  --pa-texto:#28241f;
  --pa-marca:#1f3d33;
  --pa-acento:#c0653c;
  --pa-linea:#dedad1;
  --pa-radio:10px;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--pa-fondo);color:var(--pa-texto);
  font-family:'Satoshi','Helvetica Neue',sans-serif;font-size:16px;line-height:1.6}
h1{font-size:1.75rem;margin:0 0 1.2rem;color:var(--pa-marca)}
h2{font-size:1.2rem;margin:2.2rem 0 1rem;color:var(--pa-marca)}
a{color:var(--pa-marca)}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82em;
  background:#eceae3;padding:.1em .35em;border-radius:4px}
img{max-width:100%;display:block}
:focus-visible{outline:2.5px solid var(--pa-acento);outline-offset:2px}

.pa-ancho{width:100%;max-width:1080px;margin-inline:auto;padding-inline:1.25rem}

/* ---------- Cabecera ---------- */
.pa-cabecera{background:var(--pa-marca);color:#fff;position:sticky;top:0;z-index:20}
.pa-cabecera__fila{display:flex;flex-wrap:wrap;align-items:center;
  justify-content:space-between;gap:.75rem;min-height:62px}
.pa-logo{color:#fff;text-decoration:none;font-weight:700}
.pa-menu{display:flex;flex-wrap:wrap;gap:.35rem}
.pa-menu a{color:rgba(255,255,255,.82);text-decoration:none;font-size:.9rem;
  padding:.4rem .7rem;border-radius:999px}
.pa-menu a:hover{background:rgba(255,255,255,.12);color:#fff}
.pa-menu a.activo{background:#fff;color:var(--pa-marca);font-weight:700}
.pa-menu .pa-salir{color:#f3c8b6}

.pa-contenido{padding-block:2.2rem 3rem}
.pa-pie{border-top:1px solid var(--pa-linea);padding-block:1.2rem;font-size:.82rem;
  color:#6b6459}
.pa-intro{max-width:70ch;color:#544d44}
.pa-vacio{background:var(--pa-blanco);border:1px dashed var(--pa-linea);
  border-radius:var(--pa-radio);padding:1.5rem;color:#6b6459}

/* ---------- Avisos ---------- */
.pa-aviso{border-radius:var(--pa-radio);padding:.8rem 1rem;margin:0 0 1.4rem;font-size:.92rem}
.pa-aviso--ok{background:#e3efe3;border:1px solid #b8d5b6;color:#26502e}
.pa-aviso--error{background:#f9e5de;border:1px solid #e6bfae;color:#8b3418}

/* ---------- Pestañas ---------- */
.pa-pestanas{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.6rem;
  border-bottom:1px solid var(--pa-linea);padding-bottom:.6rem}
.pa-pestanas a{text-decoration:none;font-size:.92rem;padding:.45rem .9rem;
  border-radius:999px;background:var(--pa-blanco);border:1px solid var(--pa-linea)}
.pa-pestanas a.activo{background:var(--pa-marca);color:#fff;border-color:var(--pa-marca);
  font-weight:700}

/* ---------- Formularios ---------- */
.pa-form{background:var(--pa-blanco);border:1px solid var(--pa-linea);
  border-radius:var(--pa-radio);padding:1.5rem;margin-bottom:1.8rem}
.pa-form--caja{margin-top:1.5rem}
.pa-campo{display:block;margin-bottom:1.15rem}
.pa-campo span{display:block;font-size:.86rem;font-weight:700;margin-bottom:.3rem;
  color:var(--pa-marca)}
.pa-campo small{display:block;font-size:.78rem;color:#7a7268;margin-top:.3rem}
.pa-campo input[type=text],.pa-campo input[type=email],.pa-campo input[type=url],
.pa-campo input[type=password],.pa-campo input[type=number],.pa-campo textarea{
  width:100%;font:inherit;font-size:.95rem;padding:.6rem .7rem;color:var(--pa-texto);
  background:#fdfcfa;border:1px solid var(--pa-linea);border-radius:8px}
.pa-campo textarea{resize:vertical;min-height:96px}
.pa-campo input[type=file]{font-size:.9rem}
.pa-campo input[type=color]{width:100%;height:44px;padding:2px;border:1px solid var(--pa-linea);
  border-radius:8px;background:#fdfcfa}
.pa-campo--corto{max-width:120px}
.pa-fila{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.pa-fila--colores{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.pa-grupo{border:0;padding:0;margin:0 0 1.6rem}
.pa-grupo legend{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;
  font-weight:700;color:var(--pa-acento);padding:0;margin-bottom:.9rem}
.pa-acciones{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:.5rem}

/* ---------- Botones ---------- */
.pa-boton{display:inline-block;background:var(--pa-marca);color:#fff;font:inherit;
  font-size:.92rem;font-weight:700;border:0;border-radius:999px;padding:.65rem 1.4rem;
  cursor:pointer;text-decoration:none;transition:filter .15s ease}
.pa-boton:hover{filter:brightness(1.14)}
.pa-boton--linea{background:transparent;color:var(--pa-marca);
  box-shadow:inset 0 0 0 1.5px var(--pa-marca)}
.pa-boton--peligro{background:#a23a1c}
.pa-boton--mini{font-size:.8rem;padding:.4rem .9rem}

/* ---------- Tarjetas del resumen ---------- */
.pa-tarjetas{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:1rem;margin:1.5rem 0 1rem}
.pa-tarjeta{display:block;background:var(--pa-blanco);border:1px solid var(--pa-linea);
  border-radius:var(--pa-radio);padding:1.2rem;text-decoration:none;transition:.18s}
.pa-tarjeta:hover{transform:translateY(-2px);border-color:var(--pa-marca)}
.pa-tarjeta strong{display:block;font-size:1.1rem;color:var(--pa-marca)}
.pa-tarjeta span{display:block;font-size:.85rem;color:var(--pa-acento);font-weight:700;
  margin:.15rem 0 .4rem}
.pa-tarjeta em{font-style:normal;font-size:.86rem;color:#6b6459}

/* ---------- Tabla de mensajes ---------- */
.pa-tabla-caja{overflow-x:auto;background:var(--pa-blanco);border:1px solid var(--pa-linea);
  border-radius:var(--pa-radio)}
.pa-tabla{width:100%;border-collapse:collapse;font-size:.88rem;min-width:720px}
.pa-tabla th,.pa-tabla td{text-align:left;padding:.7rem .8rem;
  border-bottom:1px solid var(--pa-linea);vertical-align:top}
.pa-tabla th{background:#f1efe9;font-size:.78rem;text-transform:uppercase;
  letter-spacing:.08em;color:var(--pa-marca)}
.pa-tabla tr:last-child td{border-bottom:0}
.pa-tabla__texto{max-width:340px}

/* ---------- Galería ---------- */
.pa-fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.1rem}
.pa-foto{background:var(--pa-blanco);border:1px solid var(--pa-linea);
  border-radius:var(--pa-radio);padding:.8rem}
.pa-foto img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;
  margin-bottom:.7rem}
.pa-foto .pa-campo{margin-bottom:.7rem}
.pa-foto__archivo{margin:.2rem 0 0;font-size:.75rem;color:#7a7268;word-break:break-all}
.pa-fotos--compacto .pa-foto{display:flex;flex-direction:column;gap:.5rem}
.pa-fotos--compacto .pa-foto img{width:100%;min-width:0}
.pa-mini-form{display:grid;gap:.4rem}
.pa-previa{max-width:420px;border-radius:8px;margin-bottom:1rem}

/* ---------- Pantalla de entrada ---------- */
.pa-body-login{display:grid;place-items:center;min-height:100vh;padding:1.5rem}
.pa-login{width:100%;max-width:390px;background:var(--pa-blanco);
  border:1px solid var(--pa-linea);border-radius:14px;padding:2rem}
.pa-login h1{font-size:1.35rem;margin-bottom:.2rem}
.pa-login__sub{margin:0 0 1.5rem;color:#6b6459;font-size:.9rem}
.pa-login .pa-boton{width:100%;text-align:center}
.pa-login__pie{margin:1.2rem 0 0;font-size:.85rem;text-align:center}
