/* Hallmark · macrostructure: financial ledger · tone: compact · anchor hue: PayHr blue
 * Code critique: P4 H4 E4 S5 R5 V4. Uses existing tokens; browser testing deferred to user. */
.payroll-taxes { max-width: 1200px; margin-inline: auto; min-width: 0; color: var(--color-ink); font-family: var(--font-body); font-size: var(--text-sm); }
.payroll-taxes h1 { font-size: var(--text-title); margin: 0 0 var(--space-xs); }
.payroll-taxes h2 { font-size: var(--text-section); margin: 0; }
.payroll-taxes h3 { font-size: var(--text-sm); margin-block: var(--space-md) var(--space-sm); }
.payroll-taxes :is(h1,h2,h3,summary) { font-style: normal; overflow-wrap: anywhere; }
.taxes-heading, .taxes-section-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-md); margin-bottom: var(--space-lg); }
.taxes-heading p, .taxes-help { color: var(--color-slate); font-size: var(--text-xs); line-height: 1.6; }
.taxes-totals { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-block: 1px solid var(--color-rule); padding-block: var(--space-lg); gap: var(--space-lg); margin-block: var(--space-lg) var(--space-sm); }
.taxes-totals dt { color: var(--color-slate); font-size: var(--text-xs); margin-bottom: var(--space-xs); }
.taxes-totals dd { font-size: 24px; font-weight: 600; margin: 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.taxes-year { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; column-gap: var(--space-xs); row-gap: var(--space-xs); }
.payroll-taxes .taxes-year label { grid-column: 1 / -1; margin: 0; line-height: 1; }
.payroll-taxes .taxes-year .ui-combobox { margin: 0; }
.payroll-taxes .taxes-year .ui-combobox > .ui-combobox-input { height: var(--size-control); min-height: var(--size-control); }
.payroll-taxes .taxes-year button[type="submit"] { height: var(--size-control); min-height: var(--size-control); padding-block: 0; }
.payroll-taxes label { display: grid; gap: var(--space-xs); font-size: var(--text-xs); }
.payroll-taxes :is(input,select) { min-width: 0; width: 100%; min-height: 42px; border: 1px solid var(--color-rule-control); border-radius: var(--radius-base); padding: var(--space-xs) var(--space-sm); color: var(--color-ink); background: var(--color-paper); font: inherit; box-sizing: border-box; }
.taxes-form { display: grid; gap: var(--space-md); max-width: 440px; margin-block: var(--space-md); }
.payroll-taxes .taxes-check { display: flex; align-items: flex-start; line-height: 1.5; }
.payroll-taxes .taxes-check input { width: 16px; height: 16px; min-height: 16px; flex: 0 0 16px; accent-color: var(--color-accent); }
.payroll-taxes :is(.primary,.secondary) { width: auto; justify-self: start; min-height: 40px; padding: var(--space-xs) var(--space-md); border-radius: var(--radius-pill); white-space: nowrap; font-size: var(--text-xs); text-decoration: none; }
.payroll-taxes .primary { background: var(--color-accent); color: var(--color-paper); }
.payroll-taxes .primary:hover { background: var(--color-accent-hover); }
.payroll-taxes :is(button,input,select,summary,a):focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
.payroll-taxes button:disabled { opacity: .6; cursor: wait; }
.taxes-schedule-page { max-width: 900px; }
.taxes-schedule-page .taxes-heading { align-items: end; }
.taxes-schedule-page .taxes-heading p { max-width: 70ch; margin: 0; font-size: var(--text-sm); }
.taxes-schedule-card { margin-top: var(--space-md); padding: var(--space-lg); border: 1px solid var(--color-rule); border-radius: var(--radius-base); background: var(--color-paper); }
.taxes-schedule-card-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-sm); }
.taxes-schedule-card-heading .taxes-help { margin: var(--space-xs) 0 0; }
.taxes-schedule-current { color: var(--color-slate); font-size: var(--text-xs); }
.taxes-schedule-footer { margin-top: var(--space-lg); }
.taxes-schedule-footer a { color: var(--color-link); }
.payroll-taxes summary { cursor: pointer; font-weight: 600; padding-block: var(--space-xs); }
.payroll-taxes summary:hover { color: var(--color-accent-hover); }
.taxes-section-heading a { font-size: var(--text-xs); color: var(--color-link); }
.taxes-section-heading { margin-top: var(--space-xl); }
.taxes-table-scroll { overflow-x: auto; border: 1px solid var(--color-rule); border-radius: var(--radius-base); }
.taxes-table { width: 100%; border-collapse: collapse; min-width: 760px; font-size: var(--text-xs); }
.taxes-table :is(th,td) { text-align: left; padding: var(--space-md); vertical-align: top; }
.taxes-table th { color: var(--color-slate); font-weight: 500; background: var(--color-surface-muted); }
.taxes-table td { border-top: 1px solid var(--color-rule); }
.taxes-table .amount { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.taxes-table small { display: block; margin-top: var(--space-xs); color: var(--color-slate); }
.taxes-status { display: inline-block; white-space: nowrap; border-radius: var(--radius-pill); padding: var(--space-2xs) var(--space-xs); background: var(--color-surface-muted); }
.taxes-status[data-status="paid"] { color: var(--color-success); background: var(--color-success-tint); }
.taxes-status[data-status="overdue"] { color: var(--color-error); background: var(--color-error-tint); }
.taxes-detail-row > td { padding-top: 0; border-top: 0; }
.taxes-detail-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-xl); padding-block: var(--space-md); }
.taxes-breakdown { width: 100%; border-collapse: collapse; }
.taxes-breakdown :is(td,th) { padding: var(--space-xs); }
.taxes-payment-list, .taxes-payroll-list { list-style: none; padding: 0; }
.taxes-payment-list li, .taxes-payroll-list li { padding-block: var(--space-sm); border-bottom: 1px solid var(--color-rule); overflow-wrap: anywhere; }
.taxes-payment-list span { display: block; margin-top: var(--space-xs); }
.taxes-payroll-list li { display: flex; justify-content: space-between; gap: var(--space-sm); }
.taxes-error, .taxes-notice { padding: var(--space-md); border-radius: var(--radius-base); }
.taxes-error { background: var(--color-error-tint); color: var(--color-error); }
.taxes-notice { background: var(--color-success-tint); color: var(--color-success); }
.taxes-empty { padding: var(--space-xl) var(--space-md); border: 1px solid var(--color-rule); border-radius: var(--radius-base); }
@media(max-width:700px) { .taxes-totals { grid-template-columns: repeat(2,minmax(0,1fr)); } .taxes-detail-layout { grid-template-columns: minmax(0,1fr); } .taxes-totals dd { font-size: var(--text-section); } }

/* Hallmark · macrostructure: Stat-Led · tone: utilitarian · theme: existing PayHr blue and white · pre-emit critique: P5 H5 E4 S5 R5 V4 */
.taxes-ledger-page { max-width: none; }
.taxes-ledger-page .taxes-heading { margin-bottom: var(--space-xl); }
.taxes-ledger-page .taxes-heading h1 { color: var(--color-graphite); font-family: var(--font-display); overflow-wrap: anywhere; }
.taxes-ledger-page .taxes-heading p { margin: 0; font-size: var(--text-sm); }
.taxes-status-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-md); padding-bottom: var(--space-md); border-bottom: 1px solid var(--color-rule); }
.taxes-status-tab { display: flex; min-width: 0; min-height: 140px; flex-direction: column; justify-content: center; align-items: center; gap: var(--space-xs); padding: var(--space-md); border-radius: var(--radius-base); color: var(--color-ink); text-align: center; text-decoration: none; box-sizing: border-box; }
.taxes-status-tab:hover, .taxes-status-tab:focus-visible { background: var(--color-surface-muted); }
.taxes-status-tab.is-current { background: var(--color-surface-muted); }
.taxes-status-tab strong { font-size: clamp(24px, 3vw, var(--text-amount)); font-weight: 500; line-height: 1.15; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.taxes-status-tab span { color: var(--color-slate); font-size: var(--text-sm); font-weight: 700; }
.taxes-tab-intro { max-width: 85ch; margin: var(--space-xl) auto; text-align: center; }
.taxes-tab-intro h2 { color: var(--color-graphite); font-size: clamp(var(--text-section), 2.2vw, 28px); font-weight: 500; }
.taxes-tab-intro p { margin: var(--space-sm) 0 0; color: var(--color-slate); font-size: var(--text-base); line-height: 1.6; }
.taxes-ledger-page .taxes-section-heading { margin-top: var(--space-xl); margin-bottom: var(--space-md); }
.taxes-filters { display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-md); padding: var(--space-lg); border-radius: var(--radius-base); background: var(--color-surface-muted); }
.taxes-filters label { min-width: 170px; }
.taxes-filters .taxes-filter-results { width: 100%; margin: 0; color: var(--color-slate); text-align: right; font-variant-numeric: tabular-nums; }
.taxes-filters .text-button { min-height: 42px; display: inline-flex; align-items: center; white-space: nowrap; }
.taxes-liability-list { min-width: 0; }
.taxes-liability-head, .taxes-liability-summary { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1.2fr) minmax(0, 1.2fr) minmax(0, 1fr) 28px; align-items: center; gap: var(--space-md); }
.taxes-liability-head { padding: var(--space-md); border-bottom: 2px solid var(--color-rule-heavy); font-weight: 700; }
.taxes-liability-summary { min-height: 72px; padding: var(--space-md); border-bottom: 1px solid var(--color-rule); font-weight: 400 !important; list-style: none; }
.taxes-liability-summary::-webkit-details-marker { display: none; }
.taxes-liability-summary:hover { background: var(--color-surface-muted); }
.taxes-liability-name { min-width: 0; }
.taxes-liability-name strong { display: block; font-weight: 600; }
.taxes-liability-name small { display: block; margin-top: var(--space-2xs); color: var(--color-slate); }
.taxes-liability-summary .amount, .taxes-liability-head .amount { text-align: right; font-variant-numeric: tabular-nums; }
.taxes-liability-chevron { color: var(--color-link); }
.taxes-liability-chevron .workspace-icon { width: 20px; height: 20px; transition: transform var(--dur-micro) var(--ease-out); }
.taxes-liability[open] .taxes-liability-chevron .workspace-icon { transform: rotate(180deg); }
.taxes-liability-details { padding: var(--space-xl) var(--space-lg); border-bottom: 1px solid var(--color-rule); }
.taxes-liability-tables { display: grid; gap: var(--space-lg); max-width: 850px; margin-inline: auto; }
.taxes-ledger-page .taxes-breakdown { width: 100%; font-size: var(--text-sm); font-variant-numeric: tabular-nums; }
.taxes-ledger-page .taxes-breakdown :is(th,td) { padding: var(--space-sm) var(--space-xs); border-bottom: 1px solid var(--color-rule); text-align: left; }
.taxes-ledger-page .taxes-breakdown thead th { border-bottom: 2px solid var(--color-rule-heavy); font-weight: 700; }
.taxes-ledger-page .taxes-breakdown .amount { text-align: right; white-space: nowrap; }
.taxes-ledger-page .taxes-breakdown a { color: var(--color-link); font-weight: 600; }
.taxes-ledger-page .taxes-breakdown .taxes-total-row :is(th,td) { font-weight: 700; }
.taxes-liability-details > .taxes-help { max-width: 850px; margin: var(--space-md) auto 0; }
.taxes-payment-section { max-width: 850px; margin: var(--space-lg) auto 0; padding-top: var(--space-md); border-top: 1px solid var(--color-rule); }
.taxes-payment-section h3 { margin: 0 0 var(--space-sm); font-size: var(--text-base); }
.taxes-record { max-width: 500px; margin-top: var(--space-md); padding: var(--space-md); border: 1px solid var(--color-rule); border-radius: var(--radius-base); }
.taxes-record > summary { color: var(--color-link); }
.taxes-ledger-page .taxes-empty { border: 0; background: var(--color-surface-muted); text-align: center; }
@media (max-width: 760px) {
  .taxes-status-nav { gap: var(--space-xs); }
  .taxes-status-tab { min-height: 112px; padding: var(--space-sm) var(--space-xs); }
  .taxes-status-tab span { font-size: var(--text-xs); }
  .taxes-liability-head { display: none; }
  .taxes-liability-summary { grid-template-columns: minmax(0, 1fr) auto 20px; gap: var(--space-xs); }
  .taxes-liability-summary > span:nth-child(2), .taxes-liability-summary > span:nth-child(3) { grid-row: 2; color: var(--color-slate); font-size: var(--text-xs); }
  .taxes-liability-summary > span:nth-child(2) { grid-column: 1; }
  .taxes-liability-summary > span:nth-child(3) { grid-column: 2; }
  .taxes-liability-summary > span:nth-child(2)::before { content: "Due "; }
  .taxes-liability-summary > span:nth-child(3)::before { content: "Incurred "; }
  .taxes-liability-summary > .amount { grid-column: 2; grid-row: 1; }
  .taxes-liability-chevron { grid-column: 3; grid-row: 1; }
  .taxes-liability-details { padding: var(--space-lg) var(--space-xs); }
  .taxes-filters label { min-width: min(100%, 170px); flex: 1; }
}
@media (max-width: 480px) {
  .taxes-status-nav { grid-template-columns: minmax(0, 1fr); }
  .taxes-status-tab { flex-direction: row; justify-content: space-between; min-height: 68px; padding: var(--space-sm) var(--space-md); }
  .taxes-status-tab strong { font-size: 24px; }
  .taxes-status-tab span { font-size: var(--text-sm); }
  .taxes-liability-summary { grid-template-columns: minmax(0, 1fr) auto; }
  .taxes-liability-summary > span:nth-child(2), .taxes-liability-summary > span:nth-child(3) { grid-column: 1 / -1; grid-row: auto; }
  .taxes-liability-summary > .amount { grid-column: 2; }
  .taxes-liability-chevron { display: none; }
  .taxes-ledger-page .taxes-breakdown { font-size: var(--text-xs); }
}
@media (prefers-reduced-motion: reduce) { .taxes-liability-chevron .workspace-icon { transition: none; } }
