		/* --- Import Google Fonts --- */
		@import url('https://fonts.googleapis.com/css2?family=Abel&family=Montserrat:wght@400;500;600;700&display=swap');

		/* --- Main Calculator Wrapper --- */
		li {
			font-family: Calibri;
		}
		.cccpr-calculator-wrapper {
			max-width: 1200px;
			margin: 0 auto 2rem auto;
			padding: 2.5rem;
			border: 1px solid #e0e4e8;
			border-radius: 12px;
			background-color: #ffffff;
			box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05);
			font-family: 'Abel', sans-serif;
			font-size: 16px;
			color: #555;
		}
		/* --- Sections & Headings --- */
		.cccpr-section {
			margin-bottom: 2rem;
			padding-bottom: 1.5rem;
			border-bottom: 1px solid #f0f0f0;
		}
		.cccpr-section:last-of-type {
			border-bottom: none;
		}
		.cccpr-section h3, .cccpr-results-wrapper h2, .cccpr-modal-content h4 {
			font-family: 'Montserrat', sans-serif;
			font-weight: 600;
			color: #2c3e50;
			font-size: 1.3em;
			margin-top: 0;
			margin-bottom: 1.5rem;
			letter-spacing: 0.5px;
		}
		
		/* --- Input Fields & Labels --- */
		.cccpr-grid {
			display: grid;
			grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
			gap: 1.5rem;
		}
		.cccpr-input-group {
			display: flex;
			flex-direction: column;
		}
		.cccpr-input-group label {
			font-family: 'Montserrat', sans-serif;
			font-weight: 500;
			color: #34495e;
			font-size: 0.9em;
			margin-bottom: 0.6rem;
		}
		.cccpr-input-group input[type="number"],
		.cccpr-input-group select {
			padding: 0.9rem;
			border: 1px solid #bdc3c7;
			border-radius: 6px;
			font-family: 'Abel', sans-serif;
			font-size: 1.1em;
			color: #333;
			width: 100%;
			box-sizing: border-box;
			transition: border-color 0.3s, box-shadow 0.3s;
			-webkit-appearance: none;
			-moz-appearance: none;
			appearance: none;
			background-color: #ffffff;
			background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%2334495e%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');
			background-repeat: no-repeat;
			background-position: right 0.7rem center;
			background-size: 0.65em auto;
			padding-right: 2.5rem;
		}
		.cccpr-input-group input[type="number"]:focus,
		.cccpr-input-group select:focus {
			outline: none;
			border-color: #3498db;
			box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.2);
		}

		/* --- Buttons --- */
		.cccpr-button, .cccpr-button-secondary {
			position: relative;
			overflow: hidden;
			padding: 0.9rem 1.6rem;
			border: none;
			border-radius: 6px;
			cursor: pointer;
			font-family: 'Montserrat', sans-serif;
			font-size: 1em;
			font-weight: 600;
			text-align: center;
			display: inline-block;
			transition: transform 0.2s ease-out, box-shadow 0.3s ease, background-color 0.3s ease;
			text-transform: uppercase;
			letter-spacing: 1px;
			-webkit-tap-highlight-color: transparent;
			background-color: #3498db;
			color: white;
		}

		.cccpr-button::before, .cccpr-button-secondary::before {
			content: '';
			position: absolute;
			top: 0;
			left: -100%;
			width: 100%;
			height: 100%;
			background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.25), transparent);
			transition: left 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
		}

		.cccpr-button:hover, .cccpr-button-secondary:hover {
			transform: translateY(-3px);
			box-shadow: 0 6px 15px rgba(44, 62, 80, 0.15);
			background-color: #2980b9;
		}

		.cccpr-button:hover::before, .cccpr-button-secondary:hover::before {
			left: 100%;
		}

		.cccpr-button:active, .cccpr-button-secondary:active {
			transform: translateY(-1px);
			box-shadow: 0 3px 8px rgba(44, 62, 80, 0.1);
			transition: transform 0.1s ease;
		}

		#cccpr-open-instructions-btn {
			width: auto;
			margin-bottom: 2rem;
		}

		#cccpr-calculate-btn {
			margin-top: 1rem;
		}

		.cccpr-button-secondary {
			background-color: #ecf0f1;
			color: #34495e;
		}

		.cccpr-button-secondary:hover {
			background-color: #dbe0e2;
		}

		/* --- Dynamic Child Rows --- */
		#cccpr-children-container .cccpr-child-row {
			padding: 1rem 1.5rem;
			margin-bottom: 1rem;
			border: 1px solid #ecf0f1;
			border-radius: 8px;
			background: #fdfdfd;
		}
		.cccpr-child-header {
			display: flex;
			justify-content: space-between;
			align-items: center;
			margin-bottom: 1rem;
			font-family: 'Montserrat', sans-serif';
			font-weight: 600;
		}
		.cccpr-remove-child-btn {
			background: transparent;
			border: none;
			border-radius: 50%;
			width: 25px;
			height: 25px;
			cursor: pointer;
			padding: 0;
			display: flex;
			align-items: center;
			justify-content: center;
			transition: background-color 0.3s;
		}
		.cccpr-remove-child-btn img {
			width: 16px;
			height: 16px;
		}
		.cccpr-remove-child-btn:hover{
			background-color: #f0f0f0;
		}

		/* --- Modal Styles (Instrucciones) --- */
		body.cccpr-modal-open {
			overflow: hidden;
		}
		.cccpr-modal {
			position: fixed;
			z-index: 1000;
			left: 0;
			top: 0;
			width: 100%;
			height: 100%;
			background-color: rgba(0,0,0,0.6);
			backdrop-filter: blur(5px);
			display: none;
			align-items: center;
			justify-content: center;
			opacity: 0;
			transition: opacity 0.3s ease;
		}
		.cccpr-modal.cccpr-is-visible {
			opacity: 1;
		}
		.cccpr-modal-content {
			background-color: #fefefe;
			padding: 0;
			border: none;
			width: 90vw;
			max-width: 90vw;
			height: 90vh;
			height: 90dvh;
			max-height: 90vh;
			max-height: 90dvh;
			box-sizing: border-box;
			overflow: hidden;
			border-radius: 12px;
			position: relative;
			font-size: 15px;
			display: flex;
			flex-direction: column;
			box-shadow: 0 10px 40px rgba(0,0,0,0.2);
			transform: scale(0.95);
			transition: transform 0.3s ease;
		}
		.cccpr-modal.cccpr-is-visible .cccpr-modal-content {
			transform: scale(1);
		}
		.cccpr-modal-header {
			min-height: 76px;
			padding: 14px 68px 14px 22px;
			border-bottom: 1px solid #e0e4e8;
			display: flex;
			align-items: center;
			gap: 18px;
			box-sizing: border-box;
		}
		.cccpr-modal-logo {
			display: block;
			width: auto;
			max-width: 92px;
			max-height: 48px;
			height: auto;
			flex: 0 0 auto;
		}
		.cccpr-modal-header h2 {
			font-family: 'Montserrat', sans-serif;
			font-weight: 600;
			color: #2c3e50;
			font-size: 1.5em;
			margin: 0;
		}
		.cccpr-modal-body {
			padding: 20px 40px;
			overflow-y: auto;
			flex-grow: 1;
		}
		.cccpr-modal-body p, .cccpr-modal-body li {
			font-size: 15px;
			line-height: 1.7;
		}
		.cccpr-close-btn {
			appearance: none;
			-webkit-appearance: none;
			color: #2c3e50;
			background: #ffffff;
			border: 1px solid #b8c2cc;
			border-radius: 9px;
			position: absolute;
			top: 16px;
			right: 18px;
			z-index: 2;
			width: 42px;
			height: 42px;
			padding: 0;
			font-family: Arial, Helvetica, sans-serif;
			font-size: 30px;
			font-weight: 400;
			line-height: 38px;
			text-align: center;
			cursor: pointer;
			box-shadow: 0 2px 6px rgba(44, 62, 80, 0.12);
			transition: color 0.2s, background-color 0.2s, border-color 0.2s;
		}
		.cccpr-close-btn:hover {
			color: #111;
			background: #f3f6f8;
			border-color: #7f8c8d;
		}
		.cccpr-close-btn:focus-visible {
			outline: 3px solid rgba(52, 152, 219, 0.35);
			outline-offset: 2px;
		}

		/* --- Results Styles --- */
		.cccpr-results-wrapper {
			margin-top: 2.5rem;
			padding: 2.5rem;
			border: none;
			border-radius: 12px;
			background-color: #ecf0f1;
		}
		.cccpr-results-grid {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			gap: 1rem;
			margin: 1.5rem 0;
		}
		.cccpr-result-item {
			background: white;
			padding: 1.2rem;
			border-radius: 8px;
		}
		.cccpr-result-section {
			margin-top: 0;
		}
		.cccpr-result-section:first-of-type {
			margin-top: 0;
		}
		.cccpr-result-section-title {
			font-family: 'Montserrat', sans-serif;
			font-size: 1.05em;
			font-weight: 700;
			color: #34495e;
			text-align: center;
			margin: 1.8rem 0 0.4rem;
		}
		.cccpr-result-item--wide {
			grid-column: 1 / -1;
		}
		.cccpr-result-item--summary {
			text-align: center;
			padding-top: 1.35rem;
			padding-bottom: 1.35rem;
		}
		.cccpr-result-item--summary .label,
		.cccpr-result-item .cccpr-summary-label {
			font-weight: 700 !important;
		}
		.cccpr-result-item--summary .value,
		.cccpr-result-item .cccpr-summary-value {
			font-weight: 700 !important;
		}
		.cccpr-result-item--basic-summary,
		.cccpr-result-item--supplemental-summary {
			border: 2px solid #1d75b8;
			box-sizing: border-box;
		}
		.cccpr-results-actions {
			text-align: center;
			margin-top: 1rem;
		}
		.cccpr-result-item .label {
			font-family: 'Montserrat', sans-serif;
			font-weight: 500;
			color: #34495e;
			display: block;
			margin-bottom: 0.5rem;
			font-size: 0.9em;
		}
		.cccpr-result-item .value {
			font-family: 'Abel', sans-serif;
			font-size: 1.6em;
			color: #2980b9;
		}
		.cccpr-result-total {
			background: #2c3e50;
			color: white;
			padding: 2rem;
			border-radius: 8px;
			text-align: center;
			margin-top: 1.5rem;
		}
		.cccpr-result-total .label {
			font-family: 'Montserrat', sans-serif;
			font-size: 1.1em;
			font-weight: 500;
			color: #bdc3c7;
		}
		.cccpr-result-total .value {
			font-family: 'Montserrat', sans-serif;
			font-size: 2.2em;
			font-weight: 700;
			color: #ffffff;
			letter-spacing: 1px;
			display: block;
			margin-top: 0.5rem;
		}
		.cccpr-error {
			color: #c0392b;
			font-family: 'Montserrat', sans-serif;
			font-weight: 600;
			text-align: center;
			background: #e74c3c20;
			padding: 1rem;
			border-radius: 6px;
		}
		
		/* --- Spinner --- */
		.cccpr-loader {
			border: 5px solid #f0f0f0;
			border-radius: 50%;
			border-top: 5px solid #3498db;
			width: 50px;
			height: 50px;
			animation: cccpr-spin 1s linear infinite;
			margin: 20px auto;
		}
		@keyframes cccpr-spin {
			0% { transform: rotate(0deg); }
			100% { transform: rotate(360deg); }
		}
		input {
			background: #FFFFFF;
		}
		input:hover {
			background: #FFFF00;
		}

		/* ======== UI de Acceso / Registro (profesional y atractivo) ======== */
		.cccpr-auth-modal {
			position: fixed;
			inset: 0;
			background: radial-gradient(1200px 600px at 50% -20%, rgba(52,152,219,0.25), transparent),
						  rgba(0, 0, 0, 0.55);
			display: none;
			align-items: center;
			justify-content: center;
			z-index: 2000;
			opacity: 0;
			transition: opacity .25s ease;
		}
		.cccpr-auth-modal.cccpr-is-visible {
			display: flex;
			opacity: 1;
		}
		.cccpr-auth-card {
			width: min(720px, 92vw);
			background: #fff;
			border-radius: 14px;
			box-shadow: 0 20px 60px rgba(0,0,0,.25);
			overflow: hidden;
			transform: translateY(10px);
			animation: cccpr-pop .25s ease forwards;
			font-family: 'Abel', sans-serif;
		}
		@keyframes cccpr-pop {
			to { transform: translateY(0); }
		}
		.cccpr-auth-header {
			padding: 28px 28px 10px 28px;
			background: linear-gradient(135deg, #f7fbff, #ffffff);
		}
		.cccpr-auth-header h2 {
			margin: 0 0 6px 0;
			font-family: 'Montserrat', sans-serif;
			font-weight: 700;
			color: #2c3e50;
			letter-spacing: .4px;
		}
		.cccpr-auth-subtitle {
			margin: 0;
			color: #5f6f7f;
		}
		.cccpr-auth-tabs {
			display: flex;
			gap: 6px;
			padding: 0 10px 0 10px;
			border-bottom: 1px solid #eef2f5;
		}
		.cccpr-auth-tab {
			flex: 1;
			padding: 14px;
			background: transparent;
			border: none;
			border-bottom: 3px solid transparent;
			cursor: pointer;
			font-family: 'Montserrat', sans-serif;
			font-weight: 600;
			color: #7b8a97;
			transition: color .2s ease, border-color .2s ease, background .2s ease;
		}
		.cccpr-auth-tab:hover {
			background: #f6f9fc;
		}
		.cccpr-auth-tab-active {
			color: #2c3e50;
			border-bottom-color: #3498db;
		}
		.cccpr-auth-panels {
			padding: 22px 26px 10px 26px;
		}
		.cccpr-auth-panel[hidden] { display: none; }
		.cccpr-auth-panel-active { display: block; }
		.cccpr-auth-field {
			display: flex;
			flex-direction: column;
			gap: 6px;
			margin-bottom: 14px;
		}
		.cccpr-auth-field label {
			font-family: 'Montserrat', sans-serif;
			color: #34495e;
			font-weight: 600;
			font-size: 0.9em;
		}
		.cccpr-auth-field input[type="text"],
		.cccpr-auth-field input[type="email"],
		.cccpr-auth-field input[type="password"] {
			padding: 12px 14px;
			border: 1px solid #cfd6dd;
			border-radius: 8px;
			font-size: 1.05em;
			transition: border-color .2s ease, box-shadow .2s ease;
		}
		.cccpr-auth-field input:focus {
			outline: none;
			border-color: #3498db;
			box-shadow: 0 0 0 3px rgba(52,152,219,.18);
		}
		.cccpr-auth-btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 8px;
			padding: 12px 16px;
			border-radius: 9px;
			border: none;
			cursor: pointer;
			background: #2c3e50;
			color: #fff;
			font-family: 'Montserrat', sans-serif;
			font-weight: 700;
			letter-spacing: .3px;
			transition: transform .1s ease, box-shadow .2s ease, background .2s ease;
			width: 100%;
			margin-top: 4px;
		}
		.cccpr-auth-btn:hover { background: #243949; box-shadow: 0 8px 16px rgba(0,0,0,.08); transform: translateY(-1px); }
		.cccpr-auth-btn:active { transform: translateY(0); }
		.cccpr-auth-btn-primary { background: #3498db; }
		.cccpr-auth-btn-primary:hover { background: #2980b9; }
		.cccpr-auth-links {
			margin-top: 10px;
			display: flex;
			align-items: center;
			gap: 10px;
			flex-wrap: wrap;
		}
		.cccpr-auth-links a {
			color: #3498db;
			text-decoration: none;
			font-family: 'Montserrat', sans-serif;
			font-weight: 600;
		}
		.cccpr-auth-links a:hover { text-decoration: underline; }
		.cccpr-auth-sep { color: #95a5a6; }
		.cccpr-auth-feedback {
			margin-top: 12px;
			min-height: 22px;
			font-family: 'Montserrat', sans-serif;
			font-weight: 600;
		}
		.cccpr-auth-feedback.error { color: #c0392b; }
		.cccpr-auth-feedback.success { color: #27ae60; }
		.cccpr-auth-footer {
			padding: 0 26px 24px 26px;
		}
		.cccpr-auth-note {
			margin: 0;
			color: #5f6f7f;
			font-size: .95em;
		}

		@media (max-width: 520px) {
			.cccpr-calculator-wrapper {
				margin: 0.5rem auto;
				padding: 0.8rem;
			}
			.cccpr-section {
				margin-bottom: 0.8rem;
				padding-bottom: 0.6rem;
			}
			.cccpr-section h3 {
				font-size: 1.1em;
				margin-bottom: 0.8rem;
			}
			.cccpr-grid {
				gap: 0.6rem;
			}
			.cccpr-input-group label {
				margin-bottom: 0.4rem;
				font-size: 0.85em;
			}
			.cccpr-input-group input[type="number"],
			.cccpr-input-group select {
				padding: 0.5rem 0.6rem;
				font-size: 1em;
				padding-right: 2rem;
			}
			.cccpr-button,
			.cccpr-button-secondary {
				padding: 0.5rem 0.8rem;
				font-size: 0.85em;
			}
			#cccpr-open-instructions-btn {
				margin-bottom: 1rem;
			}
			#cccpr-calculate-btn {
				margin-top: 0.6rem;
			}
			#cccpr-children-container .cccpr-child-row {
				padding: 0.6rem;
				margin-bottom: 0.6rem;
			}
			.cccpr-child-header {
				margin-bottom: 0.4rem;
				font-size: 0.9em;
			}
			.cccpr-results-wrapper {
				margin-top: 1rem;
				padding: 0.8rem;
			}
			.cccpr-results-grid {
				grid-template-columns: 1fr;
				gap: 0.6rem;
				margin: 0.8rem 0;
			}
			.cccpr-result-section-title {
				margin-top: 1.2rem;
			}
			.cccpr-result-item {
				padding: 0.6rem;
			}
			.cccpr-result-item .value {
				font-size: 1.2em;
			}
			.cccpr-result-total {
				padding: 1rem;
				margin-top: 0.8rem;
			}
			.cccpr-result-total .value {
				font-size: 1.5em;
			}
			.cccpr-auth-card {
				width: 94vw;
				max-height: 90vh;
			}
			.cccpr-auth-header { padding: 16px; }
			.cccpr-auth-tabs { padding: 0 6px; }
			.cccpr-auth-panels { padding: 12px; }
			.cccpr-auth-field { margin-bottom: 8px; gap: 4px; }
			.cccpr-auth-field input[type="text"],
			.cccpr-auth-field input[type="email"],
			.cccpr-auth-field input[type="password"] {
				padding: 8px;
				font-size: 0.95em;
			}
			.cccpr-auth-btn { padding: 8px 12px; font-size: 0.9em; }
			.cccpr-auth-footer { padding: 0 12px 12px 12px; }
		}

		.cccpr-auth-card{
		  max-height: 90vh;
		  overflow-y: auto;
		  -webkit-overflow-scrolling: touch;
		}
		.cccpr-auth-panels{
		  overflow-y: visible;
		  padding-right: 10px;
		}
		.cccpr-button,
		.cccpr-button-secondary,
		.cccpr-auth-btn,
		.cccpr-auth-btn-primary {
			position: relative;
			overflow: hidden;
			padding: 0.9rem 1.6rem;
			border: none;
			border-radius: 6px;
			cursor: pointer;
			font-family: 'Montserrat', sans-serif;
			font-size: 1em;
			font-weight: 600;
			text-align: center;
			display: inline-block;
			transition: transform 0.2s ease-out, box-shadow 0.3s ease, background-color 0.3s ease;
			text-transform: uppercase;
			letter-spacing: 1px;
			-webkit-tap-highlight-color: transparent;
			background-color: #3498db;
			color: #fff;
		}
		.cccpr-button::before,
		.cccpr-button-secondary::before,
		.cccpr-auth-btn::before,
		.cccpr-auth-btn-primary::before {
			content: '';
			position: absolute;
			top: 0;
			left: -100%;
			width: 100%;
			height: 100%;
			background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.25), transparent);
			transition: left 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
		}
		.cccpr-button:hover,
		.cccpr-button-secondary:hover,
		.cccpr-auth-btn:hover,
		.cccpr-auth-btn-primary:hover {
			transform: translateY(-3px);
			box-shadow: 0 6px 15px rgba(44, 62, 80, 0.15);
			background-color: #2980b9;
		}
		.cccpr-button:hover::before,
		.cccpr-button-secondary:hover::before,
		.cccpr-auth-btn:hover::before,
		.cccpr-auth-btn-primary:hover::before {
			left: 100%;
		}
		.cccpr-button:active,
		.cccpr-button-secondary:active,
		.cccpr-auth-btn:active,
		.cccpr-auth-btn-primary:active {
			transform: translateY(-1px);
			box-shadow: 0 3px 8px rgba(44, 62, 80, 0.1);
		}
		.cccpr-button-secondary,
		.cccpr-auth-btn,
		.cccpr-auth-btn-primary {
			background-color: #3498db !important;
			color: #fff !important;
		}


		/* --- Reporte exclusivo para impresión (diseño basado en el PDF de referencia) --- */
		.cccpr-print-report,
		#cccpr-print-root {
			display: none;
		}

		@page {
			size: letter portrait;
			margin: 12mm 14mm 12mm 14mm;
		}

		@media print {
			html,
			body {
				background: #ffffff !important;
				margin: 0 !important;
				padding: 0 !important;
			}

			body > *:not(#cccpr-print-root) {
				display: none !important;
			}

			#cccpr-print-root,
			#cccpr-print-root .cccpr-print-report {
				display: block !important;
			}

			#cccpr-print-root {
				width: 100%;
				margin: 0;
				padding: 0;
			}

			.cccpr-print-report {
				width: 100%;
				background: #ffffff !important;
				color: #111111 !important;
				font-family: Arial, Helvetica, sans-serif !important;
				font-size: 9pt;
				line-height: 1.15;
				-webkit-print-color-adjust: exact;
				print-color-adjust: exact;
			}

			.cccpr-print-report-inner {
				width: 100%;
				max-width: 176mm;
				margin: 0 auto;
				padding-top: 2mm;
				box-sizing: border-box;
			}

			.cccpr-print-logo {
				width: 100%;
				margin: 0 0 5mm;
				padding: 0;
				text-align: center;
				break-inside: avoid;
			}

			.cccpr-print-logo img {
				display: block;
				width: auto;
				max-width: 52mm;
				max-height: 23mm;
				height: auto;
				margin: 0 auto;
				border: 0;
			}

			.cccpr-print-data-title {
				font-family: Arial, Helvetica, sans-serif !important;
				font-size: 16pt;
				font-weight: 400;
				line-height: 1.1;
				text-align: center;
				color: #111111 !important;
				margin: 0 0 4mm;
			}

			.cccpr-print-results-title {
				font-family: Arial, Helvetica, sans-serif !important;
				font-size: 16pt;
				font-weight: 700;
				line-height: 1.1;
				text-align: center;
				color: #111111 !important;
				margin: 2.5mm 0 3mm;
			}

			.cccpr-print-section-title {
				font-family: Arial, Helvetica, sans-serif !important;
				font-size: 10.5pt;
				font-weight: 700;
				line-height: 1.1;
				text-align: center;
				color: #111111 !important;
				margin: 2.4mm 0 1.5mm;
				break-after: avoid;
			}

			.cccpr-print-table {
				width: 100%;
				border-collapse: collapse;
				table-layout: fixed;
				margin: 0;
				break-inside: avoid;
			}

			.cccpr-print-table--children {
				break-inside: auto;
			}

			.cccpr-print-table tr {
				break-inside: avoid;
			}

			.cccpr-print-table td {
				width: 50%;
				vertical-align: top;
				padding: 0 1.5mm 1.5mm 0;
			}

			.cccpr-print-table td + td {
				padding-left: 1.5mm;
				padding-right: 0;
			}

			.cccpr-print-table tr:last-child td {
				padding-bottom: 0;
			}

			.cccpr-print-table td.cccpr-print-cell--full {
				width: 100%;
				padding-left: 0;
				padding-right: 0;
			}

			.cccpr-print-table td.cccpr-print-empty-cell {
				border: none;
			}

			.cccpr-print-field {
				box-sizing: border-box;
				width: 100%;
				min-height: 12mm;
				padding: 1.5mm 2.5mm 1.2mm;
				border: 0.35mm solid #b5b5b5;
				border-radius: 1.2mm;
				background: #ffffff !important;
				color: #111111 !important;
				break-inside: avoid;
			}


			.cccpr-print-field--summary {
				text-align: center;
				padding-top: 1.8mm;
				padding-bottom: 1.8mm;
			}

			.cccpr-print-field-label,
			.cccpr-print-field-value {
				display: block;
				font-family: Arial, Helvetica, sans-serif !important;
				color: #111111 !important;
			}

			.cccpr-print-field-label {
				font-size: 8pt;
				font-weight: 400;
				line-height: 1.05;
				margin-bottom: 0.6mm;
			}

			.cccpr-print-field-value {
				font-size: 11.5pt;
				font-weight: 400;
				line-height: 1.05;
			}

			.cccpr-print-field-label--bold,
			.cccpr-print-field-value--bold {
				font-weight: 700 !important;
			}

			.cccpr-print-divider {
				border-top: 0.35mm solid #999999;
				margin: 2.5mm 0 0;
			}

			.cccpr-print-total {
				box-sizing: border-box;
				margin-top: 2.5mm;
				padding: 2.2mm 3mm;
				border: 0.4mm solid #333333;
				border-radius: 1mm;
				text-align: center;
				background: #ffffff !important;
				color: #111111 !important;
				break-inside: avoid;
			}

			.cccpr-print-total-label,
			.cccpr-print-total-value {
				display: block;
				font-family: Arial, Helvetica, sans-serif !important;
				color: #111111 !important;
			}

			.cccpr-print-total-label {
				font-size: 9pt;
				font-weight: 400;
				margin-bottom: 0.8mm;
			}

			.cccpr-print-total-value {
				font-size: 16pt;
				font-weight: 700;
				line-height: 1;
			}

			.cccpr-results-actions,
			.cccpr-result-section,
			.cccpr-result-total,
			#cccpr-spinner {
				visibility: hidden !important;
			}
		}
