@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800&family=Poppins:wght@400;500;600&display=swap");
:root{--papel:#F6F3EC;--tinta:#0B3558;--tq:#13B8A6;--na:#F28B30;--mg:#A6408D;--li:#A8CF45;--gris:#6E7D87;--linea:#E3DED3;--blanco:#fff;--rojo:#D64545}
*{box-sizing:border-box}
html,body{margin:0;background:var(--papel);color:var(--tinta);font:15px/1.5 Poppins,system-ui,sans-serif}
h1,h2,h3{font-family:Montserrat,sans-serif;font-weight:800;letter-spacing:-.02em;margin:0 0 .4em}
h1{font-size:1.6rem}h2{font-size:1.15rem;margin-top:1.2em}
a{color:var(--tq)}
button,input,select,textarea{font:inherit;color:inherit}
input,select,textarea{width:100%;padding:10px 12px;border:1.5px solid var(--linea);border-radius:10px;background:var(--blanco)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--tq);border-color:transparent}
label{display:block;font-weight:600;font-size:.85rem;margin:10px 0 4px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:10px;padding:10px 16px;font-weight:600;cursor:pointer;text-decoration:none;background:var(--tinta);color:var(--papel)}
.btn.naranja{background:var(--na);color:var(--tinta)}.btn.turquesa{background:var(--tq);color:var(--tinta)}.btn.claro{background:var(--blanco);color:var(--tinta);border:1.5px solid var(--linea)}.btn.peligro{background:#fff;color:var(--rojo);border:1.5px solid #F0C9C9}
.btn.chico{padding:6px 10px;font-size:.85rem}
.err{color:var(--rojo);font-weight:600}
/* layout */
.app{display:grid;grid-template-columns:230px 1fr;min-height:100vh}
nav.lado{background:var(--tinta);color:var(--papel);padding:22px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:4px}
nav.lado .marca{display:flex;align-items:center;gap:10px;margin:0 6px 22px}
nav.lado .marca img{width:120px;background:var(--papel);border-radius:12px;padding:6px 8px}
nav.lado button{background:none;border:0;color:var(--papel);text-align:left;padding:10px 12px;border-radius:10px;cursor:pointer;font-weight:500;opacity:.8}
nav.lado button.on,nav.lado button:hover{background:rgba(246,243,236,.12);opacity:1}
nav.lado .pie{margin-top:auto;font-size:.8rem;opacity:.7;padding:0 8px}
main.contenido{padding:28px 32px;max-width:1300px;width:100%}
.barra{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.barra h1{margin:0;margin-right:auto}
.tarjetas{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.tarjeta{background:var(--blanco);border:1px solid var(--linea);border-radius:16px;padding:16px}
.kpi b{display:block;font-family:Montserrat;font-size:2rem;line-height:1}
.chip{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.75rem;font-weight:600;background:#EEF1F2}
.chip.aprobada,.chip.publicada,.chip.activa{background:#D7F3EF;color:#0b6d62}.chip.en_revision,.chip.programada,.chip.borrador{background:#FFF0DD;color:#9a5410}
.chip.cambios,.chip.bloqueada,.chip.error{background:#FBE1E1;color:#a12f2f}.chip.asistida{background:#F2E1EE;color:#7d2c69}.chip.venta{background:#E6F4D3;color:#4d6d18}.chip.duelo{background:#EAE2F5;color:#5b3b8a}
.lista .fila{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--linea)}.lista .fila:last-child{border:0}
.mini{width:44px;height:60px;border-radius:8px;object-fit:cover;background:#ddd;flex:none}
/* biblioteca */
.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.pieza{background:var(--blanco);border:1px solid var(--linea);border-radius:14px;overflow:hidden;cursor:grab;display:flex;flex-direction:column}
.pieza .vista{aspect-ratio:9/14;background:#111;position:relative}.pieza .vista img,.pieza .vista video{width:100%;height:100%;object-fit:cover;display:block}
.pieza .vista .tipo{position:absolute;top:8px;left:8px;background:rgba(11,53,88,.8);color:#fff;border-radius:6px;font-size:.7rem;padding:2px 6px}
.pieza .info{padding:10px 12px;display:flex;flex-direction:column;gap:6px;flex:1}.pieza .info .t{font-weight:600;font-size:.9rem;line-height:1.25}
.pieza .acc{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
/* calendario */
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.dia{background:var(--blanco);border:1px solid var(--linea);border-radius:12px;min-height:180px;padding:8px;display:flex;flex-direction:column;gap:6px}
.dia.hoy{outline:2px solid var(--tq)}.dia.duelo{background:#FBF8FF}.dia.sobre{outline:2px dashed var(--na)}
.dia .fecha{font-weight:700;font-size:.8rem;display:flex;justify-content:space-between}.dia .fecha small{color:var(--mg);font-weight:600}
.evento{border-radius:8px;padding:5px 7px;font-size:.75rem;line-height:1.25;background:#F4F6F7;border-left:4px solid var(--tq);cursor:pointer}
.evento .h{font-weight:700}
.redes{display:flex;gap:10px;flex-wrap:wrap}.redes label{display:flex;align-items:center;gap:6px;margin:0;font-weight:500}.redes input{width:auto}
/* modal */
dialog{border:0;border-radius:18px;padding:22px;max-width:640px;width:calc(100% - 32px);box-shadow:0 30px 80px rgba(11,53,88,.35)}
dialog::backdrop{background:rgba(11,53,88,.45)}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.aviso{background:#FFF0DD;border-radius:10px;padding:10px 12px;margin:10px 0;font-size:.9rem}.aviso.malo{background:#FBE1E1}
/* páginas sueltas */
body.suelta main{max-width:520px;margin:auto;padding:18px}
body.suelta video,body.suelta img{width:100%;border-radius:14px;background:#000}
body.suelta .btn{width:100%;margin-top:10px;padding:14px}
body.suelta pre{white-space:pre-wrap;background:var(--blanco);border-radius:12px;padding:12px;font:inherit}
.sub{color:var(--gris)}
#ok{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--tinta);color:var(--papel);padding:8px 14px;border-radius:8px;font-weight:600;display:none}
/* acceso */
.acceso{min-height:100vh;display:grid;place-items:center;padding:16px}.acceso .caja{background:var(--blanco);border-radius:20px;padding:28px;max-width:400px;width:100%;box-shadow:0 20px 50px rgba(11,53,88,.12)}
.acceso img{width:180px;display:block;margin:0 auto 14px}
@media (max-width:820px){.app{grid-template-columns:1fr}nav.lado{position:static;height:auto;flex-direction:row;overflow-x:auto;padding:10px}nav.lado .marca,nav.lado .pie{display:none}main.contenido{padding:16px}.cal{grid-template-columns:1fr}.dos{grid-template-columns:1fr}}
