:root{--bg:#f5f7fb;--card:#fff;--line:#e4e8ef;--text:#172033;--muted:#718096;--blue:#3478f6;--blue2:#245fd4;--green:#18a957;--red:#e9434c;--orange:#f59e0b;--purple:#7c4dff;--shadow:0 8px 28px rgba(28,43,70,.06);--radius:14px}*{box-sizing:border-box}body{margin:0;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.app-body{min-height:100vh}.shell{width:min(1220px,calc(100% - 32px));margin:20px auto 50px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.topbar{min-height:70px;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{font-size:22px;font-weight:800;white-space:nowrap}.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.balance-label strong,.green{color:var(--green)}.btn{border:0;border-radius:9px;padding:10px 16px;cursor:pointer;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:.15s}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--blue);color:#fff}.btn-success{background:#1fbd61;color:#fff}.btn-warning{background:#ff9f0a;color:#fff}.btn-danger{background:#ed3439;color:#fff}.btn-danger-soft{background:#fff1f1;color:#d72d35;border:1px solid #ffd4d6}.btn-light{background:#f1f4f8;color:#34425b;border:1px solid #dde3eb}.btn-sm{padding:7px 10px;font-size:13px}.full{width:100%}.tabs{display:flex;gap:8px;border-bottom:1px solid #d9e0ea;margin-top:16px;padding:0 8px;overflow:auto}.tab{padding:14px 22px;white-space:nowrap;color:#526176;border-radius:9px 9px 0 0}.tab.active{background:var(--blue);color:#fff;font-weight:700}.section-card{margin-top:20px;padding:22px}.section-head,.page-title-row,.take-toolbar,.sub-head{display:flex;justify-content:space-between;align-items:center;gap:18px}.section-head h2,.take-toolbar h2{margin:0 0 5px}.section-head p,.muted{color:var(--muted)}.search-row,.inline-form{display:flex;gap:10px;margin:14px 0}.search-row input,.inline-form input{flex:1}.form-stack{display:grid;gap:14px}.form-stack label,.form-grid label{display:grid;gap:7px;color:#46556a;font-weight:600}.form-stack input,.form-grid input,.form-stack select,.form-grid select,.search-row input,.inline-form input,.table-input,.mini-form input,.mini-form select,.api-key-row input{border:1px solid #d6dde8;background:#fff;border-radius:9px;padding:11px 12px;outline:none;min-width:0}.form-stack input:focus,.form-grid input:focus,.search-row input:focus,.table-input:focus{border-color:#7aa8ff;box-shadow:0 0 0 3px rgba(52,120,246,.1)}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.align-end{display:flex;align-items:end}.table-wrap{overflow:auto;margin-top:14px}.table-wrap.wide table{min-width:1050px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid #edf0f5;vertical-align:middle}th{font-size:13px;color:#607089;font-weight:700;background:#fafbfc}tbody tr:hover{background:#fbfcff}.pill{display:inline-block;padding:5px 9px;border-radius:999px;background:#f0f4fa;color:#53657d;font-size:12px;border:1px solid #e0e6ef}.empty{padding:46px!important;text-align:center!important;color:#8a98aa}.take-buttons{display:flex;gap:8px;flex-wrap:wrap}.take-buttons form{display:inline}.sub-head{margin-top:20px}.sub-head h3{margin-bottom:5px}.status-badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}.status-badge.working{background:#eef5ff;color:#2364dc}.status-badge.success{background:#eaf9f0;color:#128a45}.status-badge.fail{background:#fff0f0;color:#cf3038}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.small-text{font-size:11px;word-break:break-all}.block{display:block}.flash{margin:15px 0;padding:13px 15px;border-radius:9px;border:1px solid}.flash.success{background:#eefaf3;border-color:#cdeedb;color:#147740}.flash.error{background:#fff0f1;border-color:#ffd2d6;color:#b72831}.flash.info{background:#eef5ff;border-color:#d0e2ff;color:#285da6}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.calc-box{border:1px solid #e1e7ef;border-radius:12px;background:#fafcff;padding:14px;display:grid;gap:10px}.calc-box>div{display:flex;justify-content:space-between}.calc-total{padding-top:10px;border-top:1px dashed #d6deea;font-size:18px}.promo{margin:2px 0 16px}.promo-title{margin-bottom:7px;color:#46556a;font-weight:600}.promo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.promo-grid span{background:#fff9ea;border:1px solid #ffe6a7;padding:10px;border-radius:8px}.promo-grid b,.orange{color:#ee8b00}.order-detail{display:grid;gap:0;border-top:1px solid #edf0f5}.order-detail>div{display:grid;grid-template-columns:130px 1fr;gap:15px;padding:12px 0;border-bottom:1px solid #edf0f5}.order-detail span{color:var(--muted)}.address{word-break:break-all;color:#2874dc}.countdown{text-align:center;font-size:42px;color:#e98d00;font-family:Georgia,serif;margin:18px}.notice{font-size:13px;color:#a36b00;background:#fff8e8;border:1px solid #ffe5a3;padding:12px;border-radius:9px}.empty-panel{text-align:center;padding:70px 20px;color:#6d7d93}.empty-icon{font-size:48px}.narrow{max-width:720px;margin-left:auto;margin-right:auto}.center{text-align:center}.refund-summary{background:#f8fafc;border:1px solid #e5e9ef;border-radius:12px;padding:16px;margin:16px 0}.refund-summary>div{display:flex;justify-content:space-between;padding:7px}.refund-summary small{display:block;margin-top:10px;color:#7a879a}.alert{padding:13px;border-radius:9px;margin:14px 0}.alert.warn{background:#fff6e5;color:#9b6200;border:1px solid #ffe0a0}.alert.info{background:#eef5ff;color:#285da6;border:1px solid #d0e2ff}.service-card{max-width:420px;margin:28px auto;background:#f8fafc;border:1px solid #e3e8ef;border-radius:16px;padding:28px;display:grid;gap:14px;justify-items:center}.phone-icon{font-size:42px}.service-link{color:#397ae7}.qr{width:180px;height:180px;object-fit:contain;border-radius:12px;border:1px solid #e0e4ea}.qr-placeholder{width:180px;height:180px;border:2px dashed #d7dde6;border-radius:12px;display:flex;align-items:center;justify-content:center;padding:20px;color:#8a96a7}.user-menu-wrap{position:relative}.user-menu-button{border:0;background:#f4f6fa;padding:10px 12px;border-radius:9px;cursor:pointer}.user-menu{position:absolute;right:0;top:44px;background:#fff;border:1px solid #e0e5ec;border-radius:10px;padding:7px;box-shadow:0 12px 30px rgba(20,35,60,.13);display:none;min-width:140px;z-index:20}.user-menu.show{display:block}.user-menu button{width:100%;border:0;background:#fff;text-align:left;padding:9px;border-radius:7px;cursor:pointer}.user-menu button:hover{background:#f5f7fa}.modal{position:fixed;inset:0;background:rgba(10,20,35,.45);display:none;align-items:center;justify-content:center;padding:20px;z-index:100}.modal.show{display:flex}.modal-card{position:relative;background:#fff;border-radius:16px;padding:24px;width:min(460px,100%);box-shadow:0 24px 70px rgba(0,0,0,.2)}.modal-x{position:absolute;right:15px;top:12px;border:0;background:none;font-size:28px;cursor:pointer;color:#7a8698}.auth-body{min-height:100vh;background:#f5f7fb;display:grid;place-items:center;padding:24px}.auth-wrap{width:min(450px,100%)}.auth-brand{text-align:center;font-size:25px;font-weight:800;margin-bottom:18px}.auth-card{padding:25px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#eef2f7;border-radius:10px;padding:4px}.auth-tabs button{border:0;border-radius:8px;padding:10px;background:transparent;color:#68768a;cursor:pointer}.auth-tabs button.active{background:var(--blue);color:#fff;font-weight:700}.auth-card h2{text-align:center;margin:20px 0}.hidden{display:none!important}.captcha-row{display:grid;grid-template-columns:1fr 120px;gap:10px}.captcha{border:1px solid #ccd8e8;background:#eef5ff;border-radius:9px;font-size:22px;letter-spacing:6px;font-weight:800;color:#3478f6;cursor:pointer}.auth-note{text-align:center;color:#8b98aa;margin-top:18px}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:20px 0}.stat{padding:20px}.stat span{color:#738197}.stat strong{font-size:30px;display:block;margin-top:8px}.admin-shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid #e3e8ef;padding:22px 16px}.sidebar-brand{font-weight:800;font-size:18px;padding:7px 10px 22px}.sidebar-brand small{display:block;color:#8995a6;margin-top:5px;font-weight:500}.sidebar nav{display:grid;gap:6px}.sidebar nav a{padding:12px 13px;border-radius:9px;color:#5c6a7f}.sidebar nav a.active,.sidebar nav a:hover{background:#edf4ff;color:#2365dd}.admin-main{padding:22px 26px;min-width:0}.admin-top{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #e3e8ef;border-radius:12px;padding:12px 16px}.admin-actions{display:flex;gap:8px}.admin-actions form{display:inline}.admin-main h1{margin:22px 0 10px}.action-stack{display:grid;gap:7px;min-width:320px}.mini-form{display:flex;gap:5px;align-items:center}.mini-form input,.mini-form select{padding:7px;font-size:12px;max-width:130px}.table-input{padding:7px;width:180px}.table-input.short{width:90px}.inline{display:inline}.big-save{margin:20px 0;padding:13px 28px}.invite-box{display:flex;gap:12px;align-items:center;background:#f6f8fb;border:1px solid #e1e6ed;border-radius:10px;padding:14px}.invite-box code{flex:1;word-break:break-all}.api-page{display:grid;gap:18px}.api-note{background:#fff8e8;border:1px solid #ffe0a0;color:#8d6100;padding:12px;border-radius:9px}.api-block{border:1px solid #e1e6ee;border-left:4px solid;border-radius:11px;padding:17px;background:#fff}.api-block.blue{border-left-color:#3981ff}.api-block.orange{border-left-color:#f59e0b}.api-block.purple{border-left-color:#7c4dff}.api-block.green{border-left-color:#16b866}.api-block.red{border-left-color:#ef4444}.api-block h3{margin-top:0}.api-key-row{display:flex;gap:8px}.api-key-row input{flex:1}.split-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.split-buttons form .btn{width:100%}.endpoint{display:flex;gap:12px;align-items:center}.method{padding:5px 13px;border-radius:5px;color:#fff;font-weight:800;font-size:13px}.method.get{background:#3478f6}.method.post{background:#18ae58}.api-block pre{background:#10192c;color:#e3ebf7;border-radius:9px;padding:16px;white-space:pre-wrap;word-break:break-word;overflow:auto}.api-block code{font-family:ui-monospace,monospace}.api-block table{margin-top:8px}
@media(max-width:980px){.topbar{align-items:flex-start}.top-actions{font-size:14px}.two-col{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}.admin-shell{grid-template-columns:1fr}.sidebar{position:static;border-right:0;border-bottom:1px solid #e3e8ef}.sidebar nav{display:flex;overflow:auto}.sidebar nav a{white-space:nowrap}.admin-main{padding:16px}.action-stack{min-width:260px}}
@media(max-width:640px){.shell{width:calc(100% - 20px);margin:10px auto 30px}.topbar{padding:14px;display:block}.brand{font-size:18px;margin-bottom:12px}.top-actions{justify-content:flex-start;gap:7px}.top-actions .balance-label{width:100%;margin-bottom:3px}.top-actions .btn{padding:8px 10px;font-size:13px}.tabs{padding:0;margin-top:10px}.tab{padding:12px 14px;font-size:14px}.section-card{padding:14px;margin-top:12px}.section-head,.take-toolbar,.sub-head,.page-title-row{display:block}.take-buttons{margin-top:14px}.take-buttons form,.take-buttons .btn{width:100%}.search-row{display:grid;grid-template-columns:1fr auto}.form-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:14px}.stat strong{font-size:24px}.order-detail>div{grid-template-columns:1fr}.promo-grid{grid-template-columns:1fr}.captcha-row{grid-template-columns:1fr 105px}.admin-top{align-items:flex-start;gap:10px}.admin-actions{flex-wrap:wrap}.admin-main{padding:10px}.api-key-row{display:grid}.split-buttons{grid-template-columns:1fr}.invite-box{display:grid}.user-menu{left:0;right:auto}.balance-label{font-size:14px}}
.wide-field{grid-column:span 2}.wide-field input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@media(max-width:640px){.wide-field{grid-column:span 1}}
.recharge-stack{display:grid;grid-template-columns:1fr;gap:20px}.payment-method-label{display:grid;gap:7px;font-weight:700;color:#46556a;margin:14px 0 18px}.payment-method-label select{border:1px solid #d6dde8;background:#fff;border-radius:9px;padding:11px 12px}.payment-disabled-panel{margin-top:18px;padding:26px 20px;border:1px solid #f2d4d6;background:#fff6f6;color:#b8323a;border-radius:12px;text-align:center;font-weight:700}.address-copy-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.address-copy-row .address{min-width:0;flex:1}.copy-address-btn{flex:0 0 auto;white-space:nowrap}.payment-visual-row{display:grid;grid-template-columns:220px minmax(150px,1fr);gap:42px;align-items:center;justify-content:center;width:min(620px,100%);margin:24px auto 12px}.payment-qr-box{display:grid;justify-items:center;gap:10px}.payment-qr{width:220px;height:220px;max-width:100%;object-fit:contain}.payment-qr-box .qr-placeholder{width:220px;height:220px;max-width:100%}.payment-countdown-box{display:grid;justify-items:center;align-content:center;gap:8px;min-width:0}.payment-countdown-box .countdown{margin:0;font-size:46px}.qr-config-grid{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:22px;align-items:start;margin:14px 0 20px}.qr-preview-wrap{display:grid;justify-items:center;align-content:start;min-height:190px}.qr-preview{width:190px;height:190px}.qr-scan-result{font-size:13px;word-break:break-all}.success-text{color:var(--green)!important;font-weight:700}.form-stack input[type=file]{padding:9px;background:#fafcff}.admin-main .action-stack{min-width:360px}
@media(max-width:980px){.qr-config-grid{grid-template-columns:1fr}.payment-qr-box,.qr-preview-wrap{justify-items:center}.payment-visual-row{grid-template-columns:200px minmax(130px,1fr);gap:28px;width:min(540px,100%)}.payment-qr{width:200px;height:200px}.payment-qr-box .qr-placeholder{width:200px;height:200px}.payment-countdown-box .countdown{font-size:42px}}
@media(max-width:640px){.payment-qr-box,.qr-preview-wrap{justify-items:center}.payment-visual-row{grid-template-columns:minmax(0,145px) minmax(0,1fr);gap:12px;width:100%;margin:18px auto 10px}.payment-qr{width:145px;height:145px}.payment-qr-box .qr-placeholder{width:145px;height:145px;padding:10px;font-size:12px}.payment-countdown-box{gap:5px}.payment-countdown-box .countdown{font-size:34px}.address-copy-row{align-items:flex-start;gap:8px}.copy-address-btn{padding:7px 9px}.admin-main .action-stack{min-width:300px}.mini-form{flex-wrap:wrap}.mini-form input,.mini-form select{max-width:none;flex:1 1 120px}}
.pagination-wrap{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;flex-wrap:wrap}.pagination-meta{font-size:13px;color:var(--muted)}.pagination{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.page-link{min-width:34px;height:34px;padding:0 10px;border:1px solid #dce3ed;border-radius:8px;background:#fff;color:#4e5f76;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.page-link:hover{border-color:#9ab9f7;color:#245fd4;background:#f7faff}.page-link.active{background:var(--blue);border-color:var(--blue);color:#fff}.page-link.disabled{color:#aab3c0;background:#f7f8fa;cursor:not-allowed}.page-gap{padding:0 2px;color:#8c98a9}
@media(max-width:640px){.pagination-wrap{align-items:flex-start}.pagination{width:100%}.page-link{min-width:32px;height:32px;padding:0 8px}}
.inline-form select{border:1px solid #d6dde8;background:#fff;border-radius:9px;padding:11px 12px;outline:none;min-width:150px}.title-with-note{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.title-with-note h1{margin-right:0}.page-title-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-title-actions .inline-form{margin:0}.stats-grid.stats-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:980px){.stats-grid.stats-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.page-title-actions{display:grid;grid-template-columns:1fr;width:100%;margin-top:10px}.page-title-actions .inline-form{display:grid;grid-template-columns:1fr;gap:8px}.page-title-actions .inline-form select,.page-title-actions .inline-form input,.page-title-actions .inline-form .btn{width:100%}.inline-form select{min-width:0}.stats-grid.stats-grid-four{grid-template-columns:1fr 1fr}}
