:root{--fondo:#0b1220;--panel:#121b2e;--panel2:#18243d;--borde:#243352;--texto:#e8edf7;--suave:#93a1bd;--oro:#d4a537;--oro2:#f0c35a;--ok:#3ecf8e;--mal:#ff6b6b;--aviso:#f5b84a;--azul:#5aa2ff}
*{box-sizing:border-box}body{margin:0;background:var(--fondo);color:var(--texto);font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--oro2)}button,input,select,textarea{font:inherit;color:inherit}
header.top{display:flex;align-items:center;gap:14px;padding:10px 18px;background:linear-gradient(90deg,#0f1930,#14213d);border-bottom:1px solid var(--borde);position:sticky;top:0;z-index:5;flex-wrap:wrap}
.logo{font-weight:800;letter-spacing:.5px;font-size:20px;color:var(--oro2)}.logo small{display:block;font-size:10px;color:var(--suave);font-weight:500;letter-spacing:1px;text-transform:uppercase}
.logo span{display:inline-block;width:26px;height:26px;border-radius:7px;background:var(--oro);color:#1a1200;text-align:center;line-height:26px;margin-right:8px;font-size:17px}
select,input,textarea{background:var(--panel2);border:1px solid var(--borde);border-radius:9px;padding:8px 10px;width:100%}textarea{min-height:90px;resize:vertical}
header select{width:auto;min-width:170px}.esp{flex:1}
nav.tabs{display:flex;gap:4px;padding:8px 14px;overflow-x:auto;background:var(--panel);border-bottom:1px solid var(--borde)}
nav.tabs button{background:none;border:0;padding:9px 14px;border-radius:9px;color:var(--suave);cursor:pointer;white-space:nowrap;font-weight:600}
nav.tabs button.on{background:var(--panel2);color:var(--oro2)}nav.tabs button .n{background:var(--oro);color:#1a1200;border-radius:99px;font-size:11px;padding:1px 7px;margin-left:6px}
main{max-width:1180px;margin:0 auto;padding:18px}h2{margin:.2em 0 .6em;font-size:20px}h3{margin:.2em 0 .5em;font-size:16px;color:var(--oro2)}
.tarjeta{background:var(--panel);border:1px solid var(--borde);border-radius:14px;padding:16px;margin-bottom:14px}
.fila{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start}.fila>*{flex:1 1 260px}.campo{margin-bottom:11px}.campo label{display:block;color:var(--suave);font-size:13px;margin-bottom:4px}
.ayuda{color:var(--suave);font-size:12.5px;margin-top:3px}
button.b{background:var(--oro);color:#1a1200;border:0;border-radius:10px;padding:9px 16px;font-weight:700;cursor:pointer}button.b:hover{background:var(--oro2)}
button.b.sec{background:var(--panel2);color:var(--texto);border:1px solid var(--borde)}button.b.mal{background:#3a1f27;color:var(--mal);border:1px solid #5a2a35}button.b.ok{background:#14382b;color:var(--ok);border:1px solid #1f5a44}
button.b:disabled{opacity:.5;cursor:default}.btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.etq{display:inline-block;border-radius:99px;padding:2px 10px;font-size:12px;font-weight:700;background:var(--panel2);color:var(--suave)}
.etq.por_aprobar,.etq.programado,.etq.sin_conectar,.etq.falta_autorizar{background:#3a2f12;color:var(--aviso)}.etq.publicado,.etq.lista,.etq.aprobado,.etq.listo{background:#12392b;color:var(--ok)}
.etq.con_error,.etq.error,.etq.rechazado,.etq.parcial{background:#3a1f27;color:var(--mal)}.etq.en_cola,.etq.publicando,.etq.procesando{background:#15294a;color:var(--azul)}
.red{display:inline-block;font-size:11px;font-weight:800;border-radius:6px;padding:2px 7px;margin-right:4px;background:#1d2b4a;color:#b9c8e6;text-transform:uppercase}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal .dia{min-height:92px;background:var(--panel);border:1px solid var(--borde);border-radius:9px;padding:5px;font-size:12px;overflow:hidden}
.cal .dia.hoy{border-color:var(--oro)}.cal .dia.fuera{opacity:.35}.cal .cab{color:var(--suave);text-align:center;font-weight:700;padding:4px}
.cal .item{display:block;width:100%;text-align:left;background:var(--panel2);border:0;border-left:3px solid var(--oro);border-radius:5px;padding:2px 5px;margin-top:3px;cursor:pointer;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item.por_aprobar{border-color:var(--aviso)}.item.publicado{border-color:var(--ok)}.item.con_error,.item.rechazado,.item.parcial{border-color:var(--mal)}.item.programado,.item.en_cola{border-color:var(--azul)}
.lista>.fila{padding:12px;border-bottom:1px solid var(--borde)}.lista>.fila:last-child{border:0}
video{width:100%;max-height:420px;background:#000;border-radius:10px}.v9x16{max-width:230px}
.grid3{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.medio{background:var(--panel2);border:1px solid var(--borde);border-radius:12px;padding:10px}.medio video{max-height:260px}
.barra{height:9px;background:var(--panel2);border-radius:9px;overflow:hidden}.barra i{display:block;height:100%;background:linear-gradient(90deg,var(--oro),var(--oro2));transition:width .4s}
.login{max-width:380px;margin:12vh auto;padding:0 16px}.error{color:var(--mal);margin:8px 0}.aviso{background:#3a2f12;color:var(--aviso);padding:10px 12px;border-radius:10px;margin:10px 0}
.modal{position:fixed;inset:0;background:#000a;display:flex;align-items:flex-start;justify-content:center;padding:4vh 12px;overflow:auto;z-index:20}.modal>div{background:var(--panel);border:1px solid var(--borde);border-radius:16px;padding:18px;width:min(760px,100%)}
.vacio{color:var(--suave);padding:22px;text-align:center}.mono{font-family:ui-monospace,monospace;font-size:12.5px;background:var(--panel2);padding:2px 6px;border-radius:5px}
@media(max-width:700px){.cal .dia{min-height:60px}.cal .item{font-size:10px}main{padding:10px}}
input,select,textarea{font-size:16px}
@media(max-width:700px){button.b,nav.tabs button{min-height:44px}.modal>div{padding:12px}}
@media(max-width:700px){.cal{grid-template-columns:1fr}.cal .cab,.cal .fuera,.cal .dia:not(:has(.item)):not(.hoy){display:none}.cal .dia{min-height:0}.cal .item{font-size:14px;min-height:44px;white-space:normal}}
