:root{font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#101d35;background:#f1f5fa;font-synthesis:none;--blue:#1769ee;--cyan:#16b9d4;--ink:#101d35;--muted:#78859a;--line:#e5ebf3;--card:#fff;--green:#19a884;--red:#d94d61;--shadow:0 10px 30px rgba(22,46,83,.07)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f1f5fa}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.kicker{margin:0 0 5px;color:#6582a9;font-size:10px;font-weight:800;letter-spacing:.16em}.subtext{color:var(--muted);font-size:13px;line-height:1.6}.logo{width:62px;height:62px;display:grid;place-items:center;border-radius:21px;color:#fff;background:linear-gradient(145deg,var(--blue),#20bdd3);box-shadow:0 14px 32px rgba(23,105,238,.26)}.logo svg{width:33px;fill:currentColor}.logo.small{width:40px;height:40px;border-radius:13px;box-shadow:none}.logo.small svg{width:22px}
.auth-view{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(420px,100%);padding:36px 26px;border-radius:28px;background:#fff;box-shadow:0 24px 70px rgba(18,41,75,.12)}.auth-card .logo{margin-bottom:28px}.auth-card h1{margin:0;font-size:40px;letter-spacing:-.05em}.auth-card>.subtext{margin:10px 0 28px}.form-stack{display:grid;gap:16px}.field{display:grid;gap:8px;color:#4f5f77;font-size:12px;font-weight:700}.field input{width:100%;height:51px;border:1px solid var(--line);border-radius:15px;padding:0 15px;outline:none;color:var(--ink);background:#f8fafe}.field input:focus{border-color:#7eabf7;box-shadow:0 0 0 4px rgba(23,105,238,.07);background:#fff}.password-field{position:relative}.password-field input{padding-right:56px}.text-icon{position:absolute;right:8px;top:7px;height:37px;border:0;border-radius:10px;padding:0 10px;color:#62738c;background:#edf2f8;font-size:11px}.primary{min-height:52px;display:flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:15px;padding:0 19px;color:#fff;background:linear-gradient(100deg,#125ee9,#159cdd);box-shadow:0 11px 25px rgba(23,105,238,.21);font-weight:800}.primary:disabled{cursor:not-allowed;opacity:.42;box-shadow:none}.security-tip{text-align:center;color:#8d99aa;font-size:10px;margin:20px 0 0}.security-tip:first-letter{color:var(--green)}.message{min-height:17px;margin:10px 0 0;text-align:center;color:var(--red);font-size:12px}.strength{display:flex;flex-wrap:wrap;gap:6px}.strength span{padding:5px 9px;border:1px solid var(--line);border-radius:99px;color:#929dae;font-size:9px}.strength .valid{color:#0d8167;border-color:#a7e5d7;background:#effbf8}
.app-view{min-height:100vh;padding-bottom:90px}.app-header{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(16px)}.brand,.header-actions{display:flex;align-items:center}.brand{gap:10px}.brand strong,.brand small{display:block}.brand strong{font-size:15px}.brand small{margin-top:2px;color:#8995a6;font-size:9px}.header-actions{gap:8px}.round-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;color:#53657e;background:#f7f9fc;font-weight:700}.mobile-content{width:100%;max-width:560px;margin:0 auto;padding:19px 13px 20px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;padding:4px 3px 18px}.page-heading h1{margin:0;font-size:29px;letter-spacing:-.045em}.online{display:flex;align-items:center;gap:6px;margin-top:7px;padding:7px 10px;border-radius:99px;color:#12795f;background:#e8f8f3;font-size:10px;font-weight:800}.online i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(25,168,132,.12)}.card{margin-bottom:12px;padding:18px 16px;border:1px solid #e9eef5;border-radius:20px;background:#fff;box-shadow:var(--shadow)}.card-title{display:flex;align-items:center;gap:11px;margin-bottom:15px}.card-title .step{width:29px;height:29px;display:grid;place-items:center;flex:0 0 29px;border-radius:9px;color:var(--blue);background:#eaf2ff;font-size:10px;font-weight:900}.card-title h2,.card-title p{margin:0}.card-title h2{font-size:15px}.card-title p{margin-top:3px;color:#8a96a8;font-size:10px}.tenant-picker{display:grid;grid-template-columns:1fr 1fr;gap:9px}.tenant-card{min-height:82px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;border:1px solid var(--line);border-radius:15px;padding:12px;color:var(--ink);text-align:left;background:#f8fafe}.tenant-card strong{font-size:12px;line-height:1.45}.tenant-card small{margin-top:5px;color:#8b97aa;font-size:9px}.tenant-card .check{position:absolute;right:9px;top:9px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;color:transparent;border:1px solid #d6deea;font-size:10px}.tenant-card.active{border-color:#4f90f2;background:linear-gradient(135deg,#edf4ff,#f2fbfd);box-shadow:0 7px 18px rgba(23,105,238,.09)}.tenant-card.active .check{color:#fff;background:var(--blue);border-color:var(--blue)}.customer-select-wrap{height:57px;display:grid;grid-template-columns:38px 1fr 28px;align-items:center;border:1px solid #dfe7f1;border-radius:16px;background:#f8fafe;overflow:hidden}.select-icon{color:#5e7da6;text-align:center;font-size:19px}.customer-select-wrap select{width:100%;height:100%;border:0;outline:0;appearance:none;color:#17243a;background:transparent;font-weight:700;font-size:14px}.select-arrow{color:#61718a;font-size:17px}.refresh-link{display:block;margin:11px auto 0;border:0;color:#6080a8;background:transparent;font-size:10px}.balance-card{margin-bottom:12px;padding:21px 19px;border-radius:20px;color:#fff;background:linear-gradient(125deg,#0b3b83,#126fe8 58%,#13a9c8);box-shadow:0 14px 32px rgba(17,91,189,.2);overflow:hidden;position:relative}.balance-card:after{content:"";position:absolute;width:150px;height:150px;right:-62px;top:-82px;border:28px solid rgba(255,255,255,.08);border-radius:50%}.balance-card p{margin:0 0 8px;color:rgba(255,255,255,.72);font-size:11px}.balance-card>strong{font-size:30px;letter-spacing:-.04em}.balance-preview{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:19px;padding-top:14px;border-top:1px solid rgba(255,255,255,.2)}.balance-preview span{display:flex;justify-content:space-between;color:rgba(255,255,255,.68);font-size:10px}.balance-preview b{color:#fff}.money-field{height:67px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border:1px solid #dfe7f1;border-radius:16px;padding:0 15px;background:#f8fafe}.money-field>span{color:#2464ad;font-size:24px;font-weight:800}.money-field input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:32px;font-weight:800;letter-spacing:-.04em}.money-field small{color:#8290a3}.quick-amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}.quick-amounts button{height:34px;border:1px solid var(--line);border-radius:10px;color:#4e6584;background:#fff;font-size:10px;font-weight:800}.remark{margin-top:14px}.recharge-submit{width:100%;min-height:61px;justify-content:space-between;padding:0 22px}.recharge-submit>span:first-child{text-align:left}.recharge-submit b,.recharge-submit small{display:block}.recharge-submit small{margin-top:3px;font-size:9px;font-weight:500;opacity:.78}
.history-heading{align-items:center}.history-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:13px}.history-summary span{padding:14px 10px;border:1px solid var(--line);border-radius:15px;background:#fff;text-align:center}.history-summary small,.history-summary strong{display:block}.history-summary small{color:#8a96a8;font-size:9px}.history-summary strong{margin-top:6px;color:#17365e;font-size:15px}.history-list{display:grid;gap:10px}.history-item{padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.history-top,.history-bottom{display:flex;justify-content:space-between;gap:12px}.history-top strong{font-size:13px;line-height:1.45}.history-top .amount{color:#0b6ed9;white-space:nowrap;font-size:16px}.history-bill{margin:12px 0;padding:10px 11px;border-radius:11px;color:#62728a;background:#f5f8fc;font-size:10px;word-break:break-all}.history-bottom{align-items:center;color:#8a96a8;font-size:9px}.status{padding:5px 8px;border-radius:99px;font-weight:800}.status.done{color:#08785e;background:#e4f8f1}.status.attention{color:#b43c4c;background:#ffecef}.empty{padding:70px 20px;text-align:center;color:#8b97a9}.empty span{width:50px;height:50px;display:grid;place-items:center;margin:0 auto;border-radius:17px;background:#eaf1f9;font-size:22px}.empty h3{margin:15px 0 7px;color:#53637b;font-size:14px}.empty p{margin:0;font-size:10px}.bottom-nav{height:72px;display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:30;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(18px)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;position:relative;border:0;color:#929daf;background:transparent}.nav-item span{font-size:19px}.nav-item b{font-size:10px}.nav-item.active{color:var(--blue)}.nav-item i{position:absolute;top:9px;left:calc(50% + 10px);min-width:17px;height:17px;display:grid;place-items:center;border-radius:99px;color:#fff;background:var(--red);font-size:8px;font-style:normal}
.modal-layer{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:rgba(7,19,38,.5);backdrop-filter:blur(5px)}.sheet{width:100%;max-width:560px;max-height:92vh;overflow:auto;border-radius:25px 25px 0 0;padding:12px 19px calc(24px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -20px 60px rgba(5,24,52,.18)}.sheet-handle{width:42px;height:4px;margin:0 auto 19px;border-radius:99px;background:#d8e0eb}.modal-symbol{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;color:#fff;background:linear-gradient(145deg,var(--blue),#19b3d0);font-size:19px;font-weight:900}.sheet h2{margin:16px 0 0;font-size:23px;letter-spacing:-.03em}.sheet>.subtext{margin:7px 0 18px}.confirm-list{margin:0;border:1px solid var(--line);border-radius:16px;overflow:hidden}.confirm-list div{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:12px 13px;border-bottom:1px solid var(--line)}.confirm-list div:last-child{border:0}.confirm-list dt{color:#8995a7;font-size:10px}.confirm-list dd{margin:0;text-align:right;color:#273a57;font-size:11px;font-weight:800;line-height:1.45}.confirm-list .amount-row{background:#eef6ff}.confirm-list .amount-row dd{color:#0d6ed8;font-size:17px}.confirm-check{display:flex;align-items:flex-start;gap:9px;margin:16px 2px;color:#5f6f86;font-size:11px;line-height:1.5}.confirm-check input{margin-top:2px;accent-color:var(--blue)}.sheet-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:9px}.secondary{min-height:52px;border:1px solid var(--line);border-radius:15px;color:#53647c;background:#f7f9fc;font-weight:800}.progress-steps{display:grid;gap:9px;margin:18px 0}.progress-steps>div{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px}.progress-steps>div>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#8290a3;background:#edf2f7;font-size:10px;font-weight:900}.progress-steps b,.progress-steps small{display:block}.progress-steps b{font-size:11px}.progress-steps small{margin-top:3px;color:#8c98aa;font-size:9px}.progress-steps .running{border-color:#9abcf2;background:#f5f9ff}.progress-steps .running>span{color:#fff;background:var(--blue)}.progress-steps .done>span{color:#fff;background:var(--green)}.progress-steps .failed{border-color:#f0aeb6;background:#fff7f8}.progress-steps .failed>span{color:#fff;background:var(--red)}.full{width:100%}.settings-sheet .form-stack{margin-top:18px}.spinning{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;z-index:90;left:16px;right:16px;bottom:88px;max-width:520px;margin:auto;padding:12px 15px;border-radius:13px;color:#fff;background:#142942;box-shadow:0 12px 30px rgba(7,23,45,.24);text-align:center;font-size:11px}
@media(min-width:700px){body{background:linear-gradient(145deg,#e7eef7,#f5f8fc)}.app-view{width:600px;min-height:100vh;margin:auto;background:#f4f7fb;box-shadow:0 0 70px rgba(15,38,70,.12)}.bottom-nav{width:600px;left:50%;right:auto;transform:translateX(-50%)}.app-header{padding-left:25px;padding-right:25px}.mobile-content{padding-left:20px;padding-right:20px}.sheet{border-radius:25px;margin-bottom:18px}.modal-layer{align-items:flex-end}}
.online.offline{color:#9b6921;background:#fff2d9}.online.offline i{background:#e09a2f;box-shadow:0 0 0 4px rgba(224,154,47,.12)}
.customer-picker-trigger{width:100%;min-height:64px;display:grid;grid-template-columns:42px 1fr 24px;align-items:center;border:1px solid #dfe7f1;border-radius:17px;padding:8px 12px 8px 7px;color:var(--ink);text-align:left;background:linear-gradient(135deg,#f8fafe,#f4f8fd);transition:.18s ease}.customer-picker-trigger:active{transform:scale(.992);border-color:#8cb4f3}.picker-value{min-width:0}.picker-value small,.picker-value strong{display:block}.picker-value small{margin-bottom:4px;color:#8b97a9;font-size:9px;font-weight:600}.picker-value strong{overflow:hidden;color:#17243a;font-size:14px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.customer-picker-trigger .select-arrow{color:#7890ae;text-align:right;font-size:24px}.picker-sheet{height:min(78vh,650px);display:flex;flex-direction:column}.picker-header{display:flex;align-items:center;justify-content:space-between}.picker-header h2{margin:0}.picker-search{height:50px;display:grid;grid-template-columns:38px 1fr;align-items:center;margin-top:17px;border:1px solid #dfe7f1;border-radius:15px;background:#f5f8fc}.picker-search span{text-align:center;color:#6280a6;font-size:18px}.picker-search input{width:100%;height:100%;border:0;outline:0;padding:0 12px 0 0;color:var(--ink);background:transparent;font-size:13px}.picker-count{margin:12px 2px 7px;color:#8a96a8;font-size:10px}.picker-list{display:grid;gap:8px;overflow:auto;padding:2px 1px 10px}.picker-option{width:100%;min-height:58px;display:grid;grid-template-columns:38px 1fr 24px;align-items:center;gap:9px;border:1px solid var(--line);border-radius:15px;padding:9px 11px;color:var(--ink);text-align:left;background:#fff}.picker-option .company-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;color:#2466b7;background:#eaf2ff;font-size:12px;font-weight:900}.picker-option strong{font-size:12px;line-height:1.45}.picker-option .option-check{width:20px;height:20px;display:grid;place-items:center;border:1px solid #d3dce8;border-radius:50%;color:transparent;font-size:10px}.picker-option.selected{border-color:#6d9fec;background:#f3f7ff;box-shadow:0 6px 16px rgba(23,105,238,.08)}.picker-option.selected .option-check{color:#fff;border-color:var(--blue);background:var(--blue)}.picker-empty{padding:50px 20px;color:#8b97a9;text-align:center;font-size:11px}
