*{box-sizing:border-box}body{margin:0;color:#263248;background:#f3f6fb;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}a{color:#2879ec;text-decoration:none}h1,h2,p{margin-top:0}h1{font-size:25px;letter-spacing:-.5px}h2{font-size:17px;margin-bottom:18px}.muted{color:#7e8a9d;line-height:1.8}.small,small{font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.break-all{word-break:break-all}.brand-mark{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#61b4ff,#2673f0);color:#fff;font-size:23px;font-weight:800;font-style:italic;box-shadow:0 4px 10px #296ff52b}.spinner{width:44px;height:44px;margin:35px auto;border:3px solid #e6edf9;border-top-color:#3587f4;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.initial-loading{padding-top:20vh}.redeem-shell{min-height:100vh;padding:48px 20px;background:radial-gradient(ellipse at 50% 0,#e5f0ff,transparent 65%),#f4f7fb}.customer-brand{display:flex;align-items:center;justify-content:center;gap:12px;font-size:20px;font-weight:700;margin-bottom:34px}.redeem-card{max-width:480px;min-height:420px;margin:auto;background:#fff;border:1px solid #eaf0f8;border-radius:24px;padding:34px 36px 38px;box-shadow:0 14px 60px #2e609a0b;text-align:center}.redeem-card h1{margin:27px 0 10px;font-size:24px}.customer-steps{display:flex;justify-content:space-between;margin-bottom:25px;font-size:11px;color:#a7b1c1}.customer-steps span{display:flex;flex-direction:column;align-items:center;gap:9px}.customer-steps i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#f1f4f9;font-style:normal}.customer-steps .active{color:#3280ef}.customer-steps .active i{background:#eaf3ff;color:#2879ec}.login-qr{width:250px;height:250px;margin:24px auto 16px;border:1px solid #edf1f8;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden;color:#8d99ab}.login-qr img{width:246px;height:246px;image-rendering:pixelated}.scan-status{font-size:13px;color:#72819a}.primary-button{border:0;background:#3081f4;color:#fff;border-radius:10px;padding:13px 24px;min-width:180px;margin-top:12px;box-shadow:0 5px 15px #3081f422}.state-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#ebf3ff;color:#3183f5;font-size:30px;margin:32px auto 20px}.success-icon{background:#e9f8f0;color:#2db97a}.error-icon{background:#fff1f0;color:#ef6a61}.account-panel{display:flex;flex-direction:column;gap:8px;background:#f6f8fc;border:1px solid #edf1f7;padding:20px;border-radius:12px;margin:24px 0;color:#7c8aa0}.account-panel strong{font-size:18px;color:#34445a}.notice{color:#df754d;font-size:13px;line-height:1.8;margin:20px 0 0}.customer-footer{margin:25px auto;text-align:center;color:#9ba7b8;font-size:12px}.admin-header{height:64px;background:linear-gradient(110deg,#2b85ec,#246bce);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 36px;box-shadow:0 3px 12px #2473df20}.admin-brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:17px}.admin-header .brand-mark{background:#ffffff20;box-shadow:none}.admin-user{display:flex;align-items:center;gap:20px;font-size:13px}.admin-user button{background:#ffffff1a;border:1px solid #ffffff20;color:#fff;border-radius:6px;padding:7px 12px}.admin-content{max-width:1480px;margin:0 auto;padding:32px}.page-intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.page-intro h1{margin:7px 0 6px}.page-intro p{margin:0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#8c9bb1}.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-bottom:25px}.stat-card{background:#fff;display:flex;align-items:center;gap:14px;padding:22px 18px;border:1px solid #edf1f8;border-radius:12px;box-shadow:0 3px 9px #26395503}.stat-symbol{width:42px;height:42px;flex:none;border-radius:10px;display:grid;place-items:center;color:#fff;font-size:16px;font-weight:600;box-shadow:inset 0 0 0 5px #ffffff20}.stat-symbol.blue{background:#3994ff}.stat-symbol.green{background:#62c63c}.stat-symbol.orange{background:#f6ab25}.stat-symbol.purple{background:#a165ed}.stat-symbol.red{background:#f36e77}.stat-symbol.teal{background:#36b9b0}.stat-label{display:block;font-size:12px;color:#8992a4;white-space:nowrap;margin-bottom:6px}.stat-card strong{font-size:23px;font-weight:600;letter-spacing:-.5px}.workspace-panel{background:#fff;border:1px solid #eaf0f8;border-radius:12px;box-shadow:0 5px 20px #29426704;overflow:hidden}.admin-tabs{display:flex;border-bottom:1px solid #ecf0f6;padding:0 20px;gap:10px;overflow:auto}.admin-tabs button{background:none;border:0;border-bottom:3px solid transparent;color:#6b7586;white-space:nowrap;padding:22px 24px 19px;font-weight:600}.admin-tabs button.selected{color:#3086f8;border-bottom-color:#3086f8}.workspace-body{padding:24px}.table-toolbar{display:flex;justify-content:space-between;gap:16px;margin-bottom:22px}.table-toolbar>div{display:flex;gap:10px}.table-toolbar .el-input{width:280px}.table-toolbar .el-select{width:155px}.table-alert{margin:18px 0}.pagination{display:flex;justify-content:flex-end;margin-top:24px}.admin-footer{text-align:center;color:#a6afbd;font-size:12px;padding:25px 0}.admin-login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at top,#dbeaff,transparent 65%)}.login-card{width:390px;max-width:calc(100vw - 40px);background:#fff;border:1px solid #eaf0f8;padding:42px 36px;border-radius:18px;box-shadow:0 20px 70px #3971bb0d;text-align:center}.login-card .el-input{margin-bottom:18px}.login-card .el-button{width:100%;margin-top:6px}.login-card h1{margin:22px 0 10px;font-size:23px}.settings-grid,.order-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px}.settings-grid section{padding:8px}.settings-grid h2:not(:first-child){margin-top:35px}.order-columns{margin-top:24px}.order-columns section{min-width:0}.order-columns .el-checkbox{white-space:normal;height:auto;line-height:1.6;margin:8px 0;display:flex}.order-columns .el-checkbox__label{white-space:normal;line-height:1.6}.payment-image{margin:16px 0;text-align:center;padding:12px;border:1px solid #e8eef7;border-radius:12px}.payment-image img{width:280px;max-width:100%;image-rendering:pixelated}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.button-row .el-button+.el-button{margin:0}.payment-link{display:block;font-size:13px;margin:15px 0}.verify-button{margin-top:16px;width:100%}.text-danger{color:#f06d72;font-size:12px}.text-warning{color:#d99826}.el-table{--el-table-header-bg-color:#f6f8fc;--el-table-header-text-color:#6d788a;--el-table-border-color:#eaf0f7;--el-table-row-hover-bg-color:#f5f9ff;--el-table-text-color:#526078}.el-table th.el-table__cell{font-weight:500}.el-table .el-table__cell{padding:11px 0}.el-dialog{border-radius:14px}.el-dialog__body{max-height:76vh;overflow-y:auto}.el-descriptions__label{white-space:nowrap}.el-input__wrapper{box-shadow:0 0 0 1px #e4eaf3 inset}.el-tag{font-weight:500}.el-message-box{max-width:92vw}@media(min-width:1700px){.admin-content{padding-top:40px}}@media(max-width:1180px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.admin-header{padding:0 16px}.admin-brand{font-size:15px}.admin-user{gap:10px}.admin-content{padding:20px 12px}.page-intro{margin-bottom:20px}.page-intro h1{font-size:22px}.eyebrow{font-size:9px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:17px 12px;gap:12px}.workspace-body{padding:14px}.admin-tabs{padding:0 6px;gap:0}.admin-tabs button{padding:18px 16px}.table-toolbar{flex-direction:column}.table-toolbar>div{flex-wrap:wrap}.table-toolbar .el-input{width:100%}.settings-grid,.order-columns{grid-template-columns:1fr}.customer-brand{margin-bottom:24px}.redeem-shell{padding:28px 16px}.redeem-card{padding:25px 20px;border-radius:18px}.admin-user span{display:none}.pagination{overflow:auto}.order-columns{gap:24px}}
