:root{--bg:#f6f6f3;--surface:#fff;--surface-2:#fafaf8;--line:#e4e3dd;--line-strong:#d5d4cc;--ink:#171b22;--ink-2:#343b47;--muted:#5f6675;--ember:#ea5b28;--ember-text:#c2440f;--ember-soft:#fcebe3;--ember-ghost:#ea5b281a;--ok:#0f6b4b;--ok-soft:#e2f5ec;--warn:#8a5806;--warn-soft:#fcf1dd;--bad:#a32b24;--bad-soft:#fbe8e8;--info:#1d4fb8;--info-soft:#e7eefc;--night:#12181f;--night-2:#1b2330;--fd:"Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--fb:Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;--shadow:0 1px 2px #1418220d, 0 6px 20px #14182212}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--bg);color:var(--ink);font-family:var(--fb);-webkit-font-smoothing:antialiased;min-height:100dvh;line-height:1.55}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input{font:inherit}.num{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--ember-text);outline-offset:2px}.app{max-width:480px;min-height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;margin:0 auto;display:flex}.night{padding-top:calc(18px + env(safe-area-inset-top));margin-top:calc(-1 * env(safe-area-inset-top));background:var(--night);color:#fff;padding:18px 18px 22px}.night .row{align-items:center;gap:12px;display:flex}.logo{width:38px;height:38px;font-family:var(--fd);color:#fff;background:linear-gradient(135deg,#ff7a45,#d14c1c);border-radius:11px;flex:none;place-items:center;font-size:16px;font-weight:800;display:grid}.who{flex:1;min-width:0;line-height:1.25}.who b{font-family:var(--fd);font-size:15.5px;display:block}.who span{color:#a8b2c0;font-size:12px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.linkbtn{color:var(--ember-text);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;min-height:44px;padding:4px 2px;font-size:12.5px;font-weight:600;text-decoration:underline}.signout{font-family:var(--fd);color:#fff;background:#ffffff1f;border:1px solid #ffffff38;border-radius:9px;min-height:40px;padding:8px 12px;font-size:12.5px;font-weight:700}.signout:active{background:#fff3}.pad{flex:1;padding:16px}.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;margin-bottom:12px;overflow:hidden}.cp{padding:16px}.ct{font-family:var(--fd);font-size:14px;font-weight:700}.cs{color:var(--muted);font-size:12px}.pill{font-size:11px;font-weight:700;font-family:var(--fd);border-radius:99px;align-items:center;gap:5px;padding:4px 9px;display:inline-flex}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.info{background:var(--info-soft);color:var(--info)}.dot{background:currentColor;border-radius:99px;width:6px;height:6px}.plan{background:linear-gradient(140deg, var(--night-2), #0f141c);color:#fff;border:none}.plan .cs{color:#98a3b4}.big{align-items:baseline;gap:8px;margin:12px 0 2px;display:flex}.big b{font-family:var(--fd);letter-spacing:-.012em;font-size:34px;font-weight:800}.big span{color:#98a3b4;font-size:13px;font-weight:600}.due{background:#ea5b2829;border:1px solid #ea5b2857;border-radius:12px;align-items:center;gap:10px;margin-top:14px;padding:12px 13px;display:flex}.due .m{flex:1;line-height:1.35}.due .m b{font-size:13px;display:block}.due .m span{color:#c3cbd7;font-size:11.5px}.btn{font-family:var(--fd);border-radius:11px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:13px 16px;font-size:14px;font-weight:700;transition:all .14s;display:inline-flex}.btn-p{background:var(--ember-text);color:#fff}.btn-p:active{transform:scale(.985)}.btn-g{background:var(--surface);border:1px solid var(--line-strong);color:var(--ink-2)}.btn-s{border-radius:9px;min-height:40px;padding:9px 13px;font-size:12.5px}.btn-b{width:100%}.btn[disabled]{opacity:.5;pointer-events:none}.rowi{border-top:1px solid var(--line);align-items:center;gap:12px;padding:13px 16px;display:flex}.rowi .ic{border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.rowi .m{flex:1;min-width:0;line-height:1.3}.rowi .m b{font-size:13px;font-family:var(--fd);display:block}.rowi .m span{color:var(--muted);font-size:11.5px}.login{background:var(--night);color:#fff;flex-direction:column;flex:1;justify-content:center;padding:34px 26px;display:flex}.login .brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.login h1{font-family:var(--fd);letter-spacing:-.02em;margin-bottom:8px;font-size:24px;font-weight:800}.login p.sub{color:#98a3b4;margin-bottom:22px;font-size:14px;line-height:1.55}.fld{margin-bottom:14px}.fld label{font-family:var(--fd);color:#b6c0ce;letter-spacing:.02em;margin-bottom:7px;font-size:11.5px;font-weight:700;display:block}.fld input{color:#fff;background:#ffffff0f;border:1px solid #ffffff24;border-radius:11px;width:100%;min-height:48px;padding:13px;font-size:16px}.fld input::placeholder{color:#6b7787}.fld input:focus{border-color:var(--ember);outline:none}.fldl{margin-bottom:14px}.fldl label{font-family:var(--fd);color:var(--ink-2);letter-spacing:.01em;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.fldl input,.fldl textarea{background:var(--surface-2);border:1.5px solid var(--line-strong);width:100%;color:var(--ink);font-family:var(--fb);border-radius:11px;min-height:48px;padding:12px 13px;font-size:16px;line-height:1.5}.fldl textarea{resize:vertical;min-height:116px;display:block}.fldl input::placeholder,.fldl textarea::placeholder{color:#98a0ae}.fldl input:focus,.fldl textarea:focus{border-color:var(--ember-text);background:var(--surface);outline:none}.btn:disabled{opacity:1;background:var(--surface-2);color:#9aa2b0;border:1px solid var(--line);cursor:default}.btn-g:disabled{background:var(--surface-2);color:#9aa2b0}.hint{color:#8894a4;text-align:center;margin-top:16px;font-size:12.5px;line-height:1.6}.hint button,.hint a{color:#ffad86;text-underline-offset:2px;text-decoration:underline}.otp{justify-content:space-between;gap:8px;margin-top:4px;display:flex}.otp input{aspect-ratio:1/1.15;text-align:center;color:#fff;width:100%;font-family:var(--fd);background:#ffffff0f;border:1.5px solid #ffffff29;border-radius:11px;min-width:0;padding:0;font-size:24px;font-weight:800}.otp input:focus{border-color:var(--ember);background:#ffffff1a;outline:none}.otp.bad input{border-color:#e8756b}.msg{text-align:center;color:#8894a4;min-height:20px;margin:12px 0 0;font-size:13px}.msg.err{color:#e8756b}.amt{border:1.5px solid var(--line-strong);background:var(--surface-2);border-radius:12px;align-items:center;gap:8px;padding:12px 14px;display:flex}.amt:focus-within{border-color:var(--ember-text);background:var(--surface)}.amt.bad{border-color:var(--bad)}.amt .cur{font-family:var(--fd);color:var(--muted);font-size:22px;font-weight:800}.amt input{min-width:0;font-family:var(--fd);letter-spacing:-.02em;color:var(--ink);background:0 0;border:none;outline:none;flex:1;padding:0;font-size:28px;font-weight:800}.presets{gap:8px;margin-top:10px;display:flex}.presets button{font-family:var(--fd);color:var(--ink-2);background:var(--surface);border:1px solid var(--line-strong);border-radius:9px;flex:1;min-height:40px;padding:9px 4px;font-size:12px;font-weight:700}.fb{border-radius:9px;align-items:flex-start;gap:8px;min-height:36px;margin-top:12px;padding:10px 12px;font-size:12.5px;line-height:1.5;display:flex}.fb.ok{background:var(--ok-soft);color:var(--ok)}.fb.credit{background:var(--info-soft);color:var(--info)}.fb.part{background:var(--warn-soft);color:var(--warn)}.fb.err{background:var(--bad-soft);color:var(--bad)}.fee{border:1px solid var(--line);border-radius:12px;margin-top:12px;font-size:13px;overflow:hidden}.fee>div{justify-content:space-between;align-items:baseline;gap:12px;padding:9px 12px;display:flex}.fee>div+div{border-top:1px solid var(--line)}.fee>div.tot{background:var(--surface-2);font-family:var(--fd);font-weight:700}.fee>div>span:first-child{color:var(--muted)}.fee>div.tot>span:first-child{color:var(--ink)}.qrbox{border:1px solid var(--line);background:#fff;border-radius:14px;place-items:center;width:224px;height:224px;margin:0 auto 14px;padding:10px;display:grid;position:relative}.qrbox img{width:100%;height:100%;image-rendering:pixelated}.qrbox.dead img{opacity:.12}.qrdead{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:18px;display:none;position:absolute;inset:0}.qrbox.dead .qrdead{display:flex}.cd{font-family:var(--fd);color:var(--ink-2);text-align:center;font-size:13.5px;font-weight:700}.cd.low{color:var(--bad)}.apps{flex-wrap:wrap;justify-content:center;gap:6px;margin:12px 0 4px;display:flex}.apps span{color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600}.paid{background:var(--ok-soft);width:68px;height:68px;color:var(--ok);border-radius:99px;place-items:center;margin:8px auto 12px;display:grid}.banner{border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:12px;padding:12px 13px;font-size:12.5px;line-height:1.5;display:flex}.banner.w{background:var(--warn-soft);color:var(--warn);border:1px solid #8a580647}.banner.b{background:var(--bad-soft);color:var(--bad);border:1px solid #a32b2442}.banner.i{background:var(--info-soft);color:var(--info);border:1px solid #1d4fb83d}.banner.g{background:var(--ok-soft);color:var(--ok);border:1px solid #0f6b4b3d}.banner b{font-family:var(--fd);margin-bottom:2px;font-size:13px;display:block}.foot{text-align:center;color:var(--muted);padding:10px 16px 22px;font-size:11px}.skel{background:linear-gradient(90deg, var(--line) 25%, var(--surface-2) 50%, var(--line) 75%);background-size:200% 100%;border-radius:6px;animation:1.3s infinite sh}@keyframes sh{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.gen{text-align:center;padding:8px 0 4px}.gen .qrph{border:1px solid var(--line);background:var(--surface-2);border-radius:14px;place-items:center;width:224px;height:224px;margin:0 auto 16px;display:grid;position:relative;overflow:hidden}.gen .qrph:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff8c 50%,#0000 100%);animation:1.4s ease-in-out infinite sweep;position:absolute;inset:0;transform:translate(-100%)}@keyframes sweep{to{transform:translate(100%)}}.gen .qrph svg{width:56px;height:56px;color:var(--line-strong)}.steps{text-align:left;gap:8px;max-width:280px;margin:0 auto;display:grid}.step{color:var(--muted);align-items:center;gap:10px;font-size:13px;transition:color .2s;display:flex}.step .dotp{border:2px solid var(--line-strong);border-radius:99px;flex:none;place-items:center;width:18px;height:18px;transition:all .2s;display:grid}.step.on{color:var(--ink-2)}.step.on .dotp{border-color:var(--ember-text)}.step.on .dotp:after{content:"";background:var(--ember-text);border-radius:99px;width:8px;height:8px;animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}.step.done{color:var(--ok)}.step.done .dotp{border-color:var(--ok);background:var(--ok);color:#fff}@media (prefers-reduced-motion:reduce){.gen .qrph:after,.step.on .dotp:after{animation:none}}.qrwatch{justify-content:center;align-items:center;gap:8px;display:flex}.qrwatch .pulse{background:var(--ok,#2e9e5b);border-radius:50%;flex:none;width:8px;height:8px;animation:1.6s ease-in-out infinite qrpulse}@keyframes qrpulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.rowi .rend{text-align:right;flex-direction:column;flex:none;align-items:flex-end;gap:5px;display:flex}.rowi .rend b{font-family:var(--fd);font-size:13.5px;font-weight:700;display:block}.rowi .rend b.done{color:var(--muted);font-weight:600}.chd{justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 13px;display:flex}.chd .m{min-width:0}.ic-warn{background:var(--warn-soft);color:var(--warn)}.ic-ok{background:var(--ok-soft);color:var(--ok)}.ic-info{background:var(--info-soft);color:var(--info)}.ic-mute{background:var(--surface-2);color:var(--muted)}.ic-brand{background:var(--ember-soft);color:var(--ember-text)}.rowi .m .refcode,.refcode{font-family:var(--fd);letter-spacing:.06em;color:var(--ember-text);font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.rowbtn{text-align:left;cursor:pointer;background:0 0;border:none;width:100%}.rowbtn:active{background:var(--surface-2)}.pdfbtn{font-family:var(--fd);letter-spacing:.04em;color:var(--ink-2);border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;padding:4px 8px;font-size:11px;font-weight:700;text-decoration:none}.pdfbtn:active{background:var(--surface-2)}.console{max-width:980px;margin:0 auto;padding:0 18px 72px}.cbar{background:var(--night);color:#fff;margin-bottom:22px;padding:20px 0 22px}.cbar .in{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;max-width:980px;margin:0 auto;padding:0 18px;display:flex}.cbar h1{font-family:var(--fd);letter-spacing:-.01em;font-size:19px;font-weight:800}.cbar .beat{font-family:var(--fm,ui-monospace), ui-monospace, monospace;letter-spacing:.04em;font-size:12px;font-weight:700}.cbar a{color:#b8c0cc;text-decoration:none}.cbar a:hover{color:#fff}.kpis{background:var(--line);border:1px solid var(--line);border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin-bottom:14px;display:grid;overflow:hidden}.kpi{background:var(--surface);padding:14px 16px}.kpi .k{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.kpi .v{font-family:var(--fd);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:5px;font-size:21px;font-weight:800}.kpi .v.ok{color:var(--ok)}.kpi .v.bad{color:var(--bad)}.tblwrap{overflow-x:auto}.tbl{border-collapse:collapse;width:100%;min-width:560px;font-size:13.5px}.tbl th{text-align:right;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--line);padding:8px 10px;font-size:10.5px;font-weight:600}.tbl th:first-child,.tbl td:first-child{text-align:left}.tbl td{text-align:right;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;padding:8px 10px}.tbl tr:last-child td{border-bottom:0}.orow{border-top:1px solid var(--line);align-items:flex-start;gap:11px;padding:10px 16px;font-size:13px;display:flex}.orow .m{flex:1;min-width:0;line-height:1.4}.orow .m b{font-family:var(--fd);font-size:13px;font-weight:700;display:block}.orow .m span{color:var(--muted);font-size:12px}.orow .t{text-align:right;font-variant-numeric:tabular-nums;flex:none}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}.btn-danger{background:var(--surface);border:1px solid var(--line-strong);color:var(--bad);font-weight:700}.btn-danger:active{background:var(--bad-soft)}.cfoot{color:var(--muted);margin-top:18px;font-size:12px}.ivbd{z-index:60;background:#12181f73;justify-content:center;align-items:flex-end;animation:.16s ease-out ivfade;display:flex;position:fixed;inset:0}@keyframes ivfade{0%{opacity:0}to{opacity:1}}.ivsheet{background:var(--surface);width:100%;max-width:560px;max-height:92dvh;padding:10px 16px calc(16px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;outline:none;animation:.2s cubic-bezier(.2,.8,.3,1) ivup;overflow-y:auto}@keyframes ivup{0%{transform:translateY(14px)}to{transform:none}}.ivgrab{background:var(--line-strong);border-radius:999px;width:42px;height:4px;margin:2px auto 10px}.ivtop{align-items:center;gap:10px;margin-bottom:12px;display:flex}.ivperiod{font-family:var(--fd);flex:1;min-width:0;font-size:17px;font-weight:800}.ivacts{flex:none;align-items:center;gap:8px;display:flex}.ivx{width:36px;height:36px;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;place-items:center;display:grid}.ivload{color:var(--muted);text-align:center;padding:8px 0 16px;font-size:12.5px}.ivdoc{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:18px}.ivhead{align-items:flex-start;gap:14px;display:flex}.ivissuer{flex:1;min-width:0}.ivorg{font-family:var(--fd);font-size:15px;font-weight:800;line-height:1.3}.ivsm{color:var(--muted);font-size:11.5px;line-height:1.5}.ivmeta{text-align:right;flex:none}.ivword{font-family:var(--fd);color:var(--ember-text);letter-spacing:.02em;font-size:18px;font-weight:800}.ivpaid{background:var(--ok-soft);color:var(--ok);font-size:11px;font-weight:700;font-family:var(--fd);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;margin-top:5px;padding:2px 9px;display:inline-block}.ivrule{background:var(--ember);border-radius:2px;height:2px;margin:14px 0}.ivparties{align-items:flex-start;gap:16px;display:flex}.ivparties>:first-child{flex:1;min-width:0}.ivdates{text-align:right;flex:none}.ivlabel{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:700}.ivname{font-family:var(--fd);margin-top:2px;font-size:13.5px;font-weight:700}.ivtable{border-collapse:collapse;width:100%;margin-top:16px}.ivtable th{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:0 0 8px;font-size:10.5px;font-weight:700}.ivtable td{border-bottom:1px solid var(--line);vertical-align:top;padding:11px 0}.ivtable th:first-child,.ivtable td:first-child{padding-right:18px}.ivtable .r{text-align:right;white-space:nowrap;padding-left:4px}.ivlab{font-size:13px;font-family:var(--fd);font-weight:600;line-height:1.4}.ivtable .num,.ivsum .num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.ivsums{gap:7px;margin-top:14px;display:grid}.ivsum{color:var(--ink-2);justify-content:space-between;gap:16px;font-size:12.5px;display:flex}.ivsum.tot{border-top:2px solid var(--ink);font-family:var(--fd);color:var(--ink);margin-top:5px;padding-top:9px;font-size:15px;font-weight:800}.ivsum.tot .num{color:var(--ember-text)}.ivsum.ivdue{color:var(--bad);font-weight:700}.ivfoot{border-top:1px solid var(--line);color:var(--muted);margin-top:16px;padding-top:12px;font-size:11px}.ivbtns{gap:8px;margin-top:14px;display:grid}@media (min-width:640px){.ivbd{align-items:center;padding:24px}.ivsheet{border-radius:18px;max-height:88dvh;padding:14px 20px 20px}.ivgrab{display:none}}@media print{body *{visibility:hidden!important}#ivprint,#ivprint *{visibility:visible!important}#ivprint{border:0;border-radius:0;width:100%;padding:0;position:absolute;inset:0 auto auto 0}.ivbd{background:0 0;padding:0;animation:none;display:block;position:static}.ivsheet{max-height:none;box-shadow:none;max-width:none;padding:0;animation:none;overflow:visible}.ivtable{page-break-inside:auto}.ivtable tr,.ivsums,.ivfoot{page-break-inside:avoid}}.ak{text-align:center;letter-spacing:.04em;text-transform:uppercase;border-radius:6px;min-width:60px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-block}.ak-payment{background:var(--info-soft);color:var(--info)}.ak-sweep{background:var(--ok-soft);color:var(--ok)}.ak-fee{background:var(--ember-soft);color:var(--ember-text)}.ak-lookup,.ak-signin{background:var(--surface-2);color:var(--muted)}.ak-incident{background:var(--bad-soft);color:var(--bad)}.ak-bad{background:var(--bad);color:#fff}.arow{border-top:1px solid var(--line);grid-template-columns:44px 76px minmax(0,1fr);align-items:start;gap:10px;padding:8px 16px;font-size:13px;display:grid}.arow .at{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.arow.attn{box-shadow:inset 3px 0 0 var(--bad);background:var(--bad-soft)}.arow.attn .atext{color:var(--ink);font-weight:600}.oday{background:var(--surface-2);border-top:1px solid var(--line);font-family:var(--fd);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:6px 16px;font-size:11px;font-weight:700}.card>.oday:first-child,.oday+.arow{border-top:none}.txid{color:var(--ink-2);background:var(--surface-2);text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;border-radius:4px;max-width:11ch;padding:0 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;display:inline-block;overflow:hidden}.card.attn{box-shadow:inset 3px 0 0 var(--bad), var(--shadow)}.card.attn-warn{box-shadow:inset 3px 0 0 var(--warn), var(--shadow)}.ic-bad{background:var(--bad-soft);color:var(--bad)}.cbar .alert{color:#ff8a6b}a.kpi{color:inherit;text-decoration:none;display:block}.console .card{scroll-margin-top:12px}.console :focus-visible{outline:2px solid var(--info);outline-offset:2px;border-radius:4px}.cbar a:focus-visible{outline-offset:2px;outline:2px solid #fff}
