:root{--paper: #FAF8F2;--paper-2: #F2EEE3;--surface: #FFFFFF;--surface-2: #FBFAF5;--ink: #1B1A22;--ink-2: #15141B;--ink-3: #232230;--ink-soft: #56535F;--ink-mute: #87838F;--on-ink: #F4F1E9;--on-ink-soft:#B7B2C2;--line: #E7E2D4;--line-2: #DCD6C5;--line-ink: #312F3D;--brand: #4F46E5;--brand-2: #6B62F0;--brand-ink: #372FB0;--brand-wash: #ECEBFB;--brand-line: #D6D3F6;--seal: #B07A1E;--seal-2: #CE9433;--seal-ink: #7C5512;--seal-wash: #F7EEDA;--ok: #0E9F6E;--ok-wash: #E2F4EC;--danger: #D6453F;--danger-wash:#FBE9E8;--warn: #C8841E;--radius: 16px;--radius-sm: 11px;--radius-xs: 9px;--shadow-sm: 0 1px 2px rgba(20,19,26,.05), 0 1px 3px rgba(20,19,26,.05);--shadow-md: 0 6px 18px rgba(20,19,26,.07), 0 2px 6px rgba(20,19,26,.05);--shadow-lg: 0 18px 44px rgba(20,19,26,.13), 0 6px 14px rgba(20,19,26,.06);--shadow-ink: 0 22px 48px rgba(13,12,20,.4), 0 6px 16px rgba(13,12,20,.28);--font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-mono: ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, monospace}*{box-sizing:border-box}html,body{height:100%}body{margin:0;color:var(--ink);font:15px/1.6 var(--font-ui);background:radial-gradient(900px 520px at 88% -8%,rgba(79,70,229,.06),transparent 60%),radial-gradient(760px 460px at -6% 4%,rgba(176,122,30,.06),transparent 58%),var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:#4f46e52e}.muted{color:var(--ink-soft)}.small{font-size:12.5px}.hidden{display:none!important}.brand{display:inline-flex;align-items:center;gap:11px;font-weight:600;font-size:17px;letter-spacing:-.015em}.brand .logo{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(150deg,var(--ink-2),#2c2940);box-shadow:var(--shadow-sm)}.brand .logo svg{width:21px;height:21px}.brand .wm{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em}.display{font-family:var(--font-display);font-weight:500;letter-spacing:-.02em;line-height:1.08}.eyebrow{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--seal-ink)}.eyebrow.on-ink{color:var(--seal-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--surface);color:var(--ink);border:1px solid var(--line-2);padding:10px 16px;border-radius:var(--radius-xs);cursor:pointer;font:500 13.5px var(--font-ui);box-shadow:var(--shadow-sm);transition:transform .08s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.btn:hover{border-color:var(--ink-mute);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.btn svg{width:17px;height:17px}.btn.primary{background:linear-gradient(180deg,var(--brand-2),var(--brand));border-color:transparent;color:#fff;box-shadow:0 8px 20px #4f46e54d}.btn.primary:hover{box-shadow:0 10px 26px #4f46e56b}.btn.ghost{background:transparent;box-shadow:none;border-color:var(--line-2)}.btn.ghost:hover{background:var(--paper-2)}.btn.danger{background:transparent;box-shadow:none;border-color:var(--line-2);color:var(--danger)}.btn.danger:hover{background:var(--danger-wash);border-color:#d6453f80}.btn.small{padding:7px 13px;font-size:12.5px;border-radius:8px}.btn.block{display:flex;width:100%}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.on-ink-ui .btn{background:var(--ink-3);color:var(--on-ink);border-color:var(--line-ink);box-shadow:none}.on-ink-ui .btn:hover{border-color:#4a475c;background:#2a2839}.on-ink-ui .btn.primary{background:linear-gradient(180deg,var(--brand-2),var(--brand));border-color:transparent;color:#fff}input,select{width:100%;background:var(--surface);color:var(--ink);border:1px solid var(--line-2);border-radius:var(--radius-xs);padding:11px 13px;font:400 14px var(--font-ui);box-shadow:var(--shadow-sm);transition:border-color .15s ease,box-shadow .15s ease}input::placeholder{color:var(--ink-mute)}input:focus,select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3.5px #4f46e529}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:12px;font-weight:500;color:var(--ink-soft)}.divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--ink-mute);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line-2)}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.auth-aside{position:relative;overflow:hidden;color:var(--on-ink);padding:44px 48px;display:flex;flex-direction:column;background:radial-gradient(620px 420px at 80% -10%,rgba(107,98,240,.3),transparent 62%),radial-gradient(520px 360px at 6% 108%,rgba(176,122,30,.2),transparent 60%),linear-gradient(160deg,var(--ink-2),#221f31 70%)}.auth-aside:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.05;background-image:repeating-linear-gradient(0deg,transparent 0 38px,rgba(244,241,233,.5) 38px 39px)}.auth-aside .brand{color:var(--on-ink);position:relative;z-index:1}.auth-aside .logo{background:linear-gradient(150deg,#3a3550,#2a2740)}.aside-body{position:relative;z-index:1;margin:auto 0;max-width:440px}.aside-body h1{font-family:var(--font-display);font-weight:500;font-size:40px;line-height:1.1;letter-spacing:-.025em;margin:14px 0 16px}.aside-body h1 .seal{color:var(--seal-2);font-style:italic}.aside-body .lede{color:var(--on-ink-soft);font-size:16px;max-width:400px}.props{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:16px}.props li{display:flex;gap:13px;align-items:flex-start}.props .pi{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#6b62f029;border:1px solid rgba(107,98,240,.32);color:#c8c3ff}.props .pi svg{width:18px;height:18px}.props b{font-weight:600;display:block;font-size:14.5px}.props span{color:var(--on-ink-soft);font-size:13px}.trust{position:relative;z-index:1;margin-top:34px;padding-top:20px;border-top:1px solid var(--line-ink);display:flex;gap:22px;flex-wrap:wrap;color:var(--on-ink-soft);font-size:12.5px}.trust span{display:inline-flex;align-items:center;gap:7px}.trust svg{width:15px;height:15px;color:var(--seal-2)}.auth-main{display:grid;place-items:center;padding:32px 24px}.auth-card{width:100%;max-width:384px;animation:rise .5s cubic-bezier(.2,.8,.2,1) both}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.auth-card .brand.mobile-brand{display:none;margin-bottom:22px}.auth-card h2{font-family:var(--font-display);font-weight:500;font-size:27px;letter-spacing:-.02em;margin:0 0 6px}.auth-card .sub{color:var(--ink-soft);margin:0 0 24px;font-size:14.5px}.banner{display:flex;gap:10px;align-items:flex-start;background:var(--brand-wash);border:1px solid var(--brand-line);color:var(--brand-ink);padding:12px 14px;border-radius:var(--radius-sm);margin:0 0 18px;font-size:13px;line-height:1.45}.banner svg{width:17px;height:17px;flex:0 0 auto;margin-top:1px}.btn.google{background:var(--surface);color:var(--ink);border-color:var(--line-2);font-weight:500}.btn.google:hover{background:var(--surface-2)}.auth-card .legal{margin-top:22px;font-size:12px;color:var(--ink-mute);text-align:center;line-height:1.55}.auth-card .legal a,a.link{color:var(--brand);font-weight:500;text-decoration:none}.auth-card .legal a:hover,a.link:hover{text-decoration:underline}.dev-block{margin-top:8px;display:grid;gap:8px}.appbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 26px;border-bottom:1px solid var(--line);background:#faf8f2d1;-webkit-backdrop-filter:saturate(140%) blur(12px);backdrop-filter:saturate(140%) blur(12px)}.appbar .who{display:flex;align-items:center;gap:12px}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--brand-wash);color:var(--brand-ink);font-weight:600;font-size:13px;border:1px solid var(--brand-line)}.who-email{font-size:13px;color:var(--ink-soft)}.dash{max-width:1140px;margin:0 auto;padding:30px 26px 64px}.dash-head{margin:4px 0 24px}.dash-head h1{font-family:var(--font-display);font-weight:500;font-size:30px;letter-spacing:-.022em;margin:0 0 4px}.dash-head p{margin:0;color:var(--ink-soft)}.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.span2{grid-column:1 / -1}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm)}.card>h2{display:flex;align-items:center;gap:9px;margin:0 0 4px;font-size:15px;font-weight:600;letter-spacing:-.01em}.card>h2 svg{width:17px;height:17px;color:var(--ink-mute)}.card .hint{color:var(--ink-soft);font-size:13.5px;margin:0 0 16px}h3{margin:20px 0 10px;font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.wallet{position:relative;overflow:hidden;color:var(--on-ink);background:radial-gradient(420px 280px at 100% 0%,rgba(107,98,240,.28),transparent 64%),radial-gradient(300px 220px at 0% 120%,rgba(176,122,30,.2),transparent 60%),linear-gradient(155deg,var(--ink-2),#241f33);border:1px solid var(--line-ink);box-shadow:var(--shadow-ink)}.wallet .wlabel{display:flex;justify-content:space-between;align-items:center;color:var(--on-ink-soft);font-size:12.5px}.wallet .seal-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--seal-2);background:#b07a1e29;border:1px solid rgba(206,148,51,.34);padding:4px 10px;border-radius:999px}.wallet .seal-chip svg{width:13px;height:13px}.balance{font-family:var(--font-display);font-weight:500;font-size:52px;letter-spacing:-.03em;line-height:1;margin:12px 0 6px}.wallet .pages{color:var(--on-ink-soft);font-size:13.5px}.spark{height:38px;margin:18px 0 6px;display:flex;align-items:flex-end;gap:4px}.spark i{flex:1;background:linear-gradient(180deg,var(--brand-2),rgba(107,98,240,.25));border-radius:3px 3px 0 0;min-height:3px;opacity:.9}.wallet .price{color:var(--on-ink-soft);font-size:12.5px;margin-top:10px;display:flex;align-items:center;gap:7px}.topups{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.topups .chip{background:var(--ink-3);color:var(--on-ink);border:1px solid var(--line-ink);padding:9px 14px;border-radius:10px;cursor:pointer;font:600 13px var(--font-ui);transition:border-color .15s ease,background .15s ease,transform .08s ease}.topups .chip:hover{border-color:#524e66;background:#2a2738}.topups .chip:active{transform:translateY(1px)}.topups .chip.add{background:linear-gradient(180deg,var(--brand-2),var(--brand));border-color:transparent;box-shadow:0 8px 20px #4f46e557}.custom-row{display:flex;gap:8px;margin-top:12px}.custom-row input{flex:1;background:#ffffff0a;border-color:var(--line-ink);color:var(--on-ink);box-shadow:none}.custom-row input::placeholder{color:#6f6b7e}.custom-row input:focus{border-color:var(--brand-2);box-shadow:0 0 0 3px #6b62f038}.custom-row .btn{background:var(--ink-3);color:var(--on-ink);border-color:var(--line-ink);box-shadow:none}.custom-row .btn:hover{background:#2a2738;border-color:#524e66}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inline{display:flex;gap:10px}.inline input{flex:1}.steps-mini{color:var(--ink-soft);font-size:13.5px;line-height:1.6;margin:0 0 16px}.steps-mini b{color:var(--ink);font-weight:600}#userCode{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:15px}.list{list-style:none;margin:14px 0 0;padding:0}.list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:9px;background:var(--surface-2);transition:border-color .15s ease,box-shadow .15s ease}.list li:hover{border-color:var(--line-2);box-shadow:var(--shadow-sm)}.dev-name{display:flex;align-items:center;gap:11px}.dev-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--brand-wash);color:var(--brand);border:1px solid var(--brand-line)}.dev-ico svg{width:18px;height:18px}.dev-meta b{font-weight:600;font-size:13.5px}.dev-meta span{display:block;color:var(--ink-mute);font-size:12px}.empty-soft{color:var(--ink-mute);font-size:13px;padding:8px 2px}.activated{text-align:center;padding:16px 8px}.activated .seal-badge{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:var(--ok-wash);color:var(--ok);border:1px solid rgba(14,159,110,.3)}.activated .seal-badge svg{width:30px;height:30px}.activated h2{justify-content:center;font-size:18px;font-family:var(--font-display);font-weight:500}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.stat-tile{background:var(--paper-2);border-radius:var(--radius-sm);padding:14px 16px}.stat-tile .k{color:var(--ink-soft);font-size:12px;font-weight:500}.stat-tile .v{font-family:var(--font-display);font-weight:500;font-size:24px;letter-spacing:-.02em;margin-top:3px}.usage-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}.usage{width:100%;border-collapse:collapse}.usage th,.usage td{text-align:left;padding:12px 14px;font-size:13px;border-bottom:1px solid var(--line)}.usage thead th{color:var(--ink-mute);font-weight:600;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;background:var(--surface-2);position:sticky;top:0}.usage tbody tr:last-child td{border-bottom:none}.usage tbody tr{transition:background .12s ease}.usage tbody tr:hover{background:var(--surface-2)}.usage td.num{font-variant-numeric:tabular-nums}.tagcell{display:inline-flex;align-items:center;gap:6px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px}.badge.ok{color:var(--ok);background:var(--ok-wash)}.badge.muted{color:var(--ink-mute);background:var(--paper-2)}.badge.live{color:var(--brand-ink);background:var(--brand-wash)}.badge.dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.admin{border-color:var(--seal-wash);background:linear-gradient(180deg,#fffdf8,var(--surface))}.admin>h2 svg{color:var(--seal)}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.admin .field{gap:7px}#adminUser{margin-top:10px;line-height:1.7;font-size:13px}.rupee{display:inline-flex;align-items:center}.rupee:before{content:"₹";color:var(--ink-mute);margin-right:6px}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;background:var(--ink-2);color:var(--on-ink);border:1px solid var(--line-ink);padding:13px 18px;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:60;font-size:13.5px;animation:toast-in .28s cubic-bezier(.2,.8,.2,1) both}.toast svg{width:18px;height:18px;flex:0 0 auto}.toast.ok svg{color:var(--ok)}.toast.err svg{color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:#cfc9b8;border-radius:999px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#b9b29c;background-clip:padding-box}@media (max-width: 900px){.auth-shell{grid-template-columns:1fr}.auth-aside{display:none}.auth-card .brand.mobile-brand{display:inline-flex}}@media (max-width: 820px){.dash-grid,.admin-grid,.stats{grid-template-columns:1fr}}
