:root{font-family:system-ui,-apple-system,sans-serif;color:#243b42;background:#f3f7f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{background:#fff;border-bottom:1px solid #e1eaed;padding:24px max(20px,calc((100vw - 1080px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:14px}h1{font-size:24px;margin:0;letter-spacing:-1px}h2{font-size:26px;letter-spacing:-.7px;margin:10px 0}h3{margin:0;font-size:18px}p{line-height:1.6;margin:8px 0;color:#597079}.brand p{font-size:12px;margin:2px 0}main{max-width:1080px;margin:32px auto;padding:0 20px;min-height:72vh}.card{padding:24px;background:white;border:1px solid #e2eaec;border-radius:20px;margin-bottom:18px}.narrow{max-width:460px;margin:64px auto;padding:32px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:#4a7a87}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}button,input,select{font:inherit;border-radius:10px;padding:12px 14px;border:1px solid #cfdddf;background:white;color:#243b42;min-width:0}button{cursor:pointer;font-weight:600}button:hover{background:#edf5f6}button:disabled{opacity:.55;cursor:wait}.primary{background:#245d6b;color:white;border-color:#245d6b}.primary:hover{background:#194958}.link{border:0;color:#245d6b;font-size:14px;padding:10px 0;display:block}label{display:grid;gap:7px;font-size:13px;font-weight:550;margin:16px 0}form>.primary{width:100%;margin-top:10px}.hint{font-size:12px;color:#6b8087}.filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin-bottom:22px}.filters label{margin:0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metrics p{font-size:13px}.metrics strong{font-size:28px;letter-spacing:-1px}.balance{background:#e4f0f2;border-color:#d2e5e9;display:flex;justify-content:space-between;align-items:center;gap:30px}.balance .hint{max-width:300px}.expense{display:grid;grid-template-columns:1fr auto;gap:18px;padding:20px 0;border-bottom:1px solid #e5edef}.expense:last-child{border:0}.expense p{font-size:12px}.amount{text-align:right;font-weight:700}.badge{font-weight:500;display:inline-block;border-radius:7px;background:#f7eedb;padding:5px 9px;font-size:11px;margin:8px 0}.paid{background:#e1eee6}.bar{height:6px;background:#bad3d9;border-radius:4px;overflow:hidden;width:150px}.bar span{display:block;height:100%;background:#2c6e7e}.amount button{display:block;font-size:12px;padding:8px}dialog{width:min(94vw,580px);max-height:90vh;overflow:auto;border:1px solid #d0dfe2;border-radius:20px;padding:26px;color:inherit}dialog::backdrop{background:#102f3a88}.two{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.preview,#notice{padding:14px;border-radius:10px;background:#e3eff2;font-size:14px}#notice.error,#expense-error,#payment-error{color:#92372a}#notice.error{background:#fff0e9}footer{text-align:center;padding:24px;font-size:12px;color:#69818a}#requests>div{padding:18px 0;border-top:1px solid #dfe9eb}[hidden]{display:none!important}:focus-visible{outline:3px solid #71a8b5;outline-offset:3px}@media(max-width:600px){header{padding:18px}.narrow{margin:30px auto;padding:24px}.metrics{grid-template-columns:1fr;gap:0}.metrics .card{display:flex;justify-content:space-between;align-items:center;padding:16px;margin-bottom:10px}.metrics strong{font-size:23px}.balance{display:block}.balance .hint{max-width:none}.card{padding:20px}.two{grid-template-columns:1fr}.expense{gap:10px}.amount{font-size:14px}main{margin:24px auto}}
