*{box-sizing:border-box}body{margin:0;font-family:"Microsoft YaHei",Arial,sans-serif;background:#eef3f8;color:#2e3b4d}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.login{min-height:100vh;display:grid;place-items:center;background:#2b384b}.login-card{width:430px;background:#fff;border-radius:6px;padding:36px;box-shadow:0 16px 50px rgba(0,0,0,.25)}.brand{display:flex;gap:16px;align-items:center;margin-bottom:24px}.p,.mini-p{background:#061cff;color:#fff;display:grid;place-items:center;font-weight:800}.p{width:86px;height:86px;border-radius:18px;font-size:58px}.brand h1{color:#4a78d8;font-weight:500;margin:0}.login-card input,.login-card select,.login-card button{width:100%;height:42px;margin:10px 0;border:1px solid #ccd6e2;border-radius:4px;padding:0 12px}.login-card button,.inline button,.coupon-form button,.card-form button{border:0;background:#2f95ef;color:#fff}.error{color:#d64b4b}.ok{color:#0b9952}.app{display:grid;grid-template-columns:272px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid #d8e0ea}.side-logo{height:294px;display:grid;place-items:center;border-bottom:1px solid #d8e0ea;text-align:center;color:#536274;font-size:24px}.side-logo .p{width:230px;height:210px;border-radius:34px;font-size:150px;margin-bottom:10px}.sidebar nav a{display:block;height:48px;padding:14px 44px;color:#526073}.sidebar nav a.active{background:#2f95ef;color:#fff}.top{height:74px;background:#223044;color:#fff;display:flex;justify-content:flex-end;align-items:center;gap:18px;padding:0 24px}.top a{border:1px solid rgba(255,255,255,.35);border-radius:4px;padding:7px 12px}.content{padding:22px}.panel{background:#fff;border:1px solid #e3e9f1;border-radius:4px;min-height:calc(100vh - 118px);padding:22px}.panel h2{margin:0 0 18px;color:#526073;font-size:20px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metrics div{border:1px solid #e1e7ef;border-radius:4px;padding:18px}.metrics strong{display:block;font-size:30px;margin-top:8px}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{border:1px solid #e1e7ef;padding:12px 14px;text-align:left;color:#526073}.table th{background:#f7f9fc}.badge{display:inline-flex;align-items:center;height:24px;border-radius:12px;background:#eaf8ef;color:#188446;padding:0 9px}.inline,.coupon-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px}.coupon-form{grid-template-columns:repeat(4,minmax(0,1fr))}.inline input,.inline button,.coupon-form input,.coupon-form select,.coupon-form button,.card-form input,.card-form select,.card-form textarea{height:38px;border:1px solid #ccd6e2;border-radius:4px;padding:0 10px}.card-form{max-width:620px;display:grid;gap:14px}.card-form label{display:grid;gap:8px}.card-form textarea{height:90px;padding-top:10px}.card-form button{height:40px}code{font-size:12px;word-break:break-all}.mobile{background:#fff}.mhead{height:64px;border-bottom:1px solid #edf1f5;display:flex;align-items:center;justify-content:space-between;padding:0 20px;color:#647284}.wallet{display:grid;grid-template-columns:70px 1fr 54px;align-items:center;gap:10px;min-height:92px;padding:14px 20px;border-bottom:1px solid #edf1f5}.wallet h3{margin:0 0 6px;font-weight:500}.wallet p{margin:0;color:#7a8798}.mini-p{width:46px;height:46px;border-radius:8px;font-size:30px}.coupon-hero{color:#fff;text-align:center;padding:34px 20px;border-bottom:5px dotted #fff}.coupon-hero h1{font-size:30px;margin:16px 0 8px}.mrow{min-height:56px;border-bottom:1px solid #edf1f5;padding:17px 20px;display:flex;justify-content:space-between;gap:14px}.mrow.tall{min-height:88px;color:#7a8798}.use{width:100%;height:50px;border:0;background:#fff;color:#12b743;font-size:18px;border-bottom:1px solid #edf1f5}@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{display:none}.top{height:58px}.metrics,.inline,.coupon-form{grid-template-columns:1fr}.panel{min-height:auto}}
.toolbar{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin:10px 0 18px;flex-wrap:wrap}.toolbar input,.toolbar select,.toolbar button,.toolbar .primary{height:36px;border:1px solid #cfd9e6;border-radius:4px;padding:0 12px;background:#fff;color:#526073}.toolbar button,.toolbar .primary,.export{border:0!important;background:#2f95ef!important;color:#fff!important}.export{height:36px;border-radius:4px;padding:0 18px}.mini{display:inline-flex;align-items:center;height:28px;border:1px solid #cfd9e6;border-radius:4px;background:#f8fafc;color:#526073;padding:0 9px;margin:2px}.mini.danger{background:#ff3b17;color:#fff;border-color:#ff3b17}.logo-small{font-size:12px;font-weight:700;color:#1d64b7}.coupon-builder{display:grid;grid-template-columns:420px 1fr;gap:28px;margin:10px 0 22px}.coupon-preview{min-height:170px;color:#fff;border:10px solid #e5e5e5;border-style:dashed;padding:20px;display:grid;grid-template-columns:70px 1fr;gap:14px;align-items:start}.coupon-preview p{border:1px dashed rgba(255,255,255,.8);padding:10px;margin:8px 0}.logo-box{background:#fff;color:#7a8798;border:1px dashed #aab5c4;width:54px;height:44px;display:grid;place-items:center}.form-section{display:grid;gap:12px;align-content:start}.form-section h3,.panel h3{font-size:16px;color:#526073;margin:8px 0}.form-section input,.form-section textarea,.rule-form input,.rule-form select{border:1px solid #cfd9e6;border-radius:4px;min-height:36px;padding:0 10px}.form-section textarea{height:58px;padding-top:8px}.rule-form{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:14px 28px;margin-bottom:20px}.rule-form label{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rule-form button{height:40px;max-width:220px;border:0;border-radius:4px;background:#2f95ef;color:#fff}.checkline{display:inline-flex;align-items:center;gap:6px}.chart-row{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;margin:20px 0}.barline{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:12px;margin:12px 0}.barline span:last-child{height:22px;background:#c93432;border-radius:2px}.pie{width:260px;height:260px;border-radius:50%;background:conic-gradient(#c93432 0 55%,#2e4557 55% 78%,#64a7ad 78% 88%,#dc8361 88% 94%,#90c7ad 94% 100%);margin:auto}
.notice{height:38px;background:#eaf4ff;border:1px solid #cfe3fb;border-radius:4px;color:#526073;display:flex;align-items:center;padding:0 18px;margin:18px 0 10px}
.wechat-page{margin:0;background:#fff;color:#111;font-family:"Microsoft YaHei",Arial,sans-serif}.wechat-orange{height:32px;line-height:32px;background:#ff6500;color:#fff;text-align:center;font-size:14px}.wechat-tip{height:32px;line-height:32px;background:#10b516;color:#fff;text-align:center;font-size:14px}.bind-form{padding-top:18px}.bind-row{height:46px;border-bottom:1px solid #eee;display:grid;grid-template-columns:104px 1fr 120px;align-items:center;padding:0 14px;gap:0}.bind-row span{font-size:16px}.bind-row input{border:0;outline:0;font-size:16px;height:42px}.code-btn{border:0;background:#fff;color:#18bb18;font-size:16px}.bind-submit{width:calc(100% - 28px);height:46px;border:0;border-radius:4px;margin:18px 14px;background:#10b516;color:#fff;font-size:16px}.staff-head{padding:16px;border-bottom:1px solid #eee;display:flex;justify-content:space-between}.staff-list{padding:12px}.staff-coupon{display:grid;grid-template-columns:1fr 150px 76px;gap:10px;align-items:center;border:1px solid #edf1f5;border-radius:4px;padding:12px;margin-bottom:10px}.staff-coupon h3{margin:0 0 6px;font-size:16px}.staff-coupon p{margin:0;color:#7a8798}.staff-coupon input{height:36px;border:1px solid #ddd;border-radius:4px;padding:0 8px}.staff-coupon button{height:36px;border:0;border-radius:4px;background:#10b516;color:#fff}@media(max-width:640px){.staff-coupon{grid-template-columns:1fr}.bind-row{grid-template-columns:90px 1fr 112px}}
.modal-like{background:rgba(0,0,0,.04);border:1px solid #d8e0ea;border-radius:6px;padding:18px;margin:0 0 18px}.modal-like h3{margin:0 0 14px}.issue-grid{max-width:700px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}.issue-grid label{display:grid;gap:7px;color:#526073}.issue-grid input,.issue-grid select{height:36px;border:1px solid #cfd9e6;border-radius:4px;padding:0 10px}.issue-grid button{height:36px;border:0;border-radius:4px;background:#2f95ef;color:#fff}
.self-page{padding:14px}.self-card{border:0;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.18);border-radius:4px;margin-bottom:14px;overflow:hidden}.self-card-top{min-height:78px;background:var(--card);color:#fff;display:grid;grid-template-columns:68px 1fr 52px;align-items:center;padding:12px 10px;position:relative}.self-card-top:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:10px;background:radial-gradient(circle at 5px 5px,#fff 4px,transparent 5px) repeat-x;background-size:16px 10px}.self-logo,.brand-logo{width:48px;height:48px;border-radius:50%;background:#fff;color:#1264c8;display:grid;place-items:center;font-size:11px;font-weight:700}.self-card h2{margin:0;font-size:24px}.self-card strong{font-size:18px;text-align:right}.self-card-bottom{min-height:42px;display:flex;align-items:center;justify-content:space-between;padding:12px;color:#526073}.self-card button{width:calc(100% - 24px);height:42px;border:0;border-radius:4px;margin:0 12px 12px;background:#10b516;color:#fff;font-size:16px}.empty-mobile{padding:40px;text-align:center;color:#7a8798}.wallet-page .wallet{grid-template-columns:70px 1fr 38px 24px}.brand-logo{border-radius:0;background:#fff}.count-pill{display:grid;place-items:center;min-width:28px;height:24px;border-radius:14px;background:#eef0f3;color:#777}
.sidebar nav a.sub-nav{padding-left:58px;font-size:14px;color:#657386}.sidebar nav a.sub-nav.active{color:#fff}.qr-modal{max-width:620px;margin:0 auto 18px}.qr-modal label{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:10px;margin:10px 0}.qr-modal input{height:38px;border:1px solid #cfd9e6;border-radius:4px;padding:0 10px}.qr-box{text-align:center;padding:14px}.qr-box img{width:330px;max-width:100%;height:auto;background:#fff}.qr-box p{font-size:12px;color:#526073;word-break:break-all}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.modal-actions .primary{height:34px;border-radius:4px;background:#2f95ef;color:#fff;padding:7px 18px}
.coupon-edit-form{display:block}.coupon-edit-layout{display:grid;grid-template-columns:170px 440px 1fr;gap:28px;align-items:start;margin-bottom:24px}.coupon-section-title{font-weight:700;color:#526073;padding-top:12px}.coupon-preview-wrap{background:#e5e5e5;padding:12px;display:grid;gap:10px}.coupon-preview-large{background:var(--coupon-color);min-height:166px;color:#fff;border:3px dashed rgba(255,255,255,.9);display:grid;grid-template-columns:86px 1fr;gap:12px;padding:18px;align-items:start}.logo-upload{width:58px;height:58px;background:#fff;color:#657386;border:1px dashed #9eabbc;display:grid;place-items:center;text-align:center;cursor:pointer;font-size:14px}.logo-upload input{display:none}.logo-upload img{display:none;width:100%;height:100%;object-fit:contain}.preview-texts{display:grid;gap:8px;align-content:start}.preview-texts input{height:34px;background:transparent;border:1px dashed rgba(255,255,255,.9);color:#fff;text-align:center}.preview-texts input::placeholder{color:#fff}.coupon-preview-wrap textarea{height:58px;border:1px solid #cfd9e6;border-radius:4px;padding:8px}.coupon-preview-wrap>input{height:36px;border:1px solid #cfd9e6;border-radius:4px;padding:0 10px}.lot-row{background:#fff;padding:10px;color:#526073}.lot-row span{display:inline-flex;align-items:center;gap:6px}.lot-row input[type=text],.lot-row input:not([type]){border:0}.preview-link{color:#1685e8}.rule-editor{max-width:850px;margin-left:170px;display:grid;gap:14px}.rule-editor>input{height:38px;border:1px solid #cfd9e6;border-radius:4px;padding:0 10px}.template-id-tip{height:38px;border:1px solid #cfe3fb;background:#eaf4ff;color:#526073;border-radius:4px;display:flex;align-items:center;padding:0 12px}.rule-line{display:grid;grid-template-columns:170px auto auto 90px auto 110px auto;gap:10px;align-items:center;color:#526073}.rule-line.indent{margin-top:2px}.rule-line input[type=number]{height:36px;border:1px solid #cfd9e6;border-radius:4px;padding:0 8px}.rule-line label{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.rule-line b{color:red;font-weight:400}.date-row{display:grid;grid-template-columns:1fr 1fr;gap:28px}.date-row input{height:38px;border:1px solid #cfd9e6;border-radius:4px;padding:0 10px}.submit-wide{width:200px;height:40px;border:0;border-radius:4px;background:#2f95ef;color:#fff;margin:18px auto;display:block}@media(max-width:1100px){.coupon-edit-layout{grid-template-columns:1fr}.rule-editor{margin-left:0}.rule-line{grid-template-columns:1fr;align-items:start}.date-row{grid-template-columns:1fr}.template-id-tip{height:auto;min-height:38px;padding:8px 12px}}
.report-panel .table th,.report-panel .table td{text-align:center}.report-search{display:flex;gap:5px;margin:20px 0;align-items:center}.report-search input{width:165px;height:36px;border:1px solid #cfd9e6;border-radius:4px;padding:0 10px}.report-search button{height:36px;border:0;border-radius:4px;background:#2f95ef;color:#fff;padding:0 18px}.status-dot{display:inline-grid;width:36px;height:36px;border:1px solid #dfe7f1;border-radius:4px;place-items:center;background:#fff}.status-dot:before{content:"";width:13px;height:13px;border-radius:50%;background:#dfe6ee}.status-dot.on:before{background:#10c06d}.status-dot.off:before{background:#dfe6ee}.inline-action{display:inline}.inline-action button{cursor:pointer}.action-row{display:flex;gap:4px;justify-content:center;align-items:center;white-space:nowrap}.pager-like{display:flex;justify-content:flex-end;gap:8px;align-items:center;margin-top:18px;color:#526073}.pager-like span,.pager-like b{min-width:34px;height:34px;border:1px solid #d7e1ec;border-radius:4px;display:grid;place-items:center}.pager-like b{background:#2f95ef;color:#fff;border-color:#2f95ef}
.list-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:12px 0 18px}.list-toolbar .primary{height:38px;min-width:130px;border:0;border-radius:4px;background:#31a9ed;color:#fff;display:inline-flex;align-items:center;justify-content:center;padding:0 18px}.list-search{margin-left:auto;display:flex;gap:6px;align-items:center}.list-search input,.list-search select{height:36px;border:1px solid #cfd9e6;border-radius:4px;padding:0 10px;min-width:220px}.list-search select{min-width:180px;background:#fff}.list-search button{height:36px;border:0;border-radius:4px;background:#2f95ef;color:#fff;padding:0 18px}.list-search.wide input{min-width:260px}.dialog-mask{position:fixed;inset:0;background:rgba(0,0,0,.52);z-index:50;display:grid;place-items:center}.dialog{width:580px;max-width:calc(100vw - 32px);background:#fff;border-radius:5px;box-shadow:0 20px 70px rgba(0,0,0,.28);overflow:hidden}.account-dialog{width:640px}.dialog-title{height:58px;border-bottom:1px solid #e1e7ef;display:flex;align-items:center;justify-content:space-between;padding:0 18px;color:#2e3b4d}.dialog-title a{font-size:26px;color:#9aa6b5}.dialog-form{padding:22px 18px 0;display:grid;gap:14px}.dialog-form label{display:grid;grid-template-columns:84px 1fr;align-items:center;gap:14px;color:#526073}.dialog-form input,.dialog-form select{height:38px;border:1px solid #cfd9e6;border-radius:4px;padding:0 10px;background:#fff}.dialog-actions{margin:16px -18px 0;padding:14px 18px;border-top:1px solid #e1e7ef;display:flex;justify-content:flex-end}.dialog-actions button{height:36px;border:0;border-radius:4px;background:#2f95ef;color:#fff;padding:0 22px}.select-search{display:grid;grid-template-columns:1fr 150px;gap:8px}.switch-line{display:inline-flex;align-items:center;gap:8px}.switch-line input[type=checkbox]{width:48px;height:24px;accent-color:#2f95ef}@media(max-width:760px){.list-toolbar{display:grid}.list-search,.list-search.wide{width:100%;display:grid;grid-template-columns:1fr auto}.list-search select{grid-column:1/-1}.dialog-form label{grid-template-columns:1fr}.select-search{grid-template-columns:1fr}}
.top .top-icon{width:36px;height:36px;border:0;border-radius:0;padding:0;background:center/24px 24px no-repeat;opacity:.95}.top .top-icon:hover{opacity:1;background-color:rgba(255,255,255,.08)}.home-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 12 11-9 11 9'/%3E%3Cpath d='M5 10v15h18V10'/%3E%3Cpath d='M11 25v-8h6v8'/%3E%3C/svg%3E")}.lock-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='20' height='13' rx='1'/%3E%3Cpath d='M9 11V7a5 5 0 0 1 10 0v4'/%3E%3Cpath d='M14 16v4'/%3E%3C/svg%3E")}.exit-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4H5v20h5'/%3E%3Cpath d='M17 8l6 6-6 6'/%3E%3Cpath d='M23 14H10'/%3E%3C/svg%3E")}.password-panel{min-height:420px}.password-form{max-width:520px;margin-top:16px;display:grid;gap:16px}.password-form label{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:12px;color:#526073}.password-form input{height:38px;border:1px solid #cfd9e6;border-radius:4px;padding:0 10px}.password-form button{width:140px;height:38px;border:0;border-radius:4px;background:#2f95ef;color:#fff;margin-left:122px}@media(max-width:700px){.password-form label{grid-template-columns:1fr}.password-form button{margin-left:0}}
.issue-dialog-form .field-unit{display:flex;align-items:center;gap:8px}.issue-dialog-form .field-unit input{width:120px}.date-mode{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.date-mode label{display:inline-flex!important;grid-template-columns:none!important;gap:6px;align-items:center}.date-mode input[type=number]{width:90px}.status-dot+.mini{margin-left:6px}
.top .top-text{display:inline-flex;align-items:center;justify-content:center;height:36px;min-width:82px;border:1px solid rgba(255,255,255,.65);border-radius:4px;color:#fff!important;background:rgba(255,255,255,.06);padding:0 12px}.top .top-text:hover{background:rgba(255,255,255,.16)}.table th:last-child,.table td:last-child{min-width:150px}.action-row{display:flex!important;gap:6px;align-items:center;justify-content:flex-start;white-space:nowrap}.action-row .inline-action{display:inline-flex;margin:0}.action-row .mini{margin:0}
