:root{--ink:#182321;--muted:#66736f;--line:#dde5e2;--paper:#f5f7f5;--white:#fff;--green:#166653;--green2:#1f8168;--mint:#dff1e9;--red:#b64646;--amber:#a06716;--shadow:0 12px 34px rgba(24,35,33,.07)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--green);text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:30px;line-height:1.15;margin-bottom:0}h2{font-size:19px;margin-bottom:16px}h3{font-size:15px}.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#102c27;color:#dbe9e5;padding:28px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:inherit;font-size:18px}.brand span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#d7f2e7;color:#145644;font-weight:800}.brand.centered{justify-content:center;color:var(--ink);margin-bottom:32px}.sidebar nav{display:grid;gap:5px;margin-top:40px}.sidebar nav a{color:#bcd0ca;padding:11px 12px;border-radius:9px}.sidebar nav a:hover,.sidebar nav a.active{background:#1d463e;color:#fff}.sidebar form{margin-top:auto}.link-button{border:0;background:none;color:#aac2bb;padding:10px 12px;cursor:pointer}main{padding:34px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:800;color:var(--green2);margin-bottom:6px}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cdd8d4;background:#fff;color:var(--ink);border-radius:9px;padding:9px 14px;font:inherit;font-weight:700;cursor:pointer}.button.primary{background:var(--green);border-color:var(--green);color:#fff}.button.ghost{background:transparent}.button.tiny{font-size:12px;padding:6px 9px}.button.full{width:100%}.actions{display:flex;justify-content:flex-end;gap:10px}.alert{padding:13px 16px;border-radius:10px;margin:0 0 20px}.alert.success{background:#ddf2e8;color:#145643}.alert.error{background:#fae3e3;color:#842d2d}.alert.info{background:#e5eff9;color:#275477}.alert ul{margin:5px 0 0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.metrics article,.panel{background:var(--white);border:1px solid #e6ece9;border-radius:14px;box-shadow:var(--shadow)}.metrics article{padding:20px}.metrics span,.metrics small{display:block;color:var(--muted)}.metrics strong{display:block;font-size:27px;margin:8px 0}.panel{padding:22px;margin-bottom:18px}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-grid{grid-template-columns:minmax(260px,.75fr) minmax(0,1.8fr)}.sidebar-grid.reverse{grid-template-columns:minmax(300px,.85fr) minmax(0,1.7fr)}.compact-grid{align-items:start}.stack-list{display:grid;gap:14px}.stack-list .panel{margin:0}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.balance-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.balance-row small,td small,.service-grid small,.occurrence-list small{display:block;color:var(--muted)}.balance-row span{font-weight:800}.spotlight{background:#f4f8f6;border-radius:10px;padding:16px;margin-top:10px;display:flex;justify-content:space-between}.spotlight strong{font-size:20px}.positive{color:#147052}.negative{color:var(--red)}.big-money{font-size:25px;white-space:nowrap}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:11px 10px;border-bottom:1px solid var(--line)}td{padding:13px 10px;border-bottom:1px solid #edf1ef;vertical-align:middle}.right{text-align:right}.empty{text-align:center;color:var(--muted);padding:28px!important}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf1ef;color:#4f5d59;font-size:11px;font-weight:800;text-transform:capitalize}.badge.income,.badge.active,.badge.reconciled,.badge.closed{background:#dff1e9;color:#166653}.badge.expense,.badge.liability_payment{background:#f7e5e2;color:#9a3e36}.badge.draft,.badge.provisional{background:#fff0d6;color:#8c5a0b}.badge.transfer,.badge.adjustment{background:#e5ebf7;color:#3f5684}.toolbar{padding:14px 18px}.stack{display:grid;gap:14px}.inline-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#43504d}input,select,textarea{width:100%;border:1px solid #cfd9d5;border-radius:8px;background:#fff;padding:10px 11px;color:var(--ink);font:inherit}input:focus,select:focus,textarea:focus{outline:2px solid #a9d6c8;border-color:#70b39d}label small,.muted{color:var(--muted);font-weight:400}.check{display:flex;grid-auto-flow:column;justify-content:start;align-items:center}.check input{width:auto}.source-box{padding:18px;border-radius:11px;background:#f5f8f7}.form-panel{max-width:1000px;margin-inline:auto}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.mini-grid span{background:#f5f8f7;border-radius:8px;padding:10px;color:var(--muted);font-size:12px}.mini-grid strong{display:block;color:var(--ink);font-size:14px;margin-top:4px}details{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}summary{cursor:pointer;font-weight:700;margin-bottom:12px}.icon-button{border:0;background:#f3e5e5;color:#a23e3e;width:28px;height:28px;border-radius:8px;cursor:pointer}.occurrence-list{display:grid;margin-top:15px}.occurrence-list>div{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.status-dot{width:9px;height:9px;border-radius:50%;background:#d49c43}.status-dot.paid{background:#2c9675}.status-dot.partial{background:#6387b8}.check-list{max-height:310px;overflow:auto;border:1px solid var(--line);border-radius:9px}.check-list label{grid-template-columns:auto 1fr auto;align-items:center;padding:10px;border-bottom:1px solid var(--line)}.check-list input{width:auto}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-grid>div{border:1px solid var(--line);padding:12px;border-radius:9px}.service-grid span{display:block;margin-top:6px;color:var(--green);font-size:12px}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#d9eee7,#f6f8f7 55%)}.login-card{width:min(420px,calc(100% - 32px));background:#fff;padding:38px;border-radius:18px;box-shadow:0 24px 70px rgba(22,63,53,.15)}.pagination{margin-top:18px}@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,1fr)}.sidebar-grid,.sidebar-grid.reverse{grid-template-columns:1fr}}@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:16px}.sidebar nav{display:flex;overflow:auto;margin-top:18px}.sidebar form{display:none}main{padding:20px}.topbar{align-items:flex-start}.topbar .button{display:none}.metrics,.grid.two,.form-grid,.form-grid.three{grid-template-columns:1fr}.metrics{gap:10px}.service-grid{grid-template-columns:1fr}}
