:root{--teal:#177577;--dark:#0b2f36;--gold:#e5c96f;--bg:#f4faf9;--ink:#112326;--muted:#66777a;--line:rgba(17,35,38,.12);--shadow:0 18px 45px rgba(6,31,36,.10);--radius:22px}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}a{text-decoration:none;color:inherit}.wrap{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.side{background:linear-gradient(180deg,#061f24,var(--dark));color:#fff;padding:24px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:12px;align-items:center;margin-bottom:26px}.logo{width:46px;height:46px;border-radius:16px;background:linear-gradient(145deg,var(--teal),var(--gold));display:grid;place-items:center;font-weight:950;color:#061f24}.brand h2{margin:0;font-size:20px}.brand small{color:rgba(255,255,255,.65)}.nav a{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:14px;color:rgba(255,255,255,.82);font-weight:800;margin-bottom:6px}.nav a:hover{background:rgba(255,255,255,.10);color:#fff}.main{padding:26px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.topbar h1{margin:0;font-size:32px;letter-spacing:-.8px}.pill{display:inline-flex;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;color:var(--muted);font-weight:800}.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.stat b{font-size:34px;color:var(--teal)}.stat span{display:block;color:var(--muted);font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 18px;font-weight:900;cursor:pointer}.btn.primary{background:var(--teal);color:#fff}.btn.gold{background:var(--gold);color:#122}.btn.outline{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.danger{background:#9e1b1b;color:#fff}.btn.small{padding:8px 12px;font-size:13px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;color:var(--teal);letter-spacing:.8px}label{display:block;font-weight:900;margin:10px 0 6px}input,textarea,select{width:100%;border:1px solid var(--line);background:#fff;border-radius:15px;padding:12px 14px;font:inherit;color:var(--ink)}textarea{min-height:110px}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.alert{padding:13px 15px;border-radius:16px;margin-bottom:16px;font-weight:850}.success{background:#e8fff7;color:#0f6a47}.error{background:#fff0f0;color:#9a1b1b}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:900}.Pending{background:#fff8df;color:#8a6412}.Completed,.Approved,.Paid{background:#e8fff7;color:#0f6a47}.Rejected{background:#fff0f0;color:#9a1b1b}.InProgress{background:#eef6ff;color:#235d99}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 15% 20%,rgba(229,201,111,.25),transparent 30%),linear-gradient(135deg,#061f24,var(--dark))}.login-box{width:min(450px,calc(100% - 30px));background:#fff;border-radius:30px;padding:30px;box-shadow:0 35px 80px rgba(0,0,0,.28)}.login-box .logo{margin:auto;margin-bottom:15px}.muted{color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap}.notice{border-left:5px solid var(--gold)}.progress{height:10px;background:#e8eeee;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--gold))}.mobile-menu{display:none}@media(max-width:980px){.wrap{grid-template-columns:1fr}.side{position:relative;height:auto}.nav{display:none}.nav.open{display:block}.mobile-menu{display:inline-flex}.grid-4,.grid-3,.grid-2,.form-row{grid-template-columns:1fr}.main{padding:16px}.topbar{align-items:flex-start;flex-direction:column}table{display:block;overflow-x:auto;white-space:nowrap}}