/* Two task surfaces using the current shared Grain & Glass tokens. */
.tax-tool{max-width:1100px;margin-inline:auto}
.tax-tool .breadcrumb{align-items:center;margin-bottom:var(--space-md)}
.tax-page-head{margin-bottom:var(--space-lg)}
.tax-reviewed,.tax-example,.tax-small,.tax-source{font-size:var(--text-sm);color:var(--muted)}
.tax-reviewed{margin-top:var(--space-lg)}
.tax-example{margin-bottom:var(--space-lg)}
.tax-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);gap:var(--space-lg);align-items:start}
.tax-inputs,.tax-result{padding:var(--space-xl);border-radius:var(--panel-radius);background-image:linear-gradient(125deg,color-mix(in srgb,var(--grain-neutral-start) 68%,transparent),color-mix(in srgb,var(--grain-neutral-end) 68%,transparent)),var(--grain-image),linear-gradient(125deg,var(--grain-neutral-start),var(--grain-neutral-end));background-size:100% 100%,256px 256px,100% 100%}
.tax-inputs h2{font-size:1.85rem;margin-bottom:var(--space-xl)}
.tax-question{margin:0 0 var(--space-lg);padding:0;min-width:0;border:0}
.tax-question legend,.tax-question>label{display:block;font-size:1rem;font-weight:600;line-height:1.5;margin-bottom:0}
.tax-help{margin:2px 0 var(--space-sm);font-size:var(--text-sm)}
.tax-help summary{color:var(--accent-text);cursor:pointer;min-height:38px;display:list-item;align-content:center;text-decoration:underline;text-underline-offset:3px}
.tax-help p{margin:4px 0 12px;max-width:65ch;color:var(--muted);line-height:1.6}
.tax-choices{display:flex;flex-wrap:wrap;gap:8px}
.tax-choices label{flex:1 1 130px;position:relative;display:flex;align-items:flex-start;gap:10px;padding:14px 12px;min-height:54px;border:1px solid var(--field-line);border-radius:var(--radius);background:var(--material-glass);cursor:pointer;transition:background var(--dur-micro) var(--ease-out)}
.tax-choices input{width:18px;height:18px;flex:0 0 18px;margin:3px 0 0;accent-color:var(--accent-text)}
.tax-choices strong{display:block;font-size:var(--text-sm);line-height:1.5;font-weight:600}
.tax-choices small{display:block;color:var(--muted);font-size:var(--text-sm);line-height:1.4;margin-top:3px}
.tax-choices label:has(input:checked){background:var(--accent-soft);border-color:var(--accent-text)}
.tax-choices label:hover{background:var(--glass-hover)}
.tax-choices label:focus-within{outline:3px solid var(--focus);outline-offset:3px}
.tax-number{display:flex;align-items:center;gap:0;background:var(--glass-dense);border:1px solid var(--field-line);border-radius:var(--radius);overflow:hidden}
.tax-number>span{padding-left:16px;font-weight:600}
.tax-number input[type=number]{border:0;background:transparent;min-height:52px;font-size:var(--text-lead);font-variant-numeric:tabular-nums;outline:none}
.tax-number:focus-within{outline:3px solid var(--focus);outline-offset:3px}
.tax-number:has([aria-invalid=true]){border-color:var(--error)}
.tax-tool select{background:var(--glass-dense);font-size:1rem}
.tax-result{position:sticky;top:var(--space-lg);color:var(--on-strong);background-image:linear-gradient(125deg,color-mix(in srgb,var(--surface-strong) 40%,transparent),color-mix(in srgb,var(--surface-strong-end) 40%,transparent)),var(--grain-image),linear-gradient(125deg,var(--surface-strong),var(--surface-strong-end))}
.tax-result h2{font-size:1.85rem;color:inherit}
.tax-result>p:first-of-type{margin-top:8px;font-size:var(--text-sm)}
.tax-result output{display:block;font-family:var(--font-display);font-size:clamp(2rem,4.2vw,3.75rem);line-height:1.15;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:var(--space-lg) 0}
.tax-result dl{margin:0}
.tax-result dl>div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--glass-dark-line);font-size:var(--text-sm)}
.tax-result dd{margin:0;white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}
.tax-result-note{font-size:var(--text-sm);margin-top:var(--space-lg);color:var(--on-strong);line-height:1.6}
.tax-result-error{padding-top:var(--space-lg);font-weight:600;color:var(--on-strong)}
.tax-summary{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--line)}
.tax-summary>p{max-width:75ch;margin-top:var(--space-md)}
.tax-summary-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg);margin-top:var(--space-xl);align-items:start}
.tax-summary-inputs .tax-question{margin:0}
.tax-table-wrap{max-width:100%;overflow-x:auto;margin-top:var(--space-lg)}
.tax-table-wrap table{width:100%;border-collapse:collapse;font-size:1rem;line-height:1.45;font-variant-numeric:tabular-nums;background:var(--table-surface)}
.tax-table-wrap caption{text-align:left;font-weight:600;padding:12px 0}
.tax-table-wrap th,.tax-table-wrap td{padding:16px;border-bottom:1px solid var(--line);text-align:right;vertical-align:top}
.tax-table-wrap thead th{background:var(--tint);font-weight:600}
.tax-table-wrap th:first-child{text-align:left;font-weight:400;width:48%}
.tax-table-wrap thead th:first-child{font-weight:600}
.tax-table-wrap tbody tr:last-child th,.tax-table-wrap tbody tr:last-child td{font-weight:600}
.tax-actions{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-xl)}
.tax-reset{border:0;background:transparent;color:var(--accent-text);font-size:var(--text-sm);text-decoration:underline;text-underline-offset:4px;padding:12px;cursor:pointer}
.tax-status{min-height:1.5em;color:var(--muted);font-size:var(--text-sm);margin-top:var(--space-sm)}
.tax-status[data-error=true]{color:var(--error)}
.tax-year-dates{color:var(--muted);font-size:var(--text-sm);margin-top:8px}
.tax-year-warning{padding:var(--space-lg);background:var(--warning-bg);color:var(--warning);margin-bottom:var(--space-lg)}
.tax-reading{display:block;max-width:75ch;margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--line)}
.tax-reading>summary{cursor:pointer;min-height:44px;align-content:center;font-weight:600}
.tax-reading>p{margin-top:var(--space-lg)}
.tax-browse-link{margin-top:var(--space-lg)}
.tax-tool [hidden]{display:none!important}
@media(max-width:760px){.tax-layout{grid-template-columns:1fr}.tax-result{position:static}.tax-inputs,.tax-result{padding:var(--space-lg)}.tax-summary-inputs{grid-template-columns:1fr}.tax-choices label{flex-basis:125px}.tax-table-wrap th,.tax-table-wrap td{padding:12px 8px;font-size:var(--text-sm)}.tax-table-wrap th:first-child{width:40%}.tax-result output{font-size:3.2rem}.tax-actions .button{white-space:normal}.tax-help summary{min-height:44px}.tax-page-head h1{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){.tax-choices label{transition:none}}
@media print{.tax-tool{max-width:none}.nav,.footer,.cookie-banner,.skip,.tax-tool .breadcrumb,.tax-reading,.tax-actions,.tax-status,.tax-help,.tax-example{display:none!important}.tax-layout{grid-template-columns:1fr 1fr;gap:16px}.tax-inputs,.tax-result{background:none;color:#000;padding:12px;border:1px solid #777;border-radius:0;position:static}.tax-result-note{color:#000}.tax-question{margin-bottom:12px}.tax-choices label{min-height:0;padding:4px;background:none!important}.tax-choices label:has(input:not(:checked)){display:none}.tax-summary{margin-top:16px;padding-top:16px}.tax-table-wrap{overflow:visible}.tax-table-wrap th,.tax-table-wrap td{padding:8px}.tax-table-wrap tr{break-inside:avoid}.tax-table-wrap thead{display:table-header-group}body,main.wrap{background:white;width:100%;padding:0}.tax-page-head{background:none;padding:0}input,select{color:#000;background:white!important}.tax-result output{font-size:2.5rem}.tax-summary-inputs{grid-template-columns:repeat(3,1fr)}}
