:root{--blue:#2563eb;--blue-dark:#1e40af;--navy:#0f172a;--surface:#f8fafc;--alt:#f1f5f9;--text:#0f172a;--text2:#475569;--muted:#94a3b8;--border:#00000014;--green:#15be53;--red:#dc2626;--amber:#f59e0b;--gradient:linear-gradient(135deg, #2563eb, #7c3aed);--shadow:0 4px 24px #0000000f, 0 1px 4px #0000000a;--radius:20px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#e2e8f0;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5}button{font:inherit;cursor:pointer}input,select{font:inherit}.app-shell{background:#fff;flex-direction:column;max-width:420px;height:100%;margin:0 auto;display:flex;position:relative;box-shadow:0 20px 60px #0000002e}.appbar{border-bottom:1px solid var(--border);background:#fff;flex-shrink:0;align-items:center;gap:10px;padding:14px 16px;display:flex}.appbar .logo{font-size:20px}.appbar .title{font-size:16px;font-weight:700}.appbar .role{color:var(--blue);background:#2563eb1a;border-radius:999px;margin-left:auto;padding:4px 10px;font-size:11px;font-weight:600}.app-body{flex:1;padding:16px;overflow-y:auto}.login-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:24px;display:flex}.login-page .brand{margin-bottom:12px;font-size:48px}.login-page h1{margin-bottom:4px;font-size:22px;font-weight:700}.login-page .sub{color:var(--text2);margin-bottom:28px;font-size:14px}.login-page .input{border:1.5px solid var(--border);text-align:left;border-radius:12px;width:100%;margin-bottom:10px;padding:13px;font-size:15px}.login-page .btn{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:14px;width:100%;margin-top:6px;padding:15px;font-size:15px;font-weight:700}.login-page .err{color:var(--red);margin-top:10px;font-size:13px}.search-input{border:1.5px solid var(--border);border-radius:12px;width:100%;margin-bottom:14px;padding:12px 14px;font-size:15px}.customer-row{border:1px solid var(--border);cursor:pointer;border-radius:14px;align-items:center;gap:12px;margin-bottom:8px;padding:12px;transition:all .15s;display:flex}.customer-row:hover{border-color:var(--blue);background:var(--surface)}.avatar{background:var(--gradient);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:15px;font-weight:600;display:flex}.crow-meta{flex:1}.crow-name{font-size:15px;font-weight:600}.crow-mobile{color:var(--muted);font-size:13px}.badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700}.badge.founder{color:#92400e;background:#fef3c7}.badge.starter{color:#3730a3;background:#e0e7ff}.balcard{color:#fff;border-radius:var(--radius);background:linear-gradient(135deg,#2563eb,#1e40af);margin-bottom:16px;padding:22px;box-shadow:0 8px 24px #2563eb4d}.balcard .lbl{opacity:.8;text-transform:uppercase;letter-spacing:.06em;font-size:12px}.balcard .amt{letter-spacing:-1px;margin:2px 0 8px;font-size:38px;font-weight:800}.balcard .split{opacity:.9;font-size:13px}.pill{border-radius:999px;margin-top:12px;padding:5px 11px;font-size:11px;font-weight:700;display:inline-block}.pill.active{color:#dcfce7;background:#15be5340}.pill.expired{color:#fff;background:#fff3}.chips{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.chip{border:1.5px solid var(--border);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.chip.claimed{background:var(--surface);color:var(--muted);cursor:default;border-style:dashed}.chip.disabled{opacity:.45;cursor:not-allowed}.cust-head{align-items:center;gap:12px;margin-bottom:16px;display:flex}.cust-head .nm{font-size:18px;font-weight:700}.cust-head .mb{color:var(--muted);font-size:13px}.btnrow{gap:10px;margin-bottom:20px;display:flex}.btn{cursor:pointer;border:none;border-radius:14px;flex:1;padding:15px;font-size:15px;font-weight:700;transition:all .15s}.btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn-load{background:var(--green);color:#fff}.btn-deduct{background:var(--navy);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.sec-lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-size:12px;font-weight:700}.txn{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:11px 0;display:flex}.txn .ico{background:var(--surface);border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;display:flex}.txn .t-meta{flex:1}.txn .t-nm{font-size:14px;font-weight:600}.txn .t-dt{color:var(--muted);font-size:12px}.txn .t-amt{font-size:14px;font-weight:700}.t-amt.credit{color:var(--green)}.t-amt.debit{color:var(--red)}.txn .t-void{color:var(--red);cursor:pointer;font-size:11px}.sheet-overlay{z-index:100;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:420px;max-height:85vh;padding:20px;animation:.25s ease-out slideUp;overflow-y:auto}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-title{margin-bottom:14px;font-size:17px;font-weight:700}.presets{gap:8px;margin-bottom:12px;display:flex}.preset{border:1.5px solid var(--border);text-align:center;cursor:pointer;border-radius:12px;flex:1;padding:14px 6px;font-size:15px;font-weight:700}.preset.sel{border-color:var(--blue);color:var(--blue);background:#2563eb0f}.toggle{gap:8px;margin-bottom:14px;display:flex}.toggle .opt{border:1.5px solid var(--border);text-align:center;cursor:pointer;border-radius:12px;flex:1;padding:12px;font-size:14px;font-weight:600}.toggle .opt.sel{border-color:var(--blue);color:var(--blue);background:#2563eb0f}.preview{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;margin-bottom:16px;padding:14px;font-size:14px}.preview b{font-size:18px}.confirm{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:14px;width:100%;padding:15px;font-family:inherit;font-size:15px;font-weight:700}.confirm:disabled{opacity:.5;cursor:not-allowed}.input{border:1.5px solid var(--border);border-radius:12px;width:100%;margin-bottom:12px;padding:13px;font-family:inherit;font-size:15px}.form-group{margin-bottom:12px}.form-group label{color:var(--text2);margin-bottom:4px;font-size:13px;font-weight:500;display:block}.form-group input,.form-group select{border:1.5px solid var(--border);border-radius:12px;width:100%;padding:12px;font-family:inherit;font-size:15px}.toast{background:var(--navy);color:#fff;z-index:200;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:600;animation:.3s ease-out toastIn;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0003}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.cust-brand{text-align:center;padding:20px 0 8px;font-size:18px;font-weight:700}.cust-brand span{font-size:22px}.readonly-tag{text-align:center;color:var(--muted);margin-bottom:14px;font-size:11px}.footer-cta{background:var(--surface);text-align:center;color:var(--text2);border-radius:14px;margin-top:24px;padding:16px;font-size:13px}.summary-cards{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.summary-card{background:var(--surface);text-align:center;border-radius:14px;padding:14px}.summary-card .s-val{letter-spacing:-.5px;font-size:22px;font-weight:800}.summary-card .s-lbl{color:var(--muted);margin-top:2px;font-size:11px}.fab{background:var(--blue);color:#fff;cursor:pointer;z-index:50;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:28px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 16px #2563eb66}.member-row{border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;margin-bottom:6px;padding:10px;display:flex}.member-row .m-name{flex:1;font-size:14px;font-weight:600}.member-row .m-primary{color:var(--blue);background:#2563eb1a;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.text-center{text-align:center}.mt-12{margin-top:12px}.mb-12{margin-bottom:12px}
