
.cpcal{--olive:#6E8C4E;--ink:#23231A;--cream:#FCF8F3;--paper:#F4F3EC;--lee:#F4F3EC;--campo:#F7F7F5;--voz:rgba(110,140,78,.07);--voz-borde:rgba(110,140,78,.28);--white:#FFFFFF;--yellow:#F3C53C;--sand:#E6DCC8;--muted:#6F6A5E;--lima:#AEDB1E;--line:rgba(35,35,26,.20);--line-ctrl:rgba(35,35,26,.52);--line-olive:rgba(110,140,78,.38);min-height:100vh;background:var(--paper);color:var(--ink);font-family:'Inter',system-ui,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
.cpcal *{box-sizing:border-box;margin:0;padding:0}
.cpcal .cncp-wrap{max-width:1080px;margin:0 auto;padding:0 24px;background:none;border:0;border-radius:0;box-shadow:none;width:auto}
.cpcal h1,.cpcal .brand,.cpcal .cpcal-month{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;letter-spacing:-.02em}
.cpcal a{color:inherit;text-decoration:none}

.cpcal-bar{background:var(--ink)}
.cpcal-bar-in{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;flex-wrap:wrap}
.cpcal-bar-r{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.cpcal-hi{color:var(--cream);opacity:.85;font-size:13px;font-weight:600;white-space:nowrap}
.cpcal-logout{display:inline-flex;align-items:center;gap:7px;color:var(--cream);font-size:13px;font-weight:600;text-decoration:none;background:transparent;border:1px solid rgba(252,248,243,.28);border-radius:999px;padding:8px 16px;transition:background .2s,border-color .2s}
.cpcal-logout i{font-size:16px}
.cpcal-logout:hover{background:rgba(252,248,243,.10);border-color:rgba(252,248,243,.55)}
/* Selector de organización del cliente multi-cuenta (Enry, Rosario) */
.cpcal-orgsw{display:flex;flex-wrap:wrap;gap:8px;padding:18px 0 0}
.cpcal-orgpill{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:13px;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line-ctrl);border-radius:999px;padding:5px 15px 5px 5px;min-height:38px;transition:background .2s,border-color .2s,color .2s}
.cpcal-orgpill:hover{border-color:var(--olive)}
.cpcal-orgpill.on{background:var(--olive);border-color:var(--olive);color:var(--cream)}
.cpcal-orgav{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:var(--olive);color:var(--cream);font-size:11px;font-weight:700;letter-spacing:.02em;flex:0 0 auto}
.cpcal-orgpill.on .cpcal-orgav{background:var(--cream);color:var(--olive)}
.cpcal-bar .brand{color:var(--cream);font-size:18px}
.cpcal-bar .brand i{color:var(--lima);font-style:normal}
a.brand{text-decoration:none;transition:opacity .2s}
a.brand:hover{opacity:.8}
.cpcal-site{display:inline-flex;align-items:center;gap:7px;color:var(--olive);font-size:13px;font-weight:600;background:var(--cream);border:1px solid transparent;border-radius:999px;padding:8px 16px;transition:background .2s,border-color .2s,color .2s}
.cpcal-site i{color:var(--olive);font-size:16px;transition:color .2s}
.cpcal-site:hover{background:var(--lima);color:var(--ink)}
.cpcal-site:hover i{color:var(--ink)}

.cpcal-cal{background:var(--white);padding:20px 0 44px}
.cpcal-top{padding:12px 0 14px}
.cpcal-cli{display:inline-block;font-size:12px;color:var(--olive);font-weight:700;text-transform:uppercase;letter-spacing:.09em;margin-bottom:8px;border-bottom:2px solid var(--lima);padding-bottom:3px}
.cpcal-head-l h1{font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.05}
.cpcal-month{display:inline-flex;align-items:center;gap:14px;font-weight:700;font-size:1.05rem;color:var(--ink)}
.cpcal-nav{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid var(--line-ctrl);color:var(--ink);font-size:18px;line-height:1;font-family:'Inter',sans-serif;transition:background .2s,border-color .2s,color .2s}
.cpcal-note{font-size:13px;color:var(--muted);margin-top:0;max-width:46ch;line-height:1.6;text-wrap:balance}
/* Distribución de texto (regla del estudio): ninguna línea termina en artículo o conector,
   ninguna palabra se queda sola en la última línea. */
.cpcal-ok,.cpcal-sla,.cpcal-kbanner span,.cpcal-hint,.cpcal-plan-sub,.cpcal-prog-nota,.cpcal-picknote,.cpcal-nota{text-wrap:pretty}
.cpcal-okt,.cpcal-vacio p,.cpcal-plan-sub,.cpcal-prog-nota,.cpcal-note,.cpcal-hint,.cpcal-picknote,.cpcal-kbanner span{text-wrap:balance}
/* La intro y la notita comparten fila: la notita cae en el aire que ya sobraba a la derecha. */
/* Párrafo y notita COMPARTEN FILA. Así la notita no se apila debajo (que era lo que abría el
 * hueco) y tampoco se saca del flujo con posición absoluta (que la hacía chocar con el navegador
 * de meses en ciertos anchos). La fila mide lo que mida el elemento más alto: nada se solapa
 * nunca, pase lo que pase con el texto. */
/* CABECERA EN DOS COLUMNAS. La izquierda es un bloque de lectura (cliente · título · ayuda);
 * la derecha agrupa el control de mes y la firma manuscrita. Al vivir en columnas, la altura de
 * la cabecera es la del bloque más alto: la notita ya no puede empujar ni solaparse con nada. */
.cpcal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:32px}
.cpcal-head-l{min-width:0;flex:1 1 auto}
.cpcal-head-r{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:0 0 auto;padding-top:4px}
.cpcal-head-l .cpcal-note{margin-top:12px}
.cpcal-hand2{position:relative;text-align:right;line-height:1.14;margin:0;max-width:none;pointer-events:none;padding-bottom:4px}
.cpcal-hand2::after{position:absolute;left:auto;right:0;bottom:-7px;width:76%}
@media(max-width:760px){
	.cpcal-head{flex-direction:column;gap:14px}
	.cpcal-head-r{align-items:flex-start;width:100%;padding-top:0;flex-direction:row;justify-content:space-between;align-items:center;gap:12px}
	.cpcal-hand2{text-align:right}
	.cpcal-hand2::after{right:0;left:auto}
}
@media(max-width:480px){
	.cpcal-head-r{flex-direction:column;align-items:flex-start;gap:10px}
	.cpcal-hand2{text-align:left}
	.cpcal-hand2::after{right:auto;left:0}
}
/* SALTO TIPOGRÁFICO (regla de marca): el display de Concepio manda en los títulos de sección,
   no solo en el h1. Cero elementos nuevos, solo jerarquía. */
.cpcal-prog-n,.cpcal-plan-h,.cpcal-meta-band{font-family:'Bricolage Grotesque',sans-serif;letter-spacing:-.01em}
.cpcal-prog-n{font-size:16px;font-weight:800}
.cpcal-meta-band{font-size:13.5px;font-weight:800}

.cpcal-legs{display:block}
.cpcal-st{width:9px;height:9px;border-radius:50%;flex:none;display:inline-block}

.cpcal-mtabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.cpcal-mtab{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--muted);background:#fff;border:1px solid var(--line-ctrl);border-radius:999px;padding:7px 15px;transition:background .2s,border-color .2s,color .2s}
.cpcal-mtab.active{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.cpcal-mbadge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--lima);color:var(--ink);font-size:11px;font-weight:800}

.cpcal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:24px}
.cpcal-wd{font-size:11px;color:var(--muted);text-align:center;padding:4px 0;text-transform:uppercase;letter-spacing:.04em}
.cpcal-day{min-height:116px;border:1px solid var(--line);border-radius:16px;background:var(--white);padding:10px;display:flex;flex-direction:column;gap:8px}
.cpcal-day.empty{background:transparent;border-style:dashed;border-color:rgba(35,35,26,.16)}
.cpcal-day.is-blank{border:0;background:none;min-height:0;padding:0}
.cpcal-day.has{background:var(--voz);border-color:var(--voz-borde)}
.cpcal-dnum{font-size:12px;color:var(--muted);font-weight:700}
.cpcal-dwdm{display:none;font-weight:600;color:var(--muted);text-transform:none}
.cpcal-chips{display:flex;flex-direction:column;gap:5px}
.cpcal-chip{display:flex;align-items:center;gap:7px;border:1px solid transparent;border-radius:10px;padding:7px 9px;cursor:pointer;transition:border-color .18s,transform .15s,box-shadow .2s,filter .18s}
/* El estado colorea el PILL completo (sin puntito): más texto visible y lectura inmediata */
.cpcal-chip.st-rev{background:#EFEDE6;border-color:rgba(35,35,26,.08)}
.cpcal-chip.st-apr{background:var(--lima)}
.cpcal-chip.st-adj{background:#F2A93B}
.cpcal-chip.st-prog{background:var(--olive)}
.cpcal-chip.st-prog .cpcal-clabel{color:var(--cream)}
.cpcal-chip.st-prog .cpcal-cplats i{color:rgba(252,248,243,.85)}
.cpcal-clabel{font-size:11.5px;font-weight:600;color:var(--ink);line-height:1.2;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cpcal-cplats{display:flex;align-items:center;gap:4px;flex:none}
.cpcal-cplats i{font-size:13px;color:rgba(35,35,26,.72)}
/* Mini-pill de la leyenda: muestra el estado tal como se ve en el calendario */
.cpcal-stpill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:0 12px;min-height:27px;font-size:12px;font-weight:600;color:var(--ink)}
.cpcal-stpill i{font-size:13px}
.cpcal-stpill.st-rev{background:#EFEDE6;border:1px solid var(--line-ctrl)}
.cpcal-stpill.st-apr{background:var(--lima)}
.cpcal-stpill.st-adj{background:#F2A93B}
.cpcal-stpill.st-prog{background:var(--olive);color:var(--cream);display:inline-flex;align-items:center;gap:5px}
.cpcal-more{font-size:11px;font-weight:600;color:var(--olive);padding:2px 4px}
.cpcal-hist-fecha{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:13px}
.cpcal-hist-fecha>i.ti-calendar-month{color:var(--olive)}
.cpcal-hist-fecha .ti-arrow-narrow-right{color:var(--muted)}
.cpcal-datepill{display:inline-flex;align-items:center;background:#EFEDE6;color:var(--ink);border-radius:999px;padding:3px 11px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}

.cpcal-footband{background:var(--ink);margin-top:28px}
.cpcal-foot{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:10px 20px;color:rgba(252,248,243,.62);font-size:13px;padding:40px 0}
.cpcal-foot .cpcal-claim{font-family:'Caveat',cursive;font-size:24px;color:rgba(252,248,243,.9);letter-spacing:.01em;line-height:1.1}
.cpcal-foot .cpcal-sep{display:none}
.cpcal-foot .cpcal-privlink{margin-left:auto}
@media(max-width:560px){.cpcal-foot{justify-content:center;text-align:center}.cpcal-foot .cpcal-privlink{margin-left:0;width:100%}}
.cpcal-foot .brand{font-size:17px;color:var(--cream)}
.cpcal-foot .brand i{color:var(--lima);font-style:normal}
.cpcal-privlink{color:rgba(252,248,243,.62);font-size:12px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(252,248,243,.45);transition:color .2s,text-decoration-color .2s}
.cpcal-privlink:hover{color:var(--cream);text-decoration-color:var(--lima)}

.cpcal-detalle{padding:10px 0 56px;max-width:960px}

/* Un solo ancho en el detalle: la cabecera, el progreso y el pie se alinean con la
   cuadrícula de entregables. Antes cada bloque traía el suyo y se veía descosido. */
.cpcal-ok{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line-olive);border-radius:16px;padding:12px 16px;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:22px;box-shadow:0 12px 26px -20px rgba(35,35,26,.3)}
.cpcal-ok i{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:var(--lima);color:var(--ink);font-size:17px;flex:none}
.cpcal-okt{font-family:'Caveat',cursive;font-size:20px;font-weight:700;color:#4C6435;letter-spacing:.01em;line-height:1.25}
/* Estado vacío con voz: el portal dice algo en vez de quedarse en blanco. */
.cpcal-vacio{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;background:var(--lee);border:1px dashed var(--line-ctrl);border-radius:18px;padding:34px 24px}
.cpcal-vacio i{font-size:26px;color:var(--olive);opacity:.7}
.cpcal-vacio .cncp-ic{width:46px;height:46px;color:var(--olive);opacity:.5}
.cpcal-vacio p{font-size:13.5px;color:var(--muted);max-width:30ch;text-wrap:balance}
.cpcal-vacio .cpcal-hand{margin:2px 0 0;max-width:none}
.cpcal-dhead{position:relative;padding-right:190px;margin-bottom:8px}
.cpcal-dhead .cpcal-badge{position:absolute;top:2px;right:0;justify-content:center;min-width:172px}
@media(max-width:640px){.cpcal-dhead{padding-right:0}.cpcal-dhead .cpcal-badge{position:static;display:inline-flex;margin-top:12px;min-width:0}}
.cpcal-dfecha{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--olive);font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.cpcal-dhead h1{font-size:clamp(1.4rem,3.5vw,1.9rem)}
.cpcal-camp{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:12.5px;font-weight:600;color:var(--olive);background:rgba(110,140,78,.10);border:1px solid var(--line-olive);border-radius:999px;padding:5px 12px}
.cpcal-camp i{font-size:15px}
.cpcal-badge{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink);padding:7px 16px;border-radius:999px;white-space:nowrap}
.cpcal-badge.st-rev{background:#EFEDE6;border:1px solid var(--line-ctrl)}
.cpcal-badge.st-adj{background:#F2A93B}
.cpcal-badge.st-apr{background:var(--lima)}
.cpcal-badge.st-prog{background:var(--olive);color:var(--cream)}
.cpcal-badge.st-prep{background:var(--ink);color:var(--cream)}
.cpcal-badge .cpcal-st{background:var(--lima)}
.cpcal-badge.is-plan{background:#fff;color:var(--ink);border:1.5px dashed rgba(35,35,26,.35);padding:6px 14px}
.cpcal-badge .cpcal-st{width:11px;height:11px}

.cpcal-entregables{display:flex;flex-direction:column;gap:30px;margin-top:24px}
.cpcal-ent-block{display:flex;flex-direction:column;gap:8px}

.cpcal-deliv{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--white);transition:border-color .2s,box-shadow .2s}
.cpcal-deliv-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;font-weight:600;border-bottom:1px solid var(--line)}
.cpcal-deliv-h span{display:inline-flex;align-items:center;gap:9px}
.cpcal-deliv-h i{color:var(--olive);font-size:18px}
.cpcal-dl{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--olive);white-space:nowrap}
.cpcal-dacts{display:inline-flex;align-items:center;gap:16px;margin-left:auto}
.cpcal-deliv-off{border-style:dashed}
.cpcal-deliv-off .cpcal-deliv-h{border-bottom:none;color:var(--muted)}
.cpcal-deliv-off .cpcal-deliv-h i{color:var(--muted)}
.cpcal-media{display:block;background:#F3F1EA}
.cpcal-media img,.cpcal-media video{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;margin:0 auto}
.cpcal-media-file{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px;color:var(--olive);font-weight:600;font-size:13.5px;background:#F7F5EE;border-top:1px solid var(--line)}
.cpcal-ent{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border:1px solid var(--line);border-radius:14px;background:var(--white);font-weight:600;transition:border-color .2s,transform .15s}
.cpcal-ent span{display:inline-flex;align-items:center;gap:9px}
.cpcal-ent i{color:var(--olive)}
.cpcal-ent-off{background:transparent;border-style:dashed;color:var(--muted);font-weight:500}
.cpcal-ent-off i{color:var(--muted)}
.cpcal-pend{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.cpcal-cinput{width:100%;display:block;font-family:inherit;font-size:16px;color:var(--ink);background:#F7F7F5;border:1px solid var(--line-ctrl);border-radius:12px;padding:10px 13px;resize:vertical;-webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s}
.cpcal-cinput::placeholder{color:#9a968d;font-style:normal}
@media(min-width:761px){.cpcal-cinput,.cpcal-cinput::placeholder{font-size:14px}}
.cpcal-cinput:focus{outline:none;border-color:var(--olive);box-shadow:0 0 0 3px rgba(110,140,78,.14)}

/* Fila de comentario: campo + clip de adjuntos (imágenes) */
.cpcal-crow{display:flex;gap:8px;align-items:stretch}
.cpcal-crow .cpcal-cinput{flex:1;min-width:0}
.cpcal-clip{position:relative;flex:0 0 auto;width:42px;border:1px solid var(--line-ctrl);border-radius:999px;background:#F4F4F3;display:inline-flex;align-items:center;justify-content:center;color:#6F6A5E;font-size:17px;cursor:pointer;transition:border-color .2s,color .2s}
.cpcal-clip:hover,.cpcal-clip.has{border-color:var(--olive);color:var(--olive)}
.cpcal-clip input{display:none}
.cpcal-clip-n{display:none;position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;border-radius:8px;background:var(--olive);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;padding:0 4px}
.cpcal-clip.has .cpcal-clip-n{display:block}
.cpcal-clipsel{display:flex;gap:6px;margin-top:8px;align-items:center;flex-wrap:wrap}
.cpcal-clipsel img{width:36px;height:36px;object-fit:cover;border-radius:9px;border:1px solid rgba(35,35,26,.12);display:block}
.cpcal-clipx{display:inline-flex;align-items:center;gap:4px;border:none;background:none;color:#6F6A5E;font-family:inherit;font-size:11.5px;cursor:pointer;padding:6px 4px}
.cpcal-clipx:hover{color:var(--ink)}
.cpcal-clipwarn{margin-top:8px;font-size:12px;line-height:1.45;color:#8F6400;background:rgba(242,169,59,.12);border:1px solid rgba(242,169,59,.35);border-radius:10px;padding:8px 11px}

/* Nota del estudio: el mensaje vigente del diseñador, a la vista sobre la pieza */
.cpcal-nota{margin:2px 0 4px;background:var(--voz);border:1px solid var(--voz-borde);border-radius:12px;padding:10px 13px;font-size:13px;line-height:1.55;color:var(--ink)}
.cpcal-nota-t{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--olive);margin-bottom:4px}
/* En el comentario general no hay gap de tarjeta que la separe: aire propio */
.cpcal-genc .cpcal-nota{margin:6px 0 14px}
.cpcal-nota-t .ti{font-size:13px}

/* Tira de emojis bajo el campo enfocado */
.cpcal-emoji{display:none;gap:4px;margin-top:8px;flex-wrap:wrap}
.cpcal-emoji.on{display:flex}
.cpcal-emoji button{border:1px solid var(--line-ctrl);background:#fff;border-radius:999px;font-size:16px;line-height:1;padding:7px 11px;cursor:pointer;transition:transform .12s,border-color .2s}
.cpcal-emoji button:hover{border-color:var(--olive)}
.cpcal-emoji button:active{transform:scale(1.15)}

/* Miniaturas de adjuntos dentro del historial */
.cpcal-hist-ims{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.cpcal-hist-im img{width:56px;height:56px;object-fit:cover;border-radius:10px;border:1px solid rgba(35,35,26,.12);display:block}
.cpcal-hist-im:hover img{border-color:var(--olive)}
.cpcal-caption{margin-top:20px;padding:18px 20px;background:var(--white);border:1px solid var(--line);border-radius:14px;font-size:15px;color:#3a3a30}
.cpcal-caplabel{display:block;font-size:10.5px;color:var(--olive);font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.cpcal-caption .cpcal-cinput{margin-top:12px}
.cpcal-genc{margin-top:32px}

/* Historial de comentarios (hilo por entregable): desplegable discreto, cerrado por defecto */
.cpcal-hist{margin-top:4px}
.cpcal-hist summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted);padding:4px 2px;border-radius:8px;transition:color .2s}
.cpcal-hist summary::-webkit-details-marker{display:none}
.cpcal-hist summary:hover{color:var(--olive)}
.cpcal-hist summary i{font-size:14px}
.cpcal-hist .cpcal-hist-ch{transition:transform .2s}
.cpcal-hist[open] .cpcal-hist-ch{transform:rotate(180deg)}
.cpcal-hist-list{margin-top:4px;border-top:1px solid var(--line);display:flex;flex-direction:column}
.cpcal-hist-it{display:flex;flex-direction:column;gap:2px;padding:8px 2px;border-bottom:1px solid var(--line);font-size:12.5px}
.cpcal-hist-meta{font-size:11px;font-weight:600;color:var(--muted)}
.cpcal-hist-it.es-estudio .cpcal-hist-meta{color:var(--olive)}
.cpcal-hist-txt{color:#3a3a30;line-height:1.45}

.cpcal-pf{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-top:24px}
.cpcal-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s}
.cpcal-card.is-pending{border-style:dashed}

.cpcal-thumb{position:relative;display:block;aspect-ratio:1/1;background:#F3F1EA;overflow:hidden}
.cpcal-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cpcal-thumb video{width:100%;height:100%;object-fit:contain;display:block;background:#111}


.cpcal-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.cpcal-play span{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:rgba(252,248,243,.92);color:var(--ink);box-shadow:0 6px 20px -6px rgba(0,0,0,.5)}
.cpcal-play i{font-size:28px;margin-left:3px}

.cpcal-thumb.is-file{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:linear-gradient(160deg,#F7F5EE,#EDEFE4);color:var(--olive)}
.cpcal-thumb.is-file i{font-size:60px}
.cpcal-thumb.is-file span{font-size:13px;font-weight:600;color:var(--muted)}

.cpcal-thumb.is-pending{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:rgba(35,35,26,.02);color:#9a968d}
.cpcal-thumb.is-pending i{font-size:48px}
.cpcal-thumb.is-pending span{font-size:12px;text-transform:uppercase;letter-spacing:.06em}

/* Banda de título: ink bajo el preview; SOLO el tipo de pieza (destinos = pill de iconos) */
.cpcal-cband{display:flex;align-items:center;gap:8px;background:var(--ink);color:var(--cream);padding:9px 15px;font-size:12.5px;font-weight:600;letter-spacing:.03em;min-width:0}
.cpcal-cband .ti{font-size:15px;opacity:.85;flex:none}
.cpcal-cbandt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cpcal-cbody{display:flex;flex-direction:column;gap:11px;padding:13px 15px 15px}
.cpcal-cmeta{display:flex;align-items:center;gap:8px;row-gap:6px;flex-wrap:wrap}

.cpcal-cacts{display:flex;gap:14px;flex-wrap:wrap}
.cpcal-cbody .cpcal-cacts,.cpcal-plan .cpcal-cacts{padding-left:12px}
.cpcal .cpcal-cact,.cpcal a.cpcal-cact{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:#4C6435;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(110,140,78,.38);transition:text-decoration-color .2s,color .2s}
@media (hover:hover){.cpcal-cact:not(.cpcal-cact-static):hover{text-decoration-color:var(--lima)}}
.cpcal-cact-static{text-decoration:none}
/* Iconos de plataforma junto al nombre */
.cpcal-cnplats{display:inline-flex;align-items:center;gap:7px;height:26px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:0 11px;color:var(--ink)}
.cpcal-cnplats i{font-size:15px;display:block}
/* Chip de formato flotando lleva texto: dale aire */
/* Texto / caption como tarjeta */
.cpcal-thumb.is-text{background:var(--lee)}
.cpcal-thumb.is-text .cpcal-texto{position:absolute;inset:0;padding:46px 16px 16px;overflow:auto;font-size:13.5px;line-height:1.5;color:#3a3a30}
/* Carrusel: tira horizontal con snap */
.cpcal-carousel{position:absolute;inset:0}
.cpcal-carousel .cpcal-track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.cpcal-carousel .cpcal-track::-webkit-scrollbar{display:none}
.cpcal-carousel .cpcal-slide{flex:0 0 100%;scroll-snap-align:center;display:block;height:100%}
.cpcal-carousel .cpcal-slide>a,.cpcal-carousel .cpcal-slide>video{display:block;width:100%;height:100%}
.cpcal-carousel .cpcal-slide img,.cpcal-carousel .cpcal-slide video{width:100%;height:100%;object-fit:cover;display:block}
.cpcal-carousel .cpcal-slide-file{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:100%;background:linear-gradient(160deg,#F7F5EE,#EDEFE4);color:var(--olive)}
.cpcal-carousel .cpcal-slide-file i{font-size:52px}
.cpcal-carousel .cpcal-slide-file span{font-size:12.5px;font-weight:600;color:var(--muted)}
/* Flechas del carrusel */
.cpcal-cbtn{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:none;cursor:pointer;background:rgba(252,248,243,.94);color:var(--ink);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px -6px rgba(35,35,26,.5);transition:background .18s,opacity .18s;z-index:2}
.cpcal-cbtn i{font-size:20px}
.cpcal-cprev{left:10px}
.cpcal-cnext{right:10px}
.cpcal-cbtn:disabled{opacity:.35;cursor:default}
@media (hover:hover){.cpcal-cbtn:not(:disabled):hover{background:var(--lima)}}
/* Contador de piezas */
.cpcal-cdots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);background:rgba(35,35,26,.72);color:var(--cream);border-radius:999px;padding:3px 11px;font-family:'Inter',system-ui,sans-serif;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;z-index:2}
.cpcal-cact-static{color:var(--muted);font-weight:600}
.cpcal-cact-piezas{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Selección de estado por entregable (cliente) */
.cpcal-decide{display:flex;gap:8px}
.cpcal-opt{position:relative;flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--muted);background:var(--white);border:1px solid var(--line-ctrl);border-radius:999px;padding:9px 10px;min-height:40px;cursor:pointer;transition:border-color .18s,background .18s,color .18s}
.cpcal-opt input{position:absolute;opacity:0;width:0;height:0}
.cpcal-opt i{font-size:16px}
.cpcal-opt-apr:has(input:checked){background:var(--lima);border-color:var(--lima);color:var(--ink)}
.cpcal-opt-adj:has(input:checked){background:#F2A93B;border-color:#F2A93B;color:var(--ink)}
.cpcal-opt:focus-within{outline:2px solid var(--lima);outline-offset:2px}
@media (hover:hover){
  .cpcal-card:hover{border-color:var(--line-olive);box-shadow:0 12px 28px -20px rgba(35,35,26,.35);transform:translateY(-2px)}
  .cpcal-opt:hover{border-color:var(--olive)}
}

.cpcal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.cpcal-btn{display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;padding:15px 30px;min-height:52px;border-radius:999px;border:1px solid var(--olive);background:var(--olive);color:var(--cream);transition:background .2s,color .2s,border-color .2s,transform .12s,box-shadow .2s}
.cpcal-btn i{font-size:17px;transition:color .2s}
.cpcal-btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.cpcal-hint{margin-top:22px;font-size:12.5px;color:var(--muted)}

.cpcal-btn:active{transform:translateY(1px)}
.cpcal-nav:active{transform:scale(.93)}
.cpcal-ent:active,.cpcal-deliv:active{transform:scale(.995)}

@media (hover:hover){
  .cpcal-nav:hover{background:var(--lima);border-color:var(--lima);color:var(--ink)}
  .cpcal-chip:hover{border-color:var(--olive);transform:translateY(-1px);box-shadow:0 8px 18px -12px rgba(110,140,78,.55)}
  .cpcal-mtab:hover{border-color:var(--olive);color:var(--ink)}
  .cpcal-ent:hover{border-color:var(--olive);transform:translateY(-1px)}
  .cpcal-btn:hover{background:var(--ink);border-color:var(--ink);color:var(--cream);box-shadow:0 12px 26px -14px rgba(35,35,26,.55)}
  .cpcal-btn:hover i{color:var(--lima)}
  .cpcal-btn-ghost:hover{background:var(--paper);border-color:var(--olive)}
}

@media(max-width:640px){
  .cpcal-grid{grid-template-columns:1fr;gap:10px;margin-top:14px}
  .cpcal-wd{display:none}
  .cpcal-day.empty{display:none}
  .cpcal-day{min-height:0;padding:12px 14px}
  .cpcal-dnum{font-size:14px;color:var(--ink)}
  .cpcal-dwdm{display:inline}
  
  .cpcal-actions{flex-direction:column}
  .cpcal-actions .cpcal-btn{width:100%;justify-content:center}
  
  .cpcal-deliv-h{flex-wrap:wrap}
}

.cpcal .cpcal-btn{-webkit-appearance:none;appearance:none;border:1px solid var(--olive);background:var(--olive);color:var(--cream);box-shadow:none;text-decoration:none}
.cpcal .cpcal-btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.cpcal .cpcal-btn:focus{outline:none}
.cpcal .cpcal-btn:focus-visible{outline:2px solid var(--lima);outline-offset:2px}
@media (hover:hover){
  .cpcal .cpcal-btn:hover{background:var(--ink);border-color:var(--ink);color:var(--cream)}
  .cpcal .cpcal-btn:hover i{color:var(--lima)}
  .cpcal .cpcal-btn-ghost:hover{background:var(--paper);border-color:var(--olive);color:var(--ink)}
}

@media (hover:hover){.cpcal .cpcal-deliv:hover{border-color:var(--line-olive);box-shadow:0 10px 26px -18px rgba(35,35,26,.3)}}

/* Lightbox de imágenes (se inyecta en <body>, fuera de .cpcal → colores fijos). Con paginación. */
.cpcal-lb{position:fixed;inset:0;z-index:99999;background:rgba(18,18,14,.93);display:none;align-items:center;justify-content:center;padding:24px;font-family:'Inter',system-ui,sans-serif}

/* Aviso propio de "cambios sin enviar" (reemplaza el diálogo genérico del navegador
 * para los clics dentro de la misma página: mismo look que el resto del portal). */
.cpcal-salirmodal{position:fixed;inset:0;z-index:99999;background:rgba(18,18,14,.5);display:none;align-items:center;justify-content:center;padding:24px;font-family:'Inter',system-ui,sans-serif}
.cpcal-salirmodal.on{display:flex}
.cpcal-salircard{background:#fff;border-radius:20px;padding:28px 26px;max-width:360px;box-shadow:0 30px 70px -20px rgba(0,0,0,.45)}
.cpcal-salirt{display:flex;align-items:center;gap:9px;font-family:'Bricolage Grotesque','Inter',sans-serif;font-weight:700;font-size:1.05rem;color:#23231A;margin:0}
.cpcal-salirt .ti{color:#F2A93B;font-size:22px;flex:none}
.cpcal-salird{margin:12px 0 22px;font-size:13.5px;line-height:1.55;color:#6F6A5E}
.cpcal-salirbtns{display:flex;flex-direction:column;gap:9px}
.cpcal-salirbtns button{font-family:inherit;font-size:14px;font-weight:600;border-radius:999px;padding:12px 18px;cursor:pointer;transition:background .2s,color .2s,border-color .2s;border:none}
.cpcal-salirbtns .btn-enviar{background:#6E8C4E;color:#FCF8F3;order:-1;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.cpcal-salirbtns .btn-enviar:hover{background:#23231A}
.cpcal-salirbtns .btn-enviar .ti{font-size:16px}
.cpcal-salirbtns .btn-salir{background:none;border:1px solid rgba(35,35,26,.18);color:#6F6A5E}
.cpcal-salirbtns .btn-salir:hover{border-color:#F2A93B;color:#23231A}
.cpcal-lb.on{display:flex}
.cpcal-lb-img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:8px;box-shadow:0 24px 70px -24px rgba(0,0,0,.75)}
.cpcal-lb-x{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:none;background:rgba(252,248,243,.14);color:#FCF8F3;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .18s,color .18s}
.cpcal-lb-x i{font-size:24px}
.cpcal-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:none;background:rgba(252,248,243,.14);color:#FCF8F3;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .18s,color .18s}
.cpcal-lb-nav i{font-size:26px}
.cpcal-lb-prev{left:16px}
.cpcal-lb-next{right:16px}
.cpcal-lb-count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#FCF8F3;background:rgba(252,248,243,.14);border-radius:999px;padding:5px 14px;font-family:'Inter',system-ui,sans-serif;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
@media (hover:hover){.cpcal-lb-x:hover,.cpcal-lb-nav:hover{background:#AEDB1E;color:#23231A}}
@media(max-width:560px){.cpcal-lb-nav{width:42px;height:42px}.cpcal-lb-prev{left:8px}.cpcal-lb-next{right:8px}}

/* ---- Tarjeta de acceso on-brand (visitante sin sesión en /portal) ---- */
.cpcal-loginwrap{display:flex;justify-content:center;padding:56px 0 72px}
.cpcal-logincard{background:var(--white);border:1px solid var(--sand);border-radius:20px;padding:34px 32px;max-width:420px;width:100%}
.cpcal-logintitle{font-family:'Bricolage Grotesque','Inter',sans-serif;font-size:1.35rem;font-weight:700;color:var(--ink);line-height:1.3;margin:10px 0 22px}
.cpcal-logincard form p{margin:0 0 14px}
.cpcal-logincard label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:5px}
.cpcal-logincard input[type=text],.cpcal-logincard input[type=password]{width:100%;border:1px solid rgba(35,35,26,.14);border-radius:12px;background:#F4F4F3;padding:11px 14px;font-size:16px;font-family:inherit;box-sizing:border-box}
.cpcal-logincard input[type=text]:focus,.cpcal-logincard input[type=password]:focus{outline:none;border-color:var(--olive);box-shadow:0 0 0 1px var(--olive)}
.cpcal-logincard .login-remember{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}
.cpcal-logincard .login-remember label{display:inline;font-weight:500;color:var(--muted);margin:0}
.cpcal-logincard input[type=submit]{width:100%;min-height:52px;border:none;border-radius:999px;background:var(--olive);color:var(--cream);font-size:15px;font-weight:700;cursor:pointer;transition:background .2s}
.cpcal-logincard input[type=submit]:hover{background:var(--ink)}
.cpcal-loginhelp{margin:16px 0 0;font-size:13px}
.cpcal-loginhelp a{color:var(--olive);font-weight:600;text-decoration:none}
.cpcal-loginhelp a:hover{color:var(--ink)}
.cpcal-loginfoot{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
@media(max-width:640px){.cpcal-loginwrap{padding:36px 0 52px}.cpcal-logincard{padding:26px 20px}}
.cpcal-logincard{position:relative}
.cpcal-loginlang{position:absolute;top:18px;right:20px}
.cpcal-loginlang a{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;letter-spacing:.06em;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 11px;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.cpcal-loginlang a:hover{background:var(--lima);border-color:var(--lima);color:var(--ink)}

/* ---- Vista del estudio: selector de calendarios + barra "viendo como" ---- */
.cpcal-pick{padding:44px 0 12px;max-width:560px}
.cpcal-picktitle{font-family:'Bricolage Grotesque','Inter',sans-serif;font-size:1.5rem;font-weight:700;color:var(--ink);margin:10px 0 4px}
.cpcal-picksub{font-size:13px;color:var(--muted);margin:0 0 22px}
.cpcal-picklist{display:flex;flex-direction:column;gap:10px}
.cpcal-pickitem{display:flex;align-items:center;gap:13px;background:var(--white);border:1px solid var(--line-ctrl);border-radius:14px;padding:13px 16px;font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;transition:border-color .2s,background .2s,transform .2s,box-shadow .2s}
.cpcal-pickav{flex:none;width:34px;height:34px;border-radius:50%;background:var(--olive);color:var(--cream);display:flex;align-items:center;justify-content:center;font-family:'Bricolage Grotesque','Inter',sans-serif;font-weight:700;font-size:13px;transition:background .2s}
.cpcal-pickn{flex:1;min-width:0}
.cpcal-pickar{color:var(--muted);font-size:17px;flex:none;transition:transform .2s,color .2s}
.cpcal-pickitem:hover{border-color:var(--olive);background:linear-gradient(160deg,#fff,#FAFCEF);transform:translateY(-2px);box-shadow:0 14px 28px -20px rgba(35,35,26,.3)}
.cpcal-pickitem:hover .cpcal-pickav{background:var(--lima);color:var(--ink)}
.cpcal-pickitem:hover .cpcal-pickar{color:var(--olive);transform:translateX(2px)}
.cpcal-picknote{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.cpcal-adminbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:linear-gradient(160deg,#fff,#FAFCEF);border:1px solid var(--line-olive);border-radius:16px;padding:12px 16px;margin:0 0 6px}
.cpcal-adminbar .ab-l{display:inline-flex;align-items:center;gap:11px}
.cpcal-adminbar .ab-ico{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:var(--olive);color:var(--cream);flex:none}
.cpcal-adminbar .ab-ico i{font-size:17px}
.cpcal-adminbar .ab-t{display:flex;flex-direction:column;line-height:1.25}
.cpcal-adminbar .ab-t b{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--olive)}
.cpcal-adminbar .ab-t span{font-size:14.5px;font-weight:700;color:var(--ink)}
.cpcal-adminbar .ab-btn{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:8px 15px;text-decoration:none;transition:background .2s,border-color .2s,color .2s}
.cpcal-adminbar .ab-btn i{font-size:15px;color:var(--olive);transition:color .2s}
.cpcal-adminbar .ab-btn:hover{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.cpcal-adminbar .ab-btn:hover i{color:var(--lima)}

/* Emojis del caption a tamaño de texto (el aislamiento de estilos quita la regla del core). */
img.wp-smiley,img.emoji{display:inline !important;border:none !important;box-shadow:none !important;height:1em !important;width:1em !important;margin:0 .07em !important;vertical-align:-0.1em !important;background:none !important;padding:0 !important}

/* ---- Fase 6: programación ---- */
.cpcal-progchip{display:inline-flex;align-items:center;gap:5px;height:26px;background:var(--olive);color:var(--cream);border-radius:999px;padding:0 11px;font-size:11px;font-weight:700;letter-spacing:.02em;margin-left:auto}
.cpcal-progchip i{font-size:13px;color:var(--lima)}
.cpcal-pubchip{display:inline-flex;align-items:center;gap:5px;height:26px;background:rgba(110,140,78,.10);border:1px solid var(--line-olive);color:var(--ink);border-radius:999px;padding:0 11px;font-size:12px;font-weight:600}
.cpcal-pubchip i{font-size:14px;color:var(--olive)}
.cpcal-pubchip-cnp{background:#fff;border-color:var(--line);color:var(--muted)} /* "Publica Concepio": neutro (lo normal) frente al tinte oliva de "Publica el cliente" (la excepción) */
.cpcal-pubchip-cnp i{color:var(--olive)}
/* "Destino por definir" (solo estudio): punteado apagado, distinto del "Otro" (círculo sólido) */
.cpcal-nodest{display:inline-flex;align-items:center;gap:5px;height:26px;background:transparent;border:1px dashed var(--sand);color:var(--muted);border-radius:999px;padding:0 11px;font-size:11px;font-weight:600}
.cpcal-nodest i{font-size:14px;color:var(--muted)}
.cpcal-nodest-ic{color:var(--muted);opacity:.65} /* mismo aviso, en el pill del calendario del estudio */
/* ---- Calendario global (vista del estudio) ---- */
/* Botones robustos frente al tema de WP (la página del calendario NO está aislada como el detalle):
 * se fija todo explícito con !important para que ningún estilo de <button>/<a> del tema se cuele. */
.cpcal .cpcal-glbtn{display:inline-flex;align-items:center;gap:8px;margin-top:10px;min-height:44px;font-size:13.5px;font-weight:700;color:var(--olive)!important;background:var(--voz)!important;border:1px solid var(--voz-borde)!important;border-radius:999px;padding:10px 18px;text-decoration:none;box-shadow:none!important;transition:background .2s,color .2s}
.cpcal .cpcal-glbtn:hover{background:var(--olive)!important;color:var(--cream)!important;border-color:var(--olive)!important}
.cpcal .cpcal-glbtn i{font-size:17px}
.cpcal-adminbar .cpcal-glbtn{margin-top:0} /* en la barra va en línea, sin separación extra */
.cpcal-gl-leg{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px}
.cpcal-gl-pill{position:relative;display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 13px 5px 5px;cursor:pointer;user-select:none;transition:border-color .2s,opacity .2s}
.cpcal-gl-pill:hover{border-color:var(--c)}
.cpcal-gl-pill.is-off{opacity:.4}
.cpcal-gl-chk{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.cpcal-gl-sw{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;background:var(--c);color:#fff;font-size:10px;font-weight:800;letter-spacing:.02em;flex:0 0 auto}
.cpcal-gl-nm{font-size:13px;font-weight:600;color:var(--ink)}
.cpcal-gl-n{font-size:11px;font-weight:700;color:var(--muted);background:var(--white);border:1px solid var(--line);border-radius:999px;padding:1px 7px}
.cpcal-gl-acts{display:inline-flex;gap:6px;margin-left:4px}
.cpcal .cpcal-gl-all,.cpcal .cpcal-gl-none{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;min-height:38px;font-size:12.5px;font-weight:700;color:var(--olive)!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:999px;padding:6px 16px;cursor:pointer;box-shadow:none!important;outline:none;transition:background .2s,color .2s,border-color .2s}
.cpcal .cpcal-gl-all:hover,.cpcal .cpcal-gl-none:hover{background:var(--olive)!important;color:var(--cream)!important;border-color:var(--olive)!important}
.cpcal .cpcal-gl-all:focus-visible,.cpcal .cpcal-gl-none:focus-visible{outline:2px solid var(--olive);outline-offset:2px}
.cpcal-grid-global .cpcal-day.has{min-height:96px}
.cpcal-dots{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.cpcal-dot{display:block;width:12px;height:12px;border-radius:999px;box-shadow:0 0 0 1px rgba(35,35,26,.06)}
.cpcal-dot:hover{transform:scale(1.25);box-shadow:0 0 0 2px rgba(35,35,26,.12)}
@media(max-width:640px){.cpcal-dot{width:10px;height:10px}.cpcal-grid-global .cpcal-day.has{min-height:auto}}
.cpcal-sla{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 16px;font-size:13.5px;color:var(--ink);margin-bottom:22px;line-height:1.5;box-shadow:0 12px 26px -20px rgba(35,35,26,.3)}
.cpcal-sla i{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:#F2A93B;color:var(--ink);font-size:17px;flex:none}
.cpcal-adminbar .ab-selwrap{position:relative;cursor:pointer;gap:8px}
.cpcal-adminbar .ab-sel{position:absolute;inset:0;width:100%;height:100%;opacity:0;appearance:none;-webkit-appearance:none;border:none;font:inherit;cursor:pointer;padding:0;z-index:2}
.cpcal-adminbar .ab-selnm{font-size:12.5px;font-weight:600;color:inherit;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cpcal-adminbar .ab-sel:focus{outline:none}
.cpcal-adminbar .ab-ch{font-size:13px;color:var(--muted);transition:color .2s}
.cpcal-adminbar .ab-selwrap:hover .ab-ch{color:var(--lima)}

/* ---- Historial: EVENTOS del sistema diferenciados de los comentarios ---- */
.cpcal-hist-it.es-evento .cpcal-hist-txt{font-size:12px;font-style:italic;color:var(--muted);display:inline-flex;align-items:center;gap:6px}
.cpcal-hist-it.es-evento .cpcal-hist-txt i{font-size:14px;font-style:normal}
.cpcal-hist-it.ev-sys .cpcal-hist-txt i{color:var(--muted)}

/* ---- Historial: transiciones de estado como pills (pill -> pill) ---- */
.cpcal-hist-tr{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap}
.cpcal-hist-tr .cpcal-stpill{font-size:10.5px;padding:3px 10px;font-weight:700}
.cpcal-hist-tr .ti-arrow-narrow-right{font-size:15px;color:var(--muted)}
.cpcal-hist-tr .cpcal-tr-sys{font-size:14px;color:var(--muted);margin-right:2px}
.cpcal-hist-it.es-evento .cpcal-hist-txt .cpcal-hist-tr{font-style:normal}

.cncp-logo{height:28px;width:auto;display:block}
.cncp-logo-foot{height:32px}

/* Nota manuscrita de marca (Caveat + rayita), con escasez, en puntos emocionales */
.cpcal-hand{font-family:'Caveat',cursive;font-weight:700;font-size:1.5rem;line-height:1.16;color:#4C6435;letter-spacing:-.01em;transform:rotate(-3deg);width:max-content;max-width:82%;margin:16px 0 0 auto;display:block;pointer-events:none}
.cpcal-hand::after{content:"";display:block;height:14px;margin-top:1px;width:80%;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 16' preserveAspectRatio='none'><defs><filter id='ro' x='-6%25' y='-40%25' width='112%25' height='180%25'><feTurbulence type='fractalNoise' baseFrequency='0.9 0.35' numOctaves='2' seed='4' result='n'/><feDisplacementMap in='SourceGraphic' in2='n' scale='2.6' xChannelSelector='R' yChannelSelector='G'/></filter></defs><path filter='url(%23ro)' d='M4 9.4 C24 8.2 40 7.5 56 7.8 C74 8.1 90 9 106 8.7 C126 8.3 140 6.8 156 7.1 C173 7.4 186 8.4 197 8.3 C199 9.7 197 11 196 11.7 C185 11.6 172 13.5 156 13.2 C140 12.9 126 11.6 106 11.9 C90 12.1 74 13.3 56 13.1 C40 12.9 24 12 4 12.2 C2 11.4 2.5 10.2 4 9.4 Z' fill='%23AEDB1E'/></svg>") no-repeat left center/100% 100%}

/* ============================================================
 * v0.50.0 · Plan de contenido + barra de acciones + craft móvil
 * ============================================================ */

/* Ref. pz-NN en la cabecera del día (referencia común estudio-cliente). */
.cpcal-ref{display:inline-flex;align-items:center;gap:5px;margin:0;min-height:24px;padding:0 11px;border-radius:999px;background:#fff;border:1px solid var(--line-ctrl);color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:none}

/* ------------------------------------------------------------
 * PANEL META: un solo contenedor para pendientes + leyenda.
 * Regla de jerarquía (pasada 3): UNA micro-etiqueta, UN tamaño de chip informativo,
 * filas separadas por filete. Nada aquí parece botón: los chips son "filter chips"
 * (M3) — compactos, tonales, el filtro activo se marca con un aro fino de tinta.
 * ------------------------------------------------------------ */
.cpcal-meta{background:#fff;border:1px solid var(--line);border-radius:16px;margin-top:12px;overflow:hidden}
.cpcal-meta-band{background:var(--ink);color:var(--cream);padding:9px 16px;font-size:12.5px;font-weight:600;letter-spacing:.03em}
.cpcal-metaduo{display:grid;grid-template-columns:1fr 1fr}
.cpcal-metaduo .cpcal-metarow + .cpcal-metarow{border-top:0;border-left:1px solid var(--line)}
@media(max-width:900px){.cpcal-metaduo{grid-template-columns:1fr}.cpcal-metaduo .cpcal-metarow + .cpcal-metarow{border-left:0;border-top:1px solid var(--line)}}
.cpcal-metarow{display:flex;align-items:center;gap:14px;padding:11px 16px}
.cpcal-metarow + .cpcal-metarow,.cpcal-meta .cpcal-legs{border-top:1px solid var(--line)}
.cpcal-meta .cpcal-legs{background:var(--campo)}
.cpcal-metachips{display:flex;flex-wrap:wrap;align-items:center;gap:8px 6px;flex:1;min-width:0}

/* Micro-etiqueta ÚNICA del sistema (quién / Estado / Fase / Plataformas): mismo tamaño
 * SIEMPRE, sin iconos. Columna fija para que las filas queden alineadas como una tabla. */
.cpcal-micro{flex:0 0 158px;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--olive);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Chip contador: SOLO INFORMATIVO (span, no botón; decisión de Alberto 25-jul).
 * Mismo cuerpo que las pills de estado de la leyenda: una única familia de chips. */
.cpcal-actchip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;color:var(--ink)}
.cpcal-actchip b{font-weight:800}
.cpcal-actchip.st-rev{background:#EFEDE6;box-shadow:inset 0 0 0 1px rgba(35,35,26,.16)}
.cpcal-actchip.st-adj{background:#F2A93B}
.cpcal-actchip.st-apr{background:var(--lima)}
.cpcal-actchip.st-prog{background:var(--olive);color:var(--cream)}
.cpcal-actzero{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 12px}
.cpcal-actzero i{color:var(--olive);font-size:14px}

/* Etiqueta "Texto": marca inequívoca de la fase de plan (la fase se dice con palabras,
 * no solo con un borde). Vive en el chip del calendario, el badge del detalle y la leyenda. */
.cpcal-ctag{display:inline-flex;align-items:center;border:1px dashed var(--line-ctrl);border-radius:5px;padding:1px 6px;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#fff;flex:none}

/* MODO ENTRENADOR: tras 3 visitas a cada superficie, los textos de contexto se retiran. */
.cpcal.coach-off .cncp-coach{display:none}

/* Leyenda = una fila más del panel (no otra cajita). El resumen es una fila de texto. */
.cpcal-legsum{display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none;font-size:12px;font-weight:600;color:var(--muted);padding:11px 16px;user-select:none;transition:color .15s}
.cpcal-legsum:hover{color:var(--ink)}
.cpcal-legsum::-webkit-details-marker{display:none}
.cpcal-legsum i{font-size:15px;color:var(--olive)}
.cpcal-legch{transition:transform .2s;margin-left:auto}
.cpcal-legs[open] .cpcal-legch{transform:rotate(180deg)}
.cpcal-legs .cpcal-metarow{border-top:1px dashed var(--line);padding-top:9px;padding-bottom:9px}
.cpcal-legs .cpcal-metachips{gap:8px 22px}
.cpcal-legfase{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}
.cpcal-legfase .cpcal-ctag{min-height:27px;padding:0 12px;font-size:10px;border-radius:999px;border-width:1.5px;display:inline-flex;align-items:center;background:#fff;color:var(--ink)}
.cncp-ic{display:block;flex:none;fill:currentColor}
.cpcal-legplat{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}
.cpcal-legplat i{font-size:18px;color:var(--ink)}
.cpcal-legplat .cncp-ic{width:18px;height:18px;color:var(--ink)}
.cpcal-legchip{display:inline-flex;align-items:center;justify-content:center;width:46px;min-height:27px;border-radius:999px}
.cpcal-legchip.fase-prod{background:#EFEDE6;border:1px solid var(--line-ctrl)}
/* "En producción" = chip FANTASMA (blanco + borde), inconfundible frente al greige sólido
 * de "Por revisar". Es la publicación en el taller: nada que revisar todavía. */
.cpcal-stpill.st-prep{background:var(--ink);color:var(--cream)}
.cpcal-stpill.st-prog{background:var(--olive);color:var(--cream)}

/* Chips del calendario: la FASE es la forma. Un chip de plan es una "nota de papel":
 * fondo blanco + borde punteado DEL COLOR del estado + etiqueta "Texto". Una publicación
 * es un bloque sólido. Se distinguen de un vistazo, incluso en escala de grises. */
.cpcal-chip.fase-plan{background:#fff;border-style:dashed;border-width:1.5px;padding:6px 9px}
.cpcal-chip.fase-plan.st-rev{border-color:#9a968d}
.cpcal-chip.fase-plan.st-adj{border-color:#F2A93B;background:#FFF9F0}
.cpcal-chip.fase-plan.st-adj .cpcal-ctag{border-color:#F2A93B;color:#B97A17}
.cpcal-chip.st-prep{background:var(--ink)}
.cpcal-chip.st-prep .cpcal-clabel{color:var(--cream)}
.cpcal-chip.st-prep .cpcal-cplats i{color:rgba(252,248,243,.85)}

/* Tarjeta del plan de contenido (fase 1) en el detalle. */
.cpcal-plan{background:#fff;border:1.5px dashed rgba(35,35,26,.35);border-radius:18px;padding:22px 22px 18px;margin-bottom:22px}
.cpcal-plan-h{display:flex;align-items:center;gap:9px;font-weight:800;font-size:1.05rem}
.cpcal-plan-h i{color:var(--olive);font-size:20px}
.cpcal-plan-sub{margin:6px 0 0;font-size:13.5px;color:var(--muted)}
.cpcal-plan-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.cpcal-intchip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--olive);background:rgba(110,140,78,.10);border:1px solid var(--line-olive);border-radius:999px;padding:5px 12px}
.cpcal-prevchip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 12px}
.cpcal-prevchip i{font-size:14px;color:var(--olive)}
.cpcal-prevpl{display:inline-flex;align-items:center;gap:3px;padding-left:7px;margin-left:2px;border-left:1px solid var(--sand)}
.cpcal-prevpl i{color:var(--muted);font-size:13px}
.cpcal-prevpl .cncp-ic{width:13px;height:13px;color:var(--muted)}
.cpcal-plan-cap{margin-top:14px;background:var(--lee);border:1px solid var(--line);border-radius:12px}
.cpcal-plan-cap .cpcal-texto{padding:16px 18px;font-size:14px;line-height:1.6;color:#3a3a30;white-space:normal}
.cpcal-plan .cpcal-decide{margin-top:16px}
.cpcal-plan .cpcal-crow{margin-top:12px}

/* Texto aprobado, plegado, en fase de producción. */
.cpcal-capok{margin-bottom:20px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 16px}
.cpcal-capok summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:13px 0;font-size:13.5px;font-weight:700;color:var(--olive);user-select:none}
.cpcal-capok summary::-webkit-details-marker{display:none}
.cpcal-capok .cpcal-plan-cap{margin-top:0}
.cpcal-capok .cpcal-cacts{padding:12px 0 14px}

/* Banda ink estandarizada: la etiqueta opcional del estudio, atenuada detrás del formato. */
.cpcal-cbandx{color:rgba(252,248,243,.62);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto}
.cpcal-cbandx::before{content:'·';margin-right:8px;color:rgba(252,248,243,.4)}
.cpcal-cbandd{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding-left:10px;flex:none}
.cpcal-cbandd::before{content:'';width:1px;height:13px;background:rgba(252,248,243,.28);margin-right:4px}
.cpcal-cbandd .ti{font-size:17px;opacity:1;color:var(--lima)}
.cpcal-cbandd .cncp-ic{width:17px;height:17px;opacity:1;color:var(--lima)}
.cpcal-cbandmas{font-size:11px;font-weight:800;color:var(--lima);letter-spacing:0}
/* Sin destino: MISMO lima, bajado de volumen. La banda es el par de marca del logo (tinta+lima) y
 * no admite un tercer color: en crema los puntos se leían como otra familia. Al 50% dan 3.5:1
 * (pasan el 3:1 de contraste no textual) y quedan a un tercio del brillo de un destino real. */
.cpcal-cbandsin .ti,.cpcal-cbandsin .cncp-ic{color:rgba(174,219,30,.5)}
.cpcal-cbandt{flex:0 1 auto}
.cpcal-refpub{letter-spacing:.02em;font-weight:600}
.cpcal-refpub .ti{font-size:14px;color:var(--olive)}
/* Banner de identidad del enlace directo */
.cpcal-kbanner{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line-olive);border-radius:16px;padding:11px 16px;font-size:13px;color:var(--ink);margin-bottom:16px;box-shadow:0 12px 26px -20px rgba(35,35,26,.3)}
.cpcal-kbanner .ti{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:rgba(110,140,78,.10);color:var(--olive);font-size:16px;flex:none}
/* Progreso de la publicación (patrón 3) + barrido (patrón 4) */
.cpcal-prog{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 18px;margin-bottom:18px}
.cpcal-prog-h{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cpcal-prog-n{font-size:13.5px;font-weight:700;color:var(--ink)}
.cpcal-prog-bar{flex:1;min-width:120px;height:6px;border-radius:999px;background:#EFEDE6;overflow:hidden}
.cpcal-prog-bar>span{display:block;height:100%;background:var(--lima);border-radius:999px;transition:width .3s}
.cpcal-prog-adj{display:inline-flex;align-items:center;font-size:12px;font-weight:600;color:var(--ink);background:#F2A93B;border-radius:999px;padding:3px 11px}
.cpcal-prog-d{margin-top:10px;border-top:1px dashed var(--line);padding-top:10px}
.cpcal-prog-d>summary{display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none;font-size:12.5px;font-weight:600;color:var(--muted)}
.cpcal-prog-d>summary::-webkit-details-marker{display:none}
.cpcal-prog-list{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:6px}
.cpcal-prog-list li{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--ink);background:var(--campo);border-radius:10px;padding:7px 12px}
.cpcal-prog-nom{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cpcal-prog-ic{display:inline-flex;gap:5px;flex:none;color:var(--muted)}
.cpcal-prog-nota{font-size:11.5px;color:var(--muted);margin-top:8px}
.cpcal .cpcal-barrido{-webkit-appearance:none;appearance:none;background:none;border:0;padding:0;cursor:pointer;font-family:inherit}
.cpcal .cpcal-barrido:disabled{cursor:default;opacity:.85}
/* "Lo apruebo, pero con un cambio menor" */
.cpcal-menor{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-size:12.5px;color:var(--muted);cursor:pointer}
.cpcal-menor input{accent-color:var(--olive);width:15px;height:15px}
.cpcal-menor:hover{color:var(--ink)}

/* Copiar texto. */
.cpcal-copy{background:none;border:0;cursor:pointer;font-family:inherit;padding:0}
.cpcal-copy.is-ok{color:var(--olive)}

/* Flechas del carrusel más presentes en pantallas táctiles (el dedo también puede deslizar,
 * pero la flecha debe verse sin buscarla). */
@media (hover:none){
	.cpcal-cbtn{background:rgba(35,35,26,.55);color:var(--cream);box-shadow:none}
	.cpcal-cbtn:disabled{opacity:.25}
}
/* Móvil: la barra de acciones se COMPACTA en vez de apilarse (menos alto de pantalla:
 * etiqueta y chips más pequeños en la misma línea, envolviendo solo si no caben).
 * La fila de Concepio es informativa, no accionable para el cliente: baja de jerarquía. */
@media(max-width:560px){
	.cpcal-meta{margin-top:14px}
	.cpcal-metarow{flex-direction:column;align-items:flex-start;gap:6px;padding:10px 13px}
	.cpcal-micro{flex:none}
	.cpcal-legsum{padding:10px 13px}
	.cpcal-actchip{font-size:11.5px;padding:4px 11px}
	.cpcal-actzero{font-size:11.5px}
	.cpcal-dfecha{gap:6px}
	.cpcal-plan{padding:16px 14px 14px}
	.cpcal-plan-cap .cpcal-texto{padding:13px 14px}
}
