.investment-tax-form { display: grid; gap: 20px; }
.tax-field-help { display: block; margin-top: 7px; color: var(--muted); font-size: .8rem; line-height: 1.45; }
.form-error { display: block; margin-top: 6px; color: #7e3f4d; font-size: .8rem; font-weight: 720; }
.form-field select { width: 100%; height: 50px; padding: 10px 38px 10px 13px; border: 1px solid #cbd8e1; color: var(--navy-950); background: white; border-radius: 10px; cursor: pointer; }
.form-field select:focus { border-color: var(--cyan-500); box-shadow: 0 0 0 3px rgba(23, 201, 195, .12); outline: 0; }
.tax-section-note { margin: 18px 0 0; color: var(--muted); font-size: .86rem; }
.tax-history-note { margin-top: 20px; }
.tax-history-note .text-link { display: inline; }
.tax-calculation-result { margin-top: 56px; scroll-margin-top: calc(var(--header-height) + 24px); }
.tax-result-heading { margin-bottom: 26px; }
.tax-result-heading h2 { margin: 0; color: var(--positive); font-size: clamp(2.3rem, 7vw, 4.2rem); font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
.tax-result-heading p:last-child { margin: 5px 0 0; color: var(--muted); }
.tax-result-grid { display: grid; gap: 16px; }
.tax-result-card { min-width: 0; padding: 24px; border: 1px solid var(--line); background: white; border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.tax-result-card h3 { margin-bottom: 12px; font-size: 1.2rem; }
.tax-result-list, .tax-totals { margin: 0; }
.tax-result-list .tax-summary-row:last-child { border-bottom: 0; }
.tax-summary-row { display: flex; padding: 10px 0; align-items: baseline; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); }
.tax-summary-row dt { color: var(--muted); }
.tax-summary-row dd { min-width: 0; margin: 0; color: var(--navy-950); font-weight: 800; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; text-align: right; }
.tax-summary-row--strong dt, .tax-summary-row--strong dd { color: var(--navy-900); font-weight: 850; }
.tax-result-card--compensation { margin-top: 16px; border-color: #b8e1dd; background: var(--surface-cyan); box-shadow: none; }
.tax-totals { margin-top: 20px; padding: clamp(22px, 4vw, 34px); border: 1px solid var(--line); background: var(--navy-950); border-radius: var(--radius-lg); }
.tax-totals .tax-summary-row { border-color: rgba(255, 255, 255, .13); }
.tax-totals .tax-summary-row:last-child { border-bottom: 0; }
.tax-totals dt { color: #b9ccda; }
.tax-totals dd { color: white; }
.tax-totals .tax-summary-row--primary { padding: 20px 0; }
.tax-totals .tax-summary-row--primary dt { color: white; font-weight: 850; }
.tax-totals .tax-summary-row--primary dd { color: var(--cyan-400); font-size: clamp(1.5rem, 5vw, 2.25rem); letter-spacing: -.03em; }
.tax-pending-note { margin-top: 20px; }
.tax-bracket-section { margin-top: 42px; }
.tax-bracket-section h3 { margin-bottom: 16px; font-size: 1.55rem; }
.tax-bracket-list { display: grid; gap: 12px; }
.tax-bracket-card { display: grid; min-width: 0; padding: 20px; border: 1px solid var(--line); background: var(--surface-soft); border-radius: var(--radius-md); gap: 5px; }
.tax-bracket-card strong { color: var(--navy-950); font-size: 1.12rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.tax-bracket-card > span:last-child { color: var(--muted); font-size: .88rem; }
.tax-empty-result { margin: 0; padding: 20px; color: var(--muted); background: var(--surface-soft); border-radius: var(--radius-md); }
.tax-related-grid { display: grid; gap: 14px; }
.tax-related-card { padding: 22px; border: 1px solid var(--line); background: white; border-radius: var(--radius-md); }
.tax-related-card h3 { margin-bottom: 7px; font-size: 1.08rem; }
.tax-related-card p { margin-bottom: 12px; font-size: .9rem; }

@media (min-width: 620px) {
  .tax-result-grid, .tax-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tax-bracket-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 419px) {
  .tax-summary-row { display: block; }
  .tax-summary-row dd { margin-top: 2px; text-align: left; }
  .tax-totals { padding: 20px 16px; }
}
