/**
 * Estilos compartidos por todos los shortcodes Tresnak (marca unificada).
 */

:root {
	--tresnak-color-bg: #f6f7f9;
	--tresnak-color-surface: #ffffff;
	--tresnak-color-border: #e2e5ec;
	--tresnak-color-text: #1a1d26;
	--tresnak-color-muted: #5c6477;
	--tresnak-color-accent: #2563eb;
	--tresnak-color-accent-hover: #1d4ed8;
	/* Botón «Compartir»: distinto del primary (azul) y del secondary (blanco). */
	--tresnak-color-share: #0d9488;
	--tresnak-color-share-hover: #0f766e;
	--tresnak-radius: 12px;
	--tresnak-shadow: 0 8px 24px rgba(26, 29, 38, 0.08);
	--tresnak-font: system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif;
	--tresnak-space: 1rem;
	--tresnak-max-width: 80rem;
}

.tresnak-panel {
	box-sizing: border-box;
	max-width: var(--tresnak-max-width);
	margin-left: auto;
	margin-right: auto;
	margin-bottom: calc(var(--tresnak-space) * 1.5);
	padding: calc(var(--tresnak-space) * 0.45) calc(var(--tresnak-space) * 0.65);
	font-family: var(--tresnak-font);
	color: var(--tresnak-color-text);
	background: var(--tresnak-color-surface);
	border: 1px solid var(--tresnak-color-border);
	border-radius: var(--tresnak-radius);
	box-shadow: var(--tresnak-shadow);
}

.tresnak-panel *,
.tresnak-panel *::before,
.tresnak-panel *::after {
	box-sizing: border-box;
}

.tresnak-panel__header {
	margin-bottom: calc(var(--tresnak-space) * 0.4);
	padding-bottom: calc(var(--tresnak-space) * 0.35);
	border-bottom: 1px solid var(--tresnak-color-border);
}

.tresnak-panel__title {
	margin: 0 0 0.35em;
	font-size: clamp(1.25rem, 2.5vw, 1.6rem);
	font-weight: 700;
	line-height: 1.25;
}

.tresnak-panel__description {
	margin: 0;
	font-size: clamp(0.9rem, 2vw, 1rem);
	color: var(--tresnak-color-muted);
	line-height: 1.5;
}

.tresnak-panel__body {
	font-size: clamp(0.9rem, 2vw, 1rem);
	line-height: 1.55;
}

.tresnak-placeholder {
	padding: var(--tresnak-space);
	background: var(--tresnak-color-bg);
	border-radius: calc(var(--tresnak-radius) - 4px);
}

.tresnak-placeholder__text,
.tresnak-placeholder__hint {
	margin: 0 0 0.75em;
}

.tresnak-placeholder__hint:last-child,
.tresnak-placeholder__text:last-child {
	margin-bottom: 0;
}

.tresnak-placeholder__hint {
	color: var(--tresnak-color-muted);
	font-size: 0.95em;
}

@media (max-width: 600px) {
	.tresnak-panel {
		padding: calc(var(--tresnak-space) * 0.4) calc(var(--tresnak-space) * 0.5);
		margin-left: 0;
		margin-right: 0;
		border-radius: calc(var(--tresnak-radius) - 4px);
	}
}

/* Utilidades */
.tresnak-is-hidden {
	display: none !important;
}

/* Sueldo neto */
.tresnak-sueldo-neto__sources {
	margin: 0 0 1.25rem;
	padding: var(--tresnak-space);
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
}

.tresnak-sueldo-neto__sources-title {
	margin: 0 0 0.5em;
	font-weight: 700;
	font-size: 0.95em;
}

.tresnak-sueldo-neto__sources-list {
	margin: 0;
	padding-left: 1.2em;
	font-size: 0.9em;
	line-height: 1.5;
}

.tresnak-sueldo-neto__sources-link {
	color: var(--tresnak-color-accent);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.tresnak-sueldo-neto__sources-link:hover {
	color: var(--tresnak-color-accent-hover);
}

.tresnak-sueldo-neto__fieldset {
	margin: 0 0 1rem;
	padding: 0;
	border: 0;
}

.tresnak-sueldo-neto__legend {
	padding: 0;
	font-weight: 700;
	font-size: 0.95em;
	margin-bottom: 0.5rem;
}

.tresnak-sueldo-neto__radios {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.tresnak-sueldo-neto__radio-label {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	cursor: pointer;
	font-size: 0.95em;
	line-height: 1.45;
}

.tresnak-sueldo-neto__radio {
	margin-top: 0.2em;
	flex-shrink: 0;
}

.tresnak-sueldo-neto__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-bottom: 1rem;
	align-items: start;
}

@media (min-width: 640px) {
	.tresnak-sueldo-neto__grid {
		grid-template-columns: 1fr 1fr;
	}

	.tresnak-sueldo-neto__field--children {
		grid-column: 1 / -1;
	}
}

@media (min-width: 880px) {
	.tresnak-sueldo-neto__grid {
		grid-template-columns: 1fr 1fr 1fr;
	}

	.tresnak-sueldo-neto__field--children {
		grid-column: auto;
	}
}

.tresnak-sueldo-neto__field {
	min-width: 0;
}

.tresnak-sueldo-neto__hint-below-grid {
	margin: -0.35rem 0 1rem;
}

.tresnak-sueldo-neto__actions {
	margin-bottom: 1rem;
}

.tresnak-sueldo-neto__advanced-details,
.tresnak-sueldo-neto__calc-details {
	margin: 0 0 1rem;
	padding: 0.8rem 0.9rem;
	border: 1px solid var(--tresnak-color-border);
	background: #fff;
	border-radius: 8px;
}

.tresnak-sueldo-neto__advanced-summary,
.tresnak-sueldo-neto__calc-summary {
	cursor: pointer;
	font-weight: 600;
}

.tresnak-sueldo-neto__advanced-grid {
	margin-top: 0.85rem;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.85rem;
}

@media (min-width: 760px) {
	.tresnak-sueldo-neto__advanced-grid {
		grid-template-columns: 1fr 1fr;
	}
}

/* Codificador/decodificador Base64 */
.tresnak-base64__toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem 1rem;
	align-items: center;
	margin-bottom: 0.9rem;
}

.tresnak-base64__modes {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.tresnak-base64__mode.is-active {
	background: var(--tresnak-color-accent, #2563eb);
	color: #fff;
	border-color: var(--tresnak-color-accent, #2563eb);
	box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);
}

.tresnak-base64__check {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.93rem;
}

.tresnak-base64__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.9rem;
}

.tresnak-base64__label-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.6rem;
	margin-bottom: 0.3rem;
}

.tresnak-base64__label-row .tresnak-field__label {
	margin: 0;
}

.tresnak-base64__input,
.tresnak-base64__output {
	min-height: 10rem;
	resize: vertical;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
	line-height: 1.45;
}

.tresnak-base64__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.85rem;
}

.tresnak-base64__meta {
	margin: 0.55rem 0 0;
	font-size: 0.86rem;
	color: #475467;
}

.tresnak-base64__suggestion {
	margin: 0.55rem 0 0;
	padding: 0.5rem 0.65rem;
	font-size: 0.88rem;
	font-weight: 600;
	line-height: 1.35;
	color: #1d4ed8;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	border-radius: var(--tresnak-radius-md, 8px);
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

.tresnak-base64__suggestion-btn {
	padding: 0.35rem 0.6rem;
	font-size: 0.82rem;
}

.tresnak-base64__shortcut-hint {
	margin: 0.5rem 0 0;
	font-size: 0.84rem;
	color: #475467;
}

.tresnak-base64__status {
	margin: 0.6rem 0 0;
	padding: 0.55rem 0.75rem;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--tresnak-color-accent, #2563eb);
	background: var(--tresnak-color-surface-muted, #f0f4fa);
	border: 1px solid var(--tresnak-color-border, #d8dee4);
	border-radius: var(--tresnak-radius-md, 8px);
}

.tresnak-base64__status[data-tresnak-b64-error='1'] {
	color: #b42318;
	background: #fef2f2;
	border-color: #fecdca;
}

.tresnak-base64__file,
.tresnak-base64__history {
	margin: 1rem 0 1.15rem;
	padding: 0.8rem;
	border: 1px solid var(--tresnak-color-border, #d8dee4);
	border-radius: var(--tresnak-radius-md, 8px);
	background: #fff;
}

.tresnak-base64__subttl {
	margin: 0 0 0.6rem;
	font-size: 1rem;
}

.tresnak-base64__history-list {
	margin: 0;
	padding-left: 1.1rem;
}

.tresnak-base64__history-empty {
	margin: 0;
	font-size: 0.9rem;
	color: #475467;
}

.tresnak-base64__history-item {
	margin: 0.45rem 0;
}

.tresnak-base64__history-meta {
	margin: 0 0 0.15rem;
	font-size: 0.78rem;
	color: #475467;
}

.tresnak-base64__history-preview {
	margin: 0 0 0.3rem;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
	font-size: 0.82rem;
	line-height: 1.35;
	word-break: break-all;
}

.tresnak-base64__history-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

@media (min-width: 840px) {
	.tresnak-base64__grid {
		grid-template-columns: 1fr 1fr;
	}
}

/* Verificador de IBAN */
.tresnak-verificador-iban__subtitle {
	margin: 0 0 0.75rem;
	font-size: clamp(0.9rem, 2.2vw, 1rem);
	font-weight: 600;
	color: var(--tresnak-color-muted, #5c6477);
	line-height: 1.45;
}

.tresnak-verificador-iban__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.65rem 1rem;
	margin-bottom: 0.85rem;
}

.tresnak-verificador-iban__country-wrap {
	flex: 1 1 12rem;
	min-width: min(100%, 10rem);
	margin-bottom: 0;
}

.tresnak-verificador-iban__country-wrap .tresnak-field__input,
.tresnak-verificador-iban__country-wrap .tresnak-field__select {
	width: 100%;
	max-width: 100%;
	font-size: max(1rem, 16px);
	font-family: var(--tresnak-font), "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif;
}

.tresnak-verificador-iban__toolbar .tresnak-verificador-iban__options {
	margin-bottom: 0;
	flex: 0 0 auto;
	white-space: nowrap;
}

.tresnak-verificador-iban__live-hint {
	min-height: 1.35em;
	margin: 0.35rem 0 0.5rem;
	font-size: clamp(0.88rem, 2vw, 0.95rem);
	color: var(--tresnak-color-muted, #5c6477);
	line-height: 1.45;
	font-family: var(--tresnak-font), "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif;
}

.tresnak-verificador-iban__steps {
	margin: 0.25rem 0 0;
	padding-left: 0;
	list-style: none;
}

.tresnak-verificador-iban__step {
	margin: 0.35rem 0;
	padding: 0.35rem 0 0.35rem 0.65rem;
	border-left: 3px solid #cbd5e1;
	font-size: 0.92rem;
	line-height: 1.45;
}

.tresnak-verificador-iban__step--ok {
	border-left-color: #22c55e;
}

.tresnak-verificador-iban__step--err {
	border-left-color: #ef4444;
}

.tresnak-verificador-iban__out-ccc--ok {
	color: #15803d;
	font-weight: 600;
}

.tresnak-verificador-iban__out-ccc--err {
	color: #b91c1c;
	font-weight: 600;
}

.tresnak-verificador-iban__options {
	margin-bottom: 0.75rem;
}

.tresnak-verificador-iban__check {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.93rem;
}

.tresnak-verificador-iban__field {
	display: block;
	margin-bottom: 0.35rem;
}

.tresnak-verificador-iban__input {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
	/* 16px mínimo: evita zoom automático en iOS al enfocar */
	font-size: max(1rem, 16px);
	letter-spacing: 0.02em;
}

.tresnak-verificador-iban__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.85rem;
}

@media (max-width: 480px) {
	.tresnak-verificador-iban__actions .tresnak-button {
		flex: 1 1 calc(50% - 0.25rem);
		min-width: 8.5rem;
		justify-content: center;
	}
}

.tresnak-verificador-iban__status {
	margin: 0.85rem 0 0;
	padding: 0.65rem 0.85rem;
	border-radius: 8px;
	font-size: 0.95rem;
	font-weight: 600;
}

.tresnak-verificador-iban__status--ok {
	background: #ecfdf3;
	border: 1px solid #abefc6;
	color: #067647;
}

.tresnak-verificador-iban__status--err {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #991b1b;
}

.tresnak-verificador-iban__details {
	margin-top: 1rem;
	padding: var(--tresnak-space, 1rem);
	background: var(--tresnak-color-bg, #f8fafc);
	border: 1px solid var(--tresnak-color-border, #e2e8f0);
	border-radius: calc(var(--tresnak-radius, 12px) - 4px);
}

.tresnak-verificador-iban__details-title {
	margin: 0 0 0.65rem;
	font-size: 1.02rem;
	font-weight: 700;
}

.tresnak-verificador-iban__dl {
	margin: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.35rem 0.75rem;
}

@media (min-width: 640px) {
	.tresnak-verificador-iban__dl {
		grid-template-columns: minmax(8rem, 11rem) 1fr;
	}
}

.tresnak-verificador-iban__dt {
	margin: 0;
	font-weight: 600;
	font-size: 0.88rem;
	color: #475569;
}

.tresnak-verificador-iban__dd {
	margin: 0;
	font-size: 0.95rem;
	word-break: break-all;
}

.tresnak-verificador-iban__out-country {
	font-family: var(--tresnak-font), "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif;
}

.tresnak-verificador-iban__mono {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
	font-size: 0.92rem;
	line-height: 1.45;
}

.tresnak-verificador-iban__es-part {
	white-space: normal;
}

.tresnak-verificador-iban__privacy-hint {
	margin-top: 1rem;
}

.tresnak-verificador-iban__help {
	margin-top: 1.5rem;
}

/* Verificador de DNI, NIE y CIF */
.tresnak-verificador-dni-nie-cif__subtitle {
	margin: 0 0 0.75rem;
	font-size: clamp(0.9rem, 2.2vw, 1rem);
	font-weight: 600;
	color: var(--tresnak-color-muted, #5c6477);
	line-height: 1.45;
}

.tresnak-verificador-dni-nie-cif__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.65rem 1rem;
	margin-bottom: 0.85rem;
}

.tresnak-verificador-dni-nie-cif__live-hint {
	min-height: 1.35em;
	margin: 0.35rem 0 0.5rem;
	font-size: clamp(0.88rem, 2vw, 0.95rem);
	color: var(--tresnak-color-muted, #5c6477);
	line-height: 1.45;
}

.tresnak-verificador-dni-nie-cif__steps {
	margin: 0.25rem 0 0;
	padding-left: 0;
	list-style: none;
}

.tresnak-verificador-dni-nie-cif__step {
	margin: 0.35rem 0;
	padding: 0.35rem 0 0.35rem 0.65rem;
	border-left: 3px solid #cbd5e1;
	font-size: 0.92rem;
	line-height: 1.45;
}

.tresnak-verificador-dni-nie-cif__step--ok {
	border-left-color: #22c55e;
}

.tresnak-verificador-dni-nie-cif__step--err {
	border-left-color: #ef4444;
}

.tresnak-verificador-dni-nie-cif__status:focus-visible {
	outline: 2px solid #2563eb;
	outline-offset: 2px;
}

.tresnak-verificador-dni-nie-cif__options {
	margin-bottom: 0;
}

.tresnak-verificador-dni-nie-cif__check {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.93rem;
}

.tresnak-verificador-dni-nie-cif__field {
	display: block;
	margin-bottom: 0.35rem;
}

.tresnak-verificador-dni-nie-cif__input {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
	font-size: max(1rem, 16px);
	letter-spacing: 0.04em;
}

.tresnak-verificador-dni-nie-cif__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.85rem;
}

@media (max-width: 480px) {
	.tresnak-verificador-dni-nie-cif__actions .tresnak-button {
		flex: 1 1 calc(50% - 0.25rem);
		min-width: 8.5rem;
		justify-content: center;
	}
}

.tresnak-verificador-dni-nie-cif__status {
	margin: 0.85rem 0 0;
	padding: 0.65rem 0.85rem;
	border-radius: 8px;
	font-size: 0.95rem;
	font-weight: 600;
}

.tresnak-verificador-dni-nie-cif__status--ok {
	background: #ecfdf3;
	border: 1px solid #abefc6;
	color: #067647;
}

.tresnak-verificador-dni-nie-cif__status--err {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #991b1b;
}

.tresnak-verificador-dni-nie-cif__details {
	margin-top: 1rem;
	padding: var(--tresnak-space, 1rem);
	background: var(--tresnak-color-bg, #f8fafc);
	border: 1px solid var(--tresnak-color-border, #e2e8f0);
	border-radius: calc(var(--tresnak-radius, 12px) - 4px);
}

.tresnak-verificador-dni-nie-cif__details-title {
	margin: 0 0 0.65rem;
	font-size: 1.02rem;
	font-weight: 700;
}

.tresnak-verificador-dni-nie-cif__dl {
	margin: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.35rem 0.75rem;
}

@media (min-width: 640px) {
	.tresnak-verificador-dni-nie-cif__dl {
		grid-template-columns: minmax(8rem, 11rem) 1fr;
	}
}

.tresnak-verificador-dni-nie-cif__dt {
	margin: 0;
	font-weight: 600;
	font-size: 0.88rem;
	color: #475569;
}

.tresnak-verificador-dni-nie-cif__dd {
	margin: 0;
	font-size: 0.95rem;
	word-break: break-all;
}

.tresnak-verificador-dni-nie-cif__mono {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
	font-size: 0.92rem;
	line-height: 1.45;
}

.tresnak-verificador-dni-nie-cif__privacy-hint {
	margin: 0;
}

.tresnak-verificador-dni-nie-cif__help {
	margin-top: 1.5rem;
}

.tresnak-verificador-dni-nie-cif__intro {
	margin: 0 0 1rem;
	font-size: clamp(0.92rem, 2.1vw, 1.02rem);
	line-height: 1.55;
	color: var(--tresnak-color-text, #1e293b);
}

.tresnak-verificador-dni-nie-cif__aeat-notice {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	border-radius: 8px;
	border: 1px solid #fcd34d;
	background: #fffbeb;
	color: #92400e;
	font-size: clamp(0.88rem, 2vw, 0.96rem);
	line-height: 1.5;
}

.tresnak-verificador-dni-nie-cif__aeat-notice-text {
	margin: 0;
}

.tresnak-verificador-dni-nie-cif__calc {
	margin: 0 0 1.25rem;
	padding: 0.85rem 1rem 1rem;
	border: 1px solid var(--tresnak-color-border, #e2e8f0);
	border-radius: calc(var(--tresnak-radius, 12px) - 4px);
	background: var(--tresnak-color-bg, #f8fafc);
}

.tresnak-verificador-dni-nie-cif__calc-legend {
	padding: 0 0.35rem;
	font-size: 1rem;
	font-weight: 700;
}

.tresnak-verificador-dni-nie-cif__calc-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem 1.25rem;
}

@media (min-width: 720px) {
	.tresnak-verificador-dni-nie-cif__calc-grid {
		grid-template-columns: 1fr 1fr;
	}
}

.tresnak-verificador-dni-nie-cif__calc-block {
	min-width: 0;
}

.tresnak-verificador-dni-nie-cif__calc-title {
	margin: 0 0 0.5rem;
	font-size: 0.92rem;
	font-weight: 600;
	color: #475569;
}

.tresnak-verificador-dni-nie-cif__calc-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.5rem 0.65rem;
}

.tresnak-verificador-dni-nie-cif__calc-row--nie {
	align-items: flex-end;
}

.tresnak-verificador-dni-nie-cif__calc-field {
	margin-bottom: 0;
	flex: 0 1 auto;
}

.tresnak-verificador-dni-nie-cif__calc-field--grow {
	flex: 1 1 10rem;
	min-width: min(100%, 8rem);
}

.tresnak-verificador-dni-nie-cif__calc-field .tresnak-field__input,
.tresnak-verificador-dni-nie-cif__calc-field .tresnak-field__select {
	font-size: max(1rem, 16px);
}

.tresnak-verificador-dni-nie-cif__calc-out {
	min-height: 1.35em;
	margin: 0.5rem 0 0.45rem;
	font-size: 0.93rem;
	line-height: 1.45;
	word-break: break-word;
}

.tresnak-verificador-dni-nie-cif__privacy-wrap {
	margin-top: 1rem;
	padding-top: 0.85rem;
	border-top: 1px solid var(--tresnak-color-border, #e2e8f0);
}

.tresnak-verificador-dni-nie-cif__remember-note {
	margin: 0 0 0.5rem;
	padding: 0.55rem 0.75rem;
	border-radius: 8px;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.45;
}

.tresnak-verificador-dni-nie-cif__remember-note--on {
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #1e40af;
}

.tresnak-verificador-dni-nie-cif__remember-note--off {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	color: #475569;
}

.tresnak-verificador-dni-nie-cif__step:focus-visible {
	outline: 2px solid #2563eb;
	outline-offset: 2px;
}

.tresnak-sueldo-neto__advanced-hint {
	margin-top: 0.75rem;
}

.tresnak-sueldo-neto__error {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	background: #fef2f2;
	border: 1px solid #fecaca;
	border-radius: 8px;
	color: #991b1b;
	font-size: 0.95em;
}

.tresnak-sueldo-neto__error--ok {
	background: #ecfdf3;
	border-color: #abefc6;
	color: #067647;
}

.tresnak-sueldo-neto__results {
	margin: 0 0 1.25rem;
	padding: var(--tresnak-space);
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
}

.tresnak-sueldo-neto__h3 {
	margin: 0 0 0.75em;
	font-size: 1.05rem;
	font-weight: 700;
}

.tresnak-sueldo-neto__dl {
	margin: 0;
}

.tresnak-sueldo-neto__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.15rem 0.75rem;
	padding: 0.55rem 0;
	border-bottom: 1px solid var(--tresnak-color-border);
}

@media (min-width: 520px) {
	.tresnak-sueldo-neto__row {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
		align-items: baseline;
	}
}

.tresnak-sueldo-neto__row:last-child {
	border-bottom: 0;
}

.tresnak-sueldo-neto__row--highlight {
	background: rgba(37, 99, 235, 0.06);
	margin: 0 -0.35rem;
	padding-left: 0.35rem;
	padding-right: 0.35rem;
	border-radius: 6px;
	border-bottom: 0;
}

.tresnak-sueldo-neto__dt {
	margin: 0;
	font-weight: 600;
	font-size: 0.92em;
	color: var(--tresnak-color-text);
}

.tresnak-sueldo-neto__dd {
	margin: 0;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	text-align: left;
}

@media (min-width: 520px) {
	.tresnak-sueldo-neto__dd {
		text-align: right;
	}
}

.tresnak-sueldo-neto__legal-box {
	margin-top: calc(var(--tresnak-space) * 1.25);
	padding: var(--tresnak-space);
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
	font-size: 0.88em;
	line-height: 1.5;
	color: var(--tresnak-color-muted);
}

.tresnak-sueldo-neto__legal-title {
	margin: 0 0 0.5em;
	font-weight: 700;
	color: var(--tresnak-color-text);
	font-size: 0.95em;
}

.tresnak-sueldo-neto__legal-text {
	margin: 0;
}

.tresnak-sueldo-neto__result-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 1rem;
}

.tresnak-sueldo-neto__btn-hipoteca {
	text-decoration: none;
}

.tresnak-sueldo-neto__calc-content {
	margin-top: 0.75rem;
	font-size: 0.9em;
	line-height: 1.5;
	color: var(--tresnak-color-muted);
}

.tresnak-sueldo-neto__calc-content p {
	margin: 0 0 0.5em;
}

.tresnak-sueldo-neto__calc-content p:last-child {
	margin-bottom: 0;
}

.tresnak-sueldo-neto__calc-meta {
	font-weight: 600;
	color: var(--tresnak-color-text);
}

/* Hipoteca */
.tresnak-tabs {
	display: inline-flex;
	gap: 0.35rem;
	margin: 0 0 1rem;
	padding: 0.2rem;
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: 10px;
}

.tresnak-tab {
	border: 1px solid transparent;
	background: transparent;
	color: var(--tresnak-color-muted);
	font: inherit;
	font-size: 0.9rem;
	font-weight: 600;
	padding: 0.45rem 0.8rem;
	border-radius: 8px;
	cursor: pointer;
}

.tresnak-tab.is-active {
	background: #fff;
	color: var(--tresnak-color-text);
	border-color: var(--tresnak-color-border);
}

.tresnak-tab:focus-visible {
	outline: 2px solid var(--tresnak-color-accent);
	outline-offset: 2px;
}

.tresnak-hipoteca__tab-panel {
	margin-bottom: 0.5rem;
}

@media (max-width: 600px) {
	.tresnak-tabs {
		display: flex;
		width: 100%;
		flex-wrap: wrap;
	}

	.tresnak-tab {
		flex: 1 1 50%;
		text-align: center;
	}
}

.tresnak-hipoteca__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
	gap: calc(var(--tresnak-space) * 1.1);
	margin-bottom: calc(var(--tresnak-space) * 1.25);
}

.tresnak-hipoteca__field--net-income {
	grid-column: 1 / -1;
	max-width: min(100%, 28rem);
}

.tresnak-hipoteca__effort {
	margin-top: calc(var(--tresnak-space) * 1.25);
	padding-top: calc(var(--tresnak-space) * 1);
	border-top: 1px solid var(--tresnak-color-border);
}

.tresnak-hipoteca__effort-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.25rem;
	margin: 0.35em 0 0;
}

.tresnak-hipoteca__effort-gauge {
	flex: 0 0 auto;
}

.tresnak-hipoteca__effort-gauge-inner {
	display: flex;
	gap: 5px;
	align-items: stretch;
	height: 2.35rem;
	min-width: 5.75rem;
	padding: 0.35rem 0.5rem;
	background: #fff;
	border: 1px solid var(--tresnak-color-border);
	border-radius: 10px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.tresnak-hipoteca__effort-gauge-seg {
	flex: 1 1 0;
	min-width: 0;
	max-width: 14px;
	box-sizing: border-box;
	border: 2px solid #d1d5db;
	border-radius: 4px;
	background: #e8eaed;
	transition: background 0.22s ease, transform 0.22s ease, border-color 0.22s ease;
}

.tresnak-hipoteca__effort-gauge--lv1 .tresnak-hipoteca__effort-gauge-seg:nth-child(1) {
	background: #15803d;
	border-color: #15803d;
}

.tresnak-hipoteca__effort-gauge--lv2 .tresnak-hipoteca__effort-gauge-seg:nth-child(1) {
	background: #15803d;
	border-color: #15803d;
}

.tresnak-hipoteca__effort-gauge--lv2 .tresnak-hipoteca__effort-gauge-seg:nth-child(2) {
	background: #4d7c0f;
	border-color: #4d7c0f;
}

.tresnak-hipoteca__effort-gauge--lv3 .tresnak-hipoteca__effort-gauge-seg:nth-child(1) {
	background: #15803d;
	border-color: #15803d;
}

.tresnak-hipoteca__effort-gauge--lv3 .tresnak-hipoteca__effort-gauge-seg:nth-child(2) {
	background: #4d7c0f;
	border-color: #4d7c0f;
}

.tresnak-hipoteca__effort-gauge--lv3 .tresnak-hipoteca__effort-gauge-seg:nth-child(3) {
	background: #a16207;
	border-color: #a16207;
}

.tresnak-hipoteca__effort-gauge--lv4 .tresnak-hipoteca__effort-gauge-seg:nth-child(1) {
	background: #15803d;
	border-color: #15803d;
}

.tresnak-hipoteca__effort-gauge--lv4 .tresnak-hipoteca__effort-gauge-seg:nth-child(2) {
	background: #4d7c0f;
	border-color: #4d7c0f;
}

.tresnak-hipoteca__effort-gauge--lv4 .tresnak-hipoteca__effort-gauge-seg:nth-child(3) {
	background: #a16207;
	border-color: #a16207;
}

.tresnak-hipoteca__effort-gauge--lv4 .tresnak-hipoteca__effort-gauge-seg:nth-child(4) {
	background: #c2410c;
	border-color: #c2410c;
}

.tresnak-hipoteca__effort-gauge--lv5 .tresnak-hipoteca__effort-gauge-seg:nth-child(1) {
	background: #15803d;
	border-color: #15803d;
}

.tresnak-hipoteca__effort-gauge--lv5 .tresnak-hipoteca__effort-gauge-seg:nth-child(2) {
	background: #4d7c0f;
	border-color: #4d7c0f;
}

.tresnak-hipoteca__effort-gauge--lv5 .tresnak-hipoteca__effort-gauge-seg:nth-child(3) {
	background: #a16207;
	border-color: #a16207;
}

.tresnak-hipoteca__effort-gauge--lv5 .tresnak-hipoteca__effort-gauge-seg:nth-child(4) {
	background: #c2410c;
	border-color: #c2410c;
}

.tresnak-hipoteca__effort-gauge--lv5 .tresnak-hipoteca__effort-gauge-seg:nth-child(5) {
	background: #b91c1c;
	border-color: #b91c1c;
	transform: scaleY(1.06);
	transform-origin: center bottom;
}

.tresnak-hipoteca__effort-copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.15em;
	flex: 1 1 12rem;
	min-width: min(100%, 18rem);
}

.tresnak-hipoteca__effort-kicker {
	font-weight: 600;
	font-size: 0.95em;
}

.tresnak-hipoteca__effort-pct {
	font-size: clamp(1.35rem, 4vw, 1.85rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
	transition: color 0.2s ease;
	color: var(--tresnak-color-text);
}

.tresnak-hipoteca__effort-pct--level-1 {
	color: #15803d;
}

.tresnak-hipoteca__effort-pct--level-2 {
	color: #4d7c0f;
}

.tresnak-hipoteca__effort-pct--level-3 {
	color: #a16207;
}

.tresnak-hipoteca__effort-pct--level-4 {
	color: #c2410c;
}

.tresnak-hipoteca__effort-pct--level-5 {
	color: #b91c1c;
}

.tresnak-hipoteca__effort-note {
	margin: 0.65em 0 0;
	font-size: 0.85em;
	color: var(--tresnak-color-muted);
	line-height: 1.45;
	max-width: 40rem;
}

.tresnak-hipoteca__effort-bands-intro {
	margin: 0.75em 0 0.35em;
	font-size: 0.85em;
	font-weight: 600;
	color: var(--tresnak-color-text);
	line-height: 1.45;
	max-width: 40rem;
}

.tresnak-hipoteca__effort-bands {
	margin: 0.25em 0 0;
	padding-left: 1.2em;
	font-size: 0.82em;
	color: var(--tresnak-color-muted);
	line-height: 1.5;
	max-width: 40rem;
}

.tresnak-hipoteca__effort-bands li {
	margin: 0.2em 0 0;
}

.tresnak-hipoteca__effort-bands-foot {
	margin: 0.5em 0 0;
	font-size: 0.8em;
	color: var(--tresnak-color-muted);
	line-height: 1.45;
	font-style: italic;
	max-width: 40rem;
}

.tresnak-field__label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.35em;
	font-size: 0.95em;
}

.tresnak-field__input {
	width: 100%;
	max-width: 100%;
	padding: 0.65em 0.75em;
	font: inherit;
	color: var(--tresnak-color-text);
	background: #fff;
	border: 1px solid var(--tresnak-color-border);
	border-radius: 8px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.tresnak-field__input:focus {
	outline: none;
	border-color: var(--tresnak-color-accent);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2);
}

.tresnak-field__hint {
	margin: 0.45em 0 0;
	font-size: 0.85em;
	color: var(--tresnak-color-muted);
	line-height: 1.45;
}

.tresnak-hipoteca__actions {
	margin-bottom: calc(var(--tresnak-space) * 1);
}

.tresnak-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.65em 1.25em;
	font: inherit;
	font-weight: 600;
	border-radius: 8px;
	border: 1px solid transparent;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.tresnak-button:disabled,
.tresnak-button[disabled] {
	opacity: 0.55;
	cursor: not-allowed;
	filter: grayscale(0.12);
	pointer-events: none;
}

.tresnak-newsletter-signup__actions {
	margin-top: 1rem;
	margin-bottom: 1rem;
}

.tresnak-newsletter-signup__form .tresnak-check {
	margin-top: 1.15rem;
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	line-height: 1.5;
}

.tresnak-newsletter-signup__form .tresnak-field + .tresnak-field {
	margin-top: 0.75rem;
}

.tresnak-inline-message {
	margin: 0 0 0.85rem;
	padding: 0.65rem 0.8rem;
	border-radius: 8px;
	border: 1px solid transparent;
	font-weight: 600;
	line-height: 1.45;
}

.tresnak-inline-message.is-error {
	background: #fef2f2;
	border-color: #fecaca;
	color: #991b1b;
}

.tresnak-inline-message.is-success {
	background: #f0fdf4;
	border-color: #bbf7d0;
	color: #166534;
}


.tresnak-button--primary {
	color: #fff;
	background: var(--tresnak-color-accent);
	border-color: var(--tresnak-color-accent);
}

.tresnak-button--primary:hover {
	background: var(--tresnak-color-accent-hover);
	border-color: var(--tresnak-color-accent-hover);
}

.tresnak-button--primary:focus-visible {
	outline: 2px solid var(--tresnak-color-accent);
	outline-offset: 2px;
}

.tresnak-button--secondary {
	color: var(--tresnak-color-text);
	background: #fff;
	border-color: var(--tresnak-color-border);
}

.tresnak-button--secondary:hover {
	border-color: var(--tresnak-color-muted);
	background: var(--tresnak-color-bg);
}

.tresnak-button--secondary:focus-visible {
	outline: 2px solid var(--tresnak-color-accent);
	outline-offset: 2px;
}

.tresnak-button--share {
	color: #fff;
	background: var(--tresnak-color-share);
	border-color: var(--tresnak-color-share);
}

.tresnak-button--share:hover {
	background: var(--tresnak-color-share-hover);
	border-color: var(--tresnak-color-share-hover);
}

.tresnak-button--share:focus-visible {
	outline: 2px solid var(--tresnak-color-share);
	outline-offset: 2px;
}

/* Euríbor (referencia BCE) */
.tresnak-euribor {
	margin-bottom: calc(var(--tresnak-space) * 1.35);
	padding: var(--tresnak-space);
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
}

.tresnak-euribor__title {
	margin: 0 0 0.4em;
	font-weight: 700;
	font-size: 1em;
}

.tresnak-euribor__value {
	margin: 0 0 0.35em;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35rem 0.75rem;
}

.tresnak-euribor__percent {
	font-size: clamp(1.15rem, 2.5vw, 1.35rem);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

.tresnak-euribor__period {
	color: var(--tresnak-color-muted);
	font-size: 0.95em;
}

.tresnak-euribor__notice,
.tresnak-euribor__source {
	margin: 0.35em 0 0;
	font-size: 0.85em;
	line-height: 1.45;
	color: var(--tresnak-color-muted);
}

.tresnak-euribor__link {
	color: var(--tresnak-color-accent);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.tresnak-euribor__link:hover {
	color: var(--tresnak-color-accent-hover);
}

.tresnak-euribor__actions {
	margin-top: calc(var(--tresnak-space) * 0.85);
	padding-top: var(--tresnak-space);
	border-top: 1px solid var(--tresnak-color-border);
}

.tresnak-euribor__field {
	margin-bottom: 0.85rem;
	max-width: 20rem;
}

.tresnak-euribor__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.tresnak-euribor__unavailable {
	margin: 0;
	font-size: 0.95em;
	color: var(--tresnak-color-muted);
}

.tresnak-hipoteca__error {
	margin: 0 0 var(--tresnak-space);
	padding: 0.65em 0.85em;
	font-size: 0.95em;
	color: #b42318;
	background: #fef3f2;
	border: 1px solid #fecdca;
	border-radius: 8px;
}

.tresnak-hipoteca__results {
	margin: calc(var(--tresnak-space) * 1.1) 0;
	padding: var(--tresnak-space);
	background: var(--tresnak-color-bg);
	border-radius: calc(var(--tresnak-radius) - 4px);
	border: 1px solid var(--tresnak-color-border);
}

.tresnak-hipoteca__dl {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.tresnak-hipoteca__row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.35rem 1rem;
	align-items: baseline;
}

@media (max-width: 480px) {
	.tresnak-hipoteca__row {
		grid-template-columns: 1fr;
	}
}

.tresnak-hipoteca__dt {
	margin: 0;
	font-weight: 600;
	color: var(--tresnak-color-muted);
	font-size: 0.92em;
}

.tresnak-hipoteca__dd {
	margin: 0;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	font-size: clamp(1rem, 2.2vw, 1.15rem);
	text-align: right;
}

@media (max-width: 480px) {
	.tresnak-hipoteca__dd {
		text-align: left;
	}
}

.tresnak-hipoteca__disclaimer {
	margin: calc(var(--tresnak-space) * 1.1) 0 0;
	font-size: 0.8rem;
	line-height: 1.5;
	color: var(--tresnak-color-muted);
}

/* Hipoteca: secciones avanzadas */
.tresnak-hipoteca__advanced-inputs {
	margin-bottom: calc(var(--tresnak-space) * 1.1);
	display: flex;
	flex-direction: column;
	gap: calc(var(--tresnak-space) * 1.1);
}

.tresnak-hipoteca__fieldset {
	margin: 0;
	padding: var(--tresnak-space);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
	background: #fff;
}

.tresnak-hipoteca__legend {
	padding: 0 0.35em;
	font-weight: 700;
	font-size: 1em;
}

.tresnak-hipoteca__legal-box {
	margin: 0.75rem 0 1rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid #f6d9b8;
	background: #fff8ee;
	border-radius: 8px;
}

.tresnak-hipoteca__legal-title {
	margin: 0 0 0.35rem;
	font-size: 0.9rem;
	font-weight: 700;
	color: #7c2d12;
}

.tresnak-hipoteca__legal-text {
	margin: 0.25rem 0 0;
	font-size: 0.84rem;
	line-height: 1.45;
	color: #78350f;
}

.tresnak-hipoteca__grid--narrow {
	max-width: 22rem;
}

.tresnak-field__select {
	appearance: auto;
	cursor: pointer;
}

.tresnak-hipoteca__advanced {
	margin: calc(var(--tresnak-space) * 1.1) 0;
	padding: var(--tresnak-space);
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
}

.tresnak-hipoteca__h3 {
	margin: 0 0 0.65em;
	font-size: 1.05rem;
	font-weight: 700;
}

.tresnak-hipoteca__advanced-inputs > .tresnak-hipoteca__stress {
	margin-top: calc(var(--tresnak-space) * 1);
	padding: var(--tresnak-space);
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
}

.tresnak-hipoteca__stress,
.tresnak-hipoteca__early-extra,
.tresnak-hipoteca__early-lump {
	margin-bottom: calc(var(--tresnak-space) * 1.1);
}

.tresnak-hipoteca__early-extra:last-child,
.tresnak-hipoteca__early-lump:last-child {
	margin-bottom: 0;
}

.tresnak-hipoteca__schedule-details {
	margin-top: calc(var(--tresnak-space) * 0.5);
	border: 1px solid var(--tresnak-color-border);
	border-radius: 8px;
	padding: 0.35rem 0.75rem 0.75rem;
	background: #fff;
}

.tresnak-hipoteca__summary {
	cursor: pointer;
	font-weight: 600;
	padding: 0.35rem 0;
	list-style: none;
}

.tresnak-hipoteca__summary::-webkit-details-marker {
	display: none;
}

.tresnak-hipoteca__table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin-top: 0.75rem;
}

.tresnak-hipoteca__table {
	width: 100%;
	min-width: 18rem;
	border-collapse: collapse;
	font-size: 0.88rem;
}

.tresnak-hipoteca__caption-screen {
	caption-side: top;
	text-align: left;
	font-weight: 600;
	margin-bottom: 0.5rem;
	font-size: 0.9rem;
}

.tresnak-hipoteca__th {
	text-align: left;
	padding: 0.45rem 0.5rem;
	border-bottom: 2px solid var(--tresnak-color-border);
	color: var(--tresnak-color-muted);
	font-weight: 600;
	white-space: nowrap;
}

.tresnak-hipoteca__td {
	padding: 0.4rem 0.5rem;
	border-bottom: 1px solid var(--tresnak-color-border);
}

.tresnak-hipoteca__td--num {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.tresnak-hipoteca__chart {
	margin: 0.75rem 0 0.25rem;
	max-width: 100%;
}

.tresnak-hipoteca__svg {
	width: 100%;
	height: auto;
	display: block;
}

.tresnak-hipoteca__bar--interest {
	fill: rgba(37, 99, 235, 0.65);
}

.tresnak-hipoteca__bar--principal {
	fill: rgba(16, 185, 129, 0.75);
}

.tresnak-hipoteca__legend-text {
	fill: var(--tresnak-color-muted);
	font-size: 11px;
}

.tresnak-hipoteca__storage-hint {
	margin: 0.75rem 0 0;
	font-size: 0.8rem;
	color: var(--tresnak-color-muted);
	line-height: 1.45;
}

.tresnak-hipoteca__compare-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--tresnak-space);
	margin-bottom: calc(var(--tresnak-space) * 1.1);
}

.tresnak-hipoteca__compare-col {
	padding: var(--tresnak-space);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
	background: var(--tresnak-color-bg);
}

@media (max-width: 760px) {
	.tresnak-hipoteca__compare-grid {
		grid-template-columns: 1fr;
	}
}

.tresnak-glossary {
	margin-top: calc(var(--tresnak-space) * 1.2);
	padding: var(--tresnak-space);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
	background: var(--tresnak-color-bg);
}

.tresnak-glossary__title {
	margin: 0 0 0.35rem;
	font-size: 1.05rem;
}

.tresnak-glossary__intro {
	margin: 0 0 0.8rem;
	color: var(--tresnak-color-muted);
	font-size: 0.9rem;
}

.tresnak-glossary__item {
	background: #fff;
	border: 1px solid var(--tresnak-color-border);
	border-radius: 8px;
	padding: 0.35rem 0.75rem;
}

.tresnak-glossary__item + .tresnak-glossary__item {
	margin-top: 0.55rem;
}

.tresnak-glossary__summary {
	cursor: pointer;
	font-weight: 600;
	padding: 0.35rem 0;
}

.tresnak-glossary__text {
	margin: 0.25rem 0 0.5rem;
	color: var(--tresnak-color-muted);
	font-size: 0.9rem;
	line-height: 1.5;
}

.tresnak-glossary__subheading {
	margin: 0.75rem 0 0.35rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--tresnak-color-text);
}

.tresnak-glossary__list {
	margin: 0.35rem 0 0.65rem;
	padding-left: 1.2rem;
	color: var(--tresnak-color-muted);
	font-size: 0.9rem;
	line-height: 1.5;
}

.tresnak-glossary__list--ordered {
	list-style-position: outside;
}

.tresnak-glossary__scroll {
	overflow-x: auto;
	margin: 0.35rem 0 0.5rem;
	-webkit-overflow-scrolling: touch;
}

.tresnak-glossary__table {
	width: 100%;
	min-width: 420px;
	border-collapse: collapse;
	font-size: 0.82rem;
	line-height: 1.35;
}

.tresnak-glossary__table th,
.tresnak-glossary__table td {
	border: 1px solid var(--tresnak-color-border);
	padding: 0.4rem 0.45rem;
	text-align: left;
	vertical-align: top;
}

.tresnak-glossary__table th {
	font-weight: 600;
	background: var(--tresnak-color-bg);
	color: var(--tresnak-color-text);
}

.tresnak-hipoteca__sources {
	margin-top: 0.9rem;
	padding-top: 0.8rem;
	border-top: 1px solid var(--tresnak-color-border);
}

.tresnak-hipoteca__sources-meta {
	margin: 0.8rem 0 0;
	font-size: 0.84rem;
	color: var(--tresnak-color-muted);
}

.tresnak-hipoteca__sources-title {
	margin: 0 0 0.45rem;
	font-size: 0.9rem;
	font-weight: 600;
}

.tresnak-hipoteca__sources-list {
	margin: 0;
	padding-left: 1.1rem;
}

.tresnak-hipoteca__sources-list li {
	margin: 0.2rem 0;
}

.tresnak-hipoteca__sources-list a {
	color: var(--tresnak-color-accent);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Marca impresión (solo visible al imprimir; el JS mueve el panel a body) */
.tresnak-print-brand {
	display: none !important;
}

@media print {
	@page {
		margin: 12mm;
	}

	/*
	 * El panel se inserta como primer hijo de body; el resto de hijos directos
	 * se oculta con display:none (no visibility) para no dejar huecos ni páginas en blanco.
	 */
	body.tresnak-print-isolated > *:not(.tresnak-print-target) {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target {
		display: block !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-hipoteca__no-print {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-sueldo-neto__no-print {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-interes-compuesto__no-print {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-prestamos-amigos__no-print {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-calorias-alimentos__no-print,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-calorias-imc__no-print {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-calorias-alimentos__grams-presets {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-calorias-alimentos__inputs-grid {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-finiquito__no-print {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-generador-uuid__no-print,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-qr-url__no-print,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-gastos-compartidos__no-print,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-consumo-electrico__no-print,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-calculadora-r3__no-print {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-visor-rutas-gps__no-print {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-visor-rutas-gps__print-pack:not([hidden]) {
		display: block !important;
	}

	/* Visor GPS: mapa en PDF (Leaflet suele necesitar transform none al imprimir). */
	body.tresnak-print-isolated .tresnak-print-target .tresnak-visor-rutas-gps__map-wrap {
		display: block !important;
		break-inside: avoid-page;
		page-break-inside: avoid;
		margin: 0 0 1rem !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-visor-rutas-gps__empty {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-visor-rutas-gps__map {
		min-height: 300px !important;
		height: 340px !important;
		print-color-adjust: exact;
		color-adjust: exact;
		-webkit-print-color-adjust: exact;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-visor-rutas-gps__map img.leaflet-tile {
		print-color-adjust: exact;
		color-adjust: exact;
		-webkit-print-color-adjust: exact;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-visor-rutas-gps__map .leaflet-control-zoom,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-visor-rutas-gps__map .leaflet-control-layers {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-visor-rutas-gps__map.leaflet-container .leaflet-map-pane,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-visor-rutas-gps__map.leaflet-container .leaflet-tile-pane,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-visor-rutas-gps__map.leaflet-container .leaflet-overlay-pane,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-visor-rutas-gps__map.leaflet-container .leaflet-shadow-pane,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-visor-rutas-gps__map.leaflet-container .leaflet-marker-pane,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-visor-rutas-gps__map.leaflet-container .leaflet-tooltip-pane,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-visor-rutas-gps__map.leaflet-container .leaflet-popup-pane {
		transform: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target.tresnak-panel:has(.tresnak-gastos-compartidos) .tresnak-panel__header {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-gastos-compartidos__th-actions,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-gastos-compartidos__td-actions {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-consumo-electrico__section--results,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-consumo-electrico__cards {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-consumo-electrico__cards {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0.4rem 0.5rem;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-consumo-electrico__card {
		break-inside: avoid-page;
		page-break-inside: avoid;
		margin-bottom: 0;
	}

	/* En impresión/PDF: el top en pantalla (barras) se omite; solo el listado tabular completo. */
	body.tresnak-print-isolated .tresnak-print-target .tresnak-consumo-electrico__top {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-consumo-electrico__appliances-print-wrap {
		display: block !important;
		margin-top: 0.6rem;
	}

	body.tresnak-print-isolated .tresnak-print-brand {
		display: flex !important;
		align-items: center;
		gap: 1rem;
		margin: 0 0 1rem;
		padding-bottom: 0.75rem;
		border-bottom: 1px solid #ccc;
		flex-wrap: wrap;
	}

	body.tresnak-print-isolated .tresnak-print-brand__logo {
		height: 72px !important;
		max-height: none !important;
		width: auto;
		max-width: 260px;
		object-fit: contain;
	}

	body.tresnak-print-isolated .tresnak-print-brand__text {
		display: flex;
		flex-direction: column;
		gap: 0.15rem;
		font-size: 0.88rem;
		line-height: 1.35;
	}

	body.tresnak-print-isolated .tresnak-print-brand__name {
		font-size: 1rem;
	}

	body.tresnak-print-isolated .tresnak-print-brand__link {
		color: #000;
		text-decoration: underline;
		word-break: break-all;
	}

	body.tresnak-print-isolated .tresnak-print-brand__qr {
		width: 72px;
		height: 72px;
		object-fit: contain;
		margin-left: auto;
	}

	body.tresnak-print-isolated .tresnak-print-target {
		/* static: evita páginas en blanco por posicionamiento fuera del flujo */
		position: static !important;
		left: auto !important;
		top: auto !important;
		width: 100% !important;
		max-width: none !important;
		min-height: 0 !important;
		height: auto !important;
		overflow: visible !important;
		margin: 0 !important;
		padding: 0 !important;
		background: #fff !important;
		box-shadow: none !important;
		border: none !important;
		break-inside: auto;
		page-break-inside: auto;
	}

	html.tresnak-print-isolated,
	html.tresnak-print-isolated body {
		height: auto !important;
		min-height: 0 !important;
	}

	html.tresnak-print-isolated body {
		margin: 0 !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-panel__header,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-panel__body {
		padding-left: 0;
		padding-right: 0;
	}

	/* Sueldo neto: cortes limpios en impresión */
	body.tresnak-print-isolated .tresnak-print-target .tresnak-sueldo-neto__sources,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-sueldo-neto__results,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-sueldo-neto__calc-details,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-sueldo-neto__legal-box {
		break-inside: avoid-page;
		page-break-inside: avoid;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-sueldo-neto__row {
		break-inside: avoid;
		page-break-inside: avoid;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-sueldo-neto__dt,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-sueldo-neto__dd,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-sueldo-neto__legal-text,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-sueldo-neto__calc-content p {
		orphans: 3;
		widows: 3;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-sueldo-neto__results,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-sueldo-neto__legal-box,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-sueldo-neto__calc-details {
		margin-bottom: 0.7rem;
	}

	/* Estilos de apoyo si el usuario imprime con Ctrl+P (sin modo aislado) */
	.tresnak-hipoteca__no-print,
	.tresnak-sueldo-neto__no-print,
	.tresnak-interes-compuesto__no-print,
	.tresnak-prestamos-amigos__no-print,
	.tresnak-calorias-alimentos__no-print,
	.tresnak-calorias-imc__no-print,
	.tresnak-finiquito__no-print,
	.tresnak-generador-uuid__no-print,
	.tresnak-qr-url__no-print,
	.tresnak-gastos-compartidos__no-print {
		display: none !important;
	}

	.tresnak-panel:has(.tresnak-gastos-compartidos) .tresnak-panel__header {
		display: none !important;
	}

	.tresnak-gastos-compartidos__th-actions,
	.tresnak-gastos-compartidos__td-actions {
		display: none !important;
	}

	.tresnak-calorias-alimentos__grams-presets {
		display: none !important;
	}

	.tresnak-glossary {
		display: none !important;
	}

	/*
	 * Esfuerzo (cuota / ingresos): forzar tintas y fondos en PDF/navegador
	 * cuando «Gráficos de fondo» está desactivado; los bordes de las barras dan respaldo visual.
	 */
	.tresnak-hipoteca__effort,
	.tresnak-hipoteca__effort-gauge,
	.tresnak-hipoteca__effort-gauge-inner,
	.tresnak-hipoteca__effort-gauge-seg,
	.tresnak-hipoteca__effort-pct,
	.tresnak-hipoteca__effort-pct--level-1,
	.tresnak-hipoteca__effort-pct--level-2,
	.tresnak-hipoteca__effort-pct--level-3,
	.tresnak-hipoteca__effort-pct--level-4,
	.tresnak-hipoteca__effort-pct--level-5 {
		print-color-adjust: exact;
		color-adjust: exact;
		-webkit-print-color-adjust: exact;
	}

	body.tresnak-print-isolated .tresnak-hipoteca__effort,
	body.tresnak-print-isolated .tresnak-hipoteca__effort-gauge,
	body.tresnak-print-isolated .tresnak-hipoteca__effort-gauge-inner,
	body.tresnak-print-isolated .tresnak-hipoteca__effort-gauge-seg,
	body.tresnak-print-isolated .tresnak-hipoteca__effort-pct,
	body.tresnak-print-isolated .tresnak-hipoteca__effort-pct--level-1,
	body.tresnak-print-isolated .tresnak-hipoteca__effort-pct--level-2,
	body.tresnak-print-isolated .tresnak-hipoteca__effort-pct--level-3,
	body.tresnak-print-isolated .tresnak-hipoteca__effort-pct--level-4,
	body.tresnak-print-isolated .tresnak-hipoteca__effort-pct--level-5 {
		print-color-adjust: exact;
		color-adjust: exact;
		-webkit-print-color-adjust: exact;
	}

	body.tresnak-print-isolated .tresnak-hipoteca__effort-gauge--lv5 .tresnak-hipoteca__effort-gauge-seg:nth-child(5) {
		transform: none;
	}

	.tresnak-panel {
		box-shadow: none !important;
		border: 1px solid #ccc !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 1rem !important;
		break-inside: auto;
		page-break-inside: auto;
	}

	body.tresnak-print-isolated .tresnak-print-target.tresnak-panel {
		border: 1px solid #ccc !important;
		padding: 1rem !important;
	}

	.tresnak-hipoteca__schedule-details {
		border: none !important;
		padding: 0 !important;
	}

	.tresnak-hipoteca__schedule-details > summary {
		display: block !important;
		list-style: none !important;
		margin-bottom: 0.5rem;
	}

	body.tresnak-print-isolated .tresnak-hipoteca__advanced {
		break-inside: auto;
		page-break-inside: auto;
	}

	/* Tabla: permitir varias páginas; no cortar filas por la mitad */
	body.tresnak-print-isolated .tresnak-hipoteca__table {
		break-inside: auto;
		page-break-inside: auto;
	}

	body.tresnak-print-isolated .tresnak-hipoteca__table thead {
		display: table-header-group;
	}

	body.tresnak-print-isolated .tresnak-hipoteca__schedule-body {
		display: table-row-group;
	}

	body.tresnak-print-isolated .tresnak-hipoteca__tr {
		break-inside: avoid;
		page-break-inside: avoid;
	}

	body.tresnak-print-isolated .tresnak-hipoteca__table-wrap {
		break-inside: auto;
		page-break-inside: auto;
	}

	body.tresnak-print-isolated .tresnak-hipoteca__chart {
		break-inside: avoid;
		page-break-inside: avoid;
		max-width: 100%;
	}

	.tresnak-hipoteca__svg {
		max-height: 180px;
	}
}

/* Interes compuesto */
.tresnak-interes-compuesto__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
	gap: calc(var(--tresnak-space) * 1.05);
	margin-bottom: calc(var(--tresnak-space) * 1.05);
}

.tresnak-interes-compuesto__field {
	min-width: 0;
}

.tresnak-interes-compuesto__hint {
	margin: -0.2rem 0 1rem;
}

.tresnak-interes-compuesto__actions {
	margin-bottom: 1rem;
}

.tresnak-interes-compuesto__error {
	margin: 0 0 1rem;
	padding: 0.65em 0.85em;
	font-size: 0.95em;
	color: #b42318;
	background: #fef3f2;
	border: 1px solid #fecdca;
	border-radius: 8px;
}

.tresnak-interes-compuesto__error--ok {
	color: #067647;
	background: #ecfdf3;
	border-color: #abefc6;
}

.tresnak-interes-compuesto__results {
	margin: 0 0 1.1rem;
	padding: var(--tresnak-space);
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
}

.tresnak-interes-compuesto__dl {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.tresnak-interes-compuesto__row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.35rem 1rem;
	align-items: baseline;
	padding-bottom: 0.55rem;
	border-bottom: 1px solid var(--tresnak-color-border);
}

.tresnak-interes-compuesto__row:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.tresnak-interes-compuesto__row--highlight {
	background: rgba(37, 99, 235, 0.06);
	border: 1px solid rgba(37, 99, 235, 0.2);
	border-radius: 8px;
	padding: 0.5rem 0.65rem;
}

.tresnak-interes-compuesto__dt {
	margin: 0;
	font-weight: 600;
	color: var(--tresnak-color-muted);
	font-size: 0.92em;
}

.tresnak-interes-compuesto__dd {
	margin: 0;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	text-align: right;
}

@media (max-width: 520px) {
	.tresnak-interes-compuesto__row {
		grid-template-columns: 1fr;
	}

	.tresnak-interes-compuesto__dd {
		text-align: left;
	}
}

.tresnak-interes-compuesto__details {
	margin-top: 1rem;
	border: 1px solid var(--tresnak-color-border);
	border-radius: 8px;
	padding: 0.4rem 0.75rem 0.75rem;
	background: #fff;
}

.tresnak-interes-compuesto__result-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 1rem;
}

.tresnak-interes-compuesto__summary {
	cursor: pointer;
	font-weight: 600;
	padding: 0.35rem 0;
}

.tresnak-interes-compuesto__table-wrap {
	overflow-x: auto;
	margin-top: 0.6rem;
}

.tresnak-interes-compuesto__chart {
	margin: 0.55rem 0 0.25rem;
}

.tresnak-interes-compuesto__svg {
	width: 100%;
	height: auto;
	display: block;
	max-width: 100%;
}

.tresnak-interes-compuesto__axis {
	stroke: var(--tresnak-color-border);
	stroke-width: 1;
}

.tresnak-interes-compuesto__line {
	fill: none;
	stroke-width: 2.5;
}

.tresnak-interes-compuesto__line--total {
	stroke: var(--tresnak-color-accent);
}

.tresnak-interes-compuesto__line--contrib {
	stroke: #64748b;
	stroke-dasharray: 4 3;
}

.tresnak-interes-compuesto__dot {
	fill: var(--tresnak-color-accent);
}

.tresnak-interes-compuesto__hit {
	pointer-events: all;
	cursor: help;
}

.tresnak-interes-compuesto__legend {
	fill: var(--tresnak-color-muted);
	font-size: 11px;
}

.tresnak-interes-compuesto__table {
	width: 100%;
	min-width: 28rem;
	border-collapse: collapse;
	font-size: 0.88rem;
}

.tresnak-interes-compuesto__th {
	text-align: left;
	padding: 0.45rem 0.5rem;
	border-bottom: 2px solid var(--tresnak-color-border);
	color: var(--tresnak-color-muted);
	font-weight: 600;
	white-space: nowrap;
}

.tresnak-interes-compuesto__td {
	padding: 0.4rem 0.5rem;
	border-bottom: 1px solid var(--tresnak-color-border);
}

.tresnak-interes-compuesto__td--num {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

/* Préstamos entre amigos */
.tresnak-prestamos-amigos__grid {
	margin-bottom: 0.35rem;
}

.tresnak-prestamos-amigos__hint {
	margin: 0.35rem 0 0.75rem;
	font-size: 0.9rem;
	line-height: 1.45;
}

.tresnak-prestamos-amigos__trust,
.tresnak-prestamos-amigos__remember-hint,
.tresnak-prestamos-amigos__tae-hint,
.tresnak-prestamos-amigos__table-truncated-hint {
	margin: 0.35rem 0 0.65rem;
	font-size: 0.88rem;
	line-height: 1.5;
	color: var(--tresnak-color-muted, #5c5f66);
}

.tresnak-prestamos-amigos__trust {
	padding: 0.55rem 0.65rem;
	border-left: 3px solid var(--tresnak-color-accent, #0d6efd);
	background: var(--tresnak-color-surface-alt, rgba(13, 110, 253, 0.06));
	border-radius: 0 0.35rem 0.35rem 0;
}

.tresnak-prestamos-amigos__table-expand-wrap {
	margin-top: 0.35rem;
	margin-bottom: 0.25rem;
}

.tresnak-prestamos-amigos__legal-pointer {
	margin-top: 0.5rem;
}

.tresnak-prestamos-amigos__legal-link {
	font-weight: 600;
}

.tresnak-prestamos-amigos__btn-csv--disabled,
.tresnak-prestamos-amigos__btn-csv:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.tresnak-prestamos-amigos__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	margin-bottom: 0.75rem;
}

.tresnak-prestamos-amigos__status {
	margin: 0 0 0.75rem;
	min-height: 1.25em;
	font-size: 0.92rem;
}

.tresnak-prestamos-amigos__status.tresnak-calorias-imc__error {
	color: #b42318;
}

.tresnak-prestamos-amigos__status--ok {
	color: var(--tresnak-color-accent, #0d6efd);
}

.tresnak-prestamos-amigos__results {
	margin-top: 0.35rem;
}

.tresnak-prestamos-amigos__summary-row--highlight .tresnak-calorias-imc__dd {
	font-weight: 700;
	font-size: 1.05rem;
}

.tresnak-prestamos-amigos__details {
	margin-top: 0.85rem;
}

.tresnak-prestamos-amigos__summary {
	cursor: pointer;
	font-weight: 600;
	list-style: none;
}

.tresnak-prestamos-amigos__summary::-webkit-details-marker {
	display: none;
}

.tresnak-prestamos-amigos__summary {
	margin-bottom: 0.35rem;
}

.tresnak-prestamos-amigos__table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin-top: 0.5rem;
}

.tresnak-prestamos-amigos__table {
	width: 100%;
	min-width: 28rem;
	border-collapse: collapse;
	font-size: 0.9rem;
}

.tresnak-prestamos-amigos__table th,
.tresnak-prestamos-amigos__table td {
	padding: 0.4rem 0.45rem;
	text-align: right;
	border-bottom: 1px solid var(--tresnak-color-border);
}

.tresnak-prestamos-amigos__table th:first-child,
.tresnak-prestamos-amigos__table td:first-child {
	text-align: left;
}

.tresnak-prestamos-amigos__table th {
	font-weight: 600;
	color: var(--tresnak-color-muted);
	white-space: nowrap;
}

.tresnak-prestamos-amigos__table tbody tr:last-child td {
	border-bottom: none;
}

.tresnak-prestamos-amigos__faq {
	margin-top: 1rem;
}

/* Generador QR desde URL */
.tresnak-qr-url__grid--fields {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
	gap: calc(var(--tresnak-space) * 1.05);
	margin-bottom: calc(var(--tresnak-space) * 0.85);
}

.tresnak-qr-url__field {
	min-width: 0;
}

.tresnak-qr-url__field-full {
	grid-column: 1 / -1;
}

.tresnak-qr-url__textarea {
	min-height: 4.5rem;
	resize: vertical;
	max-width: 100%;
}

.tresnak-qr-url__hint,
.tresnak-qr-url__remember-hint {
	margin: 0.35rem 0 0.65rem;
	font-size: 0.9rem;
	line-height: 1.45;
	color: var(--tresnak-color-muted, #5c5f66);
}

.tresnak-qr-url__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	margin-bottom: 0.75rem;
}

.tresnak-qr-url__status {
	margin: 0 0 0.75rem;
	min-height: 1.25em;
	font-size: 0.92rem;
}

.tresnak-qr-url__status--error {
	color: #b42318;
}

.tresnak-qr-url__status--warn {
	color: #a15c07;
}

.tresnak-qr-url__result {
	margin-top: 0.5rem;
}

.tresnak-qr-url__result:focus {
	outline: 2px solid var(--tresnak-color-accent, #2563eb);
	outline-offset: 2px;
}

.tresnak-qr-url__result:focus:not(:focus-visible) {
	outline: none;
}

.tresnak-qr-url__canvas-wrap {
	display: inline-block;
	padding: 0.75rem;
	background: var(--tresnak-color-surface, #fff);
	border: 1px solid var(--tresnak-color-border, #e5e7eb);
	border-radius: 0.5rem;
	max-width: 100%;
	box-sizing: border-box;
}

.tresnak-qr-url__canvas-wrap canvas {
	display: block;
	max-width: 100%;
	height: auto;
}

.tresnak-qr-url__field-batch {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 0.5rem;
}

.tresnak-qr-url__field-batch .tresnak-qr-url__input-batch {
	width: auto;
	max-width: none;
	margin-top: 0.2rem;
	flex-shrink: 0;
}

.tresnak-qr-url__batch-label {
	margin: 0;
	font-weight: 500;
	cursor: pointer;
	line-height: 1.45;
}

.tresnak-qr-url--batch .tresnak-qr-url__btn-copy-text,
.tresnak-qr-url--batch .tresnak-qr-url__btn-copy-img,
.tresnak-qr-url--batch .tresnak-qr-url__btn-download,
.tresnak-qr-url--batch .tresnak-qr-url__btn-download-svg {
	display: none !important;
}

.tresnak-qr-url__batch {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
	gap: 1rem 1.25rem;
	margin-top: 0.35rem;
}

.tresnak-qr-url__batch-card {
	min-width: 0;
	padding: 0.65rem;
	background: var(--tresnak-color-surface, #fff);
	border: 1px solid var(--tresnak-color-border, #e5e7eb);
	border-radius: 0.5rem;
}

.tresnak-qr-url__batch-caption {
	margin: 0 0 0.5rem;
	font-size: 0.85rem;
	line-height: 1.4;
	color: var(--tresnak-color-muted, #5c5f66);
	word-break: break-word;
}

.tresnak-qr-url__batch-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.5rem;
	margin-top: 0.5rem;
}

.tresnak-qr-url__batch-actions .tresnak-button {
	font-size: 0.88rem;
	padding: 0.35em 0.65em;
}

.tresnak-qr-url__faq {
	margin-top: 1rem;
}

/* Solo pantalla: el bloque de URLs para impresión no se muestra en la página */
.tresnak-qr-url__print-pack {
	display: none !important;
}

.tresnak-qr-url__print-pack-title {
	margin: 0 0 0.5rem;
	font-size: 1rem;
	font-weight: 600;
}

.tresnak-qr-url__print-urls {
	margin: 0;
	padding-left: 1.2rem;
	font-size: 0.92rem;
	line-height: 1.45;
	word-break: break-word;
}

.tresnak-qr-url__print-url-item {
	margin: 0.35rem 0 0;
}

@media print {
	body.tresnak-print-isolated .tresnak-print-target[data-tresnak-shortcode="tresnak_generador_qr_url"] .tresnak-panel__description,
	body.tresnak-print-isolated .tresnak-print-target[data-tresnak-shortcode="tresnak_generador_qr_url"] .tresnak-qr-url__form,
	body.tresnak-print-isolated .tresnak-print-target[data-tresnak-shortcode="tresnak_generador_qr_url"] .tresnak-qr-url__announce {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target[data-tresnak-shortcode="tresnak_generador_qr_url"] .tresnak-qr-url__print-pack:not([hidden]) {
		display: block !important;
		margin: 0 0 1rem;
		padding: 0;
	}

	body.tresnak-print-isolated .tresnak-print-target[data-tresnak-shortcode="tresnak_generador_qr_url"] .tresnak-qr-url__batch-caption {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target[data-tresnak-shortcode="tresnak_generador_qr_url"] .tresnak-qr-url__canvas-wrap canvas {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
}

@media (max-width: 36rem) {
	.tresnak-qr-url__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.tresnak-qr-url__actions .tresnak-button {
		width: 100%;
		text-align: center;
	}
}

/* Lector EAN-13 en foto */
.tresnak-ean-foto__toolbar {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
	margin-bottom: 0.35rem;
}

@media (min-width: 40rem) {
	.tresnak-ean-foto__toolbar {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: end;
	}
}

.tresnak-ean-foto__field {
	min-width: 0;
}

.tresnak-ean-foto__file {
	padding: 0.4rem 0.5rem;
	cursor: pointer;
}

.tresnak-ean-foto__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	align-items: center;
}

.tresnak-ean-foto__hint {
	margin: 0.35rem 0 0.65rem;
	font-size: 0.9rem;
	line-height: 1.45;
	color: var(--tresnak-color-muted, #5c5f66);
}

.tresnak-ean-foto__status {
	margin: 0 0 0.5rem;
	min-height: 1.25em;
	font-size: 0.92rem;
}

.tresnak-ean-foto__status--error {
	color: #b42318;
}

.tresnak-ean-foto__progress-wrap {
	margin: 0 0 0.75rem;
}

.tresnak-ean-foto__progress-label {
	font-size: 0.88rem;
	color: var(--tresnak-color-muted, #5c5f66);
	margin-bottom: 0.35rem;
}

.tresnak-ean-foto__progress-bar {
	height: 0.45rem;
	background: var(--tresnak-color-border, #e5e7eb);
	border-radius: 999px;
	overflow: hidden;
}

.tresnak-ean-foto__progress-fill {
	display: block;
	height: 100%;
	width: 0;
	background: var(--tresnak-color-accent, #2563eb);
	border-radius: 999px;
	transition: width 0.12s ease-out;
}

.tresnak-ean-foto__preview-wrap {
	margin: 0 0 0.85rem;
}

.tresnak-ean-foto__preview-wrap .tresnak-field__label {
	margin-bottom: 0.35rem;
}

.tresnak-ean-foto__preview {
	display: block;
	max-width: 100%;
	height: auto;
	max-height: 16rem;
	width: auto;
	border-radius: 0.5rem;
	border: 1px solid var(--tresnak-color-border, #e5e7eb);
	object-fit: contain;
	background: var(--tresnak-color-surface, #fff);
}

.tresnak-ean-foto__summary {
	margin: 0 0 0.65rem;
	font-weight: 600;
	font-size: 0.95rem;
}

.tresnak-ean-foto__table-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin-bottom: 0.75rem;
}

.tresnak-ean-foto__table {
	width: 100%;
	min-width: 16rem;
	border-collapse: collapse;
	font-size: 0.92rem;
}

.tresnak-ean-foto__table th,
.tresnak-ean-foto__table td {
	padding: 0.5rem 0.65rem;
	text-align: left;
	border-bottom: 1px solid var(--tresnak-color-border, #e5e7eb);
}

.tresnak-ean-foto__table th {
	font-weight: 600;
	color: var(--tresnak-color-muted, #5c5f66);
	white-space: nowrap;
}

.tresnak-ean-foto__table tbody tr:last-child td {
	border-bottom: none;
}

.tresnak-ean-foto__th-actions {
	width: 1%;
	white-space: nowrap;
}

.tresnak-ean-foto__input-ean,
.tresnak-ean-foto__input-pieces {
	width: 100%;
	min-width: 0;
	max-width: 14rem;
	box-sizing: border-box;
}

.tresnak-ean-foto__input-pieces {
	max-width: 6rem;
}

.tresnak-ean-foto__row-remove {
	font-size: 0.85rem;
	padding: 0.35rem 0.55rem;
	white-space: nowrap;
}

.tresnak-ean-foto__manual {
	margin-top: 0.5rem;
	padding-top: 0.65rem;
	border-top: 1px solid var(--tresnak-color-border, #e5e7eb);
}

.tresnak-ean-foto__manual-hint {
	margin: 0 0 0.65rem;
}

.tresnak-ean-foto__manual-tools {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.65rem;
	align-items: end;
}

@media (min-width: 36rem) {
	.tresnak-ean-foto__manual-tools {
		grid-template-columns: minmax(0, 1fr) minmax(0, 7rem) auto;
	}
}

.tresnak-ean-foto__manual-field {
	min-width: 0;
}

.tresnak-ean-foto__manual-field .tresnak-field__label {
	display: block;
	margin-bottom: 0.3rem;
}

.tresnak-ean-foto__btn-add-manual {
	justify-self: start;
}

@media (min-width: 36rem) {
	.tresnak-ean-foto__btn-add-manual {
		justify-self: stretch;
	}
}

.tresnak-ean-foto__faq {
	margin-top: 1rem;
}

@media (max-width: 36rem) {
	.tresnak-ean-foto__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.tresnak-ean-foto__actions .tresnak-button {
		width: 100%;
		text-align: center;
	}
}

/* Gastos compartidos */
.tresnak-gastos-compartidos__section {
	margin-bottom: 1.25rem;
}

.tresnak-gastos-compartidos__h {
	margin: 0 0 0.4rem;
	font-size: 1.02rem;
	font-weight: 600;
}

.tresnak-gastos-compartidos__h--sub {
	margin-top: 1rem;
}

.tresnak-gastos-compartidos__hint,
.tresnak-gastos-compartidos__remember-hint,
.tresnak-gastos-compartidos__hint-balance {
	margin: 0 0 0.65rem;
	font-size: 0.9rem;
	line-height: 1.45;
	color: var(--tresnak-color-muted, #5c5f66);
}

.tresnak-gastos-compartidos__add-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	align-items: flex-end;
	margin-bottom: 0.6rem;
}

.tresnak-gastos-compartidos__input-name {
	flex: 1 1 12rem;
	min-width: 0;
}

.tresnak-gastos-compartidos__people-list {
	list-style: none;
	margin: 0.35rem 0 0;
	padding: 0;
}

.tresnak-gastos-compartidos__people-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.4rem 0.75rem;
	padding: 0.45rem 0.5rem;
	border: 1px solid var(--tresnak-color-border, #e5e7eb);
	border-radius: 0.4rem;
	margin-bottom: 0.45rem;
	background: var(--tresnak-color-surface, #fff);
}

.tresnak-gastos-compartidos__people-name {
	font-weight: 500;
}

.tresnak-gastos-compartidos__grid {
	margin-bottom: 0.5rem;
}

.tresnak-gastos-compartidos__fieldset {
	margin: 0.65rem 0 0.5rem;
	padding: 0.75rem 0.85rem;
	border: 1px solid var(--tresnak-color-border, #e5e7eb);
	border-radius: 0.5rem;
	background: var(--tresnak-color-surface, #fff);
}

.tresnak-gastos-compartidos__legend {
	font-weight: 600;
	padding: 0 0.25rem;
}

.tresnak-gastos-compartidos__split-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0.5rem 1.25rem;
	margin-top: 0.45rem;
}

.tresnak-gastos-compartidos__split-label {
	display: inline-grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	column-gap: 0.55rem;
	row-gap: 0;
	font-size: 0.95rem;
	line-height: 1.35;
	cursor: pointer;
}

.tresnak-gastos-compartidos__split-cb {
	grid-column: 1;
	justify-self: start;
	width: 1.125rem;
	height: 1.125rem;
	min-width: 1.125rem;
	margin: 0.22em 0 0;
	padding: 0;
	accent-color: var(--tresnak-color-accent, #0d6efd);
	cursor: pointer;
}

.tresnak-gastos-compartidos__split-name {
	grid-column: 2;
	min-width: 0;
	padding-top: 0.02em;
}

.tresnak-gastos-compartidos__exp-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	margin-top: 0.5rem;
}

.tresnak-gastos-compartidos__table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin-top: 0.35rem;
}

.tresnak-gastos-compartidos__table {
	width: 100%;
	min-width: 20rem;
	border-collapse: collapse;
	font-size: 0.9rem;
}

.tresnak-gastos-compartidos__table th,
.tresnak-gastos-compartidos__table td {
	padding: 0.45rem 0.4rem;
	text-align: left;
	border-bottom: 1px solid var(--tresnak-color-border, #e5e7eb);
	vertical-align: top;
}

.tresnak-gastos-compartidos__td-num {
	text-align: right;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.tresnak-gastos-compartidos__td-actions {
	text-align: right;
	width: 1%;
	white-space: nowrap;
}

.tresnak-gastos-compartidos__status--error {
	color: #b42318;
}

.tresnak-gastos-compartidos__section--results {
	margin-top: 0.5rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--tresnak-color-border, #e5e7eb);
}

.tresnak-gastos-compartidos__balance-list {
	margin: 0.5rem 0 0;
}

.tresnak-gastos-compartidos__balance-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.35rem 1rem;
	padding: 0.4rem 0.5rem;
	border: 1px solid var(--tresnak-color-border, #e5e7eb);
	border-radius: 0.4rem;
	margin-bottom: 0.45rem;
}

.tresnak-gastos-compartidos__balance-dt {
	margin: 0;
	font-weight: 500;
}

.tresnak-gastos-compartidos__balance-dd {
	margin: 0;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
}

.tresnak-gastos-compartidos__balance-dd--credit {
	color: #0f6b3a;
}

.tresnak-gastos-compartidos__balance-dd--debit {
	color: #9a3412;
}

.tresnak-gastos-compartidos__settled {
	margin: 0.5rem 0 0;
	font-weight: 500;
	color: #0f6b3a;
}

.tresnak-gastos-compartidos__transfer-list {
	margin: 0.5rem 0 0;
	padding-left: 1.2rem;
	line-height: 1.5;
}

.tresnak-gastos-compartidos__toolbar {
	display: flex;
	flex-direction: column;
	gap: 0.5rem 0.75rem;
	margin-top: 1rem;
	padding-top: 0.85rem;
	border-top: 1px solid var(--tresnak-color-border, #e5e7eb);
}

.tresnak-gastos-compartidos__toolbar-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	width: 100%;
}

.tresnak-gastos-compartidos__share {
	margin-top: 1rem;
	padding-top: 0.85rem;
	border-top: 1px solid var(--tresnak-color-border, #e5e7eb);
}

.tresnak-gastos-compartidos__import-textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 5.5rem;
	margin-top: 0.35rem;
	margin-bottom: 0.5rem;
	resize: vertical;
	box-sizing: border-box;
}

.tresnak-gastos-compartidos__share-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
}

.tresnak-gastos-compartidos__action-btns {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.35rem 0.5rem;
}

.tresnak-gastos-compartidos__td-date {
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.tresnak-gastos-compartidos__balances-square {
	margin: 0 0 0.65rem;
	font-weight: 500;
	color: #0f6b3a;
}

.tresnak-gastos-compartidos__faq {
	margin-top: 1rem;
}

.tresnak-gastos-compartidos__faq .tresnak-seo-extra__faq-intro {
	max-width: none;
}

/* Calculadora consumo electrico */
.tresnak-consumo-electrico__section {
	margin-bottom: 1.15rem;
}

.tresnak-consumo-electrico__h {
	margin: 0 0 0.45rem;
	font-size: 1.02rem;
	font-weight: 600;
}

.tresnak-consumo-electrico__grid {
	margin-bottom: 0.4rem;
}

.tresnak-consumo-electrico__mode-wrap {
	margin-bottom: 0.55rem;
	max-width: 20rem;
}

.tresnak-consumo-electrico__gas-panel {
	margin-top: 0.35rem;
}

.tresnak-consumo-electrico__official-price-actions {
	margin-top: 0.45rem;
}

.tresnak-consumo-electrico__official-price-meta {
	margin-top: 0.35rem;
}

.tresnak-consumo-electrico__table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.tresnak-consumo-electrico > .tresnak-consumo-electrico__combined-summary {
	margin-top: 1rem;
}

.tresnak-consumo-electrico__table {
	width: 100%;
	min-width: 42rem;
	border-collapse: collapse;
	font-size: 0.9rem;
}

.tresnak-consumo-electrico__table th,
.tresnak-consumo-electrico__table td {
	padding: 0.45rem 0.4rem;
	border-bottom: 1px solid var(--tresnak-color-border, #e5e7eb);
	vertical-align: top;
}

.tresnak-consumo-electrico__td-num {
	text-align: right;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.tresnak-consumo-electrico__td-actions {
	text-align: right;
	width: 1%;
	white-space: nowrap;
}

.tresnak-consumo-electrico__toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	margin-top: 0.6rem;
}

.tresnak-consumo-electrico__template {
	flex: 1 1 15rem;
	min-width: 12rem;
}

.tresnak-consumo-electrico__cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
	gap: 0.55rem 0.7rem;
}

.tresnak-consumo-electrico__card {
	border: 1px solid var(--tresnak-color-border, #e5e7eb);
	border-radius: 0.45rem;
	background: var(--tresnak-color-surface, #fff);
	padding: 0.55rem 0.65rem;
}

.tresnak-consumo-electrico__card-k {
	font-size: 0.83rem;
	color: var(--tresnak-color-muted, #5c5f66);
	margin-bottom: 0.22rem;
}

.tresnak-consumo-electrico__card-v {
	font-size: 1rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.tresnak-consumo-electrico__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	margin-top: 0.9rem;
}

.tresnak-consumo-electrico__top {
	margin-top: 0.85rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--tresnak-color-border, #e5e7eb);
}

.tresnak-consumo-electrico__top-title {
	margin: 0 0 0.45rem;
	font-size: 0.95rem;
	font-weight: 600;
}

.tresnak-consumo-electrico__top-item {
	margin-bottom: 0.5rem;
}

.tresnak-consumo-electrico__appliances-print-wrap {
	display: none;
}

.tresnak-consumo-electrico__top-print-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.88rem;
}

.tresnak-consumo-electrico__top-print-table th,
.tresnak-consumo-electrico__top-print-table td {
	border-bottom: 1px solid var(--tresnak-color-border, #e5e7eb);
	padding: 0.35rem 0.4rem;
	text-align: left;
}

.tresnak-consumo-electrico__top-head {
	display: flex;
	justify-content: space-between;
	gap: 0.5rem;
	font-size: 0.85rem;
	margin-bottom: 0.2rem;
}

.tresnak-consumo-electrico__top-val {
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.tresnak-consumo-electrico__top-bar {
	height: 0.52rem;
	background: #eef2f7;
	border-radius: 999px;
	overflow: hidden;
}

.tresnak-consumo-electrico__top-fill {
	display: block;
	height: 100%;
	background: var(--tresnak-color-accent, #0d6efd);
}

.tresnak-consumo-electrico__status--error {
	color: #b42318;
}

.tresnak-consumo-electrico__faq {
	margin-top: 1rem;
}

@media (max-width: 36rem) {
	.tresnak-gastos-compartidos__toolbar .tresnak-button {
		width: 100%;
		text-align: center;
	}

	.tresnak-gastos-compartidos__exp-actions .tresnak-button {
		flex: 1 1 auto;
		min-width: 8rem;
	}

	.tresnak-consumo-electrico__actions .tresnak-button,
	.tresnak-consumo-electrico__toolbar .tresnak-button {
		width: 100%;
		text-align: center;
	}
}

/* Calorias + IMC */
.tresnak-calorias-imc__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
	gap: calc(var(--tresnak-space) * 1.05);
	margin-bottom: calc(var(--tresnak-space) * 1.05);
}

.tresnak-calorias-imc__field {
	min-width: 0;
}

.tresnak-calorias-imc__hint {
	margin: -0.2rem 0 1rem;
}

.tresnak-calorias-imc__actions {
	margin-bottom: 1rem;
}

.tresnak-calorias-imc__error {
	margin: 0 0 1rem;
	padding: 0.65em 0.85em;
	font-size: 0.95em;
	color: #b42318;
	background: #fef3f2;
	border: 1px solid #fecdca;
	border-radius: 8px;
}

.tresnak-calorias-imc__error--ok {
	color: #067647;
	background: #ecfdf3;
	border-color: #abefc6;
}

.tresnak-calorias-imc__results {
	margin: 0 0 1.1rem;
	padding: var(--tresnak-space);
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
}

.tresnak-calorias-imc__imc-visual {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.8rem 1rem;
	margin: 0 0 0.9rem;
	padding: 0.65rem 0.75rem;
	border: 1px solid var(--tresnak-color-border);
	border-radius: 8px;
	background: #fff;
}

.tresnak-calorias-imc__avatar {
	flex: 0 0 auto;
	width: 64px;
	height: 72px;
}

.tresnak-calorias-imc__avatar-svg {
	display: block;
	width: 100%;
	height: 100%;
}

.tresnak-calorias-imc__avatar-shape {
	fill: rgba(37, 99, 235, 0.14);
	stroke: rgba(37, 99, 235, 0.55);
	stroke-width: 1.2;
}

.tresnak-calorias-imc__imc-badge-wrap {
	margin: 0;
}

.tresnak-calorias-imc__imc-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.35rem 0.65rem;
	border-radius: 999px;
	font-size: 0.88rem;
	font-weight: 700;
	border: 1px solid transparent;
}

.tresnak-calorias-imc__imc-badge--under {
	color: #1e3a8a;
	background: #dbeafe;
	border-color: #93c5fd;
}

.tresnak-calorias-imc__imc-badge--normal {
	color: #166534;
	background: #dcfce7;
	border-color: #86efac;
}

.tresnak-calorias-imc__imc-badge--over {
	color: #92400e;
	background: #fef3c7;
	border-color: #fcd34d;
}

.tresnak-calorias-imc__imc-badge--obese {
	color: #991b1b;
	background: #fee2e2;
	border-color: #fca5a5;
}

.tresnak-calorias-imc__dl {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.tresnak-calorias-imc__row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.35rem 1rem;
	align-items: baseline;
	padding-bottom: 0.55rem;
	border-bottom: 1px solid var(--tresnak-color-border);
}

.tresnak-calorias-imc__row:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.tresnak-calorias-imc__row--highlight {
	background: rgba(37, 99, 235, 0.06);
	border: 1px solid rgba(37, 99, 235, 0.2);
	border-radius: 8px;
	padding: 0.5rem 0.65rem;
}

.tresnak-calorias-imc__dt {
	margin: 0;
	font-weight: 600;
	color: var(--tresnak-color-muted);
	font-size: 0.92em;
}

.tresnak-calorias-imc__dd {
	margin: 0;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	text-align: right;
}

@media (max-width: 520px) {
	.tresnak-calorias-imc__row {
		grid-template-columns: 1fr;
	}

	.tresnak-calorias-imc__dd {
		text-align: left;
	}
}

.tresnak-calorias-imc__result-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 1rem;
}

.tresnak-calorias-imc__warning {
	margin: 0.8rem 0 0;
	padding: 0.6rem 0.75rem;
	border: 1px solid #fcd34d;
	background: #fffbeb;
	border-radius: 8px;
	color: #92400e;
	font-size: 0.9rem;
	line-height: 1.45;
}

.tresnak-calorias-imc__storage-hint {
	margin: 0.75rem 0 0;
	font-size: 0.82rem;
	color: var(--tresnak-color-muted);
	line-height: 1.45;
}

/* Finiquito */
.tresnak-finiquito__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
	gap: calc(var(--tresnak-space) * 1.05);
	margin-bottom: calc(var(--tresnak-space) * 1.05);
}

.tresnak-finiquito__field {
	min-width: 0;
}

.tresnak-finiquito__hint {
	margin: -0.2rem 0 1rem;
}

.tresnak-finiquito__actions {
	margin-bottom: 1rem;
}

.tresnak-finiquito__advanced-toggle {
	margin: 0 0 0.8rem;
}

.tresnak-finiquito__toggle-label {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 600;
	font-size: 0.95rem;
	cursor: pointer;
}

.tresnak-finiquito__toggle-input {
	margin: 0;
}

.tresnak-finiquito__mode-badge {
	display: inline-flex;
	align-items: center;
	margin-left: 0.45rem;
	padding: 0.12rem 0.45rem;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	vertical-align: middle;
}

.tresnak-finiquito__mode-badge--auto {
	color: #166534;
	background: #dcfce7;
	border: 1px solid #86efac;
}

.tresnak-finiquito__mode-badge--manual {
	color: #92400e;
	background: #fef3c7;
	border: 1px solid #fcd34d;
}

.tresnak-finiquito__advanced-details {
	margin: 0 0 1rem;
	padding: 0.8rem 0.9rem;
	border: 1px solid var(--tresnak-color-border);
	background: #fff;
	border-radius: 8px;
}

.tresnak-finiquito__advanced-summary {
	cursor: pointer;
	font-weight: 600;
}

.tresnak-finiquito__advanced-grid {
	margin-top: 0.8rem;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.85rem;
}

.tresnak-finiquito__advanced-actions {
	margin-top: 0.75rem;
}

.tresnak-finiquito__meta-line {
	margin: 0.55rem 0 0;
	font-size: 0.78rem;
	line-height: 1.45;
	color: #64748b;
}

.tresnak-finiquito__indemnity-note {
	margin: 0 0 0.85rem;
	padding: 0.65rem 0.8rem;
	font-size: 0.88rem;
	line-height: 1.45;
	color: #92400e;
	background: #fffbeb;
	border: 1px solid #fcd34d;
	border-radius: 6px;
}

.tresnak-finiquito__net-breakdown {
	margin: 0.25rem 0 0.35rem;
	padding-top: 0.45rem;
	border-top: 1px dashed var(--tresnak-color-border, #e2e8f0);
}

@media (min-width: 760px) {
	.tresnak-finiquito__advanced-grid {
		grid-template-columns: 1fr 1fr;
	}
}

.tresnak-finiquito__error {
	margin: 0 0 1rem;
	padding: 0.65em 0.85em;
	font-size: 0.95em;
	color: #b42318;
	background: #fef3f2;
	border: 1px solid #fecdca;
	border-radius: 8px;
}

.tresnak-finiquito__error--ok {
	color: #067647;
	background: #ecfdf3;
	border-color: #abefc6;
}

.tresnak-finiquito__results {
	margin: 0 0 1.1rem;
	padding: var(--tresnak-space);
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
}

.tresnak-finiquito__dl {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.tresnak-finiquito__row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.35rem 1rem;
	align-items: baseline;
	padding-bottom: 0.55rem;
	border-bottom: 1px solid var(--tresnak-color-border);
}

.tresnak-finiquito__row:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.tresnak-finiquito__row--highlight {
	background: rgba(37, 99, 235, 0.06);
	border: 1px solid rgba(37, 99, 235, 0.2);
	border-radius: 8px;
	padding: 0.5rem 0.65rem;
}

.tresnak-finiquito__dt {
	margin: 0;
	font-weight: 600;
	color: var(--tresnak-color-muted);
	font-size: 0.92em;
}

.tresnak-finiquito__dd {
	margin: 0;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	text-align: right;
}

.tresnak-finiquito__result-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 1rem;
}

@media (max-width: 520px) {
	.tresnak-finiquito__row {
		grid-template-columns: 1fr;
	}

	.tresnak-finiquito__dd {
		text-align: left;
	}
}

/* Calculadora de IVA */
.tresnak-calculadora-iva {
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
}

.tresnak-calculadora-iva__subtitle {
	margin: 0;
	font-size: 1.15rem;
	line-height: 1.35;
}

.tresnak-calculadora-iva__fieldset {
	margin: 0;
	padding: 1rem 1.1rem;
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
	background: var(--tresnak-color-bg);
}

.tresnak-calculadora-iva__legend {
	padding: 0 0.35rem;
	margin-bottom: 0.5rem;
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.4;
}

.tresnak-calculadora-iva__modes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 0.85rem 1.15rem;
}

.tresnak-calculadora-iva__mode {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	cursor: pointer;
	font-size: 0.98rem;
	line-height: 1.45;
}

.tresnak-calculadora-iva__mode-input {
	margin-top: 0.2rem;
	flex-shrink: 0;
}

.tresnak-calculadora-iva__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.85rem 1rem;
	margin: 0;
}

@media (min-width: 640px) {
	.tresnak-calculadora-iva__row {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: end;
	}
}

.tresnak-calculadora-iva > .tresnak-field {
	margin: 0;
}

.tresnak-calculadora-iva > .tresnak-field .tresnak-field__label {
	line-height: 1.4;
	margin-bottom: 0.35rem;
}

.tresnak-calculadora-iva__toolbar {
	margin: 0;
}

.tresnak-calculadora-iva__check {
	display: inline-flex;
	align-items: flex-start;
	gap: 0.45rem;
	cursor: pointer;
	font-size: 0.95rem;
}

.tresnak-calculadora-iva__check input {
	margin-top: 0.15rem;
	flex-shrink: 0;
}

.tresnak-calculadora-iva__live-hint {
	margin: 0;
	font-size: 0.92rem;
	color: var(--tresnak-color-muted);
	line-height: 1.5;
}

.tresnak-calculadora-iva > .tresnak-field__hint {
	margin: 0;
	line-height: 1.55;
	max-width: 42rem;
}

.tresnak-calculadora-iva__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 0.75rem;
	margin: 0;
}

.tresnak-calculadora-iva__status {
	margin: 0;
	padding: 0.65rem 0.85rem;
	border-radius: 8px;
	font-size: 0.95rem;
	line-height: 1.45;
}

.tresnak-calculadora-iva__status--err {
	color: #b42318;
	background: #fef3f2;
	border: 1px solid #fecdca;
}

.tresnak-calculadora-iva__status--ok {
	color: #067647;
	background: #ecfdf3;
	border: 1px solid #abefc6;
}

.tresnak-calculadora-iva__results {
	margin: 0;
	padding: 1rem 1.1rem;
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
}

.tresnak-calculadora-iva__results-title {
	margin: 0 0 0.85rem;
	font-size: 1.05rem;
	line-height: 1.35;
}

.tresnak-calculadora-iva__dl {
	margin: 0;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.65rem 1.15rem;
	align-items: baseline;
}

.tresnak-calculadora-iva__dt {
	margin: 0;
	font-weight: 600;
	color: var(--tresnak-color-muted);
	font-size: 0.92em;
	line-height: 1.45;
}

.tresnak-calculadora-iva__dd {
	margin: 0;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	text-align: right;
	line-height: 1.45;
}

.tresnak-calculadora-iva__mono {
	font-variant-numeric: tabular-nums;
}

.tresnak-calculadora-iva__privacy-hint {
	margin: 0;
	line-height: 1.55;
	max-width: 42rem;
}

.tresnak-calculadora-iva .tresnak-seo-extra {
	margin: 0.25rem 0 0;
}

@media (max-width: 520px) {
	.tresnak-calculadora-iva__dl {
		grid-template-columns: 1fr;
	}

	.tresnak-calculadora-iva__dd {
		text-align: left;
		padding-bottom: 0.5rem;
		border-bottom: 1px solid var(--tresnak-color-border);
	}

	.tresnak-calculadora-iva__dt {
		padding-top: 0.35rem;
	}

	.tresnak-calculadora-iva__dt:first-child {
		padding-top: 0;
	}

	.tresnak-calculadora-iva__dd:last-of-type {
		border-bottom: 0;
		padding-bottom: 0;
	}
}

/* Calculadora de porcentajes */
.tresnak-calculadora-pct {
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
}

.tresnak-calculadora-pct__subtitle {
	margin: 0;
	font-size: 1.15rem;
	line-height: 1.35;
}

.tresnak-calculadora-pct__fieldset {
	margin: 0;
	padding: 1rem 1.1rem;
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
	background: var(--tresnak-color-bg);
}

.tresnak-calculadora-pct__legend {
	padding: 0 0.35rem;
	margin-bottom: 0.5rem;
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.4;
}

.tresnak-calculadora-pct__modes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 0.85rem 1.15rem;
}

.tresnak-calculadora-pct__mode {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	cursor: pointer;
	font-size: 0.98rem;
	line-height: 1.45;
}

.tresnak-calculadora-pct__mode-input {
	margin-top: 0.2rem;
	flex-shrink: 0;
}

.tresnak-calculadora-pct__fields {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.85rem 1rem;
	margin: 0;
}

@media (min-width: 640px) {
	.tresnak-calculadora-pct__fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: end;
	}
}

.tresnak-calculadora-pct__field {
	margin: 0;
}

.tresnak-calculadora-pct__mode-help {
	margin: 0 0 0.35rem;
	grid-column: 1 / -1;
}

.tresnak-calculadora-pct__delta-base {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
	margin-top: 0.25rem;
	padding: 0.65rem 0.75rem;
	border: 1px solid var(--tresnak-color-border);
	border-radius: 8px;
	background: var(--tresnak-color-bg);
}

.tresnak-calculadora-pct__delta-base-legend {
	font-weight: 600;
	font-size: 0.92rem;
	width: 100%;
}

.tresnak-calculadora-pct__delta-base-opt {
	display: inline-flex;
	align-items: flex-start;
	gap: 0.4rem;
	cursor: pointer;
	font-size: 0.95rem;
}

.tresnak-calculadora-pct__delta-base-opt input {
	margin-top: 0.15rem;
	flex-shrink: 0;
}

.tresnak-calculadora-pct__faq-anchor {
	margin-left: 0.25rem;
	white-space: nowrap;
}

.tresnak-calculadora-pct__toolbar {
	margin: 0;
}

.tresnak-calculadora-pct__check {
	display: inline-flex;
	align-items: flex-start;
	gap: 0.45rem;
	cursor: pointer;
	font-size: 0.95rem;
}

.tresnak-calculadora-pct__check input {
	margin-top: 0.15rem;
	flex-shrink: 0;
}

.tresnak-calculadora-pct__live-hint {
	margin: 0;
	font-size: 0.92rem;
	color: var(--tresnak-color-muted);
	line-height: 1.5;
}

.tresnak-calculadora-pct > .tresnak-field__hint {
	margin: 0;
	line-height: 1.55;
	max-width: 42rem;
}

.tresnak-calculadora-pct__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 0.75rem;
	margin: 0;
}

.tresnak-calculadora-pct__status {
	margin: 0;
	padding: 0.65rem 0.85rem;
	border-radius: 8px;
	font-size: 0.95rem;
	line-height: 1.45;
}

.tresnak-calculadora-pct__status--err {
	color: #b42318;
	background: #fef3f2;
	border: 1px solid #fecdca;
}

.tresnak-calculadora-pct__status--ok {
	color: #067647;
	background: #ecfdf3;
	border: 1px solid #abefc6;
}

.tresnak-calculadora-pct__results {
	margin: 0;
	padding: 1rem 1.1rem;
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
}

.tresnak-calculadora-pct__results-title {
	margin: 0 0 0.85rem;
	font-size: 1.05rem;
	line-height: 1.35;
}

.tresnak-calculadora-pct__dl {
	margin: 0;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.65rem 1.15rem;
	align-items: baseline;
}

.tresnak-calculadora-pct__dt {
	margin: 0;
	font-weight: 600;
	color: var(--tresnak-color-muted);
	font-size: 0.92em;
	line-height: 1.45;
}

.tresnak-calculadora-pct__dd {
	margin: 0;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	text-align: right;
	line-height: 1.45;
}

.tresnak-calculadora-pct__mono {
	font-variant-numeric: tabular-nums;
}

.tresnak-calculadora-pct__privacy-hint {
	margin: 0;
	line-height: 1.55;
	max-width: 42rem;
}

.tresnak-calculadora-pct .tresnak-seo-extra {
	margin: 0.25rem 0 0;
}

@media (max-width: 520px) {
	.tresnak-calculadora-pct__dl {
		grid-template-columns: 1fr;
	}

	.tresnak-calculadora-pct__dd {
		text-align: left;
		padding-bottom: 0.5rem;
		border-bottom: 1px solid var(--tresnak-color-border);
	}

	.tresnak-calculadora-pct__dt {
		padding-top: 0.35rem;
	}

	.tresnak-calculadora-pct__dt:first-child {
		padding-top: 0;
	}

	.tresnak-calculadora-pct__dd:last-of-type {
		border-bottom: 0;
		padding-bottom: 0;
	}
}

/* Calculadora de regla de tres */
.tresnak-calculadora-r3 {
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
}

.tresnak-calculadora-r3__subtitle {
	margin: 0;
	font-size: 1.15rem;
	line-height: 1.35;
}

.tresnak-calculadora-r3__intro {
	margin: 0 0 1rem;
	font-size: clamp(0.92rem, 2.1vw, 1.02rem);
	line-height: 1.55;
	color: var(--tresnak-color-text, #1e293b);
	max-width: 42rem;
}

.tresnak-calculadora-r3__fieldset {
	margin: 0;
	padding: 1rem 1.1rem;
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
	background: var(--tresnak-color-bg);
}

.tresnak-calculadora-r3__legend {
	padding: 0 0.35rem;
	margin-bottom: 0.5rem;
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.4;
}

.tresnak-calculadora-r3__modes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 0.85rem 1.15rem;
}

.tresnak-calculadora-r3__mode {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	cursor: pointer;
	font-size: 0.98rem;
	line-height: 1.45;
}

.tresnak-calculadora-r3__mode-input {
	margin-top: 0.2rem;
	flex-shrink: 0;
}

.tresnak-calculadora-r3__mode-hint {
	margin: 0.65rem 0 0;
	grid-column: 1 / -1;
}

.tresnak-calculadora-r3__table-wrap {
	display: flex;
	justify-content: center;
	margin: 0;
}

.tresnak-calculadora-r3__table {
	border-collapse: collapse;
	font-size: 1.05rem;
	font-variant-numeric: tabular-nums;
}

.tresnak-calculadora-r3__cell {
	min-width: 3.5rem;
	padding: 0.55rem 1.1rem;
	text-align: center;
	border: 1px solid var(--tresnak-color-border);
	background: var(--tresnak-color-bg);
}

.tresnak-calculadora-r3__cell--label {
	font-weight: 600;
	color: var(--tresnak-color-muted);
}

.tresnak-calculadora-r3__cell--unknown {
	font-weight: 700;
	color: var(--tresnak-color-accent, #2563eb);
}

.tresnak-calculadora-r3__fields {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.85rem 1rem;
	margin: 0;
}

@media (min-width: 640px) {
	.tresnak-calculadora-r3__fields:not(.tresnak-calculadora-r3__fields--4) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-items: end;
	}
}

.tresnak-calculadora-r3__fields-help {
	margin: 0 0 0.35rem;
	grid-column: 1 / -1;
}

.tresnak-calculadora-r3__field {
	margin: 0;
}

.tresnak-calculadora-r3__faq-anchor {
	margin-left: 0.25rem;
	white-space: nowrap;
}

.tresnak-calculadora-r3__toolbar {
	margin: 0;
}

.tresnak-calculadora-r3__check {
	display: inline-flex;
	align-items: flex-start;
	gap: 0.45rem;
	cursor: pointer;
	font-size: 0.95rem;
}

.tresnak-calculadora-r3__check input {
	margin-top: 0.15rem;
	flex-shrink: 0;
}

.tresnak-calculadora-r3__live-hint {
	margin: 0;
	font-size: 0.92rem;
	color: var(--tresnak-color-muted);
	line-height: 1.5;
}

.tresnak-calculadora-r3 > .tresnak-field__hint {
	margin: 0;
	line-height: 1.55;
	max-width: 42rem;
}

.tresnak-calculadora-r3__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 0.75rem;
	margin: 0;
}

.tresnak-calculadora-r3__status {
	margin: 0;
	padding: 0.65rem 0.85rem;
	border-radius: 8px;
	font-size: 0.95rem;
	line-height: 1.45;
}

.tresnak-calculadora-r3__status--err {
	color: #b42318;
	background: #fef3f2;
	border: 1px solid #fecdca;
}

.tresnak-calculadora-r3__status--ok {
	color: #067647;
	background: #ecfdf3;
	border: 1px solid #abefc6;
}

.tresnak-calculadora-r3__results {
	margin: 0;
	padding: 1rem 1.1rem;
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
}

.tresnak-calculadora-r3__results-title {
	margin: 0 0 0.85rem;
	font-size: 1.05rem;
	line-height: 1.35;
}

.tresnak-calculadora-r3__dl {
	margin: 0;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.65rem 1.15rem;
	align-items: baseline;
}

.tresnak-calculadora-r3__dt {
	margin: 0;
	font-weight: 600;
	color: var(--tresnak-color-muted);
	font-size: 0.92em;
	line-height: 1.45;
}

.tresnak-calculadora-r3__dd {
	margin: 0;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	text-align: right;
	line-height: 1.45;
}

.tresnak-calculadora-r3__mono {
	font-variant-numeric: tabular-nums;
}

.tresnak-calculadora-r3__out-formula {
	font-weight: 500;
	font-size: 0.95em;
}

.tresnak-calculadora-r3__privacy-hint {
	margin: 0;
	line-height: 1.55;
	max-width: 42rem;
}

.tresnak-calculadora-r3 .tresnak-seo-extra {
	margin: 0.25rem 0 0;
}

@media (max-width: 520px) {
	.tresnak-calculadora-r3__dl {
		grid-template-columns: 1fr;
	}

	.tresnak-calculadora-r3__dd {
		text-align: left;
		padding-bottom: 0.5rem;
		border-bottom: 1px solid var(--tresnak-color-border);
	}

	.tresnak-calculadora-r3__dt {
		padding-top: 0.35rem;
	}

	.tresnak-calculadora-r3__dt:first-child {
		padding-top: 0;
	}

	.tresnak-calculadora-r3__dd:last-of-type {
		border-bottom: 0;
		padding-bottom: 0;
	}
}

.tresnak-calculadora-r3__kinds,
.tresnak-calculadora-r3__unknowns {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 0.65rem 1rem;
}

.tresnak-calculadora-r3__kind,
.tresnak-calculadora-r3__unknown-opt,
.tresnak-calculadora-r3__chain-wrap {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	cursor: pointer;
	font-size: 0.96rem;
	line-height: 1.45;
}

.tresnak-calculadora-r3__kind input,
.tresnak-calculadora-r3__unknown-opt input,
.tresnak-calculadora-r3__chain-wrap input {
	margin-top: 0.18rem;
	flex-shrink: 0;
}

.tresnak-calculadora-r3__fieldset--inline {
	padding: 0.85rem 1rem;
}

.tresnak-calculadora-r3__prop-block {
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
	margin: 0 0 1rem;
	padding: 0.85rem 0 0;
	border-top: 1px solid var(--tresnak-color-border);
}

.tresnak-calculadora-r3__prop-block:first-child {
	border-top: 0;
	padding-top: 0;
}

.tresnak-calculadora-r3__prop-title {
	margin: 0 0 0.25rem;
	font-size: 1rem;
	line-height: 1.35;
}

.tresnak-calculadora-r3__panel {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.tresnak-calculadora-r3__chain-wrap {
	margin: 0.25rem 0 0.5rem;
}

.tresnak-calculadora-r3__fields--4 {
	margin-top: 0.25rem;
}

@media (min-width: 640px) {
	.tresnak-calculadora-r3__fields--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 900px) {
	.tresnak-calculadora-r3__fields--4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.tresnak-calculadora-r3__cell--filled {
	background: color-mix(in srgb, var(--tresnak-color-accent, #2563eb) 8%, var(--tresnak-color-bg));
}

.tresnak-calculadora-r3__cell--result {
	background: color-mix(in srgb, var(--tresnak-color-accent, #2563eb) 14%, var(--tresnak-color-bg));
	font-weight: 700;
}

.tresnak-field__input.tresnak-calculadora-r3__in--unknown-target {
	border-color: var(--tresnak-color-accent, #2563eb);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--tresnak-color-accent, #2563eb) 35%, transparent);
}

.tresnak-field__input.tresnak-calculadora-r3__in--chained {
	opacity: 0.72;
	pointer-events: none;
}

.tresnak-calculadora-r3__warn {
	margin: 0;
	padding: 0.65rem 0.85rem;
	border-radius: 8px;
	font-size: 0.92rem;
	line-height: 1.5;
	color: #b54708;
	background: #fffaeb;
	border: 1px solid #fedf89;
}

.tresnak-calculadora-r3__compound-steps {
	margin: 0 0 0.75rem;
}

.tresnak-calculadora-r3__step-line {
	margin: 0 0 0.35rem;
	font-size: 0.94rem;
	line-height: 1.5;
}

.tresnak-calculadora-r3__print-sheet {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.tresnak-calculadora-r3__print-inner {
	max-width: 48rem;
	font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	line-height: 1.5;
	color: var(--tresnak-color-text, #0f172a);
}

.tresnak-calculadora-r3__print-h1 {
	margin: 0 0 0.65rem;
	font-size: 1.35rem;
	line-height: 1.3;
}

.tresnak-calculadora-r3__print-h2 {
	margin: 1.15rem 0 0.5rem;
	font-size: 1.05rem;
	line-height: 1.35;
}

.tresnak-calculadora-r3__print-meta {
	margin: 0 0 0.45rem;
	font-size: 0.92rem;
	color: var(--tresnak-color-muted, #475569);
}

.tresnak-calculadora-r3__print-formula {
	margin: 0.65rem 0 0.35rem;
	font-size: 1rem;
	font-variant-numeric: tabular-nums;
}

.tresnak-calculadora-r3__print-result {
	margin: 0.85rem 0 0;
	font-size: 1.1rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.tresnak-calculadora-r3__print-table {
	width: 100%;
	max-width: 22rem;
	margin: 0.5rem 0 0.25rem;
	border-collapse: collapse;
	font-variant-numeric: tabular-nums;
}

.tresnak-calculadora-r3__print-table th,
.tresnak-calculadora-r3__print-table td {
	padding: 0.45rem 0.75rem;
	text-align: center;
	border: 1px solid #cbd5e1;
}

.tresnak-calculadora-r3__print-table th {
	font-weight: 600;
	background: #f8fafc;
	color: #475569;
}

.tresnak-calculadora-r3__print-table td {
	font-weight: 600;
}

.tresnak-calculadora-r3__print-table td.is-result {
	background: #eff6ff;
	color: #1d4ed8;
}

@media print {
	body.tresnak-print-isolated .tresnak-print-target.tresnak-calculadora-r3__print-sheet {
		position: static !important;
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		clip: auto !important;
		overflow: visible !important;
		white-space: normal !important;
		border: 0 !important;
	}

	body.tresnak-print-isolated .tresnak-print-target.tresnak-calculadora-r3__print-sheet .tresnak-print-brand {
		display: flex !important;
		margin-bottom: 1.25rem;
	}
}

body.tresnak-print-isolated .tresnak-print-target .tresnak-generador-nombres__no-print {
	display: none !important;
}

.tresnak-screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.tresnak-generador-nombres__results-title {
	margin: 0 0 0.45rem;
	font-size: 1.1rem;
}

.tresnak-generador-nombres__pin-hint {
	margin: 0 0 0.65rem;
}

.tresnak-generador-nombres__item-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0.5rem 0.65rem;
}

.tresnak-generador-nombres__idx {
	flex: 0 0 auto;
	min-width: 1.6rem;
	font-weight: 700;
	color: var(--tresnak-color-muted, #64748b);
}

.tresnak-generador-nombres__pin-wrap {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	flex: 0 0 auto;
	cursor: pointer;
	font-size: 0.88rem;
	font-weight: 600;
}

.tresnak-generador-nombres__pin-text {
	user-select: none;
}

.tresnak-generador-nombres__item-main {
	flex: 1 1 200px;
	min-width: 0;
}

.tresnak-generador-nombres__name {
	display: block;
	font-weight: 700;
	word-break: break-word;
}

.tresnak-generador-nombres__slug {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.82rem;
	font-weight: 400;
	color: var(--tresnak-color-muted, #64748b);
	word-break: break-all;
}

.tresnak-generador-nombres__btn-copy-one {
	flex: 0 0 auto;
	align-self: center;
	padding: 0.35em 0.65em;
	font-size: 0.88rem;
}

.tresnak-generador-nombres__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.9rem;
}

.tresnak-generador-nombres__field {
	min-width: 0;
}

.tresnak-generador-nombres__field--checkbox {
	display: flex;
	align-items: flex-end;
}

.tresnak-generador-nombres__toggle-label {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 600;
	font-size: 0.95rem;
	cursor: pointer;
}

.tresnak-generador-nombres__toggle-input {
	margin: 0;
}

.tresnak-generador-nombres__hint {
	margin-top: 0.8rem;
}

.tresnak-generador-nombres__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 0.7rem;
}

.tresnak-generador-nombres__error {
	margin: 0.7rem 0 0;
	padding: 0.7rem 0.8rem;
	border-radius: 8px;
	border: 1px solid #fecaca;
	background: #fef2f2;
	color: #991b1b;
}

.tresnak-generador-nombres__error--ok {
	border-color: #86efac;
	background: #ecfdf5;
	color: #166534;
}

.tresnak-generador-nombres__results {
	margin-top: 0.95rem;
}

.tresnak-generador-nombres__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.55rem;
}

.tresnak-generador-nombres__item {
	margin: 0;
	padding: 0.65rem 0.75rem;
	border: 1px solid var(--tresnak-color-border);
	background: #fff;
	border-radius: 8px;
	color: var(--tresnak-color-text);
}

.tresnak-generador-nombres__result-actions {
	margin-top: 0.75rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

@media (max-width: 760px) {
	.tresnak-generador-nombres__grid,
	.tresnak-generador-nombres__list {
		grid-template-columns: 1fr;
	}
}

/* Generador de contraseñas seguras */
.tresnak-contrasena-segura__privacy {
	margin: 0 0 1rem;
}

.tresnak-contrasena-segura__fieldset {
	margin: 0 0 1rem;
	padding: 0;
	border: 0;
}

.tresnak-contrasena-segura__legend {
	padding: 0;
	font-weight: 700;
	font-size: 0.95em;
	margin-bottom: 0.45rem;
}

.tresnak-contrasena-segura__modes {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0.75rem 1.25rem;
}

.tresnak-contrasena-segura__radio-label {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: start;
	column-gap: 0.5rem;
	row-gap: 0;
	font-weight: 600;
	cursor: pointer;
	font-size: 0.95em;
	line-height: 1.35;
}

.tresnak-contrasena-segura__radio {
	margin: 0.2em 0 0;
	accent-color: var(--tresnak-color-accent);
}

.tresnak-contrasena-segura__panel-block {
	margin-bottom: 1rem;
}

.tresnak-contrasena-segura__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.9rem;
}

@media (min-width: 640px) {
	.tresnak-contrasena-segura__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tresnak-contrasena-segura__field--full {
		grid-column: 1 / -1;
	}

	.tresnak-contrasena-segura__field--check {
		grid-column: 1 / -1;
		align-self: end;
	}
}

.tresnak-contrasena-segura__field {
	min-width: 0;
}

.tresnak-contrasena-segura__length-value {
	font-weight: 700;
	color: var(--tresnak-color-accent);
	margin-left: 0.25em;
}

.tresnak-contrasena-segura__range {
	width: 100%;
	max-width: 100%;
	accent-color: var(--tresnak-color-accent);
}

.tresnak-contrasena-segura__checks {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.55rem 1rem;
}

@media (min-width: 520px) {
	.tresnak-contrasena-segura__checks {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.tresnak-contrasena-segura__checks--solo {
	margin-top: 0.35rem;
}

.tresnak-contrasena-segura__toggle-label {
	display: inline-flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-weight: 600;
	font-size: 0.92em;
	line-height: 1.45;
	cursor: pointer;
}

.tresnak-contrasena-segura__toggle-input {
	margin: 0.15em 0 0;
	flex-shrink: 0;
}

.tresnak-contrasena-segura__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 0.35rem;
}

.tresnak-contrasena-segura__error {
	margin: 0.75rem 0 0;
	padding: 0.7rem 0.8rem;
	border-radius: 8px;
	border: 1px solid #fecaca;
	background: #fef2f2;
	color: #991b1b;
}

.tresnak-contrasena-segura__result {
	margin-top: 1rem;
}

.tresnak-contrasena-segura__output-row {
	margin-bottom: 0.35rem;
}

.tresnak-contrasena-segura__output-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.5rem;
}

.tresnak-contrasena-segura__output-wrap .tresnak-contrasena-segura__output {
	flex: 1 1 12rem;
	min-width: 0;
}

.tresnak-contrasena-segura__output-wrap .tresnak-contrasena-segura__btn-mask {
	flex: 0 0 auto;
	align-self: stretch;
	padding-left: 0.85em;
	padding-right: 0.85em;
	font-size: 0.9em;
}

.tresnak-contrasena-segura__output {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	font-size: clamp(0.85rem, 2.5vw, 1rem);
	letter-spacing: 0.02em;
	word-break: break-all;
}

.tresnak-contrasena-segura__strength {
	margin-top: 0.65rem;
}

.tresnak-contrasena-segura__strength-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem 0.65rem;
	margin-bottom: 0.35rem;
}

.tresnak-contrasena-segura__strength-label {
	font-weight: 700;
	font-size: 0.95em;
}

.tresnak-contrasena-segura__strength-label--weak {
	color: #b91c1c;
}

.tresnak-contrasena-segura__strength-label--fair {
	color: #a16207;
}

.tresnak-contrasena-segura__strength-label--strong {
	color: #15803d;
}

.tresnak-contrasena-segura__strength-label--very {
	color: #047857;
}

.tresnak-contrasena-segura__strength-bits {
	font-size: 0.88em;
	font-weight: 500;
	color: #3d4556;
}

.tresnak-contrasena-segura__btn-entropy-help {
	padding: 0.35em 0.75em;
	font-size: 0.85em;
	font-weight: 600;
}

.tresnak-contrasena-segura__advice {
	margin: 0.65rem 0 0;
	padding: 0.6rem 0.75rem;
	font-size: 0.88em;
	line-height: 1.45;
	color: #5c4b00;
	background: #fffbeb;
	border: 1px solid #fcd34d;
	border-radius: 8px;
	max-width: 48rem;
}

.tresnak-contrasena-segura__strength-track {
	height: 6px;
	border-radius: 999px;
	background: var(--tresnak-color-bg);
	overflow: hidden;
	max-width: 28rem;
}

.tresnak-contrasena-segura__strength-fill {
	height: 100%;
	width: 0;
	border-radius: 999px;
	transition: width 0.2s ease, background 0.2s ease;
	background: #94a3b8;
}

.tresnak-contrasena-segura__strength-fill--weak {
	background: #ef4444;
}

.tresnak-contrasena-segura__strength-fill--fair {
	background: #eab308;
}

.tresnak-contrasena-segura__strength-fill--strong {
	background: #22c55e;
}

.tresnak-contrasena-segura__strength-fill--very {
	background: #059669;
}

.tresnak-contrasena-segura__glossary {
	margin-top: 1.5rem;
}

.tresnak-contrasena-segura__legal {
	margin-top: 1.75rem;
	padding-top: 1rem;
	border-top: 1px solid var(--tresnak-color-border);
	max-width: 48rem;
}

.tresnak-contrasena-segura__legal-text {
	margin: 0;
	font-size: clamp(0.78rem, 2vw, 0.85rem);
	line-height: 1.5;
	color: var(--tresnak-color-muted);
}

.tresnak-contrasena-segura__fieldset--phrase-extra {
	margin-top: 0.5rem;
}

.tresnak-contrasena-segura__fieldset-hint {
	margin-top: 0.5rem;
	margin-bottom: 0;
}

.tresnak-contrasena-segura__grid--phrase-extra {
	margin-top: 0.35rem;
}

.tresnak-contrasena-segura__field--phrase-extra-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.5rem 0.75rem;
	align-items: end;
}

@media (min-width: 520px) {
	.tresnak-contrasena-segura__field--phrase-extra-row {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 7rem);
		align-items: end;
	}
}

.tresnak-contrasena-segura__inline-field {
	min-width: 0;
}

.tresnak-contrasena-segura__sub-label {
	font-size: 0.82em;
	font-weight: 600;
	margin-bottom: 0.25em;
	color: var(--tresnak-color-muted);
}

/* Bio redes */
.tresnak-bio-redes__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem 1rem;
	margin-bottom: 0.75rem;
}

@media (min-width: 560px) {
	.tresnak-bio-redes__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.tresnak-bio-redes__field--full {
	grid-column: 1 / -1;
}

.tresnak-bio-redes__field--check {
	display: flex;
	align-items: center;
}

.tresnak-bio-redes__textarea {
	min-height: 5.5rem;
	resize: vertical;
}

.tresnak-bio-redes__check {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	cursor: pointer;
	font-size: 0.95em;
	line-height: 1.4;
	color: var(--tresnak-color-text);
}

.tresnak-bio-redes__check input {
	margin-top: 0.2em;
	flex-shrink: 0;
}

.tresnak-bio-redes__hint {
	margin-top: 0;
}

.tresnak-bio-redes__platform-hint {
	margin: 0.35rem 0 0;
	font-size: 0.88rem;
	line-height: 1.45;
	color: var(--tresnak-color-muted);
}

.tresnak-bio-redes__actions {
	margin-top: 1rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
}

.tresnak-bio-redes__error {
	margin: 0.75rem 0 0;
	color: #b32d2e;
	font-weight: 600;
}

.tresnak-bio-redes__results {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--tresnak-color-border);
}

.tresnak-bio-redes__results-title {
	margin: 0 0 1rem;
	font-size: clamp(1.05rem, 2.2vw, 1.2rem);
	font-weight: 700;
}

.tresnak-bio-redes__budget-notice {
	margin: -0.35rem 0 1rem;
	max-width: 62ch;
}

.tresnak-bio-redes__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

@media (min-width: 720px) {
	.tresnak-bio-redes__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.tresnak-bio-redes__card {
	margin: 0;
	padding: 1rem;
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	min-width: 0;
}

.tresnak-bio-redes__card-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.35rem 0.75rem;
}

.tresnak-bio-redes__badge {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--tresnak-color-accent);
	border: 1px solid var(--tresnak-color-border);
	border-radius: 999px;
	padding: 0.2em 0.65em;
	line-height: 1.2;
}

.tresnak-bio-redes__chars {
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--tresnak-color-muted);
	white-space: nowrap;
}

.tresnak-bio-redes__out-text {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.5;
	word-break: break-word;
	flex: 1 1 auto;
	min-height: 3.5em;
}

.tresnak-bio-redes__copy {
	align-self: flex-start;
}

.tresnak-bio-redes__copy-status {
	margin: 1rem 0 0;
	font-size: 0.9rem;
	color: var(--tresnak-color-accent);
	font-weight: 600;
}

/* Excusas */
.tresnak-excusas__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem 1rem;
	margin-bottom: 0.75rem;
}

@media (min-width: 560px) {
	.tresnak-excusas__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.tresnak-excusas__field--full {
	grid-column: 1 / -1;
}

.tresnak-excusas__hint {
	margin-top: 0;
}

.tresnak-excusas__actions {
	margin-top: 1rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
}

.tresnak-excusas__error {
	margin: 0.75rem 0 0;
	color: #b32d2e;
	font-weight: 600;
}

.tresnak-excusas__results {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--tresnak-color-border);
}

.tresnak-excusas__results-title {
	margin: 0 0 1rem;
	font-size: clamp(1.05rem, 2.2vw, 1.2rem);
	font-weight: 700;
}

.tresnak-excusas__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

@media (min-width: 720px) {
	.tresnak-excusas__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.tresnak-excusas__card {
	margin: 0;
	padding: 1rem;
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	min-width: 0;
}

.tresnak-excusas__card-head {
	display: flex;
	align-items: baseline;
}

.tresnak-excusas__badge {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--tresnak-color-accent);
	border: 1px solid var(--tresnak-color-border);
	border-radius: 999px;
	padding: 0.2em 0.65em;
	line-height: 1.2;
}

.tresnak-excusas__out-text {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.5;
	word-break: break-word;
	flex: 1 1 auto;
	min-height: 3.5em;
}

.tresnak-excusas__copy {
	align-self: flex-start;
}

.tresnak-excusas__copy-status {
	margin: 1rem 0 0;
	font-size: 0.9rem;
	color: var(--tresnak-color-accent);
	font-weight: 600;
}

/* Títulos blog / YouTube */
.tresnak-titulos-by__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem 1rem;
	margin-bottom: 0.75rem;
}

@media (min-width: 560px) {
	.tresnak-titulos-by__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.tresnak-titulos-by__field--full {
	grid-column: 1 / -1;
}

.tresnak-titulos-by__textarea {
	min-height: 4rem;
	resize: vertical;
}

.tresnak-titulos-by__hint {
	margin-top: 0;
}

.tresnak-titulos-by__actions {
	margin-top: 1rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
}

.tresnak-titulos-by__error {
	margin: 0.75rem 0 0;
	color: #b32d2e;
	font-weight: 600;
}

.tresnak-titulos-by__results {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--tresnak-color-border);
}

.tresnak-titulos-by__results-title {
	margin: 0 0 1rem;
	font-size: clamp(1.05rem, 2.2vw, 1.2rem);
	font-weight: 700;
}

.tresnak-titulos-by__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

@media (min-width: 640px) {
	.tresnak-titulos-by__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 960px) {
	.tresnak-titulos-by__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.tresnak-titulos-by__card {
	margin: 0;
	padding: 1rem;
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	min-width: 0;
}

.tresnak-titulos-by__card-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.35rem 0.75rem;
}

.tresnak-titulos-by__badge {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--tresnak-color-accent);
	border: 1px solid var(--tresnak-color-border);
	border-radius: 999px;
	padding: 0.2em 0.65em;
	line-height: 1.2;
}

.tresnak-titulos-by__chars {
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--tresnak-color-muted);
	white-space: nowrap;
}

.tresnak-titulos-by__out-text {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.45;
	word-break: break-word;
	flex: 1 1 auto;
	min-height: 2.75em;
	font-weight: 600;
}

.tresnak-titulos-by__copy {
	align-self: flex-start;
}

.tresnak-titulos-by__copy-status {
	margin: 1rem 0 0;
	font-size: 0.9rem;
	color: var(--tresnak-color-accent);
	font-weight: 600;
}

/* Contador de palabras */
.tresnak-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.tresnak-contador-palabras__textarea {
	min-height: 14rem;
	resize: vertical;
	line-height: 1.5;
}

.tresnak-contador-palabras__fieldset {
	margin: 1rem 0 0;
	padding: 0;
	border: 0;
}

.tresnak-contador-palabras__legend {
	padding: 0;
	margin: 0 0 0.5rem;
	font-weight: 700;
	font-size: 0.95em;
}

.tresnak-contador-palabras__options {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.tresnak-contador-palabras__check {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	cursor: pointer;
	font-size: 0.95em;
	line-height: 1.45;
}

.tresnak-contador-palabras__check input {
	margin-top: 0.2em;
	flex-shrink: 0;
}

.tresnak-contador-palabras__hint {
	margin-top: 0.65rem;
}

.tresnak-contador-palabras__privacy-hint {
	margin-top: 0.5rem;
	font-size: 0.82em;
}

.tresnak-contador-palabras__meta {
	margin-top: 1.25rem;
	padding: var(--tresnak-space);
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
}

.tresnak-contador-palabras__meta-title {
	margin: 0 0 0.5rem;
	font-size: clamp(1.05rem, 2.2vw, 1.15rem);
	font-weight: 700;
}

.tresnak-contador-palabras__meta-hint {
	margin: 0 0 0.75rem;
}

.tresnak-contador-palabras__meta-bar-wrap {
	margin-bottom: 0.65rem;
}

.tresnak-contador-palabras__meta-bar {
	height: 0.5rem;
	border-radius: 999px;
	background: var(--tresnak-color-border);
	overflow: hidden;
}

.tresnak-contador-palabras__meta-bar-fill {
	display: block;
	height: 100%;
	width: 0%;
	border-radius: inherit;
	background: linear-gradient(
		90deg,
		var(--tresnak-color-accent),
		var(--tresnak-color-accent-hover)
	);
	transition: width 0.12s ease;
}

.tresnak-contador-palabras__meta-status {
	margin: 0;
	font-size: 0.9em;
	font-weight: 600;
	color: var(--tresnak-color-text);
	line-height: 1.45;
}

.tresnak-contador-palabras__stats-wrap {
	margin-top: 1.35rem;
	padding: var(--tresnak-space);
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
}

.tresnak-contador-palabras__stats-title {
	margin: 0 0 1rem;
	font-size: clamp(1.05rem, 2.2vw, 1.2rem);
	font-weight: 700;
}

.tresnak-contador-palabras__stats {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.65rem 1rem;
	margin: 0;
	align-items: baseline;
	font-size: 0.95rem;
	max-width: 36rem;
}

.tresnak-contador-palabras__stat-term {
	margin: 0;
	font-weight: 600;
	color: var(--tresnak-color-muted);
	font-size: 0.88em;
	line-height: 1.35;
}

.tresnak-contador-palabras__stat-val {
	margin: 0;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	font-size: clamp(1rem, 2.2vw, 1.15rem);
	line-height: 1.35;
	justify-self: end;
	text-align: right;
	word-break: break-word;
}

.tresnak-contador-palabras__actions {
	margin-top: 1.25rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
}

.tresnak-contador-palabras__shortcut-hint {
	margin: 0.65rem 0 0;
	font-size: 0.82em;
	color: var(--tresnak-color-muted);
	line-height: 1.45;
}

.tresnak-contador-palabras__copy-status {
	margin: 1rem 0 0;
	font-size: 0.9rem;
	color: var(--tresnak-color-accent);
	font-weight: 600;
}

/* Eliminador de espacios extra */
.tresnak-eliminar-espacios__fieldset {
	margin: 0 0 1rem;
	padding: 0;
	border: 0;
}

.tresnak-eliminar-espacios__legend {
	padding: 0;
	margin: 0 0 0.5rem;
	font-weight: 700;
	font-size: 0.95em;
}

.tresnak-eliminar-espacios__options {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.tresnak-eliminar-espacios__check {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	cursor: pointer;
	font-size: 0.95em;
	line-height: 1.45;
}

.tresnak-eliminar-espacios__check input {
	margin-top: 0.2em;
	flex-shrink: 0;
}

.tresnak-eliminar-espacios__privacy-hint {
	margin: 0 0 1rem;
	font-size: 0.82em;
}

.tresnak-eliminar-espacios__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-bottom: 1rem;
	align-items: start;
}

@media (min-width: 720px) {
	.tresnak-eliminar-espacios__grid {
		grid-template-columns: 1fr 1fr;
	}
}

.tresnak-eliminar-espacios__col {
	min-width: 0;
}

.tresnak-eliminar-espacios__textarea {
	min-height: 12rem;
	resize: vertical;
	line-height: 1.5;
}

.tresnak-eliminar-espacios__output {
	background: var(--tresnak-color-bg);
}

.tresnak-eliminar-espacios__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
}

.tresnak-eliminar-espacios__status {
	margin: 1rem 0 0;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--tresnak-color-accent);
}

.tresnak-eliminar-espacios__status[data-tresnak-ee-error='1'] {
	color: #b42318;
}

/* Convertidor mayúsculas/minúsculas */
.tresnak-convertidor-mayus__fieldset {
	margin: 0 0 0.85rem;
	padding: 0;
	border: 0;
}

.tresnak-convertidor-mayus__legend {
	padding: 0;
	margin: 0 0 0.5rem;
	font-weight: 700;
	font-size: 0.95em;
}

.tresnak-convertidor-mayus__modes {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
}

.tresnak-convertidor-mayus__mode--active {
	color: #fff;
	background: var(--tresnak-color-accent);
	border-color: var(--tresnak-color-accent);
}

.tresnak-convertidor-mayus__check {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	cursor: pointer;
	font-size: 0.95em;
	line-height: 1.45;
}

.tresnak-convertidor-mayus__check input {
	margin-top: 0.2em;
	flex-shrink: 0;
}

.tresnak-convertidor-mayus__locale-row {
	margin: 0 0 0.85rem;
	max-width: 22rem;
}

.tresnak-convertidor-mayus__locale-note {
	margin-top: 0.45rem;
}

.tresnak-convertidor-mayus__privacy-hint {
	margin: 0.6rem 0 1rem;
	font-size: 0.82em;
}

.tresnak-convertidor-mayus__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-bottom: 1rem;
	align-items: start;
}

@media (min-width: 720px) {
	.tresnak-convertidor-mayus__grid {
		grid-template-columns: 1fr 1fr;
	}
}

.tresnak-convertidor-mayus__col {
	min-width: 0;
}

.tresnak-convertidor-mayus__textarea {
	min-height: 12rem;
	resize: vertical;
	line-height: 1.5;
}

.tresnak-convertidor-mayus__output {
	background: var(--tresnak-color-bg);
}

.tresnak-convertidor-mayus__count {
	margin-top: 0.45rem;
	font-size: 0.82em;
}

.tresnak-convertidor-mayus__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
}

.tresnak-convertidor-mayus__shortcut-hint {
	margin: 0.65rem 0 0;
	font-size: 0.82em;
	color: var(--tresnak-color-muted);
	line-height: 1.45;
}

.tresnak-convertidor-mayus__status {
	margin: 1rem 0 0;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--tresnak-color-accent);
}

.tresnak-convertidor-mayus__status[data-tresnak-cm-error='1'] {
	color: #b42318;
}

/* Convertidor de divisas */
.tresnak-convertidor-divisas__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-bottom: 1rem;
}

@media (min-width: 720px) {
	.tresnak-convertidor-divisas__grid {
		grid-template-columns: 1fr 1fr 1fr;
	}
}

.tresnak-convertidor-divisas__field {
	min-width: 0;
}

.tresnak-convertidor-divisas__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
}

.tresnak-convertidor-divisas__check {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	cursor: pointer;
	margin: 0.75rem 0 0;
}

.tresnak-convertidor-divisas__check input {
	margin-top: 0.2em;
}

.tresnak-convertidor-divisas__favorites {
	margin-top: 0.8rem;
}

.tresnak-convertidor-divisas__favorites-title {
	margin: 0 0 0.4rem;
	font-size: 0.9em;
	color: var(--tresnak-color-muted);
}

.tresnak-convertidor-divisas__favorites-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.tresnak-convertidor-divisas__result {
	margin-top: 1rem;
	padding: var(--tresnak-space);
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
}

.tresnak-convertidor-divisas__result-main {
	margin: 0;
	font-size: clamp(1rem, 2.2vw, 1.15rem);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	word-break: break-word;
}

.tresnak-convertidor-divisas__result-meta {
	margin: 0.45rem 0 0;
	font-size: 0.88em;
	color: var(--tresnak-color-muted);
	word-break: break-word;
}

.tresnak-convertidor-divisas__result-provider {
	margin: 0.35rem 0 0;
	font-size: 0.84em;
	color: var(--tresnak-color-muted);
	word-break: break-word;
}

.tresnak-convertidor-divisas__result-warning {
	margin: 0.35rem 0 0;
	font-size: 0.84em;
	color: #92400e;
}

.tresnak-convertidor-divisas__history {
	margin-top: 1rem;
	padding-top: 0.8rem;
	border-top: 1px solid var(--tresnak-color-border);
}

.tresnak-convertidor-divisas__history-title {
	margin: 0 0 0.45rem;
	font-size: 0.95rem;
}

.tresnak-convertidor-divisas__history-empty {
	margin: 0;
	color: var(--tresnak-color-muted);
	font-size: 0.9em;
}

.tresnak-convertidor-divisas__history-list {
	margin: 0;
	padding-left: 1.1rem;
}

.tresnak-convertidor-divisas__history-item {
	margin: 0.2rem 0;
	word-break: break-word;
}

.tresnak-convertidor-divisas__privacy-hint {
	margin: 0.75rem 0 0;
	font-size: 0.82em;
}

.tresnak-convertidor-divisas__status {
	margin: 1rem 0 0;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--tresnak-color-accent);
}

.tresnak-convertidor-divisas__status--error {
	color: #b42318;
}

/* Convertidor de unidades */
.tresnak-convertidor-unidades__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-bottom: 1rem;
}

@media (min-width: 760px) {
	.tresnak-convertidor-unidades__grid {
		grid-template-columns: 1fr 1fr;
	}
}

.tresnak-convertidor-unidades__field {
	min-width: 0;
}

.tresnak-convertidor-unidades__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
}

.tresnak-convertidor-unidades__options {
	margin-top: 0.8rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	align-items: end;
}

.tresnak-convertidor-unidades__check {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	cursor: pointer;
	font-size: 0.95em;
	line-height: 1.45;
}

.tresnak-convertidor-unidades__check input {
	margin-top: 0.2em;
}

.tresnak-convertidor-unidades__decimals-wrap {
	max-width: 8rem;
}

.tresnak-convertidor-unidades__result {
	margin-top: 1rem;
	padding: var(--tresnak-space);
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
}

.tresnak-convertidor-unidades__result-main {
	margin: 0;
	font-size: clamp(1rem, 2.2vw, 1.15rem);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	word-break: break-word;
}

.tresnak-convertidor-unidades__result-formula {
	margin: 0.45rem 0 0;
	font-size: 0.85em;
	color: var(--tresnak-color-muted);
}

.tresnak-convertidor-unidades__shortcut-hint {
	margin: 0.65rem 0 0;
	font-size: 0.82em;
	color: var(--tresnak-color-muted);
	line-height: 1.45;
}

.tresnak-convertidor-unidades__history {
	margin-top: 1rem;
	padding-top: 0.8rem;
	border-top: 1px solid var(--tresnak-color-border);
}

.tresnak-convertidor-unidades__history-title {
	margin: 0 0 0.45rem;
	font-size: 0.95rem;
}

.tresnak-convertidor-unidades__history-empty {
	margin: 0;
	color: var(--tresnak-color-muted);
	font-size: 0.9em;
}

.tresnak-convertidor-unidades__history-list {
	margin: 0;
	padding-left: 1.1rem;
}

.tresnak-convertidor-unidades__history-item {
	margin: 0.2rem 0;
	word-break: break-word;
}

.tresnak-convertidor-temperatura__grid {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.tresnak-convertidor-temperatura__field {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.tresnak-convertidor-temperatura__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: 0.95rem;
}

.tresnak-convertidor-temperatura__options {
	margin-top: 0.9rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.9rem;
	align-items: flex-end;
}

.tresnak-convertidor-temperatura__check {
	display: inline-flex;
	gap: 0.5rem;
	align-items: center;
}

.tresnak-convertidor-temperatura__decimals-wrap {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	min-width: 120px;
}

.tresnak-convertidor-temperatura__result {
	margin-top: 0.95rem;
	padding: 0.9rem;
	border-radius: 10px;
	background: #f8fafc;
	border: 1px solid var(--tresnak-color-border);
}

.tresnak-convertidor-temperatura__result-main {
	margin: 0;
	font-weight: 700;
}

.tresnak-convertidor-temperatura__result-formula {
	margin: 0.45rem 0 0;
	font-size: 0.9em;
	color: var(--tresnak-color-muted);
}

.tresnak-convertidor-temperatura__privacy-hint {
	margin-top: 0.6rem;
	font-size: 0.85em;
}

.tresnak-convertidor-temperatura__status {
	margin-top: 0.75rem;
	font-size: 0.92em;
}

.tresnak-convertidor-temperatura__status[data-tresnak-ct-error='1'] {
	color: #b42318;
}

.tresnak-convertidor-temperatura__shortcut-hint {
	margin: 0.65rem 0 0;
	font-size: 0.82em;
	color: var(--tresnak-color-muted);
	line-height: 1.45;
}

.tresnak-convertidor-temperatura__history {
	margin-top: 1rem;
	padding-top: 0.8rem;
	border-top: 1px solid var(--tresnak-color-border);
}

.tresnak-convertidor-temperatura__history-title {
	margin: 0 0 0.45rem;
	font-size: 0.95rem;
}

.tresnak-convertidor-temperatura__history-empty {
	margin: 0;
	color: var(--tresnak-color-muted);
	font-size: 0.9em;
}

.tresnak-convertidor-temperatura__history-list {
	margin: 0;
	padding-left: 1.1rem;
}

.tresnak-convertidor-temperatura__history-item {
	margin: 0.2rem 0;
	word-break: break-word;
}

.tresnak-generador-aleatorios__grid {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.tresnak-generador-aleatorios__field {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.tresnak-generador-aleatorios__options {
	margin-top: 0.9rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.9rem;
	align-items: flex-start;
}

.tresnak-generador-aleatorios__check {
	display: inline-flex;
	gap: 0.5rem;
	align-items: flex-start;
	line-height: 1.35;
}

.tresnak-generador-aleatorios__check input {
	margin: 0.15em 0 0;
	flex-shrink: 0;
}

.tresnak-generador-aleatorios__mode-warning {
	margin: 0.45rem 0 0;
	color: #b54708;
	font-weight: 600;
}

.tresnak-generador-aleatorios__exclude-wrap {
	margin-top: 0.8rem;
}

.tresnak-generador-aleatorios__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: 0.95rem;
}

.tresnak-generador-aleatorios__validation {
	margin: 0.55rem 0 0;
	font-size: 0.88em;
	font-weight: 600;
	color: var(--tresnak-color-muted);
}

.tresnak-generador-aleatorios__validation[data-tresnak-gna-validation-error='1'] {
	color: #b42318;
}

.tresnak-generador-aleatorios__result-wrap {
	margin-top: 0.95rem;
}

.tresnak-generador-aleatorios__result {
	min-height: 120px;
	font-variant-numeric: tabular-nums;
}

.tresnak-generador-aleatorios__meta {
	margin: 0.5rem 0 0;
}

.tresnak-generador-aleatorios__stats {
	margin: 0.35rem 0 0;
	font-weight: 600;
	color: var(--tresnak-color-muted);
}

.tresnak-generador-aleatorios__audit {
	margin: 0.35rem 0 0;
	font-size: 0.86em;
	color: var(--tresnak-color-muted);
	word-break: break-word;
}

.tresnak-generador-aleatorios__audit-help {
	margin: 0.25rem 0 0;
	font-size: 0.82em;
	color: var(--tresnak-color-muted);
}

.tresnak-generador-aleatorios__privacy-hint {
	margin-top: 0.6rem;
	font-size: 0.85em;
}

.tresnak-generador-aleatorios__status {
	margin-top: 0.75rem;
	font-size: 0.92em;
}

.tresnak-generador-aleatorios__status[data-tresnak-gna-error='1'] {
	color: #b42318;
}

.tresnak-generador-aleatorios__history {
	margin-top: 0.9rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--tresnak-color-border);
}

.tresnak-generador-aleatorios__history-title {
	margin: 0 0 0.45rem;
	font-size: 0.95rem;
}

.tresnak-generador-aleatorios__history-empty {
	margin: 0;
	color: var(--tresnak-color-muted);
	font-size: 0.9em;
}

.tresnak-generador-aleatorios__history-list {
	margin: 0;
	padding-left: 1.1rem;
}

.tresnak-generador-aleatorios__history-item {
	margin: 0.25rem 0;
	word-break: break-word;
}

.tresnak-generador-aleatorios__history-use {
	border: 1px solid var(--tresnak-color-border);
	background: var(--tresnak-color-bg);
	border-radius: 8px;
	font: inherit;
	font-size: 0.82em;
	padding: 0.1rem 0.4rem;
	cursor: pointer;
}

.tresnak-generador-aleatorios__frequency {
	margin-top: 0.9rem;
}

.tresnak-generador-aleatorios__freq-title {
	margin: 0 0 0.45rem;
	font-size: 0.95rem;
}

.tresnak-generador-aleatorios__freq-table {
	width: 100%;
	border-collapse: collapse;
}

.tresnak-generador-aleatorios__freq-table th,
.tresnak-generador-aleatorios__freq-table td {
	border: 1px solid var(--tresnak-color-border);
	padding: 0.35rem 0.45rem;
	text-align: left;
}

.tresnak-generador-aleatorios__legal {
	margin-top: 0.65rem;
	font-size: 0.84em;
	color: var(--tresnak-color-muted);
}

.tresnak-generador-aleatorios__acta {
	margin-top: 0.9rem;
	padding: 0.95rem;
	border: 1px solid var(--tresnak-color-border);
	border-radius: 12px;
	background: #f8fafc;
}

.tresnak-generador-aleatorios__title {
	margin: 0 0 0.55rem;
	font-size: 1rem;
}

.tresnak-generador-aleatorios__acta-card {
	display: grid;
	gap: 0.8rem;
}

.tresnak-generador-aleatorios__acta-meta {
	display: grid;
	gap: 0.4rem;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.tresnak-generador-aleatorios__acta-meta p {
	margin: 0;
}

.tresnak-generador-aleatorios__acta-block {
	background: #fff;
	border: 1px solid var(--tresnak-color-border);
	border-radius: 10px;
	padding: 0.75rem;
}

.tresnak-generador-aleatorios__acta-block h4 {
	margin: 0 0 0.45rem;
	font-size: 0.98rem;
}

.tresnak-generador-aleatorios__acta-block ol {
	margin: 0;
	padding-left: 1.1rem;
}

.tresnak-generador-aleatorios__acta-block li {
	margin: 0.2rem 0;
	word-break: break-word;
}

.tresnak-generador-aleatorios__acta-pos {
	font-weight: 600;
}

@media print {
	body.tresnak-print-isolated .tresnak-print-target .tresnak-generador-aleatorios__grid,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-generador-aleatorios__options,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-generador-aleatorios__exclude-wrap,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-generador-aleatorios__actions,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-generador-aleatorios__validation,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-generador-aleatorios__result,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-generador-aleatorios__meta,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-generador-aleatorios__stats,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-generador-aleatorios__audit,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-generador-aleatorios__audit-help,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-generador-aleatorios__frequency,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-generador-aleatorios__history,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-generador-aleatorios__privacy-hint,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-generador-aleatorios__status,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-generador-aleatorios__legal,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-seo-extra {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-generador-aleatorios__acta {
		margin: 0;
		padding: 0;
		border: none;
		background: transparent;
	}
}

/* Lanzador de dados y monedas */
.tresnak-lanzador__grid {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.tresnak-lanzador__field {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.tresnak-lanzador__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: 0.95rem;
}

.tresnak-lanzador__options {
	margin-top: 0.75rem;
}

.tresnak-lanzador__check {
	display: inline-flex;
	gap: 0.5rem;
	align-items: center;
}

.tresnak-lanzador__result {
	margin-top: 0.95rem;
	padding: 0.85rem;
	border: 1px solid var(--tresnak-color-border);
	border-radius: 10px;
	background: #f8fafc;
}

.tresnak-lanzador__summary {
	margin: 0 0 0.5rem;
	font-weight: 600;
}

.tresnak-lanzador__dice p,
.tresnak-lanzador__coins p {
	margin: 0.35rem 0;
}

.tresnak-lanzador__dice-board,
.tresnak-lanzador__coin-board {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: 0.45rem;
}

.tresnak-lanzador__die {
	width: 48px;
	height: 48px;
	border-radius: 10px;
	border: 1px solid var(--tresnak-color-border);
	background: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 1px 0 rgba(16, 24, 40, 0.04);
}

.tresnak-lanzador__die-value {
	font-size: 1.05rem;
	font-weight: 700;
}

.tresnak-lanzador__coin {
	width: 44px;
	height: 44px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #d4b106;
	color: #7a5d00;
	background: radial-gradient(circle at 30% 30%, #fff5b8, #f5c400);
	box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.7), 0 1px 2px rgba(16, 24, 40, 0.12);
}

.tresnak-lanzador__coin.is-tails {
	border-color: #97a3b6;
	color: #334155;
	background: radial-gradient(circle at 30% 30%, #f1f5f9, #cbd5e1);
}

.tresnak-lanzador__coin-value {
	font-weight: 700;
	font-size: 0.95rem;
}

.tresnak-lanzador[data-tresnak-ldm-theme='neon'] .tresnak-lanzador__die {
	border-color: #7c3aed;
	background: linear-gradient(145deg, #0f172a, #1e1b4b);
	color: #e9d5ff;
	box-shadow: 0 0 0 1px rgba(124, 58, 237, 0.4), 0 0 12px rgba(124, 58, 237, 0.45);
}

.tresnak-lanzador[data-tresnak-ldm-theme='neon'] .tresnak-lanzador__coin {
	border-color: #22d3ee;
	color: #cffafe;
	background: radial-gradient(circle at 30% 30%, #164e63, #082f49);
	box-shadow: 0 0 0 1px rgba(34, 211, 238, 0.4), 0 0 12px rgba(34, 211, 238, 0.45);
}

.tresnak-lanzador[data-tresnak-ldm-theme='neon'] .tresnak-lanzador__coin.is-tails {
	border-color: #f472b6;
	color: #fce7f3;
	background: radial-gradient(circle at 30% 30%, #831843, #500724);
	box-shadow: 0 0 0 1px rgba(244, 114, 182, 0.45), 0 0 12px rgba(244, 114, 182, 0.35);
}

.tresnak-lanzador[data-tresnak-ldm-theme='minimal'] .tresnak-lanzador__die,
.tresnak-lanzador[data-tresnak-ldm-theme='minimal'] .tresnak-lanzador__coin {
	box-shadow: none;
	background: #fff;
	border-width: 2px;
}

.tresnak-lanzador__dice-board.is-rolling .tresnak-lanzador__die {
	animation: tresnak-lanzador-die-fall 0.85s ease-out both;
}

.tresnak-lanzador__dice-board.is-rolling .tresnak-lanzador__die:nth-child(2n) {
	animation-delay: 0.04s;
}

.tresnak-lanzador__dice-board.is-rolling .tresnak-lanzador__die:nth-child(3n) {
	animation-delay: 0.08s;
}

.tresnak-lanzador__coin-board.is-flipping .tresnak-lanzador__coin {
	animation: tresnak-lanzador-coin-flip 0.8s ease-out both;
}

.tresnak-lanzador__coin-board.is-flipping .tresnak-lanzador__coin:nth-child(2n) {
	animation-delay: 0.05s;
}

@keyframes tresnak-lanzador-die-fall {
	0% {
		transform: translateY(-70px) rotate(-20deg);
		opacity: 0;
	}
	65% {
		transform: translateY(7px) rotate(10deg);
		opacity: 1;
	}
	100% {
		transform: translateY(0) rotate(0deg);
		opacity: 1;
	}
}

@keyframes tresnak-lanzador-coin-flip {
	0% {
		transform: translateY(-55px) rotateY(0deg);
		opacity: 0;
	}
	100% {
		transform: translateY(0) rotateY(1080deg);
		opacity: 1;
	}
}

.tresnak-lanzador__audit {
	margin-top: 0.55rem;
	word-break: break-word;
}

.tresnak-lanzador__stats,
.tresnak-lanzador__history {
	margin-top: 0.75rem;
}

.tresnak-lanzador__stats-block,
.tresnak-lanzador__history-item {
	background: #fff;
	border: 1px solid var(--tresnak-color-border);
	border-radius: 10px;
	padding: 0.65rem;
	margin-top: 0.45rem;
}

.tresnak-lanzador__stats-block h4,
.tresnak-lanzador__history-title {
	margin: 0 0 0.3rem;
	font-size: 0.95rem;
}

.tresnak-lanzador__stats-block p,
.tresnak-lanzador__history-item span {
	margin: 0;
}

.tresnak-lanzador__stats-block ul,
.tresnak-lanzador__history-list {
	margin: 0.4rem 0 0;
	padding-left: 1rem;
}

.tresnak-lanzador__history-empty {
	margin: 0.3rem 0 0;
	color: var(--tresnak-color-muted);
}

.tresnak-lanzador__history-use,
.tresnak-lanzador__history-replay {
	margin-left: 0.35rem;
	border: 1px solid var(--tresnak-color-border);
	background: var(--tresnak-color-bg);
	border-radius: 8px;
	font: inherit;
	font-size: 0.82em;
	padding: 0.1rem 0.4rem;
	cursor: pointer;
}

.tresnak-lanzador__acta {
	margin-top: 0.95rem;
	padding: 0.95rem;
	border: 1px solid var(--tresnak-color-border);
	border-radius: 12px;
	background: #f8fafc;
}

.tresnak-lanzador__title {
	margin: 0 0 0.55rem;
	font-size: 1rem;
}

.tresnak-lanzador__acta-meta {
	display: grid;
	gap: 0.35rem;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.tresnak-lanzador__acta-meta p {
	margin: 0;
}

.tresnak-lanzador__acta-block {
	margin-top: 0.65rem;
	background: #fff;
	border: 1px solid var(--tresnak-color-border);
	border-radius: 10px;
	padding: 0.75rem;
}

.tresnak-lanzador__acta-visual {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.3rem 0 0.55rem;
}

.tresnak-lanzador__status {
	margin-top: 0.75rem;
	font-size: 0.92em;
}

.tresnak-lanzador__status[data-tresnak-ldm-error='1'] {
	color: #b42318;
}

@media print {
	body.tresnak-print-isolated .tresnak-print-target .tresnak-lanzador__grid,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-lanzador__actions,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-lanzador__result,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-lanzador__options,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-lanzador__status,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-seo-extra {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-lanzador__acta {
		margin: 0;
		padding: 0;
		border: none;
		background: transparent;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-lanzador__die,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-lanzador__coin {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
}

/* Selector aleatorio (sorteos por lista/personas) */
.tresnak-selector-aleatorio__grid {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.tresnak-selector-aleatorio__field {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.tresnak-selector-aleatorio__field--full {
	grid-column: 1 / -1;
}

.tresnak-selector-aleatorio__import-box {
	padding: 0.8rem;
	border: 1px dashed var(--tresnak-color-border);
	border-radius: 10px;
	background: #fbfdff;
}

.tresnak-selector-aleatorio__import-map {
	margin-top: 0.65rem;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.tresnak-selector-aleatorio__import-map--disabled {
	opacity: 0.65;
}

.tresnak-selector-aleatorio__field--actions {
	justify-content: flex-end;
}

.tresnak-selector-aleatorio__header-detected {
	margin: 0.4rem 0 0;
	font-size: 0.84em;
	color: var(--tresnak-color-muted);
}

.tresnak-selector-aleatorio__import-wait {
	margin: 0.45rem 0 0;
	font-size: 0.84em;
	color: var(--tresnak-color-muted);
}

.tresnak-selector-aleatorio__list {
	min-height: 170px;
	resize: vertical;
}

.tresnak-selector-aleatorio__options {
	margin-top: 0.85rem;
}

.tresnak-selector-aleatorio__check {
	display: inline-flex;
	gap: 0.5rem;
	align-items: center;
}

.tresnak-selector-aleatorio__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: 0.95rem;
}

.tresnak-selector-aleatorio__result {
	margin-top: 0.95rem;
	display: grid;
	gap: 0.85rem;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.tresnak-selector-aleatorio__column {
	padding: 0.85rem;
	border: 1px solid var(--tresnak-color-border);
	border-radius: 10px;
	background: #f8fafc;
}

.tresnak-selector-aleatorio__title {
	margin: 0 0 0.45rem;
	font-size: 1rem;
}

.tresnak-selector-aleatorio__list-out {
	margin: 0;
	padding-left: 1.2rem;
}

.tresnak-selector-aleatorio__list-out li {
	margin: 0.2rem 0;
	word-break: break-word;
}

.tresnak-selector-aleatorio__audit,
.tresnak-selector-aleatorio__privacy-hint,
.tresnak-selector-aleatorio__legal {
	margin-top: 0.6rem;
}

.tresnak-selector-aleatorio__acta {
	margin-top: 0.85rem;
	padding: 0.95rem;
	border: 1px solid var(--tresnak-color-border);
	border-radius: 12px;
	background: #f8fafc;
}

.tresnak-selector-aleatorio__acta-card {
	display: grid;
	gap: 0.85rem;
}

.tresnak-selector-aleatorio__acta-meta {
	display: grid;
	gap: 0.4rem;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.tresnak-selector-aleatorio__acta-meta p {
	margin: 0;
}

.tresnak-selector-aleatorio__acta-blocks {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.tresnak-selector-aleatorio__acta-block {
	background: #fff;
	border: 1px solid var(--tresnak-color-border);
	border-radius: 10px;
	padding: 0.75rem;
}

.tresnak-selector-aleatorio__acta-block h4 {
	margin: 0 0 0.45rem;
	font-size: 0.98rem;
}

.tresnak-selector-aleatorio__acta-block ol {
	margin: 0;
	padding-left: 1.1rem;
}

.tresnak-selector-aleatorio__acta-block li {
	margin: 0.22rem 0;
	word-break: break-word;
}

.tresnak-selector-aleatorio__acta-pos {
	font-weight: 600;
}

.tresnak-selector-aleatorio__status {
	margin-top: 0.75rem;
	font-size: 0.92em;
}

.tresnak-selector-aleatorio__status[data-tresnak-sa-error='1'] {
	color: #b42318;
}

@media (max-width: 640px) {
	.tresnak-selector-aleatorio--single-mode .tresnak-selector-aleatorio__column--subs {
		display: none;
	}
}

@media print {
	body.tresnak-print-isolated .tresnak-print-target .tresnak-selector-aleatorio__grid,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-selector-aleatorio__options,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-selector-aleatorio__actions,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-selector-aleatorio__result,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-selector-aleatorio__audit,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-selector-aleatorio__privacy-hint,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-selector-aleatorio__status,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-seo-extra {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-selector-aleatorio__acta {
		margin: 0;
		padding: 0;
		border: none;
		background: transparent;
	}
}

.tresnak-convertidor-fechas__grid {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.tresnak-convertidor-fechas__field {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.tresnak-convertidor-fechas__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: 0.95rem;
}

.tresnak-convertidor-fechas__result {
	margin-top: 0.95rem;
	padding: 0.9rem;
	border-radius: 10px;
	background: #f8fafc;
	border: 1px solid var(--tresnak-color-border);
}

.tresnak-convertidor-fechas__result-empty {
	margin: 0;
	color: var(--tresnak-color-muted);
}

.tresnak-convertidor-fechas__result-list {
	margin: 0;
	padding-left: 1.1rem;
}

.tresnak-convertidor-fechas__result-item {
	margin: 0.25rem 0;
	word-break: break-word;
}

.tresnak-convertidor-fechas__status {
	margin-top: 0.75rem;
	font-size: 0.92em;
}

.tresnak-convertidor-fechas__status[data-tresnak-cf-error='1'] {
	color: #b42318;
}

.tresnak-convertidor-fechas__shortcut-hint {
	margin: 0.65rem 0 0;
	font-size: 0.82em;
	color: var(--tresnak-color-muted);
	line-height: 1.45;
}

.tresnak-convertidor-fechas__formats {
	margin-top: 0.9rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem 0.9rem;
	align-items: center;
}

.tresnak-convertidor-fechas__formats-title {
	margin: 0;
	width: 100%;
	font-weight: 600;
}

.tresnak-convertidor-fechas__check {
	display: inline-flex;
	gap: 0.35rem;
	align-items: center;
	font-size: 0.9em;
}

.tresnak-convertidor-fechas__result-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
}

.tresnak-convertidor-fechas__result-value {
	word-break: break-word;
}

.tresnak-convertidor-fechas__history {
	margin-top: 1rem;
	padding-top: 0.8rem;
	border-top: 1px solid var(--tresnak-color-border);
}

.tresnak-convertidor-fechas__history-title {
	margin: 0 0 0.45rem;
	font-size: 0.95rem;
}

.tresnak-convertidor-fechas__history-empty {
	margin: 0;
	color: var(--tresnak-color-muted);
	font-size: 0.9em;
}

.tresnak-convertidor-fechas__history-list {
	margin: 0;
	padding-left: 1.1rem;
}

.tresnak-convertidor-fechas__history-item {
	margin: 0.2rem 0;
	word-break: break-word;
}

.tresnak-convertidor-unidades__privacy-hint {
	margin: 0.75rem 0 0;
	font-size: 0.82em;
}

.tresnak-convertidor-unidades__status {
	margin: 1rem 0 0;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--tresnak-color-accent);
}

.tresnak-convertidor-unidades__status[data-tresnak-cu-error='1'] {
	color: #b42318;
}

/* Quitar acentos / normalizar texto */
.tresnak-normalizar-texto__fieldset {
	margin: 0 0 1rem;
	padding: 0;
	border: 0;
}

.tresnak-normalizar-texto__legend {
	padding: 0;
	margin: 0 0 0.5rem;
	font-weight: 700;
	font-size: 0.95em;
}

.tresnak-normalizar-texto__options {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.tresnak-normalizar-texto__check {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	cursor: pointer;
	font-size: 0.95em;
	line-height: 1.45;
}

.tresnak-normalizar-texto__check input {
	margin-top: 0.2em;
	flex-shrink: 0;
}

.tresnak-normalizar-texto__note {
	margin: 0 0 0.55rem;
}

.tresnak-normalizar-texto__privacy-hint {
	margin: 0 0 1rem;
	font-size: 0.82em;
}

.tresnak-normalizar-texto__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-bottom: 1rem;
	align-items: start;
}

@media (min-width: 720px) {
	.tresnak-normalizar-texto__grid {
		grid-template-columns: 1fr 1fr;
	}
}

.tresnak-normalizar-texto__col {
	min-width: 0;
}

.tresnak-normalizar-texto__textarea {
	min-height: 12rem;
	resize: vertical;
	line-height: 1.5;
}

.tresnak-normalizar-texto__output {
	background: var(--tresnak-color-bg);
}

.tresnak-normalizar-texto__count {
	margin-top: 0.45rem;
	font-size: 0.82em;
}

.tresnak-normalizar-texto__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
}

.tresnak-normalizar-texto__shortcut-hint {
	margin: 0.65rem 0 0;
	font-size: 0.82em;
	color: var(--tresnak-color-muted);
	line-height: 1.45;
}

.tresnak-normalizar-texto__status {
	margin: 1rem 0 0;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--tresnak-color-accent);
}

.tresnak-normalizar-texto__status[data-tresnak-nt-error='1'] {
	color: #b42318;
}

/* Formateador de texto académico */
.tresnak-formato-texto-academico__toolbar {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin-bottom: 1rem;
	align-items: stretch;
}

@media (min-width: 720px) {
	.tresnak-formato-texto-academico__toolbar {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-end;
	}
}

.tresnak-formato-texto-academico__field {
	flex: 1 1 12rem;
	min-width: 0;
}

.tresnak-formato-texto-academico__presets {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	align-items: center;
}

.tresnak-formato-texto-academico__fieldset {
	margin: 0 0 1rem;
	padding: 0;
	border: 0;
}

.tresnak-formato-texto-academico__legend {
	padding: 0;
	margin: 0 0 0.5rem;
	font-weight: 700;
	font-size: 0.95em;
}

.tresnak-formato-texto-academico__options {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.tresnak-formato-texto-academico__check {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	cursor: pointer;
	font-size: 0.95em;
	line-height: 1.45;
}

.tresnak-formato-texto-academico__check input {
	margin-top: 0.2em;
	flex-shrink: 0;
}

.tresnak-formato-texto-academico__note {
	margin: 0 0 0.55rem;
}

.tresnak-formato-texto-academico__privacy-hint {
	margin: 0 0 1rem;
	font-size: 0.82em;
}

.tresnak-formato-texto-academico__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-bottom: 1rem;
	align-items: start;
}

@media (min-width: 720px) {
	.tresnak-formato-texto-academico__grid {
		grid-template-columns: 1fr 1fr;
	}
}

.tresnak-formato-texto-academico__col {
	min-width: 0;
}

.tresnak-formato-texto-academico__textarea {
	min-height: 12rem;
	resize: vertical;
	line-height: 1.5;
}

.tresnak-formato-texto-academico__output {
	background: var(--tresnak-color-bg);
}

.tresnak-formato-texto-academico__count {
	margin-top: 0.45rem;
	font-size: 0.82em;
}

.tresnak-formato-texto-academico__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
}

.tresnak-formato-texto-academico__shortcut-hint {
	margin: 0.65rem 0 0;
	font-size: 0.82em;
	color: var(--tresnak-color-muted);
	line-height: 1.45;
}

.tresnak-formato-texto-academico__status {
	margin: 0.65rem 0 0;
	padding: 0.55rem 0.75rem;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--tresnak-color-accent, #2563eb);
	background: var(--tresnak-color-surface-muted, #f0f4fa);
	border-radius: var(--tresnak-radius-md, 8px);
	border: 1px solid var(--tresnak-color-border, #d8dee4);
}

.tresnak-formato-texto-academico__status[data-tresnak-fta-error='1'] {
	color: #b42318;
	background: #fef2f2;
	border-color: #fecdca;
}

.tresnak-formato-texto-academico__print-sheet {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.tresnak-formato-texto-academico__print-inner {
	max-width: 48rem;
	font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	line-height: 1.5;
}

.tresnak-formato-texto-academico__print-h1 {
	margin: 0 0 1rem;
	font-size: 1.35rem;
}

.tresnak-formato-texto-academico__print-pre {
	margin: 0;
	white-space: pre-wrap;
	word-break: break-word;
	font-family: inherit;
	font-size: 0.95rem;
}

@media print {
	body.tresnak-print-isolated .tresnak-print-target.tresnak-formato-texto-academico__print-sheet {
		position: static !important;
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		clip: auto !important;
		overflow: visible !important;
		white-space: normal !important;
	}
}

/* Calculadora de notas medias */
.tresnak-notas-medias__mode-fieldset {
	margin: 0 0 1rem;
	padding: 0;
	border: 0;
}

.tresnak-notas-medias__legend {
	padding: 0;
	margin: 0 0 0.5rem;
	font-weight: 700;
	font-size: 0.95em;
}

.tresnak-notas-medias__mode-options {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.tresnak-notas-medias__mode-label {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	cursor: pointer;
	font-size: 0.95em;
	line-height: 1.45;
}

.tresnak-notas-medias__mode-label input {
	margin-top: 0.2em;
	flex-shrink: 0;
}

.tresnak-notas-medias__scale-hint {
	margin: 0 0 1rem;
}

.tresnak-notas-medias__scale-presets {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 0.85rem;
}

.tresnak-notas-medias__import-wrap {
	margin: 0 0 1rem;
	padding: 0.75rem;
	border: 1px solid var(--tresnak-color-border);
	border-radius: var(--tresnak-radius-md, 8px);
	background: var(--tresnak-color-surface-muted, #f8fafc);
}

.tresnak-notas-medias__import {
	min-height: 5rem;
	resize: vertical;
}

.tresnak-notas-medias__table-wrap {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin-bottom: 0.75rem;
}

.tresnak-notas-medias__table {
	width: 100%;
	min-width: 18rem;
	border-collapse: collapse;
	font-size: 0.92rem;
}

.tresnak-notas-medias__caption {
	caption-side: top;
	text-align: left;
	font-weight: 600;
	margin-bottom: 0.5rem;
	font-size: 0.95em;
}

.tresnak-notas-medias__table th,
.tresnak-notas-medias__table td {
	padding: 0.45rem 0.5rem;
	border: 1px solid var(--tresnak-color-border);
	vertical-align: middle;
}

.tresnak-notas-medias__table th {
	background: var(--tresnak-color-surface-muted, #f0f4fa);
	text-align: left;
	font-weight: 600;
}

.tresnak-notas-medias__th-num,
.tresnak-notas-medias__td-num {
	width: 2.25rem;
	text-align: center;
}

.tresnak-notas-medias__th-action,
.tresnak-notas-medias__td-action {
	width: 5.5rem;
	text-align: center;
	white-space: nowrap;
}

.tresnak-notas-medias__table .tresnak-field__input {
	width: 100%;
	min-width: 0;
	margin: 0;
	box-sizing: border-box;
}

.tresnak-notas-medias__table .tresnak-notas-medias__input-error {
	border-color: #b42318;
	box-shadow: 0 0 0 1px rgba(180, 35, 24, 0.25);
}

.tresnak-notas-medias__td-grade .tresnak-field__input,
.tresnak-notas-medias__td-credit .tresnak-field__input {
	max-width: 8rem;
}

.tresnak-notas-medias__table--simple .tresnak-notas-medias__col-credit,
.tresnak-notas-medias__table--simple .tresnak-notas-medias__th-credit {
	display: none;
}

.tresnak-notas-medias__remove {
	min-width: 2.25rem;
	padding: 0.35rem 0.5rem;
	line-height: 1;
}

.tresnak-notas-medias__duplicate {
	min-width: 2.25rem;
	padding: 0.35rem 0.5rem;
	line-height: 1;
	margin-right: 0.25rem;
}

.tresnak-notas-medias__remove:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

.tresnak-notas-medias__toolbar {
	margin-bottom: 1rem;
}

.tresnak-notas-medias__results {
	margin: 0 0 1rem;
	min-height: 1.5rem;
}

.tresnak-notas-medias__result-line {
	margin: 0 0 0.35rem;
	font-size: clamp(1.05rem, 2.2vw, 1.2rem);
	font-weight: 700;
	color: var(--tresnak-color-accent);
}

.tresnak-notas-medias__result-meta {
	margin: 0;
	font-size: 0.9rem;
	color: var(--tresnak-color-muted);
}

.tresnak-notas-medias__error {
	margin: 0 0 0.75rem;
	padding: 0.55rem 0.75rem;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.4;
	color: #b42318;
	background: #fef2f2;
	border-radius: var(--tresnak-radius-md, 8px);
	border: 1px solid #fecdca;
}

.tresnak-notas-medias__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	margin-bottom: 0.5rem;
}

.tresnak-notas-medias__feedback {
	margin: 0 0 1rem;
	padding: 0.55rem 0.75rem;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--tresnak-color-accent, #2563eb);
	background: var(--tresnak-color-surface-muted, #f0f4fa);
	border-radius: var(--tresnak-radius-md, 8px);
	border: 1px solid var(--tresnak-color-border, #d8dee4);
}

.tresnak-notas-medias__feedback[data-tresnak-nm-feedback-error='1'] {
	color: #b42318;
	background: #fef2f2;
	border-color: #fecdca;
}

.tresnak-notas-medias__shortcut-hint {
	margin: 0.45rem 0 0.95rem;
	font-size: 0.82em;
	color: var(--tresnak-color-muted);
}

/* Planificador de estudio simple */
.tresnak-plan-estudio__form-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

@media (min-width: 860px) {
	.tresnak-plan-estudio__form-grid {
		grid-template-columns: 1fr 1.5fr 0.8fr 0.7fr 0.8fr 0.8fr auto;
		align-items: end;
	}
}

.tresnak-plan-estudio__filters,
.tresnak-plan-estudio__sorts,
.tresnak-plan-estudio__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	margin-bottom: 0.85rem;
}

.tresnak-plan-estudio__form-actions-inline {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.tresnak-plan-estudio__filter.is-active,
.tresnak-plan-estudio__sort.is-active {
	color: #1d4ed8;
	background: #dbeafe;
	border-color: #93c5fd;
	box-shadow: 0 0 0 1px rgba(29, 78, 216, 0.18);
}

.tresnak-plan-estudio__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.tresnak-plan-estudio__item {
	border: 1px solid var(--tresnak-color-border);
	border-radius: var(--tresnak-radius-md, 8px);
	padding: 0.55rem 0.65rem;
	display: flex;
	justify-content: space-between;
	gap: 0.65rem;
	align-items: flex-start;
	background: #fff;
}

.tresnak-plan-estudio__item.priority-high {
	border-left: 4px solid #ef4444;
}

.tresnak-plan-estudio__item.priority-medium {
	border-left: 4px solid #f59e0b;
}

.tresnak-plan-estudio__item.priority-low {
	border-left: 4px solid #10b981;
}

.tresnak-plan-estudio__item.is-done {
	opacity: 0.75;
}

.tresnak-plan-estudio__item.is-done .tresnak-plan-estudio__check span {
	text-decoration: line-through;
}

.tresnak-plan-estudio__check {
	display: flex;
	gap: 0.5rem;
	align-items: flex-start;
	line-height: 1.4;
}

.tresnak-plan-estudio__badge {
	display: inline-block;
	margin-left: 0.4rem;
	padding: 0.1rem 0.38rem;
	font-size: 0.74rem;
	font-weight: 600;
	border-radius: 999px;
	background: #eef2f7;
	color: #334155;
}

.tresnak-plan-estudio__badge.priority-high {
	background: #fee2e2;
	color: #991b1b;
}

.tresnak-plan-estudio__badge.priority-medium {
	background: #fef3c7;
	color: #92400e;
}

.tresnak-plan-estudio__badge.priority-low {
	background: #d1fae5;
	color: #065f46;
}

.tresnak-plan-estudio__summary {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.35rem;
	margin: 0 0 0.85rem;
}

@media (min-width: 720px) {
	.tresnak-plan-estudio__summary {
		grid-template-columns: 1fr 1fr;
	}
}

.tresnak-plan-estudio__summary-line {
	margin: 0;
	padding: 0.42rem 0.6rem;
	font-size: 0.86rem;
	border: 1px solid var(--tresnak-color-border);
	border-radius: var(--tresnak-radius-md, 8px);
	background: var(--tresnak-color-surface-muted, #f8fafc);
}

.tresnak-plan-estudio__overlap {
	margin: 0 0 0.85rem;
	padding: 0.55rem 0.75rem;
	font-size: 0.88rem;
	font-weight: 600;
	line-height: 1.4;
	color: #b45309;
	background: #fffbeb;
	border: 1px solid #fcd34d;
	border-radius: var(--tresnak-radius-md, 8px);
}

.tresnak-plan-estudio__overlap:not(.tresnak-is-hidden) {
	cursor: pointer;
}

.tresnak-plan-estudio__item--focus {
	box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.25);
}

.tresnak-plan-estudio__empty {
	margin: 0.35rem 0 0;
}

.tresnak-plan-estudio__status {
	margin: 0.75rem 0 0.2rem;
	padding: 0.55rem 0.75rem;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--tresnak-color-accent, #2563eb);
	background: var(--tresnak-color-surface-muted, #f0f4fa);
	border-radius: var(--tresnak-radius-md, 8px);
	border: 1px solid var(--tresnak-color-border, #d8dee4);
}

.tresnak-plan-estudio__status[data-tresnak-pe-error='1'] {
	color: #b42318;
	background: #fef2f2;
	border-color: #fecdca;
}

.tresnak-plan-estudio__print-sheet {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.tresnak-plan-estudio__print-inner {
	max-width: 48rem;
	font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	line-height: 1.5;
}

.tresnak-plan-estudio__print-h1 {
	margin: 0 0 1rem;
	font-size: 1.35rem;
}

.tresnak-plan-estudio__print-pre {
	margin: 0;
	white-space: pre-wrap;
	word-break: break-word;
	font-family: inherit;
	font-size: 0.95rem;
}

.tresnak-plan-estudio__print-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
}

.tresnak-plan-estudio__print-table th,
.tresnak-plan-estudio__print-table td {
	border: 1px solid #cbd5e1;
	padding: 0.35rem 0.45rem;
	vertical-align: top;
	text-align: left;
}

.tresnak-plan-estudio__print-table th {
	background: #f1f5f9;
	font-weight: 700;
}

.tresnak-plan-estudio__print-table tr.priority-high td {
	background: #fef2f2;
}

.tresnak-plan-estudio__print-table tr.priority-medium td {
	background: #fffbeb;
}

.tresnak-plan-estudio__print-table tr.priority-low td {
	background: #ecfdf5;
}

/* Fallback visible en impresión aunque el navegador no imprima fondos */
.tresnak-plan-estudio__print-table tr.priority-high td:first-child {
	border-left: 4px solid #dc2626;
}

.tresnak-plan-estudio__print-table tr.priority-medium td:first-child {
	border-left: 4px solid #d97706;
}

.tresnak-plan-estudio__print-table tr.priority-low td:first-child {
	border-left: 4px solid #059669;
}

.tresnak-plan-estudio__print-table tr.priority-high td:last-child {
	color: #991b1b;
	font-weight: 700;
}

.tresnak-plan-estudio__print-table tr.priority-medium td:last-child {
	color: #92400e;
	font-weight: 700;
}

.tresnak-plan-estudio__print-table tr.priority-low td:last-child {
	color: #065f46;
	font-weight: 700;
}

@media print {
	.tresnak-plan-estudio__print-table,
	.tresnak-plan-estudio__print-table * {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
}

@media print {
	body.tresnak-print-isolated .tresnak-print-target.tresnak-plan-estudio__print-sheet {
		position: static !important;
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		clip: auto !important;
		overflow: visible !important;
		white-space: normal !important;
	}
}

.tresnak-notas-medias__print-sheet {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.tresnak-notas-medias__print-inner {
	max-width: 48rem;
	font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	line-height: 1.5;
}

.tresnak-notas-medias__print-h1 {
	margin: 0 0 1rem;
	font-size: 1.35rem;
}

.tresnak-notas-medias__print-pre {
	margin: 0;
	white-space: pre-wrap;
	word-break: break-word;
	font-family: inherit;
	font-size: 0.95rem;
}

@media print {
	body.tresnak-print-isolated .tresnak-print-target.tresnak-notas-medias__print-sheet {
		position: static !important;
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		clip: auto !important;
		overflow: visible !important;
		white-space: normal !important;
	}
}

/* Bloque SEO reutilizable (FAQ + relacionadas) */
.tresnak-seo-extra {
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid var(--tresnak-color-border);
}

.tresnak-seo-extra__title {
	margin: 0 0 0.65rem;
	font-size: clamp(1.02rem, 2.1vw, 1.12rem);
	font-weight: 700;
}

.tresnak-seo-extra__faq-intro {
	margin: 0 0 0.95rem;
	max-width: 65ch;
	font-size: 0.96rem;
	line-height: 1.55;
	color: var(--tresnak-color-text, #1a1d21);
}

.tresnak-seo-extra__faq {
	margin: 0 0 0.55rem;
	padding: 0.65rem 0.75rem;
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: 8px;
}

.tresnak-seo-extra__faq-q {
	font-weight: 600;
	cursor: pointer;
}

.tresnak-seo-extra__faq-a {
	margin: 0.6rem 0 0;
	font-size: 0.93em;
	color: var(--tresnak-color-muted);
	line-height: 1.5;
}

.tresnak-seo-extra__faq-list {
	margin: 0.55rem 0 0.35rem;
	padding-left: 1.25rem;
	font-size: 0.93em;
	color: var(--tresnak-color-muted);
	line-height: 1.5;
}

.tresnak-seo-extra__faq-list li {
	margin: 0.4rem 0 0;
}

.tresnak-seo-extra__faq-list code {
	font-size: 0.88em;
	padding: 0.1em 0.35em;
	border-radius: 4px;
	background: var(--tresnak-color-surface, #f3f4f6);
	word-break: break-all;
}

.tresnak-seo-extra__list {
	margin: 0;
	padding-left: 1.2em;
}

.tresnak-seo-extra__list li {
	margin: 0.35rem 0 0;
	line-height: 1.45;
}

/* Detector de texto duplicado */
.tresnak-detector-duplicado__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-bottom: 1rem;
	align-items: start;
}

@media (min-width: 860px) {
	.tresnak-detector-duplicado__grid {
		grid-template-columns: 1.1fr 0.9fr;
	}
}

.tresnak-detector-duplicado__col {
	min-width: 0;
}

.tresnak-detector-duplicado__textarea {
	min-height: 12rem;
	resize: vertical;
	line-height: 1.5;
}

.tresnak-detector-duplicado__count {
	margin-top: 0.45rem;
	font-size: 0.82em;
}

.tresnak-detector-duplicado__fieldset {
	margin: 0 0 0.85rem;
	padding: 0;
	border: 0;
}

.tresnak-detector-duplicado__legend {
	padding: 0;
	margin: 0 0 0.5rem;
	font-weight: 700;
	font-size: 0.95em;
}

.tresnak-detector-duplicado__options {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.tresnak-detector-duplicado__check {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	cursor: pointer;
	font-size: 0.95em;
	line-height: 1.45;
}

.tresnak-detector-duplicado__check input {
	margin-top: 0.2em;
	flex-shrink: 0;
}

.tresnak-detector-duplicado__privacy-hint {
	margin: 0 0 1rem;
	font-size: 0.82em;
}

.tresnak-detector-duplicado__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
}

.tresnak-detector-duplicado__shortcut-hint {
	margin: 0.65rem 0 0;
	font-size: 0.82em;
	color: var(--tresnak-color-muted);
	line-height: 1.45;
}

.tresnak-detector-duplicado__summary {
	margin-top: 1.2rem;
	padding: var(--tresnak-space);
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
}

.tresnak-detector-duplicado__summary-title {
	margin: 0 0 0.75rem;
	font-size: clamp(1.05rem, 2.2vw, 1.15rem);
	font-weight: 700;
}

.tresnak-detector-duplicado__summary-list {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.45rem 0.9rem;
	margin: 0;
}

.tresnak-detector-duplicado__summary-list dt {
	margin: 0;
	font-weight: 600;
	color: var(--tresnak-color-muted);
}

.tresnak-detector-duplicado__summary-list dd {
	margin: 0;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.tresnak-detector-duplicado__results {
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid var(--tresnak-color-border);
}

.tresnak-detector-duplicado__results-title {
	margin: 0 0 0.75rem;
	font-size: clamp(1.02rem, 2.1vw, 1.12rem);
	font-weight: 700;
}

.tresnak-detector-duplicado__empty {
	margin: 0;
	color: var(--tresnak-color-muted);
}

.tresnak-detector-duplicado__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.65rem;
}

.tresnak-detector-duplicado__item {
	padding: 0.75rem;
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: 8px;
}

.tresnak-detector-duplicado__item-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.35rem 0.75rem;
}

.tresnak-detector-duplicado__badge {
	display: inline-block;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--tresnak-color-accent);
	border: 1px solid var(--tresnak-color-border);
	border-radius: 999px;
	padding: 0.2em 0.65em;
	line-height: 1.2;
}

.tresnak-detector-duplicado__pos {
	font-size: 0.82em;
	color: var(--tresnak-color-muted);
}

.tresnak-detector-duplicado__item-text {
	margin: 0.55rem 0 0;
	line-height: 1.45;
	word-break: break-word;
}

.tresnak-detector-duplicado__status {
	margin: 1rem 0 0;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--tresnak-color-accent);
}

.tresnak-detector-duplicado__status[data-tresnak-dt-error='1'] {
	color: #b42318;
}

/* Comparador de similitud / plagio (MVP) */
.tresnak-detector-plagio__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-bottom: 1rem;
}

@media (min-width: 860px) {
	.tresnak-detector-plagio__grid {
		grid-template-columns: 1fr 1fr;
	}
}

.tresnak-detector-plagio__textarea {
	min-height: 11.5rem;
	resize: vertical;
	line-height: 1.5;
}

.tresnak-detector-plagio__count {
	margin-top: 0.45rem;
	font-size: 0.82em;
}

.tresnak-detector-plagio__fieldset {
	margin: 0 0 0.85rem;
	padding: 0;
	border: 0;
}

.tresnak-detector-plagio__legend {
	padding: 0;
	margin: 0 0 0.5rem;
	font-weight: 700;
	font-size: 0.95em;
}

.tresnak-detector-plagio__options {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.5rem;
}

.tresnak-detector-plagio__check {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	cursor: pointer;
	font-size: 0.95em;
	line-height: 1.45;
}

.tresnak-detector-plagio__check input {
	margin-top: 0.2em;
	flex-shrink: 0;
}

.tresnak-detector-plagio__disclaimer {
	margin: 0 0 0.65rem;
	font-size: 0.9em;
	color: var(--tresnak-color-muted);
}

.tresnak-detector-plagio__privacy-hint {
	margin: 0 0 1rem;
	font-size: 0.82em;
}

.tresnak-detector-plagio__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
}

.tresnak-detector-plagio__shortcut-hint {
	margin: 0.65rem 0 0;
	font-size: 0.82em;
	color: var(--tresnak-color-muted);
	line-height: 1.45;
}

.tresnak-detector-plagio__summary {
	margin-top: 1.2rem;
	padding: var(--tresnak-space);
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
}

.tresnak-detector-plagio__summary-title {
	margin: 0 0 0.5rem;
	font-size: clamp(1.05rem, 2.2vw, 1.15rem);
	font-weight: 700;
}

.tresnak-detector-plagio__score {
	margin: 0;
}

.tresnak-detector-plagio__score-val {
	font-size: clamp(1.45rem, 3vw, 1.9rem);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

.tresnak-detector-plagio__label {
	margin: 0.2rem 0 0.7rem;
	font-weight: 600;
	color: var(--tresnak-color-muted);
}

.tresnak-detector-plagio__summary-list {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.45rem 0.9rem;
	margin: 0;
}

.tresnak-detector-plagio__summary-list dt {
	margin: 0;
	font-weight: 600;
	color: var(--tresnak-color-muted);
}

.tresnak-detector-plagio__summary-list dd {
	margin: 0;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.tresnak-detector-plagio__results {
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid var(--tresnak-color-border);
}

.tresnak-detector-plagio__results-title {
	margin: 0 0 0.75rem;
	font-size: clamp(1.02rem, 2.1vw, 1.12rem);
	font-weight: 700;
}

.tresnak-detector-plagio__empty {
	margin: 0;
	color: var(--tresnak-color-muted);
}

.tresnak-detector-plagio__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.6rem;
}

.tresnak-detector-plagio__item {
	padding: 0.7rem;
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: 8px;
	font-size: 0.93em;
	line-height: 1.45;
	word-break: break-word;
}

.tresnak-detector-plagio__status {
	margin: 1rem 0 0;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--tresnak-color-accent);
}

.tresnak-detector-plagio__status[data-tresnak-pl-error='1'] {
	color: #b42318;
}

/* Cronómetro / temporizador */
.tresnak-cronometro__row {
	margin-bottom: 1rem;
}

.tresnak-cronometro__row--split {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	align-items: start;
}

@media (min-width: 520px) {
	.tresnak-cronometro__row--split {
		grid-template-columns: 1fr 1fr;
	}
}

.tresnak-cronometro__field {
	min-width: 0;
}

.tresnak-cronometro__display {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 1rem 0 1.25rem;
	padding: clamp(1rem, 4vw, 2rem);
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
	outline: none;
}

.tresnak-cronometro__display:focus-visible {
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.35);
}

.tresnak-cronometro__digits {
	font-family: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace;
	font-size: clamp(2rem, 8vw, 3.25rem);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	line-height: 1.1;
	letter-spacing: 0.03em;
}

.tresnak-cronometro--alarm .tresnak-cronometro__display {
	animation: tresnak-crono-pulse 0.9s ease-in-out 3;
	border-color: var(--tresnak-color-accent);
}

@keyframes tresnak-crono-pulse {
	0%,
	100% {
		background: var(--tresnak-color-bg);
	}
	50% {
		background: rgba(37, 99, 235, 0.12);
	}
}

.tresnak-cronometro__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-bottom: 1rem;
	align-items: center;
}

.tresnak-cronometro__actions .tresnak-button {
	min-width: 0;
	flex: 1 1 auto;
}

@media (min-width: 520px) {
	.tresnak-cronometro__actions .tresnak-button {
		flex: 0 1 auto;
	}
}

.tresnak-cronometro__timer {
	margin-top: 0.25rem;
	padding-top: 1rem;
	border-top: 1px solid var(--tresnak-color-border);
}

.tresnak-cronometro__panel-title {
	margin: 0 0 0.75rem;
	font-size: 0.95em;
	font-weight: 700;
	color: var(--tresnak-color-text);
}

.tresnak-cronometro__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.75rem;
	margin-bottom: 1rem;
	align-items: start;
}

@media (max-width: 420px) {
	.tresnak-cronometro__grid {
		grid-template-columns: 1fr;
	}
}

.tresnak-cronometro__presets {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem;
	margin-bottom: 1rem;
}

.tresnak-cronometro__presets-label {
	font-size: 0.9em;
	color: var(--tresnak-color-muted);
	margin-right: 0.15rem;
}

.tresnak-cronometro__presets .tresnak-button {
	flex: 0 1 auto;
	padding-left: 0.65rem;
	padding-right: 0.65rem;
	font-size: 0.88rem;
}

.tresnak-cronometro__laps-wrap {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--tresnak-color-border);
}

.tresnak-cronometro__laps-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.6rem;
	margin-bottom: 0.65rem;
}

.tresnak-cronometro__laps-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	align-items: center;
}

.tresnak-cronometro__next-lap {
	margin-bottom: 0.75rem;
}

.tresnak-cronometro__laps-title {
	margin: 0;
	font-size: clamp(1rem, 2vw, 1.1rem);
	font-weight: 700;
}

.tresnak-cronometro__laps {
	margin: 0;
	padding-left: 1.35rem;
	list-style: decimal;
	display: grid;
	gap: 0.45rem;
	font-size: 0.93rem;
}

.tresnak-cronometro__lap {
	display: grid;
	grid-template-columns: minmax(3.5rem, auto) minmax(5rem, 1fr) auto auto;
	gap: 0.5rem;
	align-items: center;
	padding: 0.45rem 0.35rem;
	background: var(--tresnak-color-bg);
	border-radius: 8px;
	border: 1px solid var(--tresnak-color-border);
	font-variant-numeric: tabular-nums;
}

.tresnak-cronometro__lap-label-input {
	min-width: 0;
	font-size: 0.9em;
}

@media (max-width: 640px) {
	.tresnak-cronometro__lap {
		grid-template-columns: 1fr;
		gap: 0.35rem;
	}
}

.tresnak-cronometro__lap-n {
	font-weight: 600;
	color: var(--tresnak-color-muted);
}

.tresnak-cronometro__lap-split,
.tresnak-cronometro__lap-total {
	font-family: ui-monospace, Menlo, Consolas, monospace;
	font-weight: 600;
}

.tresnak-cronometro__lap-split::before {
	content: 'Δ ';
	opacity: 0.65;
	font-weight: 500;
	font-size: 0.85em;
}

.tresnak-cronometro__lap-total::before {
	content: 'Σ ';
	opacity: 0.65;
	font-weight: 500;
	font-size: 0.85em;
}

.tresnak-cronometro__laps-empty {
	margin: 0;
	font-size: 0.92em;
	color: var(--tresnak-color-muted);
}

.tresnak-cronometro__laps-empty.tresnak-is-hidden {
	display: none !important;
}

.tresnak-cronometro__fieldset {
	margin: 1.25rem 0 0;
	padding: 0.85rem 1rem 1rem;
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
	background: var(--tresnak-color-bg);
}

.tresnak-cronometro__legend {
	padding: 0 0.35rem;
	font-weight: 700;
	font-size: 0.95em;
	margin-bottom: 0.5rem;
}

.tresnak-cronometro__sound-panel {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
	margin-top: 0.75rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--tresnak-color-border);
}

@media (min-width: 640px) {
	.tresnak-cronometro__sound-panel {
		grid-template-columns: 1fr 1fr 1fr;
		align-items: end;
	}
}

.tresnak-cronometro__sound-test {
	margin-top: 0.85rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--tresnak-color-border);
}

.tresnak-cronometro__options {
	margin: 0 0 0.35rem;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

.tresnak-cronometro__check {
	display: flex;
	align-items: flex-start;
	gap: 0.45rem;
	cursor: pointer;
	font-size: 0.93em;
	line-height: 1.45;
}

.tresnak-cronometro__check input {
	margin-top: 0.2em;
	flex-shrink: 0;
}

.tresnak-cronometro__status[data-tresnak-crono-error='1'] {
	color: #b42318;
}

.tresnak-cronometro__shortcuts-hint {
	margin: 0.35rem 0 0;
	font-size: 0.88em;
}

/* Botón Pausa / Stop: acento “alarma” rojo coral, legible y coherente con el panel */
.tresnak-cronometro__btn-stop {
	font-weight: 700;
	letter-spacing: 0.02em;
}

.tresnak-cronometro__btn-stop:not(:disabled) {
	color: #fff;
	background: linear-gradient(165deg, #fb7185 0%, #e11d48 42%, #be123c 100%);
	border-color: #9f1239;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.2) inset,
		0 4px 14px rgba(190, 18, 60, 0.38);
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.12);
}

.tresnak-cronometro__btn-stop:not(:disabled):hover {
	background: linear-gradient(165deg, #fda4af 0%, #f43f5e 38%, #e11d48 100%);
	border-color: #881337;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.25) inset,
		0 6px 20px rgba(190, 18, 60, 0.45);
}

.tresnak-cronometro__btn-stop:not(:disabled):active {
	transform: translateY(1px);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.15) inset,
		0 2px 8px rgba(190, 18, 60, 0.35);
}

.tresnak-cronometro__btn-stop:not(:disabled):focus-visible {
	outline: 2px solid #fb7185;
	outline-offset: 2px;
}

.tresnak-cronometro__btn-stop:disabled {
	opacity: 0.48;
	cursor: not-allowed;
	color: var(--tresnak-color-muted);
	background: var(--tresnak-color-bg);
	border-color: var(--tresnak-color-border);
	box-shadow: none;
	text-shadow: none;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.tresnak-cronometro__btn-stop:not(:disabled):active {
		transform: none;
	}
}

/* Hoja solo impresión (informe de vueltas) */
.tresnak-cronometro__print-sheet {
	display: none !important;
}

@media print {
	body.tresnak-print-isolated .tresnak-print-target .tresnak-cronometro__print-sheet {
		display: block !important;
		margin: 0 0 1.25rem;
		padding: 0;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-cronometro__no-print {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-cronometro__print-title {
		margin: 0 0 0.65rem;
		font-size: 1.15rem;
		font-weight: 700;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-cronometro__print-meta {
		margin: 0 0 0.35rem;
		font-size: 0.92rem;
		line-height: 1.45;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-cronometro__print-meta strong {
		font-weight: 700;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-cronometro__print-table {
		width: 100%;
		border-collapse: collapse;
		font-size: 0.9rem;
		margin-top: 0.75rem;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-cronometro__print-table th,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-cronometro__print-table td {
		border: 1px solid #ccc;
		padding: 0.4rem 0.5rem;
		text-align: left;
		font-variant-numeric: tabular-nums;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-cronometro__print-table th {
		background: #f0f0f0;
		font-weight: 700;
	}
}

/* Lista de tareas simple (localStorage) */
.tresnak-lista-tareas__add-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.65rem 0.85rem;
	margin-bottom: 1rem;
}

.tresnak-lista-tareas__field {
	flex: 1 1 220px;
	min-width: 0;
}

.tresnak-lista-tareas__field--date {
	flex: 0 1 210px;
}

.tresnak-lista-tareas__add-actions {
	flex: 0 0 auto;
	display: flex;
	align-items: flex-end;
}

.tresnak-lista-tareas__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-bottom: 0.65rem;
}

.tresnak-lista-tareas__filter.is-active {
	background: var(--tresnak-color-accent);
	border-color: var(--tresnak-color-accent);
	color: #fff;
}

.tresnak-lista-tareas__toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-bottom: 0.85rem;
}

.tresnak-lista-tareas__import-file {
	display: none !important;
}

.tresnak-lista-tareas__list {
	list-style: none;
	margin: 0 0 0.75rem;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	max-height: min(60vh, 28rem);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.tresnak-lista-tareas__item {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.45rem 0.6rem;
	padding: 0.55rem 0.65rem;
	border-radius: calc(var(--tresnak-radius) - 4px);
	border: 1px solid var(--tresnak-color-border);
	background: var(--tresnak-color-surface);
	box-sizing: border-box;
	cursor: grab;
}

.tresnak-lista-tareas__item--done {
	opacity: 0.95;
	background: #ecfdf3;
	border-color: #34d399;
}

.tresnak-lista-tareas__item--done .tresnak-lista-tareas__item-text {
	text-decoration: line-through;
	color: #065f46;
}

.tresnak-lista-tareas__item--overdue {
	background: #fff7ed;
	border-color: #fb923c;
}

.tresnak-lista-tareas__item--overdue .tresnak-lista-tareas__item-text {
	color: #9a3412;
}

.tresnak-lista-tareas__item-main {
	flex: 1 1 180px;
	min-width: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.tresnak-lista-tareas__check {
	flex: 0 0 auto;
	width: 1.15rem;
	height: 1.15rem;
	margin: 0;
	accent-color: var(--tresnak-color-accent);
	cursor: pointer;
}

.tresnak-lista-tareas__item-text {
	flex: 1 1 220px;
	min-width: 0;
	margin: 0;
}

.tresnak-lista-tareas__item-due {
	flex: 0 1 190px;
	min-width: 150px;
	margin: 0;
}

.tresnak-lista-tareas__item-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	align-self: center;
}

.tresnak-lista-tareas__duplicate,
.tresnak-lista-tareas__remove {
	flex: 0 0 auto;
}

.tresnak-lista-tareas__item.is-dragging {
	opacity: 0.55;
	cursor: grabbing;
}

.tresnak-lista-tareas__item.is-drag-over {
	outline: 2px dashed var(--tresnak-color-accent);
	outline-offset: 1px;
}

@media (max-width: 640px) {
	.tresnak-lista-tareas__field--date {
		flex-basis: 100%;
	}
	.tresnak-lista-tareas__item-actions {
		width: 100%;
	}
}

.tresnak-lista-tareas__empty.tresnak-is-hidden {
	display: none !important;
}

.tresnak-lista-tareas__status[data-tresnak-lt-error='1'] {
	color: #b91c1c;
}

.tresnak-herr-fechas__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 0.75rem;
}

.tresnak-herr-fechas__panel {
	margin-top: 0.9rem;
}

.tresnak-herr-fechas__panel > .tresnak-button {
	margin-top: 0.65rem;
}

.tresnak-herr-fechas__check {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin-top: 0.45rem;
}

.tresnak-herr-fechas__quick-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: 0.55rem;
}

.tresnak-herr-fechas__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: 0.65rem;
}

.tresnak-herr-fechas__result-wrap {
	margin-top: 1rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	align-items: center;
}

.tresnak-herr-fechas__result {
	flex: 1 1 280px;
	margin: 0;
	padding: 0.65rem 0.75rem;
	border-radius: calc(var(--tresnak-radius) - 4px);
	border: 1px solid var(--tresnak-color-border);
	background: var(--tresnak-color-bg);
}

.tresnak-herr-fechas__snippet,
.tresnak-herr-fechas__cta {
	flex: 1 1 100%;
	margin: 0;
}

.tresnak-herr-fechas__history {
	margin-top: 0.8rem;
}

.tresnak-herr-fechas__history-title {
	margin: 0 0 0.4rem;
}

.tresnak-herr-fechas__history-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 0.4rem;
}

.tresnak-herr-fechas__history-item {
	display: flex;
	gap: 0.45rem;
	align-items: center;
	justify-content: space-between;
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 6px);
	padding: 0.35rem 0.45rem;
}

.tresnak-herr-fechas__history-text {
	font-size: 0.9rem;
	color: var(--tresnak-color-muted);
}

.tresnak-herr-fechas__status[data-tresnak-hf-error='1'] {
	color: #b91c1c;
}

.tresnak-herr-fechas__print-sheet {
	display: none !important;
}

@media print {
	body.tresnak-print-isolated .tresnak-print-target .tresnak-herr-fechas__print-sheet {
		display: block !important;
		margin: 0 0 1.25rem;
		padding: 0;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-herr-fechas__no-print {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-herr-fechas__print-title {
		margin: 0 0 0.65rem;
		font-size: 1.15rem;
		font-weight: 700;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-herr-fechas__print-meta {
		margin: 0 0 0.35rem;
		font-size: 0.92rem;
		line-height: 1.45;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-herr-fechas__print-result {
		margin: 0.65rem 0 0;
		padding: 0.55rem 0.65rem;
		border: 1px solid #ccc;
		background: #f8f8f8;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-herr-fechas__print-table {
		width: 100%;
		border-collapse: collapse;
		font-size: 0.9rem;
		margin-top: 0.7rem;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-herr-fechas__print-table th,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-herr-fechas__print-table td {
		border: 1px solid #ccc;
		padding: 0.35rem 0.5rem;
		text-align: left;
		vertical-align: top;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-herr-fechas__print-table th {
		background: #f0f0f0;
		width: 35%;
	}
}

.tresnak-lista-tareas__print-sheet {
	display: none !important;
}

@media print {
	body.tresnak-print-isolated .tresnak-print-target .tresnak-lista-tareas__print-sheet {
		display: block !important;
		margin: 0 0 1.25rem;
		padding: 0;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-lista-tareas__no-print {
		display: none !important;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-lista-tareas__print-title {
		margin: 0 0 0.65rem;
		font-size: 1.15rem;
		font-weight: 700;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-lista-tareas__print-meta {
		margin: 0 0 0.35rem;
		font-size: 0.92rem;
		line-height: 1.45;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-lista-tareas__print-meta strong {
		font-weight: 700;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-lista-tareas__print-table {
		width: 100%;
		border-collapse: collapse;
		font-size: 0.9rem;
		margin-top: 0.75rem;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-lista-tareas__print-table th,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-lista-tareas__print-table td {
		border: 1px solid #ccc;
		padding: 0.4rem 0.5rem;
		text-align: left;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-lista-tareas__print-table th {
		background: #f0f0f0;
		font-weight: 700;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-lista-tareas__print-row--done td {
		background: #ecfdf3;
		border-color: #34d399;
		color: #065f46;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-lista-tareas__print-row--overdue td {
		background: #fff7ed;
		border-color: #fb923c;
		color: #9a3412;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
}

/* Generador de citas APA / MLA */
.tresnak-generador-citas__disclaimer {
	margin: 0 0 1rem;
}

.tresnak-generador-citas__toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: 1rem;
	align-items: flex-end;
}

.tresnak-generador-citas__toolbar .tresnak-generador-citas__field {
	flex: 1 1 12rem;
	min-width: 0;
}

.tresnak-generador-citas__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-bottom: 1rem;
	align-items: start;
}

@media (min-width: 720px) {
	.tresnak-generador-citas__grid {
		grid-template-columns: 1fr 1fr;
	}
}

.tresnak-generador-citas__field--full {
	grid-column: 1 / -1;
}

.tresnak-generador-citas__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1.25rem;
}

.tresnak-generador-citas__lang-note {
	margin-top: 0.85rem;
	margin-bottom: 1.6rem;
	line-height: 1.55;
}

.tresnak-generador-citas__outputs {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}

@media (min-width: 720px) {
	.tresnak-generador-citas__outputs {
		grid-template-columns: 1fr 1fr;
	}
}

.tresnak-generador-citas__out-title {
	margin: 0 0 0.5rem;
	font-size: 1rem;
	font-weight: 700;
	color: var(--tresnak-color-text, #1a1a1a);
}

.tresnak-generador-citas__preview {
	min-height: 3.5rem;
	padding: 0.85rem 1rem;
	margin: 0;
	border: 1px solid var(--tresnak-color-border, #d8dee4);
	border-radius: var(--tresnak-radius-md, 8px);
	background: var(--tresnak-color-surface-muted, #f7f9fc);
	font-size: 0.95rem;
	line-height: 1.55;
	word-break: break-word;
}

.tresnak-generador-citas__preview .tresnak-generador-citas__line {
	margin: 0;
}

.tresnak-generador-citas__preview em {
	font-style: italic;
}

.tresnak-generador-citas__status {
	margin: 0.35rem 0 0.85rem;
	padding: 0.55rem 0.75rem;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--tresnak-color-accent, #2563eb);
	background: var(--tresnak-color-surface-muted, #f0f4fa);
	border-radius: var(--tresnak-radius-md, 8px);
	border: 1px solid var(--tresnak-color-border, #d8dee4);
}

.tresnak-generador-citas__status[data-tresnak-gc-error='1'] {
	color: #b42318;
	background: #fef2f2;
	border-color: #fecdca;
}

.tresnak-generador-citas__grid .tresnak-field__input[aria-invalid='true'] {
	border-color: #b42318;
	box-shadow: 0 0 0 1px rgba(180, 35, 24, 0.25);
}

.tresnak-generador-citas__print-sheet {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.tresnak-generador-citas__print-inner {
	max-width: 40rem;
	font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	line-height: 1.5;
}

.tresnak-generador-citas__print-h1 {
	margin: 0 0 1rem;
	font-size: 1.35rem;
}

.tresnak-generador-citas__print-h2 {
	margin: 1rem 0 0.35rem;
	font-size: 1.05rem;
}

.tresnak-generador-citas__print-p {
	margin: 0;
	white-space: pre-wrap;
	word-break: break-word;
}

@media print {
	body.tresnak-print-isolated .tresnak-print-target.tresnak-generador-citas__print-sheet {
		position: static !important;
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		clip: auto !important;
		overflow: visible !important;
	}
}

/* Generador de hash (MD5, SHA) */
.tresnak-generador-hash__options {
	margin-bottom: 1rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem 1rem;
}

.tresnak-generador-hash__check {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.93rem;
}

.tresnak-generador-hash__input-wrap {
	margin-bottom: 1rem;
}

.tresnak-generador-hash__input {
	min-height: 11rem;
	resize: vertical;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
	line-height: 1.45;
}

.tresnak-generador-hash__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.9rem;
}

.tresnak-generador-hash__meta {
	margin: 0.55rem 0 0;
	font-size: 0.86rem;
	color: #475467;
}

.tresnak-generador-hash__status {
	margin: 0.6rem 0 0;
	padding: 0.55rem 0.75rem;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--tresnak-color-accent, #2563eb);
	background: var(--tresnak-color-surface-muted, #f0f4fa);
	border: 1px solid var(--tresnak-color-border, #d8dee4);
	border-radius: var(--tresnak-radius-md, 8px);
}

.tresnak-generador-hash__status[data-tresnak-gh-error='1'] {
	color: #b42318;
	background: #fef2f2;
	border-color: #fecdca;
}

.tresnak-generador-hash__results {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.8rem;
	margin: 0.9rem 0 1rem;
}

.tresnak-generador-hash__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.45rem;
	padding: 0.7rem;
	border: 1px solid var(--tresnak-color-border, #d8dee4);
	border-radius: var(--tresnak-radius-md, 8px);
	background: #fff;
}

.tresnak-generador-hash__algo {
	margin: 0;
	font-weight: 700;
	color: var(--tresnak-color-text, #1a1a1a);
}

.tresnak-generador-hash__out {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
	font-size: 0.84rem;
	line-height: 1.45;
	word-break: break-all;
}

.tresnak-generador-hash__faq-table-wrap {
	margin-top: 0.7rem;
	overflow-x: auto;
}

.tresnak-generador-hash__faq-table {
	width: 100%;
	min-width: 36rem;
	border-collapse: collapse;
	font-size: 0.88rem;
	line-height: 1.4;
}

.tresnak-generador-hash__faq-table th,
.tresnak-generador-hash__faq-table td {
	border: 1px solid var(--tresnak-color-border, #d8dee4);
	padding: 0.45rem 0.5rem;
	text-align: left;
	vertical-align: top;
}

.tresnak-generador-hash__faq-table th {
	background: var(--tresnak-color-surface-muted, #f7f9fc);
	font-weight: 700;
}

.tresnak-generador-hash__subttl {
	margin: 0 0 0.6rem;
	font-size: 1rem;
}

.tresnak-generador-hash__compare,
.tresnak-generador-hash__file {
	margin: 1rem 0 1.15rem;
	padding: 0.8rem;
	border: 1px solid var(--tresnak-color-border, #d8dee4);
	border-radius: var(--tresnak-radius-md, 8px);
	background: #fff;
}

.tresnak-generador-hash__history {
	margin: 1rem 0 1.15rem;
	padding: 0.8rem;
	border: 1px solid var(--tresnak-color-border, #d8dee4);
	border-radius: var(--tresnak-radius-md, 8px);
	background: #fff;
}

.tresnak-generador-hash__history-list {
	margin: 0;
	padding-left: 1.1rem;
}

.tresnak-generador-hash__history-item {
	margin: 0.25rem 0;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
	font-size: 0.8rem;
	line-height: 1.4;
	word-break: break-all;
}

.tresnak-generador-hash__history-empty {
	margin: 0;
	font-size: 0.9rem;
	color: #475467;
}

.tresnak-generador-hash__compare-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.65rem;
}

.tresnak-generador-hash__compare-result {
	margin: 0.65rem 0 0;
	padding: 0.55rem 0.7rem;
	border: 1px solid var(--tresnak-color-border, #d8dee4);
	border-radius: var(--tresnak-radius-md, 8px);
	background: var(--tresnak-color-surface-muted, #f0f4fa);
	color: var(--tresnak-color-accent, #2563eb);
	font-weight: 600;
	font-size: 0.9rem;
}

.tresnak-generador-hash__compare-result[data-tresnak-gh-error='1'] {
	color: #b42318;
	background: #fef2f2;
	border-color: #fecdca;
}

@media (min-width: 760px) {
	.tresnak-generador-hash__row {
		grid-template-columns: 8.5rem 1fr auto;
		align-items: center;
		column-gap: 0.6rem;
	}

	.tresnak-generador-hash__out {
		min-height: 2.7rem;
	}

	.tresnak-generador-hash__compare-grid {
		grid-template-columns: 11rem 1fr;
		align-items: end;
	}
}

/* —— Generador de UUID —— */
.tresnak-generador-uuid__grid {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-areas:
		'uuid-lab-c'
		'uuid-inp-c'
		'uuid-lab-s'
		'uuid-inp-s';
	gap: 0.4rem;
	max-width: 38rem;
	align-items: stretch;
}

.tresnak-generador-uuid__grid-head--count {
	grid-area: uuid-lab-c;
}

.tresnak-generador-uuid__grid-head--sep {
	grid-area: uuid-lab-s;
}

.tresnak-generador-uuid__count.tresnak-generador-uuid__grid-control {
	grid-area: uuid-inp-c;
}

.tresnak-generador-uuid__separator.tresnak-generador-uuid__grid-control {
	grid-area: uuid-inp-s;
}

.tresnak-generador-uuid__grid-head {
	display: block;
	margin: 0;
	line-height: 1.3;
	align-self: end;
	padding-bottom: 0.05rem;
}

.tresnak-generador-uuid__grid-control {
	min-height: 2.75rem;
	box-sizing: border-box;
	width: 100%;
}

.tresnak-generador-uuid__options {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	margin: 0.85rem 0 0;
}

.tresnak-generador-uuid__check {
	display: grid;
	grid-template-columns: 1.125rem 1fr;
	align-items: start;
	column-gap: 0.55rem;
	row-gap: 0;
	font-size: 0.93rem;
	line-height: 1.35;
	color: var(--tresnak-color-text, #344054);
	cursor: pointer;
}

.tresnak-generador-uuid__check input[type='checkbox'] {
	margin: 0.14em 0 0;
	width: 1.125rem;
	height: 1.125rem;
	align-self: start;
	accent-color: var(--tresnak-color-accent, #2563eb);
}

.tresnak-generador-uuid__check span {
	display: block;
	padding-top: 0.02em;
}

.tresnak-generador-uuid__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 1rem 0 0;
}

.tresnak-generador-uuid__status {
	margin: 0.45rem 0 0.85rem;
	font-size: 0.9rem;
	line-height: 1.4;
	color: var(--tresnak-color-accent, #2563eb);
	min-height: 1.35rem;
}

.tresnak-generador-uuid__status[data-tresnak-uuid-error='1'] {
	color: #b42318;
}

.tresnak-generador-uuid__out-wrap {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	margin: 1.35rem 0 0;
	width: 100%;
}

.tresnak-generador-uuid__out {
	width: 100%;
	min-height: 12rem;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
	font-size: 0.9rem;
	line-height: 1.45;
	word-break: break-all;
	resize: vertical;
}

.tresnak-generador-uuid__shortcuts-hint {
	margin: 0.5rem 0 0;
	font-size: 0.88rem;
	color: var(--tresnak-color-text-muted, #475467);
	line-height: 1.45;
	max-width: 40rem;
}

.tresnak-generador-uuid__privacy-hint {
	margin-top: 0.75rem;
}

.tresnak-generador-uuid__validate {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--tresnak-color-border, #d8dee4);
	max-width: 40rem;
}

.tresnak-generador-uuid__validate-title {
	margin: 0 0 0.75rem;
	font-size: 1rem;
	font-weight: 650;
	color: var(--tresnak-color-text, #344054);
}

.tresnak-generador-uuid__validate > .tresnak-field__hint {
	margin: 0 0 1.15rem;
	line-height: 1.55;
}

.tresnak-generador-uuid__validate-field {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	margin-top: 0;
}

.tresnak-generador-uuid__validate-actions {
	margin-top: 1rem;
}

.tresnak-generador-uuid__validate-result {
	margin: 0.65rem 0 0;
	font-size: 0.92rem;
	line-height: 1.45;
	color: var(--tresnak-color-accent, #2563eb);
}

.tresnak-generador-uuid__validate-result[data-tresnak-uuid-error='1'] {
	color: #b42318;
}

.tresnak-generador-uuid__history {
	margin-top: 1.35rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--tresnak-color-border, #d8dee4);
	max-width: 40rem;
}

.tresnak-generador-uuid__history-title {
	margin: 0 0 0.35rem;
	font-size: 1rem;
	font-weight: 650;
	color: var(--tresnak-color-text, #344054);
}

.tresnak-generador-uuid__history-hint {
	margin: 0 0 0.85rem;
}

.tresnak-generador-uuid__history-toolbar {
	margin: 0 0 1rem;
}

.tresnak-generador-uuid__history-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.tresnak-generador-uuid__history-item {
	margin: 0.4rem 0 0;
}

.tresnak-generador-uuid__history-item:first-child {
	margin-top: 0.25rem;
}

.tresnak-generador-uuid__history-restore {
	display: block;
	width: 100%;
	padding: 0.45rem 0.55rem;
	border: 1px solid var(--tresnak-color-border, #d8dee4);
	border-radius: var(--tresnak-radius-md, 8px);
	background: var(--tresnak-color-surface-muted, #f0f4fa);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
	font-size: 0.82rem;
	line-height: 1.4;
	text-align: left;
	color: var(--tresnak-color-text, #1d2939);
	word-break: break-all;
	cursor: pointer;
}

.tresnak-generador-uuid__history-restore:hover,
.tresnak-generador-uuid__history-restore:focus-visible {
	border-color: var(--tresnak-color-accent, #2563eb);
	outline: none;
}

.tresnak-generador-uuid__history-empty {
	margin: 0.35rem 0 0;
	font-size: 0.9rem;
	color: var(--tresnak-color-text-muted, #475467);
}

.tresnak-generador-uuid .tresnak-seo-extra {
	margin-top: 1.25rem;
}

@media print {
	.tresnak-generador-uuid__history-restore {
		print-color-adjust: exact;
		-webkit-print-color-adjust: exact;
	}

	body.tresnak-print-isolated .tresnak-print-target .tresnak-generador-uuid__history-hint,
	body.tresnak-print-isolated .tresnak-print-target .tresnak-generador-uuid__history-empty {
		font-size: 0.88rem;
	}
}

.tresnak-generador-uuid__examples {
	margin: 0.5rem 0 0.85rem;
	padding-left: 1.15rem;
	list-style: disc;
}

.tresnak-generador-uuid__example {
	margin: 0.65rem 0 0;
	line-height: 1.45;
}

.tresnak-generador-uuid__example:first-child {
	margin-top: 0.35rem;
}

.tresnak-generador-uuid__example-caption {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.92rem;
	color: var(--tresnak-color-text-muted, #475467);
}

.tresnak-generador-uuid__sample {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0.45rem 0.55rem;
	border: 1px solid var(--tresnak-color-border, #d8dee4);
	border-radius: var(--tresnak-radius-md, 8px);
	background: var(--tresnak-color-surface-muted, #f0f4fa);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
	font-size: 0.82rem;
	line-height: 1.4;
	word-break: break-all;
	color: var(--tresnak-color-text, #1d2939);
}

@media (min-width: 560px) {
	.tresnak-generador-uuid__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-areas:
			'uuid-lab-c uuid-lab-s'
			'uuid-inp-c uuid-inp-s';
		column-gap: 1rem;
		row-gap: 0.45rem;
		max-width: 40rem;
	}

	.tresnak-generador-uuid__options {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-start;
		column-gap: 1.5rem;
		row-gap: 0.55rem;
	}
}

/* —— Verificador de fuerza de contraseña —— */
.tresnak-verificador-fc__privacy-wrap {
	margin: 0 0 0.75rem;
	max-width: 42rem;
}

.tresnak-verificador-fc__privacy {
	margin: 0 0 0.5rem;
}

.tresnak-verificador-fc__privacy-more {
	margin: 0;
}

.tresnak-verificador-fc__input-row {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	align-items: stretch;
	max-width: 42rem;
}

.tresnak-verificador-fc__field-pass {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin: 0;
	min-width: 0;
	width: 100%;
}

.tresnak-verificador-fc__input {
	width: 100%;
	box-sizing: border-box;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
	font-size: 0.95rem;
}

.tresnak-verificador-fc__input-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.tresnak-verificador-fc__options {
	margin: 0.85rem 0 0;
}

.tresnak-verificador-fc__check {
	display: grid;
	grid-template-columns: 1.125rem 1fr;
	align-items: start;
	column-gap: 0.55rem;
	font-size: 0.93rem;
	color: var(--tresnak-color-text, #344054);
	cursor: pointer;
}

.tresnak-verificador-fc__check input {
	margin: 0.14em 0 0;
	width: 1.125rem;
	height: 1.125rem;
	accent-color: var(--tresnak-color-accent, #2563eb);
}

.tresnak-verificador-fc__analyze-wrap {
	margin: 0.65rem 0 0;
}

.tresnak-verificador-fc--live-on .tresnak-verificador-fc__analyze-wrap {
	display: none !important;
}

.tresnak-verificador-fc__meter-block {
	margin: 1rem 0 0;
	max-width: 42rem;
}

.tresnak-verificador-fc__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35rem 0.65rem;
	margin-bottom: 0.45rem;
}

.tresnak-verificador-fc__label {
	font-weight: 700;
	font-size: 1rem;
	color: var(--tresnak-color-text-muted, #475467);
}

.tresnak-verificador-fc__label--lv0 {
	color: #991b1b;
}

.tresnak-verificador-fc__label--lv1 {
	color: #c2410c;
}

.tresnak-verificador-fc__label--lv2 {
	color: #a16207;
}

.tresnak-verificador-fc__label--lv3 {
	color: #15803d;
}

.tresnak-verificador-fc__label--lv4 {
	color: #047857;
}

.tresnak-verificador-fc__bits {
	font-size: 0.88rem;
	font-weight: 500;
	color: #3d4556;
}

.tresnak-verificador-fc__bits-note {
	margin: 0 0 0.55rem;
	max-width: 42rem;
	font-size: 0.82rem;
	line-height: 1.45;
	color: var(--tresnak-color-text-muted, #475467);
}

.tresnak-verificador-fc__track {
	height: 8px;
	border-radius: 999px;
	background: var(--tresnak-color-bg, #e8eef6);
	overflow: hidden;
	max-width: 28rem;
}

.tresnak-verificador-fc__fill {
	height: 100%;
	width: 0;
	border-radius: 999px;
	transition: width 0.2s ease, background 0.2s ease;
	background: #94a3b8;
}

.tresnak-verificador-fc__fill--veryweak {
	background: #dc2626;
}

.tresnak-verificador-fc__fill--weak {
	background: #ea580c;
}

.tresnak-verificador-fc__fill--fair {
	background: #eab308;
}

.tresnak-verificador-fc__fill--strong {
	background: #22c55e;
}

.tresnak-verificador-fc__fill--very {
	background: #059669;
}

.tresnak-verificador-fc__feedback {
	margin: 0.85rem 0 0;
	padding-left: 1.15rem;
	max-width: 42rem;
	font-size: 0.92rem;
	line-height: 1.45;
}

.tresnak-verificador-fc__feedback-item {
	margin: 0.35rem 0;
}

.tresnak-verificador-fc__feedback-item--ok {
	color: #15803d;
}

.tresnak-verificador-fc__feedback-item--warn {
	color: #a16207;
}

.tresnak-verificador-fc__feedback-item--bad {
	color: #b42318;
}

.tresnak-verificador-fc__status {
	margin: 0.65rem 0 0;
	font-size: 0.9rem;
	color: var(--tresnak-color-accent, #2563eb);
}

.tresnak-verificador-fc__remember-hint {
	margin-top: 0.75rem;
	max-width: 42rem;
}

.tresnak-verificador-fc .tresnak-seo-extra {
	margin-top: 1.25rem;
}

@media (min-width: 640px) {
	.tresnak-verificador-fc__input-row {
		flex-direction: row;
		align-items: flex-end;
		flex-wrap: wrap;
	}

	.tresnak-verificador-fc__field-pass {
		flex: 1 1 16rem;
	}

	.tresnak-verificador-fc__input-actions {
		flex: 0 0 auto;
		padding-bottom: 0.05rem;
	}
}

/* --- Calculadora de ahorro por hábitos --- */
.tresnak-ahorro-habitos__intro {
	margin: 0 0 0.75rem;
	max-width: 42rem;
}

.tresnak-ahorro-habitos__table-wrap {
	margin-top: 0.35rem;
	margin-bottom: 1.125rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.tresnak-ahorro-habitos__table {
	width: 100%;
	min-width: 28rem;
	border-collapse: collapse;
	font-size: 0.95rem;
}

.tresnak-ahorro-habitos__caption {
	caption-side: top;
	text-align: left;
	font-weight: 700;
	margin-bottom: 0.5rem;
}

.tresnak-ahorro-habitos__table th,
.tresnak-ahorro-habitos__table td {
	padding: 0.45rem 0.35rem;
	border-bottom: 1px solid rgba(15, 23, 42, 0.08);
	vertical-align: middle;
}

.tresnak-ahorro-habitos__table th {
	text-align: left;
	font-weight: 600;
	font-size: 0.88rem;
	color: var(--tresnak-color-muted, #64748b);
}

.tresnak-ahorro-habitos__th-num,
.tresnak-ahorro-habitos__td-num {
	width: 2.25rem;
	text-align: center;
}

.tresnak-ahorro-habitos__th-pct,
.tresnak-ahorro-habitos__td-pct {
	width: 4.5rem;
	text-align: right;
	white-space: nowrap;
}

.tresnak-ahorro-habitos__pct-out {
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	font-size: 0.9rem;
}

.tresnak-ahorro-habitos__row--neg .tresnak-ahorro-habitos__pct-out {
	color: #b42318;
}

.tresnak-ahorro-habitos__th-action,
.tresnak-ahorro-habitos__td-action {
	width: auto;
	min-width: 8.5rem;
	text-align: center;
	vertical-align: middle;
}

.tresnak-ahorro-habitos__table .tresnak-field__input {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.tresnak-ahorro-habitos__td-label .tresnak-field__input {
	max-width: 14rem;
}

.tresnak-ahorro-habitos__td-before .tresnak-field__input,
.tresnak-ahorro-habitos__td-after .tresnak-field__input {
	max-width: 7rem;
}

.tresnak-ahorro-habitos__td-period .tresnak-field__select {
	max-width: 9rem;
}

.tresnak-ahorro-habitos__save-out {
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	white-space: nowrap;
}

.tresnak-ahorro-habitos__row--neg .tresnak-ahorro-habitos__save-out {
	color: #b42318;
}

.tresnak-ahorro-habitos__row-actions {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	align-items: stretch;
}

.tresnak-ahorro-habitos__row-actions .tresnak-button {
	padding: 0.3rem 0.45rem;
	font-size: 0.82rem;
	line-height: 1.25;
}

.tresnak-ahorro-habitos__toolbar {
	margin-top: 0;
	margin-bottom: 0.85rem;
}

.tresnak-ahorro-habitos__summary {
	margin: 0.35rem 0 0;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.45;
	max-width: 42rem;
}

.tresnak-ahorro-habitos__projection-hint {
	margin: 0.45rem 0 0;
	max-width: 42rem;
	font-size: 0.88rem;
}

.tresnak-ahorro-habitos__breakdown-wrap {
	margin: 1rem 0 1rem;
	max-width: 42rem;
}

.tresnak-ahorro-habitos__breakdown-title {
	margin: 0 0 0.55rem;
	font-size: 0.92rem;
	font-weight: 600;
}

.tresnak-ahorro-habitos__breakdown {
	margin: 0 0 0.25rem;
	padding-left: 1.15rem;
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--tresnak-color-text, #1e293b);
}

.tresnak-ahorro-habitos__breakdown li {
	margin-bottom: 0.3rem;
}

.tresnak-ahorro-habitos__caveat {
	margin: 0.5rem 0 0;
	font-size: 0.92rem;
	line-height: 1.45;
	color: #9a3412;
	max-width: 42rem;
}

.tresnak-ahorro-habitos__error {
	margin: 0.75rem 0 0;
	color: #b42318;
	font-size: 0.95rem;
	max-width: 42rem;
}

.tresnak-ahorro-habitos__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.85rem;
}

.tresnak-ahorro-habitos__feedback {
	margin: 0.65rem 0 0;
	font-size: 0.92rem;
	max-width: 42rem;
}

.tresnak-ahorro-habitos__feedback[data-tresnak-ah-feedback-error='1'] {
	color: #b42318;
}

.tresnak-ahorro-habitos__privacy-hint {
	margin-top: 0.75rem;
	max-width: 42rem;
}

.tresnak-ahorro-habitos__shortcut-hint {
	margin: 0.5rem 0 0;
	max-width: 42rem;
	font-size: 0.88rem;
}

.tresnak-ahorro-habitos__history {
	margin-top: 1.15rem;
	padding-top: 0.85rem;
	border-top: 1px solid var(--tresnak-color-border, rgba(15, 23, 42, 0.12));
	max-width: 48rem;
}

.tresnak-ahorro-habitos__history-title {
	margin: 0 0 0.5rem;
	font-size: 0.95rem;
	font-weight: 700;
}

.tresnak-ahorro-habitos__history-empty {
	margin: 0;
	font-size: 0.9em;
	color: var(--tresnak-color-muted, #64748b);
}

.tresnak-ahorro-habitos__history-list {
	margin: 0;
	padding-left: 1.15rem;
}

.tresnak-ahorro-habitos__history-item {
	margin: 0.55rem 0;
	list-style: disc;
}

.tresnak-ahorro-habitos__history-item-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.35rem 0.65rem;
	margin-bottom: 0.25rem;
}

.tresnak-ahorro-habitos__history-item-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	justify-content: flex-end;
}

.tresnak-ahorro-habitos__history-time {
	font-size: 0.88rem;
	font-weight: 600;
}

.tresnak-ahorro-habitos__history-remove,
.tresnak-ahorro-habitos__history-restore {
	flex-shrink: 0;
	padding: 0.28rem 0.55rem;
	font-size: 0.8rem;
	line-height: 1.25;
}

.tresnak-ahorro-habitos__history-snippet {
	margin: 0;
	font-family: inherit;
	font-size: 0.82rem;
	line-height: 1.4;
	word-break: break-word;
	color: var(--tresnak-color-muted, #64748b);
}

.tresnak-ahorro-habitos .tresnak-seo-extra {
	margin-top: 1.25rem;
}

.tresnak-ahorro-habitos__print-inner {
	max-width: 48rem;
}

.tresnak-ahorro-habitos__print-h1 {
	margin: 0 0 0.65rem;
	font-size: 1.35rem;
	line-height: 1.25;
}

.tresnak-ahorro-habitos__print-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
	margin: 0 0 1rem;
}

.tresnak-ahorro-habitos__print-caption {
	caption-side: top;
	text-align: left;
	font-weight: 700;
	margin-bottom: 0.45rem;
}

.tresnak-ahorro-habitos__print-table th,
.tresnak-ahorro-habitos__print-table td {
	border: 1px solid #94a3b8;
	padding: 0.35rem 0.45rem;
	text-align: left;
	vertical-align: top;
}

.tresnak-ahorro-habitos__print-table th {
	background: #f1f5f9;
	font-weight: 600;
}

.tresnak-ahorro-habitos__print-tr--neg td {
	background: #fef2f2;
}

.tresnak-ahorro-habitos__print-summary,
.tresnak-ahorro-habitos__print-caveat {
	margin: 0.65rem 0 0;
	font-size: 0.95rem;
	line-height: 1.45;
}

.tresnak-ahorro-habitos__print-breakdown {
	margin: 0.85rem 0 0;
	page-break-inside: avoid;
}

.tresnak-ahorro-habitos__print-breakdown-title {
	margin: 0 0 0.45rem;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.35;
}

.tresnak-ahorro-habitos__print-breakdown-list {
	margin: 0;
	padding-left: 1.25rem;
	font-size: 0.9rem;
	line-height: 1.5;
}

.tresnak-ahorro-habitos__print-breakdown-list li {
	margin-bottom: 0.28rem;
}

/* --- Calculadora de precio por unidad (supermercado) --- */
.tresnak-calculadora-precio-unidad__fieldset {
	margin: 1rem 0 0;
	padding: 0;
	border: 0;
}

.tresnak-calculadora-precio-unidad__legend {
	padding: 0;
	margin: 0 0 0.5rem;
	font-weight: 700;
	font-size: 0.95em;
}

.tresnak-calculadora-precio-unidad__cat-options {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.tresnak-calculadora-precio-unidad__cat-label {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	cursor: pointer;
	font-size: 0.95em;
	line-height: 1.45;
}

.tresnak-calculadora-precio-unidad__cat-label input {
	margin-top: 0.2em;
	flex-shrink: 0;
}

.tresnak-calculadora-precio-unidad__hint-cat {
	margin-top: 0.5rem;
	max-width: 42rem;
}

.tresnak-calculadora-precio-unidad__table-wrap {
	margin-top: 1rem;
	margin-bottom: 1.125rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.tresnak-calculadora-precio-unidad__table {
	width: 100%;
	min-width: 18rem;
	border-collapse: collapse;
	font-size: 0.95rem;
}

.tresnak-calculadora-precio-unidad__caption {
	caption-side: top;
	text-align: left;
	font-weight: 700;
	margin-bottom: 0.5rem;
}

.tresnak-calculadora-precio-unidad__table th,
.tresnak-calculadora-precio-unidad__table td {
	padding: 0.45rem 0.35rem;
	border-bottom: 1px solid rgba(15, 23, 42, 0.08);
	vertical-align: middle;
}

.tresnak-calculadora-precio-unidad__table th {
	text-align: left;
	font-weight: 600;
	font-size: 0.88rem;
	color: var(--tresnak-color-muted, #64748b);
}

.tresnak-calculadora-precio-unidad__th-num,
.tresnak-calculadora-precio-unidad__td-num {
	width: 2.25rem;
	text-align: center;
}

.tresnak-calculadora-precio-unidad__th-action,
.tresnak-calculadora-precio-unidad__td-action {
	width: auto;
	min-width: 5.75rem;
	text-align: center;
	vertical-align: middle;
}

.tresnak-calculadora-precio-unidad__table .tresnak-field__input {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.tresnak-calculadora-precio-unidad__td-label .tresnak-field__input {
	max-width: 12rem;
}

.tresnak-calculadora-precio-unidad__td-price .tresnak-field__input,
.tresnak-calculadora-precio-unidad__td-qty .tresnak-field__input {
	max-width: 7rem;
}

.tresnak-calculadora-precio-unidad__td-unit .tresnak-field__select {
	max-width: 8rem;
}

.tresnak-calculadora-precio-unidad__unitprice-stack {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	align-items: flex-start;
}

.tresnak-calculadora-precio-unidad__unitprice-out {
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	white-space: nowrap;
}

.tresnak-calculadora-precio-unidad__unitprice-sub {
	font-size: 0.82rem;
	font-weight: 500;
	line-height: 1.3;
	color: var(--tresnak-color-muted, #64748b);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.tresnak-calculadora-precio-unidad__row-actions {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	align-items: stretch;
}

.tresnak-calculadora-precio-unidad__row-actions .tresnak-button {
	padding: 0.3rem 0.45rem;
	font-size: 0.82rem;
	line-height: 1.25;
}

.tresnak-calculadora-precio-unidad__row--best .tresnak-calculadora-precio-unidad__unitprice-out {
	color: var(--tresnak-color-accent, #15803d);
}

.tresnak-calculadora-precio-unidad__row--best {
	box-shadow: inset 3px 0 0 0 var(--tresnak-color-accent, #22c55e);
	background: rgba(34, 197, 94, 0.06);
}

.tresnak-calculadora-precio-unidad__toolbar {
	margin-top: 0;
	margin-bottom: 1.125rem;
	padding: 0.65rem 0;
}

.tresnak-calculadora-precio-unidad__toolbar-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.65rem;
}

.tresnak-calculadora-precio-unidad__summary {
	margin: 0.35rem 0 0;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.45;
	max-width: 42rem;
}

.tresnak-calculadora-precio-unidad__savings {
	margin: 0.55rem 0 0;
	font-size: 0.98rem;
	font-weight: 600;
	line-height: 1.45;
	color: var(--tresnak-color-accent, #15803d);
	max-width: 42rem;
}

.tresnak-calculadora-precio-unidad__error {
	margin: 0.75rem 0 0;
	color: #b42318;
	font-size: 0.95rem;
	max-width: 42rem;
}

.tresnak-calculadora-precio-unidad__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.85rem;
}

.tresnak-calculadora-precio-unidad__feedback {
	margin: 0.65rem 0 0;
	font-size: 0.92rem;
	max-width: 42rem;
}

.tresnak-calculadora-precio-unidad__feedback[data-tresnak-pu-feedback-error='1'] {
	color: #b42318;
}

.tresnak-calculadora-precio-unidad__shortcut-hint {
	margin: 0.35rem 0 0;
	max-width: 42rem;
}

.tresnak-calculadora-precio-unidad__privacy-hint {
	margin-top: 0.75rem;
	max-width: 42rem;
}

.tresnak-calculadora-precio-unidad .tresnak-seo-extra {
	margin-top: 1.25rem;
}

.tresnak-calculadora-precio-unidad__history {
	margin-top: 1.15rem;
	padding-top: 0.85rem;
	border-top: 1px solid var(--tresnak-color-border, rgba(15, 23, 42, 0.12));
	max-width: 48rem;
}

.tresnak-calculadora-precio-unidad__history-title {
	margin: 0 0 0.5rem;
	font-size: 0.95rem;
	font-weight: 700;
}

.tresnak-calculadora-precio-unidad__history-empty {
	margin: 0;
	font-size: 0.9em;
	color: var(--tresnak-color-muted, #64748b);
}

.tresnak-calculadora-precio-unidad__history-list {
	margin: 0;
	padding-left: 1.15rem;
}

.tresnak-calculadora-precio-unidad__history-item {
	margin: 0.55rem 0;
	list-style: disc;
}

.tresnak-calculadora-precio-unidad__history-item-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.35rem 0.65rem;
	margin-bottom: 0.25rem;
}

.tresnak-calculadora-precio-unidad__history-time {
	font-size: 0.88rem;
	font-weight: 600;
}

.tresnak-calculadora-precio-unidad__history-remove {
	flex-shrink: 0;
	padding: 0.28rem 0.55rem;
	font-size: 0.8rem;
	line-height: 1.25;
}

.tresnak-calculadora-precio-unidad__history-snippet {
	margin: 0;
	font-family: inherit;
	font-size: 0.82rem;
	line-height: 1.4;
	white-space: pre-wrap;
	word-break: break-word;
	color: var(--tresnak-color-muted, #64748b);
	max-height: 8rem;
	overflow: auto;
}

.tresnak-calculadora-precio-unidad__print-sheet {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.tresnak-calculadora-precio-unidad__print-inner {
	max-width: 48rem;
	font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	line-height: 1.5;
}

.tresnak-calculadora-precio-unidad__print-h1 {
	margin: 0 0 1rem;
	font-size: 1.35rem;
}

.tresnak-calculadora-precio-unidad__print-pre {
	margin: 0;
	white-space: pre-wrap;
	word-break: break-word;
	font-family: inherit;
	font-size: 0.95rem;
}

.tresnak-calculadora-precio-unidad__print-meta {
	margin: 0 0 0.85rem;
	font-size: 0.95rem;
	line-height: 1.45;
}

.tresnak-calculadora-precio-unidad__print-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
	margin: 0 0 1rem;
}

.tresnak-calculadora-precio-unidad__print-caption {
	caption-side: top;
	text-align: left;
	font-weight: 700;
	margin-bottom: 0.45rem;
}

.tresnak-calculadora-precio-unidad__print-table th,
.tresnak-calculadora-precio-unidad__print-table td {
	border: 1px solid #94a3b8;
	padding: 0.35rem 0.45rem;
	text-align: left;
	vertical-align: top;
}

.tresnak-calculadora-precio-unidad__print-table th {
	background: #f1f5f9;
	font-weight: 600;
}

.tresnak-calculadora-precio-unidad__print-tr--best td {
	background: #ecfdf5;
}

.tresnak-calculadora-precio-unidad__print-td-unit {
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.tresnak-calculadora-precio-unidad__print-unit-sub {
	font-size: 0.88em;
	color: #475569;
	font-weight: 500;
}

.tresnak-calculadora-precio-unidad__print-summary,
.tresnak-calculadora-precio-unidad__print-savings {
	margin: 0.65rem 0 0;
	font-size: 0.95rem;
	line-height: 1.45;
}

.tresnak-calculadora-precio-unidad__print-savings {
	font-weight: 600;
	color: #15803d;
}

@media print {
	body.tresnak-print-isolated .tresnak-print-target.tresnak-calculadora-precio-unidad__print-sheet {
		position: static !important;
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		clip: auto !important;
		overflow: visible !important;
		white-space: normal !important;
	}

	/*
	 * Impresora física vs «Guardar en PDF»: motores distintos (driver PCL/PS vs PDF del navegador).
	 * Bordes en px pueden verse como grosor distinto o «desaparecer»; pt y print-color-adjust
	 * acercan el resultado entre ambos destinos.
	 */
	body.tresnak-print-isolated .tresnak-calculadora-precio-unidad__print-table th,
	body.tresnak-print-isolated .tresnak-calculadora-precio-unidad__print-table td {
		border: 0.75pt solid #64748b;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}

	body.tresnak-print-isolated .tresnak-calculadora-precio-unidad__print-table th {
		background: #f1f5f9;
	}

	body.tresnak-print-isolated .tresnak-calculadora-precio-unidad__print-tr--best td {
		background: #ecfdf5;
	}

	body.tresnak-print-isolated .tresnak-print-target.tresnak-ahorro-habitos__print-sheet {
		position: static !important;
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		clip: auto !important;
		overflow: visible !important;
		white-space: normal !important;
	}

	body.tresnak-print-isolated .tresnak-ahorro-habitos__print-table th,
	body.tresnak-print-isolated .tresnak-ahorro-habitos__print-table td {
		border: 0.75pt solid #64748b;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}

	body.tresnak-print-isolated .tresnak-ahorro-habitos__print-table th {
		background: #f1f5f9;
	}

	body.tresnak-print-isolated .tresnak-ahorro-habitos__print-tr--neg td {
		background: #fef2f2;
	}

	body.tresnak-print-isolated .tresnak-ahorro-habitos__print-table {
		font-size: 0.82rem;
	}

	body.tresnak-print-isolated .tresnak-print-target.tresnak-rutina-fitness__print-sheet {
		position: static !important;
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		clip: auto !important;
		overflow: visible !important;
		white-space: normal !important;
	}
}

@media (max-width: 719px) {
	.tresnak-ahorro-habitos__table {
		min-width: 0;
	}

	.tresnak-ahorro-habitos__table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.tresnak-ahorro-habitos__table tbody tr {
		display: block;
		border: 1px solid rgba(15, 23, 42, 0.1);
		border-radius: 0.5rem;
		margin-bottom: 0.75rem;
		padding: 0.25rem 0;
		background: var(--tresnak-color-surface, #fff);
	}

	.tresnak-ahorro-habitos__table tbody td {
		display: grid;
		grid-template-columns: minmax(6.75rem, 40%) 1fr;
		gap: 0.35rem 0.5rem;
		align-items: center;
		border-bottom: none;
		padding: 0.45rem 0.65rem;
	}

	.tresnak-ahorro-habitos__table tbody td::before {
		content: attr(data-tresnak-th);
		font-weight: 600;
		font-size: 0.78rem;
		color: var(--tresnak-color-muted, #64748b);
	}

	.tresnak-ahorro-habitos__table .tresnak-ahorro-habitos__td-action::before {
		align-self: start;
		padding-top: 0.15rem;
	}

	.tresnak-ahorro-habitos__row-actions {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
}

@media (min-width: 720px) {
	.tresnak-calculadora-precio-unidad__cat-options {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 1rem 1.5rem;
	}

	.tresnak-calculadora-precio-unidad__row-actions {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.35rem 0.4rem;
	}

	.tresnak-ahorro-habitos__row-actions {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.35rem 0.4rem;
	}
}

/* --- Generador de rutinas fitness básicas --- */
.tresnak-rutina-fitness__intro {
	margin: 0 0 0.85rem;
	max-width: 44rem;
}

.tresnak-rutina-fitness__source {
	margin: 0 0 0.85rem;
	max-width: 44rem;
	font-size: 0.88rem;
	color: var(--tresnak-color-muted, #64748b);
}

.tresnak-rutina-fitness__form-grid {
	display: grid;
	gap: 1rem 1.25rem;
	grid-template-columns: 1fr;
	max-width: 44rem;
}

@media (min-width: 640px) {
	.tresnak-rutina-fitness__form-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.tresnak-rutina-fitness__field .tresnak-field__label {
	display: block;
	margin-bottom: 0.35rem;
}

.tresnak-rutina-fitness__toolbar {
	margin: 1rem 0 0;
}

.tresnak-rutina-fitness__output-wrap {
	margin-top: 1.25rem;
	max-width: 44rem;
	padding: 1rem 1.1rem;
	border-radius: 0.5rem;
	border: 1px solid var(--tresnak-color-border, rgba(15, 23, 42, 0.12));
	background: var(--tresnak-color-surface-muted, rgba(241, 245, 249, 0.65));
}

.tresnak-rutina-fitness__meta {
	margin: 0 0 1rem;
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.45;
}

.tresnak-rutina-fitness__section-title {
	margin: 1rem 0 0.4rem;
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--tresnak-color-text, #1e293b);
}

.tresnak-rutina-fitness__section-title:first-of-type {
	margin-top: 0;
}

.tresnak-rutina-fitness__list {
	margin: 0;
	padding-left: 1.2rem;
	font-size: 0.92rem;
	line-height: 1.55;
}

.tresnak-rutina-fitness__item {
	margin-bottom: 0.35rem;
}

.tresnak-rutina-fitness__item-text {
	display: block;
	margin-bottom: 0.35rem;
}

.tresnak-rutina-fitness__media {
	margin: 0.4rem 0 0.65rem;
	max-width: 100%;
}

.tresnak-rutina-fitness__media-img {
	display: block;
	width: 100%;
	max-width: 20rem;
	height: auto;
	border-radius: 6px;
}

.tresnak-rutina-fitness__media-vid {
	display: block;
	width: 100%;
	max-width: 28rem;
	height: auto;
	margin-top: 0.35rem;
	border-radius: 6px;
	background: #111;
}

.tresnak-rutina-fitness__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.85rem;
}

.tresnak-rutina-fitness__feedback {
	margin: 0.65rem 0 0;
	font-size: 0.92rem;
	max-width: 44rem;
}

.tresnak-rutina-fitness__feedback[data-tresnak-rf-feedback-error='1'] {
	color: #b42318;
}

.tresnak-rutina-fitness .tresnak-seo-extra {
	margin-top: 1.35rem;
}

.tresnak-rutina-fitness__print-sheet {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.tresnak-rutina-fitness__print-inner {
	max-width: 48rem;
}

.tresnak-rutina-fitness__print-h1 {
	margin: 0 0 0.65rem;
	font-size: 1.35rem;
	line-height: 1.25;
}

.tresnak-rutina-fitness__print-meta {
	margin: 0 0 1rem;
	font-weight: 600;
	font-size: 0.95rem;
}

.tresnak-rutina-fitness__print-h2 {
	margin: 0.85rem 0 0.35rem;
	font-size: 1.05rem;
	font-weight: 700;
}

.tresnak-rutina-fitness__print-ul {
	margin: 0 0 0.5rem;
	padding-left: 1.25rem;
	font-size: 0.9rem;
	line-height: 1.5;
}

/* Calorías por alimentos (wger): compone tresnak-field__*, tresnak-button, bloques calorias-imc y divisas */
.tresnak-calorias-alimentos__panel {
	margin-bottom: 1rem;
}

.tresnak-calorias-alimentos__rows {
	display: flex;
	flex-direction: column;
	gap: calc(var(--tresnak-space) * 1.05);
}

.tresnak-calorias-alimentos__field-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	align-items: center;
}

.tresnak-calorias-alimentos__field-actions .tresnak-field__input {
	flex: 1 1 10rem;
	min-width: 0;
}

.tresnak-calorias-alimentos__grams-block {
	width: 100%;
}

.tresnak-calorias-alimentos__grams-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.65rem;
}

.tresnak-calorias-alimentos__grams-row .tresnak-calorias-alimentos__grams {
	flex: 1 1 5.5rem;
	min-width: 0;
	max-width: 12rem;
}

.tresnak-calorias-alimentos__grams-presets {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	align-items: center;
}

.tresnak-calorias-alimentos__grams-presets .tresnak-button {
	min-width: 0;
	padding-left: 0.55rem;
	padding-right: 0.55rem;
	font-size: 0.88rem;
}

.tresnak-calorias-alimentos__resolved {
	margin-top: 0.85rem;
	padding-top: 0.85rem;
	border-top: 1px dashed var(--tresnak-color-border);
}

.tresnak-calorias-alimentos__resolved-title {
	margin: 0 0 0.35rem;
	font-size: 1rem;
	line-height: 1.35;
}

.tresnak-calorias-alimentos__resolved-brand {
	font-weight: 600;
	color: var(--tresnak-color-muted);
}

.tresnak-calorias-alimentos__resolved-meta {
	margin: 0 0 0.5rem;
	font-size: 0.82rem;
	color: var(--tresnak-color-muted);
}

.tresnak-calorias-alimentos__license a {
	text-decoration: underline;
}

.tresnak-calorias-alimentos__macros {
	margin: 0.35rem 0 0.5rem;
}

.tresnak-calorias-alimentos__energy-note {
	margin: 0.35rem 0 0.5rem;
	font-size: 0.88rem;
	line-height: 1.45;
}

.tresnak-calorias-alimentos__line-total {
	margin: 0.35rem 0 0;
	font-size: 0.95rem;
}

.tresnak-calorias-alimentos__row-status {
	margin: 0.5rem 0 0;
	min-height: 1.25em;
}

.tresnak-calorias-alimentos__row-status.tresnak-calorias-imc__error {
	margin-top: 0.5rem;
}

.tresnak-calorias-alimentos__bedca-suggestions {
	margin-top: 0.5rem;
}

.tresnak-calorias-alimentos__bedca-suggestions-hint {
	margin: 0 0 0.35rem;
}

.tresnak-calorias-alimentos__bedca-suggestions-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.tresnak-calorias-alimentos__bedca-suggestions-list li {
	margin: 0;
}

.tresnak-calorias-alimentos__bedca-pick {
	width: 100%;
	text-align: left;
	justify-content: flex-start;
}

.tresnak-calorias-alimentos__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	margin-top: 0.35rem;
}

.tresnak-calorias-alimentos__history {
	margin-top: 0.85rem;
	padding: 0.65rem 0.75rem;
	border: 1px solid var(--tresnak-color-border);
	border-radius: var(--tresnak-radius, 8px);
	background: var(--tresnak-color-surface-alt, rgba(0, 0, 0, 0.02));
}

.tresnak-calorias-alimentos__history-summary {
	cursor: pointer;
	font-weight: 600;
	list-style: none;
}

.tresnak-calorias-alimentos__history-summary::-webkit-details-marker {
	display: none;
}

.tresnak-calorias-alimentos__history-hint {
	margin: 0.5rem 0 0.35rem;
	font-size: 0.88rem;
	line-height: 1.45;
}

.tresnak-calorias-alimentos__history-actions {
	margin: 0.35rem 0 0.5rem;
}

.tresnak-calorias-alimentos__history-list {
	list-style: none;
	margin: 0.35rem 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

.tresnak-calorias-alimentos__history-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 0.75rem;
	padding: 0.45rem 0.55rem;
	border: 1px solid var(--tresnak-color-border);
	border-radius: 6px;
	background: var(--tresnak-color-surface, #fff);
}

.tresnak-calorias-alimentos__history-item-meta {
	flex: 1 1 10rem;
	min-width: 0;
	font-size: 0.92rem;
	line-height: 1.35;
}

.tresnak-calorias-alimentos__history-item-meta time {
	display: block;
	font-size: 0.82rem;
	color: var(--tresnak-color-muted);
	margin-top: 0.15rem;
}

.tresnak-calorias-alimentos__history-item-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.5rem;
}

.tresnak-calorias-alimentos__history-empty {
	margin: 0.35rem 0 0;
	font-size: 0.88rem;
}

.tresnak-calorias-alimentos__action-status {
	margin: 0.35rem 0 0;
	min-height: 1.25em;
}

.tresnak-calorias-alimentos__action-status.tresnak-calorias-imc__error {
	color: #b42318;
}

.tresnak-calorias-alimentos__totals {
	margin-top: calc(var(--tresnak-space) * 1.05);
}

.tresnak-calorias-alimentos__total-line {
	margin: 0;
	font-size: 1.05rem;
}

.tresnak-calorias-alimentos__total-kj-wrap {
	font-weight: 600;
	color: var(--tresnak-color-muted);
}

.tresnak-calorias-alimentos__total-macros {
	margin: 0.5rem 0 0;
	font-size: 0.98rem;
	line-height: 1.45;
}

.tresnak-calorias-alimentos__total-macros-inner {
	font-variant-numeric: tabular-nums;
}

.tresnak-calorias-alimentos__total-kcal {
	font-variant-numeric: tabular-nums;
	font-weight: 700;
}

.tresnak-calorias-alimentos__faq {
	margin-top: 1rem;
}

/* —— Visor de rutas GPS —— */
.tresnak-visor-rutas-gps__intro {
	margin: 0 0 1rem;
	padding-bottom: 0.85rem;
	border-bottom: 1px solid var(--tresnak-color-border, #e5e7eb);
}

.tresnak-visor-rutas-gps__intro-lead {
	margin: 0 0 0.55rem;
	font-size: 0.98rem;
	line-height: 1.55;
	color: var(--tresnak-color-text, #1e293b);
}

.tresnak-visor-rutas-gps__intro-note {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--tresnak-color-muted, #64748b);
}

.tresnak-visor-rutas-gps__intro-gpx-hint {
	margin: 0.55rem 0 0;
}

.tresnak-visor-rutas-gps__add-label {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	margin: 0.65rem 0 0;
	font-size: 0.9rem;
	line-height: 1.45;
	cursor: pointer;
	color: var(--tresnak-color-text, #1e293b);
}

.tresnak-visor-rutas-gps__add-label input {
	margin: 0.2rem 0 0;
	flex-shrink: 0;
}

.tresnak-visor-rutas-gps__progress {
	margin: 0 0 0.65rem;
	border-radius: 999px;
	height: 6px;
	background: var(--tresnak-color-border, #e5e7eb);
	overflow: hidden;
}

.tresnak-visor-rutas-gps__progress[hidden] {
	display: none !important;
}

.tresnak-visor-rutas-gps__progress-bar {
	height: 100%;
	width: 42%;
	border-radius: inherit;
	background: linear-gradient(
		90deg,
		var(--tresnak-color-accent, #2563eb),
		#60a5fa
	);
	animation: tresnak-vrg-progress-shift 1.05s ease-in-out infinite;
}

@keyframes tresnak-vrg-progress-shift {
	0% {
		transform: translateX(-120%);
	}

	100% {
		transform: translateX(320%);
	}
}

.tresnak-visor-rutas-gps__routes-title {
	margin: 0.75rem 0 0.35rem;
	font-size: 1rem;
	font-weight: 600;
}

.tresnak-visor-rutas-gps__routes-title[hidden] {
	display: none !important;
}

.tresnak-visor-rutas-gps__legend {
	list-style: none;
	margin: 0 0 0.5rem;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 0.75rem;
}

.tresnak-visor-rutas-gps__legend[hidden] {
	display: none !important;
}

.tresnak-visor-rutas-gps__legend-item {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.2rem 0.45rem 0.2rem 0.35rem;
	border-radius: var(--tresnak-radius, 10px);
	border: 1px solid var(--tresnak-color-border, #e5e7eb);
	background: var(--tresnak-color-surface, #fff);
	font-size: 0.88rem;
	line-height: 1.3;
}

.tresnak-visor-rutas-gps__legend-swatch {
	width: 12px;
	height: 12px;
	border-radius: 3px;
	flex-shrink: 0;
	border: 1px solid rgba(15, 23, 42, 0.12);
}

.tresnak-visor-rutas-gps__legend-swatch--c0 {
	background-color: #2563eb;
}

.tresnak-visor-rutas-gps__legend-swatch--c1 {
	background-color: #dc2626;
}

.tresnak-visor-rutas-gps__legend-swatch--c2 {
	background-color: #16a34a;
}

.tresnak-visor-rutas-gps__legend-swatch--c3 {
	background-color: #ca8a04;
}

.tresnak-visor-rutas-gps__legend-swatch--c4 {
	background-color: #9333ea;
}

.tresnak-visor-rutas-gps__legend-swatch--c5 {
	background-color: #ea580c;
}

.tresnak-visor-rutas-gps__legend-swatch--c6 {
	background-color: #0891b2;
}

.tresnak-visor-rutas-gps__legend-swatch--c7 {
	background-color: #be185d;
}

.tresnak-visor-rutas-gps__legend-label {
	max-width: 220px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tresnak-visor-rutas-gps__legend-remove {
	font-size: 0.78rem;
	padding: 0.12rem 0.4rem;
	margin-left: 0.1rem;
}

.tresnak-visor-rutas-gps__empty {
	position: absolute;
	inset: 0;
	z-index: 400;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 1rem;
	font-size: 0.92rem;
	line-height: 1.45;
	color: var(--tresnak-color-muted, #64748b);
	pointer-events: none;
	background: rgba(248, 250, 252, 0.88);
	transition: opacity 0.2s ease, visibility 0.2s ease;
}

.tresnak-visor-rutas-gps__map-wrap--has-routes .tresnak-visor-rutas-gps__empty {
	opacity: 0;
	visibility: hidden;
}

.tresnak-visor-rutas-gps__profile-block {
	margin-top: 0.85rem;
	padding: 0.75rem;
	border-radius: var(--tresnak-radius, 10px);
	border: 1px solid var(--tresnak-color-border, #e5e7eb);
	background: var(--tresnak-color-surface-2, #f8fafc);
}

.tresnak-visor-rutas-gps__profile-block[hidden] {
	display: none !important;
}

.tresnak-visor-rutas-gps__profile-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
}

.tresnak-visor-rutas-gps__profile-title {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
}

.tresnak-visor-rutas-gps__smooth-label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.88rem;
}

.tresnak-visor-rutas-gps__smooth-text {
	color: var(--tresnak-color-muted, #64748b);
}

.tresnak-visor-rutas-gps__profile-hint {
	margin: 0.35rem 0 0.5rem;
}

.tresnak-visor-rutas-gps__profile-canvas-wrap {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
}

.tresnak-visor-rutas-gps__profile-canvas {
	display: block;
	width: 100%;
	height: 180px;
	background: #fff;
	border-radius: 6px;
}

.tresnak-visor-rutas-gps__print-pack[hidden] {
	display: none !important;
}

.tresnak-visor-rutas-gps__print-h {
	margin: 0 0 0.35rem;
	font-size: 1.15rem;
}

.tresnak-visor-rutas-gps__print-note {
	margin: 0 0 0.75rem;
	font-size: 0.9rem;
	color: var(--tresnak-color-muted, #64748b);
}

.tresnak-visor-rutas-gps__print-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.88rem;
}

.tresnak-visor-rutas-gps__print-table th,
.tresnak-visor-rutas-gps__print-table td {
	border: 1px solid var(--tresnak-color-border, #e5e7eb);
	padding: 0.4rem 0.5rem;
	text-align: left;
}

.tresnak-visor-rutas-gps__print-table th {
	background: var(--tresnak-color-surface-2, #f8fafc);
	font-weight: 600;
}

.tresnak-visor-rutas-gps__print-totals {
	margin: 0.65rem 0 0;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.tresnak-visor-rutas-gps__map .leaflet-control-layers {
	border-radius: var(--tresnak-radius, 10px);
	font-family: inherit;
}

.tresnak-visor-rutas-gps__map .leaflet-control-layers-expanded {
	padding: 0.35rem 0.5rem;
}

.tresnak-visor-rutas-gps__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.75rem 1rem;
	margin-bottom: 0.65rem;
}

.tresnak-visor-rutas-gps__toolbar .tresnak-field {
	flex: 1 1 220px;
	margin: 0;
	min-width: min(100%, 200px);
}

.tresnak-visor-rutas-gps__actions {
	flex: 0 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

.tresnak-visor-rutas-gps__status {
	margin: 0 0 0.5rem;
	min-height: 1.2em;
}

.tresnak-visor-rutas-gps__status--error {
	color: #b42318;
}

.tresnak-visor-rutas-gps__map-wrap {
	position: relative;
	min-height: 0;
	border-radius: var(--tresnak-radius, 10px);
	overflow: hidden;
	border: 1px solid var(--tresnak-color-border, #e5e7eb);
	background: var(--tresnak-color-surface-2, #f8fafc);
	transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.tresnak-visor-rutas-gps__map-wrap--dropping {
	border-color: var(--tresnak-color-accent, #2563eb);
	box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.25);
}

.tresnak-visor-rutas-gps__map {
	min-height: 460px;
	width: 100%;
	z-index: 0;
}

.tresnak-visor-rutas-gps[data-tresnak-vrg-height="compact"] .tresnak-visor-rutas-gps__map {
	min-height: 300px;
}

.tresnak-visor-rutas-gps[data-tresnak-vrg-height="tall"] .tresnak-visor-rutas-gps__map {
	min-height: 680px;
}

.tresnak-visor-rutas-gps__map .leaflet-container {
	font-family: inherit;
}

.tresnak-visor-rutas-gps__stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 0.5rem 1rem;
	margin: 0.75rem 0 0;
	padding: 0.65rem 0.75rem;
	border-radius: var(--tresnak-radius, 10px);
	background: var(--tresnak-color-surface-2, #f8fafc);
	border: 1px solid var(--tresnak-color-border, #e5e7eb);
}

.tresnak-visor-rutas-gps__stat {
	margin: 0;
}

.tresnak-visor-rutas-gps__stat-term {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--tresnak-color-muted, #64748b);
}

.tresnak-visor-rutas-gps__stat-val {
	margin: 0.15rem 0 0;
	font-size: 1.05rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.tresnak-visor-rutas-gps__faq {
	margin-top: 1rem;
}

@media (max-width: 520px) {
	.tresnak-visor-rutas-gps__map {
		min-height: 380px;
	}

	.tresnak-visor-rutas-gps[data-tresnak-vrg-height="compact"] .tresnak-visor-rutas-gps__map {
		min-height: 260px;
	}

	.tresnak-visor-rutas-gps[data-tresnak-vrg-height="tall"] .tresnak-visor-rutas-gps__map {
		min-height: 520px;
	}

	.tresnak-visor-rutas-gps__legend-label {
		max-width: min(42vw, 220px);
	}

	.tresnak-visor-rutas-gps__actions {
		flex: 1 1 100%;
		justify-content: stretch;
	}

	.tresnak-visor-rutas-gps__actions .tresnak-button {
		flex: 1 1 auto;
		min-width: 0;
	}
}

/* Herramientas relacionadas (interlinking por categoría) */
.tresnak-panel--related-tools .tresnak-panel__header {
	margin-bottom: calc(var(--tresnak-space) * 0.55);
}

.tresnak-related-tools {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 480px) {
	.tresnak-related-tools {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 768px) {
	.tresnak-related-tools {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.tresnak-related-tools__item {
	margin: 0;
	min-width: 0;
}

.tresnak-related-tools__link {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	min-height: 2.75rem;
	padding: 0.55rem 0.7rem;
	text-decoration: none;
	color: var(--tresnak-color-text);
	background: var(--tresnak-color-bg);
	border: 1px solid var(--tresnak-color-border);
	border-radius: calc(var(--tresnak-radius) - 4px);
	transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.tresnak-related-tools__link:hover {
	border-color: var(--tresnak-color-accent);
	background: var(--tresnak-color-surface);
	color: var(--tresnak-color-accent-hover);
}

.tresnak-related-tools__link:focus {
	outline: 2px solid var(--tresnak-color-accent);
	outline-offset: 2px;
}

.tresnak-related-tools__icon {
	flex-shrink: 0;
	font-size: 1.35rem;
	line-height: 1;
}

.tresnak-related-tools__label {
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.35;
	min-width: 0;
}

