/* ---------- base EPISTO: misma identidad que la portada (azul noche, dorado, Playfair + Inter) ---------- */
*{box-sizing:border-box}
:root{--gold:#c8a45c;--ink:#eee8d8;--card:#101a31}
body{margin:0;font:14px/1.5 Inter,system-ui,sans-serif;color:var(--ink);min-height:100vh;
 background:linear-gradient(rgba(10,18,36,.90),rgba(10,18,36,.94)),url(templates/fondo.jpg) center/cover fixed #0d1527}
header{display:flex;gap:16px;align-items:center;padding:10px 16px;background:#0d1527;color:#fff}
header h1{font-size:18px;margin:0}
header select{font-size:14px;padding:3px}
.aviso{font-size:12px;color:#e0c07a}
main{display:flex;gap:16px;padding:16px;align-items:flex-start}
#panel{width:340px;flex:none;background:var(--card);border:1px solid #c8a45c44;color:var(--ink);padding:14px;border-radius:12px;position:sticky;top:8px;max-height:calc(100vh - 16px);overflow:auto}
#panel label{display:block;margin:12px 0 4px;font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
#panel input[type=text],#panel input[type=number],#panel textarea{width:100%;padding:8px 10px;font:inherit;color:#fff;background:#ffffff10;border:1px solid #ffffff30;border-radius:6px;outline:none}
#panel input:focus,#panel textarea:focus{border-color:var(--gold);background:#ffffff18}
#panel textarea{resize:vertical}
fieldset{margin:16px 0;border:1px solid #ffffff2a;border-radius:8px;color:#ffffffb0}
legend{padding:0 6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
fieldset input{width:76px!important;display:inline-block}
.botones{display:grid;gap:8px;margin:14px 0}
button{padding:10px;border:1px solid #ffffff40;border-radius:6px;background:transparent;color:var(--ink);cursor:pointer;font:500 13px Inter,system-ui,sans-serif}
button:hover{border-color:var(--gold)}
button.primary{background:var(--gold);color:#14203a;border-color:var(--gold);letter-spacing:.04em}
button.primary:hover{background:#d8b66f}
small{color:#ffffff90;display:block;margin-top:4px}
#vista{flex:1;overflow:auto}
.pagina{position:relative;background:#fff center/100% 100% no-repeat;box-shadow:0 6px 26px #0009;margin:0 auto 16px}
.caja{position:absolute;outline:1px dashed #d33a}
.caja span{position:absolute;left:0;white-space:pre;font-family:Helvetica,Arial,sans-serif;color:#000;line-height:1}
.caja.over{outline:2px solid #e11}
.err{color:#ff9d9d;font-size:12px}

/* ---------- identidad EPISTO: cabecera y selector de documentos ---------- */
header{background:#0d1527;border-bottom:1px solid #c8a45c55}
header h1{font:600 22px "Playfair Display",Georgia,serif;letter-spacing:.28em;color:#f6f1e4}
header button{background:transparent;color:#e9e4d6;border:1px solid #ffffff40;padding:6px 12px}
header button:hover{border-color:#c8a45c;color:#c8a45c}
.chip{margin-left:auto;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#14203a;background:#c8a45c;border-radius:999px;padding:5px 12px}
[hidden]{display:none!important}
#home{min-height:calc(100vh - 54px);background:linear-gradient(rgba(10,18,36,.86),rgba(10,18,36,.92)),url(templates/fondo.jpg) center/cover fixed #0d1527;color:#eee8d8;display:grid;place-items:center;padding:32px 16px}
.home-in{width:min(860px,100%);text-align:center}
#home h2{font:600 34px "Playfair Display",Georgia,serif;letter-spacing:.06em;margin:0;color:#f6f1e4}
#home .lead{margin:10px 0 30px;color:#ffffffa6}
#home .foot{margin-top:30px;font-size:12px;color:#ffffff70}

#pick{display:grid;gap:14px;width:min(380px,100%);margin:0 auto}
#pick select{padding:13px 14px;font:inherit;font-size:15px;color:#fff;background:#ffffff14;border:1px solid #ffffff40;border-radius:6px;text-align:center;text-align-last:center;outline:none;cursor:pointer}
#pick select:focus{border-color:#c8a45c}
#pick select option{color:#14203a;background:#fff}
#pick .ok{padding:13px;font:500 12px Inter,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:#14203a;background:#c8a45c;border:0;border-radius:6px;cursor:pointer}
#pick .ok:hover{background:#d8b66f}

#btnOut{margin-left:8px}
header .chip{margin-left:auto}

/* ---------- modales y panel de copias ---------- */
.chip{border:0;cursor:pointer;font:inherit;font-size:12px}
#modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px;background:rgba(5,9,20,.72);font-family:Inter,system-ui,sans-serif}
.m-box{position:relative;width:min(440px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#101a31;color:#eee8d8;border:1px solid #c8a45c66;border-radius:12px;padding:26px 24px 20px}
.m-box.wide{width:min(760px,100%)}
.m-box h3{margin:0 0 10px;font:600 24px "Playfair Display",Georgia,serif;color:#f6f1e4}
.m-x{position:absolute;top:8px;right:10px;width:32px;height:32px;padding:0;border:0;background:none;color:#ffffffa0;font-size:24px;cursor:pointer}
.m-body p{margin:0 0 10px;line-height:1.55;color:#e4dfd0}
.m-body .lead{color:#fff}.m-body .saldo{color:#c8a45c}
.m-body .mini,.mini{font-size:12px;color:#ffffff90}
.m-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}
.m-btn{padding:10px 18px;border:1px solid #ffffff40;border-radius:6px;background:transparent;color:#eee8d8;font:500 13px Inter,sans-serif;cursor:pointer}
.m-btn:hover{border-color:#c8a45c}
.m-btn.primary{background:#c8a45c;color:#14203a;border-color:#c8a45c;letter-spacing:.06em}
.m-btn.primary:hover{background:#d8b66f}
.m-btn:disabled{opacity:.5;cursor:default}
.packs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:14px 0}
.pack{position:relative;text-align:center;border:1px solid #ffffff2a;border-radius:10px;padding:22px 14px 16px;background:#ffffff0a;display:grid;gap:4px}
.pack.best{border-color:#c8a45c;background:#c8a45c14}
.pack .tag{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:#c8a45c;color:#14203a;font:500 11px Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:3px 10px;white-space:nowrap}
.pack .tag.alt{background:#ffffff26;color:#eee8d8}
.pack .n{font:600 44px/1 "Playfair Display",Georgia,serif;color:#f6f1e4}
.pack .u{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#ffffff99}
.pack .p{font:600 22px Inter,sans-serif;margin-top:8px;color:#c8a45c}
.pack .pc,.pack .c{font-size:13px;color:#ffffffb0}
.pack .m-btn{margin-top:10px}
.msg{min-height:1.4em;color:#ffb3b3}
.hist{font-size:13px;color:#ffffffb0}.hist ul{list-style:none;margin:6px 0 0;padding:0}.hist li{display:flex;justify-content:space-between;padding:3px 0;border-bottom:1px solid #ffffff14}
.copias{margin:12px 0;padding:12px;border:1px solid #c8a45c;border-radius:8px;background:#0d1527;color:#eee8d8;display:grid;gap:8px}
.copias small{color:#ffffffa6}
.copias .c-top{display:flex;justify-content:space-between;align-items:center}
.copias .dots{color:#c8a45c;letter-spacing:.2em;font-size:18px}
.copias .c-btns{display:grid;gap:6px}
.copias a{color:#c8a45c}
.copias button{background:#ffffff12;color:#eee8d8;border-color:#ffffff40}
.copias button.primary{background:#c8a45c;color:#14203a;border-color:#c8a45c}
.copias button:disabled{opacity:.45;cursor:default}

#docTitle{font:600 22px "Playfair Display",Georgia,serif;margin:0 0 4px;color:#f6f1e4;letter-spacing:.02em}
