:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{background:#0a0e1a;margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--ref-bg:#0a0e1a;--ref-card-bg:#ffffff0a;--ref-card-border:#ffffff14;--ref-accent:#00d4ff;--ref-accent2:#7c3aed;--ref-success:#10b981;--ref-danger:#ef4444;--ref-warning:#f59e0b;--ref-text:#e8e8f0;--ref-text-dim:#ffffff73}.referee-layout{background:var(--ref-bg);box-sizing:border-box;background-image:radial-gradient(at 20%,#00d4ff0a 0%,#0000 60%),radial-gradient(at 80% 20%,#7c3aed0a 0%,#0000 60%);width:100%;max-width:480px;min-height:100vh;margin:0 auto;padding-bottom:72px;position:relative;overflow-x:hidden}.referee-tabbar{-webkit-backdrop-filter:blur(24px);z-index:1000;background:#0c1023eb;border:1px solid #ffffff0f;border-radius:24px;justify-content:space-around;align-items:center;max-width:456px;margin:0 auto;padding:6px 8px;display:flex;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 4px 32px #00000080,inset 0 0 0 1px #ffffff08}.tabbar-item{cursor:pointer;background:0 0;border:none;border-radius:16px;outline:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;max-width:120px;padding:10px 4px;transition:background .2s;display:flex;position:relative}.tabbar-item:active{opacity:.7}.tabbar-icon{font-size:24px;line-height:1;transition:transform .2s}.tabbar-item:hover .tabbar-icon{transform:scale(1.1)}.tabbar-label{color:var(--ref-text-dim);white-space:nowrap;font-size:11px;font-weight:400;transition:color .2s}.tabbar-active{background:#00d4ff0f}.tabbar-active .tabbar-label{color:var(--ref-accent);font-weight:600}.tabbar-active .tabbar-icon{filter:drop-shadow(0 0 6px #00d4ff66)}.referee-card{background:var(--ref-card-bg);border:1px solid var(--ref-card-border);-webkit-backdrop-filter:blur(12px);border-radius:16px;margin:12px;padding:18px;transition:border-color .2s,box-shadow .3s}.referee-card-title{color:var(--ref-text);margin-bottom:12px;font-size:15px;font-weight:600;display:block}.referee-tag{letter-spacing:.3px;border-radius:99px;align-items:center;padding:4px 12px;font-size:12px;font-weight:500;line-height:1.5;display:inline-flex}.referee-tag-success{color:var(--ref-success);background:#10b9811f;border:1px solid #10b98133}.referee-tag-warning{color:var(--ref-warning);background:#f59e0b1f;border:1px solid #f59e0b33}.referee-tag-danger{color:#ff6b6b;background:#ef44441f;border:1px solid #ef444433}.referee-tag-info{color:var(--ref-accent);background:#00d4ff1a;border:1px solid #00d4ff26}.referee-btn{cursor:pointer;letter-spacing:.5px;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 20px;font-size:15px;font-weight:600;transition:all .2s;display:flex;position:relative;overflow:hidden}.referee-btn:active{transform:scale(.97)}.referee-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.referee-btn-primary{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;padding:10px 18px;font-size:13px;box-shadow:0 2px 10px #6366f140}.referee-btn-primary:active{box-shadow:0 1px 4px #6366f133}.referee-btn-success{color:#fff;background:linear-gradient(135deg,#059669,#10b981);border-radius:14px;padding:16px 20px;font-size:16px;box-shadow:0 3px 16px #10b9814d}.referee-btn-success:active{box-shadow:0 1px 6px #10b98133}.referee-btn-danger{color:#fff;background:linear-gradient(135deg,#dc2626,#ef4444);border-radius:14px;padding:14px 20px;font-size:15px;box-shadow:0 3px 16px #ef444440}.referee-btn-outline{color:var(--ref-text);background:#ffffff0a;border:1px solid #ffffff1f;border-radius:12px}.referee-btn-outline:hover{background:#ffffff14;border-color:#fff3}.referee-btn-outline:active{background:#ffffff1f}.referee-btn-ghost{color:var(--ref-text-dim);background:0 0;border:1px solid #ffffff0f;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:400}.referee-btn-sm{border-radius:10px;width:auto;padding:8px 16px;font-size:12px}.referee-btn-lg{border-radius:14px;padding:16px 24px;font-size:16px}.referee-btn-row{gap:14px;margin-top:4px;display:flex}.referee-btn-row .referee-btn{flex:1;min-width:0}.referee-empty{flex-direction:column;align-items:center;padding:48px 0;display:flex}.referee-empty-icon{margin-bottom:14px;font-size:40px}.referee-empty-text{color:var(--ref-text-dim);letter-spacing:.3px;font-size:14px}.referee-loading-mask{background:var(--ref-bg);z-index:999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.referee-loading-spinner{color:var(--ref-accent);font-size:14px;animation:1.2s ease-in-out infinite referee-pulse}.referee-page{max-width:480px;margin:0 auto;padding:14px 14px 84px}.referee-page-no-tab{padding:14px}@keyframes referee-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes referee-blink{0%{opacity:1}to{opacity:.5}}@keyframes referee-fade-in{0%{opacity:0}to{opacity:1}}@keyframes referee-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.referee-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0009;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out referee-fade-in;display:flex;position:fixed;inset:0}.referee-detail-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#141932f2;border:1px solid #ffffff14;border-radius:16px;width:100%;max-width:400px;padding:24px 20px;animation:.3s ease-out referee-slide-up}.referee-input{box-sizing:border-box;width:100%;color:var(--ref-text);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;outline:none;padding:12px 14px;font-size:15px;transition:border-color .2s}.referee-input:focus{border-color:var(--ref-accent);box-shadow:0 0 8px #00d4ff26}.referee-input::placeholder{color:#ffffff40}.referee-row-line{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;padding:14px 0;display:flex}.referee-row-line:last-child{border-bottom:none}.referee-row-label{color:var(--ref-text-dim);font-size:13px}.referee-row-value{color:var(--ref-text);text-align:right;max-width:60%;font-size:13px;font-weight:500}@media (width>=480px){.referee-layout{border-left:1px solid #ffffff0a;border-right:1px solid #ffffff0a}}@media (width<=380px){.referee-page{padding:8px}.referee-card{margin:8px;padding:12px}}.referee-ws-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000073;border-radius:99px;justify-content:center;align-items:center;gap:6px;width:fit-content;margin-bottom:12px;margin-left:auto;margin-right:auto;padding:6px 14px;display:flex}.referee-ws-badge span{color:var(--ref-text);font-size:12px}.referee-ws-dot{border-radius:50%;width:8px;height:8px;transition:background .3s,box-shadow .3s}.referee-ws-dot[data-connected=true]{background:#27ae60;box-shadow:0 0 8px #27ae6099}.referee-ws-dot:not([data-connected=true]){background:#999}.referee-timer-card{color:#fff;background:linear-gradient(135deg,#1a1a2ef2,#1a1a2ed9);transition:background-color .3s}.referee-timer-display{padding:16px 0}.referee-timer-main{font-variant-numeric:tabular-nums;letter-spacing:2px;color:#e94560;font-family:SF Mono,Menlo,Monaco,monospace;font-size:80px;font-weight:200;transition:color .3s,text-shadow .3s}.referee-timer-display[data-running=true] .referee-timer-main{color:#27ae60;text-shadow:0 0 24px #27ae6059}.referee-timer-display[data-danger=true] .referee-timer-main{color:#e74c3c;text-shadow:0 0 24px #e74c3c66;animation:.5s ease-in-out infinite alternate referee-blink}.referee-progress-bar{background:#ffffff14;border-radius:2px;height:4px;margin:8px 0;overflow:hidden}.referee-progress-fill{background:#27ae60;border-radius:2px;height:100%;transition:width .1s linear}.referee-progress-fill[data-danger=true]{background:#e74c3c}.referee-racer-info{justify-content:center;align-items:center;gap:12px;margin-top:8px;display:flex}.referee-racer-avatar{background:#fff;border:2px solid #fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:24px;line-height:1;display:flex}.referee-racer-detail{text-align:left;overflow:hidden}.referee-racer-detail .text-one-line{font-size:17px;font-weight:600}.referee-racer-remaining{color:#ffffff80;font-size:12px}.referee-racer-remaining strong{color:#e94560;font-size:14px}.referee-status-tag{margin-top:10px}.referee-actions{margin-top:20px}.referee-timeout-hint{color:#f39c12;margin-top:10px;font-size:12px}.referee-error-msg{color:#e94560;text-align:center;white-space:nowrap;text-overflow:ellipsis;background:#e9456014;border:1px solid #e945601f;border-radius:8px;margin-bottom:12px;padding:8px 16px;font-size:14px;overflow:hidden}.referee-card-compact{background:var(--ref-card-bg);border:1px solid var(--ref-card-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px}.referee-section{margin-top:8px}.referee-section-header{justify-content:space-between;align-items:center;margin-bottom:12px;padding:0 4px;display:flex}.referee-section-header span:first-child{color:var(--ref-text);font-size:15px;font-weight:600}.referee-section-count{color:var(--ref-text-dim);font-size:12px}.referee-queue-item{cursor:pointer;align-items:center;margin:0 0 10px;padding:14px;transition:border-color .2s,box-shadow .3s,background .2s;display:flex}.referee-queue-item[data-active=true]{background:linear-gradient(135deg,#e945600f,#e9456005);border-color:#e94560;box-shadow:0 0 16px #e9456026}.referee-queue-item[data-active=false]:hover{border-color:#ffffff26}.referee-queue-index{color:#999;background:#f5f5f5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-right:12px;font-size:13px;font-weight:700;display:flex}.referee-queue-index[data-current=true]{color:#fff;background:#e94560;font-size:18px}.referee-queue-avatar{background:#fff;border:2px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;margin-right:12px;font-size:24px;line-height:1;transition:border-color .2s;display:flex}.referee-queue-avatar[data-current=true]{border-color:#e94560}.referee-queue-name{flex:1;min-width:0;font-size:15px;font-weight:500;overflow:hidden}.referee-queue-name .text-one-line{display:inline}.referee-queue-remaining{color:var(--ref-text-dim);margin-left:4px;font-size:12px;font-weight:400}.referee-queue-remaining strong{color:#e94560;font-size:14px}.referee-queue-badge{flex-direction:column;flex-shrink:0;align-items:center;margin-left:8px;display:flex}.referee-queue-dot{color:#27ae60;font-size:12px;animation:1.5s ease-in-out infinite referee-pulse}.referee-queue-badge span:last-child{color:#27ae60;font-size:10px}.referee-login-page{background:var(--ref-bg);background-image:radial-gradient(at 30% 20%,#00d4ff0d 0%,#0000 60%),radial-gradient(at 70% 80%,#7c3aed0d 0%,#0000 60%);justify-content:center;align-items:center;width:100vw;min-height:100vh;padding:16px;display:flex;position:fixed;top:0;left:0;overflow:hidden}.referee-login-glow-1{pointer-events:none;background:radial-gradient(circle,#00d4ff0f,#0000 70%);border-radius:50%;width:min(400px,80vw);height:min(400px,80vw);position:absolute;top:-100px;left:-100px}.referee-login-glow-2{pointer-events:none;background:radial-gradient(circle,#7c3aed0d,#0000 70%);border-radius:50%;width:min(500px,90vw);height:min(500px,90vw);position:absolute;bottom:-150px;right:-150px}.referee-login-box{z-index:1;flex-direction:column;align-items:center;width:100%;max-width:440px;display:flex}.referee-login-logo{margin-bottom:16px}.referee-login-brand{align-items:baseline;gap:4px;margin-bottom:6px;display:flex}.referee-login-title{background:linear-gradient(135deg,#00d4ff,#7c3aed);-webkit-text-fill-color:transparent;letter-spacing:2px;-webkit-background-clip:text;font-size:30px;font-weight:800}.referee-login-subtitle{color:var(--ref-text-dim);letter-spacing:1px;font-size:16px;font-weight:400}.referee-login-role{color:var(--ref-accent);background:#00d4ff0f;border:1px solid #00d4ff1f;border-radius:99px;align-items:center;gap:6px;margin-bottom:32px;padding:4px 16px;font-size:13px;font-weight:500;display:flex}.referee-login-role-icon{font-size:16px}.referee-login-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff08;border:1px solid #ffffff0f;border-radius:20px;width:100%;padding:28px 24px}.referee-login-field{margin-bottom:16px}.referee-login-label{color:var(--ref-text-dim);letter-spacing:.5px;margin-bottom:8px;font-size:13px;font-weight:500;display:block}.referee-login-input{box-sizing:border-box;width:100%;color:var(--ref-text);letter-spacing:1px;background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;outline:none;padding:14px 16px;font-size:16px;transition:border-color .2s,box-shadow .2s}.referee-login-input:focus{border-color:var(--ref-accent);box-shadow:0 0 16px #00d4ff1f}.referee-login-input::placeholder{color:#fff3;letter-spacing:0}.referee-login-error{text-align:center;color:var(--ref-danger);background:#ef44440f;border-radius:8px;margin-bottom:12px;padding:8px;font-size:13px}.referee-login-btn{color:#fff;cursor:pointer;letter-spacing:4px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:14px;width:100%;padding:16px;font-size:17px;font-weight:700;transition:all .2s;box-shadow:0 4px 20px #6366f14d}.referee-login-btn:active{transform:scale(.97)}.referee-login-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.referee-login-loading{letter-spacing:2px}.referee-login-dot-anim{animation:1.2s ease-in-out infinite referee-pulse}.referee-login-hint{text-align:center;color:#ffffff40;margin-top:24px;font-size:12px;line-height:1.6}:root{--mch-bg:#0a0e1a;--mch-card-bg:#ffffff08;--mch-card-border:#ffffff0f;--mch-accent:#00d4ff;--mch-accent2:#7c3aed;--mch-danger:#ef4444;--mch-text:#e8e8f0;--mch-text-dim:#ffffff73}.merchant-login-page{background:var(--mch-bg);background-image:radial-gradient(at 30% 20%,#00d4ff0d 0%,#0000 60%),radial-gradient(at 70% 80%,#7c3aed0d 0%,#0000 60%);justify-content:center;align-items:center;width:100vw;min-height:100vh;padding:16px;display:flex;position:fixed;top:0;left:0;overflow:hidden}.merchant-login-glow-1{pointer-events:none;background:radial-gradient(circle,#00d4ff0f,#0000 70%);border-radius:50%;width:min(400px,80vw);height:min(400px,80vw);position:absolute;top:-100px;left:-100px}.merchant-login-glow-2{pointer-events:none;background:radial-gradient(circle,#7c3aed0d,#0000 70%);border-radius:50%;width:min(500px,90vw);height:min(500px,90vw);position:absolute;bottom:-150px;right:-150px}.merchant-login-box{z-index:1;flex-direction:column;align-items:center;width:100%;max-width:440px;display:flex}.merchant-login-logo{margin-bottom:16px}.merchant-login-role{color:var(--mch-accent);background:#00d4ff0f;border:1px solid #00d4ff1f;border-radius:99px;align-items:center;gap:6px;margin-bottom:32px;padding:4px 16px;font-size:13px;font-weight:500;display:flex}.merchant-login-role-icon{font-size:16px}.merchant-login-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff08;border:1px solid #ffffff0f;border-radius:20px;width:100%;padding:28px 24px}.merchant-login-field{margin-bottom:16px}.merchant-login-label{color:var(--mch-text-dim);letter-spacing:.5px;margin-bottom:8px;font-size:13px;font-weight:500;display:block}.merchant-login-input{box-sizing:border-box;width:100%;color:var(--mch-text);letter-spacing:1px;background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;outline:none;padding:14px 16px;font-size:16px;transition:border-color .2s,box-shadow .2s}.merchant-login-input:focus{border-color:var(--mch-accent);box-shadow:0 0 16px #00d4ff1f}.merchant-login-input::placeholder{color:#fff3;letter-spacing:0}.merchant-login-error{text-align:center;color:var(--mch-danger);background:#ef44440f;border-radius:8px;margin-bottom:12px;padding:8px;font-size:13px}.merchant-login-btn{color:#fff;cursor:pointer;letter-spacing:4px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:14px;width:100%;padding:16px;font-size:17px;font-weight:700;transition:all .2s;box-shadow:0 4px 20px #6366f14d}.merchant-login-btn:active{transform:scale(.97)}.merchant-login-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.merchant-login-loading{letter-spacing:2px}.merchant-login-dot-anim{animation:1.2s ease-in-out infinite referee-pulse}.merchant-login-tabs{justify-content:center;gap:24px;margin-bottom:24px;display:flex}.merchant-login-tab{color:var(--mch-text-dim);cursor:pointer;border-bottom:2px solid #0000;padding-bottom:6px;font-size:16px;font-weight:600;transition:all .2s}.merchant-login-tab.active{color:var(--mch-accent);border-bottom-color:var(--mch-accent)}.merchant-login-hint{text-align:center;color:#ffffff40;margin-top:24px;font-size:12px;line-height:1.6}.mch-coupon-page{max-width:480px;margin:0 auto;padding:14px 14px 84px}.mch-coupon-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;margin-bottom:14px;padding:2px;display:flex;overflow-x:auto}.mch-coupon-tabs::-webkit-scrollbar{display:none}.mch-coupon-tab{color:#ffffff80;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:8px;flex:none;padding:8px 16px;font-size:14px;transition:all .2s}.mch-coupon-tab:hover{color:#fffc;background:#ffffff0d}.mch-coupon-tab-active,.mch-coupon-tab-active:hover{color:#818cf8;background:#6366f126}.mch-coupon-tab-item{color:#ffffff80;cursor:pointer;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:99px;flex-shrink:0;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.mch-coupon-tab-item:active{transform:scale(.95)}.mch-coupon-tab-item.mch-tab-active{color:#00d4ff;background:#00d4ff1a;border-color:#00d4ff40}.mch-coupon-actions{margin-bottom:14px}.mch-coupon-create-btn{color:#fff;cursor:pointer;letter-spacing:1px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:14px;width:100%;padding:14px;font-size:15px;font-weight:600;transition:all .2s;box-shadow:0 3px 12px #6366f140}.mch-coupon-create-btn:active{transform:scale(.97)}.mch-coupon-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;margin-bottom:12px;padding:16px;transition:border-color .2s}.mch-coupon-card:active{border-color:#00d4ff33}.mch-coupon-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.mch-coupon-name{color:#e8e8f0;flex:1;margin-right:8px;font-size:16px;font-weight:600}.mch-coupon-type-tag{border-radius:99px;flex-shrink:0;align-items:center;padding:2px 10px;font-size:11px;font-weight:500;display:inline-flex}.mch-coupon-type-full{color:#00d4ff;background:#00d4ff1a;border:1px solid #00d4ff26}.mch-coupon-type-reduce{color:#10b981;background:#10b9811a;border:1px solid #10b98126}.mch-coupon-type-nothreshold{color:#f59e0b;background:#f59e0b1a;border:1px solid #f59e0b26}.mch-coupon-type-discount{color:#8b5cf6;background:#8b5cf61a;border:1px solid #8b5cf626}.mch-coupon-card-body{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px;display:grid}.mch-coupon-info-item{color:#ffffff8c;font-size:13px}.mch-coupon-info-item strong{color:#e8e8f0;font-weight:500}.mch-coupon-card-footer{border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding-top:10px;display:flex}.mch-coupon-status-tag{border-radius:99px;align-items:center;padding:3px 12px;font-size:12px;font-weight:500;display:inline-flex}.mch-coupon-status-pending{color:#f59e0b;background:#f59e0b1a;border:1px solid #f59e0b33}.mch-coupon-status-active{color:#10b981;background:#10b9811a;border:1px solid #10b98133}.mch-coupon-status-rejected{color:#ff6b6b;background:#ef44441a;border:1px solid #ef444433}.mch-coupon-status-offline{color:#ffffff59;background:#ffffff0a;border:1px solid #ffffff14}.mch-coupon-status-offline-rejected{color:#a855f7;background:#a855f71a;border:1px solid #a855f733}.mch-coupon-actions-row{gap:8px;display:flex}.mch-coupon-action-btn{cursor:pointer;border:none;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:500;transition:all .2s}.mch-coupon-action-btn:active{transform:scale(.95)}.mch-coupon-action-edit{color:#00d4ff;background:#00d4ff1a;border:1px solid #00d4ff26}.mch-coupon-action-delete{color:#ef4444;background:#ef44441a;border:1px solid #ef444426}.mch-coupon-action-online{color:#10b981;background:#10b9811a;border:1px solid #10b98126}.mch-coupon-action-offline{color:#ffffff80;background:#ffffff0d;border:1px solid #ffffff1a}.mch-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.mch-modal-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#141932fa;border:1px solid #ffffff14;border-radius:20px;width:100%;max-width:420px;max-height:80vh;padding:24px 20px;overflow-y:auto}.mch-modal-title{color:#e8e8f0;text-align:center;margin-bottom:20px;font-size:18px;font-weight:700}.mch-form-group{margin-bottom:16px}.mch-form-label{color:#ffffff80;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.mch-form-input{box-sizing:border-box;color:#e8e8f0;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;outline:none;width:100%;padding:12px 14px;font-size:15px;transition:border-color .2s}.mch-form-input:focus{border-color:#00d4ff;box-shadow:0 0 8px #00d4ff1a}.mch-form-input::placeholder{color:#fff3}.mch-form-select{color:#e8e8f0;appearance:none;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;outline:none;width:100%;padding:12px 14px;font-size:15px;transition:border-color .2s}.mch-form-select:focus{border-color:#00d4ff}.mch-form-textarea{box-sizing:border-box;color:#e8e8f0;resize:vertical;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;outline:none;width:100%;min-height:80px;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.mch-form-textarea:focus{border-color:#00d4ff}.mch-form-checkbox-group{flex-wrap:wrap;gap:10px;display:flex}.mch-form-checkbox{color:#e8e8f0;cursor:pointer;align-items:center;gap:6px;font-size:14px;display:flex}.mch-form-checkbox input[type=checkbox]{accent-color:#6366f1;cursor:pointer;width:18px;height:18px}.mch-form-row{gap:12px;display:flex}.mch-form-row .mch-form-group{flex:1}.mch-modal-buttons{gap:12px;margin-top:24px;display:flex}.mch-modal-btn{cursor:pointer;letter-spacing:1px;border:none;border-radius:12px;flex:1;padding:14px;font-size:15px;font-weight:600;transition:all .2s}.mch-modal-btn:active{transform:scale(.97)}.mch-modal-btn-primary{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6)}.mch-modal-btn-cancel{color:#fff9;background:#ffffff0f;border:1px solid #ffffff14}.mch-modal-btn-danger{color:#fff;background:linear-gradient(135deg,#dc2626,#ef4444)}.mch-expiry-options{gap:12px;margin-bottom:10px;display:flex}.mch-expiry-option{text-align:center;cursor:pointer;color:#ffffff80;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;flex:1;padding:10px;font-size:13px;transition:all .2s}.mch-expiry-option.mch-expiry-active{color:#00d4ff;background:#00d4ff1a;border-color:#00d4ff40}.mch-empty-state{color:#ffffff40;flex-direction:column;align-items:center;padding:48px 0;font-size:14px;display:flex}.mch-verify-page{max-width:480px;margin:0 auto;padding:14px 14px 84px}.mch-verify-tabs{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:14px;gap:0;margin-bottom:20px;display:flex;overflow:hidden}.mch-verify-tab{text-align:center;color:#ffffff73;cursor:pointer;background:0 0;border:none;flex:1;padding:12px;font-size:14px;font-weight:500;transition:all .2s}.mch-verify-tab:active{background:#ffffff0f}.mch-verify-tab.mch-tab-active{color:#00d4ff;background:#00d4ff14}.mch-scan-area{flex-direction:column;align-items:center;gap:24px;display:flex}.mch-scan-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:180px;height:180px;font-size:18px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 8px 32px #6366f14d}.mch-scan-button:active{transform:scale(.95)}.mch-scan-icon{font-size:48px}.mch-scan-hint{color:#ffffff59;text-align:center;font-size:13px}.mch-manual-area{flex-direction:column;gap:16px;display:flex}.mch-manual-input{box-sizing:border-box;color:#e8e8f0;text-align:center;letter-spacing:4px;background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;outline:none;width:100%;padding:16px;font-family:SF Mono,Menlo,Monaco,monospace;font-size:18px;transition:border-color .2s}.mch-manual-input:focus{border-color:#00d4ff;box-shadow:0 0 12px #00d4ff1a}.mch-manual-input::placeholder{letter-spacing:0;font-family:inherit}.mch-verify-confirm-btn{color:#fff;cursor:pointer;letter-spacing:2px;background:linear-gradient(135deg,#059669,#10b981);border:none;border-radius:14px;width:100%;padding:16px;font-size:16px;font-weight:700;transition:all .2s;box-shadow:0 3px 16px #10b98140}.mch-verify-confirm-btn:active{transform:scale(.97)}.mch-verify-confirm-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.mch-result-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.mch-result-card{text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#141932fa;border:1px solid #ffffff14;border-radius:20px;width:100%;max-width:360px;padding:32px 24px}.mch-result-icon{margin-bottom:12px;font-size:48px}.mch-result-title{color:#e8e8f0;margin-bottom:16px;font-size:18px;font-weight:700}.mch-result-body{text-align:left;margin-bottom:20px}.mch-result-row{border-bottom:1px solid #ffffff0a;justify-content:space-between;padding:8px 0;font-size:14px;display:flex}.mch-result-label{color:#ffffff73}.mch-result-value{color:#e8e8f0;font-weight:500}.mch-result-error{color:#ef4444;margin-bottom:16px;font-size:14px}.mch-result-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;width:100%;padding:14px;font-size:15px;font-weight:600;transition:all .2s}.mch-result-btn:active{transform:scale(.97)}.mch-recent-title{color:#e8e8f0;margin:20px 0 12px;font-size:15px;font-weight:600}.mch-recent-list{flex-direction:column;gap:8px;display:flex}.mch-recent-item{background:#ffffff08;border:1px solid #ffffff0d;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.mch-recent-left{flex-direction:column;gap:2px;display:flex}.mch-recent-coupon{color:#e8e8f0;font-size:14px;font-weight:500}.mch-recent-user{color:#fff6;font-size:12px}.mch-recent-right{text-align:right}.mch-recent-value{color:#10b981;font-size:15px;font-weight:600}.mch-recent-time{color:#ffffff59;font-size:11px}.mch-verify-view-all{text-align:center;color:#00d4ff;margin-top:8px;padding:14px;font-size:14px;text-decoration:none;display:block}.mch-log-page{max-width:480px;margin:0 auto;padding:14px 14px 84px}.mch-log-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.mch-log-title{color:#e8e8f0;font-size:18px;font-weight:700}.mch-log-search{box-sizing:border-box;color:#e8e8f0;background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;outline:none;width:100%;margin-bottom:16px;padding:12px 14px;font-size:14px;transition:border-color .2s}.mch-log-search:focus{border-color:#00d4ff}.mch-log-search::placeholder{color:#fff3}.mch-log-date-filter{gap:8px;margin-bottom:16px;display:flex}.mch-log-date-input{color:#e8e8f0;box-sizing:border-box;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;outline:none;flex:1;padding:10px 12px;font-size:13px}.mch-log-date-input:focus{border-color:#00d4ff}.mch-log-item{background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;justify-content:space-between;align-items:flex-start;margin-bottom:8px;padding:14px;display:flex}.mch-log-item-left{flex:1}.mch-log-item-coupon{color:#e8e8f0;margin-bottom:4px;font-size:15px;font-weight:600}.mch-log-item-user{color:#fff6;margin-bottom:2px;font-size:13px}.mch-log-item-meta{color:#ffffff4d;font-size:12px}.mch-log-item-right{text-align:right;flex-shrink:0}.mch-log-item-value{color:#10b981;margin-bottom:4px;font-size:16px;font-weight:700}.mch-log-item-method{border-radius:99px;padding:2px 8px;font-size:11px;display:inline-block}.mch-log-method-scan{color:#00d4ff;background:#00d4ff1a;border:1px solid #00d4ff26}.mch-log-method-manual{color:#f59e0b;background:#f59e0b1a;border:1px solid #f59e0b26}.mch-log-empty{color:#ffffff40;flex-direction:column;align-items:center;padding:48px 0;font-size:14px;display:flex}.mch-profile-page{max-width:480px;margin:0 auto;padding:14px 14px 84px}.mch-profile-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;align-items:center;gap:16px;margin-bottom:20px;padding:20px;display:flex;position:relative}.mch-profile-avatar{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:28px;display:flex}.mch-profile-info{flex:1;min-width:0}.mch-profile-logo-wrap{cursor:pointer;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;display:flex;position:relative;overflow:hidden}.mch-profile-logo-img{object-fit:cover;width:100%;height:100%;display:block}.mch-profile-logo-uploading{color:#fff;background:#00000080;border-radius:12px;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;inset:0}.mch-profile-logo-placeholder{justify-content:center;align-items:center;width:100%;height:100%;font-size:28px;display:flex}.mch-profile-address{color:#ffffff8c;margin-bottom:4px;font-size:13px}.mch-profile-edit-btn{cursor:pointer;color:#818cf8;-webkit-user-select:none;user-select:none;background:#6366f126;border-radius:6px;padding:4px 14px;font-size:13px;transition:all .2s;position:absolute;top:12px;right:12px}.mch-profile-edit-btn:hover{background:#6366f140}.mch-profile-name{color:#e8e8f0;margin-bottom:4px;font-size:18px;font-weight:700}.mch-profile-details{color:#ffffff73;font-size:13px;line-height:1.6}.mch-stats-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;display:grid}.mch-stat-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:14px;flex-direction:column;align-items:center;padding:16px 8px;display:flex}.mch-stat-value{margin-bottom:4px;font-size:24px;font-weight:700}.mch-stat-label{color:#ffffff73;font-size:12px}.mch-stat-today{color:#00d4ff}.mch-stat-month{color:#f59e0b}.mch-stat-total{color:#10b981}.mch-checkin-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:14px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px 20px;display:flex}.mch-checkin-label{color:#e8e8f0;font-size:15px}.mch-checkin-value{color:#8b5cf6;font-size:20px;font-weight:700}.mch-action-list{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.mch-action-item{cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:14px;justify-content:space-between;align-items:center;padding:16px 20px;transition:all .2s;display:flex}.mch-action-item:active{background:#ffffff14}.mch-action-left{align-items:center;gap:12px;display:flex}.mch-action-icon{font-size:20px}.mch-action-label{color:#e8e8f0;font-size:15px}.mch-action-arrow{color:#ffffff40;font-size:16px}.mch-logout-btn{color:#ef4444;cursor:pointer;letter-spacing:2px;background:#ef44440f;border:1px solid #ef444433;border-radius:14px;width:100%;padding:16px;font-size:16px;font-weight:600;transition:all .2s}.mch-logout-btn:active{background:#ef44441a;transform:scale(.98)}.mch-pwd-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.mch-pwd-modal-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#141932fa;border:1px solid #ffffff14;border-radius:20px;width:100%;max-width:380px;padding:24px 20px}.mch-pwd-modal-title{color:#e8e8f0;text-align:center;margin-bottom:20px;font-size:18px;font-weight:700}.mch-pwd-modal-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;width:100%;margin-top:8px;padding:14px;font-size:15px;font-weight:600;transition:all .2s}.mch-pwd-modal-btn:active{transform:scale(.97)}
