:root{--bg:#f4f7fb;--card:#fff;--text:#172033;--muted:#738094;--primary:#0f8b5f;--primary2:#0b6d4a;--border:#dce4ef;--danger:#dc3545;--warning:#f59e0b;--shadow:0 10px 30px rgba(16,24,40,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:260px;background:linear-gradient(180deg,#063f30,#096144);color:#fff;padding:22px;position:fixed;inset:0 auto 0 0}.brand{display:flex;gap:12px;align-items:center;margin-bottom:26px}.brand-icon{width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.15);display:grid;place-items:center;font-size:24px}.brand span{display:block;font-size:12px;opacity:.8}.sidebar nav{display:grid;gap:8px}.sidebar nav a{padding:13px 14px;border-radius:12px;color:#e9fff6}.sidebar nav a:hover{background:rgba(255,255,255,.12)}.danger-link{margin-top:20px;background:rgba(220,53,69,.22)}.main{margin-left:260px;width:calc(100% - 260px);padding:24px}.topbar{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:22px;padding:20px 24px;margin-bottom:22px}.topbar h1{margin:0;font-size:26px}.topbar p{margin:6px 0 0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:var(--card);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:20px;margin-bottom:18px}.stat .label{color:var(--muted);font-size:13px}.stat .value{font-size:28px;font-weight:800;margin-top:10px}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:end}.form-group label{display:block;font-weight:700;font-size:13px;margin-bottom:7px;color:#344054}.form-control{width:100%;padding:12px 13px;border:1px solid var(--border);border-radius:12px;background:#fff;font-size:14px}.btn{border:0;border-radius:12px;padding:12px 16px;font-weight:800;cursor:pointer;display:inline-flex;gap:6px;align-items:center;justify-content:center}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary2)}.btn-danger{background:var(--danger);color:#fff}.btn-light{background:#eef4f0;color:#0b6d4a}.actions{display:flex;gap:8px;flex-wrap:wrap}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:16px}table{width:100%;border-collapse:collapse;background:#fff;min-width:760px}th,td{padding:13px 14px;border-bottom:1px solid var(--border);text-align:left;font-size:14px}th{background:#f8fafc;color:#475467;font-size:12px;text-transform:uppercase;letter-spacing:.03em}tr:hover td{background:#fbfdfc}.badge{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}.paid{background:#dff8ea;color:#067647}.partial{background:#fff1cc;color:#92400e}.due{background:#ffe4e6;color:#b42318}.alert{padding:13px 15px;border-radius:14px;margin-bottom:14px;font-weight:700}.success{background:#dcfce7;color:#166534}.error{background:#fee2e2;color:#991b1b}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#063f30,#0f8b5f)}.login-card{width:min(420px,92vw);background:#fff;border-radius:26px;padding:32px;box-shadow:0 20px 60px rgba(0,0,0,.22)}.login-card h1{margin:0 0 6px}.login-card p{color:var(--muted);margin-top:0}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.mobile-title{display:none}
@media(max-width:900px){.app-shell{display:block}.sidebar{position:relative;width:100%;border-radius:0 0 24px 24px}.sidebar nav{grid-template-columns:repeat(3,1fr)}.main{margin-left:0;width:100%;padding:14px}.grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.topbar h1{font-size:22px}table{min-width:720px}}
@media(max-width:520px){.sidebar nav{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.card{padding:16px}.stat .value{font-size:24px}.actions .btn{width:100%}}
