@font-face { font-family: "Montserrat"; src: url("Montserrat-Variable.ttf"); font-weight: 100 900; }

:root {
  --azul: #022753;        /* azul del logo en los posts */
  --azul-2: #001F62;
  --azul-3: #0B3A78;
  --amarillo: #F4C22F;
  --amarillo-2: #FBE7A6;
  --fondo: #F1F1F1;
  --tarjeta: #FFFFFF;
  --linea: #E1E4EA;
  --texto: #0B1E3F;
  --suave: #5C6B82;
  --ok: #1E9E5A;
  --ok-fondo: #E3F5EB;
  --alerta: #B7791F;
  --alerta-fondo: #FDF3DC;
  --error: #C43D3D;
  --error-fondo: #FBE6E6;
  --info-fondo: #E6ECF6;
  --radio: 14px;
  /* Tokens de superficie y marca (el modo oscuro los redefine) */
  --lateral: #022753;
  --marca: #022753;          /* rellenos de marca: botones, chips activos */
  --marca-texto: #022753;    /* texto en color de marca */
  --enlace: #0B3A78;
  --sutil: #EEF1F6;
  --sutil-2: #F6F8FB;
  --imagen: #E9ECF1;
  --linea-2: #ECEFF4;
  --linea-fuerte: #CBD3E0;
  --texto-2: #22324F;
  --amarillo-fondo: #FFF7DD;
  --morado: #5B3FB5;
  --morado-fondo: #EDE7FB;
  --serie: #1D5FC4;          /* línea de las gráficas (validada contra el fondo claro) */
  color-scheme: light;
}

/* ---------- Modo oscuro: sigue al sistema salvo que el usuario elija; sin brillos ni neones ---------- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --fondo: #0A1426; --tarjeta: #111E36; --linea: #22314D; --linea-2: #1A2842; --linea-fuerte: #34466A;
    --texto: #E6ECF5; --texto-2: #C3CEDF; --suave: #8C9BB4; --sutil: #1A2842; --sutil-2: #0F1B31; --imagen: #0D182C;
    --lateral: #06142D; --marca: #1F4E8F; --marca-texto: #A9C6F2; --enlace: #8DB8F5;
    --ok: #4CCB8A; --ok-fondo: rgba(76,203,138,.14); --alerta: #F2C45A; --alerta-fondo: rgba(244,194,47,.14);
    --error: #FF8A8A; --error-fondo: rgba(255,120,120,.13); --info-fondo: rgba(120,165,235,.14);
    --amarillo-fondo: rgba(244,194,47,.12); --morado: #C3B2FF; --morado-fondo: rgba(160,140,255,.15); --serie: #4F8EE8;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --fondo: #0A1426; --tarjeta: #111E36; --linea: #22314D; --linea-2: #1A2842; --linea-fuerte: #34466A;
  --texto: #E6ECF5; --texto-2: #C3CEDF; --suave: #8C9BB4; --sutil: #1A2842; --sutil-2: #0F1B31; --imagen: #0D182C;
  --lateral: #06142D; --marca: #1F4E8F; --marca-texto: #A9C6F2; --enlace: #8DB8F5;
  --ok: #4CCB8A; --ok-fondo: rgba(76,203,138,.14); --alerta: #F2C45A; --alerta-fondo: rgba(244,194,47,.14);
  --error: #FF8A8A; --error-fondo: rgba(255,120,120,.13); --info-fondo: rgba(120,165,235,.14);
  --amarillo-fondo: rgba(244,194,47,.12); --morado: #C3B2FF; --morado-fondo: rgba(160,140,255,.15); --serie: #4F8EE8;
  color-scheme: dark;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { background: var(--fondo); }
body { transition: background .2s, color .2s; }
body { font-family: "Montserrat", system-ui, sans-serif; background: linear-gradient(90deg, var(--lateral) 248px, var(--fondo) 248px); color: var(--texto); font-size: 14px; }
button, input, textarea { font: inherit; color: inherit; }
button { cursor: pointer; border: 0; background: none; }

/* ---------- Estructura ---------- */
.app { display: grid; grid-template-columns: 248px 1fr; min-height: 100vh; }
.lateral { background: var(--lateral); color: #fff; padding: 26px 18px; display: flex; flex-direction: column; gap: 26px;
           position: sticky; top: 0; height: 100vh; }
.lateral .logo { width: 170px; margin: 0 6px; }
.lateral .sub { font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--amarillo); margin: -14px 8px 0; font-weight: 700; }
.nav { display: flex; flex-direction: column; gap: 4px; }
.nav a { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border-radius: 10px; color: #C9D4E6; text-decoration: none;
         font-weight: 600; position: relative; }
.nav a:hover { background: rgba(255,255,255,.06); color: #fff; }
.nav a.activo { background: rgba(255,255,255,.1); color: #fff; }
.nav a.activo::before { content: ""; position: absolute; left: -18px; top: 8px; bottom: 8px; width: 5px; border-radius: 0 4px 4px 0; background: var(--amarillo); }
.nav .badge { margin-left: auto; background: var(--amarillo); color: var(--azul); font-weight: 800; font-size: 11px; border-radius: 20px; padding: 2px 8px; }
.nav svg { width: 18px; height: 18px; flex: none; }
.lateral .pie { margin-top: auto; display: flex; flex-direction: column; gap: 12px; }
.estado-fb { display: flex; align-items: center; gap: 10px; font-size: 12px; background: rgba(255,255,255,.07); padding: 10px 12px; border-radius: 10px; }
.punto { width: 9px; height: 9px; border-radius: 50%; background: #8391A8; flex: none; }
.punto.ok { background: #3DDC84; box-shadow: 0 0 0 3px rgba(61,220,132,.2); }
.punto.no { background: var(--amarillo); }
.ver-ico { width: 9px; flex: none; text-align: center; font-size: 11px; font-weight: 800; line-height: 1; color: var(--amarillo); }
.estado-fb.version { color: #9FB0CB; }
.revisor label { font-size: 11px; color: #9FB0CB; display: block; margin-bottom: 5px; }
.revisor input { width: 100%; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); border-radius: 8px; padding: 8px 10px; color: #fff; }
.politica { font-size: 11px; color: #9FB0CB; line-height: 1.45; }

main { padding: 28px 34px 60px; width: 100%; }
.encabezado { display: flex; align-items: center; gap: 16px; margin-bottom: 26px; flex-wrap: wrap; }
.encabezado h1 { font-size: 26px; font-weight: 800; letter-spacing: -.3px; }
.encabezado .fecha { color: var(--suave); font-weight: 500; }
.encabezado .acciones { margin-left: auto; display: flex; gap: 10px; align-items: center; }
.chev { color: var(--amarillo); font-weight: 900; letter-spacing: -4px; margin-right: 10px; }

.btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 10px; font-weight: 700; font-size: 13px;
       transition: transform .08s, background .15s; }
.btn:active { transform: translateY(1px); }
.btn-amarillo { background: var(--amarillo); color: var(--azul); }
.btn-amarillo:hover { background: #F7CF55; }
.btn-azul { background: var(--marca); color: #fff; }
.btn-azul:hover { background: var(--azul-3); }
.btn-borde { border: 1.5px solid var(--linea); background: var(--tarjeta); color: var(--texto); }
.btn-borde:hover { border-color: var(--linea-fuerte); }
.btn-rojo { border: 1.5px solid color-mix(in srgb, var(--error) 35%, transparent); color: var(--error); background: var(--tarjeta); }
.btn-rojo:hover { background: var(--error-fondo); }
.btn:disabled { opacity: .5; cursor: not-allowed; }
.num-input { width: 58px; padding: 9px 8px; border-radius: 10px; border: 1.5px solid var(--linea); text-align: center; font-weight: 700; background: var(--tarjeta); }

.seccion { display: none; }
.seccion.activa { display: block; animation: aparecer .25s ease-out; }
@keyframes aparecer { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
h2 { font-size: 16px; font-weight: 800; margin: 30px 0 14px; display: flex; align-items: center; }
h2 .extra { margin-left: auto; font-size: 12px; font-weight: 600; color: var(--suave); }

.tarjeta { background: var(--tarjeta); border: 1px solid var(--linea); border-radius: var(--radio); }

/* ---------- KPIs ---------- */
.kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(138px, 1fr)); gap: 12px; }
.kpi { padding: 18px 18px 16px; position: relative; overflow: hidden; }
.kpi .etq, .kpi .nota { position: relative; z-index: 1; }
.kpi .etq { font-size: 11px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--suave); }
.kpi .val { font-size: 32px; font-weight: 800; margin-top: 6px; letter-spacing: -1px; white-space: nowrap; position: relative; z-index: 1; }
.kpi .val small { font-size: 15px; color: var(--suave); font-weight: 600; letter-spacing: 0; }
.kpi .nota { font-size: 12px; color: var(--suave); margin-top: 2px; }
.kpi.destacado { background: var(--marca); color: #fff; border-color: var(--marca); }
.kpi.destacado .etq, .kpi.destacado .nota { color: #B7C4DA; }
.kpi.destacado::after { content: "›››"; position: absolute; right: 14px; bottom: 8px; font-size: 38px; font-weight: 900; letter-spacing: -6px; color: var(--amarillo); }
.kpi.destacado .nota { max-width: 62%; }
.barra { height: 6px; background: var(--sutil); border-radius: 6px; margin-top: 10px; overflow: hidden; }
.barra i { display: block; height: 100%; background: var(--amarillo); border-radius: 6px; }

/* ---------- Agentes ---------- */
.agentes { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
.agente { padding: 16px; display: flex; gap: 12px; align-items: flex-start; }
.agente .ico { width: 40px; height: 40px; border-radius: 12px; background: var(--info-fondo); color: var(--marca-texto); display: grid; place-items: center; flex: none; }
.agente .ico svg { width: 20px; height: 20px; }
.agente .nom { font-weight: 700; font-size: 13px; }
.agente .ev { font-size: 12px; color: var(--suave); margin-top: 3px; }
.chip { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 20px; margin-top: 7px; }
.chip.en_espera { background: var(--sutil); color: var(--suave); }
.chip.trabajando { background: var(--alerta-fondo); color: var(--alerta); }
.chip.trabajando::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; animation: pulso 1s infinite; }
.chip.error { background: var(--error-fondo); color: var(--error); }
@keyframes pulso { 50% { opacity: .25; } }

/* ---------- Cola ---------- */
.filtros { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.filtro { padding: 7px 14px; border-radius: 20px; border: 1.5px solid var(--linea); background: var(--tarjeta); font-weight: 600; font-size: 12px; color: var(--suave); }
.filtro.activo { background: var(--marca); border-color: var(--marca); color: #fff; }
.grid-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 18px; }
.post { display: flex; flex-direction: column; overflow: hidden; }
.post .img { position: relative; background: var(--imagen); aspect-ratio: 1 / 1; cursor: zoom-in; }
.post .img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.post .fid { position: absolute; right: 12px; top: 12px; width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center;
             background: conic-gradient(var(--amarillo) calc(var(--p) * 1%), rgba(255,255,255,.35) 0); box-shadow: 0 4px 14px rgba(0,0,0,.2); }
.post .fid span { width: 46px; height: 46px; border-radius: 50%; background: var(--marca); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 15px; }
.post .cuerpo { padding: 16px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.post .tit { font-weight: 700; font-size: 14px; line-height: 1.3; }
.post .meta { display: flex; gap: 6px; flex-wrap: wrap; }
.tag { font-size: 11px; font-weight: 600; background: var(--sutil); color: var(--suave); padding: 3px 8px; border-radius: 6px; }
.estado { font-size: 11px; font-weight: 800; padding: 3px 9px; border-radius: 6px; text-transform: uppercase; letter-spacing: .5px; }
.estado.pendiente_aprobacion { background: var(--alerta-fondo); color: var(--alerta); }
.estado.aprobado { background: var(--info-fondo); color: var(--marca-texto); }
.estado.programado { background: var(--morado-fondo); color: var(--morado); }
.estado.publicado { background: var(--ok-fondo); color: var(--ok); }
.estado.rechazado_validador, .estado.rechazado_humano { background: var(--error-fondo); color: var(--error); }
.caption { font-size: 12.5px; line-height: 1.5; color: var(--texto-2); max-height: 90px; overflow: hidden; position: relative; white-space: pre-line; }
.caption.abierto { max-height: none; }
.caption:not(.abierto)::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 30px; background: linear-gradient(transparent, var(--tarjeta)); }
.ver-mas { font-size: 12px; font-weight: 700; color: var(--enlace); align-self: flex-start; }
.errores { font-size: 12px; background: var(--error-fondo); color: var(--error); padding: 8px 10px; border-radius: 8px; line-height: 1.45; }
.acciones-post { display: flex; gap: 8px; margin-top: auto; flex-wrap: wrap; }
.acciones-post .btn { flex: 1; justify-content: center; padding: 9px 10px; }
.acciones-post label { flex: 1 1 100%; font-size: 11px; font-weight: 700; color: var(--suave); letter-spacing: .5px; }
.acciones-post input[type="datetime-local"] { background: var(--tarjeta); flex: 1 1 100%; border: 1.5px solid var(--linea); border-radius: 10px; padding: 8px 10px; font-size: 12px; }
.vacio { padding: 50px 20px; text-align: center; color: var(--suave); }
.vacio b { display: block; color: var(--texto); font-size: 15px; margin-bottom: 6px; }

/* ---------- Actividad ---------- */
.tabla { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.tabla th { text-align: left; font-size: 11px; letter-spacing: 1px; text-transform: uppercase; color: var(--suave); padding: 12px 14px; border-bottom: 1px solid var(--linea); background: var(--sutil-2); position: sticky; top: 0; }
.tabla td { padding: 10px 14px; border-bottom: 1px solid var(--linea-2); vertical-align: top; }
.tabla tr.err td { background: var(--error-fondo); }
.tabla .mono { font-family: ui-monospace, "Cascadia Code", Consolas, monospace; font-size: 11.5px; color: var(--texto-2); word-break: break-word; }
.scroll { max-height: 640px; overflow: auto; border-radius: var(--radio); }
.ag { font-weight: 700; font-size: 11px; padding: 2px 8px; border-radius: 6px; background: var(--info-fondo); color: var(--marca-texto); white-space: nowrap; }
.ag.validador { background: var(--amarillo-fondo); color: var(--alerta); }
.ag.publicador { background: var(--ok-fondo); color: var(--ok); }
.ag.alamex_it { background: var(--morado-fondo); color: var(--morado); }
.ag.rag { background: var(--info-fondo); color: var(--enlace); }

/* ---------- Visor y avisos ---------- */
.visor { position: fixed; inset: 0; background: rgba(2,20,45,.82); display: none; place-items: center; z-index: 50; padding: 30px; cursor: zoom-out; }
.visor.abierto { display: grid; }
.visor img { max-width: 100%; max-height: 92vh; border-radius: 10px; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.aviso { position: fixed; right: 24px; bottom: 24px; background: var(--marca); color: #fff; padding: 13px 18px; border-radius: 12px; font-weight: 600;
         box-shadow: 0 10px 30px rgba(2,39,83,.3); transform: translateY(20px); opacity: 0; transition: .25s; z-index: 60; border-left: 5px solid var(--amarillo); max-width: 420px; }
.aviso.visible { transform: none; opacity: 1; }
.aviso.error { border-left-color: #FF7A7A; }



.concepto { font-size: 12.5px; color: var(--marca-texto); background: var(--amarillo-fondo); border-left: 3px solid var(--amarillo); padding: 6px 10px; border-radius: 4px; line-height: 1.45; }

/* ---------- Autopiloto ---------- */
.autopiloto { padding: 18px 20px; margin-bottom: 18px; border-left: 5px solid var(--amarillo); }
.ap-cab { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.ap-ico { width: 44px; height: 44px; border-radius: 12px; background: var(--sutil); color: var(--suave); display: grid; place-items: center; flex: none; }
.ap-ico.on { background: var(--marca); color: var(--amarillo); }
.ap-ico svg { width: 22px; height: 22px; }
.ap-tit { font-weight: 800; font-size: 16px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ap-tit .chip { margin-top: 0; }
.ap-sub { font-size: 12.5px; color: var(--suave); margin-top: 4px; line-height: 1.5; }
.ap-acc { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; }
.ap-conf { display: flex; gap: 10px 22px; flex-wrap: wrap; align-items: center; margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--linea); font-size: 12.5px; font-weight: 600; color: var(--suave); }
.ap-conf label { display: flex; align-items: center; gap: 6px; }
.ap-conf input[type=number] { background: var(--tarjeta); width: 54px; padding: 5px 6px; border: 1.5px solid var(--linea); border-radius: 7px; text-align: center; color: var(--texto); }
.ap-conf .chk input { accent-color: var(--marca); width: 16px; height: 16px; }
.dias { display: inline-flex; gap: 3px; }
.dia { width: 26px; height: 26px; border-radius: 7px; border: 1.5px solid var(--linea); font-size: 11px; font-weight: 800; color: var(--suave); background: var(--tarjeta); }
.dia.on { background: var(--marca); border-color: var(--marca); color: #fff; }
.ap-nota { font-weight: 500; flex-basis: 100%; }

/* ---------- Pensamiento en las tarjetas de agentes ---------- */
.agente .idea { font-size: 12px; color: var(--texto); margin-top: 8px; line-height: 1.45; font-style: italic; border-left: 3px solid var(--amarillo); padding-left: 8px; }

/* ---------- Mente de los agentes ---------- */
.intro { color: var(--suave); max-width: 900px; line-height: 1.55; margin-bottom: 18px; }
.mente { display: grid; grid-template-columns: 300px 1fr; gap: 18px; align-items: start; }
.corridas { display: flex; flex-direction: column; gap: 8px; max-height: calc(100vh - 210px); overflow-y: auto; padding-right: 4px; }
.corrida { text-align: left; padding: 12px 14px; transition: border-color .15s; }
.corrida:hover { border-color: var(--linea-fuerte); }
.corrida.activa { border-color: var(--marca-texto); box-shadow: inset 4px 0 0 var(--amarillo); }
.c-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.c-hora { font-size: 11px; color: var(--suave); }
.c-nom { font-weight: 700; font-size: 13px; margin-top: 7px; }
.c-meta { font-size: 11.5px; color: var(--suave); margin-top: 3px; }
.hilo { padding: 20px 22px; min-height: 300px; }
.h-cab { display: flex; gap: 14px; align-items: center; padding-bottom: 16px; border-bottom: 1px solid var(--linea); margin-bottom: 6px; }
.h-cab img { width: 64px; height: 80px; object-fit: cover; border-radius: 8px; cursor: zoom-in; }
.h-tit { font-weight: 800; font-size: 16px; }
.h-sub { font-size: 12.5px; color: var(--suave); margin-top: 4px; }
.pasos { list-style: none; position: relative; }
.pasos::before { content: ""; position: absolute; left: 17px; top: 16px; bottom: 16px; width: 2px; background: var(--linea); }
.paso { display: flex; gap: 14px; padding: 12px 0; position: relative; }
.p-ico { width: 36px; height: 36px; border-radius: 50%; background: var(--info-fondo); color: var(--marca-texto); display: grid; place-items: center; flex: none; border: 3px solid var(--tarjeta); z-index: 1; }
.p-ico svg { width: 16px; height: 16px; }
.p-ico.validador { background: var(--ok-fondo); color: var(--ok); }
.p-ico.publicador { background: var(--marca); color: var(--amarillo); }
.p-ico.director, .p-ico.arte { background: var(--alerta-fondo); color: var(--alerta); }
.paso.alerta .p-ico { background: var(--error-fondo); color: var(--error); }
.p-cuerpo { flex: 1; min-width: 0; }
.p-cab { display: flex; gap: 8px; align-items: baseline; font-size: 13px; }
.p-tipo { font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .6px; color: var(--suave); background: var(--sutil); padding: 2px 7px; border-radius: 5px; }
.paso.alerta .p-tipo { background: var(--error-fondo); color: var(--error); }
.paso.resultado .p-tipo { background: var(--ok-fondo); color: var(--ok); }
.p-hora { margin-left: auto; font-size: 11px; color: var(--suave); }
.p-texto { margin-top: 5px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.paso.herramienta .p-texto { font-size: 13px; color: var(--suave); }
details { margin-top: 8px; }
summary { font-size: 12px; font-weight: 700; color: var(--enlace); cursor: pointer; }
.p-interno { margin-top: 6px; font-size: 12.5px; color: var(--suave); background: var(--sutil-2); border-radius: 8px; padding: 10px 12px; line-height: 1.5; white-space: pre-wrap; }
.vivo { margin-left: auto; width: 9px; height: 9px; border-radius: 50%; background: #3DDC84; animation: pulso 1s infinite; }
@media (max-width: 900px) { .mente { grid-template-columns: 1fr; } .corridas { max-height: 260px; } }

/* ---------- Métricas, costos y avisos ---------- */
.barra-metricas { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 16px; font-size: 12.5px; color: var(--suave); }
.barra-metricas .btn { margin-left: auto; }
.metricas { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: baseline; font-size: 12px; color: var(--suave);
            background: var(--sutil-2); border-left: 3px solid var(--amarillo); border-radius: 4px; padding: 8px 10px; }
.metricas b { color: var(--marca-texto); font-size: 15px; font-weight: 800; }
.metricas em { font-style: normal; font-size: 11px; }
.metricas a { margin-left: auto; font-weight: 700; color: var(--enlace); text-decoration: none; }
.h-costo { margin-left: auto; text-align: right; font-size: 12px; color: var(--suave); white-space: nowrap; }
.h-costo b { font-size: 18px; color: var(--marca-texto); font-weight: 800; }
.h-costo small { display: block; font-size: 11px; }
.btn-mini { margin-left: auto; font-size: 11px; font-weight: 700; color: var(--azul); background: var(--amarillo); border-radius: 6px; padding: 3px 8px; }
.btn-mini:disabled { opacity: .5; }

/* ---------- Encabezado: próxima publicación y modo oscuro ---------- */
.btn-icono { padding: 10px; }
.proxima { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--suave); background: var(--tarjeta);
           border: 1.5px solid var(--linea); border-radius: 10px; padding: 9px 12px; }
.proxima b { color: var(--texto); }
.proxima i { width: 8px; height: 8px; border-radius: 50%; background: var(--ok); }

/* ---------- Vista previa estilo Facebook (siempre en claro, como se ve en el feed) ---------- */
#previa { cursor: default; }
.fb { width: min(500px, 100%); max-height: 92vh; overflow: auto; background: #fff; color: #050505; border-radius: 10px;
      font-family: system-ui, "Segoe UI", sans-serif; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.fb-cab { display: flex; gap: 10px; align-items: center; padding: 12px 16px; }
.fb-cab img { width: 40px; height: 40px; border-radius: 50%; background: #022753; object-fit: contain; padding: 4px; }
.fb-cab b { font-size: 15px; } .fb-cab small { display: block; font-size: 12.5px; color: #65676B; }
.fb-texto { padding: 0 16px 12px; font-size: 15px; line-height: 1.35; white-space: pre-line; }
.fb-img { width: 100%; display: block; }
.fb-acc { display: flex; justify-content: space-around; padding: 10px; border-top: 1px solid #E4E6EB; color: #65676B; font-weight: 600; font-size: 14px; }
@media (max-width: 900px) { .proxima { display: none; } }

/* ---------- Correcciones de desborde (IDs y textos largos dentro de tarjetas) ---------- */
.agente { min-width: 0; }
.agente-txt { min-width: 0; flex: 1; }
.agente .idea, .agente .ev, .p-texto, .caption, .tag, .metricas, .errores { overflow-wrap: anywhere; word-break: break-word; }
.kpi { min-width: 0; }
a.kpi { color: inherit; text-decoration: none; transition: border-color .15s; }
a.kpi:hover { border-color: var(--linea-fuerte); }
a.kpi.destacado:hover { border-color: var(--marca); }
.kpi.enlace .nota { color: var(--enlace); font-weight: 700; margin-top: 8px; }
.enlaces-post { display: flex; gap: 16px; flex-wrap: wrap; }
.nota-cupo { flex: 1 1 100%; font-size: 12px; font-weight: 600; color: var(--alerta); }

/* ---------- Acceso ---------- */
.acceso { min-height: 100vh; display: grid; place-items: center; padding: 24px 16px; background: var(--fondo); }
.acceso[hidden], .app[hidden] { display: none; }
.acceso-caja { width: min(420px, 100%); overflow: hidden; }
.acceso-logo { display: block; width: 100%; padding: 28px 70px; background: var(--lateral); border-bottom: 5px solid var(--amarillo); }
.acceso-cuerpo { padding: 26px 28px 24px; display: flex; flex-direction: column; gap: 14px; }
.acceso-cuerpo h1 { font-size: 22px; font-weight: 800; }
.acceso-sub { color: var(--suave); font-size: 13px; margin-top: -8px; line-height: 1.45; }
.acceso-cuerpo label, .perfil-form label, .dialogo label { display: flex; flex-direction: column; gap: 6px; font-size: 12px; font-weight: 700; color: var(--suave); }
.acceso-cuerpo label[hidden], .dialogo label[hidden] { display: none; }
.acceso-cuerpo label small, .dialogo label small { font-weight: 500; }
.acceso-cuerpo input, .perfil-form input, .dialogo input, .dialogo select, .buscar, .voc-form input {
  font-size: 14px; font-weight: 500; color: var(--texto); background: var(--tarjeta); border: 1.5px solid var(--linea); border-radius: 10px; padding: 11px 12px; width: 100%; }
.acceso-cuerpo input:focus, .perfil-form input:focus, .dialogo input:focus, .dialogo select:focus, .buscar:focus, .voc-form input:focus { outline: 2px solid var(--amarillo); outline-offset: 1px; border-color: var(--amarillo); }
.clave-caja { position: relative; display: block; }
.clave-caja input { padding-right: 76px; }
.ver-clave { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); font-size: 12px; font-weight: 700; color: var(--enlace); padding: 6px 8px; }
.acceso-error { background: var(--error-fondo); color: var(--error); border-radius: 8px; padding: 9px 12px; font-size: 13px; font-weight: 600; }
.acceso-error[hidden] { display: none; }
.acceso-btn { justify-content: center; padding: 13px; font-size: 14px; }
.acceso-nota { font-size: 12px; color: var(--suave); text-align: center; }

/* ---------- Usuario en la barra lateral ---------- */
.avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--amarillo); color: #022753; font-weight: 800; display: grid; place-items: center; flex: none; font-size: 15px; }
.avatar.grande { width: 72px; height: 72px; font-size: 30px; }
.yo { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; background: rgba(255,255,255,.07); color: #fff; text-decoration: none; }
.yo:hover { background: rgba(255,255,255,.12); }
.yo-datos { display: flex; flex-direction: column; min-width: 0; }
.yo-datos b { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.yo-datos small { font-size: 11px; color: var(--amarillo); font-weight: 700; letter-spacing: .5px; text-transform: uppercase; }
.salir { display: flex; align-items: center; gap: 8px; color: #C9D4E6; font-size: 12.5px; font-weight: 600; padding: 4px 12px; }
.salir:hover { color: #fff; }

/* ---------- Perfil ---------- */
.perfil { display: grid; grid-template-columns: 320px 1fr; gap: 18px; align-items: stretch; }
.perfil-cab { padding: 26px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; }
.pf-nombre { font-size: 18px; font-weight: 800; }
.pf-correo { color: var(--suave); font-size: 13px; margin: 4px 0 10px; overflow-wrap: anywhere; }
.perfil-form { padding: 22px 24px; display: flex; flex-direction: column; gap: 14px; }
.perfil-form h2 { margin: 0; }
.perfil-form .btn { align-self: flex-start; }
.nota-perm { font-size: 12.5px; color: var(--suave); line-height: 1.5; }
.rol-chip { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; padding: 4px 10px; border-radius: 20px; background: var(--sutil); color: var(--suave); }
.rol-chip.admin { background: var(--amarillo); color: #022753; }
.rol-chip.gerente { background: var(--info-fondo); color: var(--marca-texto); }

/* ---------- Usuarios ---------- */
.tabla.usuarios td { vertical-align: middle; }
.u-celda { display: flex; align-items: center; gap: 10px; min-width: 200px; }
.u-celda small { display: block; color: var(--suave); font-size: 12px; overflow-wrap: anywhere; }
.u-acc { display: flex; gap: 6px; justify-content: flex-end; flex-wrap: wrap; }
.u-acc .btn { padding: 7px 10px; font-size: 12px; }
tr.inactivo td { opacity: .6; }
.roles-guia { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-top: 16px; }
.roles-guia .tarjeta { padding: 14px 16px; font-size: 12.5px; color: var(--suave); line-height: 1.5; }
.roles-guia b { display: block; color: var(--texto); font-size: 13px; margin-bottom: 4px; }
.dialogo { border: 0; padding: 0; background: transparent; width: min(460px, calc(100vw - 32px)); margin: auto; }
.dialogo::backdrop { background: rgba(2,20,45,.6); }
.dialogo form { padding: 22px 24px; display: flex; flex-direction: column; gap: 12px; color: var(--texto); }
.dialogo h2 { margin: 0 0 4px; }
.dlg-acc { display: flex; gap: 8px; justify-content: flex-end; margin-top: 6px; }

/* ---------- Cupo de aprobaciones ---------- */
.cupo { padding: 14px 18px; margin-bottom: 16px; display: flex; align-items: center; gap: 10px 18px; flex-wrap: wrap; border-left: 5px solid var(--amarillo); font-size: 13px; }
.cupo span { color: var(--suave); }
.cupo-puntos { display: flex; gap: 6px; margin-left: auto; }
.cupo-puntos i { width: 22px; height: 8px; border-radius: 4px; background: var(--sutil); border: 1px solid var(--linea); }
.cupo-puntos i.lleno { background: var(--amarillo); border-color: var(--amarillo); }

/* ---------- Fotos de productos ---------- */
.buscar { width: min(320px, 100%); margin-left: auto; }
.grid-fotos { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; }
.foto-item { display: flex; flex-direction: column; overflow: hidden; }
.foto-img { position: relative; aspect-ratio: 1; cursor: zoom-in;
            background: repeating-conic-gradient(var(--sutil) 0 25%, var(--tarjeta) 0 50%) 0 0 / 18px 18px; }
.foto-img img { position: absolute; inset: 14px; width: calc(100% - 28px); height: calc(100% - 28px); object-fit: contain;
                filter: drop-shadow(0 6px 10px rgba(0,0,0,.18)); }
.foto-txt { padding: 10px 12px 6px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.foto-txt b { font-size: 12.5px; line-height: 1.3; }
.foto-txt small { font-size: 11px; color: var(--suave); }
.foto-txt .tag { align-self: flex-start; }
.tag.ok { background: var(--ok-fondo); color: var(--ok); }
.tag.alerta { background: var(--alerta-fondo); color: var(--alerta); }
.subir { margin: 6px 12px 12px; justify-content: center; cursor: pointer; }
.subir.cargando { opacity: .6; pointer-events: none; }

/* ---------- Responsivo ---------- */
.btn-menu { display: none; }
@media (max-width: 1100px) {
  .perfil { grid-template-columns: 1fr; }
  .mente { grid-template-columns: 1fr; }
  .corridas { max-height: 280px; }
}
@media (max-width: 900px) {
  body { background: var(--fondo); }
  .app { grid-template-columns: 1fr; }
  .btn-menu { display: inline-flex; }
  .lateral { position: fixed; inset: 0 auto 0 0; width: 272px; height: 100vh; z-index: 40; flex-direction: column; flex-wrap: nowrap;
             align-items: stretch; padding: 22px 18px; gap: 20px; transform: translateX(-100%); transition: transform .2s; overflow-y: auto; }
  body.menu-abierto .lateral { transform: none; box-shadow: 0 0 0 100vmax rgba(2,20,45,.55); }
  .lateral .logo { width: 150px; }
  .lateral .sub, .lateral .pie .politica { display: block; }
  .nav { flex-direction: column; flex-wrap: nowrap; }
  .nav a.activo::before { display: block; }
  .lateral .pie { margin-top: auto; flex-direction: column; width: auto; }
  main { padding: 16px 16px 50px; }
  .encabezado { gap: 10px; margin-bottom: 18px; }
  .encabezado h1 { font-size: 20px; }
  .encabezado .acciones { margin-left: 0; width: 100%; }
  .encabezado .acciones #btn-generar { flex: 1; justify-content: center; }
  .grid-posts { grid-template-columns: 1fr; }
  .kpis { grid-template-columns: repeat(2, 1fr); }
  .kpi .val { font-size: 26px; }
  .ap-acc { margin-left: 0; width: 100%; }
  .ap-acc .btn { flex: 1; justify-content: center; }
  .grid-fotos { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .buscar { width: 100%; }
  .cupo-puntos { margin-left: 0; }
  .tabla.usuarios thead { display: none; }
  .tabla.usuarios tr { display: grid; grid-template-columns: 1fr auto; gap: 6px 10px; padding: 12px 14px; border-bottom: 1px solid var(--linea); }
  .tabla.usuarios td { padding: 0; border: 0; }
  .tabla.usuarios td:nth-child(1) { grid-column: 1 / -1; }
  .tabla.usuarios td:nth-child(4) { font-size: 12px; color: var(--suave); }
  .tabla.usuarios td.u-acc { grid-column: 1 / -1; justify-content: flex-start; }
  .scroll { max-height: none; }
}
@media (max-width: 420px) {
  .kpis { grid-template-columns: 1fr; }
  .acceso-logo { padding: 22px 50px; }
}

.ap-cab { flex-wrap: nowrap; }
.ap-txt { flex: 1; min-width: 0; }
@media (max-width: 900px) { .ap-cab { flex-wrap: wrap; } .ap-txt { flex-basis: calc(100% - 60px); } }

/* ---------- Explicación de lo que hace cada botón ---------- */
.ayuda { flex: 1 1 100%; font-size: 11.5px; line-height: 1.5; color: var(--suave); margin-top: 2px; }
.ayuda b { color: var(--texto); font-weight: 700; }
.autopiloto > .ayuda { margin-top: 12px; }
.ayuda-caja { margin-top: 18px; padding: 12px 14px; border: 1px dashed var(--linea-fuerte); border-radius: 10px; background: var(--sutil-2); }

/* ---------- Alta de refacción ---------- */
.dialogo.ancho { width: min(720px, calc(100vw - 32px)); }
.dialogo textarea { font: inherit; font-size: 14px; color: var(--texto); background: var(--tarjeta); border: 1.5px solid var(--linea);
                    border-radius: 10px; padding: 10px 12px; width: 100%; resize: vertical; }
.dialogo textarea:focus { outline: 2px solid var(--amarillo); outline-offset: 1px; border-color: var(--amarillo); }
.dialogo input[type=file] { padding: 8px; }
.dos-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.dialogo form { max-height: calc(100vh - 40px); overflow-y: auto; }
#btn-nueva-refaccion { white-space: nowrap; }
@media (max-width: 600px) { .dos-col { grid-template-columns: 1fr; } }

/* ---------- Perfil y cerrar sesión en la barra superior ---------- */
.usuario-barra { display: flex; align-items: center; gap: 8px; padding-left: 12px; margin-left: 4px; border-left: 1.5px solid var(--linea); }
.avatar-barra { display: block; border-radius: 50%; text-decoration: none; }
.avatar-barra .avatar { width: 40px; height: 40px; font-size: 16px; box-shadow: 0 0 0 2px var(--tarjeta), 0 0 0 4px var(--amarillo); }
.avatar-barra:hover .avatar { box-shadow: 0 0 0 2px var(--tarjeta), 0 0 0 4px var(--marca); }
#btn-salir:hover { color: var(--error); border-color: color-mix(in srgb, var(--error) 40%, transparent); }
@media (max-width: 900px) {
  .encabezado { position: relative; }
  .usuario-barra { position: absolute; top: 0; right: 0; border-left: 0; padding-left: 0; }
  .encabezado > div:not(.acciones) { padding-right: 104px; }
}

/* =====================================================================================
   Barra superior fija + barra lateral plegable que se despliega al pasar el mouse
   (estructura tomada de Cotizador-Lite-Alam; colores y tipografía propios de Alamex)
   ===================================================================================== */
:root { --alto-barra: 64px; --riel: 72px; --riel-abierto: 272px; }
body { background: var(--fondo); }
.app { display: block; min-height: 100vh; }

/* ---------- Barra superior ---------- */
.topbar { position: fixed; top: 0; left: 0; right: 0; height: var(--alto-barra); z-index: 45; display: flex; align-items: center;
          gap: 14px; padding: 0 18px 0 16px; background: var(--lateral); color: #fff; border-bottom: 3px solid var(--amarillo); }
.marca { display: flex; align-items: center; gap: 14px; text-decoration: none; color: #fff; flex: none; }
.marca img { height: 38px; display: block; }
.marca-sub { font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--amarillo); font-weight: 700;
             padding-left: 14px; border-left: 1px solid rgba(255,255,255,.2); white-space: nowrap; }
.topbar .acciones { margin-left: auto; display: flex; align-items: center; gap: 10px; width: auto; }
.topbar .btn-borde, .topbar .num-input, .topbar .proxima { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); color: #fff; }
.topbar .btn-borde:hover { border-color: rgba(255,255,255,.45); }
.topbar .proxima { color: #C9D4E6; }
.topbar .proxima b { color: #fff; }
.topbar .usuario-barra { border-left-color: rgba(255,255,255,.2); position: static; }
.topbar .avatar-barra .avatar { box-shadow: 0 0 0 2px var(--lateral), 0 0 0 4px var(--amarillo); }
.topbar .avatar-barra:hover .avatar { box-shadow: 0 0 0 2px var(--lateral), 0 0 0 4px #fff; }
.topbar #btn-salir:hover { color: #FF9B9B; border-color: rgba(255,155,155,.5); }
.btn-menu { display: none; color: #fff; padding: 8px; border-radius: 8px; }
.btn-menu:hover { background: rgba(255,255,255,.1); }

/* ---------- Barra lateral (riel de íconos) ---------- */
.lateral { position: fixed; top: var(--alto-barra); left: 0; bottom: 0; height: auto; width: var(--riel); z-index: 40;
           padding: 14px 12px; gap: 14px; overflow-x: hidden; overflow-y: auto; transform: none;
           transition: width .2s ease, box-shadow .2s ease; }
.lateral:hover, .lateral:has(:focus-visible) { width: var(--riel-abierto); box-shadow: 14px 0 34px rgba(2,20,45,.28); }
.lateral .etq { white-space: nowrap; opacity: 0; transition: opacity .12s; }
.lateral:hover .etq, .lateral:has(:focus-visible) .etq { opacity: 1; transition-delay: .06s; }
.nav { gap: 2px; }
.nav a { padding: 11px 13px; gap: 16px; }
.nav a.activo::before { left: -12px; }
.nav-grupo { display: block; height: 24px; padding: 8px 14px 0; font-size: 10px; font-weight: 800; letter-spacing: 2px;
             text-transform: uppercase; color: #7F92B3; white-space: nowrap; overflow: hidden; position: relative; }
.nav-grupo::after { content: ""; position: absolute; left: 14px; right: 14px; top: 14px; height: 1px; background: rgba(255,255,255,.1); transition: opacity .12s; }
.nav-grupo { color: transparent; transition: color .12s; }
.lateral:hover .nav-grupo, .lateral:has(:focus-visible) .nav-grupo { color: #7F92B3; }
.lateral:hover .nav-grupo::after, .lateral:has(:focus-visible) .nav-grupo::after { opacity: 0; }
.nav-grupo:first-child::after { display: none; }
/* contador y "en vivo" visibles también con la barra plegada, sobre el ícono */
.nav .badge { position: absolute; left: 28px; top: 3px; margin: 0; font-size: 10px; padding: 1px 6px; }
.nav .vivo { position: absolute; left: 32px; top: 8px; margin: 0; }
.lateral:hover .nav .badge, .lateral:has(:focus-visible) .nav .badge,
.lateral:hover .nav .vivo, .lateral:has(:focus-visible) .nav .vivo { position: static; margin-left: auto; }
.lateral .pie { margin-top: auto; gap: 8px; }
.lateral .estado-fb { padding: 10px 13px; white-space: nowrap; overflow: hidden; }
.lateral:not(:hover):not(:has(:focus-visible)) .politica,
.lateral:not(:hover):not(:has(:focus-visible)) .btn-mini { display: none; }

/* ---------- Contenido ---------- */
main { margin-left: var(--riel); padding: calc(var(--alto-barra) + 26px) 34px 60px; width: auto; }
.encabezado { margin-bottom: 22px; }

/* ---------- Celular: la lateral se vuelve menú desplegable ---------- */
@media (max-width: 900px) {
  .btn-menu { display: inline-flex; }
  .topbar { padding: 0 10px; gap: 8px; }
  .marca-sub { display: none; }
  .marca img { height: 30px; }
  .topbar .proxima, .topbar #n { display: none; }
  .topbar #btn-generar { font-size: 0; padding: 10px; gap: 0; }
  .topbar .usuario-barra { padding-left: 4px; margin-left: 0; border-left: 0; }
  .topbar .acciones { gap: 6px; }
  .encabezado > div:not(.acciones) { padding-right: 0; }
  .lateral { inset: var(--alto-barra) auto 0 0; height: auto; width: 272px; padding: 18px 16px; transform: translateX(-100%); transition: transform .2s; }
  .lateral:hover, .lateral:has(:focus-visible) { width: 272px; }
  body.menu-abierto .lateral { transform: none; box-shadow: 0 0 0 100vmax rgba(2,20,45,.55); }
  .lateral .etq, .nav-grupo { opacity: 1; color: #7F92B3; }
  .lateral .etq { color: inherit; }
  .nav-grupo::after { display: none; }
  .nav .badge, .nav .vivo { position: static; margin-left: auto; }
  .lateral:not(:hover):not(:has(:focus-visible)) .politica { display: block; }
  main { margin-left: 0; padding: calc(var(--alto-barra) + 16px) 16px 50px; }
}
@media (max-width: 380px) { .topbar #btn-tema { display: none; } }

/* ---------- Galería: solo foto y nombre ---------- */
button.foto-item { text-align: left; cursor: pointer; transition: border-color .15s, transform .1s; }
button.foto-item:hover { border-color: var(--amarillo); transform: translateY(-2px); }
button.foto-item .foto-img { cursor: pointer; }
.foto-nom { padding: 10px 12px 12px; font-size: 12.5px; font-weight: 700; line-height: 1.3; color: var(--texto); }

/* ---------- Ventana de la ficha ---------- */
.dialogo.ficha { width: min(960px, calc(100vw - 32px)); }
.ficha-caja { position: relative; padding: 26px; max-height: calc(100vh - 40px); overflow-y: auto; color: var(--texto); }
.ficha-cerrar { position: absolute; top: 12px; right: 14px; width: 34px; height: 34px; border-radius: 50%; font-size: 15px;
                color: var(--suave); background: var(--sutil); }
.ficha-cerrar:hover { color: var(--texto); }
.ficha-grid { display: grid; grid-template-columns: 340px 1fr; gap: 26px; }
.ficha-foto { display: flex; flex-direction: column; gap: 10px; }
.ficha-foto img { width: 100%; aspect-ratio: 1; object-fit: contain; padding: 16px; border-radius: 12px; border: 1px solid var(--linea);
                  background: repeating-conic-gradient(var(--sutil) 0 25%, var(--tarjeta) 0 50%) 0 0 / 18px 18px; }
.ficha-foto small { font-size: 11.5px; color: var(--suave); }
.ficha-foto .subir { margin: 4px 0 0; justify-content: center; }
.ficha-datos h2 { font-size: 20px; margin: 10px 0 8px; }
.ficha-datos h3 { font-size: 12px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--suave); margin: 18px 0 8px; }
.ficha-resumen { line-height: 1.55; }
.ficha-datos ul { padding-left: 18px; line-height: 1.6; font-size: 13px; }
.specs-tabla { width: 100%; border-collapse: collapse; font-size: 13px; }
.specs-tabla th { text-align: left; font-weight: 600; color: var(--suave); padding: 7px 10px 7px 0; width: 42%; vertical-align: top; border-bottom: 1px solid var(--linea-2); }
.specs-tabla td { padding: 7px 0; border-bottom: 1px solid var(--linea-2); overflow-wrap: anywhere; }
details.modelo { border: 1px solid var(--linea); border-radius: 10px; padding: 8px 12px; margin-bottom: 8px; }
details.modelo summary { font-size: 13px; color: var(--texto); }
.ficha-nota { font-size: 12px; background: var(--alerta-fondo); color: var(--alerta); padding: 8px 10px; border-radius: 8px; margin-top: 14px; }
.ficha-fuente { font-size: 11.5px; color: var(--suave); margin-top: 16px; }
@media (max-width: 760px) { .ficha-grid { grid-template-columns: 1fr; } .ficha-caja { padding: 20px 16px; } }
.ficha-foto label.subir { color: #022753; font-size: 13px; font-weight: 700; flex-direction: row; }

/* ---------- Aviso llamativo de pendientes ---------- */
.aviso-pend { display: flex; align-items: center; gap: 18px; padding: 18px 22px; margin-bottom: 18px; border-radius: var(--radio);
              background: linear-gradient(100deg, var(--amarillo) 0%, #F7D35C 100%); color: #022753; text-decoration: none;
              box-shadow: 0 6px 18px rgba(244,194,47,.25); transition: transform .12s; }
.aviso-pend[hidden] { display: none; }
.aviso-pend:hover { transform: translateY(-2px); }
.aviso-pend .ap-num { font-size: 42px; font-weight: 900; line-height: 1; min-width: 56px; text-align: center; background: #022753;
                      color: var(--amarillo); border-radius: 14px; padding: 10px 12px; }
.aviso-pend .ap-txt2 { display: flex; flex-direction: column; gap: 4px; }
.aviso-pend .ap-txt2 b { font-size: 19px; font-weight: 800; }
.aviso-pend .ap-txt2 small { font-size: 13px; font-weight: 600; opacity: .85; }
.aviso-pend .ap-ir { margin-left: auto; font-weight: 800; background: #022753; color: #fff; padding: 11px 18px; border-radius: 10px; white-space: nowrap; }

/* ---------- Informe de campaña ---------- */
.informe { padding: 18px 20px; margin-bottom: 18px; }
.inf-cab { display: flex; align-items: center; gap: 10px 16px; flex-wrap: wrap; margin-bottom: 14px; }
.inf-cab h2 { margin: 0; }
.inf-cab .extra { font-size: 12px; color: var(--suave); }
.inf-cab .btn { margin-left: auto; padding: 8px 12px; }
.inf-grid { display: grid; grid-template-columns: 1fr 1fr 1.6fr; gap: 14px; }
.inf-caja { border: 1px solid var(--linea); border-radius: 12px; padding: 14px 16px; display: flex; flex-direction: column; gap: 6px; }
.inf-caja .etq { font-size: 11px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--suave); }
.inf-num { font-size: 26px; font-weight: 800; }
.inf-num small { font-size: 13px; color: var(--suave); font-weight: 600; }
.inf-caja p { font-size: 12.5px; color: var(--suave); line-height: 1.5; }
.inf-rec ol { padding-left: 18px; display: flex; flex-direction: column; gap: 8px; font-size: 13px; }
.inf-rec li small { display: block; font-size: 11.5px; color: var(--suave); line-height: 1.4; }
.inf-rec a { color: var(--enlace); font-weight: 700; }
.rec-badge { align-self: flex-start; font-size: 11.5px; font-weight: 800; color: #022753; background: var(--amarillo); padding: 4px 10px; border-radius: 20px; }

/* ---------- Cola: preparar una pieza ---------- */
.cola-cab { display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: start; margin-bottom: 16px; }
.cola-cab .cupo { margin-bottom: 0; }
.preparar { display: flex; flex-direction: column; gap: 6px; min-width: 300px; }
.preparar .btn { justify-content: center; }
@media (max-width: 1000px) { .inf-grid { grid-template-columns: 1fr; } .cola-cab { grid-template-columns: 1fr; } .preparar { max-width: none; } }
@media (max-width: 600px) { .aviso-pend { flex-wrap: wrap; } .aviso-pend .ap-ir { margin-left: 0; width: 100%; text-align: center; } }

/* ---------- Campaña: tarjeta destacada ---------- */
.tarjeta.campana { padding: 0; overflow: hidden; border: 0; border-left: 0; margin-bottom: 18px;
                   background: linear-gradient(115deg, #022753 0%, #0B3A78 62%, #12508F 100%); color: #fff;
                   box-shadow: 0 10px 28px rgba(2,39,83,.28); }
.camp-hero { display: flex; align-items: center; gap: 22px; padding: 22px 24px 16px; flex-wrap: wrap; position: relative; }
.camp-hero::after { content: "›››"; position: absolute; right: 22px; top: 6px; font-size: 64px; font-weight: 900; letter-spacing: -10px;
                    color: rgba(244,194,47,.12); pointer-events: none; }
.camp-anillo { width: 104px; height: 104px; border-radius: 50%; flex: none; display: grid; place-items: center;
               background: conic-gradient(var(--amarillo) calc(var(--p) * 1%), rgba(255,255,255,.14) 0); }
.camp-anillo > div { width: 80px; height: 80px; border-radius: 50%; background: #022753; display: flex; flex-direction: column;
                     align-items: center; justify-content: center; line-height: 1; }
.camp-anillo b { font-size: 30px; font-weight: 900; color: var(--amarillo); }
.camp-anillo small { font-size: 11px; color: #C9D4E6; margin-top: 4px; }
.camp-txt { flex: 1; min-width: 260px; display: flex; flex-direction: column; gap: 8px; }
.camp-tit { display: flex; align-items: center; gap: 10px; font-size: 24px; font-weight: 900; letter-spacing: -.3px; }
.camp-tit svg { width: 26px; height: 26px; color: var(--amarillo); }
.camp-estado { font-size: 11.5px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; padding: 4px 10px; border-radius: 20px;
               background: rgba(255,255,255,.14); color: #fff; }
.campana.activa .camp-estado:first-of-type { background: rgba(61,220,132,.2); color: #7FF0B0; }
.camp-estado.trabajando { background: rgba(244,194,47,.22); color: var(--amarillo); }
.camp-sub { font-size: 13.5px; color: #D7E0EF; line-height: 1.5; max-width: 720px; }
.camp-sub b { color: #fff; }
.camp-datos { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
.camp-datos span { display: flex; flex-direction: column; gap: 2px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14);
                   border-radius: 10px; padding: 8px 12px; }
.camp-datos small { font-size: 10.5px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: #9FB0CB; }
.camp-datos b { font-size: 14px; }
.camp-acc { display: flex; flex-direction: column; gap: 8px; min-width: 220px; z-index: 1; }
.camp-acc .btn { justify-content: center; padding: 12px 16px; font-size: 13.5px; }
.btn-claro { background: rgba(255,255,255,.12); color: #fff; border: 1.5px solid rgba(255,255,255,.3); }
.btn-claro:hover { background: rgba(255,255,255,.2); }
.campana .btn-rojo { background: rgba(255,255,255,.95); }
.camp-pie { padding: 10px 24px; font-size: 12px; color: #C9D4E6; background: rgba(0,0,0,.18); border-top: 1px solid rgba(255,255,255,.08); }
.campana .ayuda { padding: 10px 24px 0; color: #C9D4E6; margin: 0; }
.campana .ayuda b { color: #fff; }
.camp-ajustes { padding: 8px 24px 16px; }
.camp-ajustes summary { color: var(--amarillo); font-size: 12.5px; padding: 6px 0; }
.campana .ap-conf { color: #C9D4E6; border-top-color: rgba(255,255,255,.14); }
.campana .ap-conf input[type=number] { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.25); color: #fff; }
.campana .dia { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); color: #C9D4E6; }
.campana .dia.on { background: var(--amarillo); border-color: var(--amarillo); color: #022753; }
@media (max-width: 900px) {
  .camp-hero { padding: 18px 16px 12px; gap: 16px; }
  .camp-anillo { width: 84px; height: 84px; } .camp-anillo > div { width: 64px; height: 64px; } .camp-anillo b { font-size: 24px; }
  .camp-tit { font-size: 20px; }
  .camp-acc { width: 100%; min-width: 0; }
  .camp-pie, .campana .ayuda, .camp-ajustes { padding-left: 16px; padding-right: 16px; }
}

/* ---------- Ventanas de confirmación del sistema ---------- */
.dialogo.pregunta { width: min(460px, calc(100vw - 32px)); }
.dialogo.pregunta[open] { animation: preg-entra .16s ease-out; }
@keyframes preg-entra { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }
.pregunta form { padding: 24px 24px 20px; gap: 12px; border-top: 5px solid var(--marca); }
.pregunta.ok form { border-top-color: var(--ok); }
.pregunta.publicar form { border-top-color: var(--amarillo); }
.pregunta.peligro form { border-top-color: var(--error); }
.preg-cab { display: flex; align-items: center; gap: 12px; }
.preg-cab h2 { margin: 0; font-size: 18px; }
.preg-ico { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; flex: none; background: var(--info-fondo); color: var(--marca-texto); }
.preg-ico svg { width: 20px; height: 20px; }
.pregunta.ok .preg-ico { background: var(--ok-fondo); color: var(--ok); }
.pregunta.publicar .preg-ico { background: var(--amarillo-fondo); color: var(--alerta); }
.pregunta.peligro .preg-ico { background: var(--error-fondo); color: var(--error); }
.preg-msg { color: var(--suave); line-height: 1.55; font-size: 13.5px; }
.preg-campo textarea { font: inherit; font-size: 14px; color: var(--texto); background: var(--tarjeta); border: 1.5px solid var(--linea);
                       border-radius: 10px; padding: 10px 12px; width: 100%; resize: vertical; }
.preg-campo textarea:focus { outline: 2px solid var(--amarillo); outline-offset: 1px; }
.btn-rojo-lleno { background: var(--error); color: #fff; }
.btn-rojo-lleno:hover { filter: brightness(1.08); }

/* ---------- Opciones de la ventana de confirmación (motivo del rechazo) ---------- */
.preg-opciones { border: 0; padding: 0; margin: 0; }
.preg-opciones legend { font-size: 12px; font-weight: 700; color: var(--suave); margin-bottom: 8px; }
#preg-lista { display: flex; flex-direction: column; gap: 6px; }
.opcion { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1.5px solid var(--linea); border-radius: 10px;
          font-size: 13.5px; font-weight: 500; color: var(--texto); cursor: pointer; transition: border-color .12s, background .12s; }
.opcion:hover { border-color: var(--linea-fuerte); }
.opcion input { accent-color: var(--error); width: 16px; height: 16px; flex: none; }
.opcion:has(input:checked) { border-color: var(--error); background: var(--error-fondo); }
.dialogo .opcion { flex-direction: row; align-items: center; gap: 10px; padding: 9px 12px; font-size: 13.5px; font-weight: 500; color: var(--texto); text-align: left; }
.dialogo .opcion span { flex: 1; }
.inf-aprende { background: var(--error-fondo); color: var(--texto) !important; border-radius: 8px; padding: 8px 10px; }
/* "hidden" siempre oculta, aunque el elemento tenga su propio display (botones, tarjetas...) */
[hidden] { display: none !important; }

/* ---------- Corregir publicación ---------- */
.dialogo.editar { width: min(1000px, calc(100vw - 32px)); }
.editar-grid { display: grid; grid-template-columns: minmax(220px, 340px) 1fr; gap: 18px; align-items: start; }
.editar-grid > img { width: 100%; border-radius: 10px; border: 1px solid var(--linea); position: sticky; top: 0; }
.editar-campos { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.ed-imagen { border: 1px solid var(--linea); border-radius: 10px; padding: 10px 14px 14px; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.ed-imagen legend { font-size: 12px; font-weight: 800; color: var(--texto); padding: 0 6px; }
.ed-nota { font-size: 11.5px; color: var(--suave); margin-top: -4px; }
.editar.guardando .editar-grid, .editar.guardando .dlg-acc { opacity: .55; pointer-events: none; }  /* se ve el avance, no se congela */
@media (max-width: 760px) { .editar-grid { grid-template-columns: 1fr; } .editar-grid > img { position: static; max-width: 260px; } }

/* ---------- Agenda, cambios y evolución ---------- */
.estado.publicando { background: var(--morado-fondo); color: var(--morado); }
.agenda-badge { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--texto); background: var(--info-fondo);
                padding: 7px 10px; border-radius: 8px; }
.agenda-badge svg { width: 16px; height: 16px; flex: none; color: var(--marca-texto); }
.agenda-badge b { text-transform: capitalize; }
.agenda-badge.sin { background: var(--alerta-fondo); color: var(--alerta); font-weight: 600; }
.dialogo h3 { margin: 10px 0 2px; font-size: 14px; }
.dif { display: flex; flex-direction: column; gap: 4px; padding: 10px 0; border-top: 1px solid var(--linea); }
.dif > b { font-size: 12px; color: var(--suave); }
.dif-txt { font-size: 13.5px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
.dialogo del, .dif-txt del { color: var(--error); background: var(--error-fondo); text-decoration: line-through; border-radius: 3px; padding: 0 2px; }
.dialogo ins, .dif-txt ins { color: var(--ok); background: var(--ok-fondo); text-decoration: none; font-weight: 700; border-radius: 3px; padding: 0 2px; }
.graf { margin: 6px 0 14px; }
.graf figcaption { display: flex; align-items: baseline; gap: 8px; font-size: 13px; color: var(--texto); }
.graf figcaption small { color: var(--suave); }
.graf .g-valor { margin-left: auto; font-size: 18px; font-weight: 800; color: var(--texto); }
.g-caja { position: relative; }
.g-caja svg { width: 100%; height: auto; display: block; overflow: visible; touch-action: none; }
.g-grid { stroke: var(--linea); stroke-width: 1; vector-effect: non-scaling-stroke; }
.g-eje { fill: var(--suave); font-size: 11px; }
.g-linea { fill: none; stroke: var(--serie); stroke-width: 2; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.g-punto { fill: var(--serie); stroke: var(--tarjeta); stroke-width: 2; vector-effect: non-scaling-stroke; }
.g-cruz { stroke: var(--linea-fuerte); stroke-width: 1; stroke-dasharray: 3 3; vector-effect: non-scaling-stroke; }
.g-tip { position: absolute; top: -6px; transform: translateX(-50%); pointer-events: none; background: var(--tarjeta); color: var(--texto);
         border: 1px solid var(--linea-fuerte); border-radius: 8px; padding: 5px 9px; font-size: 12px; white-space: nowrap; box-shadow: 0 4px 14px rgba(2,20,45,.15); }
.g-tip small { display: block; color: var(--suave); }
.g-tabla summary { cursor: pointer; font-size: 12.5px; font-weight: 700; color: var(--enlace); margin: 4px 0 8px; }
.g-tabla table { width: 100%; font-size: 12px; }
#preg-libre[hidden] { display: none; }

/* ---------- Agenda semanal ---------- */
.ag-cab { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.ag-nav { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ag-nav b { min-width: 170px; text-align: center; font-size: 15px; }
.ag-nav .btn { padding: 6px 12px; }
.ag-rejilla { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; }
.ag-vista { display: inline-flex; gap: 4px; margin-left: auto; }
.ag-vista .filtro { padding: 5px 12px; font-size: 12px; }
/* Vista mensual: celdas bajas con miniaturas */
.ag-semana.mes .ag-rejilla { gap: 6px; }
.ag-mes-cab { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; font-size: 11.5px; font-weight: 700;
  color: var(--suave); text-transform: capitalize; text-align: center; margin-bottom: 4px; }
.ag-mes-res { margin: 0 0 8px; }
.ag-dia.ag-mes-dia { min-height: 96px; padding: 6px; gap: 4px; }
.ag-dia.ag-mes-dia .ag-fecha b { font-size: 14px; }
.ag-dia.ag-mes-dia.fuera { opacity: .4; }
.ag-dia.ag-mes-dia .ag-vacio { min-height: 0; font-size: 10.5px; padding: 4px; }
.ag-item.mini { flex-direction: row; align-items: center; gap: 5px; padding: 3px; }
.ag-item.mini img { width: 30px; flex: none; }
.ag-item.mini .ag-txt small { font-size: 10.5px; font-weight: 700; color: var(--texto); }
.ag-dia { background: var(--tarjeta); border: 1px solid var(--linea); border-radius: 12px; padding: 10px; min-height: 230px;
          display: flex; flex-direction: column; gap: 8px; transition: border-color .12s, background .12s; }
.ag-dia.descanso { background: var(--sutil-2); }
.ag-dia.pasado { opacity: .62; }
.ag-dia.hoy { border-color: var(--amarillo); box-shadow: inset 0 3px 0 var(--amarillo); }
.ag-dia.sobre { border: 2px dashed var(--serie); background: var(--info-fondo); }
.ag-fecha { display: flex; align-items: baseline; gap: 6px; font-size: 12px; color: var(--suave); text-transform: capitalize; }
.ag-fecha b { font-size: 20px; color: var(--texto); }
.ag-fecha em { margin-left: auto; font-style: normal; font-size: 10.5px; font-weight: 800; color: #022753; background: var(--amarillo); padding: 1px 7px; border-radius: 10px; }
.ag-vacio { flex: 1; display: grid; place-items: center; font-size: 12px; color: var(--suave); border: 1px dashed var(--linea); border-radius: 10px; min-height: 70px; }
.ag-item { display: flex; flex-direction: column; gap: 6px; text-align: left; padding: 6px; border-radius: 10px; border: 1px solid var(--linea);
           background: var(--tarjeta); cursor: pointer; width: 100%; }
.ag-item[draggable] { cursor: grab; }
.ag-item[draggable]:active { cursor: grabbing; }
.ag-item.moviendo { opacity: .4; }
.ag-item img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 7px; background: var(--imagen); pointer-events: none; }
.ag-item.aprobado { border-left: 3px solid var(--serie); }
.ag-item.publicado { border-left: 3px solid var(--ok); }
.ag-item.publicando { border-left: 3px solid var(--morado); }
.ag-txt b { display: block; font-size: 11.5px; line-height: 1.3; color: var(--texto); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.ag-txt small { font-size: 10.5px; color: var(--suave); }
.ag-bandeja { margin-top: 14px; padding: 14px 16px; font-size: 13px; }
.ag-fila { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 160px)); gap: 10px; margin-top: 10px; }
@media (max-width: 1100px) { .ag-semana:not(.mes) .ag-rejilla { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .ag-semana:not(.mes) .ag-rejilla { grid-template-columns: 1fr; }
  .ag-dia { min-height: 0; }
  .ag-item { flex-direction: row; align-items: center; }
  .ag-item img { width: 56px; }
  .ag-semana.mes .ag-rejilla, .ag-mes-cab { gap: 3px; }
  .ag-dia.ag-mes-dia { min-height: 64px; padding: 3px; border-radius: 8px; }
  .ag-item.mini { padding: 2px; }
  .ag-item.mini img { width: 100%; }
  .ag-item.mini .ag-txt { display: none; }
  .ag-dia.ag-mes-dia .ag-vacio { display: none; }
  .ag-vista { margin-left: 0; }
}

/* ---------- Publicadas: desempeño y reportes ---------- */
.pub-paneles { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: 18px; margin-bottom: 18px; }
@media (max-width: 900px) { .pub-paneles { grid-template-columns: 1fr; } }
.desempeno, .reportes { padding: 16px 18px; }
.des-cab { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.des-cab h3 { margin: 0; font-size: 15px; }
.des-cab small { color: var(--suave); font-size: 11.5px; }
.des-cab .btn { margin-left: auto; padding: 6px 12px; }
.des-filtros { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 6px 0; }
.des-filtros > span { font-size: 11.5px; color: var(--suave); min-width: 86px; }
.des-filtros .filtro { padding: 4px 10px; font-size: 12px; }
.barras { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.barra-fila { display: grid; grid-template-columns: minmax(90px, 34%) 1fr auto; align-items: center; gap: 10px; font-size: 12.5px; }
.barra-etq { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--texto); }
.barra-pista { height: 14px; display: flex; align-items: center; }
.barra-pista i { display: block; height: 14px; background: var(--serie); border-radius: 0 4px 4px 0; }
.barra-fila:hover .barra-pista i { filter: brightness(1.12); }
.barra-val { display: flex; align-items: baseline; gap: 6px; min-width: 64px; }
.barra-val b { font-size: 13px; color: var(--texto); }
.barra-val small { font-size: 10.5px; color: var(--suave); }
.rep-lista { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; }
.rep-lista li { display: flex; align-items: baseline; gap: 8px; padding: 8px 0; border-top: 1px solid var(--linea); font-size: 13px; }
.rep-lista small { color: var(--suave); font-size: 11px; }
.rep-lista span { margin-left: auto; font-weight: 700; }
.rep-lista a { color: var(--enlace); text-decoration: none; }

/* ---------- Historial de una pieza ---------- */
.linea-tiempo { list-style: none; margin: 6px 0 0; padding: 0 0 0 4px; }
.linea-tiempo li { display: grid; grid-template-columns: 118px 1fr; gap: 12px; padding: 0 0 14px 18px; position: relative; font-size: 13px; }
.linea-tiempo li::before { content: ""; position: absolute; left: 0; top: 5px; width: 9px; height: 9px; border-radius: 50%; background: var(--serie); }
.linea-tiempo li.persona::before { background: var(--amarillo); box-shadow: 0 0 0 2px var(--alerta); }
.linea-tiempo li::after { content: ""; position: absolute; left: 4px; top: 16px; bottom: 0; width: 1px; background: var(--linea-fuerte); }
.linea-tiempo li:last-child::after { display: none; }
.lt-hora { color: var(--suave); font-size: 12px; }
.lt-quien { color: var(--suave); font-size: 12px; }
.linea-tiempo p { margin: 3px 0 0; color: var(--texto-2); font-size: 12.5px; line-height: 1.45; }
@media (max-width: 600px) { .linea-tiempo li { grid-template-columns: 1fr; gap: 2px; } }

/* ---------- Respaldos ---------- */
.respaldos { padding: 16px 18px; margin-bottom: 16px; }
.respaldos[hidden] { display: none; }

/* ---------- Avisos de estado ---------- */
.kpi.alerta { border-color: var(--alerta); background: var(--alerta-fondo); }
.kpi.alerta .val { color: var(--alerta); }
.act-export { gap: 10px; }
.act-export .filtros { margin: 0; }
.act-export label { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: var(--suave); }
.act-export input[type=date] { font: inherit; font-size: 13px; color: var(--texto); background: var(--tarjeta); border: 1.5px solid var(--linea); border-radius: 8px; padding: 5px 8px; }

/* ---------- Indicadores de carga ---------- */
.barra-carga { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 1000; overflow: hidden; pointer-events: none; opacity: 0; transition: opacity .2s; }
.barra-carga.activa { opacity: 1; }
.barra-carga i { position: absolute; top: 0; bottom: 0; width: 38%; background: var(--amarillo); border-radius: 3px;
                 box-shadow: 0 0 10px rgba(244,194,47,.7); animation: barra-va 1.1s ease-in-out infinite; }
@keyframes barra-va { from { left: -40%; } to { left: 100%; } }
.tareas { position: fixed; right: 18px; bottom: 18px; z-index: 999; display: flex; flex-direction: column; gap: 10px; width: min(360px, calc(100vw - 36px)); }
.progreso { background: var(--tarjeta); color: var(--texto); border: 1px solid var(--linea); border-left: 4px solid var(--amarillo); border-radius: 12px;
            padding: 12px 14px; box-shadow: 0 10px 30px rgba(2,20,45,.22); animation: pg-entra .2s ease-out; transition: opacity .35s, transform .35s; }
.progreso.en-linea { box-shadow: none; animation: none; margin-top: 6px; }
@keyframes pg-entra { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.pg-cab { display: flex; align-items: baseline; gap: 10px; font-size: 12.5px; margin-bottom: 8px; }
.pg-txt { flex: 1; color: var(--texto-2, var(--texto)); line-height: 1.35; }
.pg-pct { font-size: 13px; color: var(--marca-texto); font-variant-numeric: tabular-nums; }
.pg-pista { height: 8px; background: var(--sutil, #E9ECF1); border-radius: 8px; overflow: hidden; }
.pg-pista i { display: block; height: 100%; width: 0; border-radius: 8px; background: linear-gradient(90deg, #F4C22F, #FFD866); transition: width .15s linear; }
.progreso.listo { border-left-color: var(--ok); } .progreso.listo .pg-pista i { background: var(--ok); }
.progreso.fallo { border-left-color: var(--error); } .progreso.fallo .pg-pista i { background: var(--error); } .progreso.fallo .pg-txt { color: var(--error); }
.progreso.listo:not(.en-linea), .progreso.fallo:not(.en-linea) { animation: pg-sale .4s ease-in .5s forwards; }
@keyframes pg-sale { to { opacity: 0; transform: translateY(8px); } }
.trabajo-barra { margin: -4px 0 12px; height: 6px; }
#ed-progreso { position: sticky; bottom: -22px; z-index: 3; background: var(--tarjeta); margin: 0 -24px -22px; padding: 0 24px; }
#ed-progreso:empty { display: none; }
#ed-progreso .progreso { margin: 0; padding: 14px 16px 18px; border-radius: 0; border: 0; border-top: 1px solid var(--linea); border-left: 0; }

/* ---------- Aprovechar lo que funciona ---------- */
.marcas-op { display: flex; flex-wrap: wrap; gap: 6px; }
.op { font-size: 11.5px; font-weight: 800; padding: 4px 10px; border-radius: 20px; }
.op.reed { background: var(--ok-fondo); color: var(--ok); }
.reeditar { padding: 16px 18px; margin-bottom: 18px; }
.horario { padding: 16px 18px; margin-bottom: 18px; }
.carr-marca { position: absolute; left: 8px; bottom: 8px; background: rgba(2, 39, 83, .88); color: #fff; font-size: 11px;
  font-weight: 800; padding: 3px 9px; border-radius: 12px; }
.carr-tira { display: flex; gap: 6px; padding: 8px 12px 0; overflow-x: auto; }
.carr-tira em { font-size: 12px; color: var(--suave); }
.carr-lamina { flex: none; width: 52px; padding: 0; border: 1px solid var(--linea); border-radius: 6px; background: none; cursor: zoom-in; }
.carr-lamina img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 5px; display: block; }
.metricas.ig { border-top: 1px dashed var(--linea); padding-top: 6px; }
.metricas.ig .ig-marca { font-weight: 800; color: #C13584; }
.metricas.ig.error em { color: var(--error, #C43D3D); }
.metricas.ig .btn { padding: 4px 10px; font-size: 12px; }
.ig-conf { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--linea); }
.ig-conf h3 { margin: 0 0 8px; }
.horario .barra-fila.mejor .barra-etq { font-weight: 800; color: var(--azul, #022753); }
.horario .barra-etq small { color: var(--suave); font-weight: 400; }
.op-lista li { align-items: center; }
.op-lista li > div { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }
.op-lista li small.enfoque { color: var(--texto-2, var(--suave)); }
.op-lista li.inactiva { opacity: .55; }
.op-lista .btn { padding: 6px 12px; }

/* Días sin publicar (Agenda) */
.ag-pausas { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ag-pausas:empty { display: none; }
.ag-pausas .btn { padding: 5px 12px; font-size: 12px; }
.ag-pausa { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; padding: 4px 6px 4px 12px; border-radius: 20px;
  background: var(--alerta-fondo); color: var(--alerta); }
.ag-pausa-x { border: 0; background: none; color: inherit; font-size: 16px; line-height: 1; padding: 0 6px; cursor: pointer; border-radius: 50%; }
.ag-pausa-x:hover { background: var(--sutil); }
.ag-dia.bloqueado { background: repeating-linear-gradient(135deg, var(--sutil-2) 0 8px, var(--tarjeta) 8px 16px); }
.ag-dia.bloqueado .ag-vacio { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 2px;
  color: var(--alerta); border-color: var(--alerta); font-weight: 700; background: var(--tarjeta); }
.ag-dia.bloqueado .ag-vacio small { font-weight: 500; color: var(--suave); text-align: center; }

/* Cobertura del catálogo (sección Fotos) */
.cobertura { margin-bottom: 16px; }
.cobertura .des-cab .filtro { margin-left: auto; padding: 4px 10px; font-size: 12px; }
.cobertura .barras { max-height: 300px; overflow-y: auto; gap: 2px 24px; }
@media (min-width: 900px) { .cobertura .barras { display: grid; grid-template-columns: 1fr 1fr; } }
button.cob-fila { width: 100%; background: none; border: 0; padding: 3px 6px; border-radius: 6px; cursor: pointer; text-align: left; font: inherit; }
button.cob-fila:hover, button.cob-fila.activa { background: var(--sutil); }
.cob-tag { display: block; width: fit-content; margin-top: 6px; }

/* Así se verá el feed (Agenda) */
.feed-vista { margin-top: 16px; }
.feed-vista .des-cab .filtro { margin-left: auto; padding: 4px 10px; font-size: 12px; }
.feed-alerta-txt { color: var(--alerta); }
.feed-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; max-width: 560px; margin-top: 12px; }
.feed-item { position: relative; padding: 0; border: 0; background: var(--imagen); cursor: pointer; overflow: hidden; border-radius: 2px; }
.feed-item img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.feed-item:hover img { filter: brightness(1.06); }
.feed-item.aprobado, .feed-item.pendiente_aprobacion { outline: 2px dashed var(--serie); outline-offset: -2px; }
.feed-item.pendiente_aprobacion img { opacity: .7; }
.feed-item.choca { outline: 3px solid var(--amarillo); outline-offset: -3px; }
.feed-fecha { position: absolute; left: 6px; bottom: 6px; font-size: 10.5px; font-weight: 700; padding: 2px 7px; border-radius: 10px;
  background: rgba(2,39,83,.82); color: #fff; }
.feed-alerta { position: absolute; top: 6px; right: 6px; min-width: 20px; height: 20px; border-radius: 10px; display: grid; place-items: center;
  font-size: 11px; font-weight: 800; background: var(--amarillo); color: #022753; }

/* Vocabulario de marca */
.voc-intro { max-width: 900px; margin: 0 0 16px; }
.voc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; margin-bottom: 16px; }
.voc-lista, .voc-fijas { padding: 18px 20px; }
.voc-lista h3, .voc-fijas h3 { margin: 0 0 10px; font-size: 15px; }
.voc-form { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.voc-form[hidden] { display: none; }
.voc-form .btn { align-self: flex-start; }
.voc-par { display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; align-items: center; color: var(--suave); }
.voc-items { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.voc-items li { display: flex; align-items: center; gap: 8px; padding: 8px 0; border-top: 1px solid var(--linea-2); font-size: 13px; }
.voc-items li.ayuda { border: 0; }
.voc-txt { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.voc-txt s { color: var(--suave); }
.voc-txt small { color: var(--suave); font-size: 11px; }
.voc-tags { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 8px; }
.voc-tags > span:first-child { font-size: 11.5px; color: var(--suave); min-width: 150px; }
@media (max-width: 600px) { .voc-par { grid-template-columns: 1fr; } .voc-par span { display: none; } }

/* Biblioteca de escenas */
.esc-modo { padding: 18px 20px; margin-bottom: 14px; }
.esc-modos { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin: 10px 0 6px; }
.esc-modo-op { display: flex; flex-direction: column; gap: 4px; text-align: left; padding: 12px 14px; border-radius: 10px;
  border: 1.5px solid var(--linea); background: var(--tarjeta); cursor: pointer; font: inherit; color: var(--texto); }
.esc-modo-op small { color: var(--suave); font-size: 11.5px; line-height: 1.35; }
.esc-modo-op.activo { border-color: var(--marca); box-shadow: inset 0 0 0 1px var(--marca); background: var(--sutil); }
.esc-modo-op:disabled { cursor: default; }
.esc-modo-op:not(.activo):disabled { opacity: .6; }
#esc-filtros { margin-bottom: 14px; }
.esc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px; }
.esc-item { display: flex; flex-direction: column; overflow: hidden; }
.esc-item.fav { border-color: var(--amarillo); }
.esc-img img { display: block; width: 100%; aspect-ratio: 2 / 3; object-fit: cover; background: var(--imagen); }
.esc-info { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 6px; font-size: 12px; }
.esc-info small { color: var(--suave); }
.esc-tema { font: inherit; font-size: 12px; padding: 5px 8px; border-radius: 8px; border: 1.5px solid var(--linea); background: var(--tarjeta); color: var(--texto); }
.esc-acc { display: flex; gap: 6px; flex-wrap: wrap; }
.esc-acc .btn { padding: 5px 10px; font-size: 12px; }
.esc-elegir { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); grid-auto-rows: max-content; align-items: start; max-height: 60vh; overflow-y: auto; margin: 12px 0; }
.esc-op { padding: 0; border: 2px solid var(--linea); border-radius: 10px; overflow: hidden; background: var(--tarjeta); cursor: pointer; font: inherit; color: var(--texto); }
.esc-op.fav { border-color: var(--amarillo); }
.esc-op:hover:not(:disabled) { border-color: var(--marca); }
.esc-op img { display: block; width: 100%; aspect-ratio: 2 / 3; object-fit: cover; }
.esc-op span { display: block; padding: 5px 8px; font-size: 11.5px; text-align: left; }


/* ---------- Ajustes 2026-10-05: tarjetas a lo ancho, informe destacado, catálogo, configuración y notificaciones ---------- */
/* Las tarjetas de una misma fila se estiran a la misma altura (sin huecos) */
.inf-grid, .pub-paneles, .voc-grid, .agentes, .kpis, .roles-guia { align-items: stretch; }
.inf-caja, .agente, .kpi, .pub-paneles > .tarjeta { height: 100%; }
.cola-cab { grid-template-columns: 1fr minmax(300px, 380px); align-items: stretch; }
.cola-cab .cupo { display: flex; flex-direction: column; justify-content: center; }
/* El aviso de tope (p. ej. «Ya se aprobaron las 5…») va completo debajo de los puntos, no cortado arriba a la derecha */
.cola-cab .cupo .nota-cupo { flex: none; order: 3; white-space: normal; }
.cola-cab .cupo .cupo-puntos { margin-left: 0; }
@media (max-width: 1000px) { .cola-cab { grid-template-columns: 1fr; } }

/* Informe de la campaña: más notorio */
.tarjeta.informe { padding: 0; overflow: hidden; border: 2px solid var(--amarillo); box-shadow: 0 8px 24px rgba(2,39,83,.12); }
.informe .inf-cab { background: linear-gradient(110deg, #022753, #0B3A78); color: #fff; padding: 16px 20px; margin: 0; }
.inf-titulo { display: flex; align-items: center; gap: 14px; }
.inf-chev { font-size: 30px; font-weight: 900; letter-spacing: -6px; color: var(--amarillo); line-height: 1; }
.informe .inf-cab h2 { font-size: 22px; font-weight: 900; color: #fff; margin: 0; letter-spacing: -.2px; }
.informe .inf-cab .extra { color: #C9D4E6; }
.informe .inf-grid { padding: 18px 20px 20px; }
.informe .inf-caja { background: var(--sutil-2); }
.informe .inf-num { font-size: 34px; color: var(--marca-texto); line-height: 1.1; }
.informe .inf-rec { background: var(--amarillo-fondo); border-color: color-mix(in srgb, var(--amarillo) 55%, transparent); }

/* KPI del catálogo */
.kpi.catalogo-kpi { background: linear-gradient(135deg, var(--amarillo), #F8D66B); border-color: var(--amarillo); color: #022753; }
.kpi.catalogo-kpi .etq, .kpi.catalogo-kpi .nota { color: #3D4B63; }
.kpi.catalogo-kpi .val { font-size: 40px; color: #022753; }
.kpi.catalogo-kpi .barra { background: rgba(2,39,83,.15); }
.kpi.catalogo-kpi .barra i { background: #022753; }
.kpi.catalogo-kpi .ir { font-weight: 800; color: #022753; margin-top: 8px; }

/* Franja de cifras del catálogo */
.cat-stats { display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: 12px; margin-bottom: 16px; }
.cat-stats > div { border-radius: var(--radio); padding: 16px 18px; background: var(--tarjeta); border: 1px solid var(--linea); display: flex; flex-direction: column; justify-content: center; }
.cat-stats b { font-size: 30px; font-weight: 900; letter-spacing: -1px; line-height: 1.05; }
.cat-stats span { font-size: 11.5px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--suave); margin-top: 4px; }
.cat-stats .cs-principal { background: linear-gradient(115deg, #022753, #0B3A78); border: 0; color: #fff; flex-direction: row; align-items: center; gap: 14px; }
.cat-stats .cs-principal b { font-size: 52px; color: var(--amarillo); }
.cat-stats .cs-principal span { color: #fff; font-size: 14px; letter-spacing: .4px; margin: 0; }
.cat-stats .cs-dato.aviso b { color: var(--alerta); }
@media (max-width: 900px) { .cat-stats { grid-template-columns: repeat(2, 1fr); } .cat-stats .cs-principal { grid-column: 1 / -1; } }
#sec-fotos .barra-metricas .filtros { margin-bottom: 0; }
#fotos-info { margin: -6px 0 14px; }
.foto-item.archivada { opacity: .6; }
.foto-item.archivada img { filter: grayscale(1); }
.cob-tag.arch, .op.arch { background: var(--alerta-fondo); color: var(--alerta); }
.ficha-acc { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--linea); }
.ficha-arch { flex: 1 1 100%; font-size: 12.5px; font-weight: 700; color: var(--alerta); background: var(--alerta-fondo); padding: 8px 10px; border-radius: 8px; }
.ficha-arch small { display: block; font-weight: 500; color: var(--suave); }

/* Ventana de confirmación: casilla y campo para escribir */
.preg-casilla { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; padding: 10px 12px; border-radius: 10px;
                background: var(--info-fondo); margin-top: 10px; cursor: pointer; }
.preg-casilla[hidden] { display: none; }
.preg-casilla input { margin-top: 2px; width: 16px; height: 16px; accent-color: var(--marca); flex: none; }

/* Configuración de la campaña */
.cc-bloque { display: flex; flex-direction: column; gap: 8px; margin: 6px 0 12px; font-size: 13px; }
.cc-bloque .dias { display: flex; gap: 6px; flex-wrap: wrap; }
.cc-bloque .dia { width: 42px; height: 38px; font-size: 13px; }

/* Configuración y Notificaciones */
.conf-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.conf-caja { padding: 20px 22px; display: flex; flex-direction: column; gap: 12px; }
.conf-ancha { grid-column: 1 / -1; }
.conf-caja h3 { margin: 0; font-size: 16px; font-weight: 800; }
.conf-caja label { display: flex; flex-direction: column; gap: 5px; font-size: 12.5px; font-weight: 600; }
.conf-caja label small { font-weight: 500; color: var(--suave); }
.conf-caja input:not([type=checkbox]), .conf-caja select, .conf-caja textarea { font: inherit; font-weight: 500; padding: 9px 11px; border: 1.5px solid var(--linea); border-radius: 9px; background: var(--tarjeta); color: var(--texto); }
.conf-caja fieldset { border: 1px solid var(--linea); border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; }
.conf-caja legend { font-size: 12.5px; font-weight: 800; padding: 0 6px; }
.conf-caja [hidden] { display: none !important; }
.conf-form { display: flex; flex-direction: column; gap: 10px; margin-top: 10px; }
.conf-form > .btn, .conf-caja > .btn { align-self: flex-start; }
.conf-det summary { cursor: pointer; font-weight: 700; font-size: 13px; color: var(--enlace); }
.fb-actual { display: flex; gap: 12px; align-items: flex-start; padding: 14px; border-radius: 12px; background: var(--sutil-2); border: 1px solid var(--linea); }
.fb-actual.ok { background: var(--ok-fondo); }
.fb-actual.no { background: var(--error-fondo); }
.fb-actual .punto { width: 10px; height: 10px; border-radius: 50%; margin-top: 5px; flex: none; background: var(--error); }
.fb-actual .punto.ok { background: var(--ok); }
.fb-actual b { font-size: 15px; }
.fb-actual small { display: block; color: var(--suave); font-size: 12px; margin: 2px 0 4px; }
.fb-actual a { font-size: 12.5px; font-weight: 700; color: var(--enlace); }
#fb-paginas { display: flex; flex-wrap: wrap; gap: 8px; }
#fb-paginas .ayuda { flex: 1 1 100%; }
.fb-op { flex-direction: column; align-items: flex-start; }
.fb-op small { color: var(--suave); font-weight: 500; }
.conf-atajos { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.conf-atajos a { color: var(--enlace); font-weight: 700; }
.cuatro-col { display: grid; grid-template-columns: 1fr 1.2fr 1.4fr 1.4fr; gap: 10px; }
@media (max-width: 900px) { .conf-grid { grid-template-columns: 1fr; } .cuatro-col { grid-template-columns: 1fr 1fr; } }
.chips-cat, .not-para { display: flex; flex-wrap: wrap; gap: 6px; }
.conf-caja label.chip-cat { flex-direction: row; align-items: center; cursor: pointer; position: relative; }
.chip-cat input { position: absolute; opacity: 0; pointer-events: none; }
.chip-cat span { padding: 6px 12px; border-radius: 20px; border: 1.5px solid var(--linea); font-size: 12px; font-weight: 600; color: var(--suave); background: var(--tarjeta); }
.chip-cat input:checked + span { background: var(--marca); border-color: var(--marca); color: #fff; }
.chip-cat input:focus-visible + span { outline: 2px solid var(--amarillo); }
.tabla.notif td small { display: block; color: var(--suave); }
.tabla.notif th.c, .tabla.notif td.c { text-align: center; }
.tabla.notif th.c { font-size: 10.5px; max-width: 110px; white-space: normal; }
.tabla.notif input[type=checkbox] { width: 17px; height: 17px; accent-color: var(--marca); }
.not-agregar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.not-agregar select, .not-agregar input { flex: 1 1 180px; }
.not-agregar span { color: var(--suave); font-size: 12px; }
.recor-horas { display: flex; gap: 10px; flex-wrap: wrap; }
.recor-horas span { background: var(--amarillo-fondo); border: 1px solid color-mix(in srgb, var(--amarillo) 50%, transparent); padding: 10px 14px; border-radius: 10px; font-size: 13px; text-transform: capitalize; }
.recor-horas b { font-size: 18px; }
.conf-caja label.interruptor { flex-direction: row; align-items: center; gap: 10px; cursor: pointer; }
.interruptor input { width: 18px; height: 18px; accent-color: var(--ok); }
.conf-caja > .btn.conf-guia { margin-top: auto; }
.conf-caja #not-recordatorio .interruptor, #not-recordatorio .interruptor { margin-top: auto; }
.dialogo label.preg-casilla { flex-direction: row; align-items: flex-start; font-weight: 600; color: var(--texto); }

/* Presupuesto de IA y recordatorio */
.pres-cifras { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.pres-cifras b { font-size: 30px; font-weight: 900; letter-spacing: -1px; }
.pres-cifras span { color: var(--suave); font-size: 13px; }
.pres-barra { height: 10px; margin-top: 0; }
.pres-barra.aviso i { background: var(--alerta); }
.pres-barra.agotado i { background: var(--error); }
.camp-datos .pres-aviso b { color: var(--amarillo); }
.camp-datos .pres-agotado b { color: #FF9B9B; }
.acc-fila { display: flex; gap: 8px; flex-wrap: wrap; }
.mon-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.mon-item { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--linea); background: var(--ok-fondo); }
.mon-item.no { background: var(--error-fondo); }
.mon-item .punto { width: 10px; height: 10px; border-radius: 50%; margin-top: 5px; flex: none; background: var(--ok); }
.mon-item .punto.no { background: var(--error); }
.mon-item small { display: block; color: var(--suave); font-size: 12px; margin-top: 2px; }
.post .img.video { background: #000; cursor: default; }
.post .img.video video { width: 100%; height: 100%; object-fit: contain; display: block; background: #000; }
.rec-badge.pub-inmediata { background: #1E9E5A; color: #fff; }
.errores.por-corregir { background: var(--alerta-fondo); color: var(--alerta); font-weight: 700; }
.post .img.video { aspect-ratio: 4 / 5; }

/* Calendario editorial del blog */
.blog-plan { margin-top: 16px; }
.bp-lista { display: grid; gap: 8px; margin-top: 10px; }
.bp-fila { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 12px; border: 1px solid var(--linea); border-radius: 10px; }
.bp-fila.hecho { opacity: .8; }
.bp-sem { font-weight: 700; min-width: 140px; }
.bp-tema { flex: 1; min-width: 200px; }

/* ---------- Tienda en línea ---------- */
.tabla td small { display: block; color: var(--suave); font-size: 11px; margin-top: 2px; }
.tienda-mini { width: 48px; height: 48px; object-fit: contain; background: #fff; border: 1px solid var(--linea); border-radius: 8px; display: block; }
.tienda-mini.vacia { display: grid; place-items: center; font-size: 9px; color: var(--suave); background: var(--sutil); }
.blog-vista { margin-top: 10px; padding: 12px 14px; border-left: 3px solid var(--amarillo, #F4C22F); background: var(--sutil); border-radius: 6px; max-width: 760px; font-size: 13.5px; line-height: 1.55; }
.blog-vista h4 { margin: 12px 0 4px; font-size: 14px; }
.blog-vista p { margin: 0 0 8px; }
.blog-vista ul { margin: 0 0 8px 18px; padding: 0; }
tr.tienda-sin-foto td:first-child { box-shadow: inset 4px 0 0 #D64545; }
tr.tienda-sin-foto .tienda-mini.vacia { color: #B42318; background: #FDECEC; border-color: #F3B4B4; font-weight: bold; }
.aviso-sin-foto { margin: 0 0 10px; padding: 10px 14px; border-radius: 8px; font-size: 13px; line-height: 1.5;
                  background: #FDECEC; color: #7A1A1A; border: 1px solid #F3B4B4; }
.tienda-ficha { margin-top: 6px; max-width: 320px; font-size: 11.5px; }
.chip.ok { background: var(--ok-fondo); color: var(--ok); }
.tabla tr.inactivo td { opacity: .6; }

/* Tienda → Contactos: responder una cotización con precios */
.cotizar-resp { margin-top: 6px; }
.cotizar-resp summary { list-style: none; display: inline-block; cursor: pointer; }
.cotizar-resp summary::-webkit-details-marker { display: none; }
.form-cotizacion { display: grid; gap: 8px; margin-top: 8px; min-width: 260px; }
.form-cotizacion label { display: grid; gap: 4px; font-size: 13px; }

/* Tienda → acciones por producto publicado (seguimiento, editar, sin stock, retirar) */
.acciones-prod { position: relative; }
.acciones-prod > summary { list-style: none; display: inline-block; }
.acciones-prod > summary::-webkit-details-marker { display: none; }
.menu-acciones { display: grid; gap: 6px; margin-top: 6px; min-width: 210px; }
.menu-acciones .btn { width: 100%; text-align: center; }
.acciones-prod > summary.btn-chico { padding: 6px 14px; font-size: 13px; cursor: pointer; }
.acciones-prod[open] > summary.btn-chico { background: var(--azul, #000E2E); color: #fff; }
.acciones-prod[open] .menu-acciones { min-width: 280px; }
.menu-acciones label.casilla { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.menu-acciones label.casilla input { width: auto; }
.seg-ventas { color: var(--texto-2, #6b7280); }

/* Tienda → Ajustes: tipo de cambio automático */
.tc-auto { display: grid; gap: 6px; margin: 4px 0 12px; padding: 10px 12px; border-radius: 8px; background: var(--fondo-2, #f5f6f8); }
.tc-auto .btn { justify-self: start; }

/* Tienda → Pedidos (como «Ventas» de Mercado Libre) */
.filtros-pedidos { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 12px; }
.pedido { border: 1px solid var(--borde, #e5e7eb); border-radius: 10px; background: var(--tarjeta, #fff); margin-bottom: 12px; overflow: hidden; }
.pedido > header { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--borde, #e5e7eb); }
.pedido-total { margin-left: auto; font-weight: 700; }
.pedido-cuerpo { display: grid; grid-template-columns: 1.2fr 1fr; gap: 14px; padding: 12px 14px; }
@media (max-width: 760px) { .pedido-cuerpo { grid-template-columns: 1fr; } }
.pedido-item { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.pedido-item img { width: 44px; height: 44px; object-fit: contain; border: 1px solid var(--borde, #e5e7eb); border-radius: 6px; background: #fff; }
.pedido-item small, .pedido-datos small { display: block; color: var(--texto-2, #6b7280); }
.pedido-datos p { margin: 0 0 8px; }
.pedido-notas { background: var(--fondo-2, #f5f6f8); border-radius: 6px; padding: 6px 8px; }
.pedido-acciones { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 10px 14px; border-top: 1px solid var(--borde, #e5e7eb); }
.form-guia { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.form-guia input, .form-guia select { min-width: 140px; }
