:root{color-scheme:dark;--bg:#080e20;--panel:#111b36;--line:rgba(214,180,109,.28);--line2:rgba(214,180,109,.14);--gold:#d6b46d;--gold2:#f0dfa9;--gold3:#a88b53;--cream:#f3ead8;--mist:#aeb6c9;--dim:#7d88a3;--ok:#8fc79a;--warn:#e6c16a;--bad:#e79a8f;
 --serif:"EB Garamond",Georgia,serif;--display:"Cormorant Garamond",Georgia,serif;--sans:Jost,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:radial-gradient(ellipse 70% 40% at 50% 0%,rgba(56,64,110,.35),transparent 70%),var(--bg);color:var(--cream);font-family:var(--serif);font-size:18px;line-height:1.55;min-height:100vh}
.top{max-width:1000px;margin:0 auto;padding:22px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line2)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.nav{display:flex;gap:18px;margin-left:auto;margin-right:14px}
.nav a{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);text-decoration:none}
.nav a:hover{color:var(--gold2)}
.reloj{font-family:var(--sans);font-size:13px;color:var(--mist);margin:14px 0 0;display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}
.reloj b{font-weight:500;color:var(--gold2);font-variant-numeric:tabular-nums}
.reloj .latido{width:8px;height:8px;border-radius:50%;background:var(--gold);animation:latido 1.6s ease-in-out infinite}
.reloj.quieto .latido{background:var(--warn);animation:none}
@keyframes latido{0%,100%{opacity:.25}50%{opacity:1}}
.brand b{font-family:var(--display);font-weight:500;font-size:28px;letter-spacing:.05em;color:var(--gold2)}
.brand span,.quien{font-family:var(--sans);font-size:10px;letter-spacing:.22em;color:#c4b99f;text-transform:uppercase}
.quien{letter-spacing:.08em;text-transform:none;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:45vw}
.wrap{max-width:1000px;margin:0 auto;padding:36px 16px 80px}
.eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin:0 0 8px}
h1{font-family:var(--display);font-weight:500;font-size:clamp(36px,6vw,52px);line-height:1.05;margin:0}
h2{font-family:var(--display);font-weight:500;font-size:28px;margin:0 0 14px}
h3{font-family:var(--sans);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:22px 0 8px;font-weight:500}
.lead{color:var(--mist);max-width:680px;margin:12px 0 0}
.panel{border:1px solid var(--line);border-radius:4px;padding:22px;margin-top:28px;background:linear-gradient(145deg,rgba(31,43,76,.95),rgba(10,18,39,.98) 73%)}
label{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold3);margin:14px 0 6px}
input[type=text],select{width:100%;background:rgba(10,18,39,.7);border:1px solid var(--line);border-radius:3px;color:var(--cream);font:inherit;font-size:17px;padding:10px 12px}
input[type=file]{font-family:var(--sans);font-size:14px;color:var(--mist);max-width:100%}
.fila{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:0 18px}
.opciones{display:flex;flex-wrap:wrap;gap:8px 18px;font-family:var(--sans);font-size:14px;color:var(--mist)}
.opciones label{display:flex;align-items:center;gap:6px;margin:0;text-transform:none;letter-spacing:0;font-size:14px;color:var(--mist)}
.nota{font-size:15px;color:var(--dim);margin:8px 0 0}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-radius:3px;padding:11px 16px;border:1px solid var(--line);color:var(--cream);background:rgba(8,14,32,.4);cursor:pointer}
.btn.primary{background:var(--gold);color:#1a1405;border-color:var(--gold)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.acciones{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.etapas{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:8px}
.etapas li{display:flex;align-items:center;gap:10px;font-family:var(--sans);font-size:14px;color:var(--dim)}
.etapas li i{width:10px;height:10px;border-radius:50%;border:1px solid var(--gold3);flex:none}
.etapas li.hecha{color:var(--mist)}.etapas li.hecha i{background:var(--gold3)}
.etapas li.actual{color:var(--gold2)}.etapas li.actual i{background:var(--gold);box-shadow:0 0 0 4px rgba(214,180,109,.2)}
.etapas small{color:var(--dim);margin-left:auto}
.barra{height:3px;background:rgba(214,180,109,.14);border-radius:2px;margin-top:4px;overflow:hidden}
.barra b{display:block;height:100%;background:var(--gold);width:0}
.sello{display:inline-block;font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:5px 10px;border-radius:3px;border:1px solid}
.sello.listo{color:var(--ok);border-color:var(--ok)}.sello.revision{color:var(--warn);border-color:var(--warn)}
.sello.visor,.sello.fallo{color:var(--bad);border-color:var(--bad)}
.aviso{border-left:2px solid var(--warn);padding:4px 0 4px 12px;margin:8px 0;font-size:16px;color:var(--mist)}
.aviso.info{border-color:var(--gold3)}
.aviso small{display:block;font-family:var(--sans);font-size:12px;color:var(--dim)}
.revisar{border:1px solid var(--warn);border-radius:4px;padding:14px 18px;margin:22px 0 6px;background:rgba(230,193,106,.06)}
.revisar h3{margin:0 0 10px;color:var(--warn)}
.revisar ol{margin:0;padding-left:22px}
.revisar li{margin:0 0 12px;color:var(--cream);font-size:16.5px}
.revisar li small{display:block;font-family:var(--sans);font-size:12px;color:var(--gold3);margin-top:2px}
.revisar li span{display:block;color:var(--mist);font-size:15.5px;margin-top:3px}
.error{border:1px solid var(--bad);color:var(--bad);border-radius:3px;padding:10px 14px;margin-top:14px;font-size:16px}
.muestra{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;margin:8px 0 16px}
.muestra div{border:1px solid var(--line2);border-radius:3px;padding:10px 12px;font-size:15px;color:var(--mist);white-space:pre-wrap;max-height:260px;overflow:auto}
.muestra div b{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold3);margin-bottom:6px}
.res{display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px;align-items:start}
.res img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:2px;box-shadow:0 12px 30px rgba(0,0,0,.5),0 0 0 1px rgba(214,180,109,.25)}
@media (max-width:560px){.res{grid-template-columns:1fr}.res img{max-width:160px}}
table{width:100%;border-collapse:collapse;font-size:15px}
td,th{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line2);vertical-align:top}
th{font-family:var(--sans);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold3);font-weight:500}
td a{color:var(--gold2)}
.oculto{display:none}
/* página de lotes: carga múltiple y tablero */
.soltar{border:1px dashed var(--line);border-radius:4px;padding:26px 16px;text-align:center;color:var(--mist);font-family:var(--sans);font-size:14px;margin-top:10px}
.soltar.encima{border-color:var(--gold);background:rgba(214,180,109,.06)}
.soltar .acciones{justify-content:center;margin-top:12px}
.cargas{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:8px;max-height:360px;overflow:auto}
.cargas li{font-family:var(--sans);font-size:13px;color:var(--mist)}
.cargas li div{display:flex;gap:10px;justify-content:space-between}
.cargas li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cargas li small{flex:none;color:var(--dim)}
.cargas li.ok small{color:var(--ok)}.cargas li.mal small{color:var(--bad)}
.fichas{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 14px}
.fichas button{font-family:var(--sans);font-size:12px;letter-spacing:.06em;border:1px solid var(--line2);background:rgba(8,14,32,.4);color:var(--mist);border-radius:3px;padding:6px 10px;cursor:pointer}
.fichas button b{color:var(--gold2);font-weight:500;margin-left:4px}
.fichas button.activo{border-color:var(--gold);color:var(--cream)}
.tablero td img{width:38px;aspect-ratio:2/3;object-fit:cover;border-radius:1px;display:block}
.tablero td small{display:block;font-family:var(--sans);font-size:12px;color:var(--dim)}
.tablero .sello{white-space:nowrap}
.tablero .mini{padding:5px 8px;font-size:10px}
.sello.turno,.sello.espera,.sello.subiendo,.sello.vencido{color:var(--dim);border-color:var(--line)}
.sello.convirtiendo{color:var(--gold2);border-color:var(--gold)}
@media (max-width:640px){.tablero .opc{display:none}}

/* dentro del panel de administración: sin encabezado propio */
.incrustado header.top,.incrustado .eyebrow{display:none}
.incrustado body{background:transparent}
.incrustado .wrap{padding-top:10px}
