.cdi-aspecto-config {
	padding: 18px;
	color: #1d3347;
}

.cdi-aspecto-config__intro {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 14px;
}

.cdi-aspecto-config__intro span {
	display: block;
	margin-bottom: 2px;
	color: #4f6f8e;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.cdi-aspecto-config__intro h2 {
	margin: 0 0 4px;
	font-size: 22px;
	font-weight: 700;
}

.cdi-aspecto-config__intro p,
.cdi-aspecto-config__screen-help {
	max-width: 820px;
	margin: 0;
	color: #60758a;
}

.cdi-aspecto-config__tabs {
	margin-bottom: 14px;
	gap: 6px;
}

.cdi-aspecto-config__tabs .nav-link {
	min-height: 40px;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
}

.cdi-aspecto-config__scope {
	display: grid;
	grid-template-columns: minmax(180px, 320px) minmax(240px, 1fr);
	align-items: end;
	gap: 14px;
	margin-bottom: 14px;
	padding: 14px;
	border: 1px solid #dbe5ee;
	border-radius: 10px;
	background: #f7fafc;
}

.cdi-aspecto-config__scope label,
.cdi-aspecto-config__card label {
	display: block;
	margin: 0;
}

.cdi-aspecto-config__scope label small,
.cdi-aspecto-config__card label small {
	display: block;
	margin-top: 3px;
	color: #6b7f92;
	font-weight: 400;
}

.cdi-aspecto-config__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
}

.cdi-aspecto-config__card {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 12px;
	min-width: 0;
	padding: 16px;
	border: 1px solid #dbe5ee;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(26, 55, 82, .06);
}

.cdi-aspecto-config__card-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: #e8f2fb;
	color: #276da8;
	font-size: 18px;
}

.cdi-aspecto-config__card .form-control {
	margin-top: 12px;
	min-height: 44px;
}

.cdi-aspecto-config__card p {
	margin: 8px 0 0;
	color: #557087;
	font-size: 12px;
}

.cdi-aspecto-config__actions {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 14px;
}

.cdi-aspecto-config__actions .btn {
	min-height: 42px;
}

.cdi-aspecto-config__estado {
	margin: 14px 0 0;
}

.cdi-aspecto-config__screen {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
	padding: 12px 14px;
	border-radius: 9px;
	background: #edf5fc;
}

.cdi-aspecto-config__screen > i {
	color: #276da8;
	font-size: 20px;
}

.cdi-aspecto-config__screen strong,
.cdi-aspecto-config__screen small {
	display: block;
}

.cdi-aspecto-config__screen small {
	color: #60758a;
}

.cdi-aspecto-config__screen-help {
	margin-bottom: 14px;
}

@media (max-width: 767.98px) {
	.cdi-aspecto-config { padding: 12px; }
	.cdi-aspecto-config__scope,
	.cdi-aspecto-config__grid { grid-template-columns: minmax(0, 1fr); }
	.cdi-aspecto-config__actions { flex-direction: column-reverse; }
	.cdi-aspecto-config__actions .btn { width: 100%; }
}

html[data-cdi-theme-effective="oscuro"] {
	color-scheme: dark;
	--cdi-dark-bg: #101722;
	--cdi-dark-surface: #1b2634;
	--cdi-dark-surface-soft: #243244;
	--cdi-dark-text: #e6edf5;
	--cdi-dark-muted: #a6b6c8;
	--cdi-dark-border: #3a4a5e;
	--cdi-dark-accent: #69aef0;
}

html[data-cdi-theme-effective="oscuro"] body,
html[data-cdi-theme-effective="oscuro"] .page-wrapper,
html[data-cdi-theme-effective="oscuro"] #panelcentral,
html[data-cdi-theme-effective="oscuro"] .container-fluid,
html[data-cdi-theme-effective="oscuro"] .cdi-constructor-subpage-drawer__body,
html[data-cdi-theme-effective="oscuro"] .cdi-superficie--hoja {
	background-color: var(--cdi-dark-bg) !important;
	color: var(--cdi-dark-text) !important;
}

html[data-cdi-theme-effective="oscuro"] .card,
html[data-cdi-theme-effective="oscuro"] .card-body,
html[data-cdi-theme-effective="oscuro"] .card-header,
html[data-cdi-theme-effective="oscuro"] .modal-content,
html[data-cdi-theme-effective="oscuro"] .modal-body,
html[data-cdi-theme-effective="oscuro"] .tab-content,
html[data-cdi-theme-effective="oscuro"] .cdi-contenedor,
html[data-cdi-theme-effective="oscuro"] .cdi-aspecto-config__card,
html[data-cdi-theme-effective="oscuro"] .cdi-launcher-config__info-card,
html[data-cdi-theme-effective="oscuro"] .cdi-constructor-config__card,
html[data-cdi-theme-effective="oscuro"] .inicio-kpi-card,
html[data-cdi-theme-effective="oscuro"] .inicio-panel,
html[data-cdi-theme-effective="oscuro"] .inicio-overview-card {
	border-color: var(--cdi-dark-border) !important;
	background: var(--cdi-dark-surface) !important;
	color: var(--cdi-dark-text) !important;
}

html[data-cdi-theme-effective="oscuro"] h1,
html[data-cdi-theme-effective="oscuro"] h2,
html[data-cdi-theme-effective="oscuro"] h3,
html[data-cdi-theme-effective="oscuro"] h4,
html[data-cdi-theme-effective="oscuro"] h5,
html[data-cdi-theme-effective="oscuro"] h6,
html[data-cdi-theme-effective="oscuro"] label,
html[data-cdi-theme-effective="oscuro"] .card-title,
html[data-cdi-theme-effective="oscuro"] .control-label,
html[data-cdi-theme-effective="oscuro"] .dataTables_wrapper,
html[data-cdi-theme-effective="oscuro"] .dataTables_wrapper label,
html[data-cdi-theme-effective="oscuro"] .dataTables_wrapper .dataTables_info {
	color: var(--cdi-dark-text) !important;
}

html[data-cdi-theme-effective="oscuro"] .text-muted,
html[data-cdi-theme-effective="oscuro"] small,
html[data-cdi-theme-effective="oscuro"] .cdi-aspecto-config__intro p,
html[data-cdi-theme-effective="oscuro"] .cdi-aspecto-config__card p,
html[data-cdi-theme-effective="oscuro"] .cdi-aspecto-config__scope label small,
html[data-cdi-theme-effective="oscuro"] .cdi-aspecto-config__card label small {
	color: var(--cdi-dark-muted) !important;
}

html[data-cdi-theme-effective="oscuro"] .form-control,
html[data-cdi-theme-effective="oscuro"] .custom-select,
html[data-cdi-theme-effective="oscuro"] input,
html[data-cdi-theme-effective="oscuro"] textarea,
html[data-cdi-theme-effective="oscuro"] select,
html[data-cdi-theme-effective="oscuro"] .select2-container--default .select2-selection--single,
html[data-cdi-theme-effective="oscuro"] .select2-container--default .select2-selection--multiple,
html[data-cdi-theme-effective="oscuro"] .select2-dropdown,
html[data-cdi-theme-effective="oscuro"] .select2-search__field {
	border-color: var(--cdi-dark-border) !important;
	background: var(--cdi-dark-surface-soft) !important;
	color: var(--cdi-dark-text) !important;
}

html[data-cdi-theme-effective="oscuro"] .select2-container--default .select2-selection--single .select2-selection__rendered,
html[data-cdi-theme-effective="oscuro"] .select2-container--default .select2-results__option,
html[data-cdi-theme-effective="oscuro"] .select2-container--default .select2-selection--multiple .select2-selection__choice {
	color: var(--cdi-dark-text) !important;
}

html[data-cdi-theme-effective="oscuro"] .select2-container--default .select2-results__option--highlighted[aria-selected],
html[data-cdi-theme-effective="oscuro"] .select2-container--default .select2-results__option[aria-selected="true"] {
	background: #31577b !important;
}

html[data-cdi-theme-effective="oscuro"] table.dataTable,
html[data-cdi-theme-effective="oscuro"] table.dataTable thead th,
html[data-cdi-theme-effective="oscuro"] table.dataTable tbody td,
html[data-cdi-theme-effective="oscuro"] .table,
html[data-cdi-theme-effective="oscuro"] .table th,
html[data-cdi-theme-effective="oscuro"] .table td {
	border-color: var(--cdi-dark-border) !important;
	background-color: var(--cdi-dark-surface) !important;
	color: var(--cdi-dark-text) !important;
}

html[data-cdi-theme-effective="oscuro"] table.dataTable tbody tr:hover td,
html[data-cdi-theme-effective="oscuro"] table.dataTable tbody tr.selected td,
html[data-cdi-theme-effective="oscuro"] .table-hover tbody tr:hover td {
	background-color: #2b3d51 !important;
}

/* Las pestañas usan las variables de tema del contrato común en cdi-ui-core.css. */

html[data-cdi-theme-effective="oscuro"] .cdi-aspecto-config__scope,
html[data-cdi-theme-effective="oscuro"] .cdi-aspecto-config__screen,
html[data-cdi-theme-effective="oscuro"] .alert-info,
html[data-cdi-theme-effective="oscuro"] .bg-light {
	border-color: var(--cdi-dark-border) !important;
	background: var(--cdi-dark-surface-soft) !important;
	color: var(--cdi-dark-text) !important;
}

html[data-cdi-theme-effective="oscuro"] .cdi-aspecto-config__card-icon {
	background: #274c6e;
	color: #a8d5ff;
}

html[data-cdi-theme-effective="oscuro"] .inicio-panel-head h3,
html[data-cdi-theme-effective="oscuro"] .inicio-bar-label,
html[data-cdi-theme-effective="oscuro"] .inicio-bar-value,
html[data-cdi-theme-effective="oscuro"] .inicio-bar-value strong,
html[data-cdi-theme-effective="oscuro"] .inicio-state-total,
html[data-cdi-theme-effective="oscuro"] .inicio-state-copy strong,
html[data-cdi-theme-effective="oscuro"] .inicio-activity-date,
html[data-cdi-theme-effective="oscuro"] .inicio-activity-line strong {
	color: var(--cdi-dark-text) !important;
}

html[data-cdi-theme-effective="oscuro"] .inicio-panel-head span,
html[data-cdi-theme-effective="oscuro"] .inicio-bar-value span,
html[data-cdi-theme-effective="oscuro"] .inicio-state-copy span,
html[data-cdi-theme-effective="oscuro"] .inicio-activity-tag {
	color: var(--cdi-dark-muted) !important;
}

html[data-cdi-theme-effective="oscuro"] .inicio-activity-tag.is-cloud {
	color: #83b8ff !important;
}

html[data-cdi-theme-effective="oscuro"] .inicio-activity-tag.is-desktop {
	color: #6fe0c5 !important;
}

html[data-cdi-theme-effective="oscuro"] .inicio-bar-track,
html[data-cdi-theme-effective="oscuro"] .inicio-stack-track,
html[data-cdi-theme-effective="oscuro"] .inicio-state-track,
html[data-cdi-theme-effective="oscuro"] .inicio-activity-track {
	background: #34465a !important;
}

html[data-cdi-theme-effective="oscuro"] .inicio-empty-panel {
	border-color: var(--cdi-dark-border) !important;
	background: var(--cdi-dark-surface-soft) !important;
	color: var(--cdi-dark-muted) !important;
}

html[data-cdi-theme-effective="oscuro"] .inicio-bar-row--link:hover,
html[data-cdi-theme-effective="oscuro"] .inicio-bar-row--link:focus,
html[data-cdi-theme-effective="oscuro"] .inicio-state-row.inicio-dashboard-link:hover,
html[data-cdi-theme-effective="oscuro"] .inicio-state-row.inicio-dashboard-link:focus,
html[data-cdi-theme-effective="oscuro"] .inicio-activity-row.inicio-dashboard-link:hover,
html[data-cdi-theme-effective="oscuro"] .inicio-activity-row.inicio-dashboard-link:focus {
	background: #26394d !important;
	box-shadow: inset 0 0 0 1px var(--cdi-dark-border) !important;
}

html[data-cdi-theme-effective="oscuro"] .inicio-table {
	border-color: var(--cdi-dark-border) !important;
}

html[data-cdi-theme-effective="oscuro"] .inicio-table thead th,
html[data-cdi-theme-effective="oscuro"] .inicio-table tbody td,
html[data-cdi-theme-effective="oscuro"] .inicio-table tbody tr:nth-child(even) td {
	border-color: var(--cdi-dark-border) !important;
	background: var(--cdi-dark-surface) !important;
	color: var(--cdi-dark-text) !important;
}

html[data-cdi-theme-effective="oscuro"] .inicio-table tbody tr.inicio-link-row:hover td,
html[data-cdi-theme-effective="oscuro"] .inicio-table tbody tr.inicio-link-row:focus td {
	background: #26394d !important;
}

html[data-cdi-theme-effective="oscuro"] a:not(.btn),
html[data-cdi-theme-effective="oscuro"] .btn-link {
	color: var(--cdi-dark-accent);
}

html[data-cdi-theme-effective="oscuro"] hr,
html[data-cdi-theme-effective="oscuro"] .border,
html[data-cdi-theme-effective="oscuro"] .border-top,
html[data-cdi-theme-effective="oscuro"] .border-bottom {
	border-color: var(--cdi-dark-border) !important;
}

@media print {
	html[data-cdi-theme-effective="oscuro"] body,
	html[data-cdi-theme-effective="oscuro"] .page-wrapper,
	html[data-cdi-theme-effective="oscuro"] #panelcentral,
	html[data-cdi-theme-effective="oscuro"] .card,
	html[data-cdi-theme-effective="oscuro"] .card-body,
	html[data-cdi-theme-effective="oscuro"] table,
	html[data-cdi-theme-effective="oscuro"] th,
	html[data-cdi-theme-effective="oscuro"] td {
		background: #fff !important;
		color: #000 !important;
	}
}



/* Doodle personal temporal. La clase sólo se emite para el destinatario vigente. */
body.cdi-ui .cdi-carga-halloween-activa {
	position: relative;
	width: min(350px, calc(100vw - 32px));
	padding: 12px 22px 25px;
	border: 1px solid #514765;
	border-radius: 30px;
	background: radial-gradient(ellipse at 50% 20%, #41405f, #22243f 75%);
	color: #fff0d3;
	box-shadow: 0 22px 65px #15162b26;
}
.cdi-carga-halloween { display: block; width: 100%; max-width: 306px; height: 176px; }
.cdi-carga-halloween svg { display: block; width: 100%; height: 100%; overflow: visible; }
body.cdi-ui .cdi-carga-halloween-activa [class$="global-loading__brand"] {
	width: 38px; height: 38px; border-radius: 12px; margin: -4px 0 12px;
	border-color: #d6c5dd; box-shadow: 0 0 20px #f8b95b26;
}
body.cdi-ui .cdi-carga-halloween-activa [class$="global-loading__brand"] img { max-width: 27px; max-height: 27px; }
body.cdi-ui .cdi-carga-halloween-activa [class$="global-loading__spinner"] { display: none; }
body.cdi-ui .cdi-carga-halloween-activa strong { color: #fff0d3; }
body.cdi-ui .cdi-carga-halloween-activa small { color: #c5bed6; }
.cdi-carga-halloween__ghost { animation: cdi-halloween-flotar 2.6s ease-in-out infinite; }
.cdi-carga-halloween__bat { animation: cdi-halloween-volar 3.8s ease-in-out infinite; }
.cdi-carga-halloween__bat--second { animation-delay: -1.8s; animation-duration: 4.6s; }
.cdi-carga-halloween__glow { animation: cdi-halloween-luz 2.1s ease-in-out infinite; }
.cdi-carga-halloween__stars, .cdi-carga-halloween__spark { animation: cdi-halloween-luz 3.2s ease-in-out infinite alternate; }
.cdi-carga-halloween__spark { animation-delay: -1.6s; }
@keyframes cdi-halloween-flotar { 0%,100% { transform: translateY(3px) rotate(-2deg); } 50% { transform: translateY(-9px) rotate(2deg); } }
@keyframes cdi-halloween-volar { 0%,100% { transform: translate(0,0); } 50% { transform: translate(9px,-5px); } }
@keyframes cdi-halloween-luz { 0%,100% { opacity: .65; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .cdi-carga-halloween * { animation: none !important; } }
@media (max-height: 460px) { .cdi-carga-halloween { height: 120px; } body.cdi-ui .cdi-carga-halloween-activa { padding-bottom: 16px; } }

/* Fondo de temporada: sólo la identidad/plazo que ya habilitan el doodle. */
html.cdi-halloween-temporada body.cdi-ui #main-wrapper > .topbar .top-navbar {
 background-color: #f6edf4 !important;
 background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20560%2046%22%3E%3Cg%20fill%3D%22%23716082%22%20opacity%3D%22.22%22%3E%3Cpath%20d%3D%22M70%2019q8-12%2016-5l4-4%204%204q8-7%2016%205-11-2-12%206-9-5-8%201-3-6-9-1-1-8-11-6Z%22%2F%3E%3Cpath%20d%3D%22M336%2032q7-10%2013-4l3-3%203%203q6-6%2013%204-9-2-10%205-7-4-6%200-2-4-6%200-1-7-10-5Z%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M237%205c-10%204-11%2019%200%2024-18%201-22-19-8-24Z%22%20fill%3D%22%23dcad58%22%20opacity%3D%22.5%22%2F%3E%3Cg%20fill%3D%22%23ad9049%22%20opacity%3D%22.4%22%3E%3Cpath%20d%3D%22m150%208%201.5%204.5L156%2014l-4.5%201.5L150%2020l-1.5-4.5L144%2014l4.5-1.5Z%22%2F%3E%3Cpath%20d%3D%22m398%206%201%203%203%201-3%201-1%203-1-3-3-1%203-1Z%22%2F%3E%3Ccircle%20cx%3D%22281%22%20cy%3D%2235%22%20r%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%2232%22%20r%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%22432%22%20cy%3D%2228%22%20r%3D%221.5%22%2F%3E%3C%2Fg%3E%3Cg%20opacity%3D%22.45%22%3E%3Cpath%20d%3D%22M476%2027q-4-9%203-12l4%203q-6%201-4%209%22%20fill%3D%22%23758655%22%2F%3E%3Cpath%20d%3D%22M478%2025c-17-8-25%208-16%2017h32c9-9%201-25-16-17Z%22%20fill%3D%22%23e99845%22%2F%3E%3Cpath%20d%3D%22m467%2029%206%206h-8Zm20%200%202%206h-8ZM469%2038q10%207%2018%200%22%20fill%3D%22%2387633d%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M16%2046V31m0%208-8-8m8%203%208-8M542%2046V28m0%2011-9-9m9%203%208-8%22%20stroke%3D%22%238a7b91%22%20stroke-width%3D%221.5%22%20opacity%3D%22.2%22%2F%3E%3C%2Fsvg%3E"), linear-gradient(105deg, #eee8f5 0%, #f9f0ed 55%, #fff0da 100%) !important;
 background-size: 560px 46px, 100% 100% !important;
 background-position: center center !important;
 background-repeat: repeat-x, no-repeat !important;
 box-shadow: inset 0 -1px 0 #a28aad40;
}
html.cdi-halloween-temporada body.cdi-ui #main-wrapper > .topbar,
html.cdi-halloween-temporada body.cdi-ui #main-wrapper > .topbar .navbar-header,
html.cdi-halloween-temporada body.cdi-ui #main-wrapper > .topbar .navbar-collapse {
 background: transparent !important;
}
@media print {
 html.cdi-halloween-temporada body.cdi-ui #main-wrapper > .topbar .top-navbar { background-image: none !important; }
}

html.cdi-halloween-temporada body.cdi-ui #main-wrapper > .topbar .top-navbar .navbar-nav > .nav-item > .nav-link,
html.cdi-halloween-temporada body.cdi-ui #main-wrapper > .topbar .top-navbar .navbar-nav > .nav-item > .nav-link > i,
html.cdi-halloween-temporada body.cdi-ui #main-wrapper > .topbar .navbar-header > .nav-toggler,
html.cdi-halloween-temporada body.cdi-ui #main-wrapper > .topbar .navbar-header > .topbartoggler,
html.cdi-halloween-temporada body.cdi-ui #main-wrapper > .topbar .cdi-user-trigger-meta > span {
 color: #493650 !important;
}

/* Gestión administrativa de apariencia, mediante hojas del Constructor. */
.cdi-apariencia-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 12px; flex-wrap:wrap; }
.cdi-apariencia-heading h3 { margin:0; font-size:19px; }
.cdi-apariencia-contexto { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:10px; }
.cdi-apariencia-gestion label { display:block; margin-bottom:6px; font-size:13px; }
.cdi-apariencia-campos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 16px; margin-top:12px; }
.cdi-apariencia-campo { min-width:0; }
.cdi-apariencia-campo-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.cdi-apariencia-campo-heading .cdi-apariencia-hereda { display:flex; align-items:center; gap:5px; white-space:nowrap; }
.cdi-apariencia-campo small { display:block; margin-top:5px; color:#5e7185; overflow-wrap:anywhere; }
.cdi-apariencia-actions { display:flex; gap:8px; flex-wrap:wrap; margin:16px 0 8px; }
.cdi-apariencia-ambito { padding:8px 10px; border-left:3px solid #8a70b3; background:#f4f1f9; color:#493650; }
.cdi-apariencia-gestion [role=status]:empty { display:none; }
.cdi-apariencia-gestion [role=status]:not(:empty) { margin:8px 0; }
.cdi-apariencia-preview { width:100%; height:440px; border:1px solid #d7e0ea; border-radius:12px; background:#f4f8fc; }
@media(max-width:767px){
 .cdi-apariencia-contexto { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .cdi-apariencia-campos { grid-template-columns:1fr; }
 .cdi-apariencia-gestion .btn,.cdi-apariencia-gestion input:not([type=checkbox]),.cdi-apariencia-gestion .select2-selection--single { min-height:44px; }
 .cdi-apariencia-gestion .select2-selection__rendered { line-height:42px; }
 .cdi-apariencia-gestion .select2-selection__arrow { height:42px; }
 .cdi-apariencia-heading>div { display:flex; gap:6px; flex-wrap:wrap; }
}

/* Bienvenida pública: motivo general/LOGIN, sin datos ni preferencias de identidad. */
.cdi-auth-season { display:none; }
.cdi-auth-season.cdi-carga-halloween-activa { display:block; width:158px; height:90px; margin:0 auto 6px; }
.cdi-auth-season .cdi-carga-halloween { width:100%; height:100%; }
html.cdi-halloween-temporada body.cdi-auth-body .cdi-auth-page {
 background:radial-gradient(circle at 15% 20%,#68517455,transparent 35%),radial-gradient(circle at 85% 75%,#b6763750,transparent 35%),linear-gradient(145deg,#292a48,#3b324e 55%,#594047);
}
html.cdi-halloween-temporada body.cdi-auth-body .cdi-auth-page::before { border-color:#ffe6a41c; }
html.cdi-halloween-temporada body.cdi-auth-body .cdi-auth-page::after { background:#e998451a; }
html.cdi-halloween-temporada body.cdi-auth-body .cdi-auth-panel { border-color:#e7d4d6; box-shadow:0 24px 70px #0e102b55; }
html.cdi-halloween-temporada body.cdi-auth-body .cdi-auth-brand img { width:38px; height:38px; }
@media(min-width:1100px){
 .cdi-auth-season.cdi-carga-halloween-activa { position:fixed; top:calc(50% - 90px); right:5vw; width:240px; height:180px; margin:0; }
}

/* Los enlaces de temporada sólo existen cuando hay una URL configurada. */
.cdi-temporada-ilustracion-enlace { display:block; width:100%; height:100%; cursor:pointer; border-radius:12px; }
.cdi-temporada-ilustracion-enlace:focus-visible { outline:3px solid #3676b6; outline-offset:4px; }
.cdi-temporada-carga-vinculada,.cdi-temporada-barra-vinculada { cursor:pointer; }
.cdi-temporada-barra-enlace { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.cdi-temporada-barra-enlace:focus { clip-path:none; width:auto; height:auto; left:50%; top:4px; transform:translateX(-50%); padding:6px 10px; border-radius:8px; background:#fff; color:#493650!important; outline:3px solid #3676b6; z-index:20; }

/* Navidad 2026 / 2027: recursos propios del renderizador común de temporadas. */
html.cdi-navidad-temporada { --cdi-fiesta-noche:#173d3c; --cdi-fiesta-final:#39655d; --cdi-fiesta-barra:#edf5ee; --cdi-fiesta-tinta:#214b43; }
html.cdi-anonuevo-temporada { --cdi-fiesta-noche:#202b48; --cdi-fiesta-final:#4a4666; --cdi-fiesta-barra:#f3efe5; --cdi-fiesta-tinta:#394866; }
html.cdi-reyes-temporada { --cdi-fiesta-noche:#332947; --cdi-fiesta-final:#695278; --cdi-fiesta-barra:#f3edf8; --cdi-fiesta-tinta:#554067; }
:is(html.cdi-navidad-temporada,html.cdi-anonuevo-temporada,html.cdi-reyes-temporada) body.cdi-ui .cdi-carga-halloween-activa {
 background:radial-gradient(ellipse at 65% 25%,#e8c7841c,transparent 55%),linear-gradient(145deg,var(--cdi-fiesta-noche),var(--cdi-fiesta-final));
}
:is(html.cdi-navidad-temporada,html.cdi-anonuevo-temporada,html.cdi-reyes-temporada) body.cdi-ui #main-wrapper > .topbar .top-navbar {
 background-color:var(--cdi-fiesta-barra)!important;
 background-image:var(--cdi-fiesta-patron)!important;
 background-size:560px 46px!important; background-repeat:repeat-x!important; background-position:center!important;
 box-shadow:inset 0 -1px 0 #66776326;
}
:is(html.cdi-navidad-temporada,html.cdi-anonuevo-temporada,html.cdi-reyes-temporada) body.cdi-ui #main-wrapper > .topbar,
:is(html.cdi-navidad-temporada,html.cdi-anonuevo-temporada,html.cdi-reyes-temporada) body.cdi-ui #main-wrapper > .topbar .navbar-header,
:is(html.cdi-navidad-temporada,html.cdi-anonuevo-temporada,html.cdi-reyes-temporada) body.cdi-ui #main-wrapper > .topbar .navbar-collapse { background:transparent!important; }
:is(html.cdi-navidad-temporada,html.cdi-anonuevo-temporada,html.cdi-reyes-temporada) body.cdi-ui #main-wrapper > .topbar .navbar-nav > .nav-item > .nav-link,
:is(html.cdi-navidad-temporada,html.cdi-anonuevo-temporada,html.cdi-reyes-temporada) body.cdi-ui #main-wrapper > .topbar .navbar-nav > .nav-item > .nav-link > i,
:is(html.cdi-navidad-temporada,html.cdi-anonuevo-temporada,html.cdi-reyes-temporada) body.cdi-ui #main-wrapper > .topbar .navbar-header > .nav-toggler,
:is(html.cdi-navidad-temporada,html.cdi-anonuevo-temporada,html.cdi-reyes-temporada) body.cdi-ui #main-wrapper > .topbar .navbar-header > .topbartoggler,
:is(html.cdi-navidad-temporada,html.cdi-anonuevo-temporada,html.cdi-reyes-temporada) body.cdi-ui #main-wrapper > .topbar .cdi-user-trigger-meta > span { color:var(--cdi-fiesta-tinta)!important; }
:is(html.cdi-navidad-temporada,html.cdi-anonuevo-temporada,html.cdi-reyes-temporada) body.cdi-auth-body .cdi-auth-page {
 background:radial-gradient(circle at 80% 45%,#e2c78a1c,transparent 35%),linear-gradient(140deg,var(--cdi-fiesta-noche),var(--cdi-fiesta-final));
}
:is(html.cdi-navidad-temporada,html.cdi-anonuevo-temporada,html.cdi-reyes-temporada) body.cdi-auth-body .cdi-auth-page::before { border-color:#ffe4ad16; }
:is(html.cdi-navidad-temporada,html.cdi-anonuevo-temporada,html.cdi-reyes-temporada) body.cdi-auth-body .cdi-auth-page::after { background:#e9cf9414; }
:is(html.cdi-navidad-temporada,html.cdi-anonuevo-temporada,html.cdi-reyes-temporada) body.cdi-auth-body .cdi-auth-panel { border-color:#e0e7df; box-shadow:0 24px 70px #10202740; }
:is(html.cdi-navidad-temporada,html.cdi-anonuevo-temporada,html.cdi-reyes-temporada) body.cdi-auth-body .cdi-auth-brand img { width:38px; height:38px; }
.cdi-fiestas-entrada { animation:cdi-fiestas-entrada 1s ease-out both; transform-origin:160px 160px; }
.cdi-fiestas-nube { animation:cdi-fiestas-flotar 4s ease-in-out infinite; }
.cdi-fiestas-luces { animation:cdi-fiestas-encender 1.8s ease-out both; }
.cdi-fiestas-regalo { animation:cdi-fiestas-entrada 1s .15s ease-out both; transform-origin:160px 165px; }
.cdi-fiestas-fuegos { animation:cdi-fiestas-fuegos 2s ease-out both; transform-origin:160px 55px; }
.cdi-fiestas-confeti { animation:cdi-fiestas-confeti 2.4s ease-out both; }
.cdi-fiestas-destello,.cdi-fiestas-estrella { animation:cdi-fiestas-encender 2.8s ease-in-out infinite alternate; }
@keyframes cdi-fiestas-entrada { from { opacity:0; transform:translateY(12px) scale(.96); } to { opacity:1; transform:none; } }
@keyframes cdi-fiestas-flotar { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-3px); } }
@keyframes cdi-fiestas-encender { from { opacity:.45; } to { opacity:1; } }
@keyframes cdi-fiestas-fuegos { from { opacity:0; transform:scale(.7); } to { opacity:1; transform:scale(1); } }
@keyframes cdi-fiestas-confeti { from { opacity:0; transform:translateY(-12px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .cdi-temporada-escena * { animation:none!important; } }
@media print { :is(html.cdi-navidad-temporada,html.cdi-anonuevo-temporada,html.cdi-reyes-temporada) body.cdi-ui #main-wrapper > .topbar .top-navbar { background-image:none!important; } }

html.cdi-navidad-temporada { --cdi-fiesta-patron:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20560%2046%22%3E%3Cpath%20d%3D%22M0%204Q70%2031%20140%206T280%206T420%206T560%206%22%20stroke%3D%22%23688b75%22%20fill%3D%22none%22%20opacity%3D%22.3%22%2F%3E%3Cg%20fill%3D%22%23cfa75e%22%20opacity%3D%22.55%22%3E%3Cellipse%20cx%3D%2265%22%20cy%3D%2221%22%20rx%3D%223%22%20ry%3D%224%22%2F%3E%3Cellipse%20cx%3D%22209%22%20cy%3D%2217%22%20rx%3D%223%22%20ry%3D%224%22%2F%3E%3Cellipse%20cx%3D%22348%22%20cy%3D%2221%22%20rx%3D%223%22%20ry%3D%224%22%2F%3E%3Cellipse%20cx%3D%22489%22%20cy%3D%2217%22%20rx%3D%223%22%20ry%3D%224%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%23bd7972%22%20opacity%3D%22.4%22%3E%3Ccircle%20cx%3D%22135%22%20cy%3D%2210%22%20r%3D%223%22%2F%3E%3Ccircle%20cx%3D%22278%22%20cy%3D%2210%22%20r%3D%223%22%2F%3E%3Ccircle%20cx%3D%22418%22%20cy%3D%2210%22%20r%3D%223%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%23587e69%22%20opacity%3D%22.18%22%3E%3Cpath%20d%3D%22m38%2020-8%2012h5l-8%2010h23l-8-10h5Z%22%2F%3E%3Cpath%20d%3D%22m398%2018-8%2012h5l-8%2010h23l-8-10h5Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

html.cdi-anonuevo-temporada { --cdi-fiesta-patron:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20560%2046%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23b79a5c%22%20opacity%3D%22.4%22%20stroke-width%3D%221.5%22%3E%3Cpath%20d%3D%22M82%2010v6m0%2014v6M69%2023h6m14%200h6M73%2014l4%204m10%2010%204%204m-18%200%204-4m10-10%204-4M367%204v6m0%2014v6m-13-13h6m14%200h6m-22-9%204%204m10%2010%204%204m-18%200%204-4m10-10%204-4%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%23a19bc1%22%20opacity%3D%22.3%22%3E%3Cpath%20d%3D%22m188%209%202%205%205%202-5%202-2%205-2-5-5-2%205-2Zm279%2013%202%205%205%202-5%202-2%205-2-5-5-2%205-2Z%22%2F%3E%3Ccircle%20cx%3D%22265%22%20cy%3D%2230%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%22508%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

html.cdi-reyes-temporada { --cdi-fiesta-patron:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20560%2046%22%3E%3Cg%20fill%3D%22%23c5a15c%22%20opacity%3D%22.35%22%3E%3Cpath%20d%3D%22m62%2031-4-15%209%205%206-9%206%209%209-5-4%2015ZM280%2036l-4-15%209%205%206-9%206%209%209-5-4%2015ZM466%2027l-4-15%209%205%206-9%206%209%209-5-4%2015Z%22%2F%3E%3C%2Fg%3E%3Cg%20stroke%3D%22%23ba9c65%22%20fill%3D%22none%22%20opacity%3D%22.25%22%3E%3Cpath%20d%3D%22M130%2027q35-22%2070-12m180%2023q25-19%2050-15%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%23ba9c65%22%20opacity%3D%22.5%22%3E%3Cpath%20d%3D%22m204%207%202%205%205%201-4%204%201%205-4-3-5%203%201-5-4-4%205-1Zm225%208%202%205%205%201-4%204%201%205-4-3-5%203%201-5-4-4%205-1Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }
