:root{--forest:#123c32;--dark:#0b2d26;--paper:#fffdf7;--canvas:#f3f1eb;--ink:#18211e;--muted:#66736e;--line:#d9dfdc;--copper:#c88952;--red:#b43f35;--green:#19704b;--blue:#345d96;color:var(--ink);background:var(--canvas);font-family:Inter,Avenir Next,Avenir,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}:focus-visible{outline-offset:2px;outline:3px solid #c8895280}.brand{align-items:center;gap:11px;display:flex}.brand svg{width:40px;height:40px;color:var(--forest)}.brand span{flex-direction:column;display:flex}.brand strong{letter-spacing:-.03em;font-size:19px}.brand small{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-top:1px;font-size:10px}.overline{color:#9a5e33;text-transform:uppercase;letter-spacing:.15em;margin:0;font-size:11px;font-weight:800}.muted{color:var(--muted)}.admin-login{background:var(--paper);grid-template-columns:.88fr 1.12fr;min-height:100vh;display:grid}.login-identity{color:#fff;background:var(--forest);flex-direction:column;justify-content:space-between;padding:48px;display:flex}.login-identity .brand svg{color:var(--paper)}.login-identity .brand small{color:#a9bcb5}.login-identity>div{max-width:490px}.login-identity h1{letter-spacing:-.04em;margin:18px 0 20px;font-family:Georgia,serif;font-size:54px;font-weight:500;line-height:1.02}.login-identity p:not(.overline){color:#b7c7c2;max-width:420px;line-height:1.7}.login-identity>small{color:#8ea69e}.login-form-wrap{place-items:center;padding:36px;display:grid}.login-card{width:min(430px,100%)}.login-card h2{letter-spacing:-.035em;margin:12px 0 8px;font-size:31px}.login-card>label{margin-top:22px;display:block}.login-card label>span{margin-bottom:8px;font-size:13px;font-weight:750;display:block}.login-card input,.modal input,.modal textarea{background:#fff;border:1px solid #c6d0cc;border-radius:5px;width:100%;min-height:49px;padding:12px}.password-field{position:relative}.password-field input{padding-right:65px}.password-field button{color:var(--forest);background:0 0;border:0;font-size:12px;font-weight:800;position:absolute;top:14px;right:12px}.primary{background:var(--forest);color:#fff;border:0}.wide{width:100%}.login-card>.primary{border-radius:5px;min-height:50px;margin-top:26px;font-weight:800}.security-note{color:var(--muted);margin-top:20px;font-size:12px}.security-note span{color:var(--green)}.shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--dark);color:#c8d5d1;height:100vh;padding:25px 16px;position:sticky;top:0}.sidebar .brand{border-bottom:1px solid #ffffff1a;padding:0 8px 24px}.sidebar .brand svg{color:var(--paper)}.sidebar .brand strong{color:#fff}.sidebar .brand small{color:#8fa79f}.nav-group{margin-top:23px}.nav-label{color:#718f85;text-transform:uppercase;letter-spacing:.14em;padding:0 10px 8px;font-size:10px;font-weight:800;display:block}.sidebar button{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-radius:5px;justify-content:space-between;align-items:center;margin:3px 0;padding:11px 10px;font-size:13px;font-weight:650;display:flex}.sidebar button:hover{color:#fff;background:#ffffff0f}.sidebar button.active{color:var(--dark);background:#fff}.nav-text{align-items:center;gap:10px;display:flex}.nav-text svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.nav-text svg path[d^=M4\ 4h]{fill:currentColor;stroke:none}.nav-count{text-align:center;background:#ffffff1c;border-radius:10px;min-width:21px;padding:2px 6px;font-size:10px}.active .nav-count{background:#e7eee9}.sidebar-footer{border-top:1px solid #ffffff1a;padding-top:16px;position:absolute;bottom:22px;left:16px;right:16px}.staff-card{align-items:center;gap:9px;padding:0 8px 12px;display:flex}.avatar{color:#fff;background:#264c42;border-radius:50%;place-items:center;width:31px;height:31px;font-size:11px;font-weight:800;display:grid}.staff-card strong,.staff-card small{display:block}.staff-card strong{color:#fff;font-size:12px}.staff-card small{color:#819b93;margin-top:2px;font-size:10px}.sidebar-footer button{color:#9cb0aa}.content{min-width:0;padding:0 34px 60px;overflow:auto}.top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:90px;display:flex}.top h1{letter-spacing:-.035em;margin:5px 0 0;font-size:29px}.role-badge{color:var(--forest);letter-spacing:.08em;border:1px solid #b8c4bf;padding:6px 9px;font-size:10px;font-weight:800}.toast{z-index:90;border-left:3px solid var(--green);background:#fff;max-width:390px;padding:14px 17px;font-size:13px;position:fixed;top:24px;right:26px;box-shadow:0 15px 45px #1b332a22}.cards{border:1px solid var(--line);background:var(--paper);grid-template-columns:repeat(4,minmax(0,1fr));margin:28px 0;display:grid}.card{border-right:1px solid var(--line);min-height:120px;padding:20px}.card:nth-child(4n){border-right:0}.card:nth-child(n+5){border-top:1px solid var(--line)}.card span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.card strong{color:var(--forest);letter-spacing:-.03em;margin-top:13px;font-size:25px;display:block}.panel{background:var(--paper);border:1px solid var(--line);margin-top:22px;padding:22px}.panel h2{margin:0 0 8px;font-size:18px}.panel p{color:var(--muted);line-height:1.6}.overview-grid{grid-template-columns:1.25fr .75fr;gap:20px;display:grid}.progress-row{margin-top:18px}.progress-row>div:first-child{justify-content:space-between;font-size:12px;display:flex}.track{background:#e8ecea;height:7px;margin-top:8px}.track span{background:var(--forest);height:100%;display:block}.toolbar{align-items:center;gap:10px;margin:22px 0 0;display:flex}.toolbar input,.toolbar select,.actions select,td select{background:#fff;border:1px solid #cbd3d0;border-radius:4px;min-height:38px;padding:7px 10px}.toolbar input{min-width:280px}.small,.actions button{min-height:35px;color:var(--forest);background:#fff;border:1px solid #bcc7c3;border-radius:4px;padding:7px 11px;font-size:12px;font-weight:750}.small:hover,.actions button:hover{border-color:var(--forest)}.actions{flex-wrap:wrap;gap:6px;display:flex}.actions .approve{border-color:var(--forest);background:var(--forest);color:#fff}.actions .danger{color:var(--red);border-color:#e0b1ad}table{border-collapse:collapse;width:100%;font-size:12.5px}th{text-align:left;border-bottom:1px solid var(--line);color:#718079;text-transform:uppercase;letter-spacing:.08em;padding:0 12px 12px;font-size:10px}td{vertical-align:top;border-bottom:1px solid #e6eae8;padding:15px 12px}tbody tr:hover{background:#f8f7f2}tbody tr:last-child td{border-bottom:0}.status{text-transform:capitalize;align-items:center;gap:6px;font-weight:750;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.status-approved,.status-active,.status-completed,.status-disbursed{color:var(--green)}.status-pending,.status-submitted{color:#95621c}.status-under_review,.status-processing{color:var(--blue)}.status-rejected,.status-suspended,.status-overdue,.status-defaulted{color:var(--red)}.money{font-variant-numeric:tabular-nums;font-weight:650}.empty{text-align:center;color:var(--muted);padding:55px 20px}.empty span{border:1px dashed #96a49f;width:36px;height:36px;margin:0 auto 13px;display:block}.empty strong{color:var(--ink);margin-bottom:7px;display:block}.alert{border-left:3px solid;margin-top:18px;padding:13px}.error{border-color:var(--red);color:#832d25;background:#fff0ee}.modal-backdrop{z-index:100;background:#071d18b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:var(--paper);width:min(470px,100%);box-shadow:0 28px 80px #0005}.modal-head{border-bottom:1px solid var(--line);padding:23px 25px}.modal-head .overline{margin-bottom:8px}.modal-head h2{margin:0;font-size:22px}.modal-body{color:var(--muted);padding:23px 25px;font-size:14px;line-height:1.6}.modal textarea{resize:vertical;min-height:100px;margin-top:15px}.modal-actions{border-top:1px solid var(--line);gap:9px;padding:17px 25px;display:flex}.modal-actions button{border-radius:4px;flex:1;min-height:42px;font-weight:750}.modal-actions .cancel{color:var(--forest);background:#fff;border:1px solid #bac6c1}.modal-actions .danger{background:var(--red);color:#fff;border:0}@media (max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.card:nth-child(2n){border-right:0}.card:nth-child(n+3){border-top:1px solid var(--line)}.overview-grid{grid-template-columns:1fr}}@media (max-width:780px){.admin-login{display:block}.login-identity{min-height:260px;padding:28px}.login-identity h1{font-size:36px}.login-identity>small{display:none}.login-form-wrap{padding:35px 20px}.shell{display:block}.sidebar{height:auto;padding:16px;position:static}.sidebar .brand{border:0;padding-bottom:12px}.nav-group{margin:5px -5px 0;display:flex;overflow:auto}.nav-label,.sidebar-footer{display:none}.sidebar button{flex:none;width:auto}.content{padding:0 16px 45px}.top{min-height:76px}.top h1{font-size:24px}.cards{grid-template-columns:1fr 1fr}.card{min-height:105px}.panel{padding:14px;overflow:auto}.toolbar{flex-direction:column;align-items:stretch}.toolbar input{width:100%;min-width:0}table{min-width:850px}.toast{top:14px;left:15px;right:15px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.sidebar,.top,.toolbar,.actions{display:none!important}.shell{display:block}.content{padding:0}.panel{border:0}body{background:#fff}}
