		:root {
			--validatic-primary: #2563eb;
			--validatic-primary-light: #eff6ff;
			--validatic-primary-hover: #1d4ed8;
			--validatic-success: #10b981;
			--validatic-danger: #ef4444;
			--validatic-warning: #f59e0b;
			--validatic-text-dark: #0f172a;
			--validatic-text-light: #ffffff;
			--validatic-border: #e2e8f0;
			--validatic-bg-main: #f8fafc;
			--validatic-bg-card: #ffffff;
			--validatic-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.01);
			--validatic-radius: 16px;
			--validatic-sticky-top: 12px;
		}
			#validatic-app-wrapper {
				font-family: 'Inter', system-ui, -apple-system, sans-serif;
				max-width: 100%;
				box-sizing: border-box;
				margin: 0 auto 20px;
				padding: 25px;
				background-color: transparent;
			}
		.validatic-header {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 0 0 20px 0;
			margin-bottom: 25px;
			flex-wrap: wrap;
			gap: 15px;
		}
		.validatic-header h1 {
			margin: 0;
			font-size: 28px;
			color: var(--validatic-text-dark);
			font-weight: 800;
			letter-spacing: -0.5px;
		}
		.user-info {
			display: flex;
			align-items: center;
			gap: 15px;
			font-weight: 500;
			color: #475569;
		}
		.logout-button {
			text-decoration: none;
			background: #f1f5f9;
			color: #475569;
			padding: 8px 16px;
			border-radius: 999px;
			font-size: 14px;
			font-weight: 600;
			transition: all 0.2s;
			border: 1px solid #cbd5e1;
		}
		.logout-button:hover {
			background-color: #e2e8f0;
			color: #0f172a;
		}

		/* Pestanyes modernes */
		.validatic-tabs {
			display: flex;
			gap: 10px;
			margin-bottom: 25px;
			border-bottom: 2px solid #e2e8f0;
			padding-bottom: 0;
		}
		.validatic-tab-link {
			background-color: transparent;
			border: none;
			border-bottom: 3px solid transparent;
			padding: 12px 20px;
			cursor: pointer;
			font-size: 16px;
			font-weight: 600;
			color: #64748b;
			transition: color 0.2s, background-color 0.2s, border-color 0.2s;
			margin-bottom: -2px;
			border-radius: 10px 10px 0 0;
		}
		.validatic-tabs .validatic-tab-link:not(.active):hover {
			color: #0f172a;
			background-color: #f1f5f9;
		}
		.validatic-tabs .validatic-tab-link:focus-visible {
			outline: none;
			box-shadow: inset 0 0 0 2px rgba(37, 99, 235, 0.22);
		}
		.validatic-tab-link.active {
			color: var(--validatic-primary);
			background-color: var(--validatic-primary-light);
			border-bottom-color: var(--validatic-primary);
		}

		.validatic-tab-content {
			display: none;
			animation: fadeIn 0.3s ease-in-out;
		}
		.validatic-tab-content.active {
			display: block;
		}
		@keyframes fadeIn {
			from { opacity: 0; transform: translateY(5px); }
			to { opacity: 1; transform: translateY(0); }
		}

		.validatic-card {
			background-color: var(--validatic-bg-card);
			padding: 30px;
			border-radius: var(--validatic-radius);
			border: 1px solid var(--validatic-border);
			box-shadow: var(--validatic-shadow);
		}

		/* Controls de filtres */
		.validatic-controls-panel {
			background-color: #f8fafc;
			padding: 20px 25px;
			border-radius: 12px;
			margin-bottom: 30px;
			border: 1px solid #e2e8f0;
		}
		.validatic-top-actions-sticky {
			position: sticky;
			top: var(--validatic-sticky-top);
			z-index: 30;
			background-color: var(--validatic-bg-card);
			padding-bottom: 12px;
			margin-bottom: 12px;
		}
		.form-controls {
			display: flex;
			gap: 20px;
			align-items: flex-end;
			flex-wrap: wrap;
		}
		.control-group {
			display: flex;
			flex-direction: column;
			flex: 1;
			min-width: 200px;
		}
			.control-group label {
				margin-bottom: 8px;
				font-weight: 600;
				color: #334155;
				font-size: 14px;
			}
			.control-group.validatic-loading label {
				display: flex;
				align-items: center;
				gap: 8px;
			}
			.control-group.validatic-loading label::after {
				content: '';
				width: 14px;
				height: 14px;
				border: 2px solid #e2e8f0;
				border-top: 2px solid var(--validatic-primary);
				border-radius: 50%;
				animation: spin 0.8s linear infinite;
				flex: 0 0 auto;
			}
			.control-group select,
			.control-group input,
			.control-group textarea {
				padding: 12px 16px;
				border: 1px solid #cbd5e1;
				border-radius: 8px;
			font-size: 15px;
			background-color: #fff;
			color: #0f172a;
			transition: border-color 0.2s, box-shadow 0.2s;
			box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
		}
			.control-group select:focus,
			.control-group input:focus,
			.control-group textarea:focus {
				border-color: var(--validatic-primary);
				outline: none;
				box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
			}
			.control-group textarea {
				min-height: 112px;
				resize: vertical;
			}
			.validatic-field-hint {
				margin-top: 7px;
				font-size: 12px;
				line-height: 1.45;
				color: #64748b;
			}
			.control-group.validatic-loading select,
			.control-group.validatic-loading input,
			.control-group.validatic-loading textarea {
				cursor: wait;
			}
		.validatic-partit-control {
			flex: 1.2;
		}
		.validatic-checkbox-inline {
			display: inline-flex;
			align-items: center;
			gap: 10px;
			margin-bottom: 0;
			cursor: pointer;
		}
		.validatic-checkbox-inline input[type="checkbox"] {
			width: 18px;
			height: 18px;
			margin: 0;
			padding: 0;
			box-shadow: none;
		}
		.validatic-checkbox-inline span {
			font-weight: 600;
			color: #0f172a;
		}
		.validatic-partit-fields {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 12px;
			margin-top: 12px;
			padding: 12px;
			border: 1px solid #dbe7f3;
			border-radius: 10px;
			background: #fff;
		}
		.validatic-partit-fields[hidden] {
			display: none !important;
		}
		.validatic-partit-field {
			display: flex;
			flex-direction: column;
			gap: 6px;
			min-width: 0;
		}
		.control-group .validatic-partit-field label {
			margin-bottom: 0;
			font-size: 13px;
		}

		/* Graella estil SporTic */
		#schedule-grid-container {
			overflow-x: auto;
			padding-bottom: 20px;
			margin-top: 10px;
			border: 1px solid var(--validatic-border);
			border-radius: 12px;
			background-color: #ffffff;
		}
		.sportic-schedule-table {
			border-collapse: collapse !important;
			border-spacing: 0 !important;
			width: 100%;
			min-width: 800px;
			font-family: 'Inter', sans-serif;
		}
		.sportic-schedule-table th,
		.sportic-schedule-table td {
			border: 1px solid #e2e8f0 !important;
			border-radius: 0 !important;
		}
		.sportic-schedule-table thead th {
			background-color: #0f172a !important;
			color: #ffffff !important;
			font-weight: 600 !important;
			padding: 12px 8px;
			text-align: center !important;
			position: sticky;
			top: 0;
			z-index: 10;
			font-size: 14px;
		}
		.sportic-schedule-table thead th:first-child {
			width: 140px;
			min-width: 140px;
			white-space: nowrap;
		}
		.sportic-schedule-table tbody .sportic-hour-cell {
			background-color: #f1f5f9 !important;
			color: #475569 !important;
			font-weight: 600;
			padding: 8px 10px;
			text-align: center;
			width: 140px;
			min-width: 140px;
			white-space: nowrap;
			line-height: 1.2;
		}

		/* Cel·les interactives */
		.sportic-cell {
			background-color: #f8fafc;
			cursor: pointer;
			text-align: center;
			padding: 8px;
			font-size: 13px;
			font-weight: 600;
			position: relative;
			transition: background-color 0.1s, box-shadow 0.1s;
			user-select: none;
		}
		.sportic-cell.free {
			background-color: #ffffff;
			color: #94a3b8;
		}
		.sportic-cell.free:hover {
			background-color: #f1f5f9;
		}
		.sportic-cell.requestable {
			cursor: pointer !important;
		}
		.sportic-cell.requestable:hover {
			box-shadow: inset 0 0 0 2px #bfdbfe;
		}

		/* Estats ocupats i de sol·licitud */
		.sportic-cell.occupied {
			background-color: #fee2e2 !important;
			color: #b91c1c;
			cursor: not-allowed;
			opacity: 0.8;
		}
		.sportic-cell.occupied.requestable {
			cursor: pointer !important;
		}
		.sportic-cell.locked {
			background-color: #e5e7eb !important;
			color: #475569 !important;
			cursor: not-allowed !important;
			opacity: 0.95;
		}
		.sportic-cell.my-request-pending {
			background-color: #fef3c7 !important;
			color: #b45309 !important;
			box-shadow: inset 0 0 0 1px #f59e0b;
		}
		.sportic-cell.validatic-pending-activity-edit {
			background-color: #dbeafe !important;
			color: #1d4ed8 !important;
			box-shadow: inset 0 0 0 3px #2563eb !important;
		}
		.sportic-cell.my-request-approved {
			background-color: #d1fae5 !important;
			color: #047857 !important;
			box-shadow: inset 0 0 0 1px #10b981;
		}
		.sportic-cell.my-request-counter_offer {
			background-color: #fef3c7 !important;
			color: #92400e !important;
			box-shadow: inset 0 0 0 2px #f59e0b;
		}
		.sportic-cell.my-request-pending_deletion {
			background-color: #fca5a5 !important;
			color: #7f1d1d !important;
			text-decoration: line-through;
		}
		.sportic-cell.other-request-pending {
			background-color: #ede9fe !important;
			color: #5b21b6 !important;
			box-shadow: inset 0 0 0 2px #8b5cf6;
		}
		.sportic-cell.disabled-past {
			background-color: #f1f5f9 !important;
			color: #cbd5e1 !important;
			cursor: not-allowed;
		}
		.sportic-empty-row {
			text-align: center;
			padding: 18px 12px !important;
			color: #64748b;
			background-color: #f8fafc;
			font-weight: 500;
		}

		/* Estats de selecció */
		.sportic-cell.sportic-selected {
			box-shadow: inset 0 0 0 2px var(--validatic-primary) !important;
			background-color: var(--validatic-primary-light) !important;
			color: var(--validatic-primary) !important;
		}
		.sportic-cell.my-request-pending.sportic-selected:not(.validatic-pending-activity-edit) {
			background-color: #fef3c7 !important;
			color: #b45309 !important;
			box-shadow: inset 0 0 0 1px #f59e0b !important;
		}
		.sportic-cell.my-request-approved.sportic-selected {
			background-color: #d1fae5 !important;
			color: #047857 !important;
			box-shadow: inset 0 0 0 1px #10b981 !important;
		}
		.sportic-cell.validatic-match-cell,
		.sportic-cell.my-request-pending.validatic-match-cell,
		.sportic-cell.my-request-approved.validatic-match-cell,
		.sportic-cell.other-request-pending.validatic-match-cell {
			background: linear-gradient(180deg, #0f766e 0%, #115e59 100%) !important;
			color: #ffffff !important;
			border-color: rgba(15, 118, 110, 0.45) !important;
			box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22), inset 0 -3px 0 rgba(0, 0, 0, 0.12) !important;
		}
		.sportic-cell.validatic-match-cell.sportic-selected {
			background: linear-gradient(180deg, #0d9488 0%, #0f766e 100%) !important;
			color: #ffffff !important;
			box-shadow: inset 0 0 0 2px #99f6e4, inset 0 -3px 0 rgba(0, 0, 0, 0.14) !important;
		}
		.sportic-cell.dragfill-selected {
			box-shadow: inset 0 0 0 2px #f59e0b !important;
			background-color: #fef3c7 !important;
		}
		.sportic-cell.sportic-selected-for-removal {
			box-shadow: inset 0 0 0 4px #7f1d1d !important;
			outline: 3px solid #dc2626 !important;
			outline-offset: -4px;
			background: repeating-linear-gradient(-45deg, #fee2e2 0, #fee2e2 8px, #fecaca 8px, #fecaca 16px) !important;
			color: #7f1d1d !important;
			font-weight: 800;
		}
		.sportic-cell.validatic-jump-focus {
			box-shadow: inset 0 0 0 3px #f59e0b !important;
			background-color: #fef3c7 !important;
		}

		/* Quadradet d'arrossegament (fill handle) */
		.fill-handle {
			position: absolute;
			bottom: -1px;
			right: -1px;
			width: 10px;
			height: 10px;
			background-color: var(--validatic-primary);
			border: 1px solid white;
			cursor: crosshair;
			z-index: 60;
			border-radius: 2px;
		}

		/* Zona de selecció */
		#selection-summary {
			margin-top: 0;
			padding: 25px;
			background: #f8fafc;
			border-radius: 12px;
			border: 1px solid #e2e8f0;
		}
		#selection-summary h3 {
			margin-top: 0;
			margin-bottom: 15px;
			font-size: 18px;
			color: #0f172a;
		}
		#selected-cells-list {
			min-height: 40px;
			margin-bottom: 20px;
			color: #475569;
			font-size: 15px;
			max-height: 140px;
			overflow-y: auto;
		}
		#selected-cells-list ul {
			margin: 0;
			padding-left: 20px;
			column-count: 2;
		}

		/* Botons */
		.button-primary {
			background: var(--validatic-primary);
			color: #fff;
			border: none;
			padding: 14px 28px;
			border-radius: 8px;
			cursor: pointer;
			font-size: 16px;
			font-weight: 600;
			transition: all 0.2s;
			box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.2);
		}
		.button-primary:hover:not(:disabled) {
			background-color: #1d4ed8;
			box-shadow: 0 10px 18px -10px rgba(29, 78, 216, 0.55);
			transform: translateY(-1px);
		}
		.button-primary:disabled {
			background: #94a3b8;
			cursor: not-allowed;
			box-shadow: none;
		}
		.button-danger {
			background: var(--validatic-danger);
			color: #fff;
			border: none;
			padding: 12px 24px;
			border-radius: 8px;
			cursor: pointer;
			font-size: 15px;
			font-weight: 600;
		}
		.button-danger:hover:not(:disabled) {
			background: #b91c1c;
			box-shadow: 0 10px 18px -12px rgba(185, 28, 28, 0.45);
			transform: translateY(-1px);
		}
		.button-danger:disabled {
			background: #94a3b8;
			cursor: not-allowed;
		}
		.button-secondary {
			background: #475569;
			color: #fff;
			border: none;
			padding: 12px 24px;
			border-radius: 8px;
			cursor: pointer;
			font-size: 15px;
			font-weight: 600;
		}
		.button-secondary:hover:not(:disabled) {
			background: #334155;
			box-shadow: 0 10px 18px -12px rgba(51, 65, 85, 0.45);
			transform: translateY(-1px);
		}
		.button-secondary:disabled {
			background: #94a3b8;
			cursor: not-allowed;
		}
		#validatic-app .button-primary:hover:not(:disabled) {
			background-color: #1d4ed8;
			color: #fff;
		}
		#validatic-app .button-secondary:hover:not(:disabled) {
			background-color: #334155;
			color: #fff;
		}
		#validatic-app .button-danger:hover:not(:disabled) {
			background-color: #b91c1c;
			color: #fff;
		}

		#schedule-actions {
			margin-top: 12px;
			text-align: right;
			display: none;
		}

		#my-requests-table {
			width: 100%;
			border-collapse: collapse;
			min-width: 600px;
			margin-top: 10px;
		}
		#my-requests-table th,
		#my-requests-table td {
			border-bottom: 1px solid var(--validatic-border);
			padding: 16px 12px;
			text-align: left;
		}
		#my-requests-table th {
			background: transparent;
			font-weight: 600;
			color: #475569;
			border-bottom: 2px solid #cbd5e1;
		}
		.validatic-my-request-type {
			display: inline-flex;
			align-items: center;
			padding: 4px 9px;
			border-radius: 999px;
			background: #eef2ff;
			color: #1e3a8a;
			font-size: 12px;
			font-weight: 800;
			line-height: 1.2;
		}
		#my-requests-table .validatic-date-cell {
			width: 1%;
			white-space: nowrap;
			font-variant-numeric: tabular-nums;
			font-size: 12px;
			line-height: 1.2;
			padding-left: 8px;
			padding-right: 8px;
		}
		.validatic-public-code {
			display: flex;
			align-items: center;
			width: fit-content;
			max-width: 100%;
			margin-top: 5px;
			padding: 2px 6px;
			border-radius: 4px;
			background: #f1f5f9;
			color: #334155;
			font-size: 11px;
			font-weight: 800;
			letter-spacing: 0;
			line-height: 1.2;
		}
		.validatic-request-blocked-note {
			margin-top: 6px;
			color: #92400e;
		}
		.status-pending,
		.status-counter_offer,
		.status-approved,
		.status-rejected,
		.status-trash,
		.status-pending_deletion {
			padding: 4px 8px;
			border-radius: 4px;
			font-weight: 700;
			font-size: 0.9em;
			text-align: center;
		}
		.status-pending { background-color: #fff3cd; color: #664d03; }
		.status-counter_offer { background-color: #dbeafe; color: #1d4ed8; }
		.status-approved { background-color: #d1e7dd; color: #0f5132; }
		.status-rejected { background-color: #f8d7da; color: #842029; }
		.status-trash { background-color: #e2e3e5; color: #41464b; text-decoration: line-through; }
		.status-pending_deletion { background-color: #f5c2c7; color: #842029; }
		.validatic-row-counter-offer td {
			background: linear-gradient(180deg, rgba(219, 234, 254, 0.62), rgba(239, 246, 255, 0.62));
		}
		.validatic-pack-info {
			margin-top: 6px;
			font-size: 12px;
			line-height: 1.35;
			color: #475569;
		}
		.validatic-request-actions-inline {
			display: inline-flex;
			align-items: center;
			gap: 8px;
			flex-wrap: nowrap;
			white-space: nowrap;
		}
		#my-requests-table td:last-child {
			white-space: nowrap;
		}
		.validatic-request-preview-btn {
			width: 36px;
			min-width: 36px;
			height: 36px;
			padding: 0 !important;
			border-radius: 10px;
		}
		.validatic-request-preview-btn svg {
			width: 16px;
			height: 16px;
			stroke: currentColor;
			stroke-width: 2;
			fill: none;
		}
		#validatic-counter-offer-preview-modal {
			position: fixed;
			inset: 0;
			background: rgba(15, 23, 42, 0.6);
			z-index: 10000;
			display: none;
			align-items: center;
			justify-content: center;
			padding: 20px;
		}
		#validatic-counter-offer-preview-modal-content {
			width: min(96vw, 1320px);
			max-height: 94vh;
			overflow: hidden;
			display: flex;
			flex-direction: column;
			gap: 14px;
			padding: 20px;
			border-radius: 18px;
			background: #fff;
			box-shadow: 0 24px 50px rgba(15, 23, 42, 0.35);
		}
		.validatic-counter-offer-preview-header {
			display: flex;
			align-items: flex-start;
			justify-content: space-between;
			gap: 14px;
			flex-wrap: wrap;
			border-bottom: 1px solid #e2e8f0;
			padding-bottom: 12px;
		}
		.validatic-counter-offer-preview-header h3 {
			margin: 0;
			font-size: 24px;
			line-height: 1.15;
			letter-spacing: -0.02em;
			color: #0f172a;
		}
		#validatic-counter-offer-preview-subtitle {
			margin: 6px 0 0;
			font-size: 14px;
			line-height: 1.45;
			color: #475569;
		}
		#validatic-counter-offer-preview-meta {
			display: grid;
			grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
			gap: 10px;
		}
		.validatic-counter-offer-meta-card {
			padding: 10px 12px;
			border: 1px solid #dbe3ee;
			border-radius: 12px;
			background: #f8fafc;
			font-size: 13px;
			line-height: 1.4;
			color: #334155;
		}
		.validatic-counter-offer-meta-title {
			display: block;
			margin-bottom: 4px;
			font-size: 12px;
			font-weight: 700;
			color: #0f172a;
			text-transform: uppercase;
			letter-spacing: 0.04em;
		}
		.validatic-counter-offer-meta-card.is-help {
			background: #eff6ff;
			border-color: #bfdbfe;
		}
		#validatic-counter-offer-preview-grid {
			--validatic-counter-offer-toolbar-height: 0px;
			flex: 1 1 auto;
			border: 1px solid #dbe3ee;
			border-radius: 12px;
			overflow: auto;
			background: #fff;
		}
		#validatic-counter-offer-preview-grid.is-lot-preview {
			--validatic-counter-offer-toolbar-height: 54px;
		}
		.validatic-counter-offer-grid {
			display: grid;
		}
		.validatic-counter-offer-lot-toolbar {
			position: sticky;
			top: 0;
			left: 0;
			z-index: 10;
			display: block;
			width: 100%;
			max-width: 100%;
			overflow-x: auto;
			box-sizing: border-box;
			background: #f8fafc;
			border-bottom: 1px solid #e2e8f0;
		}
		.validatic-counter-offer-day-tabs {
			display: flex;
			align-items: stretch;
			gap: 6px;
			min-width: max-content;
			padding: 10px 12px;
		}
		.validatic-counter-offer-day-tab {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 10px;
			min-width: 78px;
			min-height: 64px;
			padding: 8px 10px;
			border: 1px solid #dbe3ee;
			border-radius: 10px;
			background: #ffffff;
			color: #334155;
			font-size: 12px;
			font-weight: 800;
			cursor: pointer;
			white-space: nowrap;
		}
		.validatic-counter-offer-day-tab > span:first-child {
			display: grid;
			justify-items: center;
			gap: 1px;
			line-height: 1.05;
		}
		.validatic-counter-offer-day-tab.is-active {
			background: #1f3f6d;
			border-color: #1f3f6d;
			color: #ffffff;
		}
		.validatic-counter-offer-day-tab.has-manager-remove {
			border-color: #ef4444;
			background: #fff1f2;
			box-shadow: inset 0 0 0 1px rgba(239, 68, 68, 0.18);
		}
		.validatic-counter-offer-day-tab.has-manager-add {
			border-color: #16a34a;
			background: #f0fdf4;
			box-shadow: inset 0 0 0 1px rgba(22, 163, 74, 0.18);
		}
		.validatic-counter-offer-day-tab.has-manager-remove.has-manager-add {
			border-color: #f59e0b;
			background: linear-gradient(135deg, #fff1f2 0 50%, #f0fdf4 50% 100%);
			box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.22);
		}
		.validatic-counter-offer-day-tab.has-manager-remove.is-active,
		.validatic-counter-offer-day-tab.has-manager-add.is-active,
		.validatic-counter-offer-day-tab.has-manager-remove.has-manager-add.is-active {
			background: #1f3f6d;
			color: #ffffff;
		}
		.validatic-counter-offer-day-tab.has-manager-remove.is-active {
			border-color: #ef4444;
			box-shadow: inset 0 -3px 0 #ef4444;
		}
		.validatic-counter-offer-day-tab.has-manager-add.is-active {
			border-color: #16a34a;
			box-shadow: inset 0 -3px 0 #16a34a;
		}
		.validatic-counter-offer-day-tab.has-manager-remove.has-manager-add.is-active {
			border-color: #f59e0b;
			box-shadow: inset 0 -3px 0 #16a34a, inset 0 -6px 0 #ef4444;
		}
		.validatic-counter-offer-day-tab .validatic-grid-day-weekday,
		.validatic-counter-offer-day-tab .validatic-grid-day-month {
			color: #64748b;
		}
		.validatic-counter-offer-day-tab .validatic-grid-day-number {
			color: #0f172a;
			font-size: 18px;
		}
		.validatic-counter-offer-day-tab.is-active .validatic-grid-day-weekday,
		.validatic-counter-offer-day-tab.is-active .validatic-grid-day-month {
			color: rgba(255, 255, 255, 0.72);
		}
		.validatic-counter-offer-day-tab.is-active .validatic-grid-day-number {
			color: #ffffff;
		}
		.validatic-preview-day-tab-badges {
			display: grid;
			gap: 4px;
			justify-items: center;
			align-content: center;
		}
		.validatic-counter-offer-day-tab-count {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-width: 22px;
			height: 22px;
			padding: 0 7px;
			border-radius: 999px;
			background: rgba(15, 23, 42, 0.08);
			font-size: 11px;
			line-height: 1;
		}
		.validatic-counter-offer-day-tab.is-active .validatic-counter-offer-day-tab-count {
			background: rgba(255, 255, 255, 0.18);
		}
		.validatic-counter-offer-day-tab-change {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-width: 24px;
			height: 22px;
			padding: 0 7px;
			border-radius: 999px;
			color: #ffffff;
			font-size: 11px;
			line-height: 1;
			font-weight: 900;
			box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.72);
		}
		.validatic-counter-offer-day-tab-change.is-remove {
			background: #ef4444;
		}
		.validatic-counter-offer-day-tab-change.is-add {
			background: #16a34a;
		}
		.validatic-counter-offer-day-tab.is-active .validatic-counter-offer-day-tab-change {
			box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.72);
		}
		.validatic-counter-offer-day-pane {
			display: none;
		}
		.validatic-counter-offer-day-pane.is-active {
			display: block;
		}
		.validatic-counter-offer-cell {
			border-right: 1px solid #e2e8f0;
			border-bottom: 1px solid #e2e8f0;
			min-width: 74px;
			padding: 7px 5px;
			font-size: 12px;
			line-height: 1.35;
			text-align: center;
			position: relative;
			user-select: none;
			-webkit-user-select: none;
		}
		.validatic-counter-offer-cell.is-header {
			position: sticky;
			top: var(--validatic-counter-offer-toolbar-height, 0px);
			z-index: 2;
			background: #0f172a;
			color: #fff;
			font-weight: 700;
		}
		#validatic-counter-offer-preview-grid:not(.is-lot-preview) .validatic-counter-offer-grid:not(.validatic-counter-offer-day-grid) .validatic-counter-offer-cell.is-header {
			top: 0;
		}
		.validatic-counter-offer-cell.is-hour {
			position: sticky;
			left: 0;
			z-index: 1;
			background: #f1f5f9;
			color: #334155;
			font-weight: 700;
			text-align: center;
		}
		.validatic-counter-offer-cell.is-header.is-hour {
			z-index: 7;
			background: #0f172a;
			color: #fff;
		}
		.validatic-counter-offer-cell.is-request {
			background: #dbeafe;
			color: #1d4ed8;
			box-shadow: inset 0 0 0 2px #2563eb;
			cursor: pointer;
			font-weight: 700;
		}
		.validatic-counter-offer-cell.is-free {
			background: #fff;
			color: #94a3b8;
			cursor: pointer;
		}
		.validatic-counter-offer-cell.is-free:hover,
		.validatic-counter-offer-cell.is-request:hover {
			filter: brightness(0.98);
		}
		.validatic-counter-offer-cell.is-occupied {
			background: #fee2e2;
			color: #991b1b;
			opacity: 0.88;
		}
		.validatic-counter-offer-cell.is-remove {
			background: repeating-linear-gradient(-45deg, #fee2e2 0, #fee2e2 8px, #fecaca 8px, #fecaca 16px) !important;
			color: #7f1d1d !important;
			outline: 3px solid #dc2626;
			outline-offset: -3px;
			box-shadow: inset 0 0 0 3px #991b1b !important;
			font-weight: 800;
		}
		.validatic-counter-offer-cell.is-add {
			background: repeating-linear-gradient(45deg, #dcfce7 0, #dcfce7 8px, #bbf7d0 8px, #bbf7d0 16px) !important;
			color: #14532d !important;
			outline: 3px solid #16a34a;
			outline-offset: -3px;
			box-shadow: inset 0 0 0 2px #15803d !important;
			font-weight: 800;
		}
		.validatic-counter-offer-cell.is-loaded {
			outline: 3px solid #2563eb;
			outline-offset: -3px;
			box-shadow: inset 0 0 0 2px rgba(255,255,255,.92), 0 0 0 3px rgba(37, 99, 235, 0.22) !important;
			z-index: 4;
		}
		.validatic-counter-offer-cell.is-drag-preview {
			outline: 3px dashed #0ea5e9 !important;
			outline-offset: -4px;
			box-shadow: inset 0 0 0 9999px rgba(14, 165, 233, 0.18), 0 0 0 2px rgba(14, 165, 233, 0.22) !important;
			z-index: 6;
		}
		body.validatic-counter-offer-dragging,
		body.validatic-counter-offer-dragging * {
			user-select: none !important;
			-webkit-user-select: none !important;
		}
		.validatic-counter-offer-cell[data-counter-order]::before {
			content: attr(data-counter-order);
			position: absolute;
			top: 2px;
			left: 2px;
			z-index: 8;
			min-width: 14px;
			height: 16px;
			padding: 0 3px;
			border-radius: 999px;
			background: #0f172a;
			color: #ffffff;
			box-shadow: 0 0 0 1px rgba(255,255,255,.9);
			font-size: 11px;
			line-height: 16px;
			font-weight: 900;
			text-align: center;
			pointer-events: none;
		}
		.validatic-counter-offer-cell.is-manager-remove {
			background: repeating-linear-gradient(-45deg, #fee2e2 0, #fee2e2 8px, #fecaca 8px, #fecaca 16px) !important;
			color: #7f1d1d !important;
			box-shadow: inset 0 0 0 3px #dc2626 !important;
			font-weight: 800;
		}
		.validatic-counter-offer-cell.is-manager-add {
			background: repeating-linear-gradient(45deg, #dcfce7 0, #dcfce7 8px, #bbf7d0 8px, #bbf7d0 16px) !important;
			color: #14532d !important;
			box-shadow: inset 0 0 0 3px #16a34a !important;
			font-weight: 800;
		}
		.validatic-counter-offer-cell.is-manager-remove.is-add {
			background: repeating-linear-gradient(45deg, #dcfce7 0, #dcfce7 8px, #bbf7d0 8px, #bbf7d0 16px) !important;
			color: #14532d !important;
			outline: 3px solid #16a34a;
			box-shadow: inset 0 0 0 2px #15803d !important;
		}
		.validatic-counter-offer-cell.is-manager-add.is-remove {
			background: repeating-linear-gradient(-45deg, #fee2e2 0, #fee2e2 8px, #fecaca 8px, #fecaca 16px) !important;
			color: #7f1d1d !important;
			outline: 3px solid #dc2626;
			box-shadow: inset 0 0 0 3px #991b1b !important;
		}
		.validatic-counter-offer-preview-actions {
			display: flex;
			align-items: center;
			justify-content: flex-end;
			gap: 10px;
			flex-wrap: wrap;
			margin-left: auto;
		}
		#validatic-counter-offer-send-btn.validatic-counter-offer-ready {
			box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.28);
		}
		.validatic-pagination-controls { text-align: center; margin-top: 20px; }
		.button-pagination { margin: 0 5px; }

		/* Carregador */
		#validatic-loader {
			display: none;
			text-align: center;
			padding: 60px;
		}
		#validatic-loader.active {
			display: block;
		}
		.validatic-spinner {
			border: 4px solid #e2e8f0;
			border-top: 4px solid var(--validatic-primary);
			border-radius: 50%;
			width: 50px;
			height: 50px;
			animation: spin 1s linear infinite;
			margin: 0 auto 15px;
		}
		@keyframes spin {
			0% { transform: rotate(0deg); }
			100% { transform: rotate(360deg); }
		}
		.validatic-login-wrapper {
			max-width: 400px;
			margin: 40px auto;
			padding: 20px 30px;
			background: var(--validatic-bg-card);
			border: 1px solid var(--validatic-border);
			border-radius: var(--validatic-radius);
			box-shadow: var(--validatic-shadow);
		}
		.validatic-notice-wrapper {
			max-width: 600px;
			margin: 40px auto;
			padding: 20px;
			background: #fff5e5;
			border-left: 4px solid #ffb900;
		}

		/* Redisseny visual del portal frontend sense tocar la lògica existent */
		#validatic-app-wrapper {
			border-radius: 20px;
			--validatic-surface-soft: #f4f6fb;
			--validatic-surface-subtle: #eef2f7;
			--validatic-border-strong: #d8e0ea;
			--validatic-ink-soft: #506074;
			--validatic-ink-muted: #7d8aa0;
			--validatic-shadow-soft: 0 18px 40px -26px rgba(15, 23, 42, 0.32);
		}
		.validatic-header {
			align-items: stretch;
			gap: 22px;
			padding: 28px 30px;
			margin-bottom: 22px;
			border: 1px solid rgba(216, 224, 234, 0.9);
			border-radius: 24px;
			background:
				linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 255, 0.96)),
				var(--validatic-bg-card);
			box-shadow: var(--validatic-shadow-soft);
		}
		.validatic-header-main {
			display: flex;
			flex: 1 1 540px;
			flex-direction: column;
			gap: 10px;
			max-width: 760px;
		}
		.validatic-header-eyebrow {
			display: inline-flex;
			align-items: center;
			width: fit-content;
			padding: 7px 12px;
			border: 1px solid rgba(59, 130, 246, 0.14);
			border-radius: 999px;
			background: rgba(37, 99, 235, 0.08);
			color: #1d4ed8;
			font-size: 12px;
			font-weight: 700;
			letter-spacing: 0.08em;
			text-transform: uppercase;
		}
		.validatic-header-copy {
			max-width: 64ch;
			margin: 0;
			font-size: 15px;
			line-height: 1.65;
			color: var(--validatic-ink-soft);
		}
		.user-info {
			flex: 0 1 auto;
			align-items: stretch;
			flex-wrap: wrap;
			justify-content: flex-end;
			margin-left: auto;
		}
		.validatic-user-card {
			display: flex;
			min-width: 220px;
			flex-direction: column;
			justify-content: center;
			padding: 14px 16px;
			border: 1px solid rgba(203, 213, 225, 0.95);
			border-radius: 18px;
			background: rgba(255, 255, 255, 0.92);
			box-shadow: 0 10px 24px -24px rgba(15, 23, 42, 0.5);
		}
		.validatic-user-label {
			margin-bottom: 4px;
			font-size: 11px;
			font-weight: 700;
			letter-spacing: 0.08em;
			text-transform: uppercase;
			color: var(--validatic-ink-muted);
		}
		.validatic-user-card strong {
			font-size: 15px;
			color: var(--validatic-text-dark);
		}
		.logout-button {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			padding: 11px 17px;
			border: 1px solid var(--validatic-border-strong);
			background: rgba(255, 255, 255, 0.92);
			box-shadow: 0 8px 18px -22px rgba(15, 23, 42, 0.4);
		}
		.validatic-tabs {
			gap: 0;
			margin-bottom: 0;
			border-bottom: none;
			padding-bottom: 0;
			padding-left: 8px;
			padding-right: 8px;
			align-items: flex-end;
		}
		.validatic-tab-link {
			border: 1px solid transparent;
			border-bottom: none;
			border-radius: 16px 16px 0 0;
			padding: 12px 18px;
			background: transparent;
			color: var(--validatic-ink-soft);
			box-shadow: none;
			margin-bottom: -1px;
			position: relative;
			z-index: 1;
		}
		.validatic-tabs .validatic-tab-link:not(.active):hover {
			background: rgba(248, 250, 252, 0.92);
			color: var(--validatic-text-dark);
		}
		.validatic-tab-link.active {
			margin-left: 15px;
			border-color: rgba(216, 224, 234, 0.95);
			background:
				linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(251, 252, 255, 0.96)),
				var(--validatic-bg-card);
			color: #0f172a;
			box-shadow: inset 0 3px 0 #2563eb;
			z-index: 3;
		}
		.validatic-card {
			padding: 28px;
			border-radius: 24px;
			border-color: rgba(216, 224, 234, 0.9);
			box-shadow: var(--validatic-shadow-soft);
			background:
				linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(251, 252, 255, 0.96)),
				var(--validatic-bg-card);
		}
		.validatic-tab-content.validatic-card {
			position: relative;
			z-index: 2;
			margin-top: -1px;
		}
		.validatic-controls-panel {
			padding: 22px 24px;
			margin-bottom: 16px;
			border: 1px solid rgba(216, 224, 234, 0.9);
			border-radius: 22px;
			background: linear-gradient(180deg, #f8fbff, #f3f7fc);
		}
		.validatic-panel-head {
			display: flex;
			align-items: flex-start;
			justify-content: space-between;
			gap: 18px;
			margin-bottom: 18px;
		}
		.validatic-panel-head-copy {
			display: flex;
			flex-direction: column;
			gap: 6px;
		}
		.validatic-panel-eyebrow {
			font-size: 11px;
			font-weight: 700;
			letter-spacing: 0.08em;
			text-transform: uppercase;
			color: #2563eb;
		}
			.validatic-panel-title,
			.validatic-request-card-head h3 {
				margin: 0;
				font-size: 22px;
				line-height: 1.15;
				letter-spacing: -0.03em;
				font-weight: 700;
				color: #0f172a;
			}
		.validatic-panel-description {
			max-width: 46ch;
			margin: 0;
			font-size: 14px;
			line-height: 1.6;
			color: var(--validatic-ink-soft);
		}
		.validatic-selector-grid {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 14px;
			align-items: stretch;
		}
		.validatic-field-card {
			min-width: 0;
			padding: 14px;
			border: 1px solid rgba(216, 224, 234, 0.95);
			border-radius: 18px;
			background: rgba(255, 255, 255, 0.92);
			box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
		}
		.validatic-field-card.control-group {
			flex: initial;
		}
		.control-group label {
			font-size: 13px;
			letter-spacing: -0.01em;
		}
		.control-group select,
		.control-group input,
		.control-group textarea {
			border-radius: 12px;
			border-color: var(--validatic-border-strong);
			background: #ffffff;
			box-shadow: none;
		}
		.control-group select:hover,
		.control-group input:hover,
		.control-group textarea:hover {
			border-color: #b8c4d3;
		}
		.validatic-top-actions-sticky {
			position: static;
			top: auto;
			z-index: auto;
			padding-bottom: 0;
			margin-bottom: 12px;
			background: transparent;
			backdrop-filter: none;
		}
		.validatic-request-layout {
			display: grid;
			grid-template-columns: 1fr;
			gap: 14px;
			align-items: start;
		}
		.validatic-summary-card,
		.validatic-request-card,
		.validatic-table-shell {
			border: 1px solid rgba(216, 224, 234, 0.95);
			border-radius: 22px;
			background: rgba(255, 255, 255, 0.96);
			box-shadow: 0 16px 32px -28px rgba(15, 23, 42, 0.5);
		}
		.validatic-summary-card {
			padding: 18px 18px 16px;
			background: linear-gradient(180deg, #fbfdff, #f7faff);
		}
		.validatic-summary-head {
			display: flex;
			align-items: center;
			gap: 14px;
			margin-bottom: 14px;
		}
		.validatic-summary-icon {
			display: grid;
			width: 42px;
			height: 42px;
			place-items: center;
			border-radius: 14px;
			background: #eef2f7;
			color: #64748b;
			flex: 0 0 42px;
			transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
		}
		.validatic-summary-icon.is-active {
			background: rgba(37, 99, 235, 0.12);
			color: #2563eb;
			transform: translateY(-1px);
		}
		.validatic-summary-copy {
			min-width: 0;
		}
		.validatic-summary-eyebrow {
			display: block;
			margin-bottom: 4px;
			font-size: 11px;
			font-weight: 700;
			letter-spacing: 0.08em;
			text-transform: uppercase;
			color: var(--validatic-ink-muted);
		}
		.validatic-summary-title {
			margin: 0;
			font-size: 19px;
			line-height: 1.2;
			color: var(--validatic-text-dark);
		}
		.validatic-summary-meta {
			display: flex;
			flex-wrap: wrap;
			gap: 8px;
			margin-bottom: 14px;
		}
		.validatic-summary-chip {
			display: inline-flex;
			align-items: center;
			gap: 6px;
			padding: 8px 10px;
			border: 1px solid rgba(203, 213, 225, 0.95);
			border-radius: 999px;
			background: rgba(255, 255, 255, 0.95);
			font-size: 12px;
			font-weight: 600;
			color: var(--validatic-ink-soft);
		}
		.validatic-selected-cells-list {
			min-height: 110px;
			padding: 14px;
			border: 1px solid rgba(216, 224, 234, 0.95);
			border-radius: 18px;
			background: rgba(255, 255, 255, 0.84);
			color: var(--validatic-ink-soft);
			max-height: 172px;
			overflow-y: auto;
		}
		.validatic-selected-cells-list.is-empty {
			display: grid;
			place-items: center;
		}
		.validatic-selected-cells-list p {
			margin: 0;
			font-size: 14px;
			line-height: 1.6;
			color: var(--validatic-ink-soft);
			text-align: center;
		}
		.validatic-selected-cells-list ul {
			display: grid;
			grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
			gap: 10px;
			margin: 0;
			padding: 0;
			list-style: none;
		}
		.validatic-selected-cells-list li {
			padding: 10px 12px;
			border: 1px solid rgba(226, 232, 240, 0.95);
			border-radius: 14px;
			background: #ffffff;
			font-size: 13px;
			line-height: 1.5;
			color: #334155;
		}
		.validatic-selected-cells-list strong {
			color: #0f172a;
		}
		.validatic-request-card {
			padding: 20px;
		}
		.validatic-request-card-head {
			display: flex;
			align-items: flex-start;
			justify-content: space-between;
			gap: 12px;
			margin-bottom: 16px;
		}
			.validatic-request-card-head p {
				margin: 0;
				font-size: 14px;
			line-height: 1.6;
			color: var(--validatic-ink-soft);
		}
		.validatic-request-grid {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 18px 22px;
		}
		.validatic-request-column {
			display: flex;
			flex-direction: column;
			gap: 16px;
			min-width: 0;
		}
		.validatic-toggle-card {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 14px;
			padding: 14px 16px;
			border: 1px solid rgba(216, 224, 234, 0.95);
			border-radius: 16px;
			background: linear-gradient(180deg, #fbfcfe, #f7f9fc);
		}
		.validatic-toggle-copy {
			display: flex;
			flex-direction: column;
			gap: 3px;
			min-width: 0;
		}
		.validatic-toggle-title {
			font-size: 14px;
			font-weight: 700;
			color: #0f172a;
		}
		.validatic-toggle-text {
			font-size: 12px;
			line-height: 1.5;
			color: var(--validatic-ink-soft);
		}
		.validatic-switch {
			position: relative;
			display: inline-flex;
			width: 48px;
			height: 28px;
			flex: 0 0 auto;
		}
		.validatic-switch input {
			width: 0;
			height: 0;
			opacity: 0;
		}
		.validatic-switch-slider {
			position: absolute;
			inset: 0;
			border-radius: 999px;
			background: #d1d8e3;
			transition: background-color 0.18s ease;
			cursor: pointer;
		}
		.validatic-switch-slider::before {
			content: '';
			position: absolute;
			top: 3px;
			left: 3px;
			width: 22px;
			height: 22px;
			border-radius: 50%;
			background: #ffffff;
			box-shadow: 0 4px 12px -8px rgba(15, 23, 42, 0.45);
			transition: transform 0.18s ease;
		}
		.validatic-switch input:checked + .validatic-switch-slider {
			background: #2563eb;
		}
		.validatic-switch input:checked + .validatic-switch-slider::before {
			transform: translateX(20px);
		}
		.validatic-switch input:focus-visible + .validatic-switch-slider {
			outline: 3px solid rgba(37, 99, 235, 0.18);
			outline-offset: 2px;
		}
		.validatic-partit-fields {
			margin-top: 12px;
			border-radius: 16px;
			background: rgba(248, 250, 252, 0.9);
		}
		.validatic-partit-fields.is-visible {
			display: grid;
		}
		.validatic-file-upload {
			display: flex;
			align-items: center;
			gap: 12px;
			padding: 12px 14px;
			border: 1px dashed #c6d1de;
			border-radius: 16px;
			background: linear-gradient(180deg, #fbfcfe, #f7f9fc);
			cursor: pointer;
			transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
		}
		.validatic-file-upload:hover {
			border-color: #94a3b8;
			background: #f8fbff;
			transform: translateY(-1px);
		}
			.validatic-file-upload.has-file {
				border-style: solid;
				border-color: rgba(37, 99, 235, 0.25);
				background: rgba(239, 246, 255, 0.7);
			}
			.validatic-file-upload.is-dragover {
				border-style: solid;
				border-color: rgba(37, 99, 235, 0.48);
				background: rgba(219, 234, 254, 0.8);
				transform: translateY(-1px);
			}
			.validatic-file-upload.is-dragover .validatic-file-upload-icon {
				color: #1d4ed8;
				border-color: rgba(37, 99, 235, 0.28);
			}
			.validatic-file-upload input[type="file"] {
				display: none;
			}
		.validatic-file-upload-icon {
			display: grid;
			width: 38px;
			height: 38px;
			place-items: center;
			border-radius: 12px;
			background: #ffffff;
			border: 1px solid rgba(216, 224, 234, 0.95);
			color: #64748b;
			flex: 0 0 38px;
		}
		.validatic-file-upload.has-file .validatic-file-upload-icon {
			color: #2563eb;
			border-color: rgba(37, 99, 235, 0.2);
		}
		.validatic-file-upload-copy {
			display: flex;
			flex-direction: column;
			gap: 2px;
			min-width: 0;
		}
		.validatic-file-upload-title {
			font-size: 14px;
			font-weight: 700;
			color: #0f172a;
			word-break: break-word;
		}
		.validatic-file-upload-text {
			font-size: 12px;
			line-height: 1.5;
			color: var(--validatic-ink-soft);
		}
				.validatic-request-footer {
					display: flex;
					align-items: center;
					justify-content: space-between;
					gap: 16px;
					flex-wrap: wrap;
					margin: 0 0 12px;
					padding: 12px 14px;
					border: 1px solid rgba(203, 213, 225, 0.95);
					border-radius: 16px;
					background: rgba(255, 255, 255, 0.94);
					backdrop-filter: blur(8px);
					box-shadow: 0 18px 32px -28px rgba(15, 23, 42, 0.5);
					position: sticky;
					top: calc(var(--validatic-sticky-top) + 8px);
					z-index: 32;
				}
				.validatic-request-note {
					max-width: clamp(240px, 32vw, 520px);
					margin: 0;
					font-size: 12px;
					line-height: 1.45;
					color: var(--validatic-ink-soft);
					white-space: normal;
					overflow-wrap: anywhere;
				}
				.validatic-request-actions {
					display: flex;
					align-items: center;
					gap: 10px;
					flex-wrap: wrap;
					margin-left: 0;
					width: 100%;
					justify-content: flex-end;
				}
			#schedule-actions {
				margin-top: 0;
				text-align: left;
				margin-right: auto;
			}
		.validatic-multiday-tools {
			margin-top: 16px;
			padding: 16px;
			border: 1px solid rgba(216, 224, 234, 0.95);
			border-radius: 18px;
			background: rgba(255, 255, 255, 0.88);
		}
		.validatic-multiday-row {
			display: flex;
			align-items: flex-start;
			justify-content: space-between;
			gap: 16px;
		}
		.validatic-multiday-copy h3 {
			margin: 0 0 4px;
			font-size: 16px;
			line-height: 1.25;
			color: #0f172a;
		}
		.validatic-multiday-copy p {
			margin: 0;
			font-size: 13px;
			line-height: 1.45;
			color: var(--validatic-ink-soft);
		}
		.validatic-multiday-actions,
		.validatic-paint-mode,
		.validatic-paint-weekdays,
		.validatic-weekdays {
			display: flex;
			align-items: center;
			gap: 8px;
			flex-wrap: wrap;
		}
		.validatic-selected-dates {
			display: flex;
			flex-wrap: wrap;
			gap: 6px;
			min-height: 34px;
			margin-top: 14px;
		}
		.validatic-date-chip,
		.validatic-paint-mode button,
		.validatic-paint-weekdays button,
		.validatic-weekdays button {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 6px;
			min-height: 34px;
			border: 1px solid #dbe3ee;
			border-radius: 999px;
			background: #fff;
			color: #334155;
			font-size: 12px;
			font-weight: 700;
			cursor: pointer;
			transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
		}
		.validatic-date-chip {
			padding: 6px 8px 6px 12px;
		}
		.validatic-date-chip-main {
			border: 0;
			background: transparent;
			color: inherit;
			font: inherit;
			cursor: pointer;
			padding: 0;
		}
		.validatic-date-chip.is-active,
		.validatic-paint-mode button.is-active,
		.validatic-paint-weekdays button.is-active,
		.validatic-weekdays button.is-active {
			border-color: rgba(37, 99, 235, 0.32);
			background: #eff6ff;
			color: #1d4ed8;
		}
		.validatic-date-chip-remove {
			width: 20px;
			height: 20px;
			border: 0;
			border-radius: 999px;
			background: rgba(15, 23, 42, 0.08);
			color: inherit;
			cursor: pointer;
			line-height: 1;
		}
		.validatic-range-builder {
			display: grid;
			grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr) minmax(220px, auto) auto;
			gap: 12px;
			align-items: end;
			margin-top: 14px;
		}
		.validatic-range-builder .control-group {
			min-width: 0;
		}
		.validatic-weekdays {
			align-self: end;
			padding-bottom: 2px;
		}
		.validatic-weekdays button {
			width: 34px;
			padding: 0;
			border-radius: 10px;
		}
		.validatic-paint-mode {
			justify-content: flex-end;
			margin-top: 12px;
			padding: 4px;
			border-radius: 14px;
			background: #eef2f7;
			width: fit-content;
			margin-left: auto;
		}
		.validatic-paint-mode button {
			min-height: 32px;
			padding: 6px 12px;
			border: 0;
			border-radius: 10px;
			background: transparent;
		}
		.validatic-paint-mode button.is-active {
			background: #fff;
			box-shadow: 0 8px 18px -18px rgba(15, 23, 42, 0.5);
		}
		.validatic-brush-grid-shell {
			width: 100%;
			overflow: auto;
			max-height: min(68vh, 720px);
		}
		.validatic-brush-grid {
			display: grid;
			min-width: max-content;
		}
		.validatic-pavello-tabs-shell {
			margin: 0 0 8px;
		}
		.validatic-pavello-tabs-shell[hidden] {
			display: none !important;
		}
		.validatic-pavello-tabs-head {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 12px;
			padding: 10px 12px;
			border: 1px solid #e2e8f0;
			border-radius: 10px;
			background: #f8fafc;
		}
		.validatic-pavello-tabs-head > span {
			flex: 0 0 auto;
			font-size: 12px;
			font-weight: 800;
			color: #475569;
			text-transform: uppercase;
			letter-spacing: 0;
		}
		.validatic-pavello-tabs {
			display: flex;
			align-items: center;
			justify-content: flex-end;
			gap: 8px;
			flex-wrap: wrap;
			min-width: 0;
		}
		.validatic-pavello-tab {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 8px;
			min-height: 36px;
			max-width: 220px;
			padding: 7px 11px;
			border: 1px solid #dbe3ee;
			border-radius: 10px;
			background: #ffffff;
			color: #334155;
			font-size: 12px;
			font-weight: 800;
			line-height: 1.15;
			cursor: pointer;
		}
		.validatic-pavello-tab span {
			min-width: 0;
			overflow: hidden;
			text-overflow: ellipsis;
			white-space: nowrap;
		}
		.validatic-pavello-tab strong {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-width: 22px;
			height: 22px;
			padding: 0 7px;
			border-radius: 999px;
			background: rgba(15, 23, 42, 0.08);
			font-size: 11px;
			line-height: 1;
		}
		.validatic-pavello-tab:hover:not(:disabled) {
			border-color: #94a3b8;
			background: #ffffff;
		}
		.validatic-pavello-tab.is-active {
			border-color: #1f3f6d;
			background: #1f3f6d;
			color: #ffffff;
		}
		.validatic-pavello-tab.is-active strong {
			background: rgba(255, 255, 255, 0.18);
		}
		.validatic-pavello-tab.has-selection:not(.is-active) {
			border-color: rgba(37, 99, 235, 0.28);
			background: #eff6ff;
			color: #1d4ed8;
		}
		.validatic-pavello-tab:disabled {
			cursor: wait;
			opacity: 0.72;
		}
		.validatic-grid-day-tabs-shell {
			overflow-x: auto;
			border-bottom: 1px solid #e2e8f0;
			background: #f8fafc;
		}
		.validatic-grid-day-tabs {
			display: flex;
			align-items: stretch;
			gap: 6px;
			min-width: max-content;
			padding: 10px 12px;
		}
		.validatic-grid-day-tab {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 10px;
			min-width: 78px;
			min-height: 64px;
			padding: 8px 10px;
			border: 1px solid #dbe3ee;
			border-radius: 10px;
			background: #ffffff;
			color: #334155;
			font-size: 12px;
			font-weight: 800;
			cursor: pointer;
			white-space: nowrap;
		}
		.validatic-grid-day-tab > span:first-child {
			display: grid;
			justify-items: center;
			gap: 1px;
			line-height: 1.05;
		}
		.validatic-grid-day-tab.is-active {
			border-color: #1f3f6d;
			background: #1f3f6d;
			color: #ffffff;
		}
		.validatic-grid-day-tab .validatic-grid-day-weekday,
		.validatic-grid-day-tab .validatic-grid-day-month {
			color: #64748b;
		}
		.validatic-grid-day-tab .validatic-grid-day-number {
			color: #0f172a;
			font-size: 18px;
		}
		.validatic-grid-day-tab.is-active .validatic-grid-day-weekday,
		.validatic-grid-day-tab.is-active .validatic-grid-day-month {
			color: rgba(255, 255, 255, 0.72);
		}
		.validatic-grid-day-tab.is-active .validatic-grid-day-number {
			color: #ffffff;
		}
		.validatic-grid-day-tab-count {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-width: 22px;
			height: 22px;
			padding: 0 7px;
			border-radius: 999px;
			background: rgba(15, 23, 42, 0.08);
			font-size: 11px;
			line-height: 1;
		}
		.validatic-match-mode-button {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			justify-self: start;
			min-height: 32px;
			padding: 5px 10px;
			border: 1px solid #cbd5e1;
			border-radius: 8px;
			background: #ffffff;
			color: #334155;
			font-size: 11px;
			font-weight: 800;
			line-height: 1;
			cursor: pointer;
		}
		.validatic-match-mode-button.is-active {
			border-color: rgba(13, 148, 136, 0.42);
			background: #ccfbf1;
			color: #0f766e;
			box-shadow: inset 0 0 0 1px rgba(13, 148, 136, 0.18);
		}
		.validatic-grid-day-tab.is-active .validatic-grid-day-tab-count {
			background: rgba(255, 255, 255, 0.18);
		}
		.validatic-brush-grid.validatic-brush-days {
			display: block;
			min-width: 0;
		}
		.validatic-day-schedule-pane {
			display: none;
		}
		.validatic-day-schedule-pane.is-active {
			display: block;
		}
		.validatic-day-schedule-table {
			width: 100%;
			border-collapse: separate;
			border-spacing: 0;
			table-layout: fixed;
			background: #ffffff;
		}
		.validatic-day-schedule-table th,
		.validatic-day-schedule-table td {
			box-sizing: border-box;
			border-right: 1px solid #edf1f6;
			border-bottom: 1px solid #edf1f6;
		}
		.validatic-day-schedule-table thead th {
			position: sticky;
			top: 0;
			z-index: 6;
			min-width: 112px;
			padding: 8px;
			background: #1f3f6d;
			color: #ffffff;
			font-size: 12px;
			font-weight: 800;
			text-align: center;
		}
		.validatic-day-schedule-table .validatic-day-schedule-hour-head,
		.validatic-day-schedule-table .validatic-day-schedule-hour {
			position: sticky;
			left: 0;
			width: 92px;
			min-width: 92px;
		}
		.validatic-day-schedule-table .validatic-day-schedule-hour-head {
			z-index: 8;
			background: #1f3f6d;
			color: #ffffff;
		}
		.validatic-day-schedule-table .validatic-day-schedule-hour {
			z-index: 5;
			padding: 5px 8px;
			background: #f8fafc;
			color: #506074;
			font-size: 12px;
			font-weight: 700;
			line-height: 1.05;
			text-align: left;
			font-variant-numeric: tabular-nums;
		}
		.validatic-brush-grid-cell {
			min-width: 112px;
			min-height: 34px;
			border-right: 1px solid #e2e8f0;
			border-bottom: 1px solid #e2e8f0;
			padding: 7px 8px;
			background: #fff;
			font-size: 12px;
			line-height: 1.25;
			text-align: center;
			position: relative;
			user-select: none;
		}
		.validatic-brush-grid-cell.is-header {
			position: sticky;
			top: 0;
			z-index: 4;
			background: #111827;
			color: #fff;
			font-weight: 800;
		}
		.validatic-brush-grid-cell.is-hour {
			position: sticky;
			left: 0;
			z-index: 3;
			min-width: 120px;
			background: #f8fafc;
			color: #475569;
			font-weight: 800;
			font-variant-numeric: tabular-nums;
		}
		.validatic-brush-grid-cell.is-header.is-hour {
			z-index: 5;
			background: #111827;
			color: #fff;
		}
		.validatic-brush-grid .sportic-cell {
			min-width: 112px;
			padding: 7px 8px;
			cursor: cell;
		}
		.validatic-brush-grid .sportic-cell.locked {
			cursor: not-allowed !important;
		}
		.validatic-brush-grid .sportic-cell.sportic-selected {
			background: #eff6ff !important;
			color: #1d4ed8 !important;
		}
		.validatic-brush-grid .sportic-cell.validatic-paint-preview {
			box-shadow: inset 0 0 0 2px #f59e0b !important;
			background: #fef3c7 !important;
			color: #92400e !important;
		}
		.validatic-brush-grid .sportic-cell.validatic-match-cell {
			background: #0f766e !important;
			color: #ffffff !important;
			border-color: rgba(15, 118, 110, 0.24) !important;
			box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18) !important;
		}
		.validatic-brush-grid .sportic-cell.validatic-match-top {
			border-top: 3px solid #0f766e !important;
		}
		.validatic-brush-grid .sportic-cell.validatic-match-bottom {
			border-bottom: 3px solid #0f766e !important;
		}
		.validatic-brush-grid .sportic-cell.validatic-match-left {
			border-left: 3px solid #0f766e !important;
		}
		.validatic-brush-grid .sportic-cell.validatic-match-right {
			border-right: 3px solid #0f766e !important;
		}
		.validatic-cell-match-badge {
			display: grid;
			place-items: center;
			gap: 1px;
			max-width: 100%;
			line-height: 1.05;
			text-align: center;
			overflow-wrap: anywhere;
		}
		.validatic-cell-match-badge strong {
			display: block;
			max-width: 100%;
			font-size: 11px;
			font-weight: 900;
		}
		.validatic-cell-match-badge span {
			font-size: 9px;
			font-weight: 800;
			text-transform: uppercase;
			opacity: 0.78;
		}
		.validatic-cell-match-badge small {
			display: block;
			max-width: 100%;
			margin-top: 1px;
			font-size: 9px;
			font-weight: 700;
			opacity: 0.82;
		}
		.validatic-cell-activity-badge {
			display: inline-flex;
			max-width: 100%;
			align-items: center;
			justify-content: center;
			padding: 3px 7px;
			border-radius: 999px;
			background: rgba(37, 99, 235, 0.12);
			color: inherit;
			font-size: 11px;
			font-weight: 800;
			white-space: normal;
			overflow: visible;
			overflow-wrap: anywhere;
			line-height: 1.15;
			text-align: center;
		}
		.validatic-cell-activity-popover {
			position: fixed;
			z-index: 10050;
			width: min(320px, calc(100vw - 24px));
			padding: 10px;
			border: 1px solid #dbe3ee;
			border-radius: 14px;
			background: #fff;
			box-shadow: 0 24px 50px -28px rgba(15, 23, 42, 0.6);
		}
		.validatic-match-modal {
			position: fixed;
			inset: 0;
			display: none;
			align-items: center;
			justify-content: center;
			padding: 20px;
			background: rgba(15, 23, 42, 0.58);
			z-index: 10060;
		}
		.validatic-match-modal.is-visible {
			display: flex;
		}
		.validatic-match-modal-dialog {
			width: min(420px, 100%);
			padding: 18px;
			border-radius: 12px;
			background: #ffffff;
			box-shadow: 0 28px 70px -34px rgba(15, 23, 42, 0.85);
		}
		.validatic-match-modal-head,
		.validatic-match-modal-actions {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 12px;
		}
		.validatic-match-modal-head h3 {
			margin: 0;
			font-size: 18px;
			line-height: 1.2;
			color: #0f172a;
		}
		.validatic-match-modal-close {
			width: 34px;
			height: 34px;
			border: 0;
			border-radius: 10px;
			background: #f1f5f9;
			color: #334155;
			cursor: pointer;
			font-size: 22px;
			line-height: 1;
		}
		.validatic-match-modal-fields {
			display: grid;
			gap: 8px;
			margin: 16px 0;
		}
		.validatic-match-modal-fields label {
			font-size: 13px;
			font-weight: 800;
			color: #334155;
		}
		.validatic-match-modal-fields input {
			width: 100%;
			min-height: 42px;
			border: 1px solid #cbd5e1;
			border-radius: 10px;
			padding: 9px 11px;
			font-size: 14px;
			box-sizing: border-box;
		}
		.validatic-match-modal-actions {
			justify-content: flex-end;
		}
		.validatic-cell-activity-popover input {
			width: 100%;
			min-height: 38px;
			padding: 8px 10px;
			border: 1px solid #cbd5e1;
			border-radius: 10px;
			font-size: 14px;
		}
		.validatic-cell-activity-results {
			display: grid;
			gap: 4px;
			max-height: 220px;
			margin-top: 8px;
			overflow-y: auto;
		}
		.validatic-cell-activity-option {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 10px;
			width: 100%;
			padding: 8px 10px;
			border: 0;
			border-radius: 10px;
			background: #f8fafc;
			color: #0f172a;
			font-size: 13px;
			font-weight: 700;
			text-align: left;
			cursor: pointer;
		}
		.validatic-cell-activity-option:hover,
		.validatic-cell-activity-option.is-focused {
			background: #eff6ff;
			color: #1d4ed8;
		}
		.button-primary,
		.button-secondary,
		.button-danger {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-height: 46px;
			padding: 12px 22px;
			border-radius: 14px;
			font-size: 14px;
			font-weight: 700;
			letter-spacing: -0.01em;
			box-shadow: 0 18px 26px -28px rgba(15, 23, 42, 0.55);
		}
		.button-primary {
			background: linear-gradient(180deg, #2563eb, #1d4ed8);
		}
		.button-secondary {
			background: linear-gradient(180deg, #334155, #1f2937);
		}
		.button-danger {
			background: linear-gradient(180deg, #ef4444, #dc2626);
		}
		#schedule-grid-container {
			margin-top: 12px;
			border-radius: 24px;
			border-color: rgba(216, 224, 234, 0.95);
			box-shadow: var(--validatic-shadow-soft);
			background: rgba(255, 255, 255, 0.98);
			min-height: 280px;
			overflow: hidden;
		}
		.validatic-grid-state {
			display: grid;
			min-height: 280px;
			place-items: center;
			padding: 34px 24px;
			background: linear-gradient(180deg, #fbfdff, #f5f8fc);
		}
		.validatic-grid-state-box {
			display: flex;
			max-width: 420px;
			flex-direction: column;
			align-items: center;
			gap: 12px;
			text-align: center;
		}
		.validatic-grid-state-icon {
			display: grid;
			width: 48px;
			height: 48px;
			place-items: center;
			border-radius: 16px;
			background: #eef2f7;
			color: #64748b;
		}
		.validatic-grid-state.is-error .validatic-grid-state-icon {
			background: #fee2e2;
			color: #dc2626;
		}
		.validatic-grid-state-title {
			margin: 0;
			font-size: 17px;
			line-height: 1.25;
			color: #0f172a;
		}
		.validatic-grid-state-text {
			margin: 0;
			font-size: 14px;
			line-height: 1.6;
			color: var(--validatic-ink-soft);
		}
		.validatic-grid-state .validatic-spinner {
			width: 42px;
			height: 42px;
			margin: 0;
			border-width: 3px;
		}
		.sportic-schedule-table {
			min-width: 880px;
		}
		.sportic-schedule-table thead th {
			background: #111827 !important;
			font-size: 13px;
			letter-spacing: 0.01em;
		}
		.sportic-schedule-table tbody .sportic-hour-cell {
			background: #f8fafc !important;
			font-size: 16px;
			color: var(--validatic-ink-soft) !important;
		}
		.sportic-cell {
			min-width: 120px;
			padding: 10px 8px;
		}
		.validatic-history-head {
			display: flex;
			align-items: flex-start;
			justify-content: space-between;
			gap: 16px;
			margin-bottom: 18px;
		}
		.validatic-history-head h2 {
			margin: 0 0 6px;
			font-size: 22px;
			line-height: 1.15;
			letter-spacing: -0.03em;
		}
		.validatic-history-head p {
			max-width: 56ch;
			margin: 0;
			font-size: 14px;
			line-height: 1.6;
			color: var(--validatic-ink-soft);
		}
		.validatic-table-shell {
			overflow-x: auto;
			padding: 6px 0;
		}
		#my-requests-table {
			margin-top: 0;
			min-width: 760px;
		}
		#my-requests-table th,
		#my-requests-table td {
			padding: 16px 14px;
		}
		#my-requests-table th {
			font-size: 12px;
			letter-spacing: 0.04em;
			text-transform: uppercase;
			color: var(--validatic-ink-muted);
		}
		.validatic-pagination-controls {
			margin-top: 18px;
		}
		.validatic-pagination-controls-top {
			margin-top: 0;
			margin-bottom: 14px;
		}
		.validatic-pagination-controls-bottom {
			margin-bottom: 0;
		}
		.validatic-inline-state {
			padding: 20px 22px;
			border: 1px solid rgba(216, 224, 234, 0.95);
			border-radius: 20px;
			background: linear-gradient(180deg, #fbfdff, #f7f9fc);
			box-shadow: var(--validatic-shadow-soft);
		}
		.validatic-inline-state h3 {
			margin: 0 0 8px;
			font-size: 18px;
			line-height: 1.25;
			color: #0f172a;
		}
		.validatic-inline-state p {
			margin: 0;
			font-size: 14px;
			line-height: 1.6;
			color: var(--validatic-ink-soft);
		}
		.validatic-inline-state.is-error {
			border-color: rgba(239, 68, 68, 0.18);
			background: linear-gradient(180deg, #fff7f7, #fff2f2);
		}
		.validatic-toast-stack {
			position: fixed;
			right: 18px;
			bottom: 18px;
			z-index: 100000;
			display: grid;
			gap: 10px;
			width: min(380px, calc(100vw - 36px));
			pointer-events: none;
		}
		.validatic-toast {
			padding: 12px 14px;
			border: 1px solid rgba(148, 163, 184, 0.32);
			border-left: 4px solid #2563eb;
			border-radius: 8px;
			background: #ffffff;
			box-shadow: 0 16px 36px rgba(15, 23, 42, 0.18);
			color: #0f172a;
			font-size: 14px;
			line-height: 1.45;
			pointer-events: auto;
		}
		.validatic-toast.is-error {
			border-left-color: #dc2626;
			background: #fff7f7;
		}
		.validatic-toast.is-success {
			border-left-color: #16a34a;
			background: #f0fdf4;
		}
		.validatic-grid-warning {
			margin: 0 0 12px;
			padding: 12px 14px;
			border: 1px solid rgba(217, 119, 6, 0.28);
			border-left: 4px solid #d97706;
			border-radius: 8px;
			background: #fff7ed;
			color: #7c2d12;
			font-size: 14px;
			line-height: 1.45;
		}
		#validatic-loader.active {
			display: grid;
			min-height: 260px;
			place-items: center;
			padding: 36px 28px;
			border: 1px solid rgba(216, 224, 234, 0.95);
			border-radius: 24px;
			background: linear-gradient(180deg, #fbfdff, #f6f9fd);
			box-shadow: var(--validatic-shadow-soft);
		}
		#validatic-loader p {
			margin: 0;
			font-size: 14px;
			line-height: 1.6;
			color: var(--validatic-ink-soft);
		}
		#validatic-operation-lock {
			position: fixed;
			inset: 0;
			z-index: 99999;
			display: none;
			align-items: center;
			justify-content: center;
			padding: 24px;
			background: rgba(15, 23, 42, 0.48);
			backdrop-filter: blur(3px);
		}
		#validatic-operation-lock.is-visible {
			display: flex;
		}
		.validatic-operation-lock-card {
			width: min(420px, 100%);
			padding: 28px;
			border: 1px solid rgba(226, 232, 240, 0.95);
			border-radius: 8px;
			background: #ffffff;
			box-shadow: 0 24px 70px rgba(15, 23, 42, 0.22);
			text-align: center;
		}
		.validatic-operation-lock-card strong {
			display: block;
			margin: 0 0 8px;
			font-size: 18px;
			line-height: 1.3;
			color: var(--validatic-ink);
		}
		.validatic-operation-lock-card p {
			margin: 0;
			font-size: 14px;
			line-height: 1.55;
			color: var(--validatic-ink-soft);
			white-space: normal;
		}

		.validatic-workbench {
			background: #f8fafc;
		}
		.validatic-case-c-layout {
			display: grid;
			grid-template-columns: minmax(270px, 330px) minmax(0, 1fr);
			gap: 18px;
			align-items: start;
		}
		.validatic-case-c-sidebar {
			display: grid;
			gap: 16px;
			align-self: start;
		}
		.validatic-case-c-sidebar .validatic-controls-panel,
		.validatic-case-c-sidebar .validatic-multiday-tools,
		.validatic-case-c-sidebar .validatic-request-card,
		.validatic-main-help-card,
		.validatic-main-details-card,
		.validatic-schedule-panel,
		.validatic-request-footer {
			border: 1px solid rgba(216, 224, 234, 0.95);
			border-radius: 10px;
			background: #ffffff;
			box-shadow: 0 14px 28px -28px rgba(15, 23, 42, 0.55);
		}
		.validatic-case-c-sidebar .validatic-controls-panel,
		.validatic-case-c-sidebar .validatic-multiday-tools,
		.validatic-case-c-sidebar .validatic-request-card {
			margin: 0;
			padding: 18px;
		}
		.validatic-request-intro-card {
			background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
		}
		.validatic-request-intro-card p {
			margin: 0;
			font-size: 15px;
			line-height: 1.45;
			font-weight: 800;
			color: #0f172a;
		}
		.validatic-step-number {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 28px;
			height: 28px;
			margin-right: 6px;
			border: 1px solid #cbd5e1;
			border-radius: 999px;
			background: #1f3f6d;
			color: #ffffff;
			font-size: 15px;
			font-weight: 900;
			line-height: 1;
			vertical-align: 1px;
		}
		.validatic-required {
			color: #dc2626;
		}
		.validatic-step-note {
			display: inline-flex;
			align-items: center;
			min-height: 22px;
			margin-left: 8px;
			padding: 0 9px;
			border-radius: 999px;
			background: #eef2f7;
			color: #506074;
			font-size: 12px;
			font-weight: 800;
			line-height: 1;
			vertical-align: 2px;
		}
		.validatic-request-type-grid {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 8px;
		}
		.validatic-request-type-pill,
		.validatic-request-type-card .validatic-match-mode-button {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 100%;
			min-height: 38px;
			padding: 8px 10px;
			border: 1px solid #dbe3ee;
			border-radius: 8px;
			background: #ffffff;
			color: #334155;
			font-size: 13px;
			font-weight: 900;
			line-height: 1.1;
			text-align: center;
			box-shadow: none;
		}
		.validatic-request-type-pill.is-active {
			border-color: rgba(31, 63, 109, 0.28);
			background: #eef5ff;
			color: #1f3f6d;
		}
		.validatic-request-type-card .validatic-match-mode-button {
			justify-self: stretch;
			cursor: pointer;
			font-family: inherit;
		}
		button.validatic-request-type-pill {
			cursor: pointer;
			font-family: inherit;
		}
		.validatic-request-type-card.is-type-locked .validatic-request-type-pill:disabled,
		.validatic-request-type-card.is-type-locked .validatic-match-mode-button:disabled {
			cursor: not-allowed;
			opacity: 0.72;
		}
		.validatic-request-type-card .validatic-match-mode-button.is-active {
			border-color: rgba(13, 148, 136, 0.42);
			background: #0f766e;
			color: #ffffff;
			box-shadow: 0 12px 24px -22px rgba(15, 118, 110, 0.8);
		}
		.validatic-context-card .validatic-panel-head {
			margin-bottom: 12px;
		}
		.validatic-context-card .validatic-panel-title {
			font-size: 17px;
			letter-spacing: 0;
		}
		.validatic-context-card .validatic-selector-grid {
			grid-template-columns: 1fr;
			gap: 10px;
		}
		.validatic-context-card .validatic-field-card {
			padding: 0;
			border: 0;
			border-radius: 0;
			background: transparent;
		}
		.validatic-date-anchor-control {
			display: none !important;
		}
		.validatic-side-card-head {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 12px;
			margin-bottom: 12px;
		}
		.validatic-side-card-head h3,
		.validatic-details-card .validatic-request-card-head h3,
		.validatic-schedule-panel h3 {
			margin: 0;
			font-size: 17px;
			line-height: 1.2;
			letter-spacing: 0;
			color: #0f172a;
		}
		#validatic-calendar-selected-count {
			font-size: 13px;
			color: #2563eb;
		}
		.validatic-calendar-head {
			display: grid;
			grid-template-columns: 34px 1fr 34px;
			align-items: center;
			gap: 10px;
			margin-bottom: 12px;
		}
		#validatic-calendar-title {
			text-align: center;
			font-size: 15px;
			color: #111827;
		}
		.validatic-calendar-nav {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 34px;
			height: 34px;
			padding: 0;
			border: 1px solid #dbe3ee;
			border-radius: 8px;
			background: #ffffff;
			color: #334155;
			font-size: 22px;
			font-weight: 800;
			line-height: 0;
			cursor: pointer;
		}
		.validatic-calendar-grid {
			display: grid;
			grid-template-columns: repeat(7, minmax(0, 1fr));
			gap: 6px;
		}
		.validatic-calendar-weekday,
		.validatic-calendar-day,
		.validatic-calendar-empty {
			min-width: 0;
			aspect-ratio: 1 / 1;
			border-radius: 8px;
			display: grid;
			place-items: center;
			font-size: 13px;
			font-weight: 800;
		}
		.validatic-calendar-weekday {
			aspect-ratio: auto;
			min-height: 24px;
			color: #94a3b8;
			font-size: 11px;
			text-transform: uppercase;
		}
		.validatic-calendar-empty {
			color: transparent;
		}
		.validatic-calendar-day {
			border: 1px solid transparent;
			background: #ffffff;
			color: #111827;
			cursor: pointer;
		}
		.validatic-calendar-day:hover {
			background: #eff6ff;
			border-color: rgba(37, 99, 235, 0.22);
		}
		.validatic-calendar-day.is-selected {
			background: #1f3f6d;
			color: #ffffff;
		}
		.validatic-calendar-day.is-active {
			box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.26);
		}
		.validatic-calendar-day.is-today:not(.is-selected) {
			border-color: rgba(37, 99, 235, 0.35);
			color: #1d4ed8;
		}
		.validatic-calendar-day.is-past {
			background: #f1f5f9;
			color: #94a3b8;
			cursor: not-allowed;
			opacity: 0.7;
		}
		.validatic-calendar-day.is-past:hover {
			border-color: transparent;
			background: #f1f5f9;
		}
		.validatic-multiday-tools .validatic-selected-dates,
		.validatic-multiday-tools .validatic-range-builder,
		.validatic-hidden-action {
			display: none !important;
		}
		.validatic-multiday-tools .validatic-range-builder {
			display: none !important;
			grid-template-columns: 1fr;
			gap: 10px;
			margin-top: 14px;
			padding-top: 14px;
			border-top: 1px solid #edf1f6;
		}
		.validatic-multiday-tools .validatic-range-builder .control-group {
			min-width: 0;
		}
		.validatic-multiday-tools .validatic-weekdays {
			display: grid;
			grid-template-columns: repeat(7, minmax(0, 1fr));
			gap: 6px;
			padding: 0;
		}
		.validatic-multiday-tools .validatic-weekdays button {
			width: 100%;
			min-height: 30px;
			border-radius: 8px;
			font-size: 12px;
		}
		.validatic-multiday-tools #validatic-add-range-button {
			width: 100%;
			border-radius: 8px;
		}
		.validatic-multiday-tools .validatic-multiday-actions {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 8px;
			margin-top: 14px;
			width: 100%;
		}
		.validatic-quick-date {
			min-height: 34px;
			border: 0;
			border-radius: 8px;
			background: #f1f5f9;
			color: #0f172a;
			font-size: 13px;
			font-weight: 800;
			cursor: pointer;
		}
		.validatic-clear-dates-button {
			display: block;
			width: 100%;
			margin-top: 12px;
			border: 0;
			background: transparent;
			color: #ef4444;
			font-size: 13px;
			font-weight: 700;
			cursor: pointer;
		}
		.validatic-paint-toolbar {
			display: grid;
			grid-template-columns: minmax(210px, 0.9fr) minmax(0, 1.7fr);
			gap: 14px;
			align-items: center;
			padding: 14px 20px;
			border-bottom: 1px solid rgba(216, 224, 234, 0.95);
			background: #fbfdff;
		}
		.validatic-paint-toolbar-copy strong {
			display: block;
			margin-bottom: 4px;
			font-size: 13px;
			line-height: 1.2;
			color: #0f172a;
			text-transform: uppercase;
			letter-spacing: 0.04em;
		}
		.validatic-paint-toolbar-copy p {
			margin: 0;
			font-size: 13px;
			line-height: 1.35;
			color: #8a99ad;
		}
		.validatic-paint-toolbar-controls {
			display: grid;
			grid-template-columns: minmax(210px, 0.75fr) minmax(280px, 1.25fr);
			gap: 10px;
			align-items: center;
			min-width: 0;
		}
		.validatic-paint-toolbar .validatic-paint-mode {
			width: 100%;
			margin: 0;
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 4px;
			padding: 4px;
			border-radius: 8px;
			background: #eef2f7;
		}
		.validatic-paint-toolbar .validatic-paint-mode button {
			min-height: 34px;
			border-radius: 6px;
			font-size: 13px;
		}
		.validatic-paint-toolbar .validatic-paint-mode.is-disabled-by-match {
			opacity: 0.58;
		}
		.validatic-paint-toolbar .validatic-paint-mode.is-disabled-by-match button.is-active {
			background: transparent;
			color: #64748b;
			box-shadow: none;
		}
		.validatic-paint-toolbar .validatic-paint-weekdays {
			display: grid;
			grid-template-columns: repeat(8, minmax(0, 1fr));
			gap: 6px;
			margin: 0;
			min-width: 0;
		}
		.validatic-paint-toolbar .validatic-paint-weekdays button {
			min-height: 30px;
			padding: 0 8px;
			border-radius: 6px;
			font-size: 12px;
		}
		.validatic-paint-toolbar .validatic-paint-weekdays.is-disabled {
			opacity: 0.48;
			pointer-events: none;
		}
		.validatic-details-card .validatic-request-card-head {
			margin-bottom: 12px;
		}
		.validatic-details-card .validatic-request-grid {
			display: block;
		}
		.validatic-details-card .validatic-request-column {
			gap: 12px;
		}
		.validatic-linked-selects {
			display: grid;
			gap: 12px;
		}
		.validatic-linked-selects .validatic-field-card {
			padding: 0;
			border: 0;
			border-radius: 0;
			background: transparent;
			box-shadow: none;
		}
		.validatic-details-card .control-group {
			min-width: 0;
		}
		.validatic-details-card .validatic-toggle-card {
			border: 0;
			border-radius: 8px;
			background: #eef2f7;
			padding: 12px;
		}
		.validatic-details-card .validatic-toggle-text {
			color: #8a99ad;
		}
		.validatic-detalls-extra textarea {
			min-height: 88px;
		}
		.validatic-main-details-card {
			margin: 0;
			padding: 18px 20px;
		}
		.validatic-main-details-card .validatic-request-card-head {
			margin-bottom: 14px;
		}
		.validatic-main-details-card .validatic-main-details-grid {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
			gap: 16px;
			align-items: stretch;
		}
		.validatic-main-details-card .validatic-detalls-extra {
			display: grid;
			gap: 8px;
			margin: 0;
			min-width: 0;
		}
		.validatic-main-details-card .validatic-detalls-extra textarea,
		.validatic-main-details-card .validatic-file-upload {
			min-height: 120px;
		}
		.validatic-case-c-main {
			display: grid;
			gap: 14px;
			min-width: 0;
		}
		.validatic-main-help-card {
			position: relative;
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			gap: 18px;
			min-height: 118px;
			padding: 20px;
			overflow: hidden;
			background:
				linear-gradient(135deg, rgba(31, 63, 109, 0.08), rgba(20, 184, 166, 0.08)),
				#ffffff;
		}
		.validatic-main-help-card strong {
			display: block;
			margin: 0 0 8px;
			font-size: 18px;
			line-height: 1.2;
			color: #0f172a;
		}
		.validatic-main-help-card p {
			max-width: 760px;
			margin: 0;
			font-size: 14px;
			line-height: 1.5;
			color: #506074;
		}
		.validatic-main-help-mark {
			display: grid;
			place-items: center;
			width: 54px;
			height: 54px;
			border: 2px solid rgba(31, 63, 109, 0.24);
			border-radius: 999px;
			background: rgba(255, 255, 255, 0.74);
			color: #1f3f6d;
			font-size: 28px;
			font-weight: 900;
			line-height: 1;
		}
		.validatic-schedule-panel {
			min-width: 0;
			overflow: hidden;
		}
		.validatic-schedule-panel-head {
			display: flex;
			align-items: flex-start;
			justify-content: space-between;
			gap: 12px;
			padding: 18px 20px 12px;
		}
		.validatic-schedule-panel-head p {
			margin: 2px 0 0;
			font-size: 13px;
			line-height: 1.35;
			color: #506074;
		}
		.validatic-grid-hint {
			display: inline-flex;
			align-items: center;
			flex-wrap: wrap;
			gap: 7px;
			padding: 8px 12px;
			border-radius: 999px;
			background: #f1f5f9;
			color: #506074;
			font-size: 13px;
			font-weight: 700;
			white-space: normal;
		}
		.validatic-schedule-panel #schedule-grid-container {
			margin: 0;
			padding-bottom: 0;
			border-width: 1px 0 0;
			border-radius: 0;
			box-shadow: none;
			min-height: 520px;
			background: #ffffff;
		}
		.validatic-schedule-panel #schedule-grid-container .validatic-grid-state {
			min-height: 520px;
		}
		.validatic-schedule-panel .validatic-brush-grid-shell {
			max-height: min(72vh, 720px);
		}
		.validatic-schedule-panel .validatic-brush-grid-cell {
			box-sizing: border-box;
			min-width: 132px;
			min-height: 31px;
			padding: 5px 8px;
			border-color: #edf1f6;
			font-size: 12px;
		}
		.validatic-schedule-panel .validatic-brush-grid-cell.is-header {
			background: #1f3f6d;
			color: #ffffff;
		}
		.validatic-schedule-panel .validatic-brush-grid-cell.is-hour {
			min-width: 92px;
			background: #f8fafc;
			color: #506074;
			font-weight: 500;
			text-align: left;
			line-height: 1.05;
		}
		.validatic-schedule-panel .validatic-brush-grid-cell.is-header.is-hour {
			background: #1f3f6d;
			color: #ffffff;
			font-weight: 800;
			text-align: center;
			display: flex;
			align-items: center;
			justify-content: center;
		}
		.validatic-grid-day-weekday,
		.validatic-grid-day-month {
			display: block;
			font-size: 11px;
			line-height: 1.1;
			color: rgba(255, 255, 255, 0.72);
			text-transform: uppercase;
		}
		.validatic-grid-day-number {
			display: block;
			font-size: 20px;
			line-height: 1;
			color: #ffffff;
		}
		.validatic-schedule-panel .sportic-cell.occupied {
			display: flex;
			align-items: center;
			justify-content: center;
			background: #fee2e2 !important;
			color: #b91c1c;
			font-size: 11px;
		}
		.validatic-schedule-panel .sportic-cell.locked {
			display: table-cell !important;
			text-align: center;
			vertical-align: middle;
			background: #e5e7eb !important;
			color: #475569 !important;
			font-size: 11px;
		}
		.validatic-schedule-panel .sportic-cell.free {
			background: #ffffff;
		}
		.validatic-schedule-panel .sportic-cell.requestable:hover {
			box-shadow: none;
		}
		.validatic-schedule-panel .sportic-cell.requestable:hover::after {
			content: "";
			position: absolute;
			inset: 1px;
			z-index: 2;
			border: 2px solid #bfdbfe;
			pointer-events: none;
		}
		.validatic-schedule-panel .sportic-cell.validatic-cell-active::before {
			content: "";
			position: absolute;
			inset: 2px;
			z-index: 3;
			border: 2px solid #1d4ed8;
			pointer-events: none;
		}
		.validatic-schedule-panel .validatic-cell-activity-badge {
			border-radius: 6px;
		}
		.validatic-schedule-panel .validatic-day-schedule-table .sportic-cell {
			height: 34px;
			vertical-align: middle;
		}
		.validatic-schedule-panel .validatic-day-schedule-table .sportic-cell.occupied {
			display: table-cell;
			vertical-align: middle;
		}
		.validatic-case-c-main .validatic-request-footer {
			position: static;
			top: auto;
			z-index: auto;
			margin: 0;
			padding: 16px 20px;
			backdrop-filter: none;
		}
		.validatic-case-c-main .validatic-save-card.validatic-request-footer {
			display: block;
			padding: 18px 20px;
		}
		.validatic-case-c-main .validatic-request-actions {
			display: grid;
			grid-template-columns: minmax(190px, 1fr) minmax(260px, 1.35fr) minmax(220px, auto);
			align-items: center;
			gap: 16px;
			width: 100%;
		}
		.validatic-case-c-main .validatic-save-card .validatic-request-actions {
			grid-template-columns: minmax(0, 1fr) minmax(220px, auto);
			gap: 14px 18px;
		}
		.validatic-case-c-main #schedule-actions {
			grid-column: 1;
			margin: 0;
			text-align: left;
		}
		.validatic-case-c-main .validatic-save-card #schedule-actions {
			grid-column: 1 / -1;
		}
		.validatic-case-c-main .validatic-request-note {
			grid-column: 2;
			max-width: 64ch;
			margin: 0;
			font-size: 14px;
			line-height: 1.45;
			text-align: left;
			white-space: normal;
			color: #334155;
		}
		.validatic-case-c-main .validatic-save-card .validatic-request-note {
			grid-column: 1;
			max-width: none;
			padding: 12px 14px;
			border: 1px solid #e2e8f0;
			border-radius: 8px;
			background: #f8fafc;
		}
		.validatic-case-c-main #submit-request-button {
			grid-column: 3;
			justify-self: end;
			min-width: 220px;
			border-radius: 8px;
		}
		.validatic-case-c-main .validatic-save-card #submit-request-button {
			grid-column: 2;
		}

		@media (max-width: 1080px) {
			.validatic-case-c-layout {
				grid-template-columns: 1fr;
			}
			.validatic-paint-toolbar {
				grid-template-columns: 1fr;
			}
			.validatic-main-help-card {
				grid-template-columns: minmax(0, 1fr);
				min-height: auto;
			}
			.validatic-main-help-mark {
				justify-self: start;
			}
			.validatic-selector-grid,
			.validatic-request-grid,
			.validatic-request-layout {
				grid-template-columns: 1fr;
			}
			.validatic-summary-card {
				order: -1;
			}
		}
			@media (max-width: 768px) {
			#validatic-app-wrapper {
				padding: 16px 12px 28px;
			}
			.validatic-schedule-panel-head {
				flex-direction: column;
				align-items: stretch;
			}
			.validatic-grid-hint {
				justify-content: center;
				white-space: normal;
			}
			.validatic-pavello-tabs-head {
				align-items: stretch;
				flex-direction: column;
			}
			.validatic-pavello-tabs {
				justify-content: flex-start;
			}
			.validatic-pavello-tab {
				max-width: 100%;
			}
			.validatic-case-c-main #submit-request-button {
				min-width: 0;
			}
			.validatic-header,
			.validatic-card {
				padding: 20px;
			}
			.validatic-header {
				border-radius: 22px;
			}
			.user-info {
				width: 100%;
				margin-left: 0;
				justify-content: stretch;
			}
			.validatic-user-card,
			.logout-button {
				flex: 1 1 100%;
			}
			.validatic-panel-head {
				flex-direction: column;
			}
			.validatic-multiday-row {
				flex-direction: column;
			}
			.validatic-multiday-actions,
			.validatic-paint-mode {
				width: 100%;
				justify-content: flex-start;
				margin-left: 0;
			}
			.validatic-paint-toolbar {
				padding: 14px;
			}
			.validatic-paint-toolbar-controls {
				grid-template-columns: 1fr;
			}
			.validatic-main-details-card .validatic-main-details-grid {
				grid-template-columns: 1fr;
			}
			.validatic-paint-toolbar .validatic-paint-weekdays {
				grid-template-columns: repeat(4, minmax(0, 1fr));
			}
			.validatic-range-builder {
				grid-template-columns: 1fr;
			}
			.form-controls {
				flex-direction: column;
				align-items: stretch;
				gap: 14px;
			}
			.validatic-selector-grid {
				grid-template-columns: 1fr;
			}
				.validatic-request-footer {
					align-items: stretch;
					top: calc(var(--validatic-sticky-top) + 6px);
					padding: 10px;
				}
				.validatic-request-actions {
					display: grid;
					grid-template-columns: 1fr;
					width: 100%;
					margin-left: 0;
				}
				.validatic-case-c-main .validatic-save-card .validatic-request-actions {
					grid-template-columns: 1fr;
				}
				.validatic-request-actions > button,
				.validatic-request-actions > #schedule-actions {
					flex: 1 1 100%;
				}
				.validatic-case-c-main #schedule-actions,
				.validatic-case-c-main .validatic-request-note,
				.validatic-case-c-main #submit-request-button {
					grid-column: 1;
					justify-self: stretch;
				}
				.validatic-request-note {
					max-width: 100%;
					white-space: normal;
					text-align: left;
				}
			.validatic-partit-fields {
				grid-template-columns: 1fr;
			}
			.validatic-selected-cells-list ul {
				grid-template-columns: 1fr;
			}
			#my-requests-table {
				min-width: 640px;
			}
			#validatic-counter-offer-preview-modal {
				padding: 12px;
			}
			#validatic-counter-offer-preview-modal-content {
				width: 100%;
				max-height: 96vh;
				padding: 14px;
			}
			.validatic-counter-offer-preview-header {
				align-items: stretch;
			}
			.validatic-counter-offer-preview-header h3 {
				font-size: 20px;
			}
		}
		@media (max-width: 560px) {
			.validatic-tab-link {
				padding-left: 14px;
				padding-right: 14px;
			}
			.validatic-toggle-card {
				align-items: flex-start;
			}
			.validatic-file-upload {
				align-items: flex-start;
			}
			.button-primary,
			.button-secondary,
			.button-danger {
				width: 100%;
			}
			.validatic-counter-offer-preview-actions > button {
				flex: 1 1 100%;
			}
		}
