@charset "UTF-8";:root{--accent: #4F6EF7;--accent-hover: #3D5CE5;--accent-light: #EEF2FF;--bg-main: #F5F6F8;--bg-card: #FFFFFF;--text-primary: #1A1A2E;--text-secondary: #666666;--text-muted: #999999;--border-color: #F0F1F3;--border-hover: #E4E7EC;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--radius-card: 14px;--radius-sm: 8px;--sidebar-width: 200px;--brand: #0E9F6E;--brand-d: #0B7F58;--brand-l: #22C55E;--brand-t: #EAF7F2;--brand-t2: #D9F0E6;--ink: #0B3C2D;--gold: #C9A24B;--gold-l: #E5B547;--gold-d: #8A6D1F;--gold-bg: #FFF9E9;--bg: #F5F6F8;--card: #FFFFFF;--text: #1A1A1A;--muted: #6B7280;--line: #E5E7EB;--ok: #16A34A;--warn: #D97706;--danger: #DC2626}:root{--brand: #0E9F6E;--brand-d: #0B7F58;--brand-l: #22C55E;--brand-t: #EAF7F2;--brand-t2: #D9F0E6;--ink: #0B3C2D;--gold: #C9A24B;--gold-l: #E5B547;--gold-d: #8A6D1F;--gold-bg: #FFF9E9;--bg: #F5F6F8;--card: #FFFFFF;--text: #1A1A1A;--muted: #6B7280;--line: #E5E7EB;--ok: #16A34A;--warn: #D97706;--danger: #DC2626;--r: 16px;--r-sm: 10px;--r-xs: 8px;--hd-h: 52px;--tb-h: calc(58px + env(safe-area-inset-bottom)) ;--sh: 0 2px 8px rgba(16, 24, 40, .05);--sh-lg: 0 10px 25px rgba(0, 0, 0, .08)}.m-amt-bold{font-size:18px!important;font-weight:700!important;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;letter-spacing:-.2px}.m-amt-gold{color:var(--gold-d)!important}.m-amt-brand{color:var(--brand)!important}.m-card{background:var(--card);border-radius:var(--r);padding:16px;box-shadow:var(--sh);border:1px solid rgba(229,231,235,.6);margin-bottom:12px;transition:transform .15s ease,box-shadow .15s ease}.m-card:active{background:#fcfcfd}.m-tag{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;padding:2px 7px;border-radius:6px;line-height:1.4}.m-tag.tag-brand{background:#eaf7f2!important;color:#0b7f58!important;border:1px solid #D9F0E6!important}.m-tag.tag-gold{background:#fff9e9!important;color:#8a6d1f!important;border:1px solid rgba(201,162,75,.35)!important}.m-tag.tag-info{background:#f3f4f6!important;color:#4b5563!important;border:1px solid #E5E7EB!important}.m-tag.tag-ok{background:#dcfce7!important;color:#15803d!important;border:1px solid #86EFAC!important}.m-tag.tag-warn{background:#fef3c7!important;color:#b45309!important;border:1px solid #FDE68A!important}.m-btn{display:inline-flex;align-items:center;justify-content:center;border:none;outline:none;font-family:inherit;font-size:14px;font-weight:600;border-radius:var(--r-sm, 10px);padding:9px 16px;cursor:pointer;transition:all .18s ease}.m-btn:active{transform:scale(.97)}.m-btn.btn-brand{background:#0e9f6e!important;color:#fff!important;border:1px solid #0E9F6E!important;box-shadow:0 4px 12px #0e9f6e40}.m-btn.btn-brand:active{background:#0b7f58!important}.m-btn.btn-gold{background:linear-gradient(135deg,#e5b547,#c9a24b)!important;color:#fff!important;box-shadow:0 4px 12px #c9a24b40}.m-btn.btn-secondary{background:#f3f4f6!important;color:#1f2937!important;border:1px solid #E5E7EB!important}.m-btn.btn-secondary:active{background:#e5e7eb!important}.m-btn.btn-outline{background:#fff!important;border:1.5px solid #0E9F6E!important;color:#0e9f6e!important}.m-btn.btn-outline:active{background:#eaf7f2!important;border-color:#0b7f58!important;color:#0b7f58!important}.m-btn.btn-danger{background:#fee2e2!important;color:#dc2626!important}.m-btn.btn-danger:active{background:#fecaca!important}.m-btn.btn-sm{padding:6px 12px;font-size:12px;border-radius:8px}.m-btn.btn-block{width:100%;height:46px;font-size:15px}.m-btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}.m-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;flex-direction:column;justify-content:flex-end;animation:fadeIn .2s ease-out}.m-drawer-content{position:relative;z-index:2001;background:#fff;border-radius:20px 20px 0 0;padding:16px 18px calc(20px + env(safe-area-inset-bottom));max-height:85vh;overflow-y:auto;box-shadow:0 -4px 20px #0000001f;animation:slideUp .24s cubic-bezier(.16,1,.3,1)}.m-drawer-handle{width:36px;height:4px;border-radius:2px;background:#cbd5e1;margin:0 auto 14px}.m-dc-hd{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:14px}.m-dc-hd .m-dc-title{font-size:16.5px;font-weight:700;color:var(--text);margin-bottom:2px}.m-dc-hd .m-dc-sub{font-size:11.5px;color:var(--muted)}.m-dc-hd .m-dc-close{font-size:24px;color:var(--muted);cursor:pointer;line-height:1;padding:0 4px;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.m-dc-hd .m-dc-close:active{opacity:.6}.m-dc-btns{display:flex;gap:10px;margin-top:16px}.m-dc-btns .m-dc-btn-cancel{flex:1;min-height:44px}.m-dc-btns .m-dc-btn-confirm{flex:2;min-height:44px}.m-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000007a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:110;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .18s ease}.m-modal-box{background:#fff;width:100%;max-width:330px;border-radius:18px;padding:22px 20px;box-shadow:var(--sh-lg);text-align:center;animation:popIn .22s cubic-bezier(.175,.885,.32,1.275)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes popIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.m-notice-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2500;background:#00000038;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);-webkit-tap-highlight-color:transparent}.m-notice-popover{position:fixed;top:calc(52px + env(safe-area-inset-top));right:12px;width:calc(100vw - 28px);max-width:320px;background:#fff;border-radius:14px;border:1px solid #E5E7EB;box-shadow:0 12px 28px -4px #0000002e,0 6px 12px -2px #00000014;padding:12px 14px 10px;display:flex;flex-direction:column;gap:10px;z-index:2501;box-sizing:border-box}.m-notice-popover .m-np-arrow{position:absolute;top:-6px;right:16px;width:12px;height:12px;background:#fff;border-top:1px solid #E5E7EB;border-left:1px solid #E5E7EB;transform:rotate(45deg);border-top-left-radius:2px}.m-notice-popover .m-np-hd{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid #F3F4F6}.m-notice-popover .m-np-hd .m-np-title{display:flex;align-items:center;gap:6px}.m-notice-popover .m-np-hd .m-np-title .m-np-bell-ic{font-size:14px}.m-notice-popover .m-np-hd .m-np-title .m-np-title-txt{font-size:13.5px;font-weight:700;color:#1f2937}.m-notice-popover .m-np-hd .m-np-title .m-np-badge{background:#fee2e2;color:#dc2626;font-size:10px;font-weight:700;padding:.5px 6px;border-radius:10px;line-height:1.3}.m-notice-popover .m-np-hd .m-np-close{width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:18px;cursor:pointer;border-radius:50%;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.m-notice-popover .m-np-hd .m-np-close:active{background:#f3f4f6;color:#4b5563}.m-notice-popover .m-np-list{display:flex;flex-direction:column;gap:8px}.m-notice-popover .m-np-item{background:#f9fafb;border:1px solid #F3F4F6;border-radius:10px;padding:10px 11px}.m-notice-popover .m-np-item .m-np-item-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.m-notice-popover .m-np-item .m-np-item-hd .m-np-item-title-wrap{display:flex;align-items:center;gap:5px}.m-notice-popover .m-np-item .m-np-item-hd .m-np-item-title-wrap .m-np-dot{width:6px;height:6px;border-radius:50%}.m-notice-popover .m-np-item .m-np-item-hd .m-np-item-title-wrap .m-np-dot.dot-green{background:#10b981}.m-notice-popover .m-np-item .m-np-item-hd .m-np-item-title-wrap .m-np-dot.dot-blue{background:#3b82f6}.m-notice-popover .m-np-item .m-np-item-hd .m-np-item-title-wrap .m-np-item-title{font-size:13px;font-weight:700;color:#1f2937}.m-notice-popover .m-np-item .m-np-item-hd .m-np-tag{font-size:10px;padding:1px 5px;border-radius:4px;font-weight:600}.m-notice-popover .m-np-item .m-np-item-hd .m-np-tag.tag-green{background:#ecfdf5;color:#059669;border:1px solid #A7F3D0}.m-notice-popover .m-np-item .m-np-item-hd .m-np-tag.tag-blue{background:#eff6ff;color:#2563eb;border:1px solid #BFDBFE}.m-notice-popover .m-np-item .m-np-item-desc{font-size:12px;color:#4b5563;line-height:1.45;text-align:justify;word-break:break-all}.m-notice-popover .m-np-ft{padding-top:6px;border-top:1px dashed #E5E7EB;font-size:10px;color:#9ca3af;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-notice-fade-enter-active,.m-notice-fade-leave-active{transition:opacity .18s ease-out}.m-notice-fade-enter-active .m-notice-popover,.m-notice-fade-leave-active .m-notice-popover{transition:transform .22s cubic-bezier(.16,1,.3,1),opacity .18s ease-out}.m-notice-fade-enter-from,.m-notice-fade-leave-to{opacity:0}.m-notice-fade-enter-from .m-notice-popover,.m-notice-fade-leave-to .m-notice-popover{opacity:0;transform:translateY(-8px) scale(.96)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background-color:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5}#app{width:100%;height:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;font-size:12.5px;font-weight:600;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:all .18s ease;white-space:nowrap;-webkit-user-select:none;user-select:none;font-family:inherit}.btn-primary{background-color:var(--accent);color:#fff!important}.btn-primary:hover{background-color:var(--accent-hover);box-shadow:0 4px 12px #4f6ef740}.btn-success,.btn-brand{background-color:#0e9f6e!important;color:#fff!important;border:1px solid #0E9F6E!important;box-shadow:0 2px 6px #0e9f6e40}.btn-success:hover,.btn-brand:hover{background-color:#0b7f58!important}.btn-outline{background-color:#fff!important;color:var(--text-primary, #1A1A2E)!important;border:1px solid var(--border-color, #CBD5E1)!important}.btn-outline:hover{border-color:var(--accent, #4F6EF7)!important;color:var(--accent, #4F6EF7)!important;background:var(--accent-light, #EEF2FF)!important}.btn-ghost{background:transparent;border-color:var(--border-color);color:var(--text-secondary)}.btn-ghost:hover{background:#f0f1f3;color:var(--text-primary)}.btn-sm{padding:6px 12px;font-size:11.5px;border-radius:6px}.status-pill{display:inline-flex;align-items:center;padding:2px 10px;font-size:11.5px;font-weight:600;border-radius:12px}.status-pill.open{background:#ecfdf5;color:#10b981}.status-pill.takenElse{background:#f3f4f6;color:#9ca3af}.status-pill.executing{background:#eff6ff;color:#3b82f6}.status-pill.verified{background:#ecfdf5;color:#10b981}.status-pill.expired{background:#fef2f2;color:#ef4444}.badge-redpack{background:#fff1f2;color:#e11d48;border:1px solid #FECDD3;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600}.badge-voucher{background:#eef2ff;color:#4f6ef7;border:1px solid #C7D2FE;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600}.relist-badge{background:#fffbeb;color:#d97706;border:1px solid #FDE68A;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:500}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-card);padding:18px 20px;transition:all .2s ease;box-shadow:var(--shadow-sm)}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.card-title{font-size:14px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:6px}.card-sub{font-size:12px;color:var(--text-muted);font-weight:400;margin-top:2px}.ct-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block}.subnav{display:flex;gap:3px;margin-bottom:18px;background:#ebecef;padding:3px;border-radius:10px;width:fit-content}.subnav button{border:none;background:transparent;padding:7px 18px;border-radius:8px;font-size:12.5px;font-weight:600;color:var(--text-secondary);cursor:pointer;font-family:inherit;transition:all .15s ease}.subnav button.active{background:#0e9f6e!important;color:#fff!important;font-weight:700;box-shadow:0 2px 8px #0e9f6e4d}.data-table{width:100%;border-collapse:collapse;font-size:12.5px}.data-table th{background:#fafbfc;color:var(--text-secondary);font-weight:600;text-align:left;padding:10px 14px;border-bottom:1px solid var(--border-color)}.data-table td{padding:11px 14px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.data-table tr:last-child td{border-bottom:none}.data-table td.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.wd-toast{position:fixed;top:24px;left:50%;transform:translate(-50%);background:#1a1a2eeb;color:#fff;padding:10px 22px;border-radius:20px;font-size:13.5px;z-index:9999;box-shadow:var(--shadow-md);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat-card{position:relative;background:#fff;border-radius:12px;border:1px solid var(--border-color);padding:16px 18px 16px 22px;display:flex;flex-direction:column;box-shadow:0 1px 3px #00000008;transition:all .18s}.stat-card:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.stat-card .sc-icon{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:9px;background:#eef2ff;color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:16px}.stat-card .sc-label{font-size:11px;color:#8a92a6;font-weight:500;display:block;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.stat-card .sc-value{font-size:24px;font-weight:800;color:var(--text-primary);margin-top:6px;letter-spacing:-.4px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,DIN Alternate,Helvetica Neue,PingFang SC,sans-serif;line-height:1.15}.stat-card .sc-value .sc-unit{font-size:14px;font-weight:600;color:#8a92a6;margin-left:3px}.dash-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.dash-brand{display:flex;align-items:center;gap:12px}.dash-brand-text{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.dash-ai{position:relative;width:34px;height:34px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dash-ai svg{width:18px;height:18px;position:relative;z-index:2}.dash-ai-core{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:9px;z-index:1;background:var(--accent)}.dash-title{font-size:19px;font-weight:800;margin:0;color:var(--text-primary);letter-spacing:-.2px;white-space:nowrap;line-height:1.25}.dash-sub{font-size:11.5px;color:var(--text-muted);margin:3px 0 0;white-space:nowrap;line-height:1.2}.dash-right{display:flex;align-items:center;gap:12px}.dash-live{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#16a085;font-weight:600}.dash-live i{width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 6px #22c55e73;animation:liveBlink 1.4s infinite}@keyframes liveBlink{0%,to{opacity:1}50%{opacity:.25}}.dash-fs{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:center;gap:5px;border:1px solid var(--border-color);background:#fff;color:var(--text-secondary);border-radius:8px;padding:5px 12px;font-size:11.5px;font-weight:600;cursor:pointer;white-space:nowrap!important;flex-shrink:0;height:32px;line-height:1;transition:all .15s}.dash-fs:hover{color:var(--accent);border-color:#4f6ef74d}.dash-fs svg{width:14px;height:14px;flex-shrink:0}.dash-fs span{white-space:nowrap!important;display:inline-block}.dash-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.dash-kpi{position:relative;border-radius:12px;padding:15px 18px;background:#fafbfc;border:1px solid var(--border-color);overflow:hidden;transition:all .2s}.dash-kpi:hover{background:#fff;box-shadow:0 4px 12px #0000000d}.dash-kpi:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--kc, var(--accent));border-radius:0 3px 3px 0}.dash-kpi .kc-icon{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:9px;background:#eef2ff;color:var(--kc, var(--accent));display:flex;align-items:center;justify-content:center;font-size:16px}.dash-kpi .kc-label{font-size:11px;color:var(--text-muted);font-weight:500}.dash-kpi .kc-value{font-size:24px;font-weight:800;color:var(--text-primary);margin-top:6px;letter-spacing:-.4px}.dash-kpi .kc-trend{font-size:10.5px;margin-top:4px;color:#10b981;font-weight:600}.card-header{border-bottom:1px solid #F0F1F3;padding-bottom:10px;margin-bottom:12px}.card-title{font-size:14px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:7px}.card-title .ct-dot{width:5px;height:5px;border-radius:2px;background:var(--accent);flex-shrink:0}.card-sub{font-size:11px;color:var(--text-muted);margin-top:3px;font-weight:400}.rank-row{display:flex;align-items:center;gap:10px;padding:11px 10px;border-radius:8px;transition:background .15s ease}.rank-row+.rank-row{border-top:1px solid #F0F1F3}.rank-row:hover{background:#f8f9fa}.rank-no{width:22px;height:22px;border-radius:50%;background:#f0f1f3;color:var(--text-muted);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rank-row.me{background:#eef2ff}.rank-row.me .rank-no{background:var(--accent);color:#fff}.rank-name{flex:1;font-size:13px;color:var(--text-primary);font-weight:600}.rank-row.me .rank-name{color:var(--accent);font-weight:700}.rank-orders{font-size:13px;color:var(--text-muted);font-weight:700}.rank-foot{font-size:11.5px;color:var(--text-muted);margin-top:10px;padding-top:8px;border-top:1px dashed #E4E7EC;text-align:center}.streak-num{font-size:30px;font-weight:800;color:var(--accent);line-height:1}.streak-unit{font-size:13px;font-weight:600;color:var(--text-muted);margin-left:4px}.streak-line{font-size:12px;color:var(--text-primary);margin-top:8px}.streak-best{font-size:11px;color:var(--text-muted);margin-top:4px}
