:root{--green:#1f6b4f;--green-dark:#174c3a;--green-soft:#e8f3ee;--ink:#17212b;--muted:#66727e;--line:#dfe5e2;--bg:#f5f7f6;--card:#fff;--danger:#a83838;--warning:#946b12;--shadow:0 8px 24px rgba(23,33,43,.07)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}.app-shell{display:flex;min-height:100vh}.sidebar{width:250px;background:#123d30;color:#fff;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:30}.brand{display:flex;align-items:center;gap:12px;padding:22px 18px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:2px solid #9bd0bb;border-radius:50%;font-weight:800;letter-spacing:-1px}.brand strong,.brand small{display:block}.brand small{opacity:.72;margin-top:2px}.sidebar nav{padding:14px 10px;overflow:auto}.sidebar nav a{display:block;color:#eef8f4;padding:10px 12px;border-radius:8px;margin:2px 0}.sidebar nav a:hover{background:rgba(255,255,255,.11);text-decoration:none}.nav-heading{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#a9c6bb;margin:19px 12px 6px}.sidebar-footer{margin-top:auto;padding:16px 18px;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebar-footer a{color:#cce5da}.user-mini strong,.user-mini small{display:block}.user-mini small{opacity:.72}.main-column{margin-left:250px;width:calc(100% - 250px);min-height:100vh;display:flex;flex-direction:column}.topbar{background:#fff;border-bottom:1px solid var(--line);padding:18px 28px;display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:20}.topbar h1{font-size:1.45rem;margin:0}.topbar p{margin:3px 0 0;color:var(--muted);font-size:.92rem}.top-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.menu-button{display:none;border:0;background:transparent;font-size:1.4rem}.content{padding:26px;flex:1;max-width:1500px;width:100%;margin:0 auto}.footer{padding:18px 26px;color:var(--muted);font-size:.85rem}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);padding:20px}.card h2,.card h3{margin-top:0}.metric{font-size:1.8rem;font-weight:750;letter-spacing:-.03em}.metric-label{color:var(--muted);font-size:.88rem;margin-top:4px}.muted{color:var(--muted)}.small{font-size:.87rem}.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.toolbar .field{min-width:170px}.btn{appearance:none;border:1px solid transparent;border-radius:8px;padding:9px 14px;font:inherit;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}.btn:hover{text-decoration:none}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--green-dark)}.btn-secondary{background:#fff;border-color:#bcc8c2;color:var(--ink)}.btn-danger{background:#fff0f0;border-color:#e4b4b4;color:var(--danger)}.btn-small{padding:6px 9px;font-size:.84rem}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:.85rem;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid #bdc8c3;border-radius:8px;padding:10px 11px;background:#fff;color:var(--ink);font:inherit}.field textarea{min-height:92px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(31,107,79,.15);border-color:var(--green)}.inline-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.checkbox{display:flex;gap:8px;align-items:center;margin:8px 0}.checkbox input{width:auto}.help{font-size:.79rem;color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}.table{border-collapse:collapse;width:100%;min-width:720px}.table th,.table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{background:#f0f4f2;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#4f5d57;white-space:nowrap}.table tr:last-child td{border-bottom:0}.table .amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.amount-positive{color:#1a6d49}.amount-negative{color:#983a3a}.badge{display:inline-flex;border-radius:999px;padding:3px 8px;font-size:.76rem;font-weight:750;background:#edf1ef;color:#4d5b55}.badge-active,.badge-cleared{background:#dff2e8;color:#236143}.badge-inactive,.badge-pending{background:#fff1d6;color:#7d5d19}.badge-archived,.badge-void{background:#eceff1;color:#59636b}.badge-scheduled{background:#e2ebfa;color:#365c91}.alert{padding:12px 14px;border-radius:9px;margin-bottom:16px;border:1px solid}.alert-success{background:#e7f5ed;border-color:#b9ddca;color:#205a3d}.alert-error{background:#fff0f0;border-color:#e6bcbc;color:#842f2f}.alert-warning{background:#fff8e7;border-color:#ead39c;color:#735516}.empty{padding:36px;text-align:center;color:var(--muted)}.account-card{display:flex;flex-direction:column;gap:12px}.account-card-header{display:flex;justify-content:space-between;gap:14px}.account-balance-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.account-balance-row div{background:#f5f8f6;border-radius:8px;padding:10px}.account-balance-row strong,.account-balance-row small{display:block}.account-balance-row small{color:var(--muted);margin-top:3px}.progress{height:8px;background:#e8ecea;border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:var(--green)}.allocation-row{display:grid;grid-template-columns:2fr 2fr 1.2fr auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:10px;margin-bottom:10px;background:#fbfcfb}.allocation-total{display:flex;justify-content:flex-end;gap:20px;font-weight:750;margin:12px 0}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:18px}.tabs a{padding:10px 12px;color:var(--muted)}.tabs a.active{color:var(--green);border-bottom:3px solid var(--green);font-weight:700}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#e2f2eb,#f5f7f6 48%)}.login-card{width:min(460px,100%);background:#fff;border-radius:16px;box-shadow:0 20px 55px rgba(18,61,48,.14);padding:30px;border:1px solid var(--line)}.login-brand{text-align:center;margin-bottom:24px}.login-brand .brand-mark{margin:0 auto 10px;color:var(--green);border-color:var(--green)}.pagination{display:flex;gap:6px;margin-top:16px}.pagination a,.pagination span{padding:7px 10px;border:1px solid var(--line);border-radius:7px;background:#fff}.summary-list{list-style:none;margin:0;padding:0}.summary-list li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line)}.summary-list li:last-child{border-bottom:0}.danger-zone{border-color:#e2b6b6;background:#fffafa}.hidden{display:none!important}
@media(max-width:1050px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main-column{margin-left:0;width:100%}.menu-button{display:block}.content{padding:16px}.topbar{padding:14px 16px}.grid-2,.grid-3,.grid-4,.inline-fields{grid-template-columns:1fr}.allocation-row{grid-template-columns:1fr}.account-balance-row{grid-template-columns:1fr}.top-actions{display:none}.card{padding:16px}.table{min-width:650px}}
