/* ============ CALENDARIO DEL MES (cal.js) ============ */
.pf.pf-wide{max-width:none}
.cal-top .pr-top{align-items:flex-end}
.cal-exp{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.cal-guard{font-size:13px;color:var(--muted);white-space:nowrap}
.cal-guard.mal{color:#ff8a8a}

.cal-flujo{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.cal-est{font-family:var(--f-display);font-weight:600;text-transform:uppercase;font-size:14px;letter-spacing:.04em;padding:6px 12px;border-radius:999px;background:#2a2424;color:#fff}
.cal-est.revision{background:#e3a21a;color:#1a1414}
.cal-est.listo{background:var(--green);color:#0b1a0f}
.cal-vis{display:flex;gap:6px;flex-wrap:wrap}
.cal-vc{font-size:13px;padding:5px 10px;border-radius:999px;border:1px dashed var(--line);color:var(--muted)}
.cal-vc.ok{border-style:solid;border-color:#2c7a43;color:#bff5cf;background:rgba(63,227,107,.08)}
.cal-acc{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-left:auto}
.cal-ok{font-size:14px;color:#bff5cf}

.cal-main{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;align-items:start}
.cal-pal{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:14px;display:flex;flex-direction:column;gap:8px}
.cal-pal h3{font-family:var(--f-display);font-weight:600;text-transform:uppercase;font-size:14px;letter-spacing:.06em;color:var(--muted);margin:8px 0 2px}
.cal-pl{display:flex;flex-direction:column;gap:6px}
.cal-pi{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 6px;border-radius:14px;border:1.5px solid transparent;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.cal-pi:hover{background:#1a1515}
.cal-pi[aria-pressed=true]{border-color:var(--red);background:rgba(211,18,26,.12)}
.cal-pi>span:not(.cal-glob){flex:1;font-weight:600;font-size:14px;line-height:1.2}
.cal-ed{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);color:var(--muted);font-size:14px;flex-shrink:0;opacity:.6}
.cal-pi:hover .cal-ed,.cal-ed:focus-visible{opacity:1}
.cal-dh .c{display:none}
.cal-vac{border:1.5px dashed var(--line);border-radius:12px;padding:10px;color:var(--muted);font-size:13px;text-align:center}
.cal-vac:hover{border-color:var(--red);color:var(--fg)}
.cal-pal>.pf-btn{margin-top:8px;justify-content:center}

.cal-glob{--c:#d3121a;width:52px;height:52px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:var(--c);overflow:hidden;box-shadow:0 0 0 2px rgba(255,255,255,.08)}
.cal-glob:has(img){background:transparent;box-shadow:none;border-radius:0}
.cal-glob img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.cal-glob b{font-family:var(--f-display);font-weight:700;color:#fff;font-size:18px;letter-spacing:.02em}
.cal-glob.grande{width:96px;height:96px}
.cal-glob.grande b{font-size:30px}
.cal-ghost{position:fixed;z-index:200;width:76px;height:76px;transform:translate(-50%,-50%) rotate(-6deg);pointer-events:none;filter:drop-shadow(0 8px 16px rgba(0,0,0,.6))}
.cal-ghost b{font-size:24px}
body.cal-arr,body.cal-arr *{cursor:grabbing!important;user-select:none}
.cal-orig{opacity:.35}

.cal-cal{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:14px}
.cal-tit{display:flex;align-items:center;gap:14px;margin:2px 4px 12px}
.cal-tit .kwmark{font-size:44px}
.cal-tit b{display:block;font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:34px;line-height:1}
.cal-tit small{color:var(--muted);font-size:14px;text-transform:uppercase;letter-spacing:.08em}
.cal-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:auto repeat(var(--filas,5),minmax(110px,1fr));gap:8px;min-height:calc(100vh - 130px)}
.cal-dh{font-family:var(--f-display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:16px;background:#000;border-radius:10px;padding:8px 12px}
.cal-d{position:relative;background:#141010;border:1.5px solid var(--line);border-radius:14px;padding:6px 8px 8px;display:flex;flex-direction:column;gap:4px;min-width:0;transition:border-color .12s,background .12s}
.cal-d.vacio{background:transparent;border-style:dashed;opacity:.35}
.cal-d.over{border-color:var(--green);background:rgba(63,227,107,.08)}
.cal-grid.eligiendo .cal-d:not(.fer):not(.vacio){cursor:copy}
.cal-grid.eligiendo .cal-d:not(.fer):not(.vacio):hover{border-color:var(--red)}
.cal-n{align-self:flex-start;font-family:var(--f-display);font-weight:700;font-size:24px;line-height:1;padding:4px 6px;margin:-2px 0 0 -4px;border-radius:8px;color:var(--fg)}
.cal-n:hover{background:#2a2424}
.cal-d.fer{border-color:var(--red);background:
  linear-gradient(to top right,transparent calc(50% - 2px),rgba(211,18,26,.35) calc(50% - 2px),rgba(211,18,26,.35) calc(50% + 2px),transparent calc(50% + 2px)),
  linear-gradient(to bottom right,transparent calc(50% - 2px),rgba(211,18,26,.35) calc(50% - 2px),rgba(211,18,26,.35) calc(50% + 2px),transparent calc(50% + 2px)),
  rgba(211,18,26,.22)}
.cal-d.fer .cal-n{color:#ff6b6b;text-decoration:line-through;text-decoration-thickness:3px}
.cal-d.fer.over{border-color:var(--red);background-color:rgba(211,18,26,.35)}
.cal-fn{font-family:var(--f-display);font-weight:600;text-transform:uppercase;font-size:14px;line-height:1.15;color:#ff8a8a;background:rgba(0,0,0,.55);border-radius:8px;padding:4px 8px;align-self:flex-start}
.cal-evs{display:flex;flex-direction:column;gap:4px;min-width:0}
.cal-ev{display:flex;align-items:center;gap:8px;padding:4px;border-radius:12px;background:#1f1a1a;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;min-width:0}
.cal-ev:hover{background:#2a2323}
.cal-ev .cal-glob{width:46px;height:46px}
.cal-ev span:not(.cal-glob){min-width:0;display:flex;flex-direction:column}
.cal-ev b{font-size:14px;line-height:1.15;overflow-wrap:anywhere}
.cal-ev small{font-size:12px;color:var(--muted);line-height:1.2}

.cal-sheet .in{max-width:560px;max-height:92vh;overflow:auto}
.cal-sh-h{display:flex;align-items:center;gap:14px;margin-bottom:4px}
.cal-sh-h h3{margin:0}
.cal-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cal-rojo{color:#ff8a8a!important;border-color:#5a1d1d!important}
.cal-aviso{margin:0;padding:10px 12px;border-radius:12px;background:rgba(227,162,26,.14);color:#f5d27a;font-size:14px}
.cal-chk{display:flex;gap:10px;align-items:flex-start;font-size:15px;cursor:pointer}
.cal-chk input{width:20px;height:20px;margin-top:2px;accent-color:var(--red)}

.cal-pub{position:fixed;inset:0;z-index:120;background:var(--bg);overflow:auto}
body.cal-pub-on{overflow:hidden}
.cal-pub-in{max-width:1200px;margin:0 auto;padding:16px 16px 60px;display:flex;flex-direction:column;gap:14px}
.cal-pub-h{display:flex;align-items:center;gap:14px}
.cal-pub-h b{display:block;font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:28px;line-height:1.05}
.cal-pub-h small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.cal-pub-h .back{margin-left:auto}
.cal-pub-img img{width:100%;height:auto;border-radius:14px;display:block}
.cal-pub-b{display:flex;gap:10px;flex-wrap:wrap}
.cal-pub-b .pf-btn{padding:12px 18px;font-size:15px}
.cal-pub-l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.cal-pub-l li{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:8px 10px}
.cal-pub-l span:not(.cal-glob){display:flex;flex-direction:column}
.cal-pub-l .cal-in{margin-left:auto;flex-shrink:0}
.cal-pub-l small{color:var(--muted);font-size:13px}

@media (max-width:900px){
  .cal-main{grid-template-columns:1fr}
  .cal-pal{position:static;max-height:none;flex-direction:row;flex-wrap:wrap}
  .cal-pal h3{width:100%}
  .cal-pl{flex-direction:row;flex-wrap:wrap}
  .cal-pi{flex-direction:column;width:88px;text-align:center;gap:4px}
  .cal-pi>span:not(.cal-glob){font-size:12px}
  .cal-ed{display:none}
  .cal-grid{min-height:0;grid-template-rows:auto repeat(var(--filas,5),minmax(120px,auto));gap:4px}
  .cal-ev{flex-direction:column;align-items:flex-start}
  .cal-ev .cal-glob{width:34px;height:34px}
  .cal-ev b{font-size:11px}
  .cal-ev small{display:none}
  .cal-dh{font-size:12px;padding:6px;text-align:center}
  .cal-dh .l{display:none}.cal-dh .c{display:inline}
  .cal-fn{font-size:10px;padding:2px 4px}
  .cal-acc{margin-left:0}
}

/* pestaña "Calendario" de los asesores */
.cal-pub.cal-pub-tab{position:static;inset:auto;z-index:auto;overflow:visible;background:transparent}
.cal-pub-tab .cal-pub-in{padding:0;max-width:none}
.cal-prox{background:var(--panel);border:1px solid var(--red);border-radius:16px;padding:12px}
.cal-prox h3,.cal-todo{font-family:var(--f-display);font-weight:600;text-transform:uppercase;font-size:16px;letter-spacing:.06em;margin:0 0 8px;color:var(--cream)}
.cal-mes-sel{display:flex;gap:8px;margin-bottom:14px}
.cal-mes-sel button{font-family:var(--f-display);font-weight:600;text-transform:uppercase;font-size:15px;padding:8px 16px;border-radius:999px;border:1.5px solid var(--line)}
.cal-mes-sel button[aria-selected=true]{background:var(--red);border-color:var(--red)}
