:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17324b;background:#f0f5f7;font-size:16px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:default}a{color:#176a78}
.top{background:#17324b;color:white;padding:1rem max(1.2rem,calc((100vw - 1200px)/2));display:flex;justify-content:space-between;align-items:center;gap:1rem}
.brand{display:flex;align-items:center;gap:.75rem}.brand strong{display:block;font-size:1.05rem}.brand small{display:block;color:#b7cdd6;font-size:.8rem}.mark{width:2.65rem;height:2.65rem;display:grid;place-items:center;background:#d6a560;color:#17324b;border-radius:.7rem;font-weight:800;font-size:.85rem}
.identity{display:flex;align-items:center;gap:1rem;font-size:.85rem;color:#c5d8e0}.text-button{color:white;background:none;border:0;text-decoration:underline}
main{max-width:1240px;margin:auto;padding:2rem 1.2rem 5rem}.heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:1.5rem}.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.14em;color:#1a7a83;margin:0 0 .4rem}h1{font-size:clamp(1.7rem,4vw,2.4rem);letter-spacing:-.04em;margin:0}h2{font-size:1.15rem;margin:0 0 .9rem;letter-spacing:-.02em}.grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:1.2rem;align-items:start}.side{display:grid;gap:1.2rem}
.card{background:white;border:1px solid #d8e3e9;border-radius:1rem;box-shadow:0 8px 30px #18364b0a;padding:1.4rem}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.section-head h2{margin-bottom:.4rem}.number{font-weight:700;color:#146e78}.muted{color:#536b77;line-height:1.5;font-size:.9rem;margin:.35rem 0 1.1rem}.badge{border-radius:2rem;background:#fff0d5;color:#795116;padding:.4rem .7rem;font-weight:700;font-size:.75rem}
.rows{display:grid;gap:.8rem}.row{border:1px solid #dce7eb;border-radius:.8rem;padding:1rem}.row-top{display:flex;justify-content:space-between;gap:1rem}.row-title{font-weight:750}.amount{font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}.date{color:#607985;font-size:.82rem;margin:.2rem 0 .8rem}.fields{display:grid;grid-template-columns:1fr;gap:.7rem}label{display:grid;gap:.3rem;font-size:.85rem;font-weight:700}select,textarea,input[type=number]{width:100%;padding:.65rem;border:1px solid #b7cbd4;border-radius:.5rem;color:#17324b;background:white}textarea{min-height:3.4rem;resize:vertical}.row-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.8rem;align-items:center}.button,.secondary,.file-label{border:0;border-radius:.55rem;padding:.68rem 1rem;font-weight:750;text-decoration:none;display:inline-block;text-align:center}.button{background:#126e78;color:white}.button:hover:not(:disabled){background:#0d5760}.secondary,.file-label{background:#e6f0f3;color:#17324b}.secondary:hover,.file-label:hover{background:#d7e8ed}.tiny{font-size:.8rem;color:#607985}.posted{background:#f4faf8}.posted-tag{color:#24745b;font-weight:700}.empty{padding:2rem;text-align:center;color:#536b77;background:#f7fafb;border-radius:.7rem}
#csv{max-width:100%;margin:.7rem 0}#import{display:block;width:100%}.statement{padding:1rem 0;border-top:1px solid #e3ebef}.statement:first-child{border-top:0}.statement strong{display:block}.statement .tiny{display:block;margin:.2rem 0 .6rem}.statement form{display:grid;gap:.7rem}.balance-pair{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.closed{color:#24745b;font-weight:750}
#notice:not(:empty){background:#e7f4f5;border-left:4px solid #126e78;padding:.85rem 1rem;margin-bottom:1.2rem;border-radius:.3rem}#notice.error{background:#fff0ee;border-color:#be5042}.sign-in{max-width:440px;margin:8vh auto;padding:2rem}.sign-in p{line-height:1.5;color:#536b77}
dialog{border:0;border-radius:1rem;max-width:min(480px,calc(100% - 2rem));width:100%;padding:0;box-shadow:0 20px 70px #102f4670}dialog::backdrop{background:#142f46a6}.review-box{padding:1.5rem}.review-box p{line-height:1.5}.preview-lines{border-block:1px solid #dce7eb;padding:.5rem 0}.preview-line{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;font-variant-numeric:tabular-nums}.actions{display:flex;justify-content:end;gap:.6rem}
.document-link{display:block;font-size:.85rem;margin:.4rem 0;overflow-wrap:anywhere}
@media(max-width:800px){.grid{grid-template-columns:1fr}.top{padding:.8rem 1rem}main{padding:1.4rem .8rem 4rem}.card{padding:1rem}.identity #who{display:none}}
