.expense-settings { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:end; margin-block:28px; }
.expense-checkbox { display:flex; gap:12px; align-items:center; min-height:48px; }
.expense-checkbox input { width:22px; height:22px; flex:none; accent-color:var(--blue); }
.expense-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:24px; margin-block:28px; }
.expense-offer { min-width:0; border:1px solid var(--line); background:var(--ivory); padding:24px; margin:0; }
.expense-offer legend { padding-inline:12px; font:700 1.5rem var(--serif); }
.expense-offer .field { margin-bottom:16px; }
[data-expense-tool] label { color:var(--ink); font-weight:700; display:block; }
[data-expense-tool] .expense-checkbox { display:flex; }
[data-expense-tool] :is(input:not([type=checkbox]),select), .review-controls :is(input,select) { width:100%; min-height:48px; padding:10px 12px; font:inherit; background:#fff; color:var(--ink); border:1px solid var(--muted); border-radius:0; }
[data-expense-tool] input[aria-invalid=true] { border:2px solid var(--red); }
[data-expense-tool] :is(input,select):focus-visible, .review-controls :is(input,select):focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
[data-expense-status] { margin-block:24px; font-weight:700; }
.expense-chart { display:grid; gap:20px; padding:24px; margin-block:24px; background:var(--paper); }
.expense-track { height:18px; background:var(--line); margin-top:8px; }
.expense-track span { display:block; height:100%; background:var(--blue); }
.review-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding-top:16px; }
.review-controls label { font-weight:700; }
.review-controls .review-proof { grid-column:1/-1; }
.review-summary { margin-block:28px; padding:24px; background:var(--paper); border-left:4px solid var(--blue); }
.review-summary h3 { margin-top:0; }
.review-summary li { margin-block:12px; overflow-wrap:anywhere; }
[data-expense-tool] [hidden], [data-expense-tool][hidden], .review-controls[hidden], [data-review-panel][hidden] { display:none !important; }
@media(max-width:640px) { .expense-settings,.review-controls { grid-template-columns:minmax(0,1fr); } .expense-offer { padding:20px; } }
