:root{font-family:Inter,ui-sans-serif,system-ui;color:#15261f;background:#f4f7f5;line-height:1.5}*{box-sizing:border-box}body{margin:0}aside{position:fixed;inset:0 auto 0 0;width:240px;background:#103c2d;color:white;padding:28px 20px;display:flex;flex-direction:column}.logo{font-size:1.35rem;font-weight:800;margin-bottom:35px}.logo span{color:#9ed8bd;font-weight:500}nav{display:grid;gap:8px}nav a{color:inherit;text-decoration:none;padding:10px 12px;border-radius:9px}nav a:hover{background:#1d5642}aside form{margin-top:auto}.quiet{background:transparent;border:1px solid #6d9587}.page{margin-left:240px;padding:clamp(24px,5vw,64px);max-width:1400px}header{margin-bottom:28px}h1{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.1;margin:.4rem 0}h2{margin-top:0}.card,.summary article{background:white;border:1px solid #dce6e1;border-radius:16px;padding:24px;box-shadow:0 5px 20px #183d2e0a}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.summary small,.summary strong{display:block}.summary strong{font-size:1.2rem;margin-top:8px}.grid,.columns{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}label{display:grid;gap:7px;font-weight:650;margin-bottom:18px}input,textarea{font:inherit;padding:12px;border:1px solid #b9cac2;border-radius:9px;width:100%}input:focus,textarea:focus{outline:3px solid #b8e2d2;border-color:#176849}button{font:inherit;font-weight:700;color:white;background:#176849;border:0;border-radius:9px;padding:12px 18px;cursor:pointer}.muted,.empty,header p,.person span,.row span{color:#64746d}.alert{background:#fff0ed;color:#8a291d;padding:12px;border-radius:8px;margin-bottom:16px}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login .card{width:min(100%,420px)}.brandmark{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;background:#103c2d;color:#fff;font-weight:800}.person,.row{display:flex;justify-content:space-between;gap:15px;padding:16px 4px;border-bottom:1px solid #edf1ef;text-decoration:none;color:inherit}.person span,.row span{text-align:right}.pill{background:#dff3eb;color:#15553e;border-radius:99px;padding:5px 10px;font-size:.8rem}.mobilebar{display:none}@media(max-width:800px){aside{display:none}.mobilebar{display:block;position:sticky;top:0;z-index:2;background:#103c2d;color:white;padding:12px 16px}.mobilebar nav{display:flex;overflow:auto;margin-top:8px}.mobilebar nav a{white-space:nowrap;padding:7px 10px}.page{margin:0;padding:24px 16px}.summary{grid-template-columns:repeat(2,1fr)}.grid,.columns{grid-template-columns:1fr}.card{padding:18px}.person{display:grid}.person span{text-align:left}}@media(max-width:390px){.summary{grid-template-columns:1fr}}
select{font:inherit;padding:12px;border:1px solid #b9cac2;border-radius:9px;background:white;width:100%}.button{display:inline-block;margin-top:10px;padding:11px 17px;border-radius:9px;background:#176849;color:white;text-decoration:none;font-weight:700}.back{color:#176849}.notice{background:#edf7f3;border-left:4px solid #278162;border-radius:8px;padding:14px;margin:2px 0 20px}.success{background:#e4f6ec;color:#155c3d;padding:13px;border-radius:9px;margin-bottom:20px}.ledger-row,.lot{display:flex;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid #edf1ef}.ledger-row span,.lot span,.lot small{display:block;color:#64746d}.lot>div:last-child{text-align:right}.credit{color:#176849}.debit{color:#9b3025}@media(max-width:500px){.ledger-row,.lot{display:grid}.lot>div:last-child{text-align:left}}
.recipient{margin-bottom:24px}.recipient form{display:flex;align-items:end;gap:14px}.recipient label{flex:1;margin:0}@media(max-width:600px){.recipient form{display:grid}}
.confirm{display:flex;grid-template-columns:auto 1fr;align-items:start}.confirm input{width:auto;margin-top:5px}
.report-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:end}.report-filters label{margin:0}.report-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:11px;border-bottom:1px solid #e4ebe7}th{background:#f4f7f5}@media(max-width:800px){.report-filters{grid-template-columns:1fr 1fr}}@media(max-width:480px){.report-filters{grid-template-columns:1fr}.report-head{display:grid}}
.reverse-form{display:flex;gap:6px;margin-top:8px}.reverse-form input{padding:7px}.reverse-form button{padding:7px 10px;background:#8a291d}@media(max-width:600px){.reverse-form{display:grid}}
