/* CGCET Calendario de Comunicaciones */
.cgcet-cc-calendar{
	--cc-azul:#1E6FAF;
	--cc-azul-oscuro:#0F4C81;
	--cc-celeste:#A9C7E3;
	--cc-celeste-suave:#EAF4FC;
	--cc-gris:#F2F2F2;
	--cc-gris-medio:#CFCFCF;
	--cc-texto:#344054;
	--cc-blanco:#FFFFFF;
	--cc-ok:#2E7D62;
	--cc-warn:#B96A12;
	--cc-danger:#B42318;
	--cc-shadow:0 18px 45px rgba(15,76,129,.12);
	font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	color:var(--cc-texto);
	background:linear-gradient(180deg,#fff 0%,#f6fbff 100%);
	border:1px solid #dbeaf5;
	border-radius:26px;
	box-shadow:var(--cc-shadow);
	overflow:hidden;
}

.cgcet-cc-calendar *{box-sizing:border-box}
.cgcet-cc-loading{padding:28px;color:var(--cc-azul-oscuro);font-weight:800}

.cgcet-cc-shell{padding:20px}
.cgcet-cc-header{
	display:flex;
	justify-content:space-between;
	gap:16px;
	align-items:flex-start;
	padding:22px;
	border-radius:24px;
	color:#fff;
	background:
		radial-gradient(circle at 15% 15%, rgba(169,199,227,.8) 0, rgba(169,199,227,.25) 26%, transparent 48%),
		linear-gradient(135deg,var(--cc-azul-oscuro),var(--cc-azul));
	position:relative;
	overflow:hidden;
}
.cgcet-cc-header:after{
	content:"";
	position:absolute;
	right:-72px;
	bottom:-72px;
	width:210px;
	height:210px;
	border:34px solid rgba(255,255,255,.13);
	border-radius:999px;
}
.cgcet-cc-header-content{position:relative;z-index:1}
.cgcet-cc-kicker{
	display:inline-flex;
	gap:8px;
	align-items:center;
	padding:7px 11px;
	border-radius:999px;
	background:rgba(255,255,255,.14);
	border:1px solid rgba(255,255,255,.25);
	text-transform:uppercase;
	letter-spacing:.06em;
	font-size:.78rem;
	font-weight:900;
}
.cgcet-cc-header h2{
	margin:13px 0 8px;
	font-size:clamp(1.45rem,3vw,2.5rem);
	line-height:1.05;
	letter-spacing:-.04em;
	color:#fff;
}
.cgcet-cc-header p{margin:0;color:rgba(255,255,255,.86);max-width:760px}
.cgcet-cc-actions{position:relative;z-index:1;display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.cgcet-cc-btn{
	appearance:none;
	border:0;
	border-radius:999px;
	padding:11px 14px;
	background:#fff;
	color:var(--cc-azul-oscuro);
	font-weight:900;
	cursor:pointer;
	box-shadow:0 8px 20px rgba(0,0,0,.12);
	transition:.2s ease;
}
.cgcet-cc-btn:hover{transform:translateY(-1px);filter:brightness(.98)}
.cgcet-cc-btn.secondary{
	background:rgba(255,255,255,.14);
	color:#fff;
	border:1px solid rgba(255,255,255,.32);
	box-shadow:none;
}
.cgcet-cc-toolbar{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	justify-content:space-between;
	align-items:center;
	margin:16px 0;
	padding:14px;
	border:1px solid #dbeaf5;
	border-radius:22px;
	background:#fff;
}
.cgcet-cc-month-nav{display:flex;gap:10px;align-items:center}
.cgcet-cc-month-title{
	min-width:210px;
	text-align:center;
	font-weight:950;
	color:var(--cc-azul-oscuro);
	font-size:1.05rem;
	text-transform:capitalize;
}
.cgcet-cc-icon-btn{
	width:40px;
	height:40px;
	border-radius:14px;
	border:1px solid #d5e6f3;
	background:#f7fbfe;
	color:var(--cc-azul-oscuro);
	cursor:pointer;
	font-weight:950;
}
.cgcet-cc-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cgcet-cc-filter{
	border:1px solid #d5e6f3;
	background:#fff;
	border-radius:999px;
	padding:10px 12px;
	font:inherit;
	color:var(--cc-texto);
	outline:none;
}
.cgcet-cc-filter:focus{border-color:var(--cc-azul);box-shadow:0 0 0 4px rgba(30,111,175,.12)}
.cgcet-cc-view-toggle{display:flex;gap:8px}
.cgcet-cc-view-toggle button{
	border:1px solid #d5e6f3;
	border-radius:999px;
	padding:10px 12px;
	background:#fff;
	color:var(--cc-azul-oscuro);
	font-weight:850;
	cursor:pointer;
}
.cgcet-cc-view-toggle button.active{
	background:var(--cc-azul);
	color:#fff;
	border-color:var(--cc-azul);
}
.cgcet-cc-grid{
	display:grid;
	grid-template-columns:repeat(7,minmax(0,1fr));
	gap:10px;
}
.cgcet-cc-weekday{
	font-weight:950;
	color:var(--cc-azul-oscuro);
	text-align:center;
	font-size:.82rem;
	text-transform:uppercase;
	padding:8px;
}
.cgcet-cc-day{
	min-height:150px;
	background:#fff;
	border:1px solid #dbeaf5;
	border-radius:18px;
	padding:10px;
	box-shadow:0 6px 18px rgba(15,76,129,.05);
	position:relative;
	overflow:hidden;
}
.cgcet-cc-day.muted{background:#f8fbfd;color:#98a2b3}
.cgcet-cc-day.today{border-color:var(--cc-azul);box-shadow:0 0 0 3px rgba(30,111,175,.08)}
.cgcet-cc-day-number{
	display:flex;
	justify-content:space-between;
	align-items:center;
	font-weight:950;
	color:var(--cc-azul-oscuro);
	margin-bottom:8px;
}
.cgcet-cc-count{
	font-size:.72rem;
	font-weight:900;
	padding:4px 7px;
	border-radius:999px;
	background:#eef6fc;
	color:var(--cc-azul-oscuro);
}
.cgcet-cc-event{
	display:block;
	width:100%;
	text-align:left;
	border:0;
	margin:6px 0;
	padding:8px 9px;
	border-radius:14px;
	background:#eef6fc;
	color:#1f3448;
	cursor:pointer;
	border-left:4px solid var(--cc-azul);
	transition:.15s ease;
}
.cgcet-cc-event:hover{transform:translateY(-1px);background:#e5f2fb}
.cgcet-cc-event strong{
	display:block;
	font-size:.83rem;
	line-height:1.22;
	color:var(--cc-azul-oscuro);
}
.cgcet-cc-event small{display:block;margin-top:4px;color:#667085;font-weight:750}
.cgcet-cc-event.priority-alta{border-left-color:#F28C2B}
.cgcet-cc-event.priority-urgente{border-left-color:var(--cc-danger)}
.cgcet-cc-more{
	font-size:.78rem;
	font-weight:900;
	color:var(--cc-azul);
	margin-top:6px;
}
.cgcet-cc-agenda{display:grid;gap:12px}
.cgcet-cc-agenda-day{
	border:1px solid #dbeaf5;
	border-radius:20px;
	background:#fff;
	overflow:hidden;
	box-shadow:0 7px 20px rgba(15,76,129,.06);
}
.cgcet-cc-agenda-date{
	padding:13px 16px;
	background:#f0f7fc;
	color:var(--cc-azul-oscuro);
	font-weight:950;
	text-transform:capitalize;
}
.cgcet-cc-agenda-items{display:grid;gap:10px;padding:12px}
.cgcet-cc-agenda-card{
	padding:14px;
	border-radius:17px;
	background:#fff;
	border:1px solid #e0edf6;
	cursor:pointer;
	transition:.15s ease;
}
.cgcet-cc-agenda-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(15,76,129,.08)}
.cgcet-cc-agenda-card h3{margin:0 0 7px;color:var(--cc-azul-oscuro);font-size:1.02rem}
.cgcet-cc-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.cgcet-cc-chip{
	display:inline-flex;
	align-items:center;
	gap:5px;
	padding:5px 8px;
	border-radius:999px;
	background:#eef6fc;
	color:var(--cc-azul-oscuro);
	font-size:.77rem;
	font-weight:900;
}
.cgcet-cc-chip.web{background:#eaf4fc}
.cgcet-cc-chip.redes{background:#eef5ff}
.cgcet-cc-chip.whatsapp{background:#e9f7f0;color:#1f6b4b}
.cgcet-cc-status{
	display:inline-flex;
	padding:5px 8px;
	border-radius:999px;
	font-size:.77rem;
	font-weight:950;
	background:#eef6fc;
	color:var(--cc-azul-oscuro);
}
.cgcet-cc-status.publicado{background:#e8f5ef;color:var(--cc-ok)}
.cgcet-cc-status.produccion{background:#fff4e5;color:var(--cc-warn)}
.cgcet-cc-status.cancelado{background:#fef3f2;color:var(--cc-danger)}
.cgcet-cc-status.reprogramado{background:#f2f4f7;color:#475467}
.cgcet-cc-empty{
	padding:28px;
	text-align:center;
	background:#fff;
	border:1px dashed #bfd9eb;
	border-radius:20px;
	color:#667085;
	font-weight:800;
}
.cgcet-cc-modal{
	position:fixed;
	inset:0;
	background:rgba(15,23,42,.52);
	display:none;
	align-items:center;
	justify-content:center;
	z-index:99999;
	padding:18px;
}
.cgcet-cc-modal.open{display:flex}
.cgcet-cc-modal-panel{
	width:min(760px,100%);
	max-height:90vh;
	overflow:auto;
	background:#fff;
	border-radius:26px;
	box-shadow:0 30px 80px rgba(0,0,0,.26);
	border:1px solid #dbeaf5;
}
.cgcet-cc-modal-header{
	display:flex;
	justify-content:space-between;
	gap:14px;
	align-items:flex-start;
	padding:20px;
	background:linear-gradient(135deg,var(--cc-azul-oscuro),var(--cc-azul));
	color:#fff;
	border-radius:26px 26px 0 0;
}
.cgcet-cc-modal-header h3{margin:0;color:#fff;font-size:1.4rem}
.cgcet-cc-modal-header p{margin:5px 0 0;color:rgba(255,255,255,.84)}
.cgcet-cc-close{
	border:0;
	background:rgba(255,255,255,.18);
	color:#fff;
	border-radius:999px;
	width:38px;
	height:38px;
	cursor:pointer;
	font-size:1.25rem;
}
.cgcet-cc-modal-body{padding:20px}
.cgcet-cc-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.cgcet-cc-detail{
	padding:12px;
	border-radius:16px;
	background:#f7fbfe;
	border:1px solid #dbeaf5;
}
.cgcet-cc-detail b{display:block;color:var(--cc-azul-oscuro);font-size:.82rem;margin-bottom:3px}
.cgcet-cc-detail span{color:#475467}
.cgcet-cc-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.cgcet-cc-links a{
	display:inline-flex;
	padding:9px 11px;
	border-radius:999px;
	background:var(--cc-azul);
	color:#fff!important;
	text-decoration:none!important;
	font-weight:900;
}
.cgcet-cc-form{
	display:none;
	margin:16px 0;
	padding:18px;
	border-radius:22px;
	border:1px solid #dbeaf5;
	background:#fff;
	box-shadow:0 10px 25px rgba(15,76,129,.06);
}
.cgcet-cc-form.open{display:block}
.cgcet-cc-form h3{margin:0 0 12px;color:var(--cc-azul-oscuro)}
.cgcet-cc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cgcet-cc-form label{display:grid;gap:6px;font-weight:850;color:var(--cc-azul-oscuro);font-size:.92rem}
.cgcet-cc-form input,
.cgcet-cc-form select,
.cgcet-cc-form textarea{
	width:100%;
	border:1px solid #d5e6f3;
	border-radius:14px;
	padding:11px 12px;
	font:inherit;
	color:var(--cc-texto);
	background:#fff;
	outline:none;
}
.cgcet-cc-form textarea{min-height:96px}
.cgcet-cc-form input:focus,
.cgcet-cc-form select:focus,
.cgcet-cc-form textarea:focus{border-color:var(--cc-azul);box-shadow:0 0 0 4px rgba(30,111,175,.12)}
.cgcet-cc-form .full{grid-column:1/-1}
.cgcet-cc-checkrow{display:flex;gap:14px;flex-wrap:wrap;margin:8px 0}
.cgcet-cc-checkrow label{display:flex;gap:7px;align-items:center;font-weight:850;color:#475467}
.cgcet-cc-message{margin-top:10px;font-weight:850}
.cgcet-cc-message.ok{color:var(--cc-ok)}
.cgcet-cc-message.err{color:var(--cc-danger)}

@media (max-width:900px){
	.cgcet-cc-header,
	.cgcet-cc-toolbar{display:grid}
	.cgcet-cc-actions{justify-content:flex-start}
	.cgcet-cc-grid{gap:6px}
	.cgcet-cc-day{min-height:120px;padding:8px;border-radius:14px}
	.cgcet-cc-event{font-size:.82rem}
	.cgcet-cc-detail-grid,
	.cgcet-cc-form-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
	.cgcet-cc-shell{padding:12px}
	.cgcet-cc-grid{display:block}
	.cgcet-cc-weekday{display:none}
	.cgcet-cc-day{display:none}
	.cgcet-cc-day.has-events{display:block;margin-bottom:10px}
	.cgcet-cc-month-title{text-align:left;min-width:auto}
}
