:root { --fondo:#f6f3ec; --tarjeta:#fff; --texto:#2a2620; --suave:#6b6357; --acento:#7a4e1d; --borde:#ddd5c6; }
* { box-sizing:border-box; }
body { margin:0; background:var(--fondo); color:var(--texto); font:19px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; }
header { display:flex; justify-content:space-between; align-items:center; padding:14px 20px; background:#efe8da; border-bottom:1px solid var(--borde); }
.marca { font-weight:700; font-size:1.15em; color:var(--acento); text-decoration:none; }
nav { display:flex; gap:18px; align-items:center; }
main { max-width:860px; margin:24px auto; padding:0 16px; }
.tarjeta { background:var(--tarjeta); border:1px solid var(--borde); border-radius:10px; padding:20px 24px; margin-bottom:22px; }
h1 { font-size:1.5em; margin:0 0 .5em; } h2 { font-size:1.25em; margin:0 0 .6em; }
label { display:block; font-weight:600; margin:.6em 0 .3em; }
input[type=email], input[type=text], input:not([type]), input[inputmode] { width:100%; font-size:1em; padding:10px 12px; border:1px solid #bfb5a3; border-radius:6px; }
input[type=file] { font-size:1em; margin:.4em 0 .8em; display:block; }
button, .boton { display:inline-block; font-size:1em; padding:10px 18px; margin-top:12px; border:0; border-radius:6px; background:var(--acento); color:#fff; cursor:pointer; text-decoration:none; }
button.enlace { background:none; color:var(--acento); padding:0; margin:0; text-decoration:underline; }
.enlinea { display:inline; }
.fila { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:14px; }
.fila input { flex:1 1 220px; } .fila button { margin-top:0; }
a { color:var(--acento); }
table.lista { width:100%; border-collapse:collapse; }
.lista th, .lista td { text-align:left; padding:10px 8px; border-top:1px solid var(--borde); vertical-align:top; }
.lista td .boton { padding:6px 14px; margin:0 10px 6px 0; }
.nota { color:var(--suave); font-size:.88em; }
.error { background:#fbe3df; border:1px solid #e3a99f; padding:10px 14px; border-radius:6px; }
.aviso { background:#fff3d6; border:1px solid #e7cf8f; padding:10px 14px; border-radius:6px; }
.estado.terminado { color:#2f6b2f; font-weight:600; } .estado.error { color:#a33; font-weight:600; }
.estado.revision { color:#9a6a00; font-weight:600; } .estado.procesando { color:var(--acento); font-weight:600; }
.cifra { font-size:2em; font-weight:700; margin:.2em 0; }
tr.inactivo td { color:var(--suave); }
@media (max-width:600px) { body { font-size:17px; } .lista th:nth-child(2), .lista td:nth-child(2) { display:none; } }
