/* V19: a cena mantém todos os componentes visíveis enquanto o regime muda. */
.tax-story { height: 440svh; }
.tax-stage { background: #061e18; }
.tax-stage::before { width: 39%; background: linear-gradient(90deg, #05251dc9, #06291b80 53%, #0c30201a), url('/_home/20261027-home-pwa/assets/soy-harvest-poster.jpg') center / cover no-repeat; }
.tax-showcase.shell { width: min(1640px, calc(100% - clamp(28px, 4vw, 80px))); grid-template-columns: minmax(0, .31fr) minmax(0, .69fr); gap: clamp(18px, 2vw, 36px); }
.tax-scene-copy > img { width: clamp(165px, 15vw, 245px); margin-bottom: clamp(22px, 4vh, 46px); }
.tax-scene-kicker { color: #ffe39b; }
.tax-scene-copy h2 { max-width: 475px; font-size: clamp(36px, 4.2vw, 71px); font-weight: 850; letter-spacing: -.055em; }
.tax-scene-copy h2 em { background: linear-gradient(150deg, #fff6c0, #f2bf59 70%); background-clip: text; -webkit-background-clip: text; color: transparent; }
.tax-scene-lead { max-width: 400px; margin-bottom: clamp(20px, 3vh, 35px); font-size: clamp(13px, 1.2vw, 18px); font-weight: 600; line-height: 1.4; }
.tax-scene-points { display: grid; gap: clamp(9px, 1.4vh, 17px); margin: 0 0 24px; padding: 0; list-style: none; }
.tax-scene-points li { display: flex; align-items: center; gap: 12px; }
.tax-scene-points li > i { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border: 1px solid #efca72; border-radius: 8px; background: #1e2c20bd; box-shadow: inset 0 0 16px #ffd67024; color: #ffdb7d; font-size: 24px; font-style: normal; }
.tax-scene-points li > span { display: grid; gap: 3px; }
.tax-scene-points span::before { display: none; }
.tax-scene-points strong { color: #fff; font-size: clamp(12px, .95vw, 15px); }
.tax-scene-points small { color: #d8e6d7; font-size: clamp(10px, .78vw, 12px); line-height: 1.28; }
.tax-scene-link { min-width: min(290px, 100%); font-size: 15px; }
.tax-scene-copy > small { max-width: 315px; }

.tax-dashboard { height: min(750px, calc(100svh - 28px)); border-color: #70d49a; border-radius: 20px; background: linear-gradient(135deg, #031c18f9, #052b20f9 60%, #031916f9); box-shadow: 0 25px 78px #00110ae8, 0 0 0 1px #96ffc52b, inset 0 1px #d4ffdb69; }
.tax-dashboard-top { gap: clamp(9px, 1vw, 16px); min-height: 65px; padding: 9px clamp(12px, 1.3vw, 22px); }
.tax-dashboard-top img { width: clamp(100px, 10vw, 158px); max-height: 46px; }
.tax-dashboard-title { min-width: 0; }
.tax-dashboard-top .tax-dashboard-title strong { font-size: clamp(13px, 1.18vw, 19px); }
.tax-dashboard-top .tax-dashboard-title small { font-size: clamp(8px, .62vw, 10px); text-transform: uppercase; letter-spacing: .03em; white-space: nowrap; }
.tax-producer { display: grid; gap: 3px; min-width: 120px; margin-left: auto; padding: 7px 10px; border: 1px solid #24a867; border-radius: 5px; background: #062c20; }
.tax-producer small { color: #9fd6b6; font-size: 8px; }
.tax-producer strong { overflow: hidden; color: #effff2; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.tax-top-chip { padding: 8px 10px; border: 1px solid #5c9472; border-radius: 5px; color: #e6f4e9; font-size: 9px; font-weight: 700; white-space: nowrap; }
.tax-tabs { display: flex; gap: 5px; min-height: 35px; padding: 5px 11px 0; background: #042119; }
.tax-tabs button { flex: 0 0 auto; padding: 7px 11px; border: 1px solid transparent; border-bottom: 2px solid transparent; border-radius: 4px 4px 0 0; font-size: 9px; }
.tax-tabs button.is-active { border-color: #bca45b; border-bottom-color: #ffdf7f; background: linear-gradient(#4a4422, #1c341f); }
.tax-panel-frame { display: flex; flex: 1; flex-direction: column; gap: clamp(6px, 1vh, 10px); min-height: 0; margin: clamp(7px, 1vh, 11px); overflow: hidden; }
.tax-kpis { flex: 0 0 auto; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.tax-kpis > .tax-kpi { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: clamp(69px, 10vh, 91px); padding: 11px; border: 1px solid #3f8f68; border-radius: 8px; background: linear-gradient(130deg, #092b24, #0b3b2a); }
.tax-kpis > .tax-kpi:nth-child(2) { border-color: #3f8f68; }
.tax-kpis > .tax-kpi--green { border-color: #4af397; background: linear-gradient(130deg, #095e37, #073021); box-shadow: inset 0 0 23px #24e67c29, 0 0 15px #28d37b21; }
.tax-kpis > .tax-kpi > .tax-kpi-icon { display: grid; place-items: center; flex: 0 0 36px; height: 36px; border: 1px solid #d0b762; border-radius: 8px; color: #ffdf84; font-size: 23px; }
.tax-kpis > .tax-kpi--green > .tax-kpi-icon { border-color: #68ff9e; color: #7effa8; }
.tax-kpi > div { display: grid; gap: 4px; min-width: 0; }
.tax-kpi small { color: #d5e9d9; font-size: clamp(8px, .67vw, 10px); font-weight: 800; white-space: nowrap; }
.tax-kpis > .tax-kpi strong { color: #fff; font-family: Sora, Manrope, sans-serif; font-size: clamp(17px, 1.65vw, 26px); line-height: 1; }
.tax-kpis > .tax-kpi--green strong { color: #68ff9f; }
.tax-kpi div > span { color: #c9e0ce; font-size: clamp(8px, .65vw, 10px); }

.tax-regime-grid { display: grid; flex: 0 0 auto; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; height: clamp(99px, 15vh, 132px); }
.tax-regime { display: flex; flex-direction: row; align-items: flex-start; gap: 9px; min-width: 0; padding: clamp(9px, 1.1vw, 15px); border-color: #4a8063; border-radius: 8px; background: #10251f; transition: border-color .35s, background .35s, box-shadow .35s, transform .35s; }
.tax-regime--without { background: #102c21; }
.tax-regime > .tax-regime-radio { flex: 0 0 15px; height: 15px; margin: 1px 0 0; padding: 0; border: 1px solid #d7ede0; border-radius: 50%; background: transparent; }
.tax-regime > div { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.tax-regime small { margin-bottom: 7px; color: #e9faf0; font-size: clamp(8px, .69vw, 10px); font-weight: 800; }
.tax-regime strong { max-width: none; font-size: clamp(13px, 1.05vw, 17px); }
.tax-regime p { max-width: 270px; margin: 6px 0 0; font-size: clamp(8px, .68vw, 10px); line-height: 1.27; }
.tax-regime b { flex: 0 0 auto; align-self: center; margin: 0; padding: 0 0 0 10px; border: 0; border-left: 1px solid #5a9271; color: #e5f8eb; font-size: clamp(12px, 1.1vw, 17px); }
.tax-scene[data-tax-stage="1"] .tax-regime--regular,
.tax-scene[data-tax-stage="2"] .tax-regime--without { border-color: #65ffa6; background: #075835; box-shadow: inset 0 0 35px #37ed862d, 0 0 18px #36f08d4d; transform: translateY(-2px); }
.tax-scene[data-tax-stage="1"] .tax-regime--regular .tax-regime-radio,
.tax-scene[data-tax-stage="2"] .tax-regime--without .tax-regime-radio { border: 5px solid #70ffa8; background: #103a27; }
.tax-scene[data-tax-stage="1"] .tax-regime--without,
.tax-scene[data-tax-stage="2"] .tax-regime--regular { opacity: .72; }

.tax-analytics { display: grid; flex: 1 1 0; grid-template-columns: 1.18fr .8fr .92fr; gap: 8px; min-height: 0; }
.tax-analytics-card { min-width: 0; min-height: 0; padding: clamp(8px, .8vw, 12px); border: 1px solid #3b7859; border-radius: 8px; background: linear-gradient(160deg, #06251e, #052d23); overflow: hidden; }
.tax-analytics-head { display: flex; align-items: center; justify-content: space-between; gap: 7px; min-width: 0; }
.tax-analytics-head strong { overflow: hidden; color: #fff; font-size: clamp(9px, .78vw, 12px); text-overflow: ellipsis; white-space: nowrap; }
.tax-analytics-head span { color: #87f8b0; font-size: clamp(7px, .6vw, 9px); white-space: nowrap; }
.tax-chart-card { display: flex; flex-direction: column; }
.tax-chart { position: relative; flex: 1; min-height: 60px; margin: 8px 0 4px; }
.tax-chart-grid { position: absolute; inset: 8px 0 15px; background: repeating-linear-gradient(0deg, #51736136 0 1px, transparent 1px 25%); }
.tax-chart-columns { position: absolute; inset: 0; display: flex; gap: 4px; }
.tax-chart-columns > div { position: relative; flex: 1; min-width: 0; }
.tax-bar { position: absolute; bottom: 18px; width: 20%; height: var(--bar-height); max-height: calc(100% - 22px); border-radius: 3px 3px 0 0; transform-origin: center bottom; transition: transform .7s cubic-bezier(.2,.75,.2,1), opacity .5s, box-shadow .5s; }
.tax-bar--regular { left: 24%; background: linear-gradient(#78ffac, #16a66c); box-shadow: 0 0 9px #4ff79c65; }
.tax-bar--without { left: 51%; background: linear-gradient(#ffeaa0, #c89533); box-shadow: 0 0 9px #f3ca6470; }
.tax-chart-columns span { position: absolute; bottom: 0; left: 0; width: 100%; color: #b6d0bd; font-family: Consolas, monospace; font-size: 7px; text-align: center; }
.tax-dashboard[data-regime="regular"] .tax-bar--regular { transform: scaleY(1.18); }
.tax-dashboard[data-regime="regular"] .tax-bar--without { transform: scaleY(.72); opacity: .63; }
.tax-dashboard[data-regime="sem-opcao"] .tax-bar--regular { transform: scaleY(.68); opacity: .62; }
.tax-dashboard[data-regime="sem-opcao"] .tax-bar--without { transform: scaleY(1.13); }
.tax-chart-legend { display: flex; align-items: center; gap: 10px; color: #d9e9df; font-size: 8px; white-space: nowrap; }
.tax-chart-legend span { display: flex; align-items: center; gap: 4px; }
.tax-chart-legend i,.tax-donut-wrap li i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; }
.legend-green { background: #5ffca0; }.legend-gold { background: #f7d06f; }.legend-blue { background: #77c0ff; }.legend-gray { background: #9da8a7; }
.tax-chart-legend small { margin-left: auto; overflow: hidden; color: #9db9a7; font-size: 7px; text-overflow: ellipsis; }
.tax-mix-card,.tax-context-card { display: flex; flex-direction: column; }
.tax-donut-wrap { display: flex; flex: 1; align-items: center; justify-content: center; gap: clamp(7px, .9vw, 15px); min-height: 0; }
.tax-donut { position: relative; display: grid; place-items: center; flex: 0 0 clamp(65px, 7.1vw, 108px); height: clamp(65px, 7.1vw, 108px); border-radius: 50%; }
.tax-donut::before { position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(#65ffab 0 25%, #f6d06c 25% 50%, #78c2ff 50% 75%, #a4b0aa 75% 100%); content: ""; transform: rotate(-20deg); transition: transform .7s; }
.tax-dashboard[data-regime="regular"] .tax-donut::before { transform: rotate(25deg); }
.tax-dashboard[data-regime="sem-opcao"] .tax-donut::before { transform: rotate(105deg); }
.tax-donut span { position: relative; display: grid; place-items: center; width: 69%; height: 69%; border-radius: 50%; background: #06271f; color: white; font-size: clamp(12px, 1.2vw, 20px); font-weight: 800; }
.tax-donut small { color: #bbd2c2; font-size: 7px; font-weight: 500; }
.tax-donut-wrap ul { display: grid; gap: 7px; margin: 0; padding: 0; color: #e0eee4; font-size: clamp(7px, .6vw, 9px); list-style: none; white-space: nowrap; }
.tax-donut-wrap li { display: flex; align-items: center; gap: 6px; }
.tax-context-card dl { display: grid; flex: 1; align-content: center; gap: 0; margin: 8px 0 0; }
.tax-context-card dl > div { display: flex; justify-content: space-between; gap: 5px; padding: 5px 0; border-bottom: 1px solid #426e5366; font-size: clamp(7px, .62vw, 10px); }
.tax-context-card dt { color: #d6e8db; }.tax-context-card dd { margin: 0; color: #f3fff5; font-weight: 800; white-space: nowrap; }
.tax-context-card p { margin: 7px 0 0; padding: 6px 7px; border-radius: 5px; background: #113b35; color: #bfe5db; font-size: clamp(7px, .59vw, 9px); line-height: 1.3; }

.tax-monthly { flex: 0 0 clamp(105px, 16vh, 150px); min-height: 0; padding: 8px 10px; border: 1px solid #3b7859; border-radius: 8px; background: #062b23; transition: border-color .35s, box-shadow .35s; }
.tax-scene[data-tax-stage="3"] .tax-monthly { border-color: #76fdae; box-shadow: 0 0 22px #2ce58538; }
.tax-monthly .tax-months { --tax-progress: 0; margin: 8px 0 5px; }
.tax-monthly .tax-months li { padding-top: 14px; font-size: 7px; }
.tax-monthly .tax-months li::before { width: 7px; height: 7px; }
.tax-monthly .tax-months::before { top: 4px; }
.tax-table-wrap { width: 100%; overflow: auto; }
.tax-monthly table { width: 100%; border-collapse: collapse; font-size: clamp(7px, .59vw, 9px); text-align: left; white-space: nowrap; }
.tax-monthly thead { background: #12453a; color: #effff2; }
.tax-monthly th,.tax-monthly td { padding: 4px 7px; border-bottom: 1px solid #47776766; }
.tax-monthly th { font-weight: 800; }.tax-monthly td { color: #dcebe0; }
.tax-monthly tbody tr:first-child { background: #edf6ed; color: #073123; }.tax-monthly tbody tr:first-child td { color: #073123; }
.tax-monthly tbody tr:last-child { background: #cfddd4; color: #073123; }.tax-monthly tbody tr:last-child td { color: #073123; }
.tax-dashboard-bottom { min-height: 24px; padding: 0 12px 7px; }

@media (max-width: 1200px) {
  .tax-showcase.shell { grid-template-columns: minmax(0, .28fr) minmax(0, .72fr); }
  .tax-top-chip { display: none; }
  .tax-chart-legend small { display: none; }
  .tax-scene-copy h2 { font-size: clamp(32px, 3.9vw, 52px); }
}
@media (max-height: 700px) and (min-width: 701px) {
  .tax-scene-copy > img { margin-bottom: 14px; }
  .tax-scene-points { gap: 7px; margin-bottom: 13px; }
  .tax-scene-points li > i { flex-basis: 34px; height: 34px; font-size: 18px; }
  .tax-dashboard-top { min-height: 52px; }
  .tax-kpis > .tax-kpi { min-height: 66px; }
  .tax-regime-grid { height: 92px; }
  .tax-monthly { flex-basis: 104px; }
}
@media (max-width: 700px) {
  .tax-story { height: 400svh; }
  .tax-stage::before { width: 100%; opacity: .35; }
  .tax-showcase.shell { display: flex; flex-direction: column; gap: 8px; justify-content: center; width: calc(100% - 22px); padding: 8px 0 20px; }
  .tax-scene-copy { flex: 0 0 auto; gap: 8px; }
  .tax-scene-copy > img { width: 82px; }
  .tax-scene-copy h2 { font-size: clamp(21px, 6vw, 30px); }
  .tax-scene-kicker,.tax-scene-lead,.tax-scene-points,.tax-scene-link,.tax-scene-copy > small { display: none; }
  .tax-dashboard { flex: 0 1 auto; width: 100%; height: min(720px, calc(100svh - 95px)); min-height: 0; border-radius: 12px; }
  .tax-dashboard-top { min-height: 44px; gap: 7px; padding: 6px 8px; }
  .tax-dashboard-top img { width: 68px; }
  .tax-dashboard-divider { display: none; }
  .tax-dashboard-top .tax-dashboard-title strong { font-size: 10px; }
  .tax-dashboard-top .tax-dashboard-title small { display: none; }
  .tax-producer { min-width: 0; padding: 4px 6px; }
  .tax-producer small { display: none; }
  .tax-producer strong { max-width: 95px; font-size: 7px; }
  .tax-tabs { min-height: 30px; gap: 1px; padding: 3px 4px 0; }
  .tax-tabs button { flex: 1; padding: 5px 1px; font-size: 7px; }
  .tax-panel-frame { gap: 5px; margin: 5px; }
  .tax-kpis { gap: 4px; }
  .tax-kpis > .tax-kpi { min-height: 57px; gap: 4px; padding: 6px; }
  .tax-kpis > .tax-kpi > .tax-kpi-icon { display: none; }
  .tax-kpis > .tax-kpi small { font-size: 7px; white-space: normal; }
  .tax-kpis > .tax-kpi strong { font-size: 16px; }
  .tax-kpi div > span { display: none; }
  .tax-regime-grid { gap: 4px; height: 90px; }
  .tax-regime { gap: 4px; padding: 7px; }
  .tax-regime > .tax-regime-radio { flex-basis: 9px; height: 9px; }
  .tax-regime small { margin-bottom: 5px; font-size: 7px; }
  .tax-regime strong { font-size: 11px; }
  .tax-regime p { font-size: 7px; }
  .tax-regime b { display: none; }
  .tax-analytics { grid-template-columns: 1fr .72fr; gap: 4px; min-height: 120px; }
  .tax-context-card { display: none; }
  .tax-analytics-card { padding: 6px; }
  .tax-analytics-head strong { font-size: 8px; }
  .tax-analytics-head span { display: none; }
  .tax-chart-legend { gap: 5px; font-size: 7px; }
  .tax-donut-wrap { flex-direction: column; gap: 3px; }
  .tax-donut { flex-basis: 53px; width: 53px; height: 53px; }
  .tax-donut span { font-size: 10px; }
  .tax-donut-wrap ul { display: none; }
  .tax-monthly { flex-basis: 121px; padding: 6px; }
  .tax-monthly .tax-months { margin: 6px 0 4px; }
  .tax-monthly .tax-months li { padding-top: 12px; font-size: 6px; }
  .tax-monthly table { min-width: 410px; font-size: 7px; }
  .tax-dashboard-bottom { min-height: 18px; gap: 6px; padding: 0 7px 5px; font-size: 6px; }
  .tax-dashboard-bottom > span:first-child { max-width: 105px; }
}
@media (prefers-reduced-motion: reduce) {
  .tax-regime,.tax-bar,.tax-donut::before,.tax-monthly { transition: none; }
}
