:root{--primary:#063f2c;--primary2:#087a4d;--gold:#f5b301;--bg:#f4f6fa;--card:#fff;--text:#101828;--muted:#667085;--success:#16a34a;--danger:#dc2626;--warning:#d97706;--radius:18px;--shadow:0 8px 30px rgba(16,24,40,.08)}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}.topbar{height:72px;padding:10px max(18px,calc((100% - 1200px)/2));background:#fff;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30;border-bottom:1px solid #e8ecf2}.brand{display:flex;align-items:center;gap:11px;color:var(--primary);text-decoration:none}.brand img{width:52px;height:52px;object-fit:contain}.brand span,.user-chip{display:flex;flex-direction:column}.brand b{font-size:20px;letter-spacing:.08em}.brand small,.user-chip small{color:var(--muted)}.user-chip{text-align:right;font-size:14px}.container{max-width:980px;margin:0 auto;padding:24px 18px 100px}.staff-main{margin-left:245px;max-width:1200px}.sidebar{position:fixed;top:72px;bottom:0;width:245px;padding:18px 12px;background:var(--primary);overflow:auto}.sidebar nav{display:grid;gap:3px}.sidebar a,.sidebar p{color:#e6fff4;text-decoration:none;padding:10px 14px;border-radius:10px;margin:0;font-size:14px}.sidebar a:hover{background:#ffffff18}.sidebar p{color:#f8ce59;font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.1em;margin-top:10px}.page-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:20px}.page-head h1{margin:0;font-size:26px}.page-head p{margin:4px 0 0;color:var(--muted)}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--card);border:1px solid #e8ecf2;border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.balance-card{background:linear-gradient(135deg,#063f2c,#098c58);color:#fff;border:0;position:relative;overflow:hidden}.balance-card:after{content:"";position:absolute;width:180px;height:180px;border:28px solid #f5b30133;border-radius:50%;right:-70px;top:-60px}.balance{font-size:34px;font-weight:800;font-variant-numeric:tabular-nums;margin:8px 0}.stat b{font-size:25px;display:block}.stat span,.muted{color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn,button{appearance:none;border:0;border-radius:11px;background:var(--primary);color:#fff;min-height:44px;padding:10px 17px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn.secondary{background:#e8f2ed;color:var(--primary)}.btn.gold{background:var(--gold);color:#2d2300}.btn.danger{background:var(--danger)}.btn:disabled,button:disabled{opacity:.5;cursor:not-allowed}.form-grid{display:grid;gap:15px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}label{font-weight:650;font-size:14px;display:grid;gap:6px}input,select,textarea{width:100%;border:1px solid #cdd5df;border-radius:10px;padding:11px 12px;font:inherit;background:#fff;min-height:44px}input:focus,select:focus,textarea:focus{outline:3px solid #0b8b5940;border-color:var(--primary2)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #eaecf0}th{color:var(--muted);font-size:12px;text-transform:uppercase}.amount.in{color:var(--success);font-weight:800}.amount.out{color:var(--danger);font-weight:800}.pill,.badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#eef2f6;font-size:12px;font-weight:700}.flash{padding:13px 16px;border-radius:12px;margin-bottom:16px;background:#e8f2ed;color:#075b39}.flash.error{background:#feeceb;color:#9b1c1c}.flash.warning{background:#fff4dc;color:#8d5700}.bottom-nav{display:none}.empty{text-align:center;color:var(--muted);padding:30px}.login-wrap{max-width:430px;margin:5vh auto}.login-logo{width:180px;height:180px;object-fit:contain;display:block;margin:0 auto}.login-wrap h1{text-align:center;margin:0}.login-wrap>p{text-align:center;color:var(--muted)}.product{display:flex;flex-direction:column;gap:8px}.product .grade{font-size:34px;font-weight:900;color:var(--primary)}.rank{font-size:22px;font-weight:900;color:var(--gold)}@media(max-width:820px){.sidebar{display:none}.staff-main{margin-left:0}.grid.four,.grid.three{grid-template-columns:repeat(2,1fr)}.user-chip span{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:600px){.container{padding:18px 13px 105px}.grid.two,.grid.three,.grid.four,.form-grid.two{grid-template-columns:1fr}.page-head{align-items:start;flex-direction:column}.page-head h1{font-size:22px}.bottom-nav{position:fixed;z-index:40;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #ddd;display:flex;justify-content:space-around;padding:7px 4px calc(7px + env(safe-area-inset-bottom))}.bottom-nav a{font-size:19px;color:var(--muted);text-decoration:none;text-align:center;min-width:50px}.bottom-nav span{display:block;font-size:9px}.balance{font-size:29px}.table-wrap{overflow:auto}.brand small{display:none}.staff .bottom-nav{display:none}}
