.auto-worksheet {
  color: var(--ink);
  margin: 1.7rem 0 3rem;
  scroll-margin-top: 1rem;
}
.auto-worksheet [hidden] { display: none !important; }
.au-layout { display: grid; grid-template-columns: minmax(0,1.13fr) minmax(0,1fr); gap: clamp(1.2rem,2.6vw,2.2rem); align-items: start; }
.au-form, .au-receipt { min-width: 0; border: 1px solid var(--rule); background: var(--surface); border-radius: var(--panel-radius); padding: clamp(1rem,2.5vw,1.75rem); }
.au-header h2, .au-receipt h2 { margin: 0; font-size: var(--section-title); line-height: 1.15; letter-spacing: -.025em; }
.au-header p { color: var(--secondary); margin: .4rem 0 0; max-width: 58ch; font-size: .94rem; }
.au-block { border: none; padding: 0; margin: 1.45rem 0; min-inline-size: 0; }
.au-block > legend { float: left; width: 100%; font-size: 1.08rem; font-weight: 700; margin: 0 0 .45rem; padding: .85rem 0 0; border-top: 1px solid var(--rule); }
.au-block > legend + * { clear: both; }
.au-field label { display: block; font-size: .87rem; line-height: 1.4; font-weight: 650; margin: 0 0 .3rem; }
.au-field { min-width: 0; }
.au-control { position: relative; }
.au-control input { width: 100%; min-width: 0; padding: .5rem .65rem; min-height: var(--control-height); border-radius: var(--control-radius); border: 1px solid var(--control-border); color: var(--ink); background: var(--surface); font-size: 1rem; font-variant-numeric: tabular-nums; }
.au-control[data-currency]::before { content: "$"; position: absolute; left: .72rem; top: 50%; transform: translateY(-50%); color: var(--secondary); pointer-events: none; }
.au-control[data-currency] input { padding-left: 1.68rem; }
.au-control input[aria-invalid=true] { border-color: var(--error); }
.au-error { color: var(--error); font-size: .82rem; margin: .2rem 0 0; }
.au-error:empty { display: none; }
.au-hint, .au-method { font-size: .875rem; line-height: 1.52; color: var(--secondary); margin: .4rem 0 .7rem; }
.au-loss-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .75rem; align-items: end; margin-bottom: .65rem; }
.au-loss-row .au-text-button { margin-bottom: .05rem; }
.au-text-button { border: 0; background: transparent; text-decoration: underline; text-underline-offset: .14em; color: var(--blue); font-size: .85rem; min-height: 2.75rem; padding: .42rem .2rem; }
.au-primary, .au-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: var(--control-height); border-radius: var(--control-radius); padding: .5rem .9rem; font: inherit; font-weight: 650; font-size: .88rem; cursor: pointer; }
.au-primary { border: 1px solid var(--blue); background: var(--blue); color: var(--night-on-action, white); }
.au-primary:hover { background: var(--blue-hover); }
.au-secondary { border: 1px solid var(--control-border); background: var(--surface); color: var(--blue); }
.au-secondary:hover { background: var(--canvas); }
.au-form button:disabled, #auto-print:disabled { opacity: .55; cursor: default; }
.au-property-input { padding: .8rem; background: var(--night-soft, #f4f7fa); border-left: 3px solid var(--night-mid, #91a8ba); border-radius: .16rem; margin-top: .9rem; }
.au-choices { display: flex; flex-wrap: wrap; gap: .45rem .65rem; margin: .2rem 0 .7rem; }
.au-choice, .au-toggle { display: inline-flex; align-items: center; gap: .38rem; font-size: .87rem; cursor: pointer; min-height: 2.75rem; }
.au-choice { border: 1px solid var(--night-control, #bbc7d3); padding: .35rem .55rem; border-radius: var(--control-radius); background: var(--surface); }
.au-choice:has(input:checked) { color: var(--blue-hover); border-color: var(--blue); background: var(--blue-soft); }
.au-choice input, .au-toggle input { accent-color: var(--blue); inline-size: 1rem; block-size: 1rem; flex: none; margin: 0; }
.au-format { margin-top: .9rem; }
.au-format .au-choice { border-color: transparent; }
.au-dollar-fields, .au-alt-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem .85rem; }
.au-dollar-fields .au-hint, .au-alt-fields > p { grid-column: 1/-1; margin: 0; }
.au-uninsured { display: none; }
.au-form:has(input[name=mode][value=uninsured]:checked) .au-insured { display: none; }
.au-form:has(input[name=mode][value=uninsured]:checked) .au-uninsured { display: block; }
.au-insured:has(input[value=split]:checked) .au-dollar-fields,
.au-insured:has(input[value=dollars]:checked) .au-split,
.au-alternate:not(:has(input[name=compare]:checked)) .au-alt-fields { display: none; }
.au-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.05rem; }
.au-trade { margin-top: 1.1rem; padding-top: 1rem; border-top: 1px solid var(--night-mid, #bacdde); scroll-margin-top: 1rem; }
.au-trade h3, .au-trade h4 { color: var(--ink); margin: 0 0 .5rem; }
.au-trade .au-trade-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem .8rem; margin: .75rem 0; }
.au-trade-fields > :last-child { grid-column: 1/-1; }
.au-trade > label:not(.quote-match) { display: block; font-weight: 650; font-size: .86rem; }
.au-trade select, .au-trade-fields input { padding: .45rem .55rem; border: 1px solid var(--control-border); border-radius: var(--control-radius); min-height: var(--control-height); font: inherit; font-size: 1rem; color: var(--ink); background: var(--surface); width: 100%; min-width: 0; }
.au-trade-fields input[aria-invalid="true"] { border-color: var(--error); }
.au-trade-result { padding: .7rem .85rem; margin-top: .9rem; background: var(--surface); border: 1px solid var(--night-mid, #c9d8e6); border-radius: var(--control-radius); }
.au-trade-result dl { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .4rem .65rem; margin: .65rem 0; }
.au-trade-result dt { color: var(--secondary); font-size: .83rem; }
.au-trade-result dd { margin: 0; font-weight: 700; font-size: .89rem; font-variant-numeric: tabular-nums; }
@media (max-width: 520px) {
  .au-trade .au-trade-fields { grid-template-columns: minmax(0,1fr); }
  .au-trade-result dl { display: block; }
  .au-trade-result dd { margin-bottom: .45rem; }
}
.au-loan { margin: 1rem 0; padding: .8rem .95rem; border: 1px solid var(--night-mid, #bdccd7); border-radius: .5rem; background: var(--night-soft, #f5f8fa); scroll-margin-top: 1rem; }
.au-loan summary { color: var(--night-navy, #274561); font-weight: 650; cursor: pointer; }
.au-loan > p, .au-loan-result p { font-size: .9rem; color: var(--secondary); line-height: 1.55; }
.au-loan .au-field { margin: .65rem 0; }
.au-loan .au-field .au-hint { margin: .23rem 0; }
.au-loan-result { margin-top: .85rem; padding: .65rem .8rem; border-left: 3px solid var(--night-mid, #7192ad); background: var(--surface); }
.au-loan-result dl { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .25rem .8rem; margin: .3rem 0; }
.au-loan-result dt { font-size: .85rem; color: var(--secondary); }
.au-loan-result dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; }
.au-receipt { border-top: .26rem solid var(--blue); scroll-margin-top: 1rem; }
.au-eyebrow { margin: 0 0 .3rem; color: var(--night-quiet, #44627c); font-size: .73rem; font-weight: 700; }
.au-outcome { padding: 1rem 1.1rem; background: var(--blue-soft); border: 1px solid var(--blue-mid); border-radius: var(--control-radius); margin: 1rem 0 1.1rem; }
.au-outcome > span { color: var(--night-secondary, #3f5870); font-size: .85rem; font-weight: 650; }
.au-outcome > strong { display: block; font-size: clamp(2rem,4.3vw,3.15rem); line-height: 1.08; letter-spacing: -.045em; color: var(--blue-hover); margin: .25rem 0; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.au-outcome > p, .au-reading p, .au-compare-result p, .au-scope { font-size: .91rem; line-height: 1.54; margin: .42rem 0; }
.au-outcome > p, .au-scope { color: var(--secondary); }
.au-bars { margin: .95rem 0 1.2rem; }
.au-bars figcaption { font-weight: 700; font-size: .92rem; }
.au-bar-key { display: flex; flex-wrap: wrap; gap: .25rem .75rem; color: var(--secondary); margin: .25rem 0 .55rem; font-size: .77rem; }
.au-bar-key span::before { content: ""; display: inline-block; width: .63rem; height: .63rem; margin-right: .3rem; background: var(--night-link, #31699b); border: 1px solid var(--night-chart, #285985); }
.au-bar-key span + span::before { background: var(--night-chart-amber, #ead8b4); border-color: var(--night-attention-rule, #ac8850); }
.au-bar-row { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: baseline; gap: .12rem .45rem; margin: .55rem 0; }
.au-bar-row span, .au-bar-state { font-size: .85rem; }
.au-bar-row small, .au-bar-state { color: var(--secondary); }
.au-bar-row small { font-size: .77rem; }
.au-bar-row meter { display: block; appearance: none; width: 100%; height: .57rem; border: 0; border-radius: .18rem; background: var(--night-chart-amber, #ead8b4); overflow: hidden; }
.au-bar-row meter::-webkit-meter-bar { border: 0; background: var(--night-chart-amber, #ead8b4); border-radius: .18rem; height: .57rem; }
.au-bar-row meter::-webkit-meter-optimum-value { background: var(--night-link, #31699b); }
.au-bar-row meter::-moz-meter-bar { background: var(--night-link, #31699b); }
.au-bar-state { margin: .4rem 0; }
.au-table { width: 100%; border-collapse: collapse; font-size: .83rem; font-variant-numeric: tabular-nums; }
.au-table caption { text-align: left; font-weight: 700; font-size: .97rem; padding: 0 0 .45rem; }
.au-table th, .au-table td { text-align: right; vertical-align: top; padding: .47rem .35rem; border-bottom: 1px solid var(--rule); overflow-wrap: anywhere; }
.au-table thead th { background: var(--blue-soft); color: var(--night-secondary, #435b71); font-size: .74rem; line-height: 1.35; }
.au-table th:first-child { text-align: left; }
.au-table tbody td:last-child { font-weight: 650; }
.au-reading, .au-compare-result { margin-top: 1.1rem; }
.au-reading h3, .au-compare-result h3 { font-size: 1.04rem; margin: 0 0 .5rem; }
.au-person-list { border-block: 1px solid var(--rule); margin-top: .9rem; }
.au-person-list summary { padding: .65rem 0; color: var(--blue); font-weight: 650; font-size: .86rem; cursor: pointer; }
.au-person-list .au-table { margin-bottom: .75rem; }
.au-scope { margin: 1rem 0; padding-top: .75rem; border-top: 1px solid var(--rule); font-size: .84rem; }
.au-change, .au-notice { padding: .58rem .72rem; border-left: 3px solid var(--night-mid, #64829e); background: var(--canvas); }
.au-notice { color: var(--attention); background: var(--attention-soft); border-color: var(--attention-rule); font-size: .87rem; }
.au-method { font-size: .77rem; margin-bottom: 0; }
.au-form :is(input,button,summary):focus-visible, .au-receipt :is(a,button,summary):focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
@media (max-width: 820px) {
  .au-layout { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 520px) {
  .au-form, .au-receipt { padding: 1rem; }
  .au-dollar-fields, .au-alt-fields { grid-template-columns: minmax(0,1fr); }
  .au-table thead { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
  .au-table, .au-table caption, .au-table tbody, .au-table tr, .au-table tbody th { display: block; }
  .au-table td { display: flex; gap: .5rem; justify-content: space-between; padding: .25rem 0; border: 0; }
  .au-table td::before { content: attr(data-label); color: var(--secondary); font-weight: 400; }
  .au-table tbody th { background: var(--night-soft, #f2f5f8); border: 0; padding: .35rem .4rem; }
  .au-table tbody tr { margin-bottom: .5rem; }
}
@media print {
  body:has(#auto-worksheet) #main > :not(#auto-worksheet),
  body:has(#auto-worksheet) :is(.site-head,.site-foot,.skip),
  .au-form > :not(#quote-budget):not(#total-loss-balance), #auto-print,
  .au-loan:not(:has(#loan-result:not([hidden]))), .au-loan > :not(summary):not(#loan-result) { display: none !important; }
  .au-trade:not(:has(#trade-result)), .au-trade:has(#trade-readout[hidden]), .au-trade > :not(h3):not(#trade-readout) { display: none !important; }
  .auto-worksheet, .au-layout { display: block; margin: 0; }
  .au-receipt, .au-form { padding: 0; border: 0; background: #fff; }
  .au-receipt { margin-top: .75rem; }
  .au-outcome, .au-table tr { break-inside: avoid; }
}
