/* BETA - Apoio Impostos: complementa tax-calculator.css. Só tokens já
   documentados em root.css/app.css; nada de cor literal. */

/* Ações compactas permanecem ao lado do título nas larguras de desktop/tablet. */
.beta-tax .tax-header { display: flex; flex-wrap: nowrap; align-items: center; gap: var(--space-4); }
.beta-tax .tax-header > :first-child { flex: 1 1 0; min-width: 0; }
.beta-tax .tax-header__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); flex: 0 0 auto; gap: var(--space-2); margin-inline-start: auto; }
.beta-tax .tax-header__actions button { min-width: 0; min-height: var(--control-sm); padding: var(--space-2) var(--space-3); font-size: var(--font-size-sm); line-height: 1.25; white-space: nowrap; }
.beta-tax .tax-header__actions:has(> button:only-child),
.beta-tax .tax-header__actions:has(> button[hidden]) { grid-template-columns: minmax(0, 1fr); }

.beta-tax .beta-badge { display: inline-block; margin-left: var(--space-2); padding: 2px var(--space-2); border-radius: var(--radius-pill); color: var(--surface); background: var(--accent-2); font-family: var(--font-sans); font-weight: 600; font-size: var(--font-size-xs); letter-spacing: 0.04rem; vertical-align: middle; }
/* Flex em vez de grade fixa: o número de etapas varia com o regime, e trilha de
   grade vazia deixaria buraco onde a etapa foi removida. */
.beta-tax .beta-tax-steps { display: flex; }
.beta-tax .beta-tax-steps button { flex: 1 1 0; min-width: 0; }

/* O "?" agora é um <button> real: precisa herdar o formato do círculo e ganhar
   um foco visível, já que passou a ser alcançável por teclado. */
.beta-tax .field-tooltip { display: inline-grid; place-items: center; flex: 0 0 var(--icon-md); width: var(--icon-md); height: var(--icon-md); padding: 0; border: var(--border-width) solid var(--line); border-radius: 50%; color: var(--muted); background: var(--surface-muted); font-family: var(--font-sans); font-weight: 600; font-size: var(--font-size-xs); line-height: 1; cursor: help; }
.beta-tax .field-tooltip:focus-visible { outline: 2px solid var(--accent-2); outline-offset: 2px; }
.beta-tax .field-label label { cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.beta-tax .tax-field--wide { grid-column: 1 / -1; }
.beta-tax .tax-control[aria-invalid="true"] { border-color: var(--danger); }

/* Nota de abertura de etapa: o mesmo "mini tutorial" que a etapa de receitas
   ganhou, repetido em Empresa, Folha, Resultado e Retenções. */
.beta-tax .beta-segregation-note,
.beta-tax .beta-step-note { margin-bottom: var(--space-4); padding: var(--space-3) 14px; border: var(--border-width) solid var(--line); border-left: 3px solid var(--accent-2); border-radius: var(--radius-md); color: var(--muted); background: var(--surface-muted); font-size: var(--font-size-sm); line-height: 1.5; }
.beta-tax .beta-segregation-note strong:first-child,
.beta-tax .beta-step-note strong:first-child { display: block; margin-bottom: var(--space-1); color: var(--ink); font-family: var(--font-sans); font-weight: 600; }
.beta-tax .beta-segregation-note em,
.beta-tax .beta-step-note em { font-style: normal; font-family: var(--font-sans); font-weight: 600; color: var(--ink); }
.beta-tax .beta-segregation-note a { margin-left: var(--space-1); color: var(--accent-2); }

/* Etapa de regime. A regra herdada de tax-calculator.css usa duas colunas com a
   primeira estreita: isso esticava o sublimite e espremia o fator R. */
/* Anula a grade de duas colunas que tax-calculator.css impõe via
   [data-regime-fields="simples"]: era ela que jogava o sublimite numa coluna de
   20% e empurrava o fator R para o resto. Aqui o bloco empilha, e cada faixa
   interna define a própria grade. */
.beta-tax .beta-regime-block { display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; gap: var(--space-4); }
.beta-tax .beta-regime-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: var(--space-4); align-items: start; margin-top: var(--space-5);}
/* Anexo é uma escolha de cinco letras; sublimite carrega um valor por extenso.
   Larguras proporcionais ao conteúdo, e não à coluna herdada. */
.beta-tax .beta-regime-grid--compact { grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); max-width: 35rem; }
.beta-tax .beta-check-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); gap: var(--space-3); }
.beta-tax .beta-check-field { display: grid; grid-template-columns: 1.125rem minmax(0, 1fr); gap: var(--space-3); align-items: start; padding: var(--space-3) 14px; border: var(--border-width) solid var(--line); border-radius: var(--radius-md); background: var(--surface-muted); }
.beta-tax .beta-check-field:focus-within { border-color: var(--accent-2); }
.beta-tax .beta-check-field input[type="checkbox"] { width: var(--icon-md); min-width: var(--icon-md); height: var(--icon-md); min-height: var(--icon-md); margin: 2px 0 0; padding: 0; accent-color: var(--accent-2); }
.beta-tax .beta-check-body { display: grid; gap: var(--space-1); min-width: 0; }
.beta-tax .beta-check-body .field-label { align-items: start; }
.beta-tax .beta-check-body .field-label label { overflow: visible; color: var(--ink); font-family: var(--font-sans); font-weight: 600; white-space: normal; text-overflow: clip; }
.beta-tax .beta-check-body small { color: var(--muted); font-size: var(--font-size-sm); line-height: 1.4; }
.beta-tax .beta-regime-pending { margin: var(--space-4) 0 0; padding: 10px 14px; border: var(--border-width) dashed var(--line); border-radius: var(--radius-md); color: var(--muted); font-size: var(--font-size-sm); }
.beta-tax .beta-regime-fixed { margin: var(--space-4) 0 0; color: var(--accent-2); font-family: var(--font-sans); font-weight: 600; font-size: var(--font-size-sm); }
.beta-tax .beta-tax-steps button[hidden] { display: none; }
.beta-tax .beta-tax-steps button:disabled { opacity: 0.4; cursor: not-allowed; }

/* Par de campos em que o segundo qualifica o primeiro — receita de exportação e
   a sua natureza. `display: contents` dissolve o invólucro: os dois viram
   células irmãs da mesma grade, alinhadas ao ritmo da linha. O par continua
   sendo a unidade que o escopo por regime mostra ou esconde. */
.beta-tax .beta-field-pair { display: contents; }
.beta-tax .beta-field-pair[hidden] { display: none; }

/* O qualificador só ganha peso quando o campo que ele qualifica tem valor. É o
   que mantém o vínculo visível mesmo quando a grade quebra a linha entre os dois. */
.beta-tax .beta-qualifier[data-idle="true"] .field-label label,
.beta-tax .beta-qualifier[data-idle="true"] .field-description { color: var(--muted); }
.beta-tax .beta-qualifier[data-idle="true"] .tax-control { border-style: dashed; }
.beta-tax .beta-qualifier[data-idle="false"] .field-label label { color: var(--accent-2); }
.beta-tax .beta-revenue-total { display: grid; gap: 2px; margin-bottom: var(--space-4); padding: 14px var(--space-4); border: var(--border-width) solid var(--line); border-radius: var(--radius-md); background: var(--surface-muted); }
.beta-tax .beta-revenue-total > span { color: var(--muted); font-size: var(--font-size-sm); text-transform: uppercase; letter-spacing: 0.04rem; }
.beta-tax .beta-revenue-total > strong { font-family: var(--font-sans); font-weight: 600; font-size: var(--font-size-2xl); }
.beta-tax .beta-revenue-total > small { color: var(--muted); font-size: var(--font-size-xs); }

/* Custos/despesas e pró-labore usam os mesmos controles e tokens do restante
   da calculadora. As classes abaixo documentam apenas a composição dinâmica. */
.beta-tax .beta-expense-details { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: var(--space-4); }
/* Cada categoria permanece visualmente ligada ao próprio tratamento fiscal.
   Sem este agrupamento, a grade de três colunas podia jogar o seletor da
   despesa anterior para a linha seguinte e tornar ambígua a classificação. */
.beta-tax .beta-expense-details > .beta-field-pair { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 10px; align-items: end; }
.beta-tax .beta-pro-labore-list { display: grid; gap: 10px; margin-top: var(--space-4); padding: 14px; border: var(--border-width) solid var(--line); border-radius: var(--radius-md); background: var(--surface-muted); }
.beta-tax .beta-pro-labore-list[hidden] { display: none; }
.beta-tax [data-pro-labore-items] { display: grid; gap: 10px; }
.beta-tax .beta-pro-labore-row { display: grid; grid-template-columns: minmax(6.25rem, .35fr) minmax(13.75rem, 1fr) auto; align-items: center; gap: 10px; }
.beta-tax .beta-pro-labore-row label { font-family: var(--font-sans); font-weight: 600; font-size: var(--font-size-sm); }
.beta-tax .tax-suggestions button strong,
.beta-tax .tax-suggestions button small { display: block; }
.beta-tax .tax-suggestions button small { margin-top: 2px; color: var(--muted); font-size: var(--font-size-xs); line-height: 1.35; }

/* Revisão */
.beta-tax .beta-review { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.beta-tax .beta-review > div { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); padding: 10px var(--space-3); border: var(--border-width) solid var(--line); border-radius: var(--radius-sm, var(--radius-sm)); }
.beta-tax .beta-review span { color: var(--muted); font-size: var(--font-size-sm); }
.beta-tax .beta-review strong { font-family: var(--font-sans); font-weight: 600; text-align: right; }

/* Apuração — base do cálculo */
.beta-tax .beta-basis { display: grid; gap: 14px; margin-bottom: 18px; padding: var(--space-4); border: var(--border-width) solid var(--line); border-radius: var(--radius-md); }
.beta-tax .beta-basis:empty { display: none; }
.beta-tax .beta-basis__head { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-6); padding-bottom: var(--space-3); border-bottom: var(--border-width) solid var(--line); }
.beta-tax .beta-basis__head > div { display: grid; gap: 2px; }
.beta-tax .beta-basis__head span { color: var(--muted); font-size: var(--font-size-xs); text-transform: uppercase; letter-spacing: 0.04rem; }
.beta-tax .beta-basis__head strong { font-family: var(--font-sans); font-weight: 600; font-size: var(--font-size-lg); }
.beta-tax .beta-basis__head em { color: var(--accent-2); font-style: normal; font-family: var(--font-sans); font-weight: 600; font-size: var(--font-size-sm); }
.beta-tax .beta-basis__figures { display: grid; grid-template-columns: repeat(auto-fit, minmax(11.25rem, 1fr)); gap: var(--space-3); }
.beta-tax .beta-basis__figures article { display: grid; gap: 2px; padding: 10px var(--space-3); border-left: 3px solid var(--line); }
.beta-tax .beta-basis__figures article.is-total { border-left-color: var(--accent-2); }
.beta-tax .beta-basis__figures span { color: var(--muted); font-size: var(--font-size-xs); }
.beta-tax .beta-basis__figures strong { font-family: var(--font-sans); font-weight: 600; font-size: var(--font-size-lg); }
.beta-tax .beta-basis__figures article.is-total strong { color: var(--accent-2); }
.beta-tax .beta-basis__block h4 { margin: 0 0 var(--space-2); color: var(--muted); font-family: var(--font-sans); font-weight: 600; font-size: var(--font-size-xs); text-transform: uppercase; letter-spacing: 0.04rem; }
.beta-tax .beta-basis__chips { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.beta-tax .beta-basis__chips li { display: inline-flex; align-items: baseline; gap: 6px; padding: 6px 10px; border: var(--border-width) solid var(--line); border-radius: var(--radius-pill); font-size: var(--font-size-sm); }
.beta-tax .beta-basis__chips span { color: var(--muted); }
.beta-tax .beta-basis__chips strong { font-family: var(--font-sans); font-weight: 600; }
.beta-tax .beta-basis__chips em { color: var(--accent-2); font-style: normal; font-size: var(--font-size-xs); }
.beta-tax .beta-basis__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(13.125rem, 1fr)); gap: 6px var(--space-4); margin: 0; padding: 0; list-style: none; }
.beta-tax .beta-basis__facts li { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 6px 0; border-bottom: var(--border-width) solid var(--line); font-size: var(--font-size-sm); }
.beta-tax .beta-basis__facts span { color: var(--muted); }
.beta-tax .beta-basis__facts strong { font-family: var(--font-sans); font-weight: 600; text-align: right; }
.beta-tax .beta-basis__facts li.is-divergent strong { color: var(--danger); }
.beta-tax .beta-basis__facts li.is-divergent strong::after { content: " (divergente)"; font-size: var(--font-size-xs); }

/* Apuração */
.beta-tax .beta-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(11.875rem, 1fr)); gap: var(--space-3); }
.beta-tax .beta-summary article { display: grid; gap: var(--space-1); padding: 14px; border: var(--border-width) solid var(--line); border-radius: var(--radius-md); background: var(--surface-muted); }
.beta-tax .beta-summary span { color: var(--muted); font-size: var(--font-size-sm); text-transform: uppercase; letter-spacing: 0.04rem; }
.beta-tax .beta-summary strong { font-family: var(--font-sans); font-weight: 600; font-size: var(--font-size-xl); }
.beta-tax .beta-summary small { color: var(--muted); font-size: var(--font-size-xs); line-height: 1.35; }

.beta-tax .beta-checks { margin-top: 18px; }
.beta-tax .beta-checks h3 { margin: 0 0 10px; font-family: var(--font-sans); font-weight: 600; font-size: var(--font-size-base); }
.beta-tax .beta-checks dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 10px; margin: 0; }
.beta-tax .beta-checks dl > div { padding: 10px var(--space-3); border: var(--border-width) solid var(--line); border-radius: var(--radius-md); }
.beta-tax .beta-checks dt { color: var(--muted); font-size: var(--font-size-sm); }
.beta-tax .beta-checks dd { display: grid; gap: 2px; margin: var(--space-1) 0 0; }
.beta-tax .beta-checks dd strong { font-family: var(--font-sans); font-weight: 600; }
.beta-tax .beta-checks dd small { color: var(--muted); font-size: var(--font-size-xs); }

.beta-tax .beta-alerts { margin-top: 18px; display: grid; gap: var(--space-2); }
.beta-tax .beta-alerts p { margin: 0; padding: 10px var(--space-3); border-left: 3px solid var(--line); border-radius: var(--radius-sm, var(--radius-sm)); background: var(--surface-muted); font-size: var(--font-size-sm); line-height: 1.45; }
.beta-tax .beta-alerts p.is-warning { border-left-color: var(--danger); }
.beta-tax .beta-alerts p.is-note { border-left-color: var(--accent-2); }
.beta-tax .beta-alerts strong { font-family: var(--font-sans); font-weight: 600; }

.beta-tax .beta-memory { margin-top: 18px; }
.beta-tax .beta-memory summary > span { display: grid; gap: 2px; min-width: 0; }
.beta-tax .beta-memory-calculation { color: var(--muted); font-family: var(--font-sans); font-weight: 400; font-size: var(--font-size-xs); line-height: 1.35; }
.beta-tax .beta-tag { margin-left: 6px; padding: 0 6px; border-radius: var(--radius-pill); color: var(--muted); background: var(--surface-muted); font-style: normal; font-size: var(--font-size-xs); text-transform: uppercase; letter-spacing: 0.04rem; }
.beta-tax .beta-formula, .beta-tax .beta-premise, .beta-tax .beta-basis { margin: 6px 0 0; color: var(--muted); font-size: var(--font-size-sm); line-height: 1.45; }
.beta-tax .beta-basis { font-family: var(--font-sans); font-weight: 600; }

.beta-tax .beta-components { width: 100%; margin-top: var(--space-3); border-collapse: collapse; font-size: var(--font-size-sm); }
.beta-tax .beta-components caption { margin-bottom: 6px; color: var(--muted); font-family: var(--font-sans); font-weight: 600; text-align: left; text-transform: uppercase; letter-spacing: 0.04rem; font-size: var(--font-size-xs); }
.beta-tax .beta-components th, .beta-tax .beta-components td { padding: 6px var(--space-2); border-bottom: var(--border-width) solid var(--line); text-align: right; }
.beta-tax .beta-components th:first-child, .beta-tax .beta-components td:first-child,
.beta-tax .beta-components th:last-child, .beta-tax .beta-components td:last-child { text-align: left; }
.beta-tax .beta-components tr.is-outside td { color: var(--muted); }

.beta-tax .beta-form-error { margin: var(--space-3) var(--space-5) 0; padding: 10px var(--space-3); border: var(--border-width) solid var(--danger); border-radius: var(--radius-md); color: var(--danger); background: var(--surface-muted); font-size: var(--font-size-sm); }

/* Cenários salvos */
.beta-tax .beta-scenario-row { display: flex; align-items: stretch; gap: var(--space-2); margin-bottom: var(--space-2); }
.beta-tax .beta-scenario-row .scenario-row { flex: 1; }
.beta-tax .beta-scenario-values { display: grid; justify-items: end; gap: 2px; }
.beta-tax .beta-scenario-values small { color: var(--muted); font-size: var(--font-size-xs); }
.beta-tax .beta-scenario-actions { display: grid; gap: var(--space-1); }
.beta-tax .beta-scenario-actions button { padding: 6px 10px; font-size: var(--font-size-xs); }
.beta-tax .ghost-button.is-danger { color: var(--danger); border-color: var(--danger); }

/* Transparência */
.beta-tax .beta-transition-note { margin-top: 14px; padding: var(--space-3) 14px; border: var(--border-width) solid var(--line); border-left: 3px solid var(--accent-2); border-radius: var(--radius-md); color: var(--muted); background: var(--surface-muted); font-size: var(--font-size-sm); line-height: 1.5; }
.beta-tax .beta-transition-note strong { color: var(--ink); font-family: var(--font-sans); font-weight: 600; }
.beta-tax .beta-transition-note a { display: block; margin-top: var(--space-1); color: var(--accent-2); }
.beta-tax .beta-engine-version { margin: var(--space-3) 0 0; color: var(--muted); font-size: var(--font-size-xs); }
.beta-tax [data-verified].is-stale { color: var(--danger); font-family: var(--font-sans); font-weight: 600; }
.beta-tax [data-verified].is-stale::after { content: " (revisar)"; }

/* Comparador de Regime Tributário */
.beta-tax.regime-comparator { display: grid; gap: 18px; }
.beta-tax.regime-comparator .tax-workspace { padding: 0; }
.beta-tax.regime-comparator .comparator-form { display: block; padding: 0; }
.beta-tax .comparator-body { display: block; }
.beta-tax .comparator-panel { display: grid; gap: 18px; }
.beta-tax .comparator-panel[hidden] { display: none; }
.beta-tax .comparator-grid { gap: 18px; }
.beta-tax .comparator-guidance { margin-bottom: var(--space-1); }
.beta-tax .comparator-regime-picker { display: grid; grid-column: 1 / -1; gap: var(--space-3); margin: var(--space-1) 0 10px; }
.beta-tax .comparator-regime-picker > .field-label { align-items: center; }
.beta-tax .comparator-regime-checks { grid-template-columns: repeat(auto-fit, minmax(15.625rem, 1fr)); gap: var(--space-3); margin-top: 0; }
.beta-tax.regime-comparator .comparator-regime-checks .beta-check-field { align-items: start; min-height: 5.625rem; padding: 14px; cursor: pointer; }
.beta-tax .comparator-regime-checks .beta-check-body strong { color: var(--ink); font-family: var(--font-sans); font-weight: 600; }
.beta-tax .comparator-regime-checks .beta-check-body small { display: block; margin-top: 5px; color: var(--muted); font-size: var(--font-size-xs); line-height: 1.4; }
.beta-tax .comparator-checks { margin-top: 2px; }
.beta-tax.regime-comparator .comparator-checks .beta-check-field { align-items: center; min-height: 4.25rem; }
.beta-tax.regime-comparator .comparator-checks .beta-check-field input[type="checkbox"] { margin-top: 0; }
.beta-tax.regime-comparator .comparator-checks .beta-check-body { align-content: center; }
.beta-tax.regime-comparator .comparator-checks .beta-check-body .field-label { align-items: center; }
.beta-tax.regime-comparator .comparator-checks.comparator-regime-checks .beta-check-field { align-items: start; min-height: 6.125rem; padding: 14px; }
.beta-tax.regime-comparator .comparator-checks.comparator-regime-checks .beta-check-field input[type="checkbox"] { margin-top: 2px; }
.beta-tax.regime-comparator .comparator-checks.comparator-regime-checks .beta-check-body { align-content: start; }
.beta-tax .comparator-mei { margin-top: 18px; padding: 14px; border: var(--border-width) solid var(--line); border-radius: var(--radius-md); background: var(--surface-muted); }
.beta-tax .comparator-mei summary { cursor: pointer; font-family: var(--font-sans); font-weight: 600; }
.beta-tax .comparator-mei .form-grid { margin-top: var(--space-4); }
.beta-tax .comparator-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; padding-top: var(--space-1); }
.beta-tax .comparator-submit { justify-content: flex-start; margin-top: 18px; }
.beta-tax .comparator-results { display: grid; gap: 22px; margin-top: var(--space-5); padding-top: var(--space-5); border-top: var(--border-width) solid var(--line); }
.beta-tax .comparator-results[hidden] { display: none; }
.beta-tax .comparator-results .section-heading p { max-width: 47.5rem; }
.beta-tax .comparator-decision-scroll,
.beta-tax .comparator-results-scroll { border: var(--border-width) solid var(--line); border-radius: var(--radius-md); background: var(--surface); }
.beta-tax .comparator-decision-table,
.beta-tax .comparator-table { width: 100%; border-collapse: separate; border-spacing: 0; }
.beta-tax .comparator-decision-table { min-width: 43.75rem; }
.beta-tax .comparator-table { min-width: 61.25rem; }
.beta-tax .comparator-decision-table th,
.beta-tax .comparator-decision-table td,
.beta-tax .comparator-table th,
.beta-tax .comparator-table td { padding: var(--space-3) 14px; border-bottom: var(--border-width) solid var(--line); vertical-align: top; text-align: left; }
.beta-tax .comparator-decision-table thead th,
.beta-tax .comparator-table thead th { color: var(--muted); background: var(--surface-muted); font-size: var(--font-size-xs); text-transform: uppercase; letter-spacing: 0.04rem; white-space: nowrap; }
.beta-tax .comparator-decision-table tbody tr:last-child th,
.beta-tax .comparator-decision-table tbody tr:last-child td,
.beta-tax .comparator-table tbody tr:last-child td { border-bottom: 0; }
.beta-tax .comparator-decision-table tbody th { color: var(--muted); font-family: var(--font-sans); font-weight: 600; font-size: var(--font-size-sm); text-transform: uppercase; letter-spacing: 0.04rem; }
.beta-tax .comparator-decision-table td { color: var(--muted); font-size: var(--font-size-sm); line-height: 1.45; }
.beta-tax .comparator-decision-table td strong { color: var(--ink); font-family: var(--font-sans); font-weight: 600; font-size: var(--font-size-base); }
.beta-tax .comparator-table td { font-size: var(--font-size-sm); line-height: 1.45; }
.beta-tax .comparator-table td:nth-child(n+3):nth-child(-n+8) { white-space: nowrap; }
.beta-tax .comparator-table td strong,
.beta-tax .comparator-table td small { display: block; }
.beta-tax .comparator-table td small { margin-top: 2px; color: var(--muted); font-size: var(--font-size-xs); }
.beta-tax .comparator-status { display: inline-flex; align-items: center; min-height: 1.5rem; padding: 0 var(--space-2); border: var(--border-width) solid var(--line); border-radius: var(--radius-pill); background: var(--surface-muted); font-family: var(--font-sans); font-weight: 600; font-size: var(--font-size-xs); }
.beta-tax .comparator-table tr[data-status="incomplete"] td,
.beta-tax .comparator-table tr[data-status="incompatible"] td { color: var(--muted); }
.beta-tax .comparator-table tr[data-status="incompatible"] .comparator-status { color: var(--danger); border-color: var(--danger); }
.beta-tax .comparator-observations { margin-top: 0; }
.beta-tax.regime-comparator .tax-autocomplete [data-locality-search-icon] { color: var(--muted); opacity: 1; }
.beta-tax.regime-comparator .tax-autocomplete [data-locality-search-icon] svg { color: inherit; fill: currentColor; stroke: currentColor; }
.beta-tax.regime-comparator .tax-autocomplete .tax-control:focus ~ [data-locality-search-icon] { color: var(--accent-2); }
.beta-tax.regime-comparator .tax-autocomplete .tax-control:disabled ~ [data-locality-search-icon] { color: var(--muted); opacity: 0.6; }
.comparator-floating-tooltip { position: fixed; z-index: var(--layer-modal); width: min(20rem, calc(100vw - 1.5rem)); box-sizing: border-box; padding: 10px var(--space-3); border: var(--border-width) solid var(--line); border-radius: var(--radius-sm); color: var(--ink); background: var(--surface); box-shadow: var(--shadow-lg); font-family: var(--font-sans); font-weight: 400; font-size: var(--font-size-sm); line-height: 1.35; text-align: left; pointer-events: none; }

@media (max-width: 62.5rem) {
  .beta-tax .beta-review { grid-template-columns: 1fr; }
  .beta-tax .beta-regime-grid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 47.5rem) {
  .beta-tax .tax-header { flex-wrap: wrap; }
  .beta-tax .tax-header > :first-child { flex-basis: 100%; }
  .beta-tax .tax-header__actions { flex: 1 1 100%; margin-inline-start: 0; }
  .beta-tax .tax-header__actions button { min-height: var(--control-md); }
  /* A regra base espalha as etapas com flex: 1 1 0. No desktop isso distribui
     bem, mas no celular nove etapas viram faixas de 39 px e os rotulos se
     atropelam - "Custos e despesas" invade "Folha". Aqui cada etapa volta a ter
     a mesma faixa fixa das etapas do Apoio Impostos padrao e a barra rola. */
  .beta-tax .beta-tax-steps { display: flex; overflow-x: auto; }
  .beta-tax .beta-tax-steps button { flex: 0 0 5.375rem; }
  .beta-tax .beta-regime-grid, .beta-tax .beta-regime-grid--compact,
  .beta-tax .beta-check-grid { grid-template-columns: 1fr; }
  .beta-tax .beta-basis__facts { grid-template-columns: 1fr; }
  .beta-tax .beta-scenario-row { flex-direction: column; }
  .beta-tax .beta-scenario-actions { grid-auto-flow: column; }
  .beta-tax .beta-form-error { margin-inline: 14px; }
  .beta-tax .beta-pro-labore-row { grid-template-columns: 1fr; }
  .beta-tax .beta-expense-details { grid-template-columns: 1fr; }
}
@media (max-width: 32.5rem) {
  .beta-tax .beta-expense-details > .beta-field-pair { grid-template-columns: 1fr; }
}

/* Impressão: o laudo precisa levar as premissas e os parâmetros, não só o total.
   A versão anterior imprimia apenas a etapa de resultado. */
@media print {
  .beta-tax .tax-header__actions, .beta-tax .beta-tax-steps, .beta-tax .tax-form__footer,
  .beta-tax .tax-result-actions, .beta-tax .beta-form-error { display: none; }
  .beta-tax .tax-form > section { display: none; }
  .beta-tax .tax-form > section[data-step="8"],
  .beta-tax .tax-form > section[data-step="9"] { display: block !important; }
  .beta-tax .tax-sources { display: block; break-before: page; }
  .beta-tax .tax-workspace { border: 0; box-shadow: none; }
  .beta-tax details { break-inside: avoid; }
  .beta-tax details > * { display: block !important; }
}
.beta-tax .beta-fiscal-flag {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.beta-tax .beta-fiscal-flag input[type="checkbox"] {
  width: var(--icon-md);
  min-width: var(--icon-md);
  height: var(--icon-md);
  min-height: var(--icon-md);
  margin: 0;
  padding: 0;
}
