@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Work+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,400,0,0');

.material-symbols-rounded{
  font-family:'Material Symbols Rounded'; font-weight:normal; font-style:normal;
  font-size:24px; line-height:1; letter-spacing:normal; text-transform:none;
  display:inline-block; white-space:nowrap; word-wrap:normal; direction:ltr;
  -webkit-font-feature-settings:'liga'; -webkit-font-smoothing:antialiased;
}

:root{
  --primario:#D64A22; --primario-oscuro:#A83716; --fondo:#FBF7F0;
  --texto:#16181C; --borde:#E4DFD4; --exito:#186845; --error:#B33C18; --ambar:#8A6408;
  --tinta-oscura:#16181C; --crema:#FBF7F0;
  --fuente-titulo:'Playfair Display', Georgia, serif;
  --fuente-base:'Work Sans', Helvetica, sans-serif;
  --fuente-mono:'IBM Plex Mono', monospace;
}
*{box-sizing:border-box;}
body{
  margin:0; font-family:var(--fuente-base); background:var(--fondo);
  color:var(--texto);
}
.contenedor{
  max-width:520px; margin:40px auto; padding:32px 28px; background:#fff;
  border-radius:14px; box-shadow:0 10px 30px rgba(0,0,0,.08);
}
.contenedor.ancho{ max-width:900px; }
h1{font-size:1.5rem; margin:0 0 4px; font-family:var(--fuente-titulo); font-weight:700;}
p.subtitulo{color:#6b7280; margin:0 0 24px; font-size:.95rem;}
label{display:block; font-size:.85rem; font-weight:600; margin:14px 0 6px;}
input, textarea, select{
  width:100%; padding:10px 12px; border:1px solid var(--borde); border-radius:8px;
  font-size:.95rem; font-family:inherit;
}
input:focus, textarea:focus, select:focus{outline:2px solid var(--primario); border-color:transparent;}
button, .boton{
  margin-top:22px; width:100%; padding:12px; background:var(--primario); color:#fff;
  border:none; border-radius:8px; font-size:1rem; font-weight:600; cursor:pointer;
  text-align:center; text-decoration:none; display:inline-block;
}
button:hover, .boton:hover{background:var(--primario-oscuro);}
.boton.secundario{background:#e5e9f0; color:var(--texto);}
.boton.secundario:hover{background:#d9dee7;}
.boton.peligro{background:var(--error);}
.boton.peligro:hover{background:#b91c1c;}
.alerta{padding:12px 14px; border-radius:8px; margin-bottom:16px; font-size:.9rem;}
.alerta.error{background:#fee2e2; color:var(--error); border:1px solid #fecaca;}
.alerta.exito{background:#dcfce7; color:var(--exito); border:1px solid #bbf7d0;}
.alerta.info{background:#dbeafe; color:var(--primario-oscuro); border:1px solid #bfdbfe;}
.enlace-secundario{display:block; text-align:center; margin-top:16px; font-size:.88rem; color:var(--primario);}
.fila{display:flex; gap:10px;}
.fila > *{flex:1;}
table{width:100%; border-collapse:collapse; margin-top:16px; font-size:.9rem;}
th, td{text-align:left; padding:10px 12px; border-bottom:1px solid var(--borde);}
th{color:#6b7280; font-weight:600; font-size:.8rem; text-transform:uppercase;}
.etiqueta{padding:3px 10px; border-radius:999px; font-size:.75rem; font-weight:600; display:inline-block;}
.etiqueta.pendiente{background:#fef3c7; color:var(--ambar);}
.etiqueta.aprobado{background:#dcfce7; color:var(--exito);}
.etiqueta.rechazado{background:#fee2e2; color:var(--error);}
.acciones{display:flex; gap:8px;}
.acciones form{margin:0;}
.acciones button{margin:0; padding:6px 14px; font-size:.82rem; width:auto;}
.barra-superior{display:flex; justify-content:space-between; align-items:center; margin-bottom:8px;}
.barra-superior a{color:var(--primario); font-size:.9rem; text-decoration:none;}
