*{box-sizing:border-box}
:root{font:16px/1.6 system-ui,sans-serif;color:#24364a;background:#eef3f7}
body{margin:0}[hidden]{display:none!important}
header{padding:14px max(16px,calc((100% - 960px)/2));background:#263e5a;color:white;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
main{width:min(100% - 32px,960px);margin:0 auto 32px}
h1{font-size:clamp(1.75rem,4vw,2.8rem);line-height:1.2;margin:26px 0 8px}
h2{font-size:1.25rem;margin:0 0 12px}
section{border:1px solid #c7d5e4;border-radius:12px;background:white;margin:14px 0;padding:clamp(14px,3vw,22px)}
p{overflow-wrap:anywhere}
.inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0}
button{font:inherit;padding:7px 11px;border:1px solid #6a819b;border-radius:6px;background:white;color:#263e5a}
button:disabled{opacity:.5}.primary{background:#315783;color:white}
.actions{display:flex;flex-wrap:wrap;gap:8px}.consent{display:block;margin:8px 0}
#notice{background:#dce8f3;padding:9px;border-radius:6px}
#notice.error{background:#fae5dd;color:#7a2314}
:focus-visible{outline:3px solid #a04a17;outline-offset:2px}
pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:24rem;overflow:auto;background:#eef3f7;padding:10px;border-radius:6px}
@media(max-width:600px){.inputs{grid-template-columns:1fr;gap:8px}}

#picker{border:1px solid #b8c5d3;margin:1rem 0;padding:.75rem}
#columns label{display:block;overflow-wrap:anywhere;margin:.35rem 0}

label{display:block;margin:.45rem 0}input:not([type=checkbox]){display:block;font:inherit;width:100%;max-width:100%;padding:.4rem}.step{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.5rem;margin:.8rem 0;padding:.8rem;border:1px solid #c7d5e4;border-radius:8px}.step button{grid-column:1/-1}table{width:100%;border-collapse:collapse}th,td{padding:.4rem;border-bottom:1px solid #c7d5e4;text-align:left;overflow-wrap:anywhere}@media(max-width:520px){.step{grid-template-columns:1fr}.step button{grid-column:1}}

select{font:inherit;padding:.4rem;width:100%;max-width:100%}.item,.wall{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding:1rem 0;border-bottom:1px solid #ccc}table{table-layout:fixed}details{padding:.7rem;margin:.7rem 0;border:1px solid #c7d5e4;border-radius:8px}summary{cursor:pointer;font-weight:600}.choices label{overflow-wrap:anywhere}input[type=checkbox]{margin-right:.5rem}@media(max-width:520px){.item,.wall{grid-template-columns:1fr}td,th{padding:.3rem;font-size:.9rem}}

#legs fieldset{min-width:0;margin:.8rem 0;border:1px solid #c7d5e4}

textarea{display:block;font:inherit;width:100%;padding:.5rem;resize:vertical}

#budgets,#transactions{display:block;width:100%;font:inherit;padding:.4rem;resize:vertical}
