.tax-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.tax-stat-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.tax-stat{background:#fff;border:1px solid #e8e8e8;border-radius:14px;padding:22px;min-width:0}.tax-stat>span{display:block;font-size:12px;color:#707070}.tax-stat>strong{display:block;font-size:clamp(22px,2.2vw,32px);font-weight:600;letter-spacing:-1px;line-height:1.4;margin:10px 0;overflow-wrap:anywhere}.tax-stat p{font-size:11px;color:#707070;margin:0;line-height:1.6}.tax-stat-accent{background:#303030;color:#fff;border-color:#303030}.tax-stat-accent>span,.tax-stat-accent p{color:#d1d1d1}.tax-two-col{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;margin:20px 0;align-items:start}.tax-two-col.projection{grid-template-columns:minmax(270px,.7fr) minmax(0,1.7fr)}.tax-two-col>.panel{min-width:0}.tax-two-col .panel>.panel{margin:20px;border:none;box-shadow:none}.tax-settings-form .form-grid{gap:18px}.tax-settings-form label,.tax-two-col.projection form label{display:flex;flex-direction:column;gap:8px;font-size:12px}.tax-settings-form label[hidden],.tax-two-col.projection form label[hidden]{display:none}.tax-form-footer{display:flex;align-items:center;gap:14px;margin-top:24px}.tax-form-footer .hint{max-width:230px;font-size:12px;font-weight:400;color:var(--muted);line-height:1.6}.tax-breakdown{padding:10px 24px 20px}.tax-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0;border-bottom:1px solid #f0f0f0;font-size:13px}.tax-breakdown-total{color:#606060}.tax-note{font-size:12px;line-height:1.75;color:#707070;padding:0 24px 20px;margin:0}.tax-sources{font-size:11px;line-height:1.8;color:#707070}.tax-sources a,.tax-assumptions a{color:#606060;text-decoration:underline;text-underline-offset:3px}.tax-assumptions,.tax-presets{margin:24px 0;padding:20px 24px;background:#f5f5f5;border:1px solid #e8e8e8;border-radius:12px;font-size:12px;color:#606060;line-height:1.8}.tax-assumptions summary,.tax-presets summary{font-weight:600;color:#404040;cursor:pointer}.tax-assumptions li{margin:10px 0}.tax-bracket-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:20px 0}.tax-bracket-grid h3{font-size:12px}.tax-presets .tax-note{padding:16px 0 0}.tax-rate-table th,.tax-rate-table td{padding:8px 5px;font-size:11px}.tax-composition{padding:14px 24px 18px}.tax-composition-row{display:grid;grid-template-columns:145px minmax(20px,1fr) 88px;gap:10px;align-items:center;margin:16px 0;font-size:11px}.tax-composition-row>div{height:9px;background:#f0f0f0;border-radius:8px;overflow:hidden}.tax-composition-row i{height:100%;display:block;min-width:0;border-radius:8px}.tax-composition-row strong{text-align:right;font-variant-numeric:tabular-nums}.tax-color-0,.tax-bar-net{background:#606060}.tax-color-1,.tax-bar-gross{background:#a3a3a3}.tax-color-2,.retirement{background:#7d7d7d;background-image:repeating-linear-gradient(135deg,transparent 0,transparent 3px,#ffffff50 3px,#ffffff50 5px)}.tax-color-3{background:#b8b8b8}.tax-month-chart{display:flex;align-items:flex-end;gap:5px;height:205px;margin:12px 24px 0;border-bottom:1px solid #e8e8e8}.tax-month{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end}.tax-month-track{height:178px;display:flex;align-items:flex-end}.tax-month-track i{display:block;width:100%;background:#a3a3a3;border-radius:3px 3px 0 0;min-height:0}.tax-month.forecast i{background:#606060}.tax-month>span{height:26px;font-size:9px;color:#707070;white-space:nowrap;padding-top:7px}.tax-chart-legend{display:flex;flex-wrap:wrap;gap:18px;padding:16px 24px;font-size:10px;color:#707070}.tax-chart-legend span{display:flex;align-items:center;gap:6px}.tax-chart-legend i{display:inline-block;width:10px;height:10px;border-radius:3px}.tax-holding-chart{padding:6px 24px 10px}.tax-holding-row{display:grid;grid-template-columns:140px minmax(0,1fr) 160px;align-items:center;gap:18px;margin:20px 0}.tax-holding-row>div:first-child strong{font-size:12px}.tax-holding-row>div:first-child span{display:block;font-size:10px;color:#707070;margin-top:5px;overflow-wrap:anywhere}.tax-holding-bars>div{height:9px;background:#f5f5f5;border-radius:6px;margin:6px 0;overflow:hidden}.tax-holding-bars i{display:block;height:100%;border-radius:6px}.tax-holding-values{text-align:right;font-variant-numeric:tabular-nums}.tax-holding-values strong{font-size:12px}.tax-holding-values span{display:block;font-size:10px;color:#707070;margin-top:6px}.tax-two-col.projection form{display:grid;gap:20px}.tax-two-col.projection form .tax-note{padding:0}.tax-two-col.projection>.panel>.btn{margin:0 24px 24px}.tax-two-col.projection .tax-stat-grid{padding:0 20px;gap:10px}.tax-two-col.projection .tax-stat{padding:16px}.tax-two-col.projection .tax-stat>strong{font-size:23px}.tax-two-col .panel-head{gap:12px}.tax-two-col .panel-head select{max-width:150px}
.tax-future-chart{height:220px;display:flex;gap:18px;margin:20px 24px 0;border-bottom:1px solid #e8e8e8}.tax-future-month{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end}.tax-future-bars{display:flex;align-items:flex-end;gap:3px;height:192px}.tax-future-bars i{flex:1;display:block;border-radius:3px 3px 0 0;min-width:1px}.tax-future-month>span{height:28px;padding-top:8px;font-size:10px;color:#707070;text-align:center}.tax-month-details{margin:0 24px 18px;font-size:12px;color:#606060}.tax-month-details summary{cursor:pointer;font-weight:600;margin-bottom:14px}
@media(max-width:1250px){.tax-stat-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.tax-two-col{grid-template-columns:1fr}.tax-two-col.projection{grid-template-columns:1fr}.tax-bracket-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.tax-stat-grid,.tax-stat-grid.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tax-stat{padding:16px}.tax-stat>strong{font-size:23px}.tax-stat-grid:not(.four) .tax-stat:last-child{grid-column:1/-1}.tax-bracket-grid{grid-template-columns:1fr}.tax-form-footer{align-items:flex-start;flex-direction:column}.tax-composition-row{grid-template-columns:115px minmax(10px,1fr) 75px;gap:6px}.tax-holding-row{grid-template-columns:80px minmax(20px,1fr) 100px;gap:10px}.tax-holding-chart,.tax-composition{padding-left:16px;padding-right:16px}.tax-month-chart{gap:3px;margin-left:16px;margin-right:16px}.tax-note{padding-left:16px;padding-right:16px}.tax-two-col .panel>.panel{margin:10px}.tax-settings-form .form-grid{grid-template-columns:1fr}.tax-two-col.projection .tax-stat-grid{padding:0 12px}.tax-future-chart{gap:7px;margin-left:16px;margin-right:16px}.tax-future-bars{gap:2px}.tax-future-month>span{font-size:8px}.tax-month-details{margin-left:16px;margin-right:16px}}

.cashflow-view-controls{display:flex;flex-wrap:wrap;gap:4px;background:#f0f0f0;border:1px solid #e8e8e8;border-radius:12px;padding:5px;margin:20px 0 14px;max-width:650px}.cashflow-view-controls button{flex:1;min-width:115px;border:0;border-radius:8px;padding:12px 16px;background:transparent;color:#707070;font-size:12px;cursor:pointer}.cashflow-view-controls button.active{background:#525252;color:#fff;box-shadow:0 2px 4px #30303012}.cashflow-view-controls button:focus-visible{outline:2px solid #525252;outline-offset:3px}.cashflow-equation{display:flex;align-items:center;gap:14px;margin:12px 0;font-size:12px;color:#707070}.cashflow-equation strong{color:#404040;font-size:14px}.cashflow-chart-wrap{padding:10px 16px 0;overflow-x:auto}.cashflow-chart{width:100%;min-width:650px;height:auto;display:block}.cashflow-zero{stroke:#a3a3a3;stroke-width:1}.cashflow-positive{fill:#4d805f}.cashflow-income{fill:#606060}.cashflow-negative{fill:#bc635e}.cashflow-chart-amount{font-size:10px;fill:#606060;font-variant-numeric:tabular-nums}.cashflow-chart-month{font-size:11px;fill:#707070}@media(max-width:650px){.cashflow-equation{align-items:flex-start;flex-direction:column;gap:6px}.cashflow-view-controls button{min-width:45%;padding:11px 9px}}

/* Labeled, keyboard-accessible distribution history. */
.distribution-history-plot{display:grid;grid-template-columns:66px minmax(0,1fr);margin:20px 20px 0 12px;gap:8px}
.distribution-y-axis{display:flex;flex-direction:column;justify-content:space-between;height:160px;font-size:10px;text-align:right;color:var(--muted,#707070);font-variant-numeric:tabular-nums}
.distribution-history-plot .tax-month-chart{margin:0;padding:0;height:186px;overflow:visible;align-items:stretch}
.distribution-history-plot .tax-month{border:0;background:none;padding:0;min-width:0;position:relative;cursor:pointer;color:inherit;font:inherit}
.distribution-history-plot .tax-month-track{display:flex;height:160px;align-items:flex-end;background:repeating-linear-gradient(to top,transparent 0,transparent 39px,#f0f0f0 39px,#f0f0f0 40px)}
.distribution-history-plot .tax-month-track i{width:100%}
.distribution-history-plot .tax-month>span:last-child{font-size:9px;white-space:nowrap}
.distribution-tooltip{display:none;position:absolute;bottom:calc(100% + 5px);left:50%;transform:translateX(-50%);z-index:4;background:#303030;color:white;padding:8px;border-radius:6px;white-space:nowrap;font-size:11px;pointer-events:none}
.tax-month:hover .distribution-tooltip,.tax-month:focus-visible .distribution-tooltip{display:block}
/* Edge-month tooltips open inward. */
.tax-month:nth-child(-n+4) .distribution-tooltip{left:0;transform:none}
.tax-month:nth-last-child(-n+4) .distribution-tooltip{left:auto;right:0;transform:none}
.tax-month[aria-pressed=true] .tax-month-track i{outline:2px solid #303030;outline-offset:2px}
.distribution-grid{stroke:#e8e8e8;stroke-width:1;stroke-dasharray:3 4}

.distribution-history-plot .tax-month>.distribution-tooltip{height:auto;padding:8px;font-size:12px;color:#fff;line-height:1.4}
.distribution-history-plot .tax-month>.tax-month-track{padding-top:0}
.cashflow-basis{display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap;margin:18px 0 14px;color:var(--muted);font-size:12px}
.cashflow-basis>div{display:flex;flex-wrap:wrap;gap:6px}.cashflow-basis button{background:white;border:1px solid var(--border);border-radius:7px;padding:8px 12px;font-size:12px;color:var(--muted)}
.cashflow-basis button[aria-pressed=true]{color:var(--teal);border-color:var(--teal);background:#f5f5f5;font-weight:600}

.tax-visual-heading{margin:28px 0 18px}.tax-visual-heading p{font-size:13px;color:var(--muted);margin-top:6px}.tax-bracket-visuals{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,450px),1fr));gap:20px;align-items:start}.tax-bracket-visuals>.panel{min-width:0}.tax-bracket-usage .panel-head{flex-wrap:wrap}.bracket-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:24px}.bracket-metrics span{display:block;color:var(--muted);font-size:12px}.bracket-metrics strong{display:block;margin-top:8px;font-size:21px;font-weight:600;overflow-wrap:anywhere}.bracket-waterfall{display:block;width:100%;height:auto;padding:0 14px}.bracket-waterfall text{font-family:inherit;font-size:11px;fill:#707070}.bracket-fill{display:flex;width:130px;height:12px;background:#f0f0f0;border-radius:4px;overflow:hidden}.bracket-fill i{height:100%;display:block}.blocked{background:#d6d6d6;background-image:repeating-linear-gradient(135deg,transparent 0,transparent 3px,#ffffff88 3px,#ffffff88 5px)}.existing{background:#a3a3a3}.portfolio{background:#525252}.bracket-legend{display:flex;gap:12px;flex-wrap:wrap;padding:18px 24px;color:var(--muted);font-size:11px}.bracket-legend span{display:flex;align-items:center;gap:6px}.bracket-legend i{width:10px;height:10px;border-radius:2px;display:inline-block}.tax-bracket-usage td{font-size:12px;padding:13px}.tax-bracket-usage th{font-size:10px;padding:13px}.niit-detail,.deduction-panel{margin:24px 0}.niit-equation{margin:0 24px 18px;padding:18px;border-radius:9px;background:#f5f5f5;color:#525252;font-size:15px;line-height:1.8}.deduction-panel form{padding:0 24px 24px}.deduction-panel label{font-size:13px}.deduction-panel .hint{font-size:12px;color:var(--muted);line-height:1.5;font-weight:400}.deduction-expense-review{margin-top:24px}.deduction-expense-review summary{cursor:pointer;color:var(--teal);font-size:14px;margin-bottom:14px}.deduction-expense-review .table-wrap{margin-top:16px}.deduction-expense-review td{white-space:normal;min-width:145px;font-size:12px;padding:12px}.deduction-expense-review select,.deduction-expense-review input{font-size:12px;padding:9px}.deduction-expense-review .muted{font-size:11px}.tax-note>summary{cursor:pointer;margin-bottom:8px}
@media(orientation:portrait){.tax-bracket-visuals{grid-template-columns:1fr}}@media(max-width:650px){.bracket-metrics{gap:10px;padding:18px}.bracket-metrics strong{font-size:18px}.deduction-panel form{padding:0 18px 18px}.niit-equation{margin:0 18px 18px;font-size:13px}}
.mortgage-tax-breakdown{padding:0 24px 24px}.mortgage-tax-breakdown h3{font-size:15px;margin:0 0 16px}.mortgage-tax-breakdown td{font-size:12px;padding:14px 10px}.mortgage-tax-breakdown th{font-size:10px;padding:12px 10px}.mortgage-tax-breakdown .muted{font-size:11px;margin-top:5px}.mortgage-tax-breakdown .tax-note{padding:16px 0 0}.mortgage-tax-breakdown h4{margin:20px 0 8px}@media(max-width:650px){.mortgage-tax-breakdown{padding:0 18px 18px}}
@media(max-width:650px){.bracket-metrics{grid-template-columns:1fr;gap:14px}.bracket-metrics>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.bracket-metrics strong{margin-top:0;white-space:nowrap;overflow-wrap:normal}.bracket-metrics span{max-width:60%}}

/* Shared federal and state bracket tables stay compact within their panels. */
.tax-bracket-table{font-variant-numeric:tabular-nums}.tax-bracket-usage .tax-bracket-table th,.tax-bracket-usage .tax-bracket-table td{padding:11px 10px}.tax-bracket-table th[scope=row]{font-size:11px;font-weight:400;text-transform:none;white-space:nowrap;letter-spacing:0;background:transparent;color:inherit;border-top:0;border-bottom:1px solid #f0f0f0}.tax-bracket-table tr:last-child th[scope=row]{border-bottom:0}.tax-bracket-table .bracket-fill{width:100px;max-width:100%}.tax-bracket-table td:nth-child(2){white-space:nowrap}.tax-bracket-usage .table-wrap{max-width:100%}

.tax-bracket-usage{container-type:inline-size}.tax-bracket-usage .bracket-metrics strong{font-size:clamp(16px,3.8cqw,21px)}

/* Preserve all five columns in side-by-side desktop cards; phones scroll the table. */
.tax-bracket-table{table-layout:fixed;min-width:440px;width:100%}
.tax-bracket-usage .tax-bracket-table th,.tax-bracket-usage .tax-bracket-table td{padding:11px 6px}
.tax-bracket-usage .tax-bracket-table thead th{white-space:normal;font-size:9px;letter-spacing:.3px;line-height:1.5;vertical-align:middle}
.tax-bracket-usage .tax-bracket-table td{font-size:11px}
.tax-bracket-table thead th:nth-child(1){width:31%}
.tax-bracket-table thead th:nth-child(2){width:9%}
.tax-bracket-table thead th:nth-child(3){width:16%}
.tax-bracket-table thead th:nth-child(4),.tax-bracket-table thead th:nth-child(5){width:22%}
.tax-bracket-table .bracket-fill{width:100%}

.distribution-chart-subheading{display:flex;align-items:center;gap:6px}
.distribution-schedule{margin:24px 0}.distribution-schedule .panel-head{padding-bottom:20px}.distribution-month-picker{font-size:12px;color:var(--muted);font-weight:400}.distribution-month-picker select{font-size:12px;min-width:190px}.distribution-schedule tfoot th{text-transform:none;font-size:12px;letter-spacing:0}
@media(max-width:700px){.distribution-schedule .panel-head{flex-wrap:wrap;align-items:flex-start}.distribution-month-picker{width:100%}.distribution-month-picker select{min-width:0}.distribution-schedule table{width:100%;table-layout:fixed}.distribution-schedule td,.distribution-schedule th{white-space:normal;overflow-wrap:anywhere;min-width:0;padding:10px 7px;font-size:11px}.distribution-schedule thead th{text-transform:none;letter-spacing:0;overflow-wrap:normal}.distribution-schedule thead th:first-child{width:29%}.distribution-schedule thead th:nth-child(2){width:41%}.distribution-schedule thead th:last-child{width:30%}.distribution-schedule td .muted,.distribution-schedule .distribution-after-tax{font-size:11px}.distribution-schedule td strong{font-size:12px}}

.distribution-schedule-scroll{max-height:540px;overflow:auto;overscroll-behavior:contain}
/* Keep the schedule header visible while scrolling. */
.distribution-schedule-scroll thead th{position:sticky;top:0;z-index:1;background:#f8fafb}
.distribution-schedule-scroll tfoot th{position:sticky;bottom:0;z-index:1;background:#f8fafb}
.distribution-schedule-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}

.distribution-schedule .distribution-after-tax{font-size:12px;font-weight:400}
.distribution-schedule tbody tr.distribution-date-past{background:#f3f3f3}

.distribution-schedule thead .stat-info-tooltip{text-transform:none;letter-spacing:normal}

.tax-settings-panel .panel-head{flex-wrap:wrap;align-items:center}
.tax-settings-panel .panel-head .btn{font-size:12px;padding:9px 12px;white-space:nowrap}
.tax-settings-panel .panel-body[hidden]{display:none}
.tax-settings-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;margin:0;padding:0 24px 24px}
.tax-settings-summary div{min-width:0}.tax-settings-summary dt{font-size:11px;color:var(--muted);margin-bottom:5px}.tax-settings-summary dd{margin:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:650px){.tax-settings-summary{gap:16px;padding:0 18px 18px}.tax-settings-summary dd{font-size:12px}.tax-settings-panel .panel-head{gap:10px}}

.tax-visual-heading .stat-info>button{font-size:12px}

.tax-stat-grid.four.tax-effective-rates{grid-template-columns:repeat(4,minmax(0,1fr))}.tax-effective-rates .stat-info>button{font-size:10px}
@media(max-width:650px){.tax-stat-grid.four.tax-effective-rates{grid-template-columns:repeat(2,minmax(0,1fr))}}
