/*
Theme Name: Uncode Child Theme
Description: This is a custom child theme for Uncode
Theme URI:
Author: GTO Europe
Author URI:
Template: uncode
Version: 1.0
*/

:root {
	/* Alnylam brand palette — primary navy (Midnight), secondary Ocean,
	   accent Sky for headings/icons on light, accent Solar for CTA. */
	--tt-bg-deep: #001F3F;
	--tt-bg-hero: #003366;
	--tt-bg-surface: #0A3D66;
	--tt-accent: #00BBD3;
	--tt-accent-sky: #0099CC;
	--tt-text-strong: #eef3f8;
	--tt-text-body: #c6d0db;
	--tt-text-muted: #9fb0c4;
	--tt-cta: #EBAB21;
	--tt-cta-hover: #D49410;
	--tt-cta-text: #003366;
	--tt-border-soft: rgba(255, 255, 255, 0.08);
	--tt-surface-soft: rgba(255, 255, 255, 0.03);
	--tt-accent-soft: rgba(0, 187, 211, 0.08);
	--tt-accent-soft-2: rgba(0, 187, 211, 0.06);
	--tt-row-stripe: rgba(10, 61, 102, 0.03);
	--tt-overlay-soft: rgba(0, 0, 0, 0.16);
	--tt-text-on-light: #003366;
	--tt-panel-from: #f7fbff;
	--tt-panel-to: #eef4fa;
	--tt-border-form: rgba(0, 51, 102, 0.40);
	--tt-border-rule: rgba(0, 51, 102, 0.12);
	--tt-inset-glow: rgba(255, 255, 255, 0.65);
	--tt-focus-outline: rgba(0, 187, 211, 0.45);
	--tt-focus-ring: rgba(0, 187, 211, 0.14);
}

.child-q {
  display: none !important;
}

.child-q.d-true {
  display: flex !important;
}

@media print {
	/* ============================================================
	   CAMADA 1 — Tokens monocromáticos
	   Zera todos os tokens dark/coloridos pra equivalentes neutros.
	   --tt-bg-surface PRECISA ser branco (era #003366, fonte do bug).
	============================================================ */
	:root {
		--tt-bg-deep: #fff;
		--tt-bg-hero: #fff;
		--tt-bg-surface: #fff;
		--tt-bg-elevated: #fff;
		--tt-text-strong: #000;
		--tt-text-body: #222;
		--tt-text-muted: #555;
		--tt-accent: #000;
		--tt-accent-sky: #000;
		--tt-cta: transparent;
		--tt-cta-hover: transparent;
		--tt-cta-text: #000;
		--tt-border-soft: #ccc;
		--tt-border-rule: #ddd;
		--tt-border-form: #888;
		--tt-surface-soft: #fff;
	}

	/* ============================================================
	   CAMADA 2 — Reset universal
	============================================================ */
	*, *::before, *::after {
		background: transparent !important;
		background-color: transparent !important;
		background-image: none !important;
		color: #000 !important;
		-webkit-text-fill-color: #000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
		color-scheme: light !important;
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}

	html, body {
		background: #fff !important;
		color: #000 !important;
	}

	/* Texto secundário (muted) — apenas notas, hints e placeholders.
	   Labels de campo e nomes de métricas ficam em preto (CAMADA 4). */
	.ttracker-table-reference,
	.ttracker-card-threshold,
	.ttracker-history-status,
	.ttracker-history-hint,
	.ttracker-instrument-note,
	.ttracker-resultados-placeholder,
	.ttracker-imc-unit,
	.ttracker-field-hint,
	.ttracker-calc-result-box .result-formula,
	.ttracker-calc-result-box .result-unit,
	.ttracker-imc-result-box .result-formula,
	.ttracker-imc-result-box .result-unit,
	.ttracker-eq5d-vas-labels span {
		color: #555 !important;
		-webkit-text-fill-color: #555 !important;
	}

	/* Labels de campo / nomes de métrica — preto bold para visibilidade clínica */
	.ttracker-resultados-metric-name,
	.ttracker-resultados-panel-date-label,
	.ttracker-assessment-summary-label,
	.ttracker-kccq-delta-label,
	.ttracker-imc-metric-name {
		color: #000 !important;
		-webkit-text-fill-color: #000 !important;
		font-weight: 700;
	}

	/* ============================================================
	   CAMADA 3 — Hide list (decorativo/interativo)
	============================================================ */
	.top-nav,
	.menu-container,
	.ttracker-footer,
	.ttracker-calc-actions,
	.ttracker-imc-actions,
	.bttn-nis,
	.ttracker-calc-print,
	.ttracker-imc-print,
	button.bttn-print,
	.ttracker-history-add,
	.ttracker-history-action,
	.ttracker-history-action--remove,
	.ttracker-history-current-badge,
	.ttracker-card-cta,
	.ttracker-card-cta-wrap,
	.ttracker-card-cta-arrow,
	.ttracker-card-badge,
	.ttracker-card-spacer,
	.ttracker-resultados-actions,
	.ttracker-resultados-link,
	.ttracker-resultados-disclaimer,
	.ttracker-cookie-banner,
	#usercentrics-cmp-ui,
	[id*="usercentrics"],
	.ttracker-hcp-gate,
	.child-q,
	.ttracker-history-table thead th.ttracker-history-actions-col,
	.ttracker-history-table tbody td.ttracker-history-cell-actions {
		display: none !important;
	}
	.child-q.d-true {
		display: flex !important;
	}

	/* ============================================================
	   CAMADA 4 — Hierarquia mínima (typography + borders)
	============================================================ */
	h1, h2, h3, h4, h5, h6,
	h1.post-title,
	.ttracker-table-caption,
	.ttracker-table-caption strong,
	.ttracker-history-title,
	.ttracker-card h4,
	.ttracker-resultados-category h2,
	.ttracker-resultados-title,
	.ttracker-resultados-panel-title,
	.ttracker-resultados-comparison-title,
	.ttracker-eq5d-vas-value,
	.ttracker-resultados-delta,
	.ttracker-resultados-comparison-value,
	.ttracker-imc-classification,
	.ttracker-assessment-summary-value,
	.ttracker-kccq-delta-value,
	b.side-title,
	.niss h2, .norfo2 h2,
	.kps-score-cell,
	.kps-group-cell,
	.tenmwt-item-cell,
	.pnd-stage-cell,
	.pnd-pnd-cell,
	.pnd-note-row,
	.ttracker-calc-result-box .result-label,
	.ttracker-calc-result-box .result-value,
	.ttracker-imc-result-box .result-label,
	.ttracker-imc-result-box .result-value {
		color: #000 !important;
		-webkit-text-fill-color: #000 !important;
		font-weight: 700;
	}

	/* === Tabelas — bordas cinzas + fundo cinza-claro só no thead === */
	/* Override mobile collapse (@media max-width:720px) que esconde thead
	   e quebra tabela em blocks — print viewport pode casar mobile media. */
	.ttracker-table,
	.ttracker-history-table {
		display: table !important;
		border-color: #999 !important;
		border-collapse: collapse !important;
		width: 100% !important;
	}
	.ttracker-table thead,
	.ttracker-history-table thead {
		display: table-header-group !important;
	}
	.ttracker-table tbody,
	.ttracker-history-table tbody {
		display: table-row-group !important;
	}
	.ttracker-table tr,
	.ttracker-history-table tr {
		display: table-row !important;
	}
	.ttracker-table th,
	.ttracker-table td,
	.ttracker-history-table th,
	.ttracker-history-table td {
		display: table-cell !important;
		width: auto !important;
		border: 1px solid #ccc !important;
		color: #000 !important;
		-webkit-text-fill-color: #000 !important;
		padding: 5px 6px !important;
		word-wrap: break-word !important;
		overflow-wrap: break-word !important;
		vertical-align: middle !important;
	}
	.ttracker-table thead th,
	.ttracker-history-table thead th {
		background: #f0f0f0 !important;
		border-bottom: 2px solid #555 !important;
		font-weight: 700;
	}
	.ttracker-history-table .ttracker-history-row--current td {
		background: #f7f7f7 !important;
	}

	/* Multi-item delta cell (PND/FAP) em print — preserva quebras de linha. */
	.ttracker-history-cell-delta--multi {
		white-space: pre-line !important;
		font-size: 9px !important;
		line-height: 1.35 !important;
		text-align: left !important;
	}

	/* Print font-size reduzido pra acomodar tabelas largas (NIS = 7 colunas) */
	.ttracker-table,
	.ttracker-history-table,
	.table-rods, .table-norfolk, .niss, .norfo2 {
		font-size: 10px !important;
	}
	.ttracker-history-table input,
	.ttracker-history-table select {
		font-size: 10px !important;
		padding: 3px 5px !important;
	}

	/* === Painéis & cards — borda cinza, sem fundo === */
	.ttracker-card,
	.ttracker-form-panel,
	.ttracker-assessment-panel,
	.ttracker-kccq-panel,
	.ttracker-eq5d-dimension,
	.ttracker-eq5d-vas-section,
	.ttracker-assessment-summary,
	.ttracker-kccq-delta,
	.ttracker-assessment-history,
	.ttracker-resultados-instrument,
	.ttracker-calc-result-box,
	.ttracker-imc-result-box,
	.ttracker-imc-calculator,
	.ttracker-steps-panel,
	.ttracker-cardiac-callout,
	.ttracker-resultados-panel,
	.ttracker-resultados-comparison {
		background: #fff !important;
		border: 1px solid #ccc !important;
		box-shadow: none !important;
	}

	/* Dividers internos */
	.ttracker-assessment-divider,
	.ttracker-kccq-divider {
		background: #ccc !important;
	}

	/* === Inputs (date, number, text, select, textarea) === */
	input, select, textarea,
	.ttracker-calc-date-input,
	.ttracker-calc-obs,
	.ttracker-calc-number-input,
	.ttracker-assessment-panel select,
	.ttracker-imc-field input,
	.ttracker-history-input,
	.ttracker-history-input--date,
	.ttracker-history-input--number,
	.ttracker-history-input--select,
	.ttracker-history-obs-textarea {
		background: #fff !important;
		background-image: none !important;
		color: #000 !important;
		-webkit-text-fill-color: #000 !important;
		border: 1px solid #888 !important;
		-webkit-appearance: none !important;
		appearance: none !important;
	}
	.ttracker-history-obs-textarea,
	.ttracker-calc-obs {
		min-height: 2.4em !important;
	}

	/* Selects do history-table — regra base (linha 3358) tem
	   background-image: linear-gradient(...) !important e mesma specificity.
	   Como a base aparece depois no arquivo, vence no cascade tie. Subo a
	   specificity com `body` pra ganhar (sem precisar mover o @media print
	   pro fim do arquivo). Sem este override, o gradient vira xadrez preto
	   cobrindo o select inteiro em print. */
	body .ttracker-assessment-history .ttracker-history-input--select,
	body .ttracker-history-table .ttracker-history-input--select {
		background: #fff !important;
		background-image: none !important;
		background-color: #fff !important;
		color: #000 !important;
		-webkit-text-fill-color: #000 !important;
		padding: 4px 6px !important;
		border: 1px solid #888 !important;
	}

	/* Calendar picker icon nativo — esconder em print (não tem função no papel) */
	input[type="date"]::-webkit-calendar-picker-indicator {
		display: none !important;
		-webkit-appearance: none !important;
	}
	input[type="date"] {
		min-width: 0 !important;
	}
	.ttracker-history-input--date {
		min-width: 0 !important;
	}

	/* === Radio / choice (NIS, NYHA, Diurético, EQ-5D, COMPASS) === */
	.ttracker-choice__control,
	.ttracker-choice--dark .ttracker-choice__control {
		border: 1px solid #888 !important;
		background: #fff !important;
	}
	.ttracker-choice__control::after {
		background: #fff !important;
	}
	.ttracker-choice__input:checked + .ttracker-choice__control,
	.ttracker-choice__input:checked ~ .ttracker-choice__control,
	.ttracker-choice--dark .ttracker-choice__input:checked + .ttracker-choice__control,
	.ttracker-choice--dark .ttracker-choice__input:checked ~ .ttracker-choice__control {
		border: 2px solid #000 !important;
		background: #000 !important;
	}
	.ttracker-choice__input:checked + .ttracker-choice__control::after,
	.ttracker-choice__input:checked ~ .ttracker-choice__control::after {
		background: #fff !important;
	}
	.ttracker-choice--dark {
		background: transparent !important;
	}
	.ttracker-choice__label,
	.ttracker-nyha-option-label,
	.ttracker-diuretico-option-label,
	.ttracker-eq5d-dim-title,
	.ttracker-calc-field-group label,
	.ttracker-imc-field label,
	.ttracker-history-obs-label {
		color: #000 !important;
		-webkit-text-fill-color: #000 !important;
	}

	/* === COMPASS-31 selects === */
	.ttracker-compass-page select,
	.ttracker-compass-page input[type="radio"] + label,
	.ttracker-compass-page input[type="checkbox"] + label {
		color: #000 !important;
		-webkit-text-fill-color: #000 !important;
	}

	/* ============================================================
	   CAMADA 5 — Layout & page-breaks
	============================================================ */

	/* Manter side-by-side dos modos Atual ↔ Anterior (legacy modo-3) */
	.ttracker-assessment-compare,
	.ttracker-kccq-form {
		grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr) !important;
	}
	.ttracker-resultados-panels {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	.ttracker-resultados-metric,
	.ttracker-resultados-comparison-item {
		grid-template-columns: minmax(0, 140px) minmax(0, 1fr) !important;
	}

	/* Page-break management — evitar cortar tabelas/cards no meio */
	.ttracker-assessment-history,
	.ttracker-resultados-instrument,
	.ttracker-card,
	.ttracker-cardiac-callout,
	.ttracker-calc-result-box,
	.ttracker-imc-result-box,
	.ttracker-table,
	.ttracker-history-table,
	.ttracker-steps-panel,
	.ttracker-assessment-summary,
	.ttracker-form-panel,
	.ttracker-assessment-panel,
	.ttracker-kccq-panel,
	.ttracker-eq5d-dimension {
		page-break-inside: avoid;
		break-inside: avoid;
	}

	/* Resultados page — espaçamento vertical mais compacto */
	.ttracker-resultados-instrument {
		padding: 12px 16px !important;
		margin-bottom: 8px !important;
	}
	.ttracker-resultados-panel {
		padding: 10px 14px !important;
	}
	.ttracker-resultados-category {
		margin-bottom: 14px !important;
	}
}

button.bttn-nis {
	display: inline-block;
	width: 58%;
	padding: 12px 18px;
	border: 0;
	border-radius: 10px;
	background-color: var(--tt-cta);
	color: var(--tt-cta-text);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
}

button.bttn-nis:hover {
	background-color: var(--tt-cta-hover);
	color: var(--tt-cta-text);
}

input#ttotale1 {
	width: 40%;
	display: inline-block;
}

button.bttn-print {
	margin-top: 20px;
	margin-bottom: -20px;
	color: var(--tt-text-muted);
	background: none;
}

div#printableArea td {
	font-weight: 400;
}

b.side-title {
	font-size: 24px;
	font-weight: 500;
	color: var(--tt-accent) !important;
	display: block;
}

h1.post-title {
	color: var(--tt-accent);
	font-weight: 700;
	font-size: 47px;
}

.niss td {
	width: 33%;
}

.niss h2, .norfo2 h2 {
	font-size: 23px;
	color: var(--tt-accent);
	line-height: 25px;
	margin-top: 10px;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.line-check br {
	display: none;
}

.top-nav {
	text-align: center;
	padding: 0;
	font-size: 15px;
	background: #FFF;
	margin: auto;
}
.top-nav .container {
	max-width: 1333px;
	background-color: #DDD;
	margin: auto;
	padding: 6px 36px;
}

/* TTRacker footer */
.ttracker-footer {
	color: var(--tt-text-muted);
}

.ttracker-hidden-action {
	visibility: hidden;
}

.ttracker-nowrap {
	white-space: nowrap;
}

.ttracker-footer .ttracker-footer-logo {
	margin-bottom: 18px;
}

.ttracker-footer .ttracker-footer-logo img {
	display: block;
	max-width: 140px;
	width: 100%;
	height: auto;
}

.ttracker-footer .ttracker-footer-meta,
.ttracker-footer .ttracker-footer-disclaimer,
.ttracker-footer .ttracker-footer-links {
	margin: 0;
	color: var(--tt-text-muted);
	font-size: 12px;
	line-height: 1.7;
}

.ttracker-footer .ttracker-footer-meta {
	max-width: 360px;
}

.ttracker-footer .ttracker-footer-disclaimer {
	max-width: 640px;
}

.ttracker-footer .ttracker-footer-links {
	margin-top: 18px;
}

.ttracker-footer .ttracker-footer-links a {
	color: var(--tt-text-strong);
	text-decoration: none;
}

.ttracker-footer .ttracker-footer-links a:hover {
	color: var(--tt-accent);
}

@media (max-width: 959px) {
	.ttracker-footer .ttracker-footer-logo img {
		max-width: 120px;
	}
}

/* TTRacker landing page helpers */
.ttracker-bg-hero {
	background-color: var(--tt-bg-hero) !important;
	min-height: clamp(320px, 48vh, 460px);
}

/* Hero banner — center headings, text and button */
.ttracker-bg-hero .uncell,
.ttracker-bg-hero .uncoltable {
	text-align: center;
}

/* Stack hero content from the top so headings hug the banner's upper edge */
.ttracker-bg-hero .uncell {
	vertical-align: top;
}

/* Home hero — flex the center column's content so CTA drops to the bottom.
   Uncode renders columns as .uncol > .uncoltable > .uncell > .uncont, and
   the CTA is wrapped in a .btn-container span. The spacer between heading
   and CTA (.empty-space) absorbs the remaining height via flex: 1. */
.ttracker-hero-home .col-lg-8 .uncont {
	display: flex;
	flex-direction: column;
	min-height: clamp(260px, 40vh, 400px);
}

.ttracker-hero-home .col-lg-8 .empty-space {
	flex: 1 1 auto;
}

@media (max-width: 767px) {
	.ttracker-hero-home .col-lg-8 .uncont {
		display: block;
		min-height: 0;
	}
	.ttracker-hero-home .col-lg-8 .empty-space {
		flex: 0 0 auto;
	}
	.ttracker-bg-hero .btn-container {
		display: flex;
		justify-content: center;
	}
	/* Uncode core style.css (loaded after this child sheet) applies
	   transform: scale(0.8); transform-origin: left to .btn, anchoring the
	   visual box to the layout-left edge. Same specificity but later source,
	   so !important is required to re-center the scaled CTA on mobile. */
	.ttracker-bg-hero .btn-container a.btn {
		transform-origin: 50% 50% !important;
	}
}

.ttracker-bg-hero .vc_custom_heading,
.ttracker-bg-hero [style*="text-align"],
.ttracker-bg-hero h1,
.ttracker-bg-hero h2,
.ttracker-bg-hero p,
.ttracker-bg-hero .heading-text {
	text-align: center !important;
}

.ttracker-bg-hero .btn-container {
	text-align: center;
	justify-content: center;
}

/* Dark text on amber CTA — Uncode's btn-color-ttcta ships with white text. */
.ttracker-bg-hero .btn-color-ttcta,
.ttracker-bg-hero .btn-color-ttcta:hover,
.ttracker-bg-hero .btn-color-ttcta:focus,
.ttracker-bg-hero a.btn.btn-color-ttcta {
	color: var(--tt-cta-text) !important;
}

/* Hero titles — uppercase, uniform centering. Uncode applies inline
   text-align from font_container (some pages use text_align:left), so
   center is forced here. Sizes in rem to track the site's base typography. */
.ttracker-bg-hero .heading-text {
	text-align: center !important;
}

.ttracker-bg-hero .heading-text .h2,
.ttracker-bg-hero .heading-text h1,
.ttracker-bg-hero .heading-text h2 {
	text-transform: uppercase;
	letter-spacing: 0.02em;
	font-size: 1.5rem;
	line-height: 1.2;
	font-weight: 700;
}

/* Home hero — the SECOND heading is the descriptive body line
   ("Acompanhamento integrado…"). Smaller and in sentence case. */
.ttracker-hero-home .vc_custom_heading_wrap:nth-child(2) .heading-text .h2,
.ttracker-hero-home .vc_custom_heading_wrap:nth-child(2) .heading-text h1,
.ttracker-hero-home .vc_custom_heading_wrap:nth-child(2) .heading-text h2 {
	text-transform: none;
	font-size: 1.125rem;
	letter-spacing: 0.01em;
	font-weight: 500;
	line-height: 1.3;
}

/* Thin 1px white divider between the two home hero headings.
   Rendered as a top border on the subtitle heading itself so the line
   width matches the subtitle text width (via width: fit-content).
   Spacing is split equally above and below the line (~17/18px each). */
.ttracker-hero-home .vc_custom_heading_wrap:nth-child(2) {
	margin-top: 17px !important;
}

.ttracker-hero-home .vc_custom_heading_wrap:nth-child(2) .heading-text .h2,
.ttracker-hero-home .vc_custom_heading_wrap:nth-child(2) .heading-text h1,
.ttracker-hero-home .vc_custom_heading_wrap:nth-child(2) .heading-text h2 {
	margin-top: 0;
	padding-top: 18px;
	border-top: 1px solid var(--tt-text-strong, #fff);
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 767px) {
	.ttracker-bg-hero .heading-text .h2,
	.ttracker-bg-hero .heading-text h1,
	.ttracker-bg-hero .heading-text h2 {
		font-size: 1.25rem;
		letter-spacing: 0.01em;
	}
	.ttracker-hero-home .vc_custom_heading_wrap:nth-child(2) .heading-text .h2,
	.ttracker-hero-home .vc_custom_heading_wrap:nth-child(2) .heading-text h1,
	.ttracker-hero-home .vc_custom_heading_wrap:nth-child(2) .heading-text h2 {
		font-size: 1rem;
	}
}

.ttracker-bg-surface {
	background-color: var(--tt-bg-surface) !important;
}

.ttracker-bg-page {
	background-color: var(--tt-bg-deep) !important;
}

html[data-ttracker-hcp-gate="active"],
html[data-ttracker-hcp-gate="active"] body {
	overflow: hidden;
	overscroll-behavior: none;
}

html[data-ttracker-hcp-gate="authorized"] .ttracker-hcp-gate {
	display: none !important;
}

html[data-ttracker-hcp-gate="active"] .ttracker-hcp-gate {
	display: flex;
}

.ttracker-hcp-gate {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 32px 20px;
	overflow-y: auto;
	pointer-events: auto;
	background: rgba(19, 41, 67, 0.88);
}

.ttracker-hcp-gate[hidden] {
	display: none !important;
}

.ttracker-hcp-gate-dialog {
	position: relative;
	width: min(680px, 100%);
	padding: 36px 38px;
	border: 1px solid var(--tt-border-soft);
	border-radius: 28px;
	background: linear-gradient(180deg, var(--tt-panel-from) 0%, var(--tt-panel-to) 100%);
	box-shadow: 0 32px 80px rgba(4, 17, 31, 0.32);
	color: var(--tt-bg-surface);
	outline: none;
}

.ttracker-hcp-gate-dialog:focus-visible,
.ttracker-hcp-gate-button:focus-visible {
	outline: 3px solid var(--tt-focus-outline);
	outline-offset: 4px;
}

.ttracker-hcp-gate-title,
.ttracker-hcp-gate-body p,
.ttracker-hcp-gate-confirmation,
.ttracker-hcp-gate-note {
	margin: 0;
}

.ttracker-hcp-gate-title {
	color: var(--tt-bg-surface);
	font-size: 28px;
	line-height: 1.15;
	font-weight: 700;
}

.ttracker-hcp-gate-sr-title {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ttracker-hcp-gate-body {
	color: var(--tt-text-on-light);
	font-size: 18px;
	line-height: 1.7;
}

.ttracker-hcp-gate-body p + p {
	margin-top: 10px;
}

.ttracker-hcp-gate-confirmation {
	margin-top: 16px;
	color: var(--tt-bg-surface);
	font-size: 17px;
	line-height: 1.55;
	font-weight: 600;
}

.ttracker-hcp-gate-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 26px;
}

.ttracker-hcp-gate-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 14px 22px;
	border-radius: 999px;
	border: 1px solid transparent;
	font-size: 15px;
	line-height: 1.2;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.ttracker-hcp-gate-button:hover {
	transform: translateY(-1px);
}

.ttracker-hcp-gate-button--primary {
	background: var(--tt-cta);
	color: var(--tt-cta-text);
}

.ttracker-hcp-gate-button--primary:hover {
	background: var(--tt-cta-hover);
	color: var(--tt-cta-text);
}

.ttracker-hcp-gate-button--secondary {
	background: transparent;
	border-color: rgba(33, 65, 95, 0.24);
	color: var(--tt-bg-surface);
}

.ttracker-hcp-gate-button--secondary:hover {
	background: rgba(33, 65, 95, 0.06);
	color: var(--tt-bg-surface);
}

.ttracker-hcp-gate-note {
	margin-top: 18px;
	color: #8a2f45;
	font-size: 14px;
	line-height: 1.6;
}

.ttracker-hcp-gate-note[hidden] {
	display: none !important;
}

.ttracker-hcp-gate[data-state="declined"] .ttracker-hcp-gate-dialog {
	border-color: rgba(190, 35, 86, 0.24);
}

.ttracker-disclaimer,
.ttracker-disclaimer p {
	text-align: justify;
	color: var(--tt-text-body);
	font-style: italic;
	font-size: 14px;
	line-height: 1.6;
}

.ttracker-intro-note,
.ttracker-intro-note p {
	text-align: justify;
	font-size: 14px;
	line-height: 1.6;
}

.ttracker-card {
	height: 100%;
}

.ttracker-card > .uncol,
.ttracker-card > .uncol > .uncoltable,
.ttracker-card > .uncol > .uncoltable > .uncell {
	height: 100%;
}

.ttracker-card > .uncol > .uncoltable > .uncell {
	border: 1px solid var(--tt-border-soft);
	border-radius: 20px;
	background: var(--tt-surface-soft);
}

.ttracker-card-row .wpb_row {
	margin-left: -20px !important;
	margin-right: -20px !important;
}

.ttracker-card-row .wpb_row > .wpb_column {
	padding-left: 20px !important;
	padding-right: 20px !important;
}

@media (max-width: 959px) {
	.ttracker-card-row .wpb_row > .ttracker-card + .ttracker-card {
		margin-top: 20px;
	}
	.ttracker-card-spacer {
		display: none !important;
	}
}

.ttracker-card .uncont {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.ttracker-card .btn-container {
	display: block;
	margin-top: auto;
	padding-top: 14px;
}

.ttracker-pill-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 18px 0 0;
}

.ttracker-pill {
	display: inline-flex;
	align-items: center;
	padding: 7px 12px;
	border-radius: 999px;
	border: 1px solid var(--tt-border-soft);
	background: var(--tt-overlay-soft);
	color: inherit;
	font-size: 12px;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}

.ttracker-pill:hover {
	color: inherit;
	opacity: 0.92;
	text-decoration: none;
}

.ttracker-card-cta-wrap {
	margin-top: auto;
	padding-top: 18px;
	text-align: center;
}

.ttracker-card-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 75%;
	margin: 0 auto;
	padding: 12px 16px;
	border-radius: 6px;
	border: 1.5px solid var(--tt-text-strong);
	background: transparent;
	color: var(--tt-text-strong);
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.02em;
	transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.ttracker-card:hover .ttracker-card-cta {
	background: var(--tt-accent);
	border-color: var(--tt-accent);
	color: var(--tt-bg-deep);
}

.ttracker-card-cta-arrow {
	font-size: 16px;
	line-height: 1;
	transition: transform 160ms ease;
}

.ttracker-card:hover .ttracker-card-cta-arrow {
	transform: translateX(3px);
}

.ttracker-card-has-badge .ttracker-card-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 5px 10px;
	border-radius: 999px;
	background: var(--tt-accent);
	color: var(--tt-text-on-light);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.ttracker-home-monitoring-structure {
	max-width: 1320px;
	margin: 0 auto;
}

.ttracker-home-monitoring-band-title {
	margin-bottom: 24px;
}

.ttracker-home-monitoring-band-title * {
	margin: 0 !important;
	color: var(--tt-text-strong);
	font-weight: 700;
	line-height: 1.15;
	font-size: 24px;
}

.ttracker-home-monitoring-band-copy p,
.ttracker-home-monitoring-structure .ttracker-home-structure-subtitle,
.ttracker-home-monitoring-structure .ttracker-home-structure-note,
.ttracker-home-monitoring-structure .ttracker-table-reference {
	margin: 0;
}

.ttracker-home-monitoring-band-copy p {
	text-align: justify;
	color: var(--tt-text-body);
	font-size: 14px;
	line-height: 1.6;
}

.ttracker-home-monitoring-band-copy p + p {
	margin-top: 12px;
}

.ttracker-home-monitoring-structure .table-home-structure-wrap {
	margin: 20px 0 22px;
}

.ttracker-home-monitoring-structure .ttracker-home-structure-note {
	margin-top: 0;
	color: var(--tt-text-muted);
	font-size: 12px;
	line-height: 1.6;
}

.ttracker-home-monitoring-structure .ttracker-table-reference {
	margin-top: 16px;
	color: var(--tt-text-muted);
	font-size: 12px;
	line-height: 1.6;
}

.ttracker-home-monitoring-structure .ttracker-home-structure-subtitle {
	margin: 0;
	color: var(--tt-text-strong);
	font-size: 18px;
	line-height: 1.5;
	font-weight: 600;
}

.ttracker-home-monitoring-structure .table-home-structure {
	border: 0;
	margin: 0;
}

.ttracker-home-monitoring-structure .table-home-structure th:nth-child(1),
.ttracker-home-monitoring-structure .table-home-structure td:nth-child(1) {
	width: 16%;
}

.ttracker-home-monitoring-structure .table-home-structure th:nth-child(2),
.ttracker-home-monitoring-structure .table-home-structure td:nth-child(2) {
	width: 26%;
}

.ttracker-home-monitoring-structure .table-home-structure th:nth-child(3),
.ttracker-home-monitoring-structure .table-home-structure td:nth-child(3) {
	width: 23%;
}

.ttracker-home-monitoring-structure .table-home-structure th:nth-child(4),
.ttracker-home-monitoring-structure .table-home-structure td:nth-child(4) {
	width: 35%;
}

.ttracker-home-monitoring-structure .table-home-structure .home-domain-cell {
	background: var(--tt-accent-soft-2);
	color: var(--tt-bg-surface);
	font-size: 19px;
	font-weight: 700;
}

.ttracker-home-monitoring-structure .table-home-structure .home-frequency-cell {
	color: var(--tt-bg-surface);
	font-size: 18px;
	line-height: 1.45;
	font-weight: 500;
}

.ttracker-home-monitoring-structure .table-home-structure a {
	color: var(--tt-bg-hero);
	font-weight: 700;
	text-decoration: none;
}

.ttracker-home-monitoring-structure .table-home-structure a:hover {
	color: var(--tt-accent);
}

@media (max-width: 1279px) {
	.ttracker-home-monitoring-structure .table-home-structure {
		font-size: 13px;
	}

	.ttracker-home-monitoring-structure .table-home-structure th,
	.ttracker-home-monitoring-structure .table-home-structure td {
		padding: 18px 18px;
	}

	.ttracker-home-monitoring-structure .table-home-structure .home-domain-cell,
	.ttracker-home-monitoring-structure .table-home-structure .home-frequency-cell {
		font-size: 17px;
	}
}

@media (max-width: 959px) {
	.ttracker-home-monitoring-band-title * {
		font-size: 22px;
	}

	.ttracker-home-monitoring-structure .ttracker-home-structure-subtitle {
		margin-top: 20px;
		font-size: 18px;
		line-height: 1.3;
	}

	.ttracker-home-monitoring-structure .table-home-structure-wrap {
		border-radius: 18px;
		overflow: visible;
		background: transparent;
		box-shadow: none;
		border: 0;
	}

	.ttracker-home-monitoring-structure .table-home-structure,
	.ttracker-home-monitoring-structure .table-home-structure tbody,
	.ttracker-home-monitoring-structure .table-home-structure tr,
	.ttracker-home-monitoring-structure .table-home-structure td {
		display: block;
		width: 100% !important;
	}

	.ttracker-home-monitoring-structure .table-home-structure thead {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		border: 0;
	}

	.ttracker-home-monitoring-structure .table-home-structure tbody tr {
		margin: 0 0 18px;
		border: 0;
		border-radius: 20px;
		background: linear-gradient(180deg, var(--tt-panel-from) 0%, var(--tt-panel-to) 100%);
		box-shadow: none;
		overflow: hidden;
	}

	.ttracker-home-monitoring-structure .table-home-structure tbody tr:last-child {
		margin-bottom: 0;
	}

	.ttracker-home-monitoring-structure .table-home-structure td {
		padding: 16px 18px;
		border-bottom: 1px solid var(--tt-border-rule);
	}

	.ttracker-home-monitoring-structure .table-home-structure td:last-child {
		border-bottom: 0;
	}

	.ttracker-home-monitoring-structure .table-home-structure .home-domain-cell {
		font-size: 22px;
		line-height: 1.2;
	}

	.ttracker-home-monitoring-structure .table-home-structure td[data-label]::before {
		content: attr(data-label);
		display: block;
		margin: 0 0 8px;
		color: var(--tt-bg-surface);
		font-size: 12px;
		line-height: 1.3;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.04em;
	}

	.ttracker-home-monitoring-structure .table-home-structure .home-frequency-cell {
		font-size: 18px;
	}

	.ttracker-home-monitoring-structure .ttracker-home-structure-note {
		font-size: 14px;
	}

	.ttracker-hcp-gate {
		padding: 18px 14px;
		align-items: flex-start;
		overflow-y: auto;
	}

	.ttracker-hcp-gate-dialog {
		width: 100%;
		padding: 28px 22px;
		border-radius: 24px;
		margin: 18px 0;
	}

	.ttracker-hcp-gate-title {
		font-size: 24px;
	}

	.ttracker-hcp-gate-body {
		font-size: 16px;
	}

	.ttracker-hcp-gate-confirmation {
		font-size: 15px;
	}

	.ttracker-hcp-gate-actions {
		flex-direction: column;
	}

	.ttracker-hcp-gate-button {
		width: 100%;
	}
}

.ttracker-neuro-monitoring-structure {
	max-width: 1320px;
	margin: 0 auto;
}

.ttracker-neuro-monitoring-structure .ttracker-neuro-structure-subtitle,
.ttracker-neuro-monitoring-structure .ttracker-neuro-reference,
.ttracker-neuro-monitoring-structure .ttracker-neuro-legend-item,
.ttracker-neuro-monitoring-structure .ttracker-neuro-disclaimer-note {
	margin: 0;
}

.ttracker-neuro-monitoring-structure .ttracker-neuro-structure-subtitle {
	color: var(--tt-text-strong);
	font-size: 18px;
	line-height: 1.5;
	font-weight: 600;
}

.ttracker-neuro-monitoring-structure .table-neuro-monitoring-wrap {
	margin: 20px 0 22px;
}

.ttracker-neuro-monitoring-structure .ttracker-neuro-reference {
	margin-top: 16px;
	color: var(--tt-text-muted);
	font-size: 12px;
	line-height: 1.7;
}

.ttracker-neuro-monitoring-structure .ttracker-neuro-legend {
	margin-top: 14px;
	color: var(--tt-text-muted);
	font-size: 12px;
	line-height: 1.6;
}

.ttracker-neuro-monitoring-structure .ttracker-neuro-legend-item + .ttracker-neuro-legend-item {
	margin-top: 4px;
}

.ttracker-neuro-monitoring-structure .ttracker-neuro-disclaimer-note {
	margin-top: 14px;
	color: var(--tt-text-muted);
	font-size: 12px;
	line-height: 1.6;
	font-style: italic;
}

.ttracker-neuro-monitoring-structure .table-neuro-monitoring th:nth-child(1),
.ttracker-neuro-monitoring-structure .table-neuro-monitoring td:nth-child(1) {
	width: 20%;
}

.ttracker-neuro-monitoring-structure .table-neuro-monitoring th:nth-child(2),
.ttracker-neuro-monitoring-structure .table-neuro-monitoring td:nth-child(2) {
	width: 26%;
}

.ttracker-neuro-monitoring-structure .table-neuro-monitoring th:nth-child(3),
.ttracker-neuro-monitoring-structure .table-neuro-monitoring td:nth-child(3) {
	width: 36%;
}

.ttracker-neuro-monitoring-structure .table-neuro-monitoring th:nth-child(4),
.ttracker-neuro-monitoring-structure .table-neuro-monitoring td:nth-child(4) {
	width: 18%;
}

.ttracker-neuro-monitoring-structure .table-neuro-monitoring .neuro-instrument-cell {
	background: var(--tt-accent-soft-2);
	color: var(--tt-bg-surface);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.45;
}

.ttracker-neuro-monitoring-structure .table-neuro-monitoring .neuro-frequency-cell {
	color: var(--tt-bg-surface);
	font-size: 18px;
	line-height: 1.45;
	font-weight: 500;
}

.ttracker-neuro-monitoring-structure .table-neuro-monitoring a {
	color: var(--tt-bg-hero);
	font-weight: 700;
	text-decoration: none;
}

.ttracker-neuro-monitoring-structure .table-neuro-monitoring a:hover {
	color: var(--tt-accent);
}

.ttracker-neuro-monitoring-structure .table-neuro-monitoring .neuro-instrument-cell a,
.ttracker-neuro-monitoring-structure .table-neuro-monitoring .neuro-instrument-cell a:visited {
	color: var(--tt-bg-surface);
	-webkit-text-fill-color: var(--tt-bg-surface);
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	text-decoration: none;
}

.ttracker-neuro-monitoring-structure .table-neuro-monitoring .neuro-instrument-cell a:hover,
.ttracker-neuro-monitoring-structure .table-neuro-monitoring .neuro-instrument-cell a:focus {
	color: var(--tt-bg-hero);
	-webkit-text-fill-color: var(--tt-bg-hero);
	text-decoration: none;
}

@media (max-width: 1279px) {
	.ttracker-neuro-monitoring-structure .table-neuro-monitoring {
		font-size: 13px;
	}

	.ttracker-neuro-monitoring-structure .table-neuro-monitoring th,
	.ttracker-neuro-monitoring-structure .table-neuro-monitoring td {
		padding: 18px 18px;
	}

	.ttracker-neuro-monitoring-structure .table-neuro-monitoring .neuro-instrument-cell,
	.ttracker-neuro-monitoring-structure .table-neuro-monitoring .neuro-frequency-cell {
		font-size: 17px;
	}
}

@media (max-width: 959px) {
	.ttracker-neuro-monitoring-structure .ttracker-neuro-structure-subtitle {
		font-size: 18px;
		line-height: 1.3;
	}

	.ttracker-neuro-monitoring-structure .table-neuro-monitoring-wrap {
		border-radius: 18px;
		overflow: visible;
		background: transparent;
		box-shadow: none;
		border: 0;
	}

	.ttracker-neuro-monitoring-structure .table-neuro-monitoring,
	.ttracker-neuro-monitoring-structure .table-neuro-monitoring tbody,
	.ttracker-neuro-monitoring-structure .table-neuro-monitoring tr,
	.ttracker-neuro-monitoring-structure .table-neuro-monitoring td {
		display: block;
		width: 100% !important;
	}

	.ttracker-neuro-monitoring-structure .table-neuro-monitoring thead {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		border: 0;
	}

	.ttracker-neuro-monitoring-structure .table-neuro-monitoring tbody tr {
		margin: 0 0 18px;
		border: 1px solid var(--tt-border-soft);
		border-radius: 20px;
		background: linear-gradient(180deg, var(--tt-panel-from) 0%, var(--tt-panel-to) 100%);
		box-shadow: 0 18px 40px rgba(5, 16, 30, 0.18);
		overflow: hidden;
	}

	.ttracker-neuro-monitoring-structure .table-neuro-monitoring tbody tr:last-child {
		margin-bottom: 0;
	}

	.ttracker-neuro-monitoring-structure .table-neuro-monitoring td {
		padding: 16px 18px;
		border-bottom: 1px solid var(--tt-border-rule);
	}

	.ttracker-neuro-monitoring-structure .table-neuro-monitoring td:last-child {
		border-bottom: 0;
	}

	.ttracker-neuro-monitoring-structure .table-neuro-monitoring .neuro-instrument-cell {
		font-size: 22px;
		line-height: 1.2;
	}

	.ttracker-neuro-monitoring-structure .table-neuro-monitoring td[data-label]::before {
		content: attr(data-label);
		display: block;
		margin: 0 0 8px;
		color: var(--tt-bg-surface);
		font-size: 12px;
		line-height: 1.3;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.04em;
	}

	.ttracker-neuro-monitoring-structure .table-neuro-monitoring .neuro-frequency-cell {
		font-size: 18px;
	}

	.ttracker-neuro-monitoring-structure .ttracker-neuro-reference,
	.ttracker-neuro-monitoring-structure .ttracker-neuro-legend,
	.ttracker-neuro-monitoring-structure .ttracker-neuro-disclaimer-note {
		font-size: 12px;
	}
}

/* TTRacker shared table utilities */
.ttracker-table-wrap {
	margin: 0 0 24px;
	border: 1px solid var(--tt-border-soft);
	border-radius: 22px;
	background: linear-gradient(180deg, var(--tt-panel-from) 0%, var(--tt-panel-to) 100%);
	box-shadow: 0 24px 60px rgba(5, 16, 30, 0.18);
	overflow: hidden;
}

.ttracker-table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 14px;
	line-height: 1.6;
	color: var(--tt-text-on-light);
	background: transparent;
}

.ttracker-table th,
.ttracker-table td {
	padding: 20px 24px;
	border: 0;
	border-bottom: 1px solid var(--tt-border-rule);
	text-align: left;
	vertical-align: top;
}

.ttracker-table thead th {
	background: var(--tt-accent-soft);
	color: var(--tt-bg-surface);
	font-size: 16px;
	font-weight: 700;
}

.ttracker-table tbody tr:last-child td {
	border-bottom: 0;
}

/* NT-proBNP: narrower label column on the static "contexto clínico" table.
   `:not(.ttracker-history-table)` keeps the history table (which has its own
   layout — Data | Valor | Δ | Δ | Ações) free from this rule. */
.ttracker-ntprobnp-page .ttracker-table:not(.ttracker-history-table) th:first-child,
.ttracker-ntprobnp-page .ttracker-table:not(.ttracker-history-table) td:first-child {
	width: 33%;
}

@media (max-width: 959px) {
	.ttracker-table-mobile,
	.ttracker-table-mobile tbody,
	.ttracker-table-mobile tr,
	.ttracker-table-mobile td { display: block; width: 100%; }

	.ttracker-table-mobile thead {
		position: absolute;
		width: 1px; height: 1px;
		margin: -1px; padding: 0;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		border: 0;
	}

	.ttracker-table-mobile tbody tr {
		margin: 0 0 18px;
		border: 1px solid var(--tt-border-soft);
		border-radius: 20px;
		background: linear-gradient(180deg, var(--tt-panel-from) 0%, var(--tt-panel-to) 100%);
		box-shadow: 0 18px 40px rgba(5, 16, 30, 0.18);
		overflow: hidden;
	}

	.ttracker-table-mobile td {
		padding: 16px 18px;
		border-bottom: 1px solid var(--tt-border-rule);
	}

	.ttracker-table-mobile td::before {
		content: attr(data-label);
		display: block;
		margin-bottom: 8px;
		color: var(--tt-bg-surface);
		font-size: 12px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.04em;
	}

	.ttracker-table-mobile td:last-child { border-bottom: 0; }
}

/* TTRacker shared steps panel */
.ttracker-steps-panel {
	margin: 0 0 28px;
	padding: 28px 32px;
	border: 1px solid var(--tt-border-soft);
	border-radius: 22px;
	background: linear-gradient(180deg, var(--tt-panel-from) 0%, var(--tt-panel-to) 100%);
	box-shadow: 0 24px 60px rgba(5, 16, 30, 0.18);
}

.ttracker-steps {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: step-counter;
}

.ttracker-steps-panel .ttracker-steps > li {
	counter-increment: step-counter;
	display: flex;
	gap: 16px;
	align-items: flex-start;
	margin: 0;
	padding: 14px 0;
	border-bottom: 1px solid rgba(53, 80, 108, 0.10);
	line-height: 1.65;
	color: var(--tt-bg-surface);
}

.ttracker-steps > li:first-child { padding-top: 0; }

.ttracker-steps > li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.ttracker-steps-panel .ttracker-steps > li::before {
	content: counter(step-counter);
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	background: var(--tt-bg-surface);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 2px;
}

.ttracker-steps-note {
	margin: 20px 0 0;
	padding-top: 18px;
	border-top: 1px solid var(--tt-border-rule);
	color: var(--tt-text-muted);
	font-size: 14px;
	line-height: 1.7;
	font-style: italic;
}

@media (max-width: 959px) {
	.ttracker-steps-panel {
		padding: 22px 20px;
	}
}

/* TTRacker shared table caption / reference */
.ttracker-calculator-page .ttracker-table-caption {
	margin: 24px 0 12px;
	text-align: center;
	color: var(--tt-text-strong);
	font-size: 18px;
	line-height: 1.5;
}

.ttracker-calculator-page .ttracker-table-reference {
	margin: 20px 0 0;
	text-align: center;
	color: var(--tt-text-muted);
}

/* TTRacker calculator pages */
.ttracker-calculator-page {
	color: var(--tt-text-body);
}

.ttracker-calculator-page .post-title {
	color: var(--tt-text-strong);
	font-weight: 700;
	font-size: 42px;
	line-height: 1.1;
	margin: 32px 0 16px;
}

.ttracker-calculator-page .ttracker-section-title {
	margin: 32px 0 12px;
	color: var(--tt-text-strong);
	font-weight: 700;
	text-transform: uppercase;
}

.ttracker-calculator-page .ttracker-section-title:first-child {
	margin-top: 0;
}

.ttracker-nis-section .su-accordion {
	margin-bottom: 0;
}

.ttracker-calculator-page .ttracker-nis-section .niss {
	margin-top: 18px;
}

.ttracker-calculator-page .ttracker-nis-section .niss + .niss {
	margin-top: 18px;
}

.ttracker-calculator-page .niss,
.ttracker-calculator-page .norfo2 {
	margin-top: 22px;
	border: 1px solid var(--tt-border-soft);
	border-radius: 20px;
	background: var(--tt-surface-soft);
	overflow: hidden;
}

.ttracker-calculator-page .niss h2,
.ttracker-calculator-page .norfo2 h2 {
	color: var(--tt-text-strong);
	font-size: 18px;
	line-height: 1.3;
	letter-spacing: 0.02em;
	margin: 0;
}

.ttracker-calculator-page .niss td,
.ttracker-calculator-page .norfo2 td {
	padding: 16px 20px;
	border-color: var(--tt-border-soft);
}

/* ─── Shared form input styling ─── */
.ttracker-calculator-page select,
.ttracker-compass-page div.compass31 input.frecuencia,
.ttracker-imc-field input[type="number"],
.ttracker-imc-field input[type="text"],
.ttracker-imc-field select {
	padding: 10px 14px;
	border: 1px solid var(--tt-border-form);
	border-radius: 12px;
	background-color: var(--tt-panel-from);
	color: var(--tt-bg-surface);
	line-height: 1.4;
	box-shadow: inset 0 1px 0 var(--tt-inset-glow);
}

.ttracker-calculator-page select:focus,
.ttracker-imc-field input[type="number"]:focus,
.ttracker-imc-field input[type="text"]:focus,
.ttracker-imc-field select:focus {
	border-color: var(--tt-accent);
	outline: 2px solid var(--tt-focus-outline);
	outline-offset: 2px;
	box-shadow: 0 0 0 4px var(--tt-focus-ring);
}

.ttracker-calculator-page select,
.ttracker-imc-field input[type="number"],
.ttracker-imc-field input[type="text"] {
	width: 100%;
	min-height: 48px;
	font-size: 15px;
	font-weight: 500;
	-webkit-text-fill-color: var(--tt-bg-surface);
	-webkit-appearance: auto;
	appearance: auto;
}

.ttracker-calculator-page select {
	max-width: 100%;
	background-image: none !important;
	background-repeat: no-repeat !important;
}

.ttracker-calculator-page select option {
	color: var(--tt-bg-surface);
	background: var(--tt-panel-from);
}

/* Mobile: smaller selects on narrow screens */
@media (max-width: 550px) {
	select {
		font-size: 14px !important;
	}
}

.ttracker-calculator-page .su-spoiler-title,
.ttracker-calculator-page .su-spoiler-content,
.ttracker-calculator-page .widget-title,
.ttracker-calculator-page .side-title {
	color: var(--tt-accent);
}

.ttracker-calculator-page button.bttn-print {
	color: var(--tt-text-body);
}

.ttracker-calculator-page #printableArea td {
	color: var(--tt-text-body);
}

.ttracker-calculator-page small,
.ttracker-calculator-page small i {
	font-size: 13px;
	color: var(--tt-text-muted);
}

/* PND/FAP */
.ttracker-pnd-fap-page p {
	margin: 0 0 28px;
}



.ttracker-pnd-fap-page .table-pnd-fap .pnd-stage-cell,
.ttracker-pnd-fap-page .table-pnd-fap .pnd-pnd-cell,
.ttracker-pnd-fap-page .table-pnd-fap .pnd-note-row {
	color: var(--tt-bg-surface);
	font-weight: 700;
}

.ttracker-pnd-fap-page .table-pnd-fap .pnd-pnd-cell {
	white-space: nowrap;
}

.ttracker-pnd-fap-page .table-pnd-fap .pnd-note-row {
	background: var(--tt-accent-soft-2);
}

@media (max-width: 959px) {
	.ttracker-pnd-fap-page .table-pnd-fap {
		font-size: 13px;
	}

	.ttracker-pnd-fap-page .table-pnd-fap th,
	.ttracker-pnd-fap-page .table-pnd-fap td {
		padding: 16px;
	}
}

/* PND/FAP — remover linhas divisórias internas entre estágios (revisão clínica). */
.ttracker-pnd-fap-page .table-pnd-fap tbody tr:not(:last-child) td {
	border-bottom: 0 !important;
}
.ttracker-pnd-fap-page .table-pnd-fap tbody tr.has-stage-divider td {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* Cards cardíacos — linha de "Limiar:" abaixo do subtítulo. */
.ttracker-card-threshold {
	display: block;
	margin-top: .35rem;
	font-size: .82em;
	line-height: 1.35;
	color: var(--tt-text-muted);
}
.ttracker-card-threshold strong:first-child {
	color: var(--tt-accent-sky);
	font-weight: 600;
}

/* Cards cardíacos — caixa em destaque com recomendação dos 6 parâmetros. */
.ttracker-cardiac-callout {
	margin: 1.25rem auto 0;
	max-width: 880px;
	padding: 1rem 1.25rem;
	border-left: 3px solid var(--tt-accent-sky);
	background: rgba(0, 153, 204, 0.08);
	border-radius: 0 6px 6px 0;
}
.ttracker-cardiac-callout p {
	margin: 0;
	color: var(--tt-text-body);
	font-size: .95em;
	line-height: 1.5;
}
.ttracker-cardiac-callout p strong {
	color: var(--tt-text-strong);
}

/* Home — nota de rodapé curta com glossário (ex.: TFGe). */
.ttracker-home-structure-glossary {
	margin-top: -.25rem;
	font-size: .8em;
	color: var(--tt-text-muted);
	font-style: italic;
}

/* Shared radio / checkbox choice primitive */
.ttracker-choice {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	cursor: pointer;
}

.ttracker-choice__input {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.ttracker-choice__control {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	border: 2px solid currentColor;
	background: transparent;
	transition: border-color 0.15s, background 0.15s, box-shadow 0.15s, transform 0.15s;
}

.ttracker-choice__control::after {
	content: "";
	width: 12px;
	height: 12px;
	border-radius: 999px;
	background: currentColor;
	transform: scale(0);
	transition: transform 0.15s ease;
}

.ttracker-choice__surface {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
	min-height: 44px;
	border-radius: 16px;
	border: 1.5px solid transparent;
	transition: background 0.15s, border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}

.ttracker-choice__label {
	display: inline-block;
	line-height: 1.4;
}

.ttracker-choice__label--sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ttracker-choice__input:hover + .ttracker-choice__control,
.ttracker-choice__input:hover ~ .ttracker-choice__control {
	transform: scale(1.03);
}

.ttracker-choice__input:focus-visible + .ttracker-choice__control,
.ttracker-choice__input:focus-visible ~ .ttracker-choice__control {
	outline-offset: 3px;
}

.ttracker-choice__input:checked + .ttracker-choice__control::after,
.ttracker-choice__input:checked ~ .ttracker-choice__control::after {
	transform: scale(1);
}

.ttracker-choice__input:disabled + .ttracker-choice__control,
.ttracker-choice__input:disabled ~ .ttracker-choice__control,
.ttracker-choice__input:disabled + .ttracker-choice__label,
.ttracker-choice__input:disabled ~ .ttracker-choice__label {
	opacity: 0.55;
	cursor: not-allowed;
}

.ttracker-choice--light {
	width: 100%;
	padding: 0;
	color: var(--tt-text-on-light);
}

.ttracker-choice--light .ttracker-choice__surface {
	width: 100%;
	min-height: 96px;
	padding: 18px 14px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(247, 251, 255, 0.98));
	border-color: rgba(33, 65, 95, 0.24);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.82);
}

.ttracker-choice--light .ttracker-choice__control {
	border-color: rgba(33, 65, 95, 0.44);
	background: #fff;
	box-shadow: 0 1px 2px rgba(33, 65, 95, 0.12);
}

.ttracker-choice--light .ttracker-choice__control::after {
	background: transparent;
	transform: scale(0);
}

.ttracker-choice--light .ttracker-choice__input:hover + .ttracker-choice__surface,
.ttracker-choice--light .ttracker-choice__input:hover ~ .ttracker-choice__surface {
	border-color: rgba(33, 65, 95, 0.38);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(240, 247, 253, 0.98));
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.96), 0 3px 8px rgba(33, 65, 95, 0.1);
}

.ttracker-choice--light .ttracker-choice__input:hover + .ttracker-choice__surface .ttracker-choice__control,
.ttracker-choice--light .ttracker-choice__input:hover ~ .ttracker-choice__surface .ttracker-choice__control {
	border-color: var(--tt-text-on-light);
}

.ttracker-choice--light .ttracker-choice__input:focus-visible + .ttracker-choice__surface,
.ttracker-choice--light .ttracker-choice__input:focus-visible ~ .ttracker-choice__surface {
	outline: 2px solid var(--tt-bg-surface);
	box-shadow: 0 0 0 4px var(--tt-focus-ring), inset 0 0 0 1px rgba(255, 255, 255, 0.96);
}

.ttracker-choice--light .ttracker-choice__input:focus-visible + .ttracker-choice__surface .ttracker-choice__control,
.ttracker-choice--light .ttracker-choice__input:focus-visible ~ .ttracker-choice__surface .ttracker-choice__control {
	border-color: var(--tt-bg-surface);
}

.ttracker-choice--light .ttracker-choice__input:checked + .ttracker-choice__surface,
.ttracker-choice--light .ttracker-choice__input:checked ~ .ttracker-choice__surface {
	background: linear-gradient(180deg, rgba(198, 218, 238, 0.82), rgba(183, 206, 230, 0.96));
	border-color: var(--tt-bg-deep);
	box-shadow: 0 0 0 2px rgba(19, 41, 67, 0.22), inset 0 0 0 1px rgba(255, 255, 255, 0.9), 0 10px 24px rgba(33, 65, 95, 0.14);
}

.ttracker-choice--light .ttracker-choice__input:checked + .ttracker-choice__surface .ttracker-choice__control,
.ttracker-choice--light .ttracker-choice__input:checked ~ .ttracker-choice__surface .ttracker-choice__control {
	border-color: var(--tt-accent);
	background: var(--tt-accent);
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(12, 180, 206, 0.22);
}

.ttracker-choice--light .ttracker-choice__input:checked + .ttracker-choice__surface .ttracker-choice__control::after,
.ttracker-choice--light .ttracker-choice__input:checked ~ .ttracker-choice__surface .ttracker-choice__control::after {
	transform: scale(1);
	background: var(--tt-bg-deep);
}

.ttracker-choice--dark {
	width: 100%;
	align-items: flex-start;
	padding: 10px 14px;
	border-radius: 10px;
	border: 1px solid transparent;
	color: var(--tt-text-body);
	transition: background 0.15s, border-color 0.15s;
}

.ttracker-choice--dark:hover {
	background: rgba(255, 255, 255, 0.04);
	border-color: rgba(255, 255, 255, 0.12);
}

.ttracker-choice--dark .ttracker-choice__control {
	border-color: rgba(255, 255, 255, 0.35);
}

.ttracker-choice--dark .ttracker-choice__control::after {
	background: var(--tt-bg-deep);
}

.ttracker-choice--dark .ttracker-choice__input:focus-visible + .ttracker-choice__control,
.ttracker-choice--dark .ttracker-choice__input:focus-visible ~ .ttracker-choice__control {
	outline: 2px solid var(--tt-text-strong);
	box-shadow: 0 0 0 4px var(--tt-focus-ring);
}

.ttracker-choice--dark .ttracker-choice__input:checked + .ttracker-choice__control,
.ttracker-choice--dark .ttracker-choice__input:checked ~ .ttracker-choice__control {
	border-color: var(--tt-accent);
	background: var(--tt-accent);
}

/* ─── Inline variant — flat radios inside table cells ─── */
.ttracker-choice--inline {
	color: var(--tt-text-body);
}

.ttracker-choice--inline .ttracker-choice__surface {
	min-height: auto;
	padding: 0;
	background: transparent;
	border-color: transparent;
	border-radius: 0;
	box-shadow: none;
}

.ttracker-choice--inline .ttracker-choice__control {
	border-color: rgba(255, 255, 255, 0.35);
	background: transparent;
	box-shadow: none;
}

.ttracker-choice--inline .ttracker-choice__control::after {
	background: transparent;
}

.ttracker-choice--inline .ttracker-choice__input:hover + .ttracker-choice__surface,
.ttracker-choice--inline .ttracker-choice__input:hover ~ .ttracker-choice__surface {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
}

.ttracker-choice--inline .ttracker-choice__input:hover + .ttracker-choice__surface .ttracker-choice__control,
.ttracker-choice--inline .ttracker-choice__input:hover ~ .ttracker-choice__surface .ttracker-choice__control {
	border-color: rgba(255, 255, 255, 0.55);
}

.ttracker-choice--inline .ttracker-choice__input:focus-visible + .ttracker-choice__surface,
.ttracker-choice--inline .ttracker-choice__input:focus-visible ~ .ttracker-choice__surface {
	outline: none;
	box-shadow: none;
}

.ttracker-choice--inline .ttracker-choice__input:focus-visible + .ttracker-choice__surface .ttracker-choice__control,
.ttracker-choice--inline .ttracker-choice__input:focus-visible ~ .ttracker-choice__surface .ttracker-choice__control {
	outline: 2px solid var(--tt-text-strong);
	outline-offset: 3px;
	box-shadow: 0 0 0 4px var(--tt-focus-ring);
}

.ttracker-choice--inline .ttracker-choice__input:checked + .ttracker-choice__surface,
.ttracker-choice--inline .ttracker-choice__input:checked ~ .ttracker-choice__surface {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
}

.ttracker-choice--inline .ttracker-choice__input:checked + .ttracker-choice__surface .ttracker-choice__control,
.ttracker-choice--inline .ttracker-choice__input:checked ~ .ttracker-choice__surface .ttracker-choice__control {
	border-color: var(--tt-accent);
	background: var(--tt-accent);
	box-shadow: inset 0 0 0 4px rgba(18, 61, 103, 0.95);
}

.ttracker-choice--inline .ttracker-choice__input:checked + .ttracker-choice__surface .ttracker-choice__control::after,
.ttracker-choice--inline .ttracker-choice__input:checked ~ .ttracker-choice__surface .ttracker-choice__control::after {
	transform: scale(0);
}

/* R-ODS */
.ttracker-rods-page p {
	margin: 0 0 28px;
}

.ttracker-rods-page .ttracker-table-caption {
	margin-bottom: 16px;
}

.ttracker-rods-page .ttracker-table-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 18px;
	margin: 0 0 18px;
	color: var(--tt-text-muted);
	font-size: 14px;
	line-height: 1.5;
}

.ttracker-rods-page .ttracker-table-legend span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* R-ODS: dark theme table matching COMPASS-31 */
.ttracker-rods-page .table-rods-wrap {
	background: var(--tt-surface-soft);
	border-color: var(--tt-border-soft);
	box-shadow: none;
}

.ttracker-rods-page .table-rods {
	font-size: 15px;
	line-height: 1.6;
	color: var(--tt-text-body);
}

.ttracker-rods-page .table-rods th,
.ttracker-rods-page .table-rods td {
	padding: 18px 20px;
	vertical-align: middle;
	border: 0;
	border-bottom: 1px solid var(--tt-border-soft);
}

.ttracker-rods-page .table-rods thead th {
	background: transparent;
	color: var(--tt-text-strong);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
}

.ttracker-rods-page .table-rods tbody tr:nth-child(even) td {
	background: transparent;
}

.ttracker-rods-page .table-rods tbody tr:last-child td {
	border-bottom: 0;
}

.ttracker-rods-page .table-rods th:first-child,
.ttracker-rods-page .table-rods td:first-child {
	width: 34%;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--tt-text-strong);
}

.ttracker-rods-page .table-rods td:first-child {
	border-right: 1px solid var(--tt-border-soft);
}

.ttracker-rods-page .table-rods .answer {
	width: 22%;
	text-align: center;
	vertical-align: middle;
}

.ttracker-rods-page .table-rods .answer .ttracker-choice {
	justify-content: center;
}

.ttracker-rods-page .referencia {
	margin-top: 18px;
}

/* R-ODS: legend on dark background */
.ttracker-rods-page .ttracker-table-legend {
	color: var(--tt-text-muted);
}

@media (max-width: 959px) {
	.ttracker-rods-page .table-rods {
		font-size: 13px;
	}

	.ttracker-rods-page .table-rods th,
	.ttracker-rods-page .table-rods td {
		padding: 14px 12px;
	}

	.ttracker-rods-page .table-rods th:first-child,
	.ttracker-rods-page .table-rods td:first-child {
		font-size: 14px;
		border-right: 0;
	}
}

/* Karnofsky */
.ttracker-karnofsky-page p {
	margin: 0 0 28px;
}



.ttracker-karnofsky-page .table-karnofsky .kps-group-cell {
	width: 28%;
	background: var(--tt-accent-soft-2);
	color: var(--tt-bg-surface);
	font-weight: 700;
}

.ttracker-karnofsky-page .table-karnofsky .kps-score-cell {
	width: 11%;
	text-align: center;
	white-space: nowrap;
	color: var(--tt-bg-surface);
	font-size: 28px;
	line-height: 1;
	font-weight: 700;
}

@media (max-width: 959px) {
	.ttracker-karnofsky-page .table-karnofsky {
		font-size: 13px;
	}

	.ttracker-karnofsky-page .table-karnofsky th,
	.ttracker-karnofsky-page .table-karnofsky td {
		padding: 16px;
	}

	.ttracker-karnofsky-page .table-karnofsky .kps-score-cell {
		font-size: 24px;
	}
}

/* 10MWT */
.ttracker-10mwt-page p {
	margin: 0 0 28px;
}

.ttracker-10mwt-page h2 {
	margin: 40px 0 14px;
	color: var(--tt-text-strong);
	font-size: 28px;
	line-height: 1.2;
	font-weight: 700;
}

.ttracker-10mwt-page ul,
.ttracker-10mwt-page ol {
	margin: 0 0 28px;
	padding-left: 24px;
}

.ttracker-10mwt-page li {
	margin: 0;
	color: var(--tt-text-body);
	line-height: 1.8;
}

.ttracker-10mwt-page li + li {
	margin-top: 10px;
}



.ttracker-10mwt-page .ttracker-card-row {
	margin: 8px 0 36px;
}

.ttracker-10mwt-page .ttracker-card h4 {
	margin: 0;
	color: var(--tt-text-strong);
}

.ttracker-10mwt-page .ttracker-card .wpb_wrapper > :last-child {
	margin-bottom: 0;
}

.ttracker-10mwt-page .ttracker-card ul {
	margin: 18px 0 0;
	padding-left: 22px;
}

.ttracker-10mwt-page .ttracker-card li {
	color: var(--tt-text-body);
	line-height: 1.7;
}

.ttracker-10mwt-page .ttracker-card li + li {
	margin-top: 10px;
}

.ttracker-10mwt-page .table-10mwt-summary th:nth-child(1),
.ttracker-10mwt-page .table-10mwt-summary td:nth-child(1) {
	width: 20%;
}

.ttracker-10mwt-page .table-10mwt-summary th:nth-child(2),
.ttracker-10mwt-page .table-10mwt-summary td:nth-child(2) {
	width: 39%;
}

.ttracker-10mwt-page .table-10mwt-summary th:nth-child(3),
.ttracker-10mwt-page .table-10mwt-summary td:nth-child(3) {
	width: 41%;
}

.ttracker-10mwt-page .table-10mwt-summary .tenmwt-item-cell {
	background: var(--tt-accent-soft-2);
	color: var(--tt-bg-surface);
	font-size: 18px;
	line-height: 1.35;
	font-weight: 700;
}

@media (max-width: 959px) {
	.ttracker-10mwt-page h2 {
		font-size: 24px;
	}

	.ttracker-10mwt-page .table-10mwt-summary {
		font-size: 13px;
	}

	.ttracker-10mwt-page .table-10mwt-summary .tenmwt-item-cell::before {
		display: none;
	}

	.ttracker-10mwt-page .table-10mwt-summary .tenmwt-item-cell {
		font-size: 17px;
	}
}

/* 6MWT */
.ttracker-6mwt-page .table-6mwt-summary th:nth-child(1),
.ttracker-6mwt-page .table-6mwt-summary td:nth-child(1) {
	width: 22%;
}

.ttracker-6mwt-page .table-6mwt-summary th:nth-child(2),
.ttracker-6mwt-page .table-6mwt-summary td:nth-child(2) {
	width: 38%;
}

.ttracker-6mwt-page .table-6mwt-summary th:nth-child(3),
.ttracker-6mwt-page .table-6mwt-summary td:nth-child(3) {
	width: 40%;
}

/* Norfolk */
.ttracker-norfolk-page p {
	margin: 0 0 28px;
}


.ttracker-norfolk-page .ttracker-norfolk-instruction,
.ttracker-norfolk-page .ttracker-scale-legend {
	margin: 0 0 16px;
	color: var(--tt-text-body);
	font-size: 15px;
	line-height: 1.6;
}

.ttracker-norfolk-page .ttracker-scale-legend strong {
	color: var(--tt-text-strong);
}

.ttracker-norfolk-page .table-norfolk-wrap {
	margin: 0 0 28px;
	border: 1px solid var(--tt-border-soft);
	border-radius: 22px;
	background: linear-gradient(180deg, var(--tt-panel-from) 0%, var(--tt-panel-to) 100%);
	box-shadow: 0 24px 60px rgba(5, 16, 30, 0.18);
	overflow: hidden;
}

.ttracker-norfolk-page .table-norfolk-matrix-wrap {
	overflow: visible;
}

.ttracker-norfolk-page table.norfo2.table-norfolk {
	width: 100%;
	margin: 0;
	border: 0;
	border-radius: 0;
	border-collapse: collapse;
	background: transparent;
	overflow: visible;
	font-size: 14px;
	line-height: 1.6;
	color: var(--tt-text-on-light);
}

.ttracker-norfolk-page .table-norfolk th,
.ttracker-norfolk-page .table-norfolk td {
	padding: 18px 20px;
	border: 0;
	border-bottom: 1px solid var(--tt-border-rule);
	text-align: left;
	vertical-align: top;
}

.ttracker-norfolk-page .table-norfolk thead th {
	background: var(--tt-accent-soft);
	color: var(--tt-bg-surface);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
}

.ttracker-norfolk-page .table-norfolk tbody tr:nth-child(even) td {
	background: var(--tt-row-stripe);
}

.ttracker-norfolk-page .table-norfolk tbody tr:last-child td {
	border-bottom: 0;
}

.ttracker-norfolk-page .table-norfolk-matrix {
	table-layout: fixed;
}

.ttracker-norfolk-page .table-norfolk-matrix th,
.ttracker-norfolk-page .table-norfolk-matrix td {
	padding: 16px 14px;
}

.ttracker-norfolk-page .table-norfolk-matrix th:first-child,
.ttracker-norfolk-page .table-norfolk-matrix td:first-child {
	width: 32%;
	color: var(--tt-bg-surface);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
}

.ttracker-norfolk-page .table-norfolk-matrix th:not(:first-child),
.ttracker-norfolk-page .table-norfolk-matrix td:not(:first-child) {
	width: 13.6%;
}

.ttracker-norfolk-page .table-norfolk-matrix thead th:not(:first-child) {
	white-space: normal;
	word-break: break-word;
}

.ttracker-norfolk-page .table-norfolk-matrix select {
	min-height: 44px;
	padding: 8px 10px;
	font-size: 14px;
}

.ttracker-norfolk-page .table-norfolk-stack th:first-child,
.ttracker-norfolk-page .table-norfolk-stack td:first-child {
	width: 68%;
	color: var(--tt-bg-surface);
	font-weight: 600;
}

.ttracker-norfolk-page .table-norfolk-stack th:last-child,
.ttracker-norfolk-page .table-norfolk-stack td:last-child {
	width: 32%;
}

.ttracker-norfolk-page .referencia {
	margin-top: 12px;
}

@media (max-width: 1279px) {
	.ttracker-norfolk-page .table-norfolk-matrix th,
	.ttracker-norfolk-page .table-norfolk-matrix td {
		padding: 14px 10px;
	}

	.ttracker-norfolk-page .table-norfolk-matrix th:first-child,
	.ttracker-norfolk-page .table-norfolk-matrix td:first-child {
		font-size: 16px;
	}

	.ttracker-norfolk-page .table-norfolk-matrix thead th {
		font-size: 13px;
	}

	.ttracker-norfolk-page .table-norfolk-matrix select {
		min-height: 42px;
		padding: 8px;
		font-size: 13px;
	}
}

@media (max-width: 959px) {
	.ttracker-norfolk-page .table-norfolk {
		font-size: 13px;
	}

	.ttracker-norfolk-page .table-norfolk th,
	.ttracker-norfolk-page .table-norfolk td {
		padding: 14px 12px;
	}

	.ttracker-norfolk-page .table-norfolk-matrix th:first-child,
	.ttracker-norfolk-page .table-norfolk-matrix td:first-child {
		font-size: 16px;
	}

	.ttracker-norfolk-page .table-norfolk-matrix thead {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.ttracker-norfolk-page .table-norfolk-matrix,
	.ttracker-norfolk-page .table-norfolk-matrix tbody,
	.ttracker-norfolk-page .table-norfolk-matrix tr,
	.ttracker-norfolk-page .table-norfolk-matrix td {
		display: block;
		width: 100%;
	}

	.ttracker-norfolk-page .table-norfolk-matrix tbody {
		padding: 12px;
	}

	.ttracker-norfolk-page .table-norfolk-matrix tbody tr {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px 12px;
		margin-bottom: 14px;
		border: 1px solid var(--tt-border-rule);
		border-radius: 18px;
		background: rgba(255, 255, 255, 0.6);
		overflow: hidden;
	}

	.ttracker-norfolk-page .table-norfolk-matrix tbody tr:last-child {
		margin-bottom: 0;
	}

	.ttracker-norfolk-page .table-norfolk-matrix tbody td {
		padding: 12px 14px;
		border: 0;
		background: transparent !important;
	}

	.ttracker-norfolk-page .table-norfolk-matrix tbody td:first-child {
		grid-column: 1 / -1;
		padding: 14px 16px;
		border-bottom: 1px solid var(--tt-border-rule);
		background: var(--tt-accent-soft-2) !important;
	}

	.ttracker-norfolk-page .table-norfolk-matrix tbody td:nth-child(6) {
		grid-column: 1 / -1;
	}

	.ttracker-norfolk-page .table-norfolk-matrix tbody td:not(:first-child)::before {
		display: block;
		margin-bottom: 6px;
		color: var(--tt-bg-surface);
		font-size: 11px;
		font-weight: 700;
		line-height: 1.2;
		text-transform: uppercase;
		letter-spacing: 0.05em;
	}

	.ttracker-norfolk-page .table-norfolk-matrix tbody td:nth-child(2)::before {
		content: "Pés";
	}

	.ttracker-norfolk-page .table-norfolk-matrix tbody td:nth-child(3)::before {
		content: "Pernas";
	}

	.ttracker-norfolk-page .table-norfolk-matrix tbody td:nth-child(4)::before {
		content: "Mãos";
	}

	.ttracker-norfolk-page .table-norfolk-matrix tbody td:nth-child(5)::before {
		content: "Braços";
	}

	.ttracker-norfolk-page .table-norfolk-matrix tbody td:nth-child(6)::before {
		content: "Nenhum";
	}

	.ttracker-norfolk-page .table-norfolk-matrix select {
		min-height: 44px;
		font-size: 14px;
	}

	.ttracker-norfolk-page .table-norfolk-stack thead {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.ttracker-norfolk-page .table-norfolk-stack,
	.ttracker-norfolk-page .table-norfolk-stack tbody,
	.ttracker-norfolk-page .table-norfolk-stack tr,
	.ttracker-norfolk-page .table-norfolk-stack td {
		display: block;
		width: 100%;
	}

	.ttracker-norfolk-page .table-norfolk-stack tbody {
		padding: 12px;
	}

	.ttracker-norfolk-page .table-norfolk-stack tbody tr {
		margin-bottom: 14px;
		border: 1px solid var(--tt-border-rule);
		border-radius: 18px;
		background: rgba(255, 255, 255, 0.6);
		overflow: hidden;
	}

	.ttracker-norfolk-page .table-norfolk-stack tbody tr:last-child {
		margin-bottom: 0;
	}

	.ttracker-norfolk-page .table-norfolk-stack tbody td {
		padding: 12px 14px;
		border: 0;
		background: transparent !important;
	}

	.ttracker-norfolk-page .table-norfolk-stack tbody td:first-child {
		padding: 14px 16px;
		border-bottom: 1px solid var(--tt-border-rule);
		background: var(--tt-accent-soft-2) !important;
		font-size: 17px;
		line-height: 1.45;
	}

	.ttracker-norfolk-page .table-norfolk-stack tbody td:last-child {
		padding-top: 14px;
	}

	.ttracker-norfolk-page .table-norfolk-stack select {
		min-height: 44px;
		font-size: 14px;
	}
}

/* COMPASS-31 */
.ttracker-compass-page p {
	margin: 0 0 28px;
}

.ttracker-compass-page .referencia {
	margin: 12px 0 24px;
}

.ttracker-compass-page div.compass31 {
	margin: 18px 0 36px;
	border: 1px solid var(--tt-border-soft);
	border-radius: 22px;
	background: var(--tt-surface-soft);
	overflow: hidden;
}

.ttracker-compass-page div.compass31 > div:first-child .tr,
.ttracker-compass-page div.compass31 > div:first-child .child-q {
	border-top: 0;
}

.ttracker-compass-page div.compass31 .tr,
.ttracker-compass-page div.compass31 .child-q {
	display: flex;
	align-items: stretch;
	border-top: 1px solid var(--tt-border-soft);
}

.ttracker-compass-page div.compass31 .td,
.ttracker-compass-page div.compass31 .tdfull,
.ttracker-compass-page div.compass31 .line-check,
.ttracker-compass-page div.compass31 .multi-check {
	padding: 18px 20px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--tt-text-body);
}

.ttracker-compass-page div.compass31 .td,
.ttracker-compass-page div.compass31 .tdfull {
	flex: 1 1 0;
}

.ttracker-compass-page div.compass31 .td:first-child,
.ttracker-compass-page div.compass31 .tdfull {
	color: var(--tt-text-strong);
	font-weight: 600;
}

.ttracker-compass-page div.compass31 .td:first-child {
	border-right: 1px solid var(--tt-border-soft);
}

.ttracker-compass-page div.compass31 .td:last-child {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	min-width: 260px;
}

.ttracker-compass-page div.compass31 .child-q.d-true {
	display: flex !important;
	background: rgba(12, 180, 206, 0.04);
}


.ttracker-compass-page div.compass31 .line-check,
.ttracker-compass-page div.compass31 .multi-check {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	font-size: 14px;
	font-weight: 400;
}

.ttracker-compass-page div.compass31 input[type="radio"],
.ttracker-compass-page div.compass31 input[type="checkbox"] {
	position: absolute;
	opacity: 0;
}

.ttracker-compass-page div.compass31 input[type="radio"] + label,
.ttracker-compass-page div.compass31 input[type="checkbox"] + label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 48px;
	padding: 8px 12px 8px 0;
	margin: 0;
	cursor: pointer;
	color: var(--tt-text-body);
}

.ttracker-compass-page div.compass31 input[type="radio"] + label::before,
.ttracker-compass-page div.compass31 input[type="checkbox"] + label::before {
	content: "";
	width: 28px;
	height: 28px;
	border: 2px solid rgba(255, 255, 255, 0.35);
	background: transparent;
	flex: 0 0 28px;
}

.ttracker-compass-page div.compass31 input[type="radio"] + label::before {
	border-radius: 999px;
}

.ttracker-compass-page div.compass31 input[type="checkbox"] + label::before {
	border-radius: 4px;
}

.ttracker-compass-page div.compass31 input[type="radio"]:checked + label::before,
.ttracker-compass-page div.compass31 input[type="checkbox"]:checked + label::before {
	border-color: var(--tt-accent);
	background: var(--tt-accent);
	box-shadow: inset 0 0 0 4px rgba(18, 61, 103, 0.95);
}

@media (max-width: 959px) {
	.ttracker-compass-page div.compass31 .tr,
	.ttracker-compass-page div.compass31 .child-q,
	.ttracker-compass-page div.compass31 .child-q.d-true {
		display: block !important;
	}

	.ttracker-compass-page div.compass31 .td:first-child {
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	}

	.ttracker-compass-page div.compass31 .td:last-child {
		min-width: 0;
	}

	.ttracker-compass-page div.compass31 .td,
	.ttracker-compass-page div.compass31 .tdfull,
	.ttracker-compass-page div.compass31 .line-check,
	.ttracker-compass-page div.compass31 .multi-check {
		padding: 16px;
	}

	.ttracker-compass-page div.compass31 .line-check,
	.ttracker-compass-page div.compass31 .multi-check {
		gap: 10px 12px;
	}
}

/* COMPASS-31 conditional question checkbox alignment */
.child-q.child-q5.d-true .multi-check input {
	margin-top: -4px;
	margin-right: 6px;
}

/* COMPASS-31 line-check label font size */
.line-check label {
	font-size: 14px;
}

/* Tablet: COMPASS conditional questions flex layout */
@media (max-width: 1024px) {
	.child-q.d-true {
		display: flex !important;
		flex-wrap: wrap;
	}
}

/* ── IMC ─────────────────────────────────────────────── */

.ttracker-imc-calculator {
	border: 1px solid var(--tt-border-soft);
	border-radius: 20px;
	background: var(--tt-surface-soft);
	padding: 32px;
	margin: 32px 0 40px;
}

.ttracker-imc-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 24px;
}

/* Neutralize wpautop <p> and <br> wrappers inside form/calc containers */
.ttracker-imc-calculator p,
.ttracker-calc-results p,
.ttracker-calc-actions p,
.ttracker-form-panel p:not([class]) {
	display: contents;
}

.ttracker-imc-calculator br,
.ttracker-calc-results br,
.ttracker-calc-actions br,
.ttracker-form-panel br {
	display: none;
}

.ttracker-imc-field {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
}


.ttracker-imc-field .ttracker-imc-unit {
	position: absolute;
	right: 14px;
	bottom: 14px;
	color: var(--tt-text-muted);
	font-size: 13px;
	pointer-events: none;
}

#imcPeso,
#imcAltura {
	padding-right: 40px;
}

.ttracker-imc-unit-group {
	display: flex;
	gap: 8px;
}

.ttracker-imc-unit-group input[type="number"],
.ttracker-imc-unit-group input[type="text"] {
	flex: 1;
}

.ttracker-imc-unit-group select {
	flex: 0 0 90px;
	width: auto;
	min-width: auto;
	max-width: none;
}

.ttracker-imc-results {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin-top: 28px;
}

.ttracker-imc-classification {
	color: var(--tt-text-strong);
	font-size: 16px;
	font-weight: 600;
	margin-top: 16px;
	min-height: 24px;
}

/* IMC classification table */
.table-imc-classification th:first-child,
.table-imc-classification td:first-child {
	width: 50%;
}

@media (max-width: 959px) {
	.ttracker-imc-grid {
		grid-template-columns: 1fr;
	}

	.ttracker-imc-results {
		grid-template-columns: 1fr;
	}

	.ttracker-imc-calculator {
		padding: 20px;
	}
}


/* ── Generic calculator results & actions (COMPASS, RODS, Norfolk, NIS) ── */

.ttracker-calc-results {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	margin-top: 28px;
}

.ttracker-calc-results-4col {
	grid-template-columns: repeat(4, 1fr);
}

.ttracker-calc-result-box,
.ttracker-imc-result-box {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 20px;
	border-radius: 12px;
	background: var(--tt-accent-soft);
	border: 1px solid var(--tt-border-soft);
}

.ttracker-calc-result-box .result-label,
.ttracker-imc-result-box .result-label {
	color: var(--tt-text-muted);
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.ttracker-calc-result-box .result-formula,
.ttracker-imc-result-box .result-formula {
	color: var(--tt-text-muted);
	font-size: 12px;
	font-style: italic;
}

.ttracker-calc-result-box .result-value,
.ttracker-imc-result-box .result-value {
	background: transparent;
	border: none;
	color: var(--tt-accent);
	-webkit-text-fill-color: var(--tt-accent);
	font-size: 28px;
	font-weight: 700;
	padding: 0;
	width: 100%;
}

.ttracker-calc-result-box .result-value::placeholder,
.ttracker-imc-result-box .result-value::placeholder {
	color: var(--tt-text-muted);
	-webkit-text-fill-color: var(--tt-text-muted);
	opacity: 0.5;
}

.ttracker-calc-result-box .result-unit,
.ttracker-imc-result-box .result-unit {
	color: var(--tt-text-muted);
	font-size: 13px;
}

.ttracker-calc-actions {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 16px;
	margin-top: 20px;
	flex-wrap: wrap;
}

/* Calcular button — layout override inside calc-actions */
.ttracker-calc-actions button.bttn-nis {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-width: 0;
	margin: 0;
}

.ttracker-calc-save-hint {
	flex-basis: 100%;
	margin: 12px 0 0;
	color: var(--tt-text-muted);
	font-size: 14px;
	line-height: 1.6;
}

.ttracker-calc-save-hint a {
	color: var(--tt-accent);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.ttracker-calc-save-hint a:hover,
.ttracker-calc-save-hint a:focus {
	color: var(--tt-text-strong);
}

/* Limpar resultados deste instrumento — botão tertiário, discreto, na ponta direita
   das ações da página. Usa cor muted, vira tom de aviso no hover/focus. */
.ttracker-clear-instrument {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-left: auto;
	padding: 8px 12px;
	border: 1px solid transparent;
	border-radius: 8px;
	background: transparent;
	color: var(--tt-text-muted);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	cursor: pointer;
	transition: color .15s ease, border-color .15s ease, background-color .15s ease;
}
.ttracker-clear-instrument:hover,
.ttracker-clear-instrument:focus-visible {
	color: #ff8a8a;
	border-color: rgba(255, 138, 138, 0.4);
	background-color: rgba(255, 138, 138, 0.08);
	outline: none;
}
.ttracker-clear-instrument-icon {
	font-size: 14px;
	line-height: 1;
}

/* Botão "Limpar" no header de cada card em /resultados/ — versão compacta. */
.ttracker-resultados-header-actions {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.ttracker-resultados-clear-instrument {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 10px;
	border: 1px solid transparent;
	border-radius: 6px;
	background: transparent;
	color: var(--tt-text-muted);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	cursor: pointer;
	transition: color .15s ease, border-color .15s ease, background-color .15s ease;
}
.ttracker-resultados-clear-instrument:hover,
.ttracker-resultados-clear-instrument:focus-visible {
	color: #ff8a8a;
	border-color: rgba(255, 138, 138, 0.4);
	background-color: rgba(255, 138, 138, 0.08);
	outline: none;
}
/* SVG icon (injetado via [data-icon="trash"]) dentro do botão Limpar. */
.ttracker-resultados-clear-instrument .ttracker-icon,
.ttracker-resultados-clear-instrument svg {
	display: inline-flex;
	width: 16px;
	height: 16px;
}
.ttracker-resultados-clear-instrument .ttracker-icon svg {
	width: 100%;
	height: 100%;
}

/* Inline confirm — substituí o botão original temporariamente com um prompt curto. */
.ttracker-inline-confirm {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	border: 1px solid rgba(255, 138, 138, 0.4);
	border-radius: 8px;
	background-color: rgba(255, 138, 138, 0.08);
	color: var(--tt-text-strong);
	font-size: 13px;
	line-height: 1.3;
	flex-wrap: wrap;
}
.ttracker-inline-confirm-msg {
	color: var(--tt-text-body);
}
.ttracker-inline-confirm-btn {
	display: inline-flex;
	align-items: center;
	padding: 4px 12px;
	border-radius: 6px;
	border: 1px solid transparent;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	line-height: 1.2;
	transition: background-color .12s ease, border-color .12s ease, color .12s ease;
}
.ttracker-inline-confirm-btn--confirm {
	background-color: #b94545;
	color: #fff;
	border-color: #b94545;
}
.ttracker-inline-confirm-btn--confirm:hover,
.ttracker-inline-confirm-btn--confirm:focus-visible {
	background-color: #d65a5a;
	border-color: #d65a5a;
	outline: none;
}
.ttracker-inline-confirm-btn--cancel {
	background-color: transparent;
	color: var(--tt-text-body);
	border-color: var(--tt-text-muted);
}
.ttracker-inline-confirm-btn--cancel:hover,
.ttracker-inline-confirm-btn--cancel:focus-visible {
	color: var(--tt-text-strong);
	border-color: var(--tt-text-strong);
	outline: none;
}

/* ============================================================================
   Tabela de Histórico de Avaliações (Fase 1 — multi-avaliação)
   ============================================================================ */

.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;
}

.ttracker-assessment-history {
	margin-top: 32px;
	padding: 24px;
	background: var(--tt-bg-surface);
	border: 1px solid var(--tt-border-soft, rgba(255, 255, 255, 0.08));
	border-radius: 14px;
}

.ttracker-history-title {
	font-size: 18px;
	font-weight: 600;
	color: var(--tt-text-strong);
	margin: 0 0 12px;
}

.ttracker-history-status {
	min-height: 1.4em;
	margin-bottom: 6px;
	font-size: 13px;
	color: var(--tt-accent-sky);
}

.ttracker-history-header {
	margin-bottom: 14px;
}

.ttracker-history-hint {
	margin: 4px 0 0;
	color: var(--tt-text-body);
	font-size: 13px;
	line-height: 1.45;
}

/* Override .ttracker-table-wrap visuals when our history table is inside.
   The :has() selector wins by specificity over the base .ttracker-table-wrap
   rule, so no !important needed. */
.ttracker-table-wrap:has(.ttracker-history-table) {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	margin: 0;
}

/* History table base — colors set on cell selectors (thead th / tbody td) below
   so delta tone classes (which target td) win without !important. */
.ttracker-history-table {
	width: 100%;
	font-size: 14px;
	border-collapse: collapse;
	table-layout: auto;
	background: transparent;
}

.ttracker-history-table thead th {
	font-weight: 600;
	color: var(--tt-text-strong);
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 10px 12px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
	text-align: left;
	background-color: rgba(255, 255, 255, 0.03);
}

.ttracker-history-table tbody td {
	padding: 12px 12px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.10);
	color: var(--tt-text-strong);
	vertical-align: middle;
}

.ttracker-history-table tbody tr:last-child td {
	border-bottom: 0;
}

/* Linha "Atual" — destaque visual (a primeira linha sempre é a em edição). */
.ttracker-history-table .ttracker-history-row--current td {
	background-color: rgba(0, 153, 204, 0.10);
	border-bottom-color: rgba(0, 153, 204, 0.35);
}
.ttracker-history-table .ttracker-history-row--current:hover td {
	background-color: rgba(0, 153, 204, 0.14);
}

.ttracker-history-current-badge {
	display: inline-block;
	padding: 2px 8px;
	margin-right: 8px;
	border-radius: 999px;
	background-color: var(--tt-accent-sky);
	color: var(--tt-bg-deep);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	vertical-align: middle;
}

.ttracker-history-cell-date {
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	color: var(--tt-text-strong);
}

.ttracker-history-cell-value {
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	color: var(--tt-text-strong);
}

.ttracker-history-cell-delta {
	font-variant-numeric: tabular-nums;
	font-weight: 500;
}

/* Multi-item delta cell — used when instrument.showAllDeltas exibe um delta
   por item (ex: PND/FAP mostra "FAP: ..." e "PND: ..." na mesma célula). */
.ttracker-history-cell-delta--multi {
	white-space: pre-line;
	font-size: 12px;
	line-height: 1.45;
	text-align: left;
}

/* Modo-2: readonly text mirror of a calculator output (e.g. #imcResult).
   Visual parity with editable cells but no border/background — value floats
   in the cell, tabular-nums for numeric scores. cursor: not-allowed signals
   "this is read here; edit in the form above". */
.ttracker-history-table tbody td[data-mirror-from] {
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	cursor: not-allowed;
}

/* Delta cells use the default table text color — neutral by request. The tone
   classes (--up/--down/--zero/--diff/--same) are still emitted by the JS so
   the schema stays intact, but no color rules apply here. */

.ttracker-history-cell-obs {
	color: var(--tt-text-body);
	font-size: 13px;
	max-width: 280px;
	line-height: 1.4;
}

/* Inputs embutidos em qualquer linha da tabela (atual ou histórico).
   Por padrão sutis (transparente em repouso, borda só no hover/focus) — pattern
   spreadsheet/Notion. A linha atual já tem o background tinted via .ttracker-history-row--current,
   então ali os inputs ficam mais visíveis naturalmente. */
.ttracker-history-input {
	width: 100%;
	padding: 6px 10px;
	background-color: transparent;
	border: 1px solid transparent;
	border-radius: 6px;
	color: var(--tt-text-strong);
	font-size: 14px;
	font-family: inherit;
	box-sizing: border-box;
	transition: background-color .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.ttracker-history-input:hover {
	background-color: rgba(255, 255, 255, 0.04);
	border-color: rgba(255, 255, 255, 0.14);
}
.ttracker-history-input:focus {
	background-color: rgba(0, 153, 204, 0.10);
	border-color: var(--tt-accent-sky);
	outline: none;
	box-shadow: 0 0 0 2px rgba(0, 153, 204, 0.25);
}
/* Linha atual — inputs mais visíveis em repouso (background tinted contrasta menos). */
.ttracker-history-row--current .ttracker-history-input {
	background-color: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.18);
}
.ttracker-history-input--date,
.ttracker-history-input--number {
	font-variant-numeric: tabular-nums;
}
/* <select> nas células de valor (categóricos). Mesmo visual sutil dos demais inputs.
   Scopado em .ttracker-assessment-history pra ganhar da regra legada
   `.ttracker-calculator-page select` (linha ~1748) que pintava o texto em azul
   escuro e matava o appearance/background-image. */
.ttracker-assessment-history .ttracker-history-input--select,
.ttracker-history-table .ttracker-history-input--select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-color: transparent;
	background-image:
		linear-gradient(45deg, transparent 50%, var(--tt-text-body) 50%),
		linear-gradient(135deg, var(--tt-text-body) 50%, transparent 50%) !important;
	background-position: calc(100% - 16px) 50%, calc(100% - 11px) 50%;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	border: 1px solid transparent;
	border-radius: 6px;
	padding: 6px 28px 6px 10px;
	cursor: pointer;
	min-height: 0;
	font-size: 14px;
	font-weight: 400;
	color: var(--tt-text-strong);
	-webkit-text-fill-color: var(--tt-text-strong);
	box-shadow: none;
	transition: background-color .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.ttracker-assessment-history .ttracker-history-row--current .ttracker-history-input--select,
.ttracker-history-table .ttracker-history-row--current .ttracker-history-input--select {
	background-color: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.18);
}
.ttracker-assessment-history .ttracker-history-input--select:hover,
.ttracker-history-table .ttracker-history-input--select:hover {
	background-color: rgba(255, 255, 255, 0.04);
	border-color: rgba(255, 255, 255, 0.14);
}
.ttracker-assessment-history .ttracker-history-input--select:focus,
.ttracker-history-table .ttracker-history-input--select:focus {
	background-color: rgba(0, 153, 204, 0.10);
	border-color: var(--tt-accent-sky);
	outline: none;
	box-shadow: 0 0 0 2px rgba(0, 153, 204, 0.25);
}
.ttracker-assessment-history .ttracker-history-input--select option,
.ttracker-history-table .ttracker-history-input--select option {
	background-color: var(--tt-bg-surface);
	color: var(--tt-text-strong);
}
.ttracker-history-input--date {
	min-width: 130px;
}
/* Date picker icon (Chromium/Safari) — invert para visibilidade no tema escuro. */
.ttracker-history-input--date::-webkit-calendar-picker-indicator {
	filter: invert(0.7);
	cursor: pointer;
	opacity: 0.85;
}
.ttracker-history-input--date::-webkit-calendar-picker-indicator:hover {
	opacity: 1;
}
.ttracker-history-input--number {
	min-width: 90px;
}

/* Inputs computados/readonly em history rows (ex: NIS Total = soma das 3
   sub-pontuações). Visualmente distinto pra sinalizar "não editável" sem
   parecer disabled (cursor padrão, contraste menor). */
.ttracker-history-input--readonly {
	background: rgba(255,255,255,.04);
	color: var(--tt-text-muted);
	font-weight: 600;
	cursor: not-allowed;
	font-variant-numeric: tabular-nums;
}
.ttracker-history-input--readonly:focus {
	outline: none;
	box-shadow: none;
}

/* Bloco de Observações da avaliação atual — fora da tabela, full-width. */
.ttracker-history-obs-block {
	margin-top: 18px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.ttracker-history-obs-label {
	font-size: 12px;
	font-weight: 600;
	color: var(--tt-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.ttracker-history-obs-textarea {
	width: 100%;
	min-height: 56px;
	padding: 10px 12px;
	background-color: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 8px;
	color: var(--tt-text-strong);
	font-size: 14px;
	font-family: inherit;
	line-height: 1.5;
	resize: vertical;
	box-sizing: border-box;
	transition: background-color .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.ttracker-history-obs-textarea::placeholder {
	color: var(--tt-text-muted);
	font-style: italic;
}
.ttracker-history-obs-textarea:hover {
	background-color: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.20);
}
.ttracker-history-obs-textarea:focus {
	background-color: rgba(0, 153, 204, 0.06);
	border-color: var(--tt-accent-sky);
	outline: none;
	box-shadow: 0 0 0 2px rgba(0, 153, 204, 0.20);
}

.ttracker-history-actions-col {
	width: 100px;
	text-align: right;
}

.ttracker-history-cell-actions {
	text-align: right;
	white-space: nowrap;
}

.ttracker-history-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	margin-left: 4px;
	background: transparent;
	border: 1px solid transparent;
	border-radius: 6px;
	cursor: pointer;
	color: var(--tt-text-muted);
	transition: color .15s ease, border-color .15s ease, background-color .15s ease;
}

/* SVG icon sizing inside any action / inline-icon container. */
.ttracker-history-action .ttracker-icon,
.ttracker-history-action svg {
	display: inline-flex;
	width: 18px;
	height: 18px;
}
.ttracker-history-action .ttracker-icon svg {
	width: 100%;
	height: 100%;
}

.ttracker-history-action:hover,
.ttracker-history-action:focus-visible {
	color: var(--tt-text-strong);
	border-color: var(--tt-text-muted);
	background-color: rgba(255, 255, 255, 0.04);
	outline: none;
}

.ttracker-history-action--remove:hover,
.ttracker-history-action--remove:focus-visible {
	color: #ff8a8a;
	border-color: rgba(255, 138, 138, 0.4);
	background-color: rgba(255, 138, 138, 0.08);
}

.ttracker-history-empty {
	text-align: center;
	padding: 24px 12px !important;
	color: var(--tt-text-muted);
	font-style: italic;
	font-size: 14px;
}

/* Botão "Adicionar avaliação" — SVG + label, dashed border até hover. */
.ttracker-history-add {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
	padding: 9px 16px 9px 12px;
	border: 1px dashed var(--tt-text-muted);
	border-radius: 10px;
	background: transparent;
	color: var(--tt-text-body);
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: color .15s ease, border-color .15s ease, background-color .15s ease;
}
.ttracker-history-add .ttracker-icon,
.ttracker-history-add svg {
	display: inline-flex;
	width: 18px;
	height: 18px;
}
.ttracker-history-add .ttracker-icon svg {
	width: 100%;
	height: 100%;
}
.ttracker-history-add:hover,
.ttracker-history-add:focus-visible {
	color: var(--tt-accent-sky);
	border-color: var(--tt-accent-sky);
	border-style: solid;
	background-color: rgba(0, 153, 204, 0.06);
	outline: none;
}

/* Mobile: tabela colapsa em cards stack */
@media (max-width: 720px) {
	.ttracker-history-table thead {
		display: none;
	}
	.ttracker-history-table,
	.ttracker-history-table tbody,
	.ttracker-history-table tr,
	.ttracker-history-table td {
		display: block;
		width: 100%;
	}

	/* Cards visuais por row — separação clara entre avaliações. */
	.ttracker-history-table tbody tr {
		margin: 0 0 14px;
		padding: 14px 16px;
		border-radius: 12px;
		border: 1px solid var(--tt-border-soft, rgba(255, 255, 255, 0.08));
		background: rgba(255, 255, 255, 0.02);
	}
	.ttracker-history-table tbody tr.ttracker-history-row--current {
		background: rgba(0, 153, 204, 0.08);
		border-color: rgba(0, 153, 204, 0.20);
	}

	.ttracker-history-table tbody td {
		padding: 8px 0;
		border: 0;
	}

	/* Mobile: label da coluna acima do valor. data-label vem do JS
	   (ttrackerSyncHistoryTableDataLabels) que lê o textContent dos <th>. */
	.ttracker-history-table tbody td[data-label]::before {
		content: attr(data-label);
		display: block;
		margin: 0 0 4px;
		font-size: 11px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		color: var(--tt-text-muted);
	}
	/* Cell de Ações não precisa de label (badge "Atual" + lixeira são auto-explicativos). */
	.ttracker-history-cell-actions[data-label]::before {
		display: none !important;
	}

	.ttracker-history-cell-actions {
		text-align: left;
		padding-top: 8px !important;
	}
	.ttracker-history-action {
		margin-left: 0;
		margin-right: 4px;
	}

	/* Tabela 1 do PND/FAP (Coutinho/Yamamoto) — vira cards verticais por estágio. */
	.ttracker-pnd-fap-page .table-pnd-fap thead {
		display: none;
	}
	.ttracker-pnd-fap-page .table-pnd-fap,
	.ttracker-pnd-fap-page .table-pnd-fap tbody,
	.ttracker-pnd-fap-page .table-pnd-fap tr,
	.ttracker-pnd-fap-page .table-pnd-fap td {
		display: block;
		width: 100% !important;
	}
	.ttracker-pnd-fap-page .table-pnd-fap tbody tr {
		margin: 0 0 14px;
		padding: 14px 16px;
		border-radius: 12px;
		border: 1px solid var(--tt-border-soft);
		background: rgba(255, 255, 255, 0.02);
	}
	.ttracker-pnd-fap-page .table-pnd-fap td {
		padding: 6px 0 !important;
		border: 0 !important;
	}
	.ttracker-pnd-fap-page .table-pnd-fap td[data-label]::before {
		content: attr(data-label);
		display: block;
		margin: 0 0 4px;
		font-size: 11px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		color: var(--tt-text-muted);
	}
	.ttracker-pnd-fap-page .table-pnd-fap .pnd-note-row {
		margin-top: 0;
		padding: 10px 14px !important;
		background: transparent !important;
		border: 0 !important;
		text-align: center;
		font-style: italic;
		font-size: 12px;
		color: var(--tt-text-muted);
	}
}

/* Print button — secondary style (transparent + white border) */
[class*="ttracker-calc-print"],
[class*="ttracker-imc-print"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-width: 0;
	margin: 0;
	padding: 12px 18px;
	border: 1px solid var(--tt-text-strong);
	border-radius: 10px;
	background-color: transparent;
	color: var(--tt-text-strong);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}

[class*="ttracker-calc-print"]:hover,
[class*="ttracker-imc-print"]:hover {
	background-color: rgba(255, 255, 255, 0.1);
	color: var(--tt-text-strong);
	text-decoration: none;
}

@media (max-width: 959px) {
	.ttracker-calc-results-4col {
		grid-template-columns: 1fr 1fr;
	}

	.ttracker-calc-result-box .result-value,
	.ttracker-imc-result-box .result-value {
		font-size: 24px;
	}

	.ttracker-calc-actions,
	.ttracker-imc-actions {
		margin-top: 16px;
	}

	[class*="ttracker-calc-print"],
	[class*="ttracker-imc-print"] {
		width: 100% !important;
	}

	.ttracker-calculator-page button.bttn-nis {
		width: 100% !important;
	}
}

@media (max-width: 479px) {
	.ttracker-calc-results-4col {
		grid-template-columns: 1fr;
	}
}

/* ─── Common calc field group (NYHA / EQ-5D / KCCQ) ─── */
.ttracker-calc-field-group {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 12px;
}
.ttracker-calc-field-group label,
.ttracker-imc-field label {
	color: var(--tt-text-muted);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.02em;
}
.ttracker-calc-date-input,
.ttracker-calc-obs,
.ttracker-calc-number-input,
.ttracker-assessment-panel select {
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 10px;
	background-color: rgba(255, 255, 255, 0.05);
	color: var(--tt-text-strong);
	font-size: 15px;
	line-height: 1.4;
}
.ttracker-calc-date-input:focus,
.ttracker-calc-obs:focus,
.ttracker-calc-number-input:focus,
.ttracker-assessment-panel select:focus {
	border-color: var(--tt-accent);
	outline: none;
}
.ttracker-calc-date-input::placeholder,
.ttracker-calc-obs::placeholder,
.ttracker-calc-number-input::placeholder {
	color: var(--tt-text-muted);
	opacity: 1;
}
.ttracker-assessment-panel select {
	color: var(--tt-text-strong);
	-webkit-text-fill-color: var(--tt-text-strong);
	color-scheme: dark;
}
.ttracker-calc-date-input {
	max-width: 220px;
	color-scheme: dark;
}
.ttracker-calc-date-input::-webkit-calendar-picker-indicator {
	filter: invert(0.7);
	cursor: pointer;
}
.ttracker-calc-obs {
	min-height: auto;
	resize: vertical;
}
.ttracker-calc-number-input {
	max-width: 160px;
}
.ttracker-field-hint {
	font-size: 13px;
	color: var(--tt-text-muted);
	margin-top: 4px;
}

/* ─── Shared form panel ─── */
.ttracker-form-panel {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--tt-border-soft);
	border-radius: 14px;
	padding: 24px;
	margin-top: 8px;
}

/* ─── NYHA ─── */
.table-nyha-ref {
	table-layout: fixed;
}
.table-nyha-ref th:first-child,
.nyha-class-cell {
	width: 20%;
}
.ttracker-nyha-form {
	/* card styling now from .ttracker-form-panel */
}
.ttracker-nyha-options {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.ttracker-nyha-option {
	display: flex;
}
.ttracker-nyha-option-label {
	font-size: 14px;
	color: var(--tt-text-body);
	line-height: 1.4;
}

/* ─── Diurético ─── */
.ttracker-diuretico-options {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.ttracker-diuretico-option {
	display: flex;
}
.ttracker-diuretico-option-label {
	font-size: 14px;
	color: var(--tt-text-body);
	line-height: 1.4;
}

/* ─── EQ-5D ─── */
.ttracker-eq5d-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.ttracker-eq5d-dimension {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--tt-border-soft);
	border-radius: 12px;
	padding: 16px 20px;
}
.ttracker-eq5d-dim-title {
	margin: 0 0 12px;
	font-size: 13px;
	color: var(--tt-text-muted);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.ttracker-eq5d-option {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 0;
	cursor: pointer;
}
.ttracker-eq5d-vas-section {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--tt-border-soft);
	border-radius: 12px;
	padding: 16px 20px;
}
.ttracker-assessment-panel .ttracker-eq5d-vas-section {
	flex: 1;
}
.ttracker-eq5d-vas-desc {
	font-size: 14px;
	color: var(--tt-text-body);
	margin-bottom: 12px;
}
.ttracker-eq5d-vas-wrap {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 8px;
}
.ttracker-eq5d-vas-slider {
	flex: 1;
	height: 10px;
	accent-color: var(--tt-accent);
	cursor: pointer;
	-webkit-appearance: auto;
	appearance: auto;
}
.ttracker-eq5d-vas-slider:focus-visible {
	outline: 2px solid var(--tt-accent);
	outline-offset: 4px;
	border-radius: 4px;
}
@media (max-width: 959px) {
	.ttracker-eq5d-vas-slider {
		height: 16px;
	}
}
.ttracker-eq5d-vas-value {
	min-width: 52px;
	font-size: 28px;
	font-weight: 700;
	color: var(--tt-accent);
	text-align: center;
}
.ttracker-eq5d-vas-labels {
	display: flex;
	justify-content: space-between;
	font-size: 12px;
	color: var(--tt-text-muted);
	padding: 0 2px;
}

/* ─── Shared assessment comparison layout ─── */
.ttracker-assessment-compare,
.ttracker-kccq-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
	gap: 18px 24px;
	align-items: stretch;
}

/* When the wrapper contains the new history-table layout (Fase 1+),
   collapse the 2-column grid so the table uses the full width. */
.ttracker-assessment-compare:has(.ttracker-history-table) {
	display: block;
}
/* Fallback: when there's no --previous panel either (e.g. NT-proBNP after
   the migration), single-column layout. */
.ttracker-assessment-compare:not(:has(.ttracker-assessment-panel--previous)):not(:has(.ttracker-history-table)) {
	grid-template-columns: minmax(0, 1fr);
}
.ttracker-assessment-compare:not(:has(.ttracker-assessment-panel--previous)) .ttracker-assessment-divider {
	display: none;
}
.ttracker-assessment-panel,
.ttracker-kccq-panel {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--tt-border-soft);
	border-radius: 12px;
	padding: 18px 20px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.ttracker-assessment-panel-title,
.ttracker-kccq-panel-title {
	margin: 0;
	font-size: 13px;
	color: var(--tt-text-muted);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.ttracker-assessment-panel .ttracker-calc-field-group,
.ttracker-kccq-panel .ttracker-calc-field-group {
	margin-top: 0;
}
.ttracker-assessment-divider,
.ttracker-kccq-divider {
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0) 0%,
		var(--tt-border-rule) 16%,
		var(--tt-border-rule) 84%,
		rgba(255, 255, 255, 0) 100%
	);
	border-radius: 999px;
}
.ttracker-assessment-summary,
.ttracker-assessment-obs-group,
.ttracker-assessment-compare .ttracker-calc-actions,
.ttracker-kccq-delta,
.ttracker-kccq-obs-group,
.ttracker-kccq-form .ttracker-calc-actions {
	grid-column: 1 / -1;
}
.ttracker-assessment-summary,
.ttracker-kccq-delta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 18px;
	border: 1px solid var(--tt-border-soft);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.03);
}
.ttracker-assessment-summary-label,
.ttracker-assessment-summary-value,
.ttracker-kccq-delta-label,
.ttracker-kccq-delta-value {
	margin: 0;
}
.ttracker-assessment-summary-label,
.ttracker-kccq-delta-label {
	font-size: 13px;
	color: var(--tt-text-muted);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.ttracker-assessment-summary-value,
.ttracker-kccq-delta-value {
	font-size: 18px;
	font-weight: 700;
	color: var(--tt-text-strong);
	text-align: right;
}
.ttracker-assessment-value-wrap,
.ttracker-kccq-score-wrap {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 4px;
}
.ttracker-assessment-value-wrap .ttracker-calc-number-input,
.ttracker-assessment-value-wrap .ttracker-calc-date-input,
.ttracker-assessment-panel .ttracker-calc-number-input,
.ttracker-assessment-panel .ttracker-calc-date-input,
.ttracker-assessment-panel select,
.ttracker-kccq-score-wrap .ttracker-calc-number-input {
	max-width: 140px;
}
.ttracker-assessment-panel .ttracker-calc-date-input,
.ttracker-kccq-panel .ttracker-calc-date-input {
	max-width: 220px;
}
.ttracker-assessment-value-wrap .ttracker-imc-unit,
.ttracker-kccq-score-wrap .ttracker-imc-unit {
	position: static;
	right: auto;
	bottom: auto;
	font-size: 14px;
	color: var(--tt-text-muted);
}
.ttracker-assessment-panel .ttracker-calc-results {
	margin-top: 0;
	gap: 16px;
}
.ttracker-assessment-input-grid {
	margin-top: 0;
	gap: 16px;
}
.ttracker-assessment-input-card {
	gap: 10px;
}
.ttracker-assessment-input-card .result-label {
	margin: 0;
}
.ttracker-assessment-input-card .ttracker-calc-number-input {
	width: 100%;
	max-width: none;
}
.ttracker-assessment-input-card--featured {
	border-color: rgba(19, 193, 226, 0.24);
	background: rgba(19, 193, 226, 0.08);
}
.ttracker-assessment-panel .ttracker-calc-result-box .result-value,
.ttracker-assessment-panel .ttracker-imc-result-box .result-value {
	font-size: 28px;
}
.ttracker-assessment-summary--imc {
	align-items: flex-start;
	flex-direction: column;
	gap: 10px;
}
.ttracker-imc-summary-pair {
	display: flex;
	gap: 2rem;
	flex-wrap: wrap;
}
.ttracker-imc-metric-name {
	font-size: 12px;
	color: var(--tt-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 2px;
}
.ttracker-imc-summary-item .ttracker-assessment-summary-value {
	text-align: left;
}
.ttracker-assessment-summary--nis {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
	gap: 12px;
}
.ttracker-assessment-summary--nis .ttracker-assessment-summary-card {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 14px 16px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.02);
	border: 1px solid rgba(255, 255, 255, 0.04);
}
.ttracker-assessment-summary--nis .ttracker-assessment-summary-value {
	font-size: 20px;
	text-align: left;
	line-height: 1.2;
}
.ttracker-assessment-summary--nis .ttracker-assessment-summary-card--featured {
	background: rgba(19, 193, 226, 0.08);
	border-color: rgba(19, 193, 226, 0.24);
}
.ttracker-assessment-summary--nis .ttracker-assessment-summary-card--featured .ttracker-assessment-summary-value {
	font-size: 24px;
	color: var(--tt-accent);
}
@media (max-width: 959px) {
	.ttracker-assessment-compare,
	.ttracker-kccq-form {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.ttracker-assessment-divider,
	.ttracker-kccq-divider {
		min-height: 1px;
		background: linear-gradient(
			90deg,
			rgba(255, 255, 255, 0) 0%,
			var(--tt-border-rule) 16%,
			var(--tt-border-rule) 84%,
			rgba(255, 255, 255, 0) 100%
		);
	}

	.ttracker-assessment-summary,
	.ttracker-kccq-delta {
		flex-direction: column;
		align-items: flex-start;
	}

	.ttracker-assessment-summary-value,
	.ttracker-kccq-delta-value {
		text-align: left;
	}

	.ttracker-assessment-summary--nis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ttracker-assessment-panel .ttracker-calc-date-input,
	.ttracker-assessment-panel .ttracker-calc-number-input,
	.ttracker-assessment-panel select,
	.ttracker-assessment-value-wrap .ttracker-calc-number-input,
	.ttracker-kccq-panel .ttracker-calc-date-input,
	.ttracker-kccq-score-wrap .ttracker-calc-number-input {
		max-width: 100%;
	}
}

@media (max-width: 599px) {
	.ttracker-assessment-summary--nis {
		grid-template-columns: 1fr;
	}
}

/* ─── Regras migradas do Customizer CSS (posts 417/85) ─── */

/* Home card columns — top-align content */
.home .main-container .row .column_parent.col-lg-4.single-internal-gutter .uncoltable .uncell {
	vertical-align: top !important;
}

/* Customizer logo max width — !important needed to override Uncode parent theme */
.logo-customizer img {
	max-width: 278px !important;
}

/* ─── Resultados page ─── */

.ttracker-resultados-page .post-title {
	margin-top: 40px;
	margin-bottom: 32px;
}

.ttracker-resultados-disclaimer {
	background: var(--tt-surface-soft);
	border: 1px solid var(--tt-border-soft);
	border-radius: 8px;
	padding: 16px 20px;
	margin-top: 20px;
	margin-bottom: 24px;
	font-size: 14px;
	color: var(--tt-text-muted);
	line-height: 1.6;
}
.ttracker-resultados-disclaimer p {
	margin: 0 0 10px;
}
.ttracker-resultados-disclaimer p:last-child {
	margin-bottom: 0;
}
.ttracker-resultados-disclaimer ul {
	margin: 0 0 10px;
	padding-left: 22px;
}
.ttracker-resultados-disclaimer li {
	margin-bottom: 4px;
}
.ttracker-resultados-disclaimer li:last-child {
	margin-bottom: 0;
}

/* Privacy policy collapsible wrapper */
.ttracker-resultados-privacy {
	margin: 20px 0 24px;
	border: 1px solid var(--tt-accent-soft);
	border-radius: 8px;
	background: var(--tt-bg-surface);
	overflow: hidden;
}
.ttracker-resultados-privacy-summary {
	list-style: none;
	cursor: pointer;
	padding: 14px 18px;
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--tt-text-strong);
	transition: background 0.2s ease;
}
.ttracker-resultados-privacy-summary::-webkit-details-marker {
	display: none;
}
.ttracker-resultados-privacy-summary:hover,
.ttracker-resultados-privacy-summary:focus-visible {
	background: var(--tt-accent-soft);
	outline: none;
}
.ttracker-resultados-privacy-label {
	font-weight: 600;
	flex: 1;
	font-size: 14px;
}
.ttracker-resultados-privacy-hint {
	font-size: 12px;
	color: var(--tt-accent);
	font-weight: 500;
}
.ttracker-resultados-privacy-chevron {
	color: var(--tt-accent);
	font-size: 18px;
	line-height: 1;
	transition: transform 0.2s ease;
}
.ttracker-resultados-privacy[open] .ttracker-resultados-privacy-chevron {
	transform: rotate(180deg);
}
.ttracker-resultados-privacy[open] .ttracker-resultados-privacy-hint {
	display: none;
}
.ttracker-resultados-privacy .ttracker-resultados-disclaimer {
	background: transparent;
	border: none;
	border-top: 1px solid var(--tt-accent-soft);
	border-radius: 0;
	padding: 14px 18px 16px;
	margin: 0;
}
@media (max-width: 640px) {
	.ttracker-resultados-privacy-hint {
		display: none;
	}
}

.ttracker-resultados-category {
	margin-bottom: 32px;
}
.ttracker-resultados-category h2 {
	font-size: 18px;
	color: var(--tt-accent);
	border-bottom: 1px solid var(--tt-border-rule);
	padding-bottom: 8px;
	margin-bottom: 16px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.ttracker-resultados-instrument {
	background: var(--tt-surface-soft);
	border: 1px solid var(--tt-border-soft);
	border-radius: 18px;
	padding: 28px;
	margin-bottom: 16px;
}

.ttracker-resultados-header {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px 18px;
	margin-bottom: 18px;
}

.ttracker-resultados-title {
	font-size: 18px;
	color: var(--tt-text-strong);
	margin: 0;
}

.ttracker-resultados-link {
	color: var(--tt-accent);
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
}
.ttracker-resultados-link:hover {
	text-decoration: underline;
}

.ttracker-resultados-panels {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.ttracker-resultados-panel {
	border: 1px solid var(--tt-border-soft);
	border-radius: 16px;
	padding: 20px 22px;
}

.ttracker-resultados-panel--current {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.03));
	border: 1px solid var(--tt-border-soft);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.ttracker-resultados-panel--previous {
	background: rgba(255, 255, 255, 0.02);
	border: 1px solid var(--tt-border-soft);
}

.ttracker-resultados-panel-title {
	margin: 0 0 16px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--tt-text-strong);
}

.ttracker-resultados-metrics,
.ttracker-resultados-comparison-metrics {
	display: grid;
	gap: 10px;
}

.ttracker-resultados-metric,
.ttracker-resultados-comparison-item {
	display: grid;
	grid-template-columns: minmax(0, 140px) minmax(0, 1fr);
	gap: 10px 16px;
	align-items: baseline;
}

.ttracker-resultados-metric-name {
	font-weight: 700;
	color: var(--tt-text-strong);
}

.ttracker-resultados-metric-value,
.ttracker-resultados-comparison-value {
	font-size: 14px;
	color: var(--tt-text-body);
}

.ttracker-resultados-panel-date {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 18px 0 0;
	padding-top: 14px;
	border-top: 1px solid var(--tt-border-soft);
	font-size: 13px;
}

.ttracker-resultados-panel-date-label {
	color: var(--tt-text-muted);
}

.ttracker-resultados-panel-date-value {
	color: var(--tt-text-body);
}

.ttracker-resultados-comparison {
	margin-top: 18px;
	padding: 18px 22px;
	border-top: 1px solid var(--tt-border-soft);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.025);
}

.ttracker-resultados-comparison-title {
	margin: 0 0 14px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--tt-text-strong);
}

.ttracker-resultados-delta {
	font-weight: 600;
	color: var(--tt-accent);
}

.ttracker-resultados-placeholder {
	color: var(--tt-text-muted);
}

.ttracker-resultados-obs {
	font-size: 13px;
	color: var(--tt-text-muted);
	font-style: italic;
	margin: 18px 0 0;
	padding-top: 16px;
	border-top: 1px solid var(--tt-border-soft);
}

/* Tabela editável do /resultados/ — herda visual de .ttracker-history-table.
   Cells têm os mesmos inputs da página do instrumento. */
.ttracker-resultados-instrument .ttracker-table-wrap {
	margin-top: 4px;
}

/* No /resultados/, a célula de Data da linha atual contém o input + um badge
   "ATUAL" à direita (em vez de coluna separada). Mantém o input com largura
   natural e empurra o badge ao seu lado. */
.ttracker-resultados-history-table .ttracker-history-row--current .ttracker-history-cell-date {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.ttracker-resultados-history-table .ttracker-history-row--current .ttracker-history-input--date {
	width: auto;
	min-width: 130px;
	flex: 0 0 auto;
}

/* Obs full-width abaixo da tabela (espelha o bloco da página do instrumento). */
.ttracker-resultados-obs-block {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--tt-border-soft);
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.ttracker-resultados-obs-label {
	font-size: 12px;
	font-weight: 600;
	color: var(--tt-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.ttracker-resultados-obs-text {
	margin: 0;
	font-size: 14px;
	color: var(--tt-text-body);
	line-height: 1.5;
	white-space: pre-wrap;
}

.ttracker-resultados-empty {
	text-align: center;
	color: var(--tt-text-muted);
	padding: 40px 20px;
	font-size: 15px;
}

.ttracker-resultados-actions {
	display: flex;
	gap: 12px;
	margin-top: 24px;
}
.ttracker-resultados-clear {
	background: transparent !important;
	border: 1px solid var(--tt-border-soft) !important;
	color: var(--tt-text-muted) !important;
}

.ttracker-calc-save--saved {
	background: #1a6b3a !important;
	border-color: #1a6b3a !important;
}

@media (max-width: 959px) {
	.ttracker-resultados-instrument {
		padding: 22px;
	}

	.ttracker-resultados-panels {
		grid-template-columns: 1fr;
	}

	.ttracker-resultados-metric,
	.ttracker-resultados-comparison-item {
		grid-template-columns: 1fr;
		gap: 4px;
	}
}

/* Footer scroll-to-top override — Uncode Customizer inlines
   `.style-light .btn-default` with near-white bg and white icon color,
   rendering a blank square on navy pages. Uncode core CSS loads after this
   sheet at equal specificity, so !important is required. */
.footer-scroll-top a.scroll-top i.fa-stack {
	width: 44px !important;
	height: 44px !important;
	line-height: 44px !important;
	background: var(--tt-bg-hero) !important;
	background-color: var(--tt-bg-hero) !important;
	color: #fff !important;
	border: 1px solid var(--tt-accent-sky) !important;
	border-radius: 50% !important;
	font-size: 20px !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
	transition: background-color 0.2s ease, transform 0.2s ease !important;
}

.footer-scroll-top a.scroll-top:hover i.fa-stack,
.footer-scroll-top a.scroll-top:focus i.fa-stack {
	background: var(--tt-accent-sky) !important;
	background-color: var(--tt-accent-sky) !important;
	transform: translateY(-2px) !important;
}

.footer-scroll-top a.scroll-top:focus-visible {
	outline: 2px solid var(--tt-cta) !important;
	outline-offset: 3px !important;
	border-radius: 50% !important;
}
