*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--navy: #15206B;--navy-deep: #0B1024;--navy-mid: #2A348F;--bg: #F4F6FA;--ink: #12141A;--muted: #5C6470;--line: #E6E8EE;--ok: #15803d;--bad: #b91c1c;--surface: #fff;--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 10px 28px rgba(16, 24, 40, .06)}body{font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:14px;color:var(--ink);background:var(--bg);line-height:1.5;letter-spacing:-.011em}button,input,select,textarea{font:inherit}a{color:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:236px;flex-shrink:0;background:var(--navy-deep);color:#c9d1d9;display:flex;flex-direction:column}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:22px 18px 18px;color:#fff;font-weight:700;font-size:16px}.sidebar-brand small{display:block;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8b93b8;margin-top:1px}.sidebar-nav{flex:1;padding:4px 12px 16px;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;color:#b4bce8;text-decoration:none;font-size:13.5px;font-weight:500;border-radius:10px;margin:2px 0}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item.active{background:#fff;color:var(--navy);font-weight:600}.nav-group{padding:16px 12px 6px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#7d86b0}.sidebar-footer{padding:14px 12px 16px;border-top:1px solid rgba(255,255,255,.08)}.admin-info{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:0 4px}.admin-avatar{width:32px;height:32px;border-radius:10px;background:#3d4ab8;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px}.admin-name{font-size:13px;font-weight:600;color:#fff}.admin-phone{font-size:11px;color:#8b93b8}.btn-logout{width:100%;padding:8px 12px;background:transparent;color:#c4c9e0;border:1px solid rgba(255,255,255,.14);border-radius:10px;cursor:pointer;font-weight:600}.btn-logout:hover{background:#ffffff0f;color:#fff}.main-content{flex:1;overflow-y:auto;padding:32px 40px 48px}.page{max-width:1120px}.page-header{display:flex;justify-content:space-between;gap:14px;margin-bottom:28px;flex-wrap:wrap;align-items:flex-start}.page-header h2{font-size:26px;font-weight:700;color:var(--navy);letter-spacing:-.03em}.page-header p{font-size:13px;color:var(--muted);margin-top:4px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.stat-card,.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow)}.stat-card.clickable,.clickable{cursor:pointer;transition:box-shadow .15s,transform .15s}.stat-card.clickable:hover,.clickable:hover{box-shadow:0 8px 20px #1a237e1f;transform:translateY(-1px)}.stat-value{font-size:24px;font-weight:700;color:var(--navy)}.stat-label{font-size:12px;color:var(--muted)}.card-title{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}.cell-primary{font-weight:600}.cell-secondary{font-size:12px;color:var(--muted);margin-top:2px}.empty,.empty-state,.loading{text-align:center;color:#9ca3af;padding:28px}.toolbar{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.search-input,select,textarea,.field{width:100%;padding:11px 12px;border:1px solid #d6dae3;border-radius:10px;outline:none;background:#fff}.search-input:focus,select:focus,textarea:focus,.field:focus{border-color:var(--navy);box-shadow:0 0 0 3px #1a237e1a}label{font-size:13px;font-weight:600;color:#374151;display:block;margin-bottom:6px}.form-grid{display:grid;gap:12px;grid-template-columns:1fr 1fr}.form-grid>*{min-width:0;position:relative}.form-grid.stack{grid-template-columns:1fr}.span-2{grid-column:1 / -1}.consent-row{display:flex;align-items:flex-start;gap:10px;grid-column:1 / -1;position:relative;z-index:1}.consent-row input[type=checkbox]{width:18px;height:18px;min-width:18px;margin-top:3px;cursor:pointer;accent-color:var(--navy);flex-shrink:0}.consent-row label{display:inline;margin:0;font-weight:500;cursor:pointer;line-height:1.4}.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:12px}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:10px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);background:#f9fafb;border-bottom:1px solid var(--line)}.data-table td{padding:12px 14px;border-bottom:1px solid #f3f4f6}.badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11.5px;font-weight:600}.badge-green{background:#dcfce7;color:var(--ok)}.badge-yellow{background:#fef9c3;color:#a16207}.badge-red{background:#fee2e2;color:var(--bad)}.badge-gray{background:#f3f4f6;color:#6b7280}.btn-primary,.btn-secondary,.btn-ghost,.btn-danger,.btn-link,.btn-back{border-radius:10px;cursor:pointer;font-weight:600}.btn-primary{padding:10px 18px;background:var(--navy);color:#fff;border:none}.btn-primary:hover:not(:disabled){background:var(--navy-mid)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{padding:10px 18px;background:#fff;color:#374151;border:1px solid #d1d5db}.btn-ghost{padding:8px 12px;background:transparent;color:var(--navy);border:none}.btn-sm{padding:6px 12px;font-size:12.5px}.btn-link{background:none;border:none;color:var(--navy);text-decoration:underline;padding:0}.btn-back{background:none;border:none;color:var(--muted);padding:0}.btn-danger{padding:10px 18px;background:#dc2626;color:#fff;border:none}.btn-full{width:100%}.alert-error,.alert-success,.form-error{padding:10px 14px;border-radius:8px;margin-bottom:14px;font-size:13px}.alert-error,.form-error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.alert-success{background:#dcfce7;color:#166534;border:1px solid #86efac}.login-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--navy-deep);padding:24px}.login-split{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:var(--bg)}.login-hero{background:radial-gradient(1200px 600px at 10% -10%,#2A348F 0%,transparent 50%),var(--navy-deep);color:#fff;padding:64px 56px;display:flex;flex-direction:column;justify-content:center}.login-hero h1{font-size:36px;letter-spacing:-.04em;margin:16px 0 10px}.login-hero p{font-size:16px;color:#c5cbe8;max-width:420px;line-height:1.55}.login-hero ul{margin-top:28px;list-style:none;color:#d7dcf3;font-size:14px}.login-hero li{padding:8px 0 8px 22px;position:relative}.login-hero li:before{content:"";position:absolute;left:0;top:14px;width:8px;height:8px;border-radius:50%;background:#9aa6ff}.login-panel{display:flex;align-items:center;justify-content:center;padding:40px 24px}.login-card{background:#fff;border-radius:18px;padding:40px 36px;width:100%;max-width:400px;box-shadow:var(--shadow);border:1px solid var(--line)}.login-split .login-card{box-shadow:none;border:none;padding:0}.login-split .login-logo{text-align:left}.login-split .login-logo h1{margin-top:0;font-size:28px}.login-logo{text-align:center;margin-bottom:24px}.login-logo h1{font-size:22px;font-weight:700;color:var(--navy);margin-top:10px;letter-spacing:-.03em}.login-logo p{font-size:13px;color:var(--muted);margin-top:4px}.brand-logo{display:block;object-fit:contain;flex-shrink:0;background:#fff;border-radius:10px}.brand-logo.sm{width:36px;height:36px;padding:4px}.brand-logo.md{width:88px;height:56px;padding:6px 8px}.brand-logo.lg{width:168px;height:auto;padding:12px 14px;border-radius:16px}.login-hero .brand-logo{box-shadow:0 10px 28px #00000047}.login-logo .brand-logo{margin:0 auto 12px}.brand-logo-center{margin:0 auto 16px}.logo-badge{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(180deg,#2a348f,#0b1024);color:#fff;font-size:20px;font-weight:700}.logo-badge.sm{width:28px;height:28px;border-radius:8px;font-size:13px}.login-form{display:flex;flex-direction:column;gap:12px}.pin-input{letter-spacing:8px;font-size:22px!important;text-align:center;font-weight:700}.otp-hint{font-size:13px;color:var(--muted);padding:8px 12px;background:#f9fafb;border-radius:8px}.phone-row{display:flex;align-items:center;border:1px solid #d6dae3;border-radius:10px;overflow:hidden;background:#fff}.phone-prefix{padding:10px 12px;background:#f4f6fa;font-weight:700;color:var(--navy)}.phone-row input{border:none;flex:1;padding:10px 12px;outline:none}.action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.job-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}.job-card{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 16px;cursor:pointer;font:inherit;color:inherit;box-shadow:var(--shadow)}.job-card:hover{border-color:#c9d0f5;box-shadow:0 10px 24px #15206b1a;transform:translateY(-1px)}.job-kicker{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7b83a8;margin-bottom:8px}.job-card h3{font-size:16px;color:var(--navy);margin:0 0 6px;letter-spacing:-.02em}.job-card p{font-size:12.5px;color:var(--muted);margin:0;line-height:1.45}.next-card{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:16px;box-shadow:var(--shadow)}.next-card .cell-primary{font-size:16px;color:var(--navy);letter-spacing:-.02em}.action-item{text-align:left;cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;align-items:center;gap:10px}.action-item:hover{border-color:#c9d0f5}.action-icon{width:40px;height:40px;flex-shrink:0;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#eef0fb;color:var(--navy);font-size:16px}.action-item span{display:block;font-size:12px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wallet-card{position:relative;display:block;width:100%;max-width:320px;aspect-ratio:1.586 / 1;color:#fff;border:none;border-radius:16px;padding:0;overflow:hidden;text-align:left;background:linear-gradient(135deg,#0288d1,#01579b);box-shadow:0 8px 18px #01579b3d;margin-bottom:12px;font:inherit;cursor:default}.wallet-card[type=button]{cursor:pointer}.wallet-card.red{background:linear-gradient(135deg,#e53935,#7b1113);box-shadow:0 10px 24px #7b111347}.wallet-card.orange{background:linear-gradient(135deg,#ff9800,#5d4037);box-shadow:0 10px 24px #5d403747}.wallet-card.teal{background:linear-gradient(135deg,#009688,#004d40);box-shadow:0 8px 18px #004d403d}.wallet-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:#0c102d}.wallet-card.has-photo .wallet-face{background:linear-gradient(180deg,#0c102d26,#0c102db8)}.wallet-shine{position:absolute;top:-40%;right:-18%;width:70%;height:140%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 62%);pointer-events:none}.wallet-face{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:14px 16px 12px}.wallet-top{display:flex;justify-content:space-between;align-items:flex-start}.wallet-chip{width:36px;height:26px;border-radius:5px;background:linear-gradient(90deg,transparent 20%,rgba(0,0,0,.12) 20% 22%,transparent 22% 48%,rgba(0,0,0,.12) 48% 50%,transparent 50%),linear-gradient(180deg,transparent 38%,rgba(0,0,0,.12) 38% 42%,transparent 42% 78%,rgba(0,0,0,.12) 78% 82%,transparent 82%),linear-gradient(135deg,#f6e27a,#c9a227 55%,#8a6d1a);box-shadow:inset 0 0 0 1px #ffffff59}.wallet-contactless{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 30% 50%,transparent 42%,rgba(255,255,255,.85) 43% 48%,transparent 49%),radial-gradient(circle at 30% 50%,transparent 58%,rgba(255,255,255,.7) 59% 64%,transparent 65%),radial-gradient(circle at 30% 50%,transparent 74%,rgba(255,255,255,.55) 75% 80%,transparent 81%)}.wallet-badge{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:12px;background:#fff3}.wallet-badge.warn{background:#f59e0b59}.wallet-number{font-size:16px;letter-spacing:2px;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.wallet-meta{display:flex;align-items:flex-end;gap:16px}.wallet-meta div{min-width:0}.wallet-meta span{display:block;font-size:10px;opacity:.75;font-weight:400}.wallet-meta strong{display:block;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.wallet-brand{margin-left:auto;font-weight:800;letter-spacing:.08em;font-style:italic;font-size:18px;line-height:1}.wallet-brand.visa{font-family:Georgia,serif;font-size:22px;font-style:italic;letter-spacing:1px}.wallet-brand.rupay{font-style:normal;letter-spacing:0}.wallet-brand.diners{font-style:normal;font-size:13px}.wallet-brand.mastercard{display:flex;width:48px;height:30px;position:relative}.wallet-brand.mastercard i{width:30px;height:30px;border-radius:50%;position:absolute;top:0}.wallet-brand.mastercard i:first-child{left:0;background:#eb001b}.wallet-brand.mastercard i:last-child{right:0;background:#f79e1b;mix-blend-mode:screen}.wallet-name{font-size:13px}.wallet-actions{display:flex;justify-content:flex-end;gap:8px;margin:8px 0 20px;max-width:320px}.freq-row{display:flex;gap:16px;overflow-x:auto;padding-bottom:6px}.freq-item{width:72px;text-align:center;flex-shrink:0;cursor:pointer}.freq-avatar{width:56px;height:56px;border-radius:50%;margin:0 auto 6px;background:#eef0fb;color:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:700;overflow:hidden}.freq-avatar img{width:100%;height:100%;object-fit:cover}.ad-banner{background:var(--navy-deep);color:#fff;border-radius:14px;padding:16px 20px;margin-bottom:20px;cursor:pointer}.dotted-card{border:1.5px dashed #c9cedb;border-radius:14px;min-height:110px;max-width:320px;background:#fafbfe;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:#5c6470;margin-bottom:20px;font-weight:600}.section-h{font-size:13px;font-weight:700;color:var(--navy);margin:22px 0 12px;letter-spacing:.06em;text-transform:uppercase}.welcome{color:var(--muted);font-size:13px;font-weight:500}.upload-box{border:1.5px solid #e5e7eb;background:#0f172a;color:#cbd5e1;border-radius:16px;aspect-ratio:1.586 / 1;max-width:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.upload-box img{width:100%;height:100%;object-fit:contain;background:#0f172a}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.receipt-card{background:#fff;border-radius:16px;padding:28px 24px;width:100%;max-width:440px;box-shadow:0 20px 60px #00000047;max-height:90vh;overflow:auto}.receipt-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}.receipt-head h2{font-size:18px;color:var(--navy);margin:0}.receipt-ok{color:#166534;font-size:13px;font-weight:600;margin:2px 0 0}.receipt-bad{color:#991b1b;font-size:13px;font-weight:600;margin:2px 0 0}.receipt-amount{font-size:32px;font-weight:700;color:var(--navy);margin:12px 0 4px}.receipt-purpose{color:var(--muted);font-size:14px;margin-bottom:16px}.receipt-body{border-top:1px solid var(--line)}.receipt-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.receipt-row span{color:var(--muted)}.receipt-row strong{color:#111827;text-align:right;font-weight:600;word-break:break-all}.info-box{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:12px}.row-between{display:flex;justify-content:space-between;align-items:center;gap:8px}.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.offer-box{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px 12px;background:#fff;border:1px solid var(--line);border-radius:12px;cursor:pointer;text-align:center;font:inherit;color:inherit}.offer-box:hover:not(:disabled){border-color:#c7d2fe;box-shadow:0 8px 18px #1a237e14}.offer-box:disabled{opacity:.65;cursor:wait}.offer-box.selected{border-color:var(--navy);box-shadow:0 8px 20px #1a237e24}.offer-box-logo{width:72px;height:72px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;display:flex;align-items:center;justify-content:center;padding:10px;box-shadow:0 4px 10px #0000000d}.offer-box-logo img{max-width:100%;max-height:100%;object-fit:contain}.offer-box-fallback{font-size:20px;font-weight:700;color:var(--navy)}.offer-box-name{font-size:12px;font-weight:500;color:#111827;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;width:100%}.offer-box.selected .offer-box-name{color:var(--navy);font-weight:700}@media (max-width: 980px){.login-split{grid-template-columns:1fr}.login-hero{display:none}.action-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 860px){.app-shell{flex-direction:column}.sidebar{width:100%}.sidebar-brand{padding:12px 16px}.sidebar-nav{display:flex;overflow-x:auto;padding:0 8px}.nav-item{border-radius:0;margin:0;white-space:nowrap;padding:12px 14px}.nav-item.active{background:transparent;color:#fff;box-shadow:inset 0 -2px #fff}.nav-group,.sidebar-footer,.nav-more{display:none}.main-content{padding:18px 16px}.form-grid{grid-template-columns:1fr}.action-grid{grid-template-columns:1fr 1fr}.job-grid{grid-template-columns:1fr}.wallet-number{font-size:16px;letter-spacing:1.5px}.wallet-face{padding:14px 16px 12px}.wallet-meta strong{max-width:110px}.offer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.offer-box-logo{width:64px;height:64px}.page-header h2{font-size:22px}}
