:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202434;background:#f7f8fb;--brand:#b80067;--border:#dce0e8}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}header{background:white;border-bottom:1px solid var(--border);padding:18px 5%;display:flex;gap:24px;align-items:center}header span{margin-left:auto;color:#5c6374;font-size:14px}a{color:var(--brand)}main{max-width:1080px;margin:32px auto;padding:0 24px}h1{font-size:30px;margin:4px 0 8px}h2{font-size:20px}p{color:#5c6374;line-height:1.55}.eyebrow{letter-spacing:.1em;font-size:11px;font-weight:700;color:var(--brand)}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.toolbar,nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}button{background:var(--brand);color:white;border:1px solid transparent;border-radius:9px;padding:11px 16px;font:inherit;font-weight:600;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.secondary{background:white;color:#32394b;border-color:var(--border)}input,select,textarea{display:block;padding:11px;border:1px solid var(--border);border-radius:8px;background:white;color:inherit;width:100%;font:inherit}input[type=checkbox]{width:20px;height:20px;flex-shrink:0}label{display:block;font-size:14px;font-weight:600;margin:12px 0}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.wide{grid-column:1/-1}.help{background:#eef3fa;padding:14px;border-radius:9px;font-size:14px;line-height:1.5}.help p{margin:5px 0}.help small{display:block;margin-top:8px}.card{display:flex;align-items:flex-start;gap:16px;background:white;border:1px solid var(--border);padding:18px;border-radius:12px;margin:12px 0}.card .details{flex:1}.card h3{font-size:16px;margin:0 0 6px}.card p{margin:4px 0;font-size:14px}.card .amount{font-weight:700;white-space:nowrap}.badge{display:inline-block;border-radius:5px;padding:3px 7px;background:#edf1f6;color:#455068;font-size:12px}.warning{background:#fff3da;padding:12px;border-radius:8px;color:#705012;margin:10px 0}.error{background:#ffebec;color:#8c2630;padding:14px;border-radius:8px;margin:12px 0}.success{background:#e7f5ec;color:#22663d;padding:12px;border-radius:8px}.empty{padding:48px 20px;text-align:center;background:white;border:1px dashed var(--border);border-radius:12px}.receipts{border-top:1px solid var(--border);margin-top:24px;padding-top:12px}#search{max-width:360px}#saveState{font-size:14px}footer{padding:24px;text-align:center;font-size:12px;color:#737b8c}footer span{display:block;margin-top:6px}details{margin-top:28px;font-size:14px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #4776d0;outline-offset:2px}@media(max-width:640px){main{padding:0 16px;margin-top:20px}.formgrid{grid-template-columns:1fr}.heading{align-items:flex-start;flex-direction:column}header{gap:12px;padding:14px}header span{font-size:12px;max-width:45%;text-align:right}.card{gap:10px;flex-wrap:wrap}.card .details{min-width:160px}.toolbar button{flex-grow:1}h1{font-size:25px}}

.entryGroup{margin:0;border:1px solid var(--border);border-radius:12px;padding:16px;min-width:0;background:#fff}.entryGroup legend{font-weight:700;padding:0 6px}.entryGroup input,.entryGroup select{width:100%}.entryGroup select{margin-top:10px}optgroup{font-weight:700}#amountHelp{margin:0}

/* Flexible tracks and wrapping keep entry, lists, review and finance bounded. */
body{line-height:1.45}header{flex-wrap:wrap;gap:12px 20px}header span{min-width:0;overflow-wrap:anywhere}.heading>div{min-width:0}.formgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.formgrid>*{min-width:0}.formgrid label{margin:0}label input,label textarea,label select{margin-top:7px}textarea{resize:vertical;min-height:84px}fieldset.entryGroup{width:100%;padding:18px;min-width:0}.entryGroup{margin-bottom:6px}.entryGroup legend{max-width:100%;white-space:normal}.help{overflow-wrap:anywhere}#categoryHelp{margin-top:12px}#paymentHelp{margin:0}.toolbar>input,.toolbar>select{flex:1 1 220px;min-width:0;width:auto}.toolbar>span{min-width:0}.toolbar button,nav button{white-space:normal}nav{gap:8px;padding-bottom:16px;border-bottom:1px solid var(--border)}.card{flex-wrap:wrap;align-items:center}.card .details{min-width:0;flex:1 1 240px;overflow-wrap:anywhere}.cardActions{display:flex;gap:8px;flex-wrap:wrap}.danger{color:#942940;background:#fff;border-color:#e7c7cc}nav button[aria-pressed=true]{background:#fbeaf3;border-color:var(--brand);color:var(--brand)}input[type=checkbox]{display:inline-block;width:20px;margin:0 8px 0 0;vertical-align:middle}.receipts .details strong{overflow-wrap:anywhere}details summary{cursor:pointer;line-height:1.5}.reviewTotals span{min-width:0;overflow-wrap:anywhere}.allocation form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.allocation form label{min-width:0;margin:0}.splitRow>*{min-width:0}#finance .formgrid{margin:16px 0}#finance label{overflow-wrap:anywhere}dialog{border:1px solid var(--border);border-radius:16px;padding:24px;max-width:min(460px,calc(100vw - 32px))}dialog::backdrop{background:#18223466}
@media(max-width:720px){.formgrid,.allocation form{grid-template-columns:minmax(0,1fr)}main{padding:0 16px}.expenseReview{padding:16px}.reviewTotals{grid-template-columns:repeat(2,minmax(0,1fr))}.splitRow{grid-template-columns:minmax(0,1fr)}.splitRow button{margin:0}.card .details{min-width:0;flex-basis:calc(100% - 48px)}.card .amount{margin-left:auto}.cardActions{width:100%}.cardActions button{flex:1}.toolbar{gap:10px}.toolbar>input,.toolbar>select{flex-basis:100%;width:100%}header span{max-width:100%;font-size:12px}.heading{align-items:flex-start;flex-direction:column}nav button{flex:1 1 140px}#receiptControls button{flex:1 1 120px}.entryGroup{padding:14px!important}}
