/* =============================================================
   SRT Control Horario y Calendario Laboral — Frontend Styles
   DAdisseny · https://dadisseny.com
   ============================================================= */

:root {
	--srt-font: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	/* Paleta verde corporativa (adaptada al sitio SRT) */
	--srt-green-darkest: #0c2e08;
	--srt-green-dark:    #1a4f12;
	--srt-green-mid:     #2a7a1a;
	--srt-green-light:   #3da028;
	--srt-green-pale:    #e8f5e2;
	--srt-green-muted:   #d4edcc;

	/* Superficies */
	--srt-bg:            #f4f7f2;
	--srt-bg-card:       #ffffff;
	--srt-border:        #dde8d8;
	--srt-border-light:  #edf3ea;

	/* Texto */
	--srt-text-dark:     #1a2b17;
	--srt-text-body:     #2a3f25;
	--srt-text-muted:    #526b4a;

	/* Acento de acción */
	--srt-accent:        #2a7a1a;
	--srt-accent-hover:  #1a5c10;

	/* Gradiente del header de meses */
	--srt-month-header-from: #1a4f12;
	--srt-month-header-to:   #0c2e08;

	/* Colores de estados de días */
	--srt-worked-bg:    #e8f5e2;
	--srt-worked-text:  #1a4f12;
	--srt-worked-border:#a3d494;

	--srt-holiday-bg:   #fdecea;
	--srt-holiday-text: #6b1a1a;
	--srt-holiday-border:#f0a8a8;

	--srt-vacation-bg:  #fffbe6;
	--srt-vacation-text:#5c4200;
	--srt-vacation-border:#f5d76e;

	--srt-personal-bg:  #ece8ff;
	--srt-personal-text:#2d1f7a;
	--srt-personal-border:#a99de0;

	--srt-training-bg:  #e6f6f0;
	--srt-training-text:#0a4a30;
	--srt-training-border:#7dcbb0;

	--srt-saturday-bg:  #fdf0ff;
	--srt-saturday-text:#4a106a;
	--srt-saturday-border:#d4a0e8;

	--srt-off-bg:       #f6f6f6;
	--srt-off-text:     #909890;
	--srt-off-border:   #dde8d8;
}

/* ── Contenedor principal ─────────────────────────────────── */
.srt-cl-wrapper {
	font-family: var(--srt-font) !important;
	color: var(--srt-text-dark) !important;
	font-size: 1.69rem !important;
	max-width: 1280px;
	margin: 0 auto 50px;
	padding: 28px 24px;
	background: var(--srt-bg);
	border-radius: 12px;
	line-height: 1.5;
}

/* Herencia universal de caja */
.srt-cl-wrapper *, .srt-cl-wrapper input, .srt-cl-wrapper select, .srt-cl-wrapper button, .srt-cl-wrapper label {
	box-sizing: border-box;
	font-family: var(--srt-font) !important;
}

/* ── Cabecera del plugin ──────────────────────────────────── */
.srt-cl-header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 28px;
	padding-bottom: 20px;
	border-bottom: 3px solid var(--srt-green-muted);
	gap: 18px;
}

.srt-cl-title-section h2 {
	margin: 0 0 8px !important;
	font-size: 2.62rem !important;
	font-weight: 800 !important;
	color: var(--srt-text-dark) !important;
	letter-spacing: -0.02em;
	display: flex;
	align-items: center;
	gap: 10px;
}

.srt-cl-icon { font-size: 2.25rem !important; }

.srt-cl-subtitle {
	margin: 0 !important;
	font-size: 1.56rem !important;
	color: var(--srt-text-muted) !important;
	max-width: 650px;
	line-height: 1.6 !important;
}

.srt-cl-year-selector {
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: #fff;
	padding: 14px 18px;
	border-radius: 10px;
	border: 1px solid var(--srt-border);
	font-size: 1.56rem !important;
	color: var(--srt-text-body);
}

.srt-cl-year-row-main, .srt-cl-year-row-secondary {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.srt-cl-select {
	padding: 8px 12px !important;
	border-radius: 8px !important;
	border: 2px solid var(--srt-border) !important;
	background: var(--srt-bg) !important;
	font-size: 1.56rem !important;
	font-weight: 700 !important;
	color: var(--srt-text-dark) !important;
	cursor: pointer;
}

/* ── Tarjetas de métricas ─────────────────────────────────── */
.srt-cl-metrics-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 18px;
	margin-bottom: 24px;
}

.srt-cl-card {
	background: var(--srt-bg-card);
	border: 2px solid var(--srt-border);
	border-radius: 12px;
	padding: 20px 22px;
	box-shadow: 0 2px 6px rgba(26, 79, 18, 0.06);
	transition: box-shadow 0.2s ease, transform 0.15s ease;
}

.srt-cl-card:hover {
	box-shadow: 0 6px 16px rgba(26, 79, 18, 0.12);
}

.srt-cl-card-convenio  { border-left: 6px solid var(--srt-green-mid) !important; }
.srt-cl-card-worked    { border-left: 6px solid #2a7a1a !important; }
.srt-cl-card-balance   { border-left: 6px solid #526b4a !important; }
.srt-cl-card-vacations { border-left: 6px solid #e8a020 !important; }

.srt-cl-card-label {
	font-size: 1.5rem !important;
	font-weight: 800 !important;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--srt-text-muted) !important;
	margin-bottom: 12px;
}

.srt-cl-card-value-row {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin-bottom: 8px;
}

.srt-cl-card-value {
	font-size: 3.12rem !important;
	font-weight: 800 !important;
	color: var(--srt-text-dark) !important;
	letter-spacing: -0.03em;
	line-height: 1.1;
}

.srt-cl-unit {
	font-size: 1.56rem !important;
	color: var(--srt-text-muted) !important;
	font-weight: 600 !important;
}

.srt-cl-card-subvalue {
	font-size: 1.56rem !important;
	font-weight: 700 !important;
	color: var(--srt-text-muted) !important;
	margin-top: 6px;
	line-height: 1.4;
}

.srt-cl-card-hint {
	font-size: 1.56rem !important;
	color: var(--srt-text-muted) !important;
	margin-top: 8px;
	line-height: 1.5 !important;
}

/* Balance positivo / negativo */
.srt-cl-card-balance.balance-positive {
	border-left-color: #2a7a1a !important;
	background: #f2fbee;
}
.srt-cl-card-balance.balance-positive .srt-cl-card-value { color: #1a5c10 !important; }
.srt-cl-card-balance.balance-positive .srt-cl-card-subvalue { color: #2a7a1a !important; }

.srt-cl-card-balance.balance-negative {
	border-left-color: #b03030 !important;
	background: #fdf3f3;
}
.srt-cl-card-balance.balance-negative .srt-cl-card-value { color: #922020 !important; }

/* Inputs edición inline */
.srt-cl-edit-input {
	font-size: 1.56rem !important;
	font-weight: 700 !important;
	color: var(--srt-text-dark) !important;
	padding: 8px 12px !important;
	border: 2px solid var(--srt-green-mid) !important;
	border-radius: 8px !important;
	background: #fff !important;
	width: 120px;
}

.srt-cl-edit-input--sm {
	width: 90px;
	font-size: 1.56rem !important;
}

.srt-cl-edit-input:focus {
	outline: none;
	border-color: var(--srt-green-dark) !important;
	box-shadow: 0 0 0 4px rgba(42,122,26,0.18);
}

.srt-cl-inline-edit-form {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	padding: 12px 0 6px;
	border-top: 2px dashed var(--srt-border);
	margin-top: 8px;
}

.srt-cl-inline-edit-btn {
	background: none !important;
	border: none !important;
	padding: 4px 8px !important;
	cursor: pointer;
	font-size: 1.62rem !important;
	opacity: 0.6;
	transition: opacity 0.15s, transform 0.15s;
}

.srt-cl-inline-edit-btn:hover { opacity: 1; transform: scale(1.2); }

.srt-cl-inline-edit-btn--text {
	font-size: 1.56rem !important;
	opacity: 1 !important;
	color: var(--srt-green-dark) !important;
	font-weight: 700 !important;
	padding: 6px 12px !important;
	border: 2px dashed var(--srt-green-mid) !important;
	border-radius: 8px !important;
	background: var(--srt-green-pale) !important;
	margin-top: 8px;
	display: inline-block;
}

.srt-cl-inline-edit-btn--text:hover {
	background: var(--srt-green-muted) !important;
}

/* Tarjeta vacaciones display */
.srt-cl-vac-display { display: flex; flex-direction: column; gap: 8px; }

.srt-cl-vac-row {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 1.88rem !important;
	font-weight: 700 !important;
}

.srt-cl-vac-row strong { font-size: 2.5rem !important; }

.srt-cl-vac-sep { color: var(--srt-text-muted); font-size: 1.88rem !important; }
.srt-cl-vac-icon { font-size: 1.88rem !important; }
.srt-cl-vac-label { font-size: 1.5rem !important; color: var(--srt-text-muted); }

.srt-cl-progress-bar {
	height: 10px;
	background: var(--srt-green-muted);
	border-radius: 5px;
	overflow: hidden;
	margin: 8px 0;
}

.srt-cl-progress-fill {
	height: 100%;
	background: linear-gradient(90deg, var(--srt-green-mid), var(--srt-green-light));
	width: 0%;
	transition: width 0.5s ease;
}

.srt-cl-vac-secondary {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	font-size: 1.62rem !important;
	color: var(--srt-text-body) !important;
	font-weight: 600 !important;
}

.srt-cl-vac-form { flex-direction: column; align-items: flex-start; gap: 10px; }

.srt-cl-vac-form-row {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
}

.srt-cl-vac-form-row label {
	font-size: 1.56rem !important;
	color: var(--srt-text-body) !important;
	font-weight: 600 !important;
	min-width: 180px;
}

.srt-cl-vac-form-actions {
	display: flex;
	gap: 10px;
	padding-top: 8px;
}

/* ── Leyenda ──────────────────────────────────────────────── */
.srt-cl-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 22px;
	background: #fff;
	padding: 16px 22px;
	border-radius: 10px;
	border: 2px solid var(--srt-border);
	margin-bottom: 22px;
	font-size: 1.56rem !important;
	color: var(--srt-text-body) !important;
}

.srt-cl-legend-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 600 !important;
	font-size: 1.56rem !important;
}

.srt-cl-badge {
	width: 16px;
	height: 16px;
	border-radius: 4px;
	display: inline-block;
	flex-shrink: 0;
}

.badge-worked   { background: var(--srt-worked-bg);   border: 2px solid var(--srt-worked-border); }
.badge-holiday  { background: var(--srt-holiday-bg);  border: 2px solid var(--srt-holiday-border); }
.badge-vacation { background: var(--srt-vacation-bg); border: 2px solid var(--srt-vacation-border); }
.badge-personal { background: var(--srt-personal-bg); border: 2px solid var(--srt-personal-border); }
.badge-training { background: var(--srt-training-bg); border: 2px solid var(--srt-training-border); }
.badge-saturday { background: var(--srt-saturday-bg); border: 2px solid var(--srt-saturday-border); }
.badge-off      { background: var(--srt-off-bg);      border: 2px solid var(--srt-off-border); }

/* ── Panel Jornada compacto ─────────────────────────────── */
.srt-cl-jornada-panel {
	background: #fff;
	border: 2px solid var(--srt-border);
	border-radius: 10px;
	margin-bottom: 16px;
}

.srt-cl-jornada-display,
.srt-cl-jornada-edit-form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	padding: 14px 20px;
	font-size: 1.62rem !important;
}

.srt-cl-jornada-edit-form {
	border-top: 2px dashed var(--srt-border);
	padding-top: 14px;
}

.srt-cl-jornada-icon { font-size: 1.75rem !important; }

.srt-cl-jornada-val {
	font-size: 1.88rem !important;
	font-weight: 800 !important;
	color: var(--srt-text-dark) !important;
}

.srt-cl-jornada-sep {
	color: var(--srt-border);
	font-size: 1.88rem !important;
	margin: 0 4px;
}

.srt-cl-jornada-day-badge {
	font-size: 1.38rem !important;
	font-weight: 800 !important;
	padding: 5px 12px;
	border-radius: 6px;
	letter-spacing: 0.02em;
}

.srt-cl-badge-lv  { background: var(--srt-worked-bg);  color: var(--srt-worked-text);  border: 2px solid var(--srt-worked-border); }
.srt-cl-badge-sat { background: var(--srt-saturday-bg); color: var(--srt-saturday-text); border: 2px solid var(--srt-saturday-border); }
.srt-cl-badge-off { background: var(--srt-off-bg);      color: var(--srt-off-text);     border: 2px solid var(--srt-off-border); }
.srt-cl-badge-reduction { background: #fff0d6; color: #8a5000; border: 2px solid #f0c070; }

/* ── Semanas Alternas ──────────────────────────────────────── */
.srt-cl-alt-toggle-bar {
	padding: 12px 20px;
	border-top: 2px dashed var(--srt-border);
}

.srt-cl-alt-toggle-label {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-size: 1.62rem !important;
	color: var(--srt-text-body) !important;
	font-weight: 600 !important;
}

.srt-cl-alt-toggle-text em {
	color: var(--srt-text-muted) !important;
	font-style: normal;
}

.srt-cl-alt-config {
	padding: 18px 20px;
	border-top: 2px solid var(--srt-border);
	background: var(--srt-bg);
}

.srt-cl-alt-weeks-row {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}

.srt-cl-alt-week {
	flex: 1;
	min-width: 220px;
	background: #fff;
	border: 2px solid var(--srt-border);
	border-radius: 10px;
	padding: 14px 18px;
}

.srt-cl-alt-week-a { border-left: 6px solid var(--srt-green-mid) !important; }
.srt-cl-alt-week-b { border-left: 6px solid #7a4a9a !important; }

.srt-cl-alt-week-header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}

.srt-cl-alt-badge {
	font-size: 1.38rem !important;
	font-weight: 800 !important;
	padding: 4px 12px;
	border-radius: 12px;
}

.srt-cl-alt-badge-a { background: var(--srt-green-mid); color: #fff; }
.srt-cl-alt-badge-b { background: #7a4a9a; color: #fff; }

.srt-cl-alt-week-desc {
	font-size: 1.5rem !important;
	color: var(--srt-text-muted) !important;
	font-weight: 600 !important;
}

.srt-cl-alt-week-fields {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.srt-cl-alt-field {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 1.56rem !important;
}

.srt-cl-alt-arrow {
	font-size: 2.25rem !important;
	color: var(--srt-text-muted);
	flex-shrink: 0;
}

.srt-cl-alt-first-week {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	font-size: 1.56rem !important;
	color: var(--srt-text-body);
	margin-bottom: 14px;
	background: var(--srt-green-pale);
	border: 2px solid var(--srt-green-muted);
	border-radius: 8px;
	padding: 12px 18px;
}

.srt-cl-alt-first-label {
	font-weight: 700 !important;
	color: var(--srt-text-dark);
}

.srt-cl-alt-radio {
	display: flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	font-weight: 600 !important;
}

.srt-cl-alt-actions {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.srt-cl-alt-hint {
	font-size: 1.5rem !important;
	color: var(--srt-text-muted) !important;
}

/* ── Barra de Rango y Selección Múltiple ───────────────────── */
.srt-cl-range-bar {
	background: #fff;
	border: 2px solid var(--srt-border);
	border-radius: 10px;
	margin-bottom: 16px;
	padding: 14px 20px;
}

.srt-cl-range-bar-idle, .srt-cl-range-bar-active {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.srt-cl-range-bar-hint {
	font-size: 1.56rem !important;
	color: var(--srt-text-muted) !important;
}

.srt-cl-range-bar-info {
	font-size: 1.62rem !important;
	font-weight: 700 !important;
	color: var(--srt-green-dark) !important;
	padding: 8px 14px;
	background: var(--srt-green-pale);
	border-radius: 8px;
	border: 2px solid var(--srt-green-muted);
}

.srt-cl-range-bar-controls {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.srt-cl-range-select {
	padding: 8px 12px !important;
	font-size: 1.56rem !important;
	border-radius: 8px !important;
}

.srt-cl-range-check-inline {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 1.5rem !important;
	color: var(--srt-text-muted) !important;
	font-weight: 600 !important;
	cursor: pointer;
	white-space: nowrap;
}

.srt-cl-range-hours-box {
	font-size: 1.56rem !important;
	font-weight: 600 !important;
	color: var(--srt-text-body);
}

/* Celdas selección rango */
td.day-range-start, td.day-range-end {
	outline: 4px solid var(--srt-green-mid) !important;
	outline-offset: -2px;
	z-index: 3;
}

td.day-range-mid {
	background-color: rgba(42, 122, 26, 0.18) !important;
	outline: 1px solid rgba(42, 122, 26, 0.35) !important;
}

td.day-range-hover {
	background-color: rgba(42, 122, 26, 0.1) !important;
}

td.day-multi-selected {
	outline: 4px solid #7a4a9a !important;
	outline-offset: -2px;
	background-color: rgba(122, 74, 154, 0.18) !important;
	z-index: 3;
}

.srt-cl-calendar-grid.range-mode .srt-cl-day-cell,
.srt-cl-calendar-grid.multi-mode .srt-cl-day-cell {
	cursor: crosshair;
}

/* ── Sección Festivos Locales ─────────────────────────────── */
.srt-cl-local-holidays-section {
	background: #fff;
	border: 2px solid var(--srt-border);
	border-radius: 12px;
	margin-bottom: 24px;
	overflow: hidden;
}

.srt-cl-local-holidays-header {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 22px;
	cursor: pointer;
	background: var(--srt-green-pale);
	border-bottom: 2px solid var(--srt-border);
	user-select: none;
	transition: background 0.15s;
}

.srt-cl-local-holidays-header:hover { background: var(--srt-green-muted); }

.srt-cl-local-holidays-title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 800 !important;
	font-size: 1.56rem !important;
	color: var(--srt-text-dark) !important;
	flex: 1;
}

.srt-cl-lh-icon { font-size: 1.75rem !important; }

.srt-cl-lh-count-badge {
	background: var(--srt-green-mid);
	color: #fff;
	font-size: 1.38rem !important;
	font-weight: 800 !important;
	padding: 2px 9px;
	border-radius: 12px;
	min-width: 24px;
	text-align: center;
}

.srt-cl-local-holidays-desc {
	font-size: 1.56rem !important;
	color: var(--srt-text-muted) !important;
	flex: 2;
}

.srt-cl-local-holidays-body { padding: 20px 22px; }

.srt-cl-lh-form-row {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	align-items: flex-end;
	margin-bottom: 16px;
}

.srt-cl-lh-form-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 1.56rem !important;
	color: var(--srt-text-muted) !important;
	font-weight: 700 !important;
}

.srt-cl-lh-form-field--wide { flex: 2; min-width: 220px; }

.srt-cl-lh-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: var(--srt-green-pale);
	border: 2px solid var(--srt-green-muted);
	border-radius: 8px;
	padding: 10px 16px;
	font-size: 1.56rem !important;
}

.srt-cl-lh-item-date {
	font-weight: 800 !important;
	color: var(--srt-green-dark) !important;
	font-size: 1.56rem !important;
}

.srt-cl-lh-item-name {
	color: var(--srt-text-dark) !important;
	font-weight: 600 !important;
}

.srt-cl-lh-remove-btn {
	background: none;
	border: 2px solid #f0a8a8;
	color: #922020;
	border-radius: 6px;
	padding: 4px 10px;
	cursor: pointer;
	font-size: 1.38rem !important;
	font-weight: 700 !important;
}

.srt-cl-lh-empty {
	text-align: center;
	color: var(--srt-text-muted) !important;
	font-size: 1.56rem !important;
	padding: 14px 0;
}

/* ── Calendario — Grid de 12 meses ────────────────────────── */
.srt-cl-calendar-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 20px;
}

.srt-cl-month-box {
	background: var(--srt-bg-card);
	border: 2px solid var(--srt-border);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 5px rgba(26, 79, 18, 0.06);
}

.srt-cl-month-header {
	background: linear-gradient(135deg, var(--srt-green-dark) 0%, var(--srt-green-darkest) 100%);
	color: #ffffff;
	padding: 12px 16px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 2px solid rgba(255,255,255,0.1);
}

.srt-cl-month-title {
	font-weight: 800 !important;
	font-size: 1.88rem !important;
	letter-spacing: -0.01em;
	text-transform: capitalize;
}

.srt-cl-month-summary {
	display: flex;
	gap: 6px;
}

.srt-cl-summary-tag {
	background: rgba(255, 255, 255, 0.15);
	border: 1px solid rgba(255,255,255,0.25);
	color: #ffffff;
	padding: 3px 8px;
	border-radius: 6px;
	font-size: 1.38rem !important;
	font-weight: 700 !important;
}

/* ── Tabla de días ────────────────────────────────────────── */
.srt-cl-month-table {
	width: 100%;
	border-collapse: collapse;
	text-align: center;
	font-size: 1.31rem !important;
}

.srt-cl-month-table th {
	background: var(--srt-green-pale);
	color: var(--srt-green-dark);
	font-weight: 800 !important;
	padding: 8px 4px;
	font-size: 1.38rem !important;
	border-bottom: 2px solid var(--srt-border);
	letter-spacing: 0.04em;
}

.srt-cl-month-table td {
	padding: 4px 2px;
	border: 1px solid var(--srt-border-light);
	height: 44px;
	vertical-align: middle;
	cursor: pointer;
	position: relative;
	transition: filter 0.1s ease;
	line-height: 1.2;
}

.srt-cl-month-table td.empty-cell {
	background: #fafcf9;
	cursor: default;
	border-color: transparent;
}

.srt-cl-month-table td:not(.empty-cell):hover {
	filter: brightness(0.92);
	outline: 3px solid var(--srt-green-mid);
	outline-offset: -1px;
	z-index: 2;
}

.srt-cl-day-number {
	font-weight: 800 !important;
	font-size: 1.56rem !important;
}

.srt-cl-day-hours {
	font-size: 1.31rem !important;
	font-weight: 700 !important;
	opacity: 0.9;
}

.srt-cl-day-label {
	font-size: 1.06rem !important;
	font-weight: 800 !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-top: 2px;
}

/* ── Estados de celda ─────────────────────────────────────── */
td.day-worked   { background: var(--srt-worked-bg);   color: var(--srt-worked-text) !important; }
td.day-holiday  { background: var(--srt-holiday-bg);  color: var(--srt-holiday-text) !important; }
td.day-vacation { background: var(--srt-vacation-bg); color: var(--srt-vacation-text) !important; }
td.day-personal { background: var(--srt-personal-bg); color: var(--srt-personal-text) !important; }
td.day-training { background: var(--srt-training-bg); color: var(--srt-training-text) !important; }
td.day-saturday { background: var(--srt-saturday-bg); color: var(--srt-saturday-text) !important; }
td.day-off      { background: var(--srt-off-bg);      color: var(--srt-off-text) !important; }

/* ── Modal de edición ─────────────────────────────────────── */
.srt-cl-modal {
	position: fixed;
	inset: 0;
	background: rgba(12, 46, 8, 0.55);
	backdrop-filter: blur(3px);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 999999;
}

.srt-cl-modal-content {
	background: #fff;
	border-radius: 14px;
	width: 92%;
	max-width: 480px;
	box-shadow: 0 16px 40px rgba(12, 46, 8, 0.22);
	overflow: hidden;
	animation: srtModalIn 0.18s ease-out;
}

@keyframes srtModalIn {
	from { opacity: 0; transform: translateY(-10px) scale(0.98); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}

.srt-cl-modal-header {
	background: linear-gradient(135deg, var(--srt-green-dark) 0%, var(--srt-green-darkest) 100%);
	color: #fff;
	padding: 16px 22px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.srt-cl-modal-header h3 {
	margin: 0;
	font-size: 1.62rem !important;
	color: #fff !important;
	font-weight: 800 !important;
}

.srt-cl-modal-close {
	font-size: 2rem !important;
	color: rgba(255,255,255,0.7);
	cursor: pointer;
	line-height: 1;
}

.srt-cl-modal-close:hover { color: #fff; }

.srt-cl-modal-body { padding: 22px; }

.srt-cl-field { margin-bottom: 18px; }

.srt-cl-field label {
	display: block;
	margin-bottom: 8px;
	font-size: 1.44rem !important;
	font-weight: 700 !important;
	color: var(--srt-text-dark) !important;
}

.srt-cl-input {
	width: 100%;
	padding: 10px 14px !important;
	border-radius: 8px !important;
	border: 2px solid var(--srt-border) !important;
	font-size: 1.56rem !important;
	color: var(--srt-text-dark) !important;
	background: var(--srt-bg) !important;
}

.srt-cl-input:focus {
	outline: none;
	border-color: var(--srt-green-mid) !important;
	background: #fff !important;
}

.srt-cl-field-note {
	font-size: 1.5rem !important;
	color: var(--srt-text-muted) !important;
	margin: 6px 0 0;
}

.srt-cl-modal-footer {
	padding: 16px 22px;
	background: var(--srt-green-pale);
	border-top: 2px solid var(--srt-border);
	display: flex;
	justify-content: flex-end;
	gap: 12px;
}

/* ── Botones ──────────────────────────────────────────────── */
.srt-cl-btn {
	padding: 11px 22px !important;
	border-radius: 8px !important;
	font-size: 1.56rem !important;
	font-weight: 700 !important;
	cursor: pointer;
	border: none !important;
	transition: background 0.15s, transform 0.1s;
}

.srt-cl-btn:active { transform: scale(0.97); }

.srt-cl-btn-primary {
	background: var(--srt-green-dark) !important;
	color: #fff !important;
}

.srt-cl-btn-primary:hover {
	background: var(--srt-green-darkest) !important;
	color: #fff !important;
}

.srt-cl-btn-secondary {
	background: #e8ede6 !important;
	color: var(--srt-text-body) !important;
}

.srt-cl-btn-secondary:hover {
	background: #d4e0d0 !important;
}

.srt-cl-btn-danger {
	background: #b03030 !important;
	color: #fff !important;
}

.srt-cl-btn-danger:hover {
	background: #8e2020 !important;
}

.srt-cl-btn-outline-green {
	background: transparent !important;
	color: var(--srt-green-dark) !important;
	border: 2px solid var(--srt-green-dark) !important;
	font-weight: 800 !important;
}

.srt-cl-btn-outline-green:hover {
	background: var(--srt-green-dark) !important;
	color: #fff !important;
}

.srt-cl-btn-sm {
	padding: 8px 16px !important;
	font-size: 1.44rem !important;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 800px) {
	.srt-cl-wrapper           { padding: 16px 12px !important; font-size: 1.38rem !important; }
	.srt-cl-header           { flex-direction: column; }
	.srt-cl-metrics-grid     { grid-template-columns: 1fr; }
	.srt-cl-calendar-grid    { grid-template-columns: 1fr; }
	.srt-cl-local-holidays-desc { display: none; }
	.srt-cl-lh-form-row      { flex-direction: column; }
	.srt-cl-alt-weeks-row    { flex-direction: column; }
}

@media print {
	@page {
		size: A4 portrait;
		margin: 8mm;
	}

	/* ── Ocultar todo lo que no debe aparecer en el PDF ── */
	.srt-cl-header,
	.srt-cl-year-selector,
	.srt-cl-jornada-panel,
	.srt-cl-range-bar,
	.srt-cl-local-holidays-section,
	.srt-cl-inline-edit-btn,
	.srt-cl-inline-edit-btn--text,
	.srt-cl-inline-edit-form,
	.srt-cl-legend {
		display: none !important;
	}

	/* Ocultar header/footer/WhatsApp del tema WordPress */
	header, footer, nav,
	.site-header, .site-footer,
	.main-navigation, .footer-widgets,
	.whatsapp-button, .whatsapp-chat, .whatsapp-float,
	#wpadminbar,
	[class*="whatsapp"], [id*="whatsapp"],
	[class*="header"]:not(.srt-cl-print-header):not(.srt-cl-month-header):not(.srt-cl-modal-header):not(.srt-cl-local-holidays-header) {
		display: none !important;
	}

	.srt-cl-wrapper {
		max-width: 100% !important;
		padding: 0 !important;
		background: #fff !important;
		margin: 0 !important;
	}

	/* ── PÁGINA 1: Cabecera de impresión + tarjetas resumen en 2 FILAS (2x2) ── */
	.srt-cl-print-header {
		display: flex !important;
		align-items: center;
		gap: 20px;
		margin-bottom: 25px;
		padding-bottom: 18px;
		border-bottom: 3px solid #1a4f12;
	}

	.srt-cl-print-logo {
		max-height: 80px;
		width: auto;
	}

	.srt-cl-print-header-text h1 {
		margin: 0;
		font-size: 2.1rem;
		color: #1a4f12;
	}

	.srt-cl-print-header-text p {
		margin: 4px 0 0;
		font-size: 1.4rem;
		color: #555;
	}

	.srt-cl-metrics-grid {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 22px !important;
		margin-top: 30px !important;
		page-break-after: always !important;
		break-after: page !important;
	}

	.srt-cl-card {
		box-shadow: none !important;
		border: 2px solid #ccc !important;
		padding: 24px !important;
		border-radius: 12px !important;
	}

	.srt-cl-card-label {
		font-size: 1.3rem !important;
	}

	.srt-cl-card-value {
		font-size: 3.2rem !important;
	}

	.srt-cl-card-subvalue, .srt-cl-card-hint {
		font-size: 1.3rem !important;
	}

	/* ── PÁGINA 2: Calendario completo (12 meses en 2 columnas en EXACTAMENTE 1 página) ── */
	.srt-cl-calendar-grid {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 3px 10px !important;
		margin: 0 !important;
		padding: 0 !important;
		page-break-before: always !important;
		break-before: page !important;
		page-break-after: avoid !important;
		break-after: avoid !important;
	}

	.srt-cl-month-box {
		page-break-inside: avoid !important;
		break-inside: avoid !important;
		border-width: 1px !important;
		border-radius: 5px !important;
		margin: 0 !important;
	}

	.srt-cl-month-header {
		padding: 3px 6px !important;
	}

	.srt-cl-month-title {
		font-size: 0.88rem !important;
		line-height: 1.1 !important;
	}

	.srt-cl-summary-tag {
		padding: 1px 3px !important;
		font-size: 0.65rem !important;
		border-radius: 3px !important;
	}

	.srt-cl-month-table th {
		padding: 1px 0 !important;
		font-size: 0.72rem !important;
		line-height: 1.05 !important;
	}

	.srt-cl-month-table td {
		height: auto !important;
		padding: 1px 0 !important;
		font-size: 0.68rem !important;
		line-height: 1.05 !important;
	}

	.srt-cl-day-number {
		font-size: 0.8rem !important;
		line-height: 1 !important;
	}

	.srt-cl-day-hours {
		font-size: 0.65rem !important;
		line-height: 1 !important;
	}

	.srt-cl-day-label {
		font-size: 0.52rem !important;
		margin-top: 0 !important;
		line-height: 1 !important;
	}

	* {
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
		color-adjust: exact !important;
	}
}
