/* ============================================================
   COMPONENTS.CSS — Componentes reutilizables en todos los módulos
   ============================================================ */

/* ── BOTONES ── */
.btn-primary{background:var(--red);color:#fff;padding:9px 16px;border-radius:8px;font-weight:700;font-size:12.5px;display:inline-flex;align-items:center;gap:6px}
.btn-primary:hover{opacity:.92}
.btn-secondary{background:#fff;border:1.5px solid var(--line);color:var(--txt);padding:9px 16px;border-radius:8px;font-weight:700;font-size:12.5px;display:inline-flex;align-items:center;gap:6px}
.btn-secondary:hover{border-color:#cfd6e2}
.btn-ghost{color:var(--muted);padding:8px 10px;border-radius:8px;font-weight:600;font-size:12.5px}
.btn-ghost:hover{background:#eef1f6;color:var(--txt)}
.btn-danger{background:#fee2e2;color:var(--red);padding:9px 16px;border-radius:8px;font-weight:700;font-size:12.5px}
.btn-danger:hover{background:#fecaca}
.btn-sm{padding:6px 10px;font-size:11.5px}
.btn-icon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:var(--muted)}
.btn-icon:hover{background:#eef1f6;color:var(--txt)}
.btn-icon svg{width:15px;height:15px}

/* ── TARJETAS ── */
.card{background:var(--card);border-radius:12px;padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.card-h{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.card-h svg{width:16px;height:16px}
.card-h h3{font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.card-h .card-edit{margin-left:auto}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}

.kpi-row{display:grid;grid-template-columns:repeat(6,1fr);gap:11px;margin-bottom:16px}
.kpi{background:var(--card);border-radius:12px;padding:12px;box-shadow:var(--shadow);cursor:pointer;transition:.15s;border:1px solid transparent}
.kpi:hover{transform:translateY(-2px);border-color:var(--line)}
.kpi-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.kpi-ico{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}
.kpi-ico svg{width:15px;height:15px;color:#fff}
.kpi-lbl{font-size:8.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:700}
.kpi-val{font-size:19px;font-weight:800;line-height:1.1}
.kpi-sub{font-size:10px;color:var(--muted)}

/* ── TARJETA DE EVENTO ── */
.ev-card{position:relative;display:flex;gap:12px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:10px;cursor:pointer;transition:.15s}
.ev-card:hover{border-color:var(--red)}
.ev-thumb{width:52px;height:52px;border-radius:8px;background:linear-gradient(135deg,#3a3f52,#6b7391);flex-shrink:0;display:grid;place-items:center;color:#fff;font-weight:800;font-size:17px}
.ev-body{flex:1;min-width:0}
.ev-name{font-weight:700;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev-meta{font-size:11px;color:var(--muted);margin:3px 0 6px}
.ev-prog{display:flex;align-items:center;gap:8px;margin-top:8px}
.bar{flex:1;height:5px;background:#eef0f4;border-radius:3px;overflow:hidden}
.bar>i{display:block;height:100%;border-radius:3px;background:var(--green)}
.ev-pct{font-size:11px;font-weight:700;color:var(--muted)}
.ev-actions{position:absolute;top:10px;right:10px;display:flex;gap:4px;opacity:0;transition:.15s}
.ev-card:hover .ev-actions{opacity:1}

/* ── BADGES / ESTADOS ── */
.badge{display:inline-block;font-size:9.5px;font-weight:700;padding:3px 9px;border-radius:20px}
.badge.borrador{background:#eef0f4;color:#6b7280}
.badge.planificacion,.badge.programado{background:#e8f0ff;color:#2f6fd0}
.badge.confirmado{background:#fff0e0;color:#b96b00}
.badge.curso,.badge.produccion{background:#e6f7ee;color:#1c8a4c}
.badge.finalizado{background:#eef0f4;color:#6b7280}
.badge.cancelado{background:#fee2e2;color:#b91c1c}
.badge.archivado{background:#f3f4f6;color:#9ca3af}

/* ── TABLAS ── */
table.tbl{width:100%;border-collapse:collapse;font-size:12.5px}
table.tbl th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:700;padding:9px 10px;border-bottom:1px solid var(--line)}
table.tbl td{padding:10px;border-bottom:1px solid var(--line)}
table.tbl tr:last-child td{border-bottom:none}
table.tbl tr:hover td{background:#fafbfc}

/* ── FORMULARIOS ── */
.form-field{margin-bottom:14px}
.form-field label{font-size:11.5px;font-weight:700;color:var(--muted);display:block;margin-bottom:5px}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fff}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* ── MODALES ── */
.modal-backdrop{position:fixed;inset:0;background:rgba(20,24,34,.45);display:none;align-items:center;justify-content:center;z-index:200}
.modal-backdrop.on{display:flex}
.modal-box{background:#fff;border-radius:14px;padding:22px;width:440px;max-width:92vw;max-height:88vh;overflow-y:auto}
.modal-box h3{font-size:15px;font-weight:800;margin-bottom:14px}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}

/* ── TOASTS / MENSAJES ── */
#toast-wrap{position:fixed;bottom:18px;right:18px;display:flex;flex-direction:column;gap:8px;z-index:300}
.toast{background:#1a2233;color:#fff;padding:11px 16px;border-radius:9px;font-size:12.5px;font-weight:600;box-shadow:var(--shadow);max-width:320px}
.toast.err{background:var(--red)}
.toast.ok{background:var(--green)}

/* ── ASISTENTE POR PASOS (Crear evento) ── */
.wizard-steps{display:flex;gap:8px;margin-bottom:22px}
.wizard-step{flex:1;text-align:center;padding:9px 6px;border-radius:8px;background:#eef0f4;color:var(--muted);font-size:11px;font-weight:700}
.wizard-step.active{background:var(--red);color:#fff}
.wizard-step.done{background:#e6f7ee;color:#1c8a4c}
/* ============================================================
   DASHBOARD-VISUAL.CSS
   Rediseño visual del encabezado y las tarjetas del Resumen del
   evento (y KPIs del Dashboard general). Sumar este <link> DESPUÉS
   de components.css en index_fase1.html.
   ============================================================ */

/* ── Encabezado del evento ── */
.re-header{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.re-header .re-titulo-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.re-header h2{font-size:22px;font-weight:800}
.re-header .re-sub2{font-size:12.5px;color:var(--muted);margin-top:3px}

.pill-group{display:flex;gap:6px;margin-left:auto}
.pill-group .pl-lbl{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700;width:100%;margin-bottom:4px}
.pill{padding:7px 13px;border-radius:9px;border:1.5px solid var(--line);font-size:12px;font-weight:700;color:var(--muted);background:#fff;display:flex;align-items:center;gap:5px}
.pill.on{border-color:var(--red);color:var(--red);background:#fff5f5}

.dias-badge{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 14px;box-shadow:var(--shadow)}
.dias-badge .lbl{font-size:8.5px;text-transform:uppercase;color:var(--muted);font-weight:700;letter-spacing:.4px}
.dias-badge .num{font-size:18px;font-weight:800;color:var(--red)}
.dias-badge .num.faltan{color:var(--green)}

/* ── KPI cards con ícono de color (estilo mockup) ── */
.kpi2-row{display:grid;grid-template-columns:repeat(6,1fr);gap:11px;margin-bottom:16px}
.kpi2{background:#fff;border-radius:12px;padding:13px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.kpi2::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--kc,var(--red));opacity:.85}
.kpi2-top{display:flex;align-items:center;gap:7px;margin-bottom:10px}
.kpi2-ico{width:26px;height:26px;border-radius:7px;background:var(--kc,var(--red));display:grid;place-items:center;flex-shrink:0}
.kpi2-ico svg{width:14px;height:14px;color:#fff}
.kpi2-lbl{font-size:8.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:800}
.kpi2-val{font-size:21px;font-weight:800;line-height:1}
.kpi2-sub{font-size:10.5px;color:var(--muted);margin-top:3px}

/* ── Donut ── */
.donut-wrap{position:relative;width:110px;height:110px;margin:0 auto}
.donut-wrap svg{transform:rotate(-90deg)}
.donut-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.donut-label b{font-size:22px;font-weight:800;line-height:1}
.donut-label span{font-size:9px;color:var(--muted);font-weight:700;text-transform:uppercase;margin-top:2px}

.donut-legend{margin-top:14px;display:flex;flex-direction:column;gap:8px}
.donut-legend .li{display:flex;align-items:center;gap:8px;font-size:12px}
.donut-legend .dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0}
.donut-legend .nm{flex:1;color:var(--txt)}
.donut-legend .pct{font-weight:700;font-size:11.5px}

/* ── Mini barras (pedidos por categoría / personal por puesto) ── */
.mbar-row{margin-bottom:12px}
.mbar-row:last-child{margin-bottom:0}
.mbar-top{display:flex;justify-content:space-between;font-size:11.5px;margin-bottom:5px}
.mbar-top .nm{color:var(--txt);font-weight:600}
.mbar-top .frac{color:var(--muted);font-weight:700}
.mbar-track{height:6px;background:#eef0f4;border-radius:4px;overflow:hidden}
.mbar-fill{height:100%;border-radius:4px;background:var(--red)}

/* ── Timeline de cronograma (puntitos) ── */
.crono-mini{display:flex;flex-direction:column;gap:14px;position:relative;padding-left:4px}
.crono-mini .ci{display:flex;align-items:center;gap:10px;font-size:12.5px}
.crono-mini .ci .dot2{width:8px;height:8px;border-radius:50%;background:var(--amber);flex-shrink:0}
.crono-mini .ci.done .dot2{background:var(--green)}
.crono-mini .ci .txt{flex:1;color:var(--txt)}
.crono-mini .ci .hora{color:var(--muted);font-size:11px}

/* ── Lista logística ── */
.logis-mini{display:flex;flex-direction:column;gap:9px}
.logis-mini .grp-lbl{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:800;margin:6px 0 2px}
.logis-mini .li{display:flex;align-items:center;gap:8px;font-size:12px}
.logis-mini .li .dot3{width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0}
.logis-mini .li.pend .dot3{background:var(--amber)}

.card-link-btn{color:var(--red);font-size:12px;font-weight:700;margin-top:10px;display:inline-block}
.card-link-btn:hover{text-decoration:underline}

@media (max-width:1100px){
  .kpi2-row{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:860px){
  .kpi2-row{grid-template-columns:repeat(2,1fr)}
  .pill-group{margin-left:0}
}

/* ============================================================
   LÍNEA DE TIEMPO DEL EVENTO — única, vertical, responsive
   Todos los días y categorías juntos, en orden. Sin scroll
   horizontal: en celular se acomoda solo hacia abajo.
   ============================================================ */
#cro-unica{padding:6px 4px}
.tl-dia-lbl2{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#fff;background:#aab0c0;border-radius:20px;padding:3px 11px;display:inline-block;margin:18px 0 14px}
.tl-dia-lbl2:first-child{margin-top:2px}

.tl2-line{position:relative;padding-left:34px}
.tl2-line::before{content:'';position:absolute;left:12px;top:4px;bottom:4px;width:3px;background:var(--line);border-radius:3px}
.tl2-item{position:relative;padding-bottom:18px;display:flex;gap:12px;align-items:flex-start}
.tl2-item:last-child{padding-bottom:0}
.tl2-dot{position:absolute;left:-34px;top:0;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;border:3px solid #fff;z-index:1}
.tl2-dot.pendiente{background:#f6b93b;box-shadow:0 0 0 4px rgba(246,185,59,.20)}
.tl2-dot.en_progreso{background:#4098f7;box-shadow:0 0 0 4px rgba(64,152,247,.20)}
.tl2-dot.completado{background:#34c07a;box-shadow:0 0 0 4px rgba(52,192,122,.20)}
.tl2-dot.critico{background:#f0554f;box-shadow:0 0 0 4px rgba(240,85,79,.20)}

.tl2-body{flex:1;min-width:0;background:#f8f9fb;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.tl2-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tl2-cat-ico{font-size:14px}
.tl2-hora{font-size:11.5px;font-weight:800}
.tl2-hora.pendiente{color:#c98a0f}
.tl2-hora.en_progreso{color:#2678d6}
.tl2-hora.completado{color:#1c8a4c}
.tl2-hora.critico{color:#c8342e}
.tl2-titulo{font-size:13px;font-weight:700;color:var(--txt)}
.tl2-resp{font-size:11px;color:var(--muted)}
.tl2-actions{margin-left:auto;display:flex;gap:2px;opacity:0;transition:.15s}
.tl2-item:hover .tl2-actions{opacity:1}
.tl2-estado-select{font-size:10.5px;padding:4px 7px;border:1px solid var(--line);border-radius:6px;margin-top:7px;color:var(--muted);max-width:150px}
.tl2-vacio{color:var(--muted);font-size:12.5px;padding:14px 4px}

@media (max-width:640px){
  .tl2-actions{opacity:1}
  .tl2-line{padding-left:28px}
  .tl2-dot{left:-28px;width:22px;height:22px;font-size:10px}
}

/* ============================================================
   CALENDARIO
   ============================================================ */
.cal-grid-head{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:6px}
.cal-grid-head div{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--muted);text-align:center;padding:4px 0}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.cal-day{background:#fff;min-height:96px;padding:6px;display:flex;flex-direction:column;gap:3px}
.cal-day.out{background:#fafbfc}
.cal-day.out .cal-num{color:#c7ccd6}
.cal-day.today{background:#fff5f5}
.cal-day.today .cal-num{color:var(--red)}
.cal-num{font-size:11.5px;font-weight:700;color:var(--txt)}
.cal-pill{display:block;width:100%;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;font-size:9px;padding:2px 6px}
.cal-mas{font-size:9px;color:var(--muted);font-weight:700;cursor:pointer;padding:1px 2px}
.cal-mas:hover{color:var(--txt)}

@media (max-width:860px){
  .cal-grid-head{display:none}
  .cal-grid{grid-template-columns:1fr;border-radius:0;border:none;background:none;gap:8px}
  .cal-day{border-radius:10px;border:1px solid var(--line);min-height:auto}
  .cal-day.out{display:none}
  .cal-day .cal-num::after{content:attr(data-diasemana);margin-left:6px;font-size:10px;color:var(--muted);font-weight:600;text-transform:capitalize}
}


/* ============================================================
   RESUMEN DEL EVENTO · TARJETAS DE INFORMACIÓN
   Mejora la separación visual entre etiquetas y valores.
   ============================================================ */
.re-info-grid{
  align-items:stretch;
}

.re-detail-card{
  min-height:250px;
  padding:18px 18px 16px;
  border:1px solid var(--line);
  box-shadow:0 4px 14px rgba(16,24,40,.055);
  overflow:hidden;
}

.re-detail-head{
  margin:-2px 0 12px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}

.re-detail-head h3{
  color:#66728a;
  font-size:10.5px;
  letter-spacing:.7px;
}

.re-detail-body{
  display:flex;
  flex-direction:column;
  gap:3px;
  font-size:12.5px;
  line-height:1.35;
  color:var(--txt);
}

/* Funciona con las filas <div> que genera actualmente el JS. */
.re-detail-body > div{
  display:grid;
  grid-template-columns:minmax(112px,42%) minmax(0,1fr);
  align-items:start;
  gap:12px;
  padding:7px 9px;
  border-radius:7px;
}

.re-detail-body > div:nth-child(odd){
  background:#f8fafc;
}

.re-detail-body > div:hover{
  background:#f1f4f8;
}

.re-detail-body > div > span:first-child,
.re-detail-body > div > b:first-child,
.re-detail-body > div > strong:first-child{
  color:var(--muted);
  font-weight:600;
}

.re-detail-body > div > span:last-child,
.re-detail-body > div > b:last-child,
.re-detail-body > div > strong:last-child{
  color:var(--txt);
  font-weight:700;
  overflow-wrap:anywhere;
}

/* Compatibilidad si el JS genera etiquetas simples dentro del contenedor. */
.re-detail-body .lbl,
.re-detail-body .label,
.re-detail-body small{
  color:var(--muted);
  font-weight:600;
}

.re-detail-body .val,
.re-detail-body .value{
  color:var(--txt);
  font-weight:700;
}

.re-budget-card .re-detail-body > div:last-child{
  background:#eefaf3;
}

.re-detail-note{
  margin-top:auto;
  padding:10px 11px;
  border-radius:8px;
  background:#f7f8fb;
  border:1px dashed var(--line);
  color:var(--muted)!important;
  font-size:11px;
  line-height:1.4;
}

@media (max-width:860px){
  .re-detail-card{min-height:auto}
  .re-detail-body > div{
    grid-template-columns:1fr;
    gap:3px;
    padding:8px 9px;
  }
}

.ev-actions{display:flex;gap:7px;margin-top:12px}.ev-card{position:relative}.cal-day{cursor:pointer}.cal-day:hover{background:var(--surface-2,#f7f8fb)}
.sidebar-storage{margin:auto 12px 14px;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:10px;font-size:11px}.storage-title{font-weight:700;margin-bottom:8px}.storage-bar{height:7px;background:rgba(255,255,255,.15);border-radius:999px;overflow:hidden}.storage-bar i{display:block;height:100%;width:0;background:#61d095;border-radius:999px}.storage-text{margin-top:7px;opacity:.75;line-height:1.35}
.tl2-dot.pendiente,.tl2-hora.pendiente{color:#b7791f}.tl2-dot.en_progreso,.tl2-hora.en_progreso{color:#2563eb}.tl2-dot.completado,.tl2-hora.completado{color:#17803d}.tl2-item:has(.tl2-estado-select option[value="pendiente"]:checked){border-left:3px solid #e0a11b}.tl2-item:has(.tl2-estado-select option[value="en_progreso"]:checked){border-left:3px solid #3b82f6}.tl2-item:has(.tl2-estado-select option[value="completado"]:checked){border-left:3px solid #22a447}

/* ============================================================
   HOME / RESUMEN — portada visual de próximos eventos
   ============================================================ */
.home-events{max-width:1500px;margin:0 auto;padding-bottom:30px}
.home-topbar,.home-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.home-topbar{margin-bottom:18px}.home-topbar h2{font-size:25px;letter-spacing:-.4px;margin-top:3px}.home-topbar p{font-size:12.5px;color:var(--muted);margin-top:5px}
.home-eyebrow,.home-section-kicker{font-size:9.5px;font-weight:800;letter-spacing:.75px;color:var(--purple)}
.home-new-event{background:linear-gradient(135deg,#007C38,#6840ef);color:#fff;padding:10px 16px;border-radius:10px;font-size:12px;font-weight:800;box-shadow:0 8px 22px rgba(124,92,240,.22)}
.home-new-event:hover{transform:translateY(-1px)}
.home-featured{display:grid;grid-template-columns:minmax(330px,1.03fr) minmax(320px,.93fr) minmax(310px,.74fr);background:#fff;border:1px solid #e9eaf1;border-radius:18px;box-shadow:0 12px 35px rgba(31,35,53,.055);overflow:hidden;min-height:410px}
.home-featured-photo{position:relative;min-height:410px;background:linear-gradient(145deg,#f1eefc,#eef2f9);overflow:hidden}.home-featured-photo>img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}.home-photo-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8b86a6;background:radial-gradient(circle at 50% 35%,#fff 0,#f5f3fb 45%,#ebeef6 100%)}.home-photo-placeholder span svg{width:35px;height:35px;opacity:.55}.home-photo-placeholder b{text-transform:uppercase;font-size:12px;letter-spacing:.8px;margin-top:12px}.home-photo-placeholder small{font-size:11px;margin-top:5px;color:#a6a1b8}.home-photo-actions{position:absolute;left:18px;bottom:18px;z-index:2}.home-photo-btn{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);padding:9px 12px;border-radius:9px;font-size:11.5px;font-weight:800;box-shadow:0 6px 18px rgba(16,24,40,.12)}.home-photo-btn svg{width:16px;height:16px}.home-photo-btn:disabled{opacity:.65}
.home-featured-info{padding:28px 28px 24px;display:flex;flex-direction:column}.home-next-badge{align-self:flex-start;background:#f1edff;color:#6840ef;font-size:9px;font-weight:800;letter-spacing:.6px;padding:7px 11px;border-radius:7px}.home-featured-info h1{font-size:34px;line-height:1.02;margin:18px 0 5px;letter-spacing:-1px;color:#151727}.home-event-date{font-size:14px;color:#6840ef;font-weight:800;margin-bottom:22px}.home-meta-list{display:grid;gap:11px}.home-meta-row{display:flex;align-items:center;gap:10px;color:#4e5669;font-size:12px}.home-meta-row svg{width:16px;height:16px;color:#737c90;flex:0 0 auto}.home-status-line{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:11.5px;color:#626b7e}.home-status-dot{width:9px;height:9px;border-radius:50%;background:#a9b0be;display:inline-block;flex:0 0 auto}.home-status-dot.confirmed{background:#39b869}.home-status-dot.course{background:#2f7ef4}.home-status-dot.finished{background:#007C38}.home-status-dot.cancelled{background:#ef4444}.home-status-dot.planning{background:#f5a623}.home-status-dot.warning{background:#f5a623}.home-featured-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:20px}.home-gastro-btn{background:linear-gradient(135deg,#6e46ec,#825ff4);color:#fff;font-size:11.5px;font-weight:800;padding:10px 13px;border-radius:9px;box-shadow:0 6px 16px rgba(124,92,240,.18)}.home-event-open{border:1px solid #e2e4eb;background:#fff;color:#4e5669;font-size:11.5px;font-weight:700;padding:9px 12px;border-radius:9px;display:flex;align-items:center;gap:7px}.home-event-open svg{width:14px;height:14px}
.home-featured-side{border-left:1px solid #ececf2;padding:18px;display:flex;flex-direction:column;gap:12px;background:#fdfdff}.home-countdown-card,.home-weather-card,.home-proposal-status{border:1px solid #e8e8f1;border-radius:12px;background:#fff;padding:14px}.home-countdown{display:grid;grid-template-columns:repeat(4,1fr);margin-top:10px}.home-countdown>div{text-align:center;border-right:1px solid #eeeeF4}.home-countdown>div:last-child{border-right:none}.home-countdown b{display:block;font-size:22px;color:#6840ef}.home-countdown span{display:block;font-size:7.5px;color:#8c93a4;margin-top:2px;font-weight:800}.home-weather-head{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.3px}.home-weather-head span{font-size:20px}.home-weather-main{display:flex;align-items:center;gap:12px;margin:11px 0}.home-weather-main>strong{font-size:31px;line-height:1}.home-weather-main div{display:flex;flex-direction:column}.home-weather-main div b{font-size:11px}.home-weather-main div span,.home-weather-details,.home-weather-unavailable span{font-size:9.5px;color:#7c8495}.home-weather-details{display:flex;justify-content:space-between;border-top:1px solid #eef0f5;padding-top:9px}.home-weather-unavailable{display:flex;flex-direction:column;gap:5px;margin-top:12px}.home-weather-unavailable strong{font-size:11px}.home-weather-loading{font-size:11px;color:var(--muted);padding:12px 0}.home-proposal-status{background:#faf8ff}.home-proposal-status.pending{background:#fffaf1;border-color:#f6e6c2}.home-proposal-status-title{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.25px;color:#5f4ea2}.home-proposal-status.pending .home-proposal-status-title{color:#a46b00}.home-file-row{display:flex;align-items:center;gap:9px;margin-top:11px}.home-file-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:7px;background:#fff;border:1px solid #e8e8ef;font-size:16px}.home-file-icon.big{width:43px;height:43px;font-size:21px}.home-file-name{min-width:0;display:flex;flex-direction:column;gap:2px;flex:1}.home-file-name b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-file-name span{font-size:8.5px;color:#8c93a4}.home-file-actions{display:flex;gap:4px;margin-top:9px}.home-file-actions button{border:1px solid #e1dcef;background:#fff;color:#655690;font-size:9px;font-weight:800;padding:6px 8px;border-radius:7px}.home-attach-proposal{width:100%;margin-top:11px;border:1px dashed #e4c678;background:#fffdf7;color:#9b6900;padding:9px;border-radius:8px;font-size:10px;font-weight:800}
.home-section-head{margin:24px 0 10px}.home-section-head h3{font-size:15px;margin-top:2px}.home-link-btn{font-size:10.5px;color:#6840ef;font-weight:800;border:1px solid #ded6fb;border-radius:8px;padding:7px 11px;background:#fff}.home-upcoming-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.home-event-card{background:#fff;border:1px solid #e8eaf0;border-radius:14px;display:grid;grid-template-columns:126px 1fr 26px;min-height:148px;overflow:hidden;box-shadow:0 5px 18px rgba(16,24,40,.035);position:relative}.home-event-thumb{position:relative;background:#f1f2f6;min-height:148px;overflow:hidden}.home-event-thumb>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.home-event-thumb .home-photo-placeholder b{font-size:9px}.home-event-thumb .home-photo-placeholder small{font-size:8px}.home-event-thumb .home-photo-placeholder span svg{width:24px;height:24px}.home-card-photo{position:absolute;left:8px;bottom:8px;z-index:2;width:27px;height:27px;border-radius:7px;background:rgba(255,255,255,.92);display:grid;place-items:center;box-shadow:0 3px 10px rgba(0,0,0,.1)}.home-card-photo svg{width:14px;height:14px}.home-event-card-body{padding:14px 7px 11px 14px;min-width:0}.home-card-date{font-size:8.5px;color:#6840ef;font-weight:800;letter-spacing:.3px}.home-event-card h4{font-size:15px;line-height:1.1;margin:5px 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-card-location{display:flex;align-items:center;gap:5px;font-size:9.5px;color:#7a8293;white-space:nowrap;overflow:hidden}.home-card-location svg{width:12px;height:12px;flex:0 0 auto}.home-card-location span{overflow:hidden;text-overflow:ellipsis}.home-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:10px}.home-format-chip{font-size:8.5px;color:#626b7d}.home-small-status{font-size:8.5px;color:#6c7382;display:flex;align-items:center;gap:4px}.home-small-status .home-status-dot{width:6px;height:6px}.home-card-proposal{font-size:8px;font-weight:800;color:#9b6900;margin-top:9px;text-align:left}.home-card-proposal.has{color:#25854e}.home-card-open{font-size:25px;color:#8e94a2;height:100%}.home-card-open:hover{color:#6840ef;background:#faf9ff}
.home-recent-head{margin-top:24px}.home-recent-card{background:#fff;border:1px solid #e8eaf0;border-radius:14px;overflow:hidden}.home-recent-table{display:flex;flex-direction:column}.home-recent-row{display:grid;grid-template-columns:1.25fr .65fr 1.15fr .65fr .55fr .65fr;gap:12px;align-items:center;padding:11px 16px;border-bottom:1px solid #f0f1f5;text-align:left;font-size:10px;width:100%}.home-recent-row:last-child{border-bottom:none}.home-recent-row.head{background:#fbfbfd;color:#8a91a1;font-size:8.5px;text-transform:uppercase;font-weight:800}.home-recent-row:not(.head):hover{background:#faf9ff}.home-recent-row:not(.head)>span{color:#677083}.home-recent-row>span:last-child{display:flex;align-items:center;gap:5px}.home-recent-row .home-status-dot{width:7px;height:7px}
.home-empty{background:#fff;border:1px dashed #dfe2e9;border-radius:14px;padding:28px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:#7b8598;text-align:center}.home-empty-big{grid-column:1/-1;min-height:340px}.home-empty b{color:#343a49}.home-primary{margin-top:8px;background:#7049ee;color:#fff;padding:9px 13px;border-radius:8px;font-size:11px;font-weight:800}.home-upcoming-empty{grid-column:1/-1;min-height:90px}
.home-modal{position:fixed;inset:0;z-index:500;display:none;align-items:center;justify-content:center;padding:20px}.home-modal.on{display:flex}.home-modal-backdrop{position:absolute;inset:0;background:rgba(19,22,34,.48);backdrop-filter:blur(3px)}.home-modal-card{position:relative;width:min(520px,100%);background:#fff;border-radius:17px;padding:25px;box-shadow:0 24px 70px rgba(19,22,34,.25);z-index:1}.home-modal-close{position:absolute;right:14px;top:10px;font-size:25px;color:#8a91a0}.home-modal-icon{width:38px;height:38px;border-radius:10px;background:#f3efff;display:grid;place-items:center;margin-bottom:12px}.home-modal-card h3{font-size:19px;margin:4px 0}.home-modal-sub{font-size:11px;color:#7d8596}.home-modal-pending{display:flex;align-items:center;gap:7px;border-radius:9px;background:#fff9ec;color:#986700;padding:10px 12px;margin:16px 0 10px;font-size:10.5px}.home-modal-file{display:flex;align-items:center;gap:10px;border:1px solid #ececf2;border-radius:10px;padding:10px;margin:16px 0 10px}.home-modal-file-actions{display:flex;gap:5px}.home-modal-file-actions button{font-size:9.5px;font-weight:800;color:#6840ef;background:#f4f0ff;border-radius:7px;padding:7px 8px}.home-dropzone{min-height:150px;border:1.5px dashed #cfc8e8;border-radius:12px;background:#faf9ff;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px;cursor:pointer;transition:.15s;margin-top:10px}.home-dropzone.drag{border-color:#6840ef;background:#f3efff;transform:scale(1.005)}.home-drop-icon{font-size:24px;color:#6840ef}.home-dropzone b{font-size:11.5px;margin:6px 0 4px}.home-dropzone small{max-width:340px;color:#8c93a4;font-size:9px;line-height:1.45}.home-upload-progress{height:4px;background:#eeeaf8;border-radius:10px;overflow:hidden;margin-top:10px}.home-upload-progress i{display:block;width:0;height:100%;background:#7049ee;transition:.2s}
@media(max-width:1250px){.home-featured{grid-template-columns:minmax(310px,1fr) minmax(310px,1fr)}.home-featured-side{grid-column:1/-1;border-left:none;border-top:1px solid #ececf2;display:grid;grid-template-columns:1fr 1fr 1fr}.home-upcoming-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.home-featured{grid-template-columns:1fr}.home-featured-photo{min-height:340px}.home-featured-side{grid-column:auto;grid-template-columns:1fr;border-left:none}.home-upcoming-grid{grid-template-columns:1fr}.home-recent-row{grid-template-columns:1.2fr .7fr .8fr}.home-recent-row>*:nth-child(4),.home-recent-row>*:nth-child(5),.home-recent-row>*:nth-child(6){display:none}}
@media(max-width:560px){.home-topbar{align-items:flex-start}.home-topbar p{display:none}.home-new-event{padding:9px 11px}.home-featured-info{padding:21px 18px}.home-featured-info h1{font-size:28px}.home-featured-photo{min-height:290px}.home-event-card{grid-template-columns:105px 1fr 24px}.home-countdown b{font-size:18px}.home-recent-row{grid-template-columns:1.2fr .8fr}.home-recent-row>*:nth-child(3){display:none}.home-modal-card{padding:21px 16px}.home-modal-file{align-items:flex-start;flex-wrap:wrap}.home-modal-file-actions{width:100%;padding-left:52px}}


/* ============================================================
   HOME / RESUMEN — microanimaciones visuales (solo Home)
   Añadido 10/08/2026. No modifica otros módulos.
   ============================================================ */

/* La tarjeta protagonista funciona como escenario para efectos ambientales. */
.home-featured{
  position:relative;
  isolation:isolate;
}
.home-featured > *:not(.home-hero-ambient){
  position:relative;
  z-index:2;
}
.home-hero-ambient{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
}
.home-ambient-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(4px);
  opacity:.6;
  will-change:transform;
}
.home-ambient-orb.orb-1{
  width:190px;height:190px;
  right:18%;top:-115px;
  background:radial-gradient(circle,rgba(124,92,240,.18),rgba(124,92,240,0) 68%);
  animation:homeAmbientFloatA 8s ease-in-out infinite alternate;
}
.home-ambient-orb.orb-2{
  width:240px;height:240px;
  right:-105px;bottom:-145px;
  background:radial-gradient(circle,rgba(87,185,255,.13),rgba(87,185,255,0) 70%);
  animation:homeAmbientFloatB 10s ease-in-out infinite alternate;
}
.home-ambient-dot{
  position:absolute;
  width:5px;height:5px;
  border-radius:50%;
  background:#007C38;
  opacity:.22;
  animation:homeDotFloat 5.5s ease-in-out infinite;
}
.home-ambient-dot.dot-1{right:31%;top:11%;animation-delay:-1.2s}
.home-ambient-dot.dot-2{right:7%;top:47%;width:4px;height:4px;animation-delay:-3.1s}
.home-ambient-dot.dot-3{right:23%;bottom:11%;width:7px;height:7px;opacity:.12;animation-delay:-4.4s}

/* Entrada elegante de la tarjeta principal. */
.home-featured{
  animation:homeHeroEnter .58s cubic-bezier(.2,.8,.2,1) both;
}
.home-featured-info{
  animation:homeInfoEnter .72s .08s cubic-bezier(.2,.8,.2,1) both;
}
.home-featured-side{
  animation:homeSideEnter .72s .14s cubic-bezier(.2,.8,.2,1) both;
}

/* Foto: zoom cinematográfico muy suave + barrido de luz al pasar. */
.home-featured-photo>img{
  transform:scale(1.018);
  animation:homePhotoBreathe 12s ease-in-out infinite alternate;
  will-change:transform;
}
.home-featured-photo::after{
  content:"";
  position:absolute;
  inset:-35%;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.22) 49%,transparent 63%);
  transform:translateX(-70%) rotate(2deg);
  opacity:0;
}
.home-featured-photo:hover::after{
  opacity:1;
  animation:homePhotoSweep 1.05s ease forwards;
}

/* Badge de próximo evento con pulso discreto. */
.home-next-badge{
  position:relative;
  overflow:hidden;
}
.home-next-badge::before{
  content:"";
  display:inline-block;
  width:6px;height:6px;
  margin-right:7px;
  border-radius:50%;
  vertical-align:1px;
  background:#007C38;
  box-shadow:0 0 0 0 rgba(115,81,239,.35);
  animation:homeBadgePulse 2.2s ease-out infinite;
}
.home-next-badge::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);
  transform:translateX(-120%);
  animation:homeBadgeShine 4.8s ease-in-out infinite;
}

/* Cuenta regresiva más viva sin resultar invasiva. */
.home-countdown b{
  transform-origin:center;
  animation:homeCountdownIn .55s cubic-bezier(.2,.8,.2,1) both;
}
.home-countdown>div:nth-child(2) b{animation-delay:.06s}
.home-countdown>div:nth-child(3) b{animation-delay:.12s}
.home-countdown>div:nth-child(4) b{animation-delay:.18s}
.home-countdown>div:last-child b{
  animation:homeCountdownIn .55s .18s cubic-bezier(.2,.8,.2,1) both,
            homeSecondPulse 1s 1s ease-in-out infinite;
}

/* Botón gastronómico con brillo al hover. */
.home-gastro-btn{
  position:relative;
  overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease;
}
.home-gastro-btn::after{
  content:"";
  position:absolute;
  inset:-20% -45%;
  background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.35) 50%,transparent 62%);
  transform:translateX(-80%);
}
.home-gastro-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(124,92,240,.27);
}
.home-gastro-btn:hover::after{
  animation:homeBtnSweep .7s ease forwards;
}

/* Cards: entrada escalonada y elevación al interactuar. */
.home-event-card{
  animation:homeCardEnter .52s var(--home-card-delay,0ms) cubic-bezier(.2,.8,.2,1) both;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.home-event-card:hover{
  transform:translateY(-4px);
  border-color:#d9d2f7;
  box-shadow:0 13px 30px rgba(44,38,74,.09);
}
.home-event-card:hover .home-event-thumb>img{
  transform:scale(1.045);
}
.home-event-thumb>img{
  transition:transform .5s cubic-bezier(.2,.8,.2,1);
}

/* Estado sin eventos: escena animada, ticker y calendario central. */
.home-empty-animated{
  position:relative;
  overflow:hidden;
  padding:36px 28px 30px;
  background:
    radial-gradient(circle at 50% 8%,rgba(124,92,240,.09),transparent 34%),
    linear-gradient(180deg,#fff,#fcfbff);
}
.home-empty-stage{
  position:relative;
  width:132px;
  height:112px;
  margin-bottom:3px;
}
.home-empty-calendar{
  position:absolute;
  left:50%;top:50%;
  width:72px;height:72px;
  transform:translate(-50%,-50%);
  border-radius:20px;
  background:linear-gradient(145deg,#149149,#6840ef);
  box-shadow:0 15px 34px rgba(104,64,239,.22);
  display:grid;
  place-items:center;
  color:#fff;
  animation:homeCalendarFloat 3.2s ease-in-out infinite;
}
.home-empty-calendar::before,
.home-empty-calendar::after{
  content:"";
  position:absolute;
  top:-7px;
  width:8px;height:17px;
  border-radius:5px;
  background:#fff;
  box-shadow:0 0 0 3px rgba(112,73,238,.13);
}
.home-empty-calendar::before{left:17px}
.home-empty-calendar::after{right:17px}
.home-empty-calendar-top{
  position:absolute;
  left:0;right:0;top:18px;
  height:1px;
  background:rgba(255,255,255,.42);
}
.home-empty-calendar strong{
  font-size:29px;
  line-height:1;
  font-weight:400;
  margin-top:9px;
}
.home-empty-orbit{
  position:absolute;
  left:50%;top:50%;
  border:1px solid rgba(124,92,240,.14);
  border-radius:50%;
  transform:translate(-50%,-50%);
}
.home-empty-orbit.orbit-a{
  width:106px;height:106px;
  animation:homeOrbitSpin 9s linear infinite;
}
.home-empty-orbit.orbit-a::after{
  content:"";
  position:absolute;
  width:8px;height:8px;
  border-radius:50%;
  background:#5F8EAA;
  top:8px;left:16px;
  box-shadow:0 3px 12px rgba(124,92,240,.28);
}
.home-empty-orbit.orbit-b{
  width:130px;height:78px;
  transform:translate(-50%,-50%) rotate(-18deg);
  border-style:dashed;
  animation:homeOrbitSpinReverse 12s linear infinite;
}
.home-empty-spark{
  position:absolute;
  color:#5F8EAA;
  opacity:.45;
  animation:homeSparkFloat 2.8s ease-in-out infinite;
}
.home-empty-spark.spark-a{left:0;top:18px;font-size:13px}
.home-empty-spark.spark-b{right:3px;bottom:18px;font-size:10px;animation-delay:-1.4s}
.home-empty-spark.spark-c{right:11px;top:12px;font-size:7px;animation-delay:-.7s}

.home-empty-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  position:relative;
  z-index:2;
}
.home-empty-copy .home-empty-kicker{
  font-size:8.5px;
  letter-spacing:1px;
  font-weight:900;
  color:#007C38;
}
.home-empty-copy b{
  font-size:20px;
  letter-spacing:-.35px;
}
.home-empty-copy>span:last-child{
  font-size:11px;
  color:#8a91a1;
}
.home-empty-marquee{
  width:min(620px,92%);
  overflow:hidden;
  margin:18px auto 4px;
  border-top:1px solid #eeeaf9;
  border-bottom:1px solid #eeeaf9;
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
}
.home-empty-marquee>div{
  width:max-content;
  display:flex;
  align-items:center;
  gap:18px;
  padding:8px 0;
  animation:homeMarquee 16s linear infinite;
}
.home-empty-marquee span{
  font-size:8px;
  letter-spacing:.9px;
  font-weight:900;
  color:#8b83aa;
}
.home-empty-marquee i{
  color:#c6b9f5;
  font-style:normal;
}
.home-empty-animated .home-primary{
  transition:transform .2s ease,box-shadow .2s ease;
}
.home-empty-animated .home-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 9px 20px rgba(112,73,238,.22);
}

/* Tarjetas de clima/propuesta con interacción apenas perceptible. */
.home-weather-card,.home-proposal-status,.home-countdown-card{
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.home-weather-card:hover,.home-proposal-status:hover,.home-countdown-card:hover{
  transform:translateY(-2px);
  border-color:#ddd8ef;
  box-shadow:0 8px 22px rgba(31,35,53,.06);
}

@keyframes homeHeroEnter{
  from{opacity:0;transform:translateY(10px) scale(.995)}
  to{opacity:1;transform:none}
}
@keyframes homeInfoEnter{
  from{opacity:0;transform:translateX(13px)}
  to{opacity:1;transform:none}
}
@keyframes homeSideEnter{
  from{opacity:0;transform:translateX(10px)}
  to{opacity:1;transform:none}
}
@keyframes homeAmbientFloatA{
  from{transform:translate3d(-8px,0,0) scale(.96)}
  to{transform:translate3d(18px,14px,0) scale(1.08)}
}
@keyframes homeAmbientFloatB{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-28px,-18px,0)}
}
@keyframes homeDotFloat{
  0%,100%{transform:translateY(0);opacity:.14}
  50%{transform:translateY(-12px);opacity:.34}
}
@keyframes homePhotoBreathe{
  from{transform:scale(1.018)}
  to{transform:scale(1.055)}
}
@keyframes homePhotoSweep{
  from{transform:translateX(-70%) rotate(2deg)}
  to{transform:translateX(70%) rotate(2deg)}
}
@keyframes homeBadgePulse{
  0%{box-shadow:0 0 0 0 rgba(115,81,239,.34)}
  75%,100%{box-shadow:0 0 0 8px rgba(115,81,239,0)}
}
@keyframes homeBadgeShine{
  0%,70%{transform:translateX(-130%)}
  88%,100%{transform:translateX(130%)}
}
@keyframes homeCountdownIn{
  from{opacity:0;transform:translateY(7px) scale(.9)}
  to{opacity:1;transform:none}
}
@keyframes homeSecondPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.07)}
}
@keyframes homeBtnSweep{
  from{transform:translateX(-80%)}
  to{transform:translateX(80%)}
}
@keyframes homeCardEnter{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:none}
}
@keyframes homeCalendarFloat{
  0%,100%{transform:translate(-50%,-50%) translateY(0) rotate(-1deg)}
  50%{transform:translate(-50%,-50%) translateY(-7px) rotate(1deg)}
}
@keyframes homeOrbitSpin{
  from{transform:translate(-50%,-50%) rotate(0)}
  to{transform:translate(-50%,-50%) rotate(360deg)}
}
@keyframes homeOrbitSpinReverse{
  from{transform:translate(-50%,-50%) rotate(-18deg)}
  to{transform:translate(-50%,-50%) rotate(-378deg)}
}
@keyframes homeSparkFloat{
  0%,100%{transform:translateY(0) scale(1);opacity:.25}
  50%{transform:translateY(-8px) scale(1.15);opacity:.6}
}
@keyframes homeMarquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* Accesibilidad: respeta usuarios que pidan reducir movimiento. */
@media (prefers-reduced-motion:reduce){
  .home-events *,
  .home-events *::before,
  .home-events *::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
  }
  .home-featured-photo>img{transform:none!important}
  .home-event-card:hover,.home-weather-card:hover,.home-proposal-status:hover,.home-countdown-card:hover{transform:none}
}


/* ============================================================
   HOME PREMIUM MOTION — solo Home / Resumen
   ============================================================ */
.home-live-strip{position:relative;margin:14px 0 23px;overflow:hidden;border-top:1px solid rgba(124,92,240,.12);border-bottom:1px solid rgba(124,92,240,.12);background:linear-gradient(90deg,rgba(124,92,240,.025),rgba(255,255,255,.9),rgba(124,92,240,.025));-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.home-live-strip-track{display:flex;align-items:center;gap:19px;width:max-content;padding:9px 0;animation:homePremiumTicker 31s linear infinite;will-change:transform}
.home-live-strip span{font-size:9px;font-weight:900;letter-spacing:1.25px;color:#777089;white-space:nowrap}
.home-live-strip i{font-style:normal;font-size:8px;color:#5F8EAA;opacity:.7}
.home-live-strip:hover .home-live-strip-track{animation-play-state:paused}

.home-editorial-word{position:absolute;right:-20px;top:26px;white-space:nowrap;font-size:clamp(48px,7vw,98px);line-height:.82;font-weight:950;letter-spacing:-5px;color:rgba(81,61,145,.035);transform:rotate(-2deg);animation:homeEditorialDrift 15s ease-in-out infinite alternate;user-select:none}
.home-editorial-lines{position:absolute;right:30px;bottom:20px;display:flex;align-items:center;gap:8px;opacity:.16;animation:homeEditorialLine 7s ease-in-out infinite alternate}
.home-editorial-lines span{font-size:7px;font-weight:900;letter-spacing:1.6px;color:#496F87}
.home-editorial-lines i{width:22px;height:1px;background:#5A8299}

.home-featured-info h1{position:relative;text-wrap:balance;animation:homeTitleReveal .78s .13s cubic-bezier(.16,.84,.32,1) both}
.home-featured-info h1::after{content:"";display:block;width:42px;height:2px;margin-top:8px;border-radius:5px;background:linear-gradient(90deg,#007C38,rgba(121,88,239,0));transform-origin:left;animation:homeTitleLine .9s .45s cubic-bezier(.2,.8,.2,1) both}
.home-event-date{animation:homeTitleReveal .78s .21s cubic-bezier(.16,.84,.32,1) both}

.home-event-flow{display:flex;align-items:center;gap:8px;width:min(265px,100%);margin:10px 0 16px;color:#9a94aa}
.home-event-flow span{font-size:7.5px;font-weight:900;letter-spacing:.8px;white-space:nowrap}
.home-event-flow i{position:relative;flex:1;height:1px;background:linear-gradient(90deg,#d9d4e7,#8668ef)}
.home-event-flow i b{position:absolute;top:50%;left:0;width:6px;height:6px;border-radius:50%;background:#149149;box-shadow:0 0 0 5px rgba(125,92,240,.08);transform:translate(-50%,-50%);animation:homeTimelineTravel 6.5s ease-in-out infinite}

.home-countdown>div b{font-variant-numeric:tabular-nums;position:relative;overflow:hidden}
.home-countdown>div b::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(80,60,120,.06)}
.home-countdown>div:last-child b{border:1px solid rgba(124,92,240,.13);border-radius:8px;padding:3px 5px;background:rgba(124,92,240,.035)}
.home-countdown>div:not(:last-child) b{border-radius:8px;padding:3px 5px;background:rgba(250,249,253,.9)}

.home-small-status .home-status-dot.confirmed,.home-status-line .home-status-dot.confirmed,.home-proposal-status .home-status-dot.confirmed{animation:homeStatusPulse 3.8s ease-out infinite}

.home-featured-photo::before{content:"LIVE EVENT";position:absolute;left:18px;bottom:18px;z-index:3;padding:6px 9px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(15,12,25,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:rgba(255,255,255,.92);font-size:7px;font-weight:900;letter-spacing:1.25px;opacity:.72;transform:translateY(4px);transition:opacity .25s ease,transform .25s ease}
.home-featured-photo:hover::before{opacity:1;transform:translateY(0)}

.home-topbar .home-eyebrow{position:relative;padding-left:13px}
.home-topbar .home-eyebrow::before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;border-radius:50%;background:#007C38;transform:translateY(-50%);box-shadow:0 0 0 0 rgba(123,90,239,.28);animation:homeTopPulse 3s ease-out infinite}

.home-meta-list>*{animation:homeMetaEnter .55s cubic-bezier(.2,.8,.2,1) both}
.home-meta-list>*:nth-child(1){animation-delay:.24s}.home-meta-list>*:nth-child(2){animation-delay:.29s}.home-meta-list>*:nth-child(3){animation-delay:.34s}.home-meta-list>*:nth-child(4){animation-delay:.39s}.home-meta-list>*:nth-child(5){animation-delay:.44s}

@keyframes homePremiumTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes homeEditorialDrift{from{transform:translate3d(0,0,0) rotate(-2deg)}to{transform:translate3d(-18px,8px,0) rotate(-1deg)}}
@keyframes homeEditorialLine{from{transform:translateX(0);opacity:.10}to{transform:translateX(-18px);opacity:.20}}
@keyframes homeTitleReveal{from{opacity:0;transform:translateY(12px);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes homeTitleLine{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}
@keyframes homeTimelineTravel{0%{left:0}50%{left:100%}100%{left:0}}
@keyframes homeStatusPulse{0%{box-shadow:0 0 0 0 rgba(40,178,105,.22)}58%,100%{box-shadow:0 0 0 7px rgba(40,178,105,0)}}
@keyframes homeTopPulse{0%{box-shadow:0 0 0 0 rgba(123,90,239,.28)}70%,100%{box-shadow:0 0 0 7px rgba(123,90,239,0)}}
@keyframes homeMetaEnter{from{opacity:0;transform:translateX(7px)}to{opacity:1;transform:none}}

@media(max-width:760px){.home-live-strip{margin-top:10px}.home-editorial-word{font-size:52px;right:-15px;top:18px}.home-editorial-lines{display:none}.home-event-flow{width:100%}}
@media(prefers-reduced-motion:reduce){.home-live-strip-track,.home-editorial-word,.home-editorial-lines,.home-event-flow i b,.home-topbar .home-eyebrow::before{animation:none!important}}


/* ============================================================
   GRÁFICA DE HORARIOS V2 — planificador visual por celdas
   ============================================================ */
.grafica-shell{background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.045);overflow:hidden}
.grafica-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 18px 14px;border-bottom:1px solid #eef0f4;background:linear-gradient(180deg,#fff,#fcfcfe)}
.grafica-head h3{font-size:18px;margin:2px 0 4px;color:#151827}.grafica-head p{font-size:11px;color:var(--muted);max-width:690px;line-height:1.5}
.grafica-kicker{font-size:8px;font-weight:900;letter-spacing:1.2px;color:#007C38}
.grafica-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:12px 18px;background:#fafbfc;border-bottom:1px solid #eef0f4}
.grafica-control{display:flex;flex-direction:column;gap:4px}.grafica-control label{font-size:8px;font-weight:800;color:#747b8d;text-transform:uppercase;letter-spacing:.55px}
.grafica-control select,.grafica-control input{height:34px;border:1px solid #dfe3ea;border-radius:8px;background:#fff;padding:0 9px;font-size:11px;color:#22283a}
.grafica-control input{width:78px}
.grafica-mode{display:flex;border:1px solid #dddfe7;border-radius:9px;overflow:hidden;background:#fff;margin-left:2px}
.grafica-mode button{height:34px;border:0;background:#fff;color:#71788a;padding:0 11px;font-size:10px;font-weight:800;cursor:pointer}
.grafica-mode button+button{border-left:1px solid #e5e7ec}.grafica-mode button.active{background:#007C38;color:#fff}
.grafica-legend{display:flex;gap:11px;align-items:center;margin-left:auto;font-size:9px;color:#7d8494}.grafica-legend span{display:flex;align-items:center;gap:5px}
.grafica-legend i{width:10px;height:10px;border-radius:3px;border:1px solid #dbe0e8;background:#fff}.grafica-legend i.pedido{background:#f3f0ff;border-color:#b9aaf8}.grafica-legend i.cubierto{background:#e9f9ef;border-color:#7ed49e}
.grafica-dias{margin:12px 18px!important}
.grafica-help{margin:0 18px 10px;padding:9px 11px;border:1px solid #ece8fc;border-radius:9px;background:#faf9ff;font-size:9.5px;line-height:1.45;color:#6c657b}
.grafica-board-wrap{overflow:auto;border-top:1px solid #f0f1f4;border-bottom:1px solid #f0f1f4;background:#fff}
.grafica-board{min-width:980px;user-select:none}
.graf-grid{display:grid;align-items:stretch}
.graf-grid-head{position:sticky;top:0;z-index:5;background:#f8faf9;border-bottom:1px solid #dfe8df}
.graf-corner,.graf-persona-head{display:flex;align-items:center;padding:9px 10px;font-size:9px;font-weight:900;color:#596070;text-transform:uppercase;letter-spacing:.45px}
.graf-hour{display:flex;align-items:center;justify-content:center;min-height:36px;border-left:1px solid #dce7dd;font-size:8.5px;font-weight:800;color:#596070}
.graf-persona-head{border-left:1px solid #dce7dd}
.graf-grid-row{border-bottom:1px solid #e9eeea;min-height:54px}
.graf-role{display:flex;align-items:center;gap:9px;padding:7px 10px;border-right:1px solid #dce7dd;background:#fbfcfb;position:sticky;left:0;z-index:3}
.graf-role-dot{width:7px;height:28px;border-radius:999px;background:var(--rol-color)}
.graf-role b{display:block;font-size:10.5px;color:#283043}.graf-role small{display:block;font-size:8px;color:#9aa0ac;margin-top:2px}
.graf-cell{position:relative;min-width:46px;min-height:54px;border:0;border-left:1px solid #dce7dd;background:#fff;cursor:crosshair;transition:background .12s ease,transform .12s ease,box-shadow .12s ease;overflow:hidden}
.graf-cell:hover{z-index:2;box-shadow:inset 0 0 0 2px rgba(113,84,233,.27)}
.graf-cell.pedido{background:color-mix(in srgb,var(--rol-color) 15%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rol-color) 38%,transparent)}
.graf-cell.cubierto{background:color-mix(in srgb,var(--rol-color) 26%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rol-color) 46%,transparent)}
.graf-cell.saving{opacity:.48;animation:grafSaving .7s ease-in-out infinite alternate}
.graf-cell-count{position:absolute;left:4px;top:4px;display:grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:rgba(255,255,255,.82);font-size:8px;font-weight:900;color:#4d5361}
.graf-cell-person{position:absolute;right:4px;bottom:4px;display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#fff;color:var(--rol-color);font-size:7px;font-weight:950;box-shadow:0 2px 7px rgba(0,0,0,.11)}
.modo-borrar .graf-cell{cursor:not-allowed}.modo-borrar .graf-cell.pedido:hover,.modo-borrar .graf-cell.cubierto:hover{background:#fff1f1;box-shadow:inset 0 0 0 2px rgba(220,38,38,.22)}
.graf-personas{display:flex;align-items:center;gap:4px;padding:0 9px;border-left:1px solid #dce7dd;background:#fcfdfc}
.graf-personas span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#f0edf8;color:#007C38;border:2px solid #fff;margin-left:-6px;font-size:7.5px;font-weight:900;box-shadow:0 1px 5px rgba(0,0,0,.08)}.graf-personas span:first-child{margin-left:0}.graf-personas small{font-size:8.5px;color:#9ba1ad}
.grafica-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 18px;background:#fbfcfc}.grafica-foot>span{font-size:9px;color:#747b88;font-weight:650}
.grafica-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:180px;padding:24px;color:#7e8491;text-align:center;font-size:10px}.grafica-empty b{font-size:14px;color:#353b4c}.grafica-empty span{max-width:480px}
.graf-modal-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.graf-modal-summary>div{padding:9px;border:1px solid #e6e7ee;border-radius:9px;background:#fafbfc}.graf-modal-summary span{display:block;font-size:8px;color:#9197a4;text-transform:uppercase;font-weight:800}.graf-modal-summary b{display:block;font-size:13px;margin-top:2px}
.graf-person-list{border:1px solid #e6e7ec;border-radius:9px;overflow:hidden}.graf-person-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-bottom:1px solid #eef0f3;font-size:10px}.graf-person-row:last-child{border-bottom:0}.graf-person-empty{padding:10px;font-size:9.5px;color:#9197a3}
@keyframes grafSaving{from{filter:saturate(.6)}to{filter:saturate(1.3)}}
@media(max-width:760px){.grafica-head{flex-direction:column}.grafica-legend{width:100%;margin-left:0}.grafica-toolbar{align-items:stretch}.grafica-control{flex:1}.grafica-board{min-width:900px}}
@media print{.grafica-toolbar,.grafica-help,.grafica-foot,.grafica-head-actions,#per-subtabs{display:none!important}.grafica-board-wrap{overflow:visible}.grafica-board{min-width:100%!important}.grafica-shell{box-shadow:none;border:0}}


/* ============================================================
   GRÁFICA DE HORARIOS V3 — LIBRE, SIN PUESTOS FIJOS
   ============================================================ */
.grafica-libre-shell .grafica-toolbar-libre{align-items:flex-end}
.grafica-free-hint{margin-left:auto;display:flex;align-items:center;gap:9px;padding:6px 10px;border:1px solid #e7e3f7;border-radius:10px;background:#faf9ff}
.grafica-free-hint b{display:block;font-size:9px;color:#3b3550}.grafica-free-hint small{display:block;font-size:8px;color:#938ca7;margin-top:1px}
.graf-mouse-demo{position:relative;width:21px;height:29px;border:1.5px solid #8064e9;border-radius:12px;background:#fff}
.graf-mouse-demo:before{content:"";position:absolute;left:50%;top:5px;width:2px;height:6px;border-radius:2px;background:#8064e9;transform:translateX(-50%);animation:grafMouseWheel 1.8s ease-in-out infinite}
.grafica-help-libre{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.grafica-help-libre b{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#007C38;color:#fff;font-size:8px;margin-left:7px}.grafica-help-libre b:first-child{margin-left:0}

.graf-free-row{min-height:52px}
.graf-free-lane{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #dce7dd;background:#fbfcfb;position:sticky;left:0;z-index:3}
.graf-free-lane b{font-size:11px;color:#454c5e;line-height:1}.graf-free-lane span{font-size:6.5px;font-weight:900;letter-spacing:.65px;color:#a3a8b2;margin-top:3px}

.graf-free-cell{position:relative;min-width:48px;min-height:52px;border:0;border-left:1px solid #dce7dd;border-bottom:0;background:#fff;cursor:crosshair;overflow:hidden;transition:background .1s ease,box-shadow .1s ease,transform .08s ease}
.graf-free-cell.vacia:hover{background:#f8f6ff;box-shadow:inset 0 0 0 2px rgba(124,92,240,.16)}
.graf-free-cell.pintada{background:color-mix(in srgb,var(--cell-color,#007C38) 19%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cell-color,#007C38) 42%,transparent)}
.graf-free-cell.pintada:hover{background:#fff0f0;box-shadow:inset 0 0 0 2px rgba(220,38,38,.22)}
.graf-free-cell.pintada:hover:after{content:"×";position:absolute;inset:0;display:grid;place-items:center;font-size:18px;font-weight:400;color:#dc2626;background:rgba(255,255,255,.42)}
.graf-free-cell.saving{opacity:.5;animation:grafSaving .6s ease-in-out infinite alternate}
.graf-free-role{position:absolute;left:3px;right:3px;top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:6.5px;font-weight:900;letter-spacing:.15px;color:color-mix(in srgb,var(--cell-color,#007C38) 78%,#111)}
.graf-free-avatar{position:absolute;right:4px;bottom:4px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#fff;color:var(--cell-color,#007C38);font-size:7px;font-weight:950;box-shadow:0 2px 7px rgba(0,0,0,.11)}

.grafica-blocks-panel{border-top:1px solid #eceef2;background:linear-gradient(180deg,#fff,#fbfbfd)}
.grafica-blocks-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 10px}
.grafica-blocks-head h4{font-size:14px;color:#272b39;margin:2px 0 0}.grafica-blocks-head>span{font-size:9px;font-weight:800;color:#8d93a0;padding:5px 8px;border:1px solid #e7e8ed;border-radius:999px;background:#fff}
.grafica-blocks-list{display:grid;gap:8px;padding:0 18px 18px}
.graf-block-card{display:grid;grid-template-columns:140px minmax(0,1fr) auto;align-items:center;gap:14px;padding:11px 12px;border:1px solid #e7e8ee;border-radius:11px;background:#fff;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.graf-block-card:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(30,25,55,.055)}
.graf-block-card.pendiente{border-left:3px solid #f59e0b}.graf-block-card.asignado{border-left:3px solid #22a75a}
.graf-block-time span{display:block;font-size:7px;font-weight:900;letter-spacing:.65px;color:#a0a5b0}.graf-block-time b{display:block;font-size:14px;color:#252a38;margin-top:2px}.graf-block-time i{font-style:normal;color:#a8a2ba;font-weight:500;margin:0 3px}
.graf-block-info{min-width:0}.graf-block-status{display:block;font-size:7px;font-weight:900;letter-spacing:.5px;color:#a47100}.graf-block-card.asignado .graf-block-status{color:#198c4a}.graf-block-info strong{display:block;font-size:10.5px;color:#373c4b;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.graf-block-info small{display:block;font-size:8.5px;color:#949aa6;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grafica-blocks-empty{display:flex;flex-direction:column;align-items:center;gap:4px;padding:23px;border:1px dashed #dcd9ea;border-radius:11px;background:#fcfbff;text-align:center}.grafica-blocks-empty b{font-size:11px;color:#555066}.grafica-blocks-empty span{font-size:9px;color:#9a95a7;max-width:520px}
.graf-assign-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.graf-assign-summary>div{padding:9px;border:1px solid #e5e7ec;border-radius:9px;background:#fafbfc}.graf-assign-summary span{display:block;font-size:7px;font-weight:900;letter-spacing:.55px;color:#999fab;text-transform:uppercase}.graf-assign-summary b{display:block;font-size:13px;color:#303544;margin-top:2px}
.form-help{display:block;font-size:8px;color:#999fac;margin-top:4px}

@keyframes grafMouseWheel{0%,100%{transform:translate(-50%,0);opacity:.45}50%{transform:translate(-50%,5px);opacity:1}}

@media(max-width:760px){
  .grafica-free-hint{width:100%;margin-left:0}
  .graf-block-card{grid-template-columns:1fr;gap:7px}
  .graf-block-actions .btn-secondary{width:100%}
}


/* ============================================================
   GRÁFICA DE HORARIOS V4 — 5 filas + puesto lateral editable
   ============================================================ */
.grafica-row-control{min-width:85px}
.grafica-row-count{height:34px;display:flex;align-items:baseline;gap:5px;padding:0 10px;border:1px solid #dfe3ea;border-radius:8px;background:#fff}
.grafica-row-count b{font-size:14px;color:#302b44}.grafica-row-count span{font-size:8px;color:#999eaa}

.graf-free-head .graf-corner{position:sticky;left:0;z-index:7;background:#f8faf9}
.graf-hour-end{border-left:1px solid #dce7dd;border-right:0;background:#f3f6f4;color:#384153;font-weight:950}
.graf-row-endcap{border-left:1px solid #dce7dd;background:#f7faf8;min-height:52px}

.graf-free-role-editor{position:sticky;left:0;z-index:4;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:5px 7px;border-right:1px solid #dce7dd;background:#fbfcfb}
.graf-role-input-wrap{display:flex;align-items:center;gap:4px}
.graf-role-input{min-width:0;width:100%;height:30px;padding:0 8px;border:1px solid #dfe3e7;border-radius:7px;background:#fff;font-size:9.5px;font-weight:750;color:#303646;outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.graf-role-input:focus{border-color:#8a70ed;box-shadow:0 0 0 3px rgba(124,92,240,.08)}
.graf-role-input::placeholder{font-weight:600;color:#a5a9b2}
.graf-free-role-editor small{font-size:6.5px;font-weight:850;letter-spacing:.55px;color:#a0a5ae;padding-left:2px}
.graf-row-delete{flex:0 0 25px;width:25px;height:25px;border:0;border-radius:7px;background:#f5f5f7;color:#9a9fab;font-size:17px;line-height:1;cursor:pointer;transition:.15s ease}
.graf-row-delete:hover{background:#fff0f0;color:#d92d20}

.graf-free-cell{touch-action:none}
.graf-free-cell.con-persona{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cell-color,#007C38) 55%,transparent)}
.graf-free-person-name{position:absolute;left:2px;right:2px;top:50%;transform:translateY(-50%);z-index:2;padding:2px 1px;border-radius:4px;background:rgba(255,255,255,.76);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);font-size:6.7px;font-weight:950;line-height:1.12;color:#2e3443;text-align:center;white-space:normal;overflow:hidden;max-height:25px}
.graf-free-cell.postulado .graf-free-person-name{background:rgba(255,248,229,.9);color:#835b00}
.graf-free-pending-dot{position:absolute;right:2px;top:2px;z-index:3;display:grid;place-items:center;width:13px;height:13px;border-radius:50%;background:#f59e0b;color:#fff;font-size:6px;font-weight:950;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.graf-free-cell.asignado .graf-free-person-name{background:rgba(235,250,241,.92);color:#187442}

.graf-free-cell.pintada:hover:after{z-index:8}
.graf-free-cell.pintada:hover .graf-free-person-name,.graf-free-cell.pintada:hover .graf-free-pending-dot{opacity:.22}

@media(max-width:760px){
  .graf-free-role-editor{padding:4px}
  .graf-role-input{font-size:8.5px}
}


/* ============================================================
   CRONOGRAMA — rango Desde / Hasta
   ============================================================ */
.crono-schedule-row{
  display:grid;
  grid-template-columns:minmax(150px,1.1fr) minmax(105px,.75fr) 22px minmax(105px,.75fr);
  gap:10px;
  align-items:end;
}
.crono-schedule-row .form-field{margin-bottom:0}
.crono-time-arrow{
  height:38px;
  display:grid;
  place-items:center;
  color:#8d83aa;
  font-size:17px;
  font-weight:800;
}
.crono-time-help{
  margin:6px 0 14px;
  padding:7px 9px;
  border:1px solid #ece9f7;
  border-radius:8px;
  background:#fbfaff;
  color:#8a8497;
  font-size:8.5px;
  line-height:1.4;
}
.tl2-hora{
  min-width:max-content;
  padding:4px 7px;
  border-radius:7px;
  background:#fff;
  border:1px solid currentColor;
  line-height:1;
}
@media(max-width:620px){
  .crono-schedule-row{
    grid-template-columns:1fr 1fr;
  }
  .crono-date-field{grid-column:1/-1}
  .crono-time-arrow{display:none}
}

/* ============================================================
   LISTADO DE EVENTOS — visual con foto del Dashboard
   ============================================================ */
.ev-showcase{
  display:grid;
  gap:13px;
}
.ev-card.ev-card-premium{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:0;
  min-height:132px;
  padding:0;
  overflow:hidden;
  border:1px solid #e5e7ee;
  border-radius:15px;
  background:#fff;
  box-shadow:0 5px 18px rgba(30,35,55,.035);
  animation:evCardReveal .48s var(--ev-delay,0ms) cubic-bezier(.2,.8,.2,1) both;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.ev-card.ev-card-premium:hover{
  transform:translateY(-3px);
  border-color:#d9d1f6;
  box-shadow:0 13px 28px rgba(39,31,72,.08);
}
.ev-media{
  position:relative;
  min-height:132px;
  overflow:hidden;
  background:#f0eef6;
}
.ev-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  inset:0;
  transform:scale(1.015);
  transition:transform .65s cubic-bezier(.2,.8,.2,1);
}
.ev-card-premium:hover .ev-media img{transform:scale(1.065)}
.ev-media-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(20,16,35,.03),rgba(20,16,35,.28));
  pointer-events:none;
}
.ev-media-placeholder{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  color:#fff;
  background:
    radial-gradient(circle at 70% 20%,rgba(139,109,244,.55),transparent 34%),
    linear-gradient(135deg,#444b67,#6f7394);
}
.ev-media-placeholder span{font-size:30px;font-weight:900}
.ev-media-placeholder small{font-size:8px;letter-spacing:.7px;text-transform:uppercase;opacity:.72}
.ev-date-chip,.ev-lock-chip{
  position:absolute;
  z-index:2;
  top:10px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(20,18,31,.32);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  color:#fff;
}
.ev-date-chip{
  left:10px;
  padding:5px 7px;
  border-radius:999px;
  font-size:7px;
  font-weight:900;
  letter-spacing:.55px;
}
.ev-lock-chip{
  right:10px;
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-size:10px;
}
.ev-body.ev-body-premium{
  padding:15px 16px 13px;
  min-width:0;
}
.ev-card-topline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.ev-kicker{
  font-size:7px;
  font-weight:900;
  color:#007C38;
  letter-spacing:1px;
  margin-bottom:3px;
}
.ev-card-premium .ev-name{
  font-size:15px;
  line-height:1.15;
  letter-spacing:-.2px;
}
.ev-card-premium .ev-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  margin-top:7px;
  font-size:8.5px;
  color:#848a98;
}
.ev-card-premium .ev-meta i{
  font-style:normal;
  color:#c3bdcf;
}
.ev-card-bottom{
  display:flex;
  align-items:flex-end;
  gap:13px;
  margin-top:13px;
}
.ev-progress-wrap{flex:1;min-width:160px}
.ev-progress-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:4px;
  font-size:7.5px;
  color:#9a9fab;
}
.ev-progress-head b{color:#5f6675}
.ev-prog.ev-prog-premium{margin:0}
.ev-prog-premium .bar{
  height:5px;
  background:#f0eff4;
  overflow:hidden;
  border-radius:999px;
}
.ev-prog-premium .bar i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#007C38,#6E9BB3);
  position:relative;
}
.ev-prog-premium .bar i::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.52),transparent);
  transform:translateX(-100%);
  animation:evProgressShine 3.8s ease-in-out infinite;
}
.ev-card-premium .ev-actions{
  position:absolute;
  right:14px;
  bottom:11px;
  margin:0;
  opacity:0;
  transform:translateY(3px);
  transition:opacity .18s ease,transform .18s ease;
}
.ev-card-premium:hover .ev-actions{
  opacity:1;
  transform:none;
}
@keyframes evCardReveal{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}
@keyframes evProgressShine{
  0%,65%{transform:translateX(-100%)}
  90%,100%{transform:translateX(100%)}
}
@media(max-width:720px){
  .ev-card.ev-card-premium{grid-template-columns:110px minmax(0,1fr)}
  .ev-media{min-height:145px}
  .ev-card-bottom{align-items:flex-start;flex-direction:column}
  .ev-card-premium .ev-actions{
    position:static;
    margin-top:10px;
    opacity:1;
    transform:none;
  }
}
@media(max-width:500px){
  .ev-card.ev-card-premium{grid-template-columns:1fr}
  .ev-media{height:145px;min-height:145px}
}
@media(prefers-reduced-motion:reduce){
  .ev-card.ev-card-premium,
  .ev-prog-premium .bar i::after{animation:none!important}
  .ev-card-premium:hover{transform:none}
  .ev-card-premium:hover .ev-media img{transform:none}
}


/* ============================================================
   CALENDARIO V7 — mensual visual con imágenes
   ============================================================ */
.cal-premium-title{align-items:flex-start}
.cal-premium-nav{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cal-premium-month{
  min-width:170px;
  text-align:center;
  padding:6px 14px;
  border:1px solid #e6e5ee;
  border-radius:14px;
  background:linear-gradient(180deg,#fff,#faf9fd);
  box-shadow:0 6px 18px rgba(33,28,60,.04);
}
.cal-premium-month #cal-mes-lbl{
  font-weight:900;
  font-size:16px;
  letter-spacing:-.2px;
  text-transform:capitalize;
  color:#272a37;
}
.cal-kicker{
  font-size:7px;
  font-weight:900;
  letter-spacing:1.2px;
  color:#7b60eb;
  text-transform:uppercase;
}
.cal-premium-hero{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) 360px;
  gap:16px;
  align-items:stretch;
  overflow:hidden;
  position:relative;
  background:
    radial-gradient(circle at 100% 0, rgba(126,99,237,.16), transparent 28%),
    linear-gradient(180deg,#ffffff,#fbfbfe);
}
.cal-premium-copy{display:flex;flex-direction:column;gap:12px}
.cal-premium-copy h3{
  margin:2px 0 0;
  font-size:28px;
  line-height:1.05;
  letter-spacing:-.8px;
}
.cal-premium-copy p{
  margin:0;
  color:#7c8190;
  font-size:12px;
  max-width:640px;
}
.cal-month-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.cal-stat{
  padding:12px 13px;
  border:1px solid #ebe8f6;
  border-radius:14px;
  background:linear-gradient(180deg,#fff,#fbfaff);
}
.cal-stat span{
  display:block;
  font-size:8px;
  font-weight:900;
  letter-spacing:.7px;
  color:#9b97ad;
  text-transform:uppercase;
}
.cal-stat b{
  display:block;
  margin-top:6px;
  font-size:21px;
  color:#252936;
  letter-spacing:-.5px;
}
.cal-legend-premium{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:auto;
  font-size:10px;
  color:#767d8c;
}
.cal-legend-premium span{display:flex;align-items:center;gap:6px}
.cal-legend-premium i{
  width:11px;
  height:11px;
  border-radius:4px;
  display:inline-block;
  border:1px solid #e4e4ee;
  background:#fff;
}
.cal-legend-premium i.evento{background:#f3efff;border-color:#9a86ef}
.cal-legend-premium i.multiple{background:#fcefd7;border-color:#f2b95b}
.cal-legend-premium i.today{background:#fff1f1;border-color:#f39da1}

.cal-premium-spotlight{display:flex;align-items:stretch}
.cal-spotlight-empty{
  width:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  min-height:180px;
  border:1px dashed #ddd9ea;
  border-radius:16px;
  background:#fcfbff;
  padding:16px;
  color:#8b879a;
}
.cal-spotlight-empty b{font-size:14px;color:#3d4150}
.cal-spotlight-empty span{font-size:10px}
.cal-spot-card{
  position:relative;
  width:100%;
  min-height:180px;
  border-radius:18px;
  overflow:hidden;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(31,26,55,.09);
  transition:transform .24s ease, box-shadow .24s ease;
}
.cal-spot-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(31,26,55,.14)}
.cal-spot-media,.cal-spot-media img{position:absolute;inset:0;width:100%;height:100%}
.cal-spot-media img{object-fit:cover;transform:scale(1.03);transition:transform .6s ease}
.cal-spot-card:hover .cal-spot-media img{transform:scale(1.09)}
.cal-spot-fallback{
  position:absolute;inset:0;display:grid;place-items:center;
  background:linear-gradient(135deg,#484d69,#767ea6);color:#fff;font-size:54px;font-weight:900;
}
.cal-spot-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,17,28,.08),rgba(18,17,28,.72))}
.cal-spot-body{
  position:absolute;left:18px;right:18px;bottom:16px;z-index:2;color:#fff;
}
.cal-spot-body h4{margin:5px 0 4px;font-size:24px;line-height:1.02;letter-spacing:-.5px}
.cal-spot-body p{margin:0 0 10px;font-size:11px;color:rgba(255,255,255,.82)}
.cal-spot-kicker{font-size:8px;font-weight:900;letter-spacing:1.2px;color:#fff;opacity:.86}

.cal-layout-premium{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:14px;
  align-items:start;
}
.cal-main-card{padding:12px;overflow:hidden}
.cal-grid-head-premium{
  gap:8px;
  margin-bottom:8px;
}
.cal-grid-head-premium div{
  border:1px solid #ececf3;
  border-radius:10px;
  background:#fafafe;
  padding:8px 0;
  font-size:10px;
}
.cal-grid-premium{
  gap:8px;
  background:none;
  border:none;
  border-radius:0;
  overflow:visible;
}
.cal-day-premium{
  position:relative;
  min-height:152px;
  padding:9px;
  gap:8px;
  border:1px solid #ebeaf3;
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#fcfcff);
  overflow:hidden;
  cursor:pointer;
  animation:calDayReveal .35s var(--cal-day-delay,0ms) cubic-bezier(.2,.8,.2,1) both;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.cal-day-premium:hover{
  transform:translateY(-2px);
  border-color:#ddd4fb;
  box-shadow:0 12px 22px rgba(53,44,91,.07);
}
.cal-day-premium.out{
  background:#f8f9fb;
  opacity:.6;
}
.cal-day-premium.today{
  background:linear-gradient(180deg,#fff7f7,#fff);
  border-color:#f0c9cd;
}
.cal-day-premium.has-event{
  background:
    radial-gradient(circle at 100% 0, rgba(124,92,240,.08), transparent 22%),
    linear-gradient(180deg,#fff,#fcfbff);
}
.cal-day-premium.multiple{
  border-color:#f1d59e;
}
.cal-day-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
}
.cal-day-premium .cal-num{
  color:#313647;
  font-size:14px;
  font-weight:900;
}
.cal-count{
  min-width:22px;
  height:22px;
  padding:0 6px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#f2ecff;
  color:#7357ea;
  font-size:9px;
  font-weight:900;
}
.cal-preview{
  position:relative;
  min-height:74px;
  border-radius:12px;
  overflow:hidden;
  background:#f1eff7;
  border:1px solid #ece9f4;
}
.cal-preview img,.cal-preview-fallback{
  position:absolute;inset:0;width:100%;height:100%;
}
.cal-preview img{object-fit:cover}
.cal-preview-fallback{
  display:grid;place-items:center;background:linear-gradient(135deg,#4a4f6c,#747ca1);color:#fff;font-size:28px;font-weight:900;
}
.cal-preview-overlay{
  position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,16,28,.02),rgba(17,16,28,.68));
}
.cal-preview-body{
  position:absolute;left:8px;right:8px;bottom:8px;z-index:2;color:#fff;
}
.cal-preview-name{
  font-size:10px;
  font-weight:900;
  line-height:1.1;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.cal-preview-meta{
  margin-top:2px;
  font-size:7.5px;
  color:rgba(255,255,255,.82);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cal-empty-state{
  min-height:74px;
  display:grid;
  place-items:center;
  border-radius:12px;
  border:1px dashed #e7e5ef;
  color:#b1b0bb;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.8px;
}
.cal-thumb-row{
  display:flex;
  align-items:center;
  gap:5px;
}
.cal-mini-thumb,.cal-more-bubble{
  width:26px;
  height:26px;
  border-radius:8px;
  overflow:hidden;
  border:1px solid #ece9f4;
  background:#fff;
  flex:0 0 auto;
}
.cal-mini-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.cal-more-bubble{
  display:grid;
  place-items:center;
  background:#f7f3ff;
  color:#149149;
  font-size:8px;
  font-weight:900;
}
.cal-tags{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:auto;
}
.cal-pill-premium{
  display:block;
  max-width:100%;
  text-align:left;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:8px;
  padding:3px 7px;
}

.cal-side-card{padding:14px}
.cal-side-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.cal-side-head h3{margin:2px 0 0;font-size:18px;color:#292d39}
.cal-side-count{
  min-width:28px;height:28px;padding:0 8px;border-radius:999px;
  display:grid;place-items:center;background:#f2edff;color:#007C38;font-size:10px;font-weight:900;
}
.cal-side-list{
  display:flex;
  flex-direction:column;
  gap:9px;
  max-height:740px;
  overflow:auto;
  padding-right:2px;
}
.cal-side-item{
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:8px;
  border:1px solid #ebe9f3;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  animation:calSideReveal .42s var(--cal-delay,0ms) cubic-bezier(.2,.8,.2,1) both;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.cal-side-item:hover{
  transform:translateY(-2px);
  border-color:#dcd3fb;
  box-shadow:0 9px 22px rgba(43,35,80,.08);
}
.cal-side-thumb{
  position:relative;
  width:62px;height:62px;border-radius:12px;overflow:hidden;background:#f0eef6;
}
.cal-side-thumb img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.cal-side-fallback{
  width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#4e5574,#8089af);color:#fff;font-size:24px;font-weight:900;
}
.cal-side-name{font-size:11px;font-weight:900;color:#2c3140;line-height:1.15}
.cal-side-meta{margin-top:3px;font-size:8.5px;color:#89909e}
.cal-side-bottom{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:6px}
.cal-side-rs{font-size:7.5px;color:#a09baa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-side-empty{
  padding:18px 14px;
  border:1px dashed #ddd9eb;
  border-radius:14px;
  background:#fcfbff;
  display:flex;
  flex-direction:column;
  gap:4px;
  text-align:center;
  color:#8e8a9d;
}
.cal-side-empty b{font-size:13px;color:#3b4050}

.cal-dia-modal-box{width:min(700px, calc(100vw - 26px))}
.cal-dia-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.cal-dia-modal-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:12px;
}
.cal-dia-item-premium{
  display:grid;
  grid-template-columns:70px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:9px;
  border:1px solid #ebe9f3;
  border-radius:12px;
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.cal-dia-item-premium:hover{
  transform:translateY(-1px);
  border-color:#dbd3fa;
  box-shadow:0 8px 18px rgba(42,36,73,.07);
}
.cal-dia-thumb{
  width:70px;height:56px;border-radius:10px;overflow:hidden;background:#efedf6;
}
.cal-dia-thumb img{width:100%;height:100%;object-fit:cover}
.cal-dia-fallback{
  width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#4f5574,#8088ae);color:#fff;font-size:21px;font-weight:900;
}
.cal-dia-name{font-size:12px;font-weight:900;color:#2b3040}
.cal-dia-meta{margin-top:3px;font-size:9px;color:#8a90a0}

@keyframes calDayReveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes calSideReveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

@media(max-width:1100px){
  .cal-premium-hero{grid-template-columns:1fr}
  .cal-layout-premium{grid-template-columns:1fr}
  .cal-side-card{order:2}
}
@media(max-width:780px){
  .cal-month-stats{grid-template-columns:1fr}
}
@media(max-width:640px){
  .cal-premium-title{gap:10px}
  .cal-premium-nav{margin-left:0}
  .cal-premium-month{min-width:145px}
  .cal-grid-head-premium{display:none}
  .cal-grid-premium{grid-template-columns:1fr}
  .cal-day-premium{
    min-height:auto;
    padding:10px;
  }
  .cal-day-premium.out{display:none}
  .cal-day-premium .cal-num::after{
    content:" " attr(data-diasemana);
    font-size:10px;
    color:#9aa0ac;
    margin-left:6px;
    font-weight:700;
    text-transform:capitalize;
  }
  .cal-day-top{align-items:center}
  .cal-day-premium[data-diasemana]:before{display:none}
}
@media(prefers-reduced-motion:reduce){
  .cal-day-premium,.cal-side-item{animation:none!important}
  .cal-day-premium:hover,.cal-side-item:hover,.cal-spot-card:hover{transform:none}
  .cal-spot-card:hover .cal-spot-media img{transform:none}
}


/* ============================================================
   CALENDARIO V8 — selector visible de meses
   ============================================================ */
.cal-month-strip-wrap{
  position:relative;
  margin:0 0 12px;
  overflow:hidden;
}
.cal-month-strip{
  display:flex;
  align-items:center;
  gap:7px;
  overflow-x:auto;
  padding:3px 2px 7px;
  scrollbar-width:thin;
  scrollbar-color:#d9d3ee transparent;
  scroll-behavior:smooth;
}
.cal-month-strip::-webkit-scrollbar{height:5px}
.cal-month-strip::-webkit-scrollbar-thumb{background:#d9d3ee;border-radius:999px}
.cal-month-strip::-webkit-scrollbar-track{background:transparent}

.cal-month-chip{
  flex:0 0 auto;
  min-width:76px;
  height:44px;
  border:1px solid #e6e5ed;
  border-radius:12px;
  background:#fff;
  color:#777d8b;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease;
}
.cal-month-chip span{
  font-size:9px;
  font-weight:900;
  letter-spacing:.8px;
}
.cal-month-chip b{
  font-size:7px;
  font-weight:750;
  color:#a0a4af;
}
.cal-month-chip:hover{
  transform:translateY(-1px);
  border-color:#d8d1f3;
  box-shadow:0 6px 15px rgba(48,40,79,.055);
  color:#005C24;
}
.cal-month-chip.current:not(.active){
  border-color:#e4def8;
  background:#fcfbff;
}
.cal-month-chip.active{
  border-color:#007C38;
  background:linear-gradient(180deg,#149149,#005C24);
  color:#fff;
  box-shadow:0 8px 18px rgba(117,88,236,.2);
}
.cal-month-chip.active b{color:rgba(255,255,255,.78)}

@media(max-width:640px){
  .cal-month-strip{gap:6px}
  .cal-month-chip{min-width:68px;height:41px}
}


/* ============================================================
   PERSONAL V10 — talles / direcciones operativas
   ============================================================ */
.talles-summary{
  margin:0 0 12px;
  padding:12px;
  border:1px solid #e8e4f7;
  border-radius:12px;
  background:linear-gradient(180deg,#fff,#fbfaff);
}
.talles-summary-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.talles-summary-head b{display:block;font-size:11px;color:#343847}
.talles-summary-head span{display:block;margin-top:2px;font-size:8.5px;color:#9297a3}
.talles-chips{display:flex;gap:7px;flex-wrap:wrap}
.talle-chip{
  min-width:64px;
  padding:8px 10px;
  border:1px solid #e2dcf8;
  border-radius:10px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.talle-chip span{font-size:9px;font-weight:900;color:#005C24}
.talle-chip b{font-size:15px;color:#272c39}
.talle-table-badge{
  display:inline-grid;
  place-items:center;
  min-width:32px;
  padding:3px 7px;
  border-radius:999px;
  background:#f1edff;
  color:#007C38;
  font-size:8px;
  font-weight:900;
}
.talles-empty{font-size:9.5px;color:#9297a3}


/* ============================================================
   V11 · Centro de control / correcciones dashboard
   ============================================================ */
body{background:#f6f8f7}
.card{border:1px solid #e8ecea;box-shadow:0 4px 18px rgba(19,46,38,.035)}
.re-control-strip{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-bottom:18px}
.re-control-card{background:#fff;border:1px solid #e6ebe8;border-radius:14px;padding:12px;box-shadow:0 5px 16px rgba(20,48,40,.035)}
.re-control-top{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:7px}
.re-control-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:#fff}
.re-control-icon svg{width:14px;height:14px}
.re-control-top>b{font-size:9px;text-transform:uppercase;letter-spacing:.55px;color:#737d79}
.re-control-top>strong{font-size:16px;color:#202724}
.re-control-bar{height:5px;border-radius:999px;background:#edf0ef;margin:9px 0 5px;overflow:hidden}
.re-control-bar i{display:block;height:100%;background:var(--kc);border-radius:inherit}
.re-control-card small{font-size:8px;color:#9aa19e}

.re-summary-section{position:relative;margin:0 0 13px;padding-left:38px}
.re-section-number{position:absolute;left:0;top:12px;width:27px;height:27px;border-radius:9px;background:#eef4f1;color:#315c4d;display:grid;place-items:center;font-size:8px;font-weight:900}
.re-summary-wide{min-height:0}
.re-summary-wide .card-h{margin-bottom:10px}
.re-summary-wide .card-h .card-link-btn{margin-left:auto;margin-top:0}
.re-info-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}
.re-attention-section{margin-top:20px;border:1px solid #eadfca;background:#fffdf8;border-radius:16px;padding:15px}
.re-attention-head{display:flex;align-items:center;gap:10px;margin-bottom:11px}
.re-attention-head>span{font-size:20px}
.re-attention-head b{display:block;font-size:12px;letter-spacing:.65px}
.re-attention-head small{display:block;font-size:9px;color:#99907e;margin-top:2px}
.re-attention-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.re-attention-item,.re-attention-ok{display:flex;align-items:center;gap:9px;border-radius:11px;padding:10px 11px;border:1px solid #ece8df;background:#fff}
.re-attention-item b{display:block;font-size:10px;color:#343936}
.re-attention-item small{display:block;font-size:8.5px;color:#8e938f;margin-top:2px}
.re-attention-item.critico{border-left:3px solid var(--red)}
.re-attention-item.medio{border-left:3px solid var(--amber)}
.re-attention-ok{grid-column:1/-1;color:#347552;font-size:10px}

.pedido-category-row td{padding:14px 8px 7px!important;background:#fff!important;border-bottom:0!important}
.pedido-category-row td>span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#1d684c;margin-right:7px}
.pedido-category-row td>b{font-size:10px;letter-spacing:.8px;color:#1c5b45}
.pedido-category-row td>i{float:right;font-size:8px;font-style:normal;color:#9aa19e}
.pedido-category-row td:after{content:"";display:block;height:2px;background:linear-gradient(90deg,#1f6b4e,rgba(31,107,78,.06));margin-top:7px;border-radius:3px}

.docg-toolbar{display:flex;flex-direction:row;gap:12px;margin-bottom:16px}
.docg-groups{display:flex;flex-direction:column;gap:20px}
.docg-area-head{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.docg-area-head>span{width:7px;height:28px;border-radius:999px;background:#1d6249}
.docg-area-head h3{font-size:14px;color:#26332e;letter-spacing:.2px}
.docg-area-head b{margin-left:auto;min-width:24px;height:24px;border-radius:999px;background:#eaf2ee;color:#295b49;display:grid;place-items:center;font-size:9px}
.docg-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.docg-card{background:#fff;border:1px solid #e4eae7;border-radius:15px;padding:14px;box-shadow:0 5px 18px rgba(17,48,37,.035)}
.docg-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.docg-card-head h4{font-size:12px;margin-top:2px}
.docg-doc-kicker{font-size:7px;letter-spacing:.8px;color:#6d7c75;font-weight:850}
.docg-dates{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}
.docg-dates span{padding:7px;background:#f8faf9;border-radius:8px;font-size:8px;color:#8a938f}
.docg-dates b{display:block;color:#424a46;margin-top:2px;font-size:9px}
.docg-validity{font-size:9px;color:#607069;margin-top:7px}
.docg-obs{font-size:9px;color:#7e8783;margin:8px 0}
.docg-files{display:flex;flex-direction:column;gap:5px;margin-top:10px}
.docg-file{display:grid;grid-template-columns:18px minmax(0,1fr) auto auto auto;align-items:center;gap:6px;padding:7px;border:1px solid #edf0ef;border-radius:8px;background:#fbfcfb}
.docg-file b{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.docg-file a,.docg-file button{font-size:7.5px;color:#366c58}
.docg-file button{color:var(--red)}
.docg-no-files{font-size:8.5px;color:#a1a7a4;padding:7px;border:1px dashed #e5e8e7;border-radius:8px}
.docg-actions{display:flex;gap:5px;align-items:center;margin-top:10px}
.docg-actions button:nth-last-child(2){margin-left:auto}

.gasto-file{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.gasto-file a{font-size:9px;font-weight:800;color:#2f6d56}
.rent-kpi{cursor:default}
.rent-kpi.positive{border-top:3px solid var(--green)}
.rent-kpi.negative{border-top:3px solid var(--red)}
.rent-kpi.sales{border-top:3px solid var(--blue)}
.rent-kpi.expense{border-top:3px solid var(--amber)}
.rent-indicator{font-size:8px;margin-top:4px;color:#78827d}
.rent-kpi.positive .rent-indicator{color:#21864f}
.rent-kpi.negative .rent-indicator{color:#ba3434}
.proposal-file-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}

input[type="date"]{font-variant-numeric:tabular-nums}

@media(max-width:1050px){
  .re-control-strip{grid-template-columns:repeat(3,1fr)}
  .re-info-columns{grid-template-columns:repeat(2,1fr)}
  .docg-area-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .re-control-strip{grid-template-columns:repeat(2,1fr)}
  .re-summary-section{padding-left:0}
  .re-section-number{position:static;margin-bottom:5px}
  .re-info-columns{grid-template-columns:1fr}
  .re-attention-grid{grid-template-columns:1fr}
  .docg-toolbar{flex-direction:column}
}


/* ============================================================
   V13 · PALETA VERDE DEAN & DENNYS
   Inspirada en la referencia del dashboard de RRHH.
   ============================================================ */
:root{
  --primary:#007C38;
  --primary-dark:#005C24;
  --primary-deep:#00451B;
  --primary-hover:#006D31;
  --primary-mid:#149149;
  --primary-light:#BCE4C8;
  --primary-pale:#F0F8F4;
  --primary-soft:#E7F5EC;
  --accent:#00B058;
}

/* Base */
body{background:#F0F8F4;color:#143626}
.card{
  background:#fff;
  border-color:#CFE8D7;
  box-shadow:0 4px 16px rgba(0,92,36,.035);
}
.module-title-row h2,
.card-h h3,
.modal-box h3{color:#005C24}

/* Botones */
.btn-primary{
  background:#00B058;
  color:#fff;
  border-color:#00B058;
  box-shadow:0 5px 13px rgba(0,176,88,.18);
}
.btn-primary:hover{
  background:#009E4E;
  border-color:#009E4E;
  opacity:1;
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(0,176,88,.22);
}
.btn-secondary{
  border-color:#BCE4C8;
  color:#005C24;
  background:#fff;
}
.btn-secondary:hover{
  border-color:#007C38;
  color:#007C38;
  background:#F0F8F4;
}
.btn-ghost:hover{background:#F0F8F4;color:#005C24}
.btn-icon:hover{background:#F0F8F4;color:#007C38}

/* Tabs / subnav */
.subnav button{
  color:#6F7F75;
}
.subnav button:hover{
  background:#F0F8F4;
  color:#005C24;
}
.subnav button.active{
  background:#007C38;
  color:#fff;
  box-shadow:0 5px 13px rgba(0,124,56,.14);
}

/* Formularios */
.form-field label{color:#005C24}
.form-field input,
.form-field select,
.form-field textarea{
  border-color:#CFE8D7;
  background:#fff;
  color:#143626;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
  outline:none;
  border-color:#149149;
  box-shadow:0 0 0 3px rgba(0,124,56,.09);
}
input[type="checkbox"],input[type="radio"]{accent-color:#007C38}

/* Tabla */
table.tbl thead th{
  color:#005C24;
  background:#F0F8F4;
}
table.tbl tr:hover td{background:#F7FCF9}

/* Cards / KPIs */
.kpi:hover{
  border-color:#BCE4C8;
  box-shadow:0 8px 18px rgba(0,92,36,.05);
}
.kpi-val{color:#005C24}

/* Eventos */
.ev-card:hover{border-color:#BCE4C8}
.ev-kicker{color:#007C38}
.ev-prog-premium .bar i,
.bar>i{background:linear-gradient(90deg,#007C38,#00B058)}
.ev-date-chip{background:rgba(0,92,36,.78)}

/* Badges */
.badge.planificacion,.badge.programado{
  background:#F0F8F4;
  color:#007C38;
}
.badge.confirmado{
  background:#E7F5EC;
  color:#005C24;
}
.badge.curso,.badge.produccion{
  background:#E6F5EC;
  color:#177244;
}

/* Home */
.home-next-badge{
  background:#F0F8F4!important;
  color:#007C38!important;
  border-color:#BCE4C8!important;
}
.home-gastro-btn,
.home-primary{
  background:linear-gradient(135deg,#007C38,#00B058)!important;
  color:#fff!important;
}
.home-gastro-btn:hover{
  box-shadow:0 10px 24px rgba(0,124,56,.22)!important;
}
.home-live-strip{border-color:rgba(0,124,56,.12)!important}
.home-live-strip i{color:#00B058!important}
.home-live-strip span{color:#5F7668!important}
.home-event-flow i{
  background:linear-gradient(90deg,#D7EADF,#149149)!important;
}
.home-event-flow i b{background:#007C38!important}
.home-topbar .home-eyebrow::before{background:#00B058!important}
.home-editorial-lines span{color:#149149!important}
.home-editorial-lines i{background:#149149!important}

/* Calendario */
.cal-kicker{color:#007C38!important}
.cal-premium-month{
  border-color:#BCE4C8!important;
  background:linear-gradient(180deg,#fff,#F0F8F4)!important;
}
.cal-month-chip.active{
  border-color:#007C38!important;
  background:linear-gradient(180deg,#149149,#007C38)!important;
  box-shadow:0 8px 18px rgba(0,124,56,.18)!important;
}
.cal-month-chip.current:not(.active){
  border-color:#BCE4C8!important;
  background:#F0F8F4!important;
}
.cal-count,.cal-side-count{
  background:#F0F8F4!important;
  color:#007C38!important;
}
.cal-day-premium.has-event{
  background:
    radial-gradient(circle at 100% 0,rgba(0,124,56,.08),transparent 22%),
    linear-gradient(180deg,#fff,#FAFDFB)!important;
}
.cal-day-premium:hover{
  border-color:#BCE4C8!important;
  box-shadow:0 12px 22px rgba(0,92,36,.07)!important;
}
.cal-more-bubble{
  background:#F0F8F4!important;
  color:#007C38!important;
}

/* Gráfica de horarios */
.grafica-kicker{color:#007C38!important}
.grafica-mode button.active{background:#007C38!important}
.graf-role-input:focus{
  border-color:#149149!important;
  box-shadow:0 0 0 3px rgba(0,124,56,.08)!important;
}
.graf-free-cell.vacia:hover{
  background:#F0F8F4!important;
  box-shadow:inset 0 0 0 2px rgba(0,124,56,.16)!important;
}
.grafica-free-hint{
  border-color:#BCE4C8!important;
  background:#F0F8F4!important;
}
.graf-mouse-demo{border-color:#007C38!important}
.graf-mouse-demo:before{background:#007C38!important}

/* Documentación general */
.docg-area-head>span{background:#007C38!important}
.docg-area-head b{
  background:#F0F8F4!important;
  color:#007C38!important;
}
.docg-file a{color:#007C38!important}

/* Centro de control */
.re-section-number{
  background:#F0F8F4!important;
  color:#007C38!important;
}
.pedido-category-row td>span{background:#007C38!important}
.pedido-category-row td>b{color:#005C24!important}
.pedido-category-row td:after{
  background:linear-gradient(90deg,#007C38,rgba(0,124,56,.05))!important;
}

/* Talles */
.talle-chip span,.talle-table-badge{color:#007C38!important}
.talle-table-badge{background:#F0F8F4!important}

/* Rentabilidad */
.rent-kpi.positive{border-top-color:#00B058}
.rent-kpi.sales{border-top-color:#149149}
.rent-kpi.expense{border-top-color:#D5A43D}

/* Estados / alertas */
.re-attention-item.medio{border-left-color:#D5A43D}
.re-attention-ok{color:#007C38}

/* Modal */
.modal-backdrop{background:rgba(0,69,27,.42)}

/* Accesibilidad */
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:2px solid #00B058;
  outline-offset:2px;
}


/* ============================================================
   V14 · Checklist Operación agrupado
   ============================================================ */
.chk-operation-summary{
  margin:0 0 12px;
  padding:12px;
  border:1px solid var(--primary-light);
  border-radius:13px;
  background:linear-gradient(180deg,#fff,var(--primary-pale));
}
.chk-operation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.chk-operation-head b{display:block;font-size:12px;color:var(--primary-dark);margin-top:2px}
.chk-operation-head small{display:block;font-size:8.5px;color:var(--muted);margin-top:2px}
.chk-operation-filters{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.chk-operation-filters button{
  border:1px solid #dfe8e2;background:#fff;border-radius:10px;padding:7px 9px;
  min-width:88px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  color:#68756e;cursor:pointer;transition:.15s ease
}
.chk-operation-filters button span{font-size:8.5px;font-weight:800}
.chk-operation-filters button b{font-size:11px;color:#3b4841}
.chk-operation-filters button:hover{border-color:var(--primary-light);background:var(--primary-pale)}
.chk-operation-filters button.active{border-color:var(--primary);box-shadow:0 0 0 2px rgba(0,124,56,.06)}
.chk-operation-filters button.pending.active{background:#fff8e9;border-color:#e5bf72}
.chk-operation-filters button.progress.active{background:#edf5fa;border-color:#91b7cd}
.chk-operation-filters button.critical.active{background:#fff0f0;border-color:#e9a3a3}
.chk-operation-filters button.done.active{background:#ebf8f0;border-color:#8dccaa}

.chk-area-row td{padding:14px 8px 6px!important;background:#fff!important;border-bottom:0!important}
.chk-area-header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:2px solid #edf3ef;padding-bottom:7px}
.chk-area-title{display:flex;align-items:center;gap:7px}
.chk-area-title>span{width:7px;height:7px;border-radius:50%;background:var(--primary)}
.chk-area-title b{font-size:10px;color:var(--primary-dark);letter-spacing:.75px}
.chk-area-counters{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.chk-area-counters em{font-style:normal;font-size:7.5px;font-weight:850;padding:3px 6px;border-radius:999px}
.chk-area-counters .pending{background:#fff3d7;color:#996300}
.chk-area-counters .progress{background:#edf5fa;color:#386e8c}
.chk-area-counters .critical{background:#fde9e9;color:#af3030}
.chk-area-counters .done{background:#e8f5ed;color:#287347}
.chk-op-item td{transition:background .15s ease}
.chk-op-item.state-pendiente td:first-child{border-left:3px solid #d9a23d}
.chk-op-item.state-en_curso td:first-child{border-left:3px solid #4d8cac}
.chk-op-item.state-critico td:first-child{border-left:3px solid var(--red)}
.chk-op-item.state-ok td:first-child{border-left:3px solid var(--green)}
.chk-area-mini{font-size:8px;color:#7b8981}
.chk-item-name{font-size:9.5px;color:#344139}
.chk-empty-filter{padding:18px;text-align:center;color:#8e9792;font-size:9.5px}


/* ============================================================
   V14 · Propuesta gastronómica — vista previa dentro del modal
   ============================================================ */
#home-proposal-modal .home-modal-card{
  width:min(900px,calc(100vw - 30px));
  max-height:92vh;
  overflow:auto;
}
.proposal-preview-panel{
  position:relative;
  margin:12px 0;
  border:1px solid var(--primary-light);
  border-radius:14px;
  overflow:hidden;
  background:#f8fbf9;
}
.proposal-preview-head{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 12px;
  background:#fff;
  border-bottom:1px solid #e8efeb;
}
.proposal-preview-head b{
  display:block;
  max-width:650px;
  margin-top:2px;
  font-size:10px;
  color:var(--primary-dark);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.proposal-preview-close{
  position:static!important;
  flex:0 0 auto;
}
.proposal-preview-body{
  min-height:300px;
  max-height:62vh;
  overflow:auto;
  background:#edf3f0;
}
.proposal-preview-frame{
  display:block;
  width:100%;
  height:58vh;
  min-height:420px;
  border:0;
  background:#fff;
}
.proposal-preview-image{
  min-height:300px;
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.proposal-preview-image img{
  max-width:100%;
  max-height:56vh;
  object-fit:contain;
  border-radius:8px;
  box-shadow:0 7px 22px rgba(0,69,27,.10);
}
.proposal-preview-office,
.proposal-preview-loading,
.proposal-preview-error{
  min-height:300px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:25px;
  text-align:center;
}
.proposal-office-icon{font-size:42px}
.proposal-preview-office b{font-size:12px;color:var(--primary-dark)}
.proposal-preview-office span{font-size:9px;color:var(--muted);max-width:430px}
.proposal-preview-loading span{
  width:28px;height:28px;border:3px solid #d9e8df;border-top-color:var(--primary);
  border-radius:50%;animation:proposalSpin .8s linear infinite
}
.proposal-preview-loading b{font-size:9px;color:var(--muted)}
.proposal-preview-error{color:var(--red);font-size:9.5px}
@keyframes proposalSpin{to{transform:rotate(360deg)}}
@media(max-width:650px){
  .proposal-preview-frame{height:50vh;min-height:330px}
}

/* V15 · Rentabilidad / Facturas */
.invoice-amount-grid{display:grid;grid-template-columns:1.15fr .8fr 1fr 1fr;gap:9px;align-items:end}
.invoice-readonly>div{min-height:38px;display:flex;align-items:center;padding:0 11px;border:1px solid var(--primary-light);border-radius:9px;background:var(--primary-pale);font-size:12px;font-weight:850;color:var(--primary-dark)}
.invoice-readonly.total>div{background:#e8f5ed;border-color:#a8d4b8;color:#216b43;font-size:14px}
.invoice-form-note{margin:3px 0 12px;padding:8px 10px;border:1px solid #e0ebe4;border-radius:9px;background:#f8fbf9;font-size:9px;color:#75817a}
.rent-source-warning{background:#fff9e9!important;border:1px solid #efd48d!important;border-radius:9px;padding:10px 12px;font-size:10.5px;margin-bottom:8px}
@media(max-width:760px){.invoice-amount-grid{grid-template-columns:1fr 1fr}}

/* V16 — pág. 12 en adelante */
.ped-summary-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;box-shadow:0 5px 16px rgba(0,92,36,.035)}
.ped-summary-title{display:flex;gap:8px;align-items:center;margin-bottom:10px}.ped-summary-title>span{width:26px;height:26px;border-radius:8px;background:var(--primary-pale);display:grid;place-items:center}.ped-summary-title b{display:block;font-size:9px;letter-spacing:.7px;color:var(--primary-dark)}.ped-summary-title small{display:block;font-size:7.5px;color:var(--muted)}
.ped-summary-lines{display:flex;flex-direction:column;gap:6px}.ped-summary-line{display:grid;grid-template-columns:minmax(120px,1fr) 75px minmax(130px,1fr);gap:10px;align-items:center;padding:8px 9px;border:1px solid #edf2ef;border-radius:10px}.ped-summary-cat{display:flex;gap:7px;align-items:center}.ped-summary-cat b{font-size:10px}.ped-summary-count{text-align:right}.ped-summary-count i{font-style:normal;color:#aaa}.ped-summary-count small{display:block;font-size:6.5px;color:#999}.ped-summary-progress{display:grid;grid-template-columns:1fr 32px;gap:7px;align-items:center}.ped-summary-progress>div{height:5px;background:#edf1ef;border-radius:999px;overflow:hidden}.ped-summary-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--accent))}.ped-summary-progress>b{font-size:8px;color:var(--primary)}.ped-summary-total{display:flex;justify-content:flex-end;gap:8px;margin-top:9px;font-size:8px;color:var(--muted)}.ped-summary-total b{color:var(--primary-dark)}.ped-summary-total em{font-style:normal;color:var(--primary);font-weight:900}
.stock-general-toolbar{
  display:flex;
  flex-direction:row;
  align-items:flex-end;
  justify-content:flex-end;
  gap:10px;
  margin-bottom:12px;
  padding:12px 16px;
  min-height:0;
}
.stock-general-toolbar .form-field{
  flex:0 1 320px;
  min-width:260px!important;
  margin:0!important;
}
.stock-general-toolbar .form-field label{margin-bottom:4px}
.stock-general-toolbar #stock-evento{height:38px}
.stock-general-toolbar #stock-agregar{
  height:38px;
  white-space:nowrap;
  align-self:flex-end;
}
.pedido-cap-alert{font-size:7px;color:#a85e00;background:#fff5db;border-radius:5px;padding:2px 4px;margin-top:3px;white-space:nowrap}
#re-modal .modal-box{max-height:92vh;overflow:auto}
@media(max-width:760px){
  .ped-summary-line{grid-template-columns:1fr 60px}
  .ped-summary-progress{grid-column:1/-1}
  .stock-general-toolbar{flex-direction:column;align-items:stretch;padding:12px}
  .stock-general-toolbar .form-field{min-width:0!important;max-width:none;flex:1 1 auto}
  .stock-general-toolbar #stock-agregar{width:100%;justify-content:center;align-self:stretch}
}


/* ============================================================
   V16.2 · PEDIDOS — corrección de tabla / alineación
   ============================================================ */
.checklist-table-scroll{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:visible;
  border-radius:0 0 12px 12px;
  scrollbar-width:thin;
  scrollbar-color:#aacdb8 #eef6f1;
  -webkit-overflow-scrolling:touch;
}
.checklist-table-scroll::-webkit-scrollbar{height:8px}
.checklist-table-scroll::-webkit-scrollbar-track{
  background:#eef6f1;
  border-radius:999px;
}
.checklist-table-scroll::-webkit-scrollbar-thumb{
  background:#aacdb8;
  border-radius:999px;
}

#chk-table.pedidos-table{
  width:100%;
  min-width:1080px;
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:0;
}
#chk-table.pedidos-table th,
#chk-table.pedidos-table td{
  box-sizing:border-box;
  vertical-align:middle;
  padding:8px 7px;
}
#chk-table.pedidos-table thead th{
  height:36px;
  background:#f0f8f4;
  color:#005c24;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* ancho real de cada columna */
#chk-table.pedidos-table th:nth-child(1),
#chk-table.pedidos-table td:nth-child(1){width:90px}
#chk-table.pedidos-table th:nth-child(2),
#chk-table.pedidos-table td:nth-child(2){width:150px}
#chk-table.pedidos-table th:nth-child(3),
#chk-table.pedidos-table td:nth-child(3){width:88px}
#chk-table.pedidos-table th:nth-child(4),
#chk-table.pedidos-table td:nth-child(4){width:82px}
#chk-table.pedidos-table th:nth-child(5),
#chk-table.pedidos-table td:nth-child(5){width:82px}
#chk-table.pedidos-table th:nth-child(6),
#chk-table.pedidos-table td:nth-child(6){width:55px;text-align:center}
#chk-table.pedidos-table th:nth-child(7),
#chk-table.pedidos-table td:nth-child(7){width:145px}
#chk-table.pedidos-table th:nth-child(8),
#chk-table.pedidos-table td:nth-child(8){width:108px}
#chk-table.pedidos-table th:nth-child(9),
#chk-table.pedidos-table td:nth-child(9){width:165px}
#chk-table.pedidos-table th:nth-child(10),
#chk-table.pedidos-table td:nth-child(10){width:115px}

/* inputs ocupan su celda y no fuerzan la tabla */
#chk-table.pedidos-table input,
#chk-table.pedidos-table select{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  height:32px;
  border-radius:7px;
  font-size:9.5px;
}
#chk-table.pedidos-table .pedido-input-num{
  text-align:right;
  font-variant-numeric:tabular-nums;
}
#chk-table.pedidos-table .pedido-producto{
  display:block;
  max-width:100%;
  font-size:9.5px;
  line-height:1.25;
  color:#173b29;
  white-space:normal;
  word-break:normal;
}
#chk-table.pedidos-table .pedido-cat-chip{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:3px 6px;
  border-radius:999px;
  background:#eef8f2;
  color:#08743a;
  font-size:7.5px;
  font-weight:850;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#chk-table.pedidos-table .pedido-cajas-cell{
  text-align:center;
}
#chk-table.pedidos-table .ped-cajas{
  display:inline-grid;
  place-items:center;
  min-width:28px;
  min-height:25px;
  padding:2px 5px;
  border-radius:7px;
  background:#f4f7f5;
  color:#174b32;
  font-size:10px;
  font-variant-numeric:tabular-nums;
}
#chk-table.pedidos-table .pedido-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:3px;
}
#chk-table.pedidos-table .pedido-actions .btn-sm{
  padding:5px 7px;
  font-size:8px;
}

/* Separador de categoría ahora abarca realmente las 10 columnas */
#chk-table.pedidos-table .pedido-category-row td{
  position:relative;
  width:auto!important;
  padding:11px 9px 6px!important;
  background:#fff!important;
}
#chk-table.pedidos-table .pedido-category-row td>i{
  margin-right:3px;
}

/* deja siempre identificables producto y acciones al desplazar horizontal */
#chk-table.pedidos-table .pedido-item-row td:nth-child(1){
  position:sticky;
  left:0;
  z-index:2;
  background:#fff;
}
#chk-table.pedidos-table .pedido-item-row td:nth-child(2){
  position:sticky;
  left:90px;
  z-index:2;
  background:#fff;
  box-shadow:7px 0 10px -10px rgba(0,70,32,.45);
}
#chk-table.pedidos-table .pedido-item-row td:nth-child(10){
  position:sticky;
  right:0;
  z-index:2;
  background:#fff;
  box-shadow:-7px 0 10px -10px rgba(0,70,32,.45);
}
#chk-table.pedidos-table .pedido-item-row:hover td:nth-child(1),
#chk-table.pedidos-table .pedido-item-row:hover td:nth-child(2),
#chk-table.pedidos-table .pedido-item-row:hover td:nth-child(10){
  background:#f7fcf9;
}

#chk-table.pedidos-table .pedido-cap-alert{
  max-width:100%;
  margin-top:3px;
  padding:2px 4px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:6.5px;
}

/* En pantallas amplias entra de forma natural; en pantallas menores scrollea,
   sin deformar columnas ni comprimir botones. */
@media(min-width:1450px){
  #chk-table.pedidos-table{
    min-width:100%;
  }
}
@media(max-width:760px){
  #chk-table.pedidos-table{
    min-width:1030px;
  }
  #chk-table.pedidos-table .pedido-item-row td:nth-child(2){
    left:90px;
  }
}

/* V17 — correcciones documento completo */
.rent-kpi.neutral{border-top:3px solid #9ba8a0}
.rent-kpi.positive .kpi-val{color:#167342}.rent-kpi.negative .kpi-val{color:#b33434}
#ren-kpis .rent-kpi:last-child .kpi-val{font-size:17px;letter-spacing:.3px}
#gas-saldo-eliminar{margin-left:2px}
#re-modal .modal-box{max-height:92vh;overflow-y:auto;overscroll-behavior:contain}
#re-modal textarea{resize:vertical}


/* ============================================================
   V18 · Correcciones act dash eventos (3)
   ============================================================ */
.capacity-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.capacity-max-field{grid-column:1/-1}
.capacity-input-wrap{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px}
.capacity-input-wrap span{font-size:9px;font-weight:800;color:var(--primary-dark);padding:0 4px}
.capacity-max-field small{display:block;margin-top:5px;color:var(--muted);font-size:8.5px}

/* Pedidos: 9 columnas, sin Unidad, autoguardado */
#chk-table.pedidos-table{min-width:1015px}
#chk-table.pedidos-table th:nth-child(1),#chk-table.pedidos-table td:nth-child(1){width:90px}
#chk-table.pedidos-table th:nth-child(2),#chk-table.pedidos-table td:nth-child(2){width:155px}
#chk-table.pedidos-table th:nth-child(3),#chk-table.pedidos-table td:nth-child(3){width:92px}
#chk-table.pedidos-table th:nth-child(4),#chk-table.pedidos-table td:nth-child(4){width:88px}
#chk-table.pedidos-table th:nth-child(5),#chk-table.pedidos-table td:nth-child(5){width:58px;text-align:center}
#chk-table.pedidos-table th:nth-child(6),#chk-table.pedidos-table td:nth-child(6){width:145px}
#chk-table.pedidos-table th:nth-child(7),#chk-table.pedidos-table td:nth-child(7){width:108px}
#chk-table.pedidos-table th:nth-child(8),#chk-table.pedidos-table td:nth-child(8){width:170px}
#chk-table.pedidos-table th:nth-child(9),#chk-table.pedidos-table td:nth-child(9){width:105px}
#chk-table.pedidos-table .pedido-item-row td:nth-child(9){position:sticky;right:0;z-index:2;background:#fff}
#chk-table.pedidos-table .pedido-item-row:hover td:nth-child(9){background:#f7fcf9}
.pedido-save-state{font-size:7.5px;font-weight:800;color:#77847c;white-space:nowrap}
.pedido-save-state.saving{color:#a86d00}
.pedido-save-state.ok{color:#167342}
.pedido-save-state.error{color:var(--red)}
.pedido-actions{flex-direction:column;align-items:flex-end!important;gap:1px!important}
.pedido-cap-alert{font-size:6.7px!important;max-width:90px!important}

.stock-qty-warning{display:block;margin-top:3px;color:#aa5a00;font-size:7px;font-weight:800}

/* Link público: el rango completo queda visualmente continuo */
.pg-cell.rango-cont{border-left-color:transparent!important;border-right-color:transparent!important}
.pg-cell.rango-cont.libre,.pg-cell.rango-inicio.libre{background:#f1faf5}
.pg-cell.rango-cont.pendiente,.pg-cell.rango-inicio.pendiente{background:#fff7df}
.pg-cell.rango-cont.cubierto,.pg-cell.rango-inicio.cubierto{background:#e8f6ee}
.pg-range-fill{display:block;width:100%;height:7px;border-radius:999px;background:currentColor;opacity:.18}
.grilla-dia{margin-bottom:22px}
.grilla-dia-lbl{font-weight:900;color:var(--primary-dark);letter-spacing:.25px}

/* Sidebar: ayuda a que el orden solicitado se lea como flujo */
#sidebar-nav .nav-item{transition:background .16s ease,transform .16s ease}
#sidebar-nav .nav-item:hover{transform:translateX(2px)}

@media(max-width:720px){
  .capacity-form-grid{grid-template-columns:1fr}
  .capacity-max-field{grid-column:auto}
}


/* ============================================================
   V18.2 · Capacidad + Pedidos + Horarios
   ============================================================ */

/* Capacidad: lectura simple tipo tabla de operación */
#cap-tbody .capacity-item-row td{
  padding-top:13px;
  padding-bottom:13px;
  font-size:11px;
}
#cap-tbody .capacity-item-row td:first-child b{font-size:11px;color:#27352e}
#cap-tbody .capacity-number{font-variant-numeric:tabular-nums}
#cap-tbody .capacity-total b{font-size:11px;color:#152f22}
#cap-tbody .capacity-actions{white-space:nowrap;text-align:right}

/* Pedidos / Mercadería: más grande y cómodo para carga operativa */
#chk-table.pedidos-table{
  min-width:1120px;
}
#chk-table.pedidos-table th{
  height:42px;
  padding:10px 9px;
  font-size:9px;
  letter-spacing:.35px;
}
#chk-table.pedidos-table td{
  padding:10px 9px;
  font-size:10.5px;
}
#chk-table.pedidos-table input,
#chk-table.pedidos-table select{
  height:38px;
  min-height:38px;
  padding:0 9px;
  font-size:11px;
  border-radius:8px;
}
#chk-table.pedidos-table .pedido-producto{
  font-size:11px;
  line-height:1.35;
}
#chk-table.pedidos-table .pedido-cat-chip{
  font-size:8.5px;
  padding:4px 7px;
}
#chk-table.pedidos-table .ped-cajas{
  min-height:30px;
  min-width:34px;
  font-size:11px;
}
#chk-table.pedidos-table .pedido-save-state{
  font-size:8px;
}
#chk-table.pedidos-table .pedido-category-row td{
  padding:14px 10px 8px!important;
}
#chk-table.pedidos-table .pedido-category-row td>b{
  font-size:11px;
}

/* La persona sobre el horario se lee como un bloque continuo */
.graf-free-cell.con-persona{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
}
.graf-free-person-name{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:850;
}


/* V18.6 · Documentación general — vehículos dentro del mismo grupo */
.docg-vehicle-block{margin:12px 0 18px}
.docg-vehicle-head{
  display:flex;align-items:center;gap:8px;
  margin:0 0 9px;padding:8px 10px;
  border:1px solid #dcecdf;border-radius:10px;background:#f7fbf8
}
.docg-vehicle-head span{font-size:15px}
.docg-vehicle-head b{font-size:11px;color:#17472d}
.docg-vehicle-head i{margin-left:auto;font-style:normal;font-size:8px;font-weight:800;color:var(--muted)}

/* V18.7 · Autoguardado checklist */
.checklist-save-state{display:inline-block;margin-right:6px;font-size:8px;font-weight:800;color:#6f7f75}
.checklist-save-state.saving{color:#a86d00}
.checklist-save-state.ok{color:#167342}
.checklist-save-state.error{color:#b33434}
.badge.neutral{background:#eef1ef;color:#59645d}


/* V18.9 · Capacidad de almacenamiento replanteada */
.capacity-quantity-row{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:8px;align-items:center}
.capacity-quantity-row select{font-weight:800;color:#17472d;background:#f4faf6}
.capacity-total-preview{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid #cfe8d7;border-radius:10px;background:#f2faf5}
.capacity-total-preview span{font-size:9px;font-weight:800;color:#6f7f75;text-transform:uppercase;letter-spacing:.35px}
.capacity-total-preview b{font-size:15px;color:#005c24;font-variant-numeric:tabular-nums}
.capacity-measure-badge{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eef8f2;color:#175b35;font-weight:800;white-space:nowrap}
#cap-modal .modal-box{max-width:650px}
@media(max-width:720px){.capacity-quantity-row{grid-template-columns:1fr}}


/* V18.10 · Productos de almacenamiento */
.capacity-product-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}
.capacity-product-row .btn-secondary{height:36px;white-space:nowrap}
.cap-product-modal-box{max-width:520px}
.cap-product-help{margin:8px 0 4px;padding:9px 10px;border-radius:9px;background:#f1f8f4;color:#456053;font-size:9px;line-height:1.45}
@media(max-width:620px){.capacity-product-row{grid-template-columns:1fr}.capacity-product-row .btn-secondary{width:100%}}

/* V18.11 · Capacidad por presentación */
.capacity-total{display:flex;flex-direction:column;gap:2px}
.capacity-total small{font-size:8px;color:var(--muted);font-weight:700}
.capacity-total-preview small{display:block;margin-top:3px;font-size:9px;color:var(--muted);font-weight:700}

/* V18.20 · curso de manipulación visible desde horarios */
.graf-block-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.graf-course-link{display:inline-flex;align-items:center;gap:5px;text-decoration:none}
.graf-assign-course{margin-top:7px;font-size:10px;font-weight:700}
.graf-assign-course a{display:inline-flex;align-items:center;gap:5px;color:var(--dean-green,#08783d);text-decoration:none}
.graf-assign-course a:hover{text-decoration:underline}
.graf-assign-course span{color:var(--muted)}

/* V18.21 · Propuestas agrupadas por día */
.proposal-day-separator td{
  padding:12px 10px 7px!important;
  border-bottom:0!important;
  background:transparent!important;
}
.proposal-day-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 12px;
  border:1px solid #dcebe2;
  border-radius:10px;
  background:#f3faf6;
}
.proposal-day-header>div{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.proposal-day-header b{
  font-size:11px;
  color:var(--text);
}
.proposal-day-header span{
  display:inline-flex;
  align-items:center;
  padding:3px 7px;
  border-radius:999px;
  background:#e3f4e9;
  color:#187646;
  font-size:8.5px;
  font-weight:900;
}
.proposal-day-row td{
  background:#fff;
}
.proposal-day-row + .proposal-day-row td{
  border-top:1px solid #eef2ef;
}
@media(max-width:760px){
  .proposal-day-header{padding:8px 10px}
  .proposal-day-header>div{align-items:flex-start;flex-direction:column;gap:4px}
}

/* V18.22 · Propuestas: adjunto + mobile */
.proposal-course-link{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:var(--dean-green,#08783d);
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}
.proposal-course-link:hover{text-decoration:underline}
.proposal-actions-cell{
  text-align:right;
  white-space:nowrap;
}
@media(max-width:760px){
  #prop-tbody .proposal-day-separator{
    display:table-row!important;
  }
  #prop-tbody .proposal-day-separator td{
    display:table-cell!important;
    width:auto!important;
    padding:14px 0 7px!important;
    background:transparent!important;
    border:0!important;
  }
  #prop-tbody .proposal-day-header{
    border-radius:12px;
    padding:10px 12px;
    box-shadow:0 2px 8px rgba(0,0,0,.04);
  }

  #prop-tbody .proposal-day-row{
    display:block;
    margin:0 0 12px;
    padding:11px 12px;
    border:1px solid #e5ece7;
    border-radius:12px;
    background:#fff;
    box-shadow:0 3px 12px rgba(0,0,0,.045);
  }
  #prop-tbody .proposal-day-row td{
    display:flex!important;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    width:100%!important;
    padding:7px 0!important;
    border:0!important;
    text-align:right!important;
    background:transparent!important;
    white-space:normal!important;
  }
  #prop-tbody .proposal-day-row td::before{
    content:attr(data-label);
    flex:0 0 90px;
    text-align:left;
    color:var(--muted);
    font-size:8.5px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.03em;
  }
  #prop-tbody .proposal-day-row td:first-child{
    padding-top:0!important;
  }
  #prop-tbody .proposal-day-row td:first-child{
    font-size:12px;
    font-weight:900;
  }
  #prop-tbody .proposal-actions-cell{
    justify-content:flex-end;
    flex-wrap:wrap;
    padding-top:10px!important;
    border-top:1px solid #edf1ee!important;
    margin-top:3px;
  }
  #prop-tbody .proposal-actions-cell::before{
    display:none;
  }
  #prop-tbody .proposal-actions-cell button{
    flex:1 1 auto;
    min-width:86px;
    justify-content:center;
  }
  .proposal-course-link{
    white-space:normal;
    justify-content:flex-end;
    text-align:right;
  }

  /* La tabla de propuestas deja de forzar ancho horizontal */
  #prop-tbody{display:block}
  #prop-tbody tr{width:100%}
  #prop-tbody td{box-sizing:border-box}
}

/* V18.23 · error visible en propuestas */
.proposal-load-error{padding:14px;border:1px solid #f0caca;border-radius:10px;background:#fff5f5;color:#8a2929;line-height:1.5}
.proposal-load-error button{margin-top:9px}

/* V18.24 · Propuestas mobile refinado */
@media(max-width:760px){
  /* El contenedor deja de comportarse como tabla ancha */
  #prop-tbody{
    display:block!important;
    width:100%!important;
  }

  #prop-tbody .proposal-day-separator{
    display:block!important;
    width:100%!important;
    margin:14px 0 8px!important;
  }
  #prop-tbody .proposal-day-separator td{
    display:block!important;
    width:100%!important;
    padding:0!important;
  }
  #prop-tbody .proposal-day-header{
    display:flex;
    width:100%;
    padding:10px 12px;
    border-radius:12px;
    box-sizing:border-box;
    background:#f2faf5;
    border:1px solid #dcebe2;
  }

  #prop-tbody .proposal-day-row{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:0 14px;
    width:100%!important;
    margin:0 0 12px!important;
    padding:12px!important;
    box-sizing:border-box;
    border:1px solid #e3ebe6!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 4px 14px rgba(0,0,0,.045);
  }

  #prop-tbody .proposal-day-row td{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    padding:7px 0!important;
    border:0!important;
    background:transparent!important;
    text-align:left!important;
    white-space:normal!important;
    overflow:visible!important;
  }

  #prop-tbody .proposal-day-row td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:3px;
    color:#78867e;
    font-size:8px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.045em;
  }

  /* Persona ocupa todo el ancho y funciona como encabezado de tarjeta */
  #prop-tbody .proposal-person-cell{
    grid-column:1/-1;
    padding:0 0 9px!important;
    margin-bottom:3px;
    border-bottom:1px solid #edf1ee!important;
    font-size:13px!important;
    font-weight:900!important;
    color:var(--text);
  }

  /* Horario y estado ganan prioridad visual */
  #prop-tbody .proposal-schedule-cell b{
    font-size:11px;
  }
  #prop-tbody .proposal-status-cell .badge{
    display:inline-flex;
    max-width:100%;
    white-space:normal;
  }

  /* Curso ocupa ancho completo cuando existe */
  #prop-tbody .proposal-day-row td[data-label="Curso"]{
    grid-column:1/-1;
    padding-top:9px!important;
    margin-top:2px;
    border-top:1px solid #f0f3f1!important;
  }
  #prop-tbody .proposal-course-link{
    display:inline-flex;
    justify-content:flex-start;
    align-items:center;
    min-height:34px;
    padding:7px 10px;
    border-radius:9px;
    background:#eef8f2;
    color:#0f7542;
    text-decoration:none;
    font-size:10px;
    font-weight:900;
  }

  /* Acciones siempre abajo y en botones grandes */
  #prop-tbody .proposal-actions-cell{
    grid-column:1/-1;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px!important;
    width:100%!important;
    margin-top:5px!important;
    padding-top:10px!important;
    border-top:1px solid #edf1ee!important;
  }
  #prop-tbody .proposal-actions-cell::before{display:none!important}
  #prop-tbody .proposal-actions-cell button{
    width:100%;
    min-width:0!important;
    min-height:36px;
    justify-content:center;
    margin:0!important;
    border-radius:9px;
  }
  #prop-tbody .proposal-actions-cell button:last-child:nth-child(odd){
    grid-column:1/-1;
  }

  /* Talle y badges no se deforman */
  #prop-tbody .talle-table-badge{
    display:inline-flex;
    min-width:30px;
    justify-content:center;
  }
}

@media(max-width:430px){
  #prop-tbody .proposal-day-row{
    grid-template-columns:1fr;
  }
  #prop-tbody .proposal-day-row td[data-label="Curso"],
  #prop-tbody .proposal-person-cell,
  #prop-tbody .proposal-actions-cell{
    grid-column:1;
  }
  #prop-tbody .proposal-actions-cell{
    grid-template-columns:1fr;
  }
  #prop-tbody .proposal-actions-cell button:last-child:nth-child(odd){
    grid-column:1;
  }
}

/* V18.25 · exportadores */
@media(max-width:760px){
  .card-h{flex-wrap:wrap;gap:7px}
  .card-h>button[id$="-exportar"],
  .card-h>#gas-exportar-excel,
  .card-h>#chk-export-pedidos{flex:1 1 145px;justify-content:center}
}

/* V18.28 · gastos adjuntos */
.gasto-current-file{margin-bottom:7px;padding:8px 10px;border-radius:9px;background:#f1f8f4;font-size:10px;font-weight:700}
.gasto-current-file a{color:#08783d;text-decoration:none;font-weight:900}
.gasto-current-file a:hover{text-decoration:underline}
@media(max-width:760px){
  #gas-exportar-paquete,#gas-exportar-excel{flex:1 1 155px;justify-content:center}
}

/* ============================================================
   V18.30 · Resumen áureo 1.618
   ============================================================ */
.re-summary-golden{margin-bottom:16px}
.re-golden-card{
  border:1px solid #dce9e1!important;
  border-radius:18px!important;
  padding:18px 20px!important;
  background:linear-gradient(180deg,#fff 0%,#fdfefd 100%);
  box-shadow:0 8px 28px rgba(0,92,36,.055)!important;
  overflow:hidden;
}
.re-golden-head{
  margin:0 0 14px!important;
  padding-bottom:13px;
  border-bottom:1px solid #e5eee8;
}
.re-golden-title{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
}
.re-golden-icon{
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 38px;
  background:#eaf6ef;
  color:#007C38;
  font-size:17px;
  font-weight:900;
}
.re-golden-title h3{
  margin:0;
  color:#075c2c;
  font-size:13px;
  font-weight:950;
  letter-spacing:.25px;
}
.re-golden-title small{
  display:block;
  margin-top:2px;
  color:#8b9891;
  font-size:8.5px;
  font-weight:700;
}
.re-golden-link{
  align-self:center;
  border:1px solid #b8dec8;
  border-radius:10px;
  padding:8px 12px!important;
  color:#007C38!important;
  background:#fff;
  font-weight:900!important;
  text-decoration:none!important;
}

/* Número de sección: más editorial */
.re-summary-golden .re-section-number{
  top:18px;
  width:30px;
  height:30px;
  background:transparent!important;
  border-radius:0;
  color:#006c32!important;
  font-size:9px;
  letter-spacing:.8px;
}
.re-summary-golden .re-section-number::after{
  content:"";
  position:absolute;
  left:5px;
  right:5px;
  bottom:0;
  height:2px;
  border-radius:99px;
  background:#007C38;
}

/* Cronograma: proporción visual 1.618 entre contenido y hora */
.re-crono-golden{
  gap:0!important;
  padding:0!important;
}
.re-crono-golden .ci{
  display:grid!important;
  grid-template-columns:34px 10px minmax(0,1.618fr) minmax(96px,1fr);
  gap:10px!important;
  align-items:center!important;
  min-height:40px;
  padding:0 2px;
  border-bottom:1px solid #edf2ef;
}
.re-crono-golden .ci:last-child{border-bottom:0}
.re-crono-step{
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f0f8f4;
  color:#007C38;
  font-size:8px;
  font-weight:950;
}
.re-crono-golden .ci:first-child .re-crono-step{
  background:#dff2e7;
  box-shadow:0 0 0 6px rgba(0,124,56,.055);
}
.re-crono-golden .ci .dot2{
  width:7px!important;
  height:7px!important;
  background:#e3a52f!important;
}
.re-crono-golden .ci.done .dot2{background:#00ad62!important}
.re-crono-golden .ci .txt{
  color:#25342d!important;
  font-size:11px!important;
  font-weight:650;
}
.re-crono-golden .ci .hora{
  text-align:right;
  color:#5f7168!important;
  font-size:10px!important;
  font-variant-numeric:tabular-nums;
}

/* Operación: 38.2% leyenda / 61.8% avance principal */
.re-operation-golden{
  display:grid;
  grid-template-columns:minmax(230px,38.2%) minmax(0,61.8%);
  align-items:center;
  min-height:220px;
  margin:-2px -20px -18px;
}
.re-operation-golden .donut-legend{
  order:1;
  margin:0!important;
  padding:18px 28px 20px 20px;
  border-right:1px solid #e5eee8;
  display:flex!important;
  flex-direction:column;
  gap:0!important;
}
.re-operation-golden .donut-legend .li{
  min-height:35px;
  border-bottom:1px solid #edf2ef;
  gap:9px!important;
  font-size:10.5px!important;
}
.re-operation-golden .donut-legend .li:last-child{border-bottom:0}
.re-operation-golden .donut-legend .dot{
  width:8px!important;
  height:8px!important;
}
.re-operation-golden .donut-legend .nm{
  color:#263a30!important;
  font-weight:650;
}
.re-operation-golden .donut-legend .pct{
  color:#005c24;
  font-size:11px!important;
  font-weight:950!important;
}
.re-operation-golden .donut-wrap{
  order:2;
  width:170px!important;
  height:170px!important;
  margin:0 auto!important;
}
.re-operation-golden .donut-label b{
  font-size:31px!important;
  color:#005c24!important;
  line-height:1;
}
.re-operation-golden .donut-label span{
  margin-top:5px;
  font-size:8px!important;
  letter-spacing:.55px;
  color:#7c8983!important;
  text-transform:uppercase;
  font-weight:900;
}

/* Ya no se usa la tarjeta Atención del resumen */
.re-attention-section{display:none!important}

@media(max-width:760px){
  .re-summary-golden{padding-left:0!important}
  .re-summary-golden .re-section-number{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    margin:0 0 7px 4px!important;
  }
  .re-golden-card{padding:14px!important;border-radius:15px!important}
  .re-golden-head{
    align-items:flex-start!important;
    gap:10px;
  }
  .re-golden-icon{width:34px;height:34px;flex-basis:34px}
  .re-golden-link{
    padding:7px 9px!important;
    font-size:8.5px!important;
    white-space:nowrap;
  }
  .re-crono-golden .ci{
    grid-template-columns:30px 8px minmax(0,1fr);
    min-height:48px;
    gap:8px!important;
    position:relative;
    padding-right:0;
  }
  .re-crono-golden .ci .hora{
    grid-column:3;
    text-align:left;
    margin-top:-7px;
    font-size:8.5px!important;
  }

  .re-operation-golden{
    display:flex;
    flex-direction:column;
    min-height:0;
    margin:0!important;
  }
  .re-operation-golden .donut-wrap{
    order:1;
    margin:8px auto 16px!important;
  }
  .re-operation-golden .donut-legend{
    order:2;
    width:100%;
    box-sizing:border-box;
    border-right:0;
    border-top:1px solid #e5eee8;
    padding:8px 0 0;
  }
}


/* ============================================================
   V18.31 · RESUMEN COMPLETO — SISTEMA ÁUREO 1.618
   ============================================================ */

/* Canvas general: los KPIs y bloques grandes recorren todo el ancho.
   Los pares 04/05 y 06/07 usan 1.618 : 1 */
.re-summary-canvas{
  display:grid;
  grid-template-columns:minmax(0,1.618fr) minmax(300px,1fr);
  column-gap:16px;
  row-gap:16px;
  align-items:stretch;
}
.re-summary-canvas > .re-control-strip,
.re-summary-canvas > .re-summary-full,
.re-summary-canvas > .re-summary-section:nth-of-type(2),
.re-summary-canvas > .re-summary-section:nth-of-type(3){
  grid-column:1/-1;
}
.re-summary-canvas > .re-summary-major{grid-column:1}
.re-summary-canvas > .re-summary-minor{grid-column:2}
.re-summary-canvas > .re-summary-section{
  margin:0!important;
  min-width:0;
}
.re-summary-canvas .re-golden-card{
  height:100%;
  box-sizing:border-box;
}

/* KPIs: 3 pares. Dentro de cada card, 38.2% identidad / 61.8% dato */
.re-summary-canvas .re-control-strip{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
  margin:0!important;
}
.re-summary-canvas .re-control-card{
  position:relative;
  overflow:hidden;
  min-height:96px;
  border-radius:16px;
  padding:13px 14px;
  border:1px solid #dce9e1;
  background:linear-gradient(145deg,#fff,#fbfdfc);
  box-shadow:0 7px 20px rgba(0,92,36,.045);
}
.re-summary-canvas .re-control-card::after{
  content:"";
  position:absolute;
  right:-28px;
  bottom:-34px;
  width:92px;
  height:92px;
  border-radius:50%;
  background:color-mix(in srgb,var(--kc) 9%,transparent);
  pointer-events:none;
}
.re-summary-canvas .re-control-top{
  grid-template-columns:38px minmax(0,1.618fr) auto;
  gap:9px;
}
.re-summary-canvas .re-control-icon{
  width:36px;
  height:36px;
  border-radius:11px;
}
.re-summary-canvas .re-control-top>b{
  font-size:8.5px;
  letter-spacing:.6px;
}
.re-summary-canvas .re-control-top>strong{
  font-size:20px;
  letter-spacing:-.6px;
}
.re-summary-canvas .re-control-bar{
  margin:11px 0 6px;
  height:5px;
}
.re-summary-canvas .re-control-card small{
  position:relative;
  z-index:1;
  font-size:8.5px;
  font-weight:700;
}

/* Secciones y numeración editorial */
.re-summary-canvas .re-summary-golden{
  padding-left:38px!important;
}
.re-summary-canvas .re-section-number{
  left:0!important;
  top:18px!important;
}
.re-summary-canvas .re-golden-card{
  border-radius:17px!important;
  box-shadow:0 8px 24px rgba(0,92,36,.045)!important;
}
.re-summary-canvas .re-golden-compact{
  padding:16px!important;
}
.re-summary-canvas .re-golden-compact .re-golden-head{
  margin-bottom:12px!important;
}

/* Información general: cada dato usa label/value ≈ 1 : 1.618 */
.re-info-golden{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px 12px!important;
}
.re-info-golden > div{
  display:grid!important;
  grid-template-columns:minmax(86px,1fr) minmax(0,1.618fr)!important;
  gap:9px!important;
  align-items:center;
  min-height:42px;
  padding:8px 10px!important;
  border:1px solid #edf2ef!important;
  border-radius:10px!important;
  background:#fbfdfc!important;
}
.re-info-golden > div:nth-child(odd){background:#fbfdfc!important}
.re-info-golden > div:hover{
  background:#f4faf6!important;
  border-color:#d6e8dc!important;
}

/* Cronograma: el espacio entre actividad y hora se transforma en un conector */
.re-crono-golden{
  max-width:none!important;
}
.re-crono-golden .ci{
  grid-template-columns:34px 10px minmax(150px,1.618fr) minmax(80px,.618fr) 112px!important;
  gap:9px!important;
  min-height:42px!important;
}
.re-crono-golden .re-crono-connector{
  min-width:70px;
  display:flex;
  align-items:center;
  gap:0;
  color:#8ba297;
}
.re-crono-golden .re-crono-connector i{
  display:block;
  height:1px;
  flex:1;
  background:linear-gradient(90deg,#e2ebe6,#b9d5c4);
}
.re-crono-golden .re-crono-connector b{
  margin-left:-1px;
  font-size:12px;
  line-height:1;
  color:#278252;
}
.re-crono-golden .ci .hora{
  width:auto!important;
  text-align:left!important;
  font-size:10px!important;
  font-weight:750;
  color:#486357!important;
}

/* Operación mantiene 38.2 / 61.8, pero encaja con el resto */
.re-operation-golden{
  min-height:230px!important;
}
.re-operation-golden .donut-legend{
  min-height:230px;
  box-sizing:border-box;
}

/* PEDIDOS: quitar card dentro de card y aprovechar el bloque principal */
.re-pedidos-golden .ped-summary-card{
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
}
.re-pedidos-golden .ped-summary-title{
  display:none!important;
}
.re-pedidos-golden .ped-summary-line{
  grid-template-columns:minmax(105px,1fr) 64px minmax(110px,1.618fr)!important;
  border-color:#edf2ef!important;
  background:#fbfdfc;
  padding:9px 10px!important;
}
.re-pedidos-golden .ped-summary-total{
  margin-top:10px!important;
  padding:9px 10px;
  border-radius:9px;
  background:#f2f8f4;
}

/* PERSONAL: cards/filas compactas y sin aire innecesario */
.re-personal-golden{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.re-personal-golden .mbar-row{
  padding:9px 10px;
  border:1px solid #edf2ef;
  border-radius:10px;
  background:#fbfdfc;
}
.re-personal-golden .mbar-top{
  display:grid;
  grid-template-columns:minmax(0,1.618fr) auto;
  gap:8px;
}

/* LOGÍSTICA */
.re-logistica-golden{
  gap:7px!important;
}
.re-logistica-golden .grp-lbl{
  margin:3px 0!important;
  padding-bottom:5px;
  border-bottom:1px solid #edf2ef;
}
.re-logistica-golden .li{
  min-height:32px;
  padding:6px 8px;
  border:1px solid #edf2ef;
  border-radius:9px;
  background:#fbfdfc;
}

/* Comercial: label/value 1 : 1.618 */
.re-commercial-golden{
  display:flex!important;
  flex-direction:column;
  gap:7px!important;
}
.re-commercial-golden > div{
  display:grid!important;
  grid-template-columns:minmax(90px,1fr) minmax(0,1.618fr)!important;
  gap:10px!important;
  min-height:38px;
  padding:8px 9px!important;
  border:1px solid #edf2ef!important;
  border-radius:9px!important;
  background:#fbfdfc!important;
}

/* Presupuesto: tres cifras con el valor dominando visualmente */
.re-budget-golden{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.re-budget-golden > div{
  min-height:76px;
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  padding:12px 14px!important;
  border:1px solid #e1ece5!important;
  border-radius:12px!important;
  background:linear-gradient(145deg,#fff,#f6fbf8)!important;
}
.re-budget-golden > div > *:first-child{
  font-size:8.5px!important;
  text-transform:uppercase;
  letter-spacing:.55px;
  color:#7e9187!important;
  margin-bottom:5px;
}
.re-budget-golden > div > *:last-child{
  font-size:19px!important;
  font-weight:950!important;
  color:#005c24!important;
  letter-spacing:-.35px;
}
.re-budget-golden-card{
  padding-bottom:18px!important;
}

/* Cabeceras consistentes */
.re-summary-canvas .re-golden-title h3{
  font-size:12px!important;
}
.re-summary-canvas .re-golden-title small{
  font-size:8px!important;
}
.re-golden-edit{
  margin-left:auto;
  border:1px solid #d7e8dd!important;
  background:#fff!important;
}

/* Desktop intermedio */
@media(max-width:1100px){
  .re-summary-canvas{
    grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);
  }
  .re-summary-canvas .re-control-strip{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .re-info-golden{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Mobile: una columna limpia */
@media(max-width:760px){
  .re-summary-canvas{
    display:block!important;
  }
  .re-summary-canvas > *{
    margin-bottom:12px!important;
  }
  .re-summary-canvas .re-control-strip{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .re-summary-canvas .re-control-card{
    min-height:92px;
    padding:11px;
  }
  .re-summary-canvas .re-control-top{
    grid-template-columns:32px minmax(0,1fr);
  }
  .re-summary-canvas .re-control-top>strong{
    grid-column:2;
    font-size:18px;
  }
  .re-summary-canvas .re-control-icon{
    grid-row:1/3;
    width:31px;
    height:31px;
  }

  .re-summary-canvas .re-summary-golden{
    padding-left:0!important;
  }
  .re-summary-canvas .re-section-number{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    display:inline-grid!important;
    margin:0 0 6px 4px!important;
  }

  .re-info-golden,
  .re-budget-golden{
    grid-template-columns:1fr!important;
  }
  .re-info-golden > div,
  .re-commercial-golden > div{
    grid-template-columns:minmax(82px,1fr) minmax(0,1.618fr)!important;
  }

  .re-crono-golden .ci{
    grid-template-columns:30px 8px minmax(0,1fr) 22px!important;
    min-height:54px!important;
  }
  .re-crono-golden .re-crono-connector{
    min-width:0!important;
  }
  .re-crono-golden .re-crono-connector i{
    display:none;
  }
  .re-crono-golden .ci .hora{
    grid-column:3/5;
    padding-left:0;
    margin-top:-8px;
    font-size:9px!important;
  }

  .re-pedidos-golden .ped-summary-line{
    grid-template-columns:1fr 54px!important;
  }
  .re-pedidos-golden .ped-summary-progress{
    grid-column:1/-1;
  }
}

@media(max-width:430px){
  .re-summary-canvas .re-control-strip{
    grid-template-columns:1fr!important;
  }
}


/* ============================================================
   V18.32 · Resumen: KPI útiles + flechas completas
   ============================================================ */
.re-summary-canvas .re-control-strip{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

.re-crono-golden .re-crono-connector{
  position:relative;
  min-width:125px!important;
  height:18px;
  display:flex!important;
  align-items:center;
  overflow:visible!important;
}
.re-crono-golden .re-crono-connector i{
  position:relative;
  display:block!important;
  flex:1 1 auto;
  min-width:100px;
  height:1px!important;
  background:linear-gradient(90deg,#e1ebe5 0%,#a7cfb8 70%,#16824b 100%)!important;
  overflow:visible;
}
.re-crono-golden .re-crono-connector i::after{
  content:"";
  position:absolute;
  right:-1px;
  top:50%;
  width:7px;
  height:7px;
  border-top:1.6px solid #16824b;
  border-right:1.6px solid #16824b;
  transform:translateY(-50%) rotate(45deg);
}
.re-crono-golden .re-crono-connector b{
  display:none!important;
}
.re-crono-golden .ci{
  grid-template-columns:34px 10px minmax(165px,1.618fr) minmax(125px,.618fr) 118px!important;
}
.re-crono-golden .ci .hora{
  padding-left:9px!important;
  white-space:nowrap;
}

@media(max-width:1100px){
  .re-summary-canvas .re-control-strip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  .re-summary-canvas .re-control-strip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .re-crono-golden .re-crono-connector{
    min-width:22px!important;
    width:22px!important;
  }
  .re-crono-golden .re-crono-connector i{
    min-width:22px!important;
  }
}
@media(max-width:430px){
  .re-summary-canvas .re-control-strip{
    grid-template-columns:1fr!important;
  }
}


/* ============================================================
   V18.33 · Rentabilidad integral
   ============================================================ */
.rent-formula-card{max-width:820px!important}
.rent-detail-grid{display:flex;flex-direction:column;gap:7px;font-size:11px}
.rent-breakdown-row{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:10px 12px;border:1px solid #e8eee9;border-radius:9px;background:#fbfdfc
}
.rent-breakdown-row span{font-weight:700;color:#33463c}
.rent-breakdown-row span small{display:block;margin-top:2px;color:var(--muted);font-size:8.5px;font-weight:600}
.rent-breakdown-row b{font-size:12px;color:#0d4229;white-space:nowrap}
.rent-breakdown-row.sales{border-left:3px solid var(--green)}
.rent-breakdown-row.merchandise{border-left:3px solid var(--amber)}
.rent-breakdown-group{padding:10px;border:1px solid #d9e8de;border-radius:11px;background:#f4faf6}
.rent-breakdown-group .rent-breakdown-row{background:#fff;margin-top:6px}
.rent-breakdown-title{display:flex;justify-content:space-between;gap:12px;padding:2px 3px 5px;font-size:11px}
.rent-breakdown-title span{font-weight:900;color:#075c2c}
.rent-breakdown-title strong{font-size:13px;color:#075c2c}
.rent-final-result{
  display:grid;grid-template-columns:1.618fr 1fr auto;gap:12px;align-items:center;
  margin-top:5px;padding:14px 16px;border-radius:12px;border:1px solid #dce8df;background:#fff
}
.rent-final-result.positive{background:#effaf3;border-color:#c9e7d4}
.rent-final-result.negative{background:#fff4f4;border-color:#efcccc}
.rent-final-result>div{display:flex;flex-direction:column;gap:3px}
.rent-final-result small{font-size:8px;font-weight:900;color:var(--muted);letter-spacing:.5px}
.rent-final-result b{font-size:18px;color:#053e22}
.rent-formula-note{margin-top:4px;padding:9px 11px;border-radius:9px;background:#f7f9f8;color:#496158;font-size:9.5px}
.rent-informative-line{color:var(--muted);font-size:9px;padding:2px 4px}

.pc-person-meta{display:block;color:var(--muted);font-size:8px;margin-top:2px;font-weight:600}
.pc-auto-summary{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:9px;background:#f1f8f4;margin-bottom:12px}
.pc-auto-summary span{font-size:9px;color:var(--muted)}

@media(max-width:760px){
  #ren-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .rent-final-result{grid-template-columns:1fr 1fr}
  .rent-final-result>.badge{grid-column:1/-1;justify-self:start}

  .rent-general-table thead,.rent-personal-table thead{display:none}
  .rent-general-table,.rent-general-table tbody,.rent-personal-table,.rent-personal-table tbody{display:block;width:100%}
  .rent-general-table tr,.rent-personal-table tr{
    display:block;margin:0 0 10px;padding:10px 12px;border:1px solid #e5ece7;border-radius:11px;background:#fff
  }
  .rent-general-table td,.rent-personal-table td{
    display:flex!important;justify-content:space-between;gap:12px;padding:6px 0!important;border:0!important;text-align:right!important;white-space:normal!important
  }
  .rent-general-table td::before,.rent-personal-table td::before{
    content:attr(data-label);font-size:8px;font-weight:900;text-transform:uppercase;color:var(--muted);text-align:left
  }
}

/* V18.34 · ubicación exacta del pronóstico */
.home-weather-location{
  margin:-2px 0 8px;
  color:var(--muted);
  font-size:8.5px;
  font-weight:800;
  letter-spacing:.02em;
}
