@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800;900&family=Poppins:wght@500;600;700;800;900&display=swap');
:root{--g:#087c50;--g2:#10a875;--g3:#dff8eb;--ink:#14271f;--muted:#74857d;--bg:#f2f8f5;--line:rgba(13,100,65,.10);--glass:rgba(255,255,255,.78);--shadow:0 12px 34px rgba(18,75,49,.09);--deep:#064b34;--danger:#d83c50;--gold:#f3bd42}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 90% 0%,rgba(16,168,117,.13),transparent 28%),radial-gradient(circle at 0% 35%,rgba(8,124,80,.07),transparent 26%),var(--bg);color:var(--ink);font:15px 'DM Sans',system-ui,sans-serif;padding-bottom:calc(92px + env(safe-area-inset-bottom))}
a{color:var(--g);text-decoration:none}button,input,select,textarea{font:inherit}.top{min-height:70px;position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px max(16px,calc((100% - 1080px)/2));background:rgba(255,255,255,.78);border-bottom:1px solid rgba(255,255,255,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 5px 24px rgba(20,65,43,.045)}.brand{display:flex;align-items:center;gap:10px;color:var(--deep);font:900 21px Poppins,sans-serif;letter-spacing:.3px}.brand-icon{height:39px;width:39px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#13b77d,#056443);box-shadow:0 7px 16px #087c5038;font-size:20px}.top-right{display:flex;align-items:center;gap:10px}.top select{width:auto;max-width:116px;padding:9px 12px;border-radius:13px}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#e2f8eb,#c4f0d8);border:1px solid #b8e9ce;color:var(--deep);font-weight:900}.container{width:min(100% - 28px,980px);margin:24px auto 40px}h1{font:800 clamp(22px,4vw,29px) Poppins,sans-serif;letter-spacing:-.6px;margin:0 0 18px;color:#123b2a}h2{font:800 17px Poppins,sans-serif;margin:0 0 12px;color:#174b35}.welcome{position:relative;isolation:isolate;overflow:hidden;margin:0 0 17px;padding:23px 21px;border-radius:25px;color:#fff;background:linear-gradient(125deg,#075b3c 0%,#078c5b 56%,#16b77e 100%);box-shadow:0 15px 32px rgba(6,112,71,.2);font:700 20px Poppins,sans-serif}.welcome:after{content:'';position:absolute;z-index:-1;width:210px;height:210px;right:-65px;top:-112px;border:1px solid #ffffff30;border-radius:50%;box-shadow:0 0 0 22px #ffffff0b,0 0 0 48px #ffffff08}.welcome small{display:block;margin-top:5px;color:#d9f8e8;font:500 12px 'DM Sans',sans-serif}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.balance,.panel,.action{background:var(--glass);border:1px solid rgba(255,255,255,.95);border-radius:19px;box-shadow:var(--shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.balance{padding:17px;display:flex;flex-direction:column;gap:7px;min-width:0}.balance small,.muted{color:var(--muted)}.balance strong{font:900 22px Poppins,sans-serif;color:var(--g);overflow-wrap:anywhere}.actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:17px 0 19px}.action{padding:15px 5px;text-align:center;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;font-weight:700;transition:transform .2s,box-shadow .2s}.action:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(18,75,49,.13)}.action b{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#e1f8eb,#c9f0db);color:var(--g);font-size:24px}.panel{padding:19px;margin:14px 0}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.list-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 0;border-top:1px solid var(--line)}.list-row small,.request small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.status{display:inline-flex;align-items:center;background:#fff4d9;color:#946200;border-radius:30px;padding:6px 11px;font-size:11px;font-weight:800}.request{border-top:1px solid var(--line);padding:16px 0}.notice{padding:13px 15px;border-radius:15px;background:#e4f7ec;color:#08623f;border:1px solid #c8efd8;margin-bottom:14px;font-weight:600;font-size:13px}.notice.error{background:#fff0f1;color:#a52336;border-color:#ffd4da}label{display:block;font-size:12px;font-weight:800;color:#355747;margin:14px 0 7px}input,select,textarea{width:100%;min-height:46px;padding:12px 14px;border:1px solid #dceae1;border-radius:13px;background:rgba(255,255,255,.86);color:var(--ink);outline:none;transition:border .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:#36b982;box-shadow:0 0 0 4px rgba(16,168,117,.12)}.btn{border:0;border-radius:13px;background:linear-gradient(135deg,#0b9a65,#066744);color:white;padding:12px 18px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;box-shadow:0 7px 17px rgba(8,124,80,.18);transition:transform .2s,filter .2s}.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}.btn.secondary{background:#e5f7ed;color:var(--deep);box-shadow:none}.btn.danger{background:linear-gradient(135deg,#e64c5d,#b9273d);box-shadow:0 7px 17px #b9273d24}.bottom{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;justify-content:space-around;gap:4px;padding:9px 6px calc(9px + env(safe-area-inset-bottom));background:rgba(255,255,255,.86);border-top:1px solid #fff;box-shadow:0 -8px 30px rgba(20,65,43,.08);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.bottom a{color:#7b8b82;display:flex;align-items:center;flex-direction:column;gap:3px;font-size:10px;font-weight:700;min-width:54px}.bottom b{font-size:21px;color:var(--g)}.admin-nav{display:flex;align-items:center;gap:7px;overflow-x:auto;scrollbar-width:none;margin-left:auto}.admin-nav::-webkit-scrollbar{display:none}.admin-nav a{white-space:nowrap;padding:9px 12px;border-radius:12px;color:#416252;font-size:12px;font-weight:800;background:#eaf7ef;border:1px solid #dff1e6}.admin-nav a.active,.admin-nav a:hover{background:linear-gradient(135deg,#0b9a65,#066744);color:#fff;border-color:transparent}.request form .actions{grid-template-columns:repeat(2,minmax(0,1fr))}.request .actions .btn{width:100%;margin-top:8px}.panel form>.btn{min-width:130px}.panel table{width:100%;border-collapse:collapse}.panel td,.panel th{padding:11px 9px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}
@media(max-width:640px){body{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.top{min-height:62px;padding:9px 14px}.brand{font-size:18px}.brand-icon{width:35px;height:35px;border-radius:12px}.container{width:calc(100% - 24px);margin:19px auto 28px}.welcome{padding:20px 18px;border-radius:22px;font-size:18px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.balance{padding:14px;border-radius:16px}.balance strong{font-size:18px}.actions{gap:8px}.action{padding:12px 3px;border-radius:16px;font-size:10.5px}.action b{width:39px;height:39px;font-size:22px}.panel{padding:15px;border-radius:17px;margin:12px 0}.bottom{border-radius:18px 18px 0 0}.admin-nav{position:fixed;left:0;right:0;top:62px;z-index:25;padding:8px 12px;background:rgba(255,255,255,.9);border-bottom:1px solid #e5f0e9;backdrop-filter:blur(18px)}body[data-page="admin"] .container,body[data-page="users"] .container{margin-top:70px}.admin-nav a{padding:8px 11px;font-size:11px}.request .actions{gap:8px}.list-row{align-items:flex-start}.btn{font-size:13px}}
@media(min-width:760px){.container{margin-top:30px}.bottom{left:50%;right:auto;transform:translateX(-50%);width:min(720px,100%);border:1px solid #fff;border-bottom:0;border-radius:20px 20px 0 0}}

/* TAKIMO-inspired app shell, adapted to ZOCASH green/white identity */
.top-left{display:flex;align-items:center;gap:12px}.menu-toggle{width:42px;height:42px;border:1px solid #dcefe4;border-radius:14px;background:#fff;color:var(--deep);font-size:20px;box-shadow:0 5px 16px #064b3410;cursor:pointer}.bottom{left:50%;right:auto;transform:translateX(-50%);width:min(560px,calc(100% - 20px));bottom:8px;border:1px solid #ffffffd9;border-radius:22px;padding:9px 8px calc(9px + env(safe-area-inset-bottom));box-shadow:0 12px 40px #073e2920}.bottom a{flex:1;min-width:0;padding:5px 2px;border-radius:14px;transition:.2s}.bottom a b{width:35px;height:29px;display:grid;place-items:center;border-radius:11px;font-size:21px}.bottom a.active{color:var(--deep);background:#e8f8ef}.bottom a.active b{color:#fff;background:linear-gradient(145deg,#10ad75,#066744);box-shadow:0 5px 12px #087c5030}.admin-sidebar{position:fixed;z-index:80;left:0;top:0;bottom:0;width:278px;padding:20px 15px;background:rgba(250,255,252,.94);border-right:1px solid #fff;box-shadow:15px 0 45px #073e2915;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);display:flex;flex-direction:column;transform:translateX(-105%);transition:transform .28s ease}.menu-open .admin-sidebar{transform:translateX(0)}.admin-scrim{position:fixed;inset:0;z-index:70;background:#09291c66;opacity:0;visibility:hidden;transition:.25s}.menu-open .admin-scrim{opacity:1;visibility:visible}.sidebar-head,.sidebar-brand,.admin-profile{display:flex;align-items:center;gap:11px}.sidebar-head{justify-content:space-between;padding:2px 4px 20px;border-bottom:1px solid #e5f1e9}.sidebar-brand b{display:block;font:900 17px Poppins;color:var(--deep)}.sidebar-brand small,.admin-profile small{display:block;color:#7b9184;font-size:10px;letter-spacing:1px}.sidebar-close{border:0;background:#eaf7ef;color:var(--deep);width:34px;height:34px;border-radius:11px;font-size:23px}.admin-profile{padding:18px 5px}.admin-profile b{font-size:13px;color:#173e2c}.admin-profile small{font-size:11px;letter-spacing:0}.sidebar-label{padding:16px 10px 7px;color:#91a398;font-size:10px;font-weight:900;letter-spacing:1.4px}.side-link{display:flex;align-items:center;gap:12px;padding:12px 13px;margin:3px 0;border-radius:13px;color:#426451;font-size:13px;font-weight:750;transition:.18s}.side-link i{width:23px;text-align:center;font-style:normal;font-size:18px;color:#0b9863}.side-link.active,.side-link:hover{background:linear-gradient(120deg,#e2f7eb,#f1fbf5);color:#05613f;box-shadow:inset 3px 0 #0b9a65}.logout-link{margin-top:auto;color:#b52e43}.logout-link i{color:#b52e43}.sidebar-foot{padding:17px 10px 5px;margin-top:12px;border-top:1px solid #e5f1e9;color:#557565;font-size:11px;font-weight:800}.sidebar-foot small{font-weight:500;color:#93a69b}.admin-container{max-width:1120px}.admin-stats .balance{min-height:100px}.admin-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:14px 0 20px}.admin-shortcuts a{display:flex;align-items:center;gap:10px;padding:15px;border-radius:16px;background:rgba(255,255,255,.78);border:1px solid #fff;box-shadow:var(--shadow);font-size:20px;font-weight:900}.admin-shortcuts span{font-size:12px;color:#315b45}.filter-tabs{display:flex;gap:7px;overflow:auto;padding:2px 0 12px}.filter-tabs a{white-space:nowrap;padding:9px 13px;border-radius:30px;background:#eaf6ef;color:#4b705b;font-size:12px;font-weight:800}.filter-tabs a.active{background:linear-gradient(135deg,#0b9a65,#066744);color:white}.amount-positive{color:#078653}.amount-negative{color:#c43b4d}.status.approved{background:#e4f8ec;color:#087247}.status.rejected{background:#ffedef;color:#b52e43}
@media(min-width:900px){.admin-container{margin-left:calc(278px + max(28px, (100vw - 1400px)/2));width:min(100% - 330px,1050px)}.admin-sidebar{transform:translateX(0);top:70px;width:258px;box-shadow:none;border-right:1px solid #e4f0e8}.admin-scrim,.sidebar-close{display:none}.menu-toggle{display:none}.admin-sidebar .sidebar-head{padding-top:7px}.admin-container{margin-top:28px}}
@media(max-width:640px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shortcuts{grid-template-columns:1fr}.admin-container{margin-top:18px}.admin-sidebar{width:min(290px,86vw)}.bottom{bottom:7px}.bottom a span{font-size:9px}.top-right select{max-width:94px}}
