:root{--bg: #F5F6F8;--bg-card: #FFFFFF;--bg-hover: #F2F3F5;--bg-active: #EBEEF2;--text: #1F2937;--text-2: #4B5563;--text-3: #6B7280;--text-4: #9CA3AF;--text-inverse: #FFFFFF;--border: #E5E7EB;--border-strong: #D1D5DB;--primary: #3370FF;--primary-hover: #2860E1;--primary-light: #EBF1FF;--success: #16A34A;--success-light: #DCFCE7;--warning: #D97706;--warning-light: #FEF3C7;--danger: #DC2626;--danger-light: #FEE2E2;--side: #1F2937;--side-text: #D1D5DB;--side-text-mute: #9CA3AF;--side-hover: #374151;--side-active: #3370FF;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 1px 3px rgba(0, 0, 0, .05), 0 1px 2px rgba(0, 0, 0, .03);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .08);--r-sm: 4px;--r: 6px;--r-lg: 8px;--line-soft: #F0F2F5;--bg-elev: #FAFBFC;--danger-edge: #FBC5C7;--warning-edge: #FED7AA;--success-edge: #BBE5CC;--info-edge: #C7DDFF;--expire: #F26A1B;--expire-light: #FFE7CC;--pay-card: #7C3AED;--pay-card-light: #F3E8FF;--lv-diamond: #0E8A4E;--lv-diamond-bg: #DFF3E7;--lv-diamond-ring: #13A862;--lv-gold: #B8860B;--lv-gold-bg: #FFF7E0;--lv-gold-ring: #F6C246;--lv-silver: #6B7280;--lv-silver-bg: #F0F2F5;--lv-silver-ring: #9CA3AF;--lv-bronze: #9C6B2E;--lv-bronze-bg: #FFF0DA;--lv-bronze-ring: #D08A40;--trade: #FF6B35;--trade-light: #FFF0EB;--stock: #7C3AED;--stock-light: #F3EEFF;--member: #F59E0B;--member-light: #FFFBEB;--alert: #EF9F27;--alert-light: #FFFAEB;--cashier: #10B981;--cashier-light: #ECFDF5;--refund: #EF4444;--refund-light: #FEF2F2}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.num,.tabular{font-variant-numeric:tabular-nums}.t-h1{font-size:22px;font-weight:600;color:var(--text);line-height:1.3}.t-h2{font-size:18px;font-weight:600;color:var(--text);line-height:1.3}.t-h3{font-size:15px;font-weight:600;color:var(--text);line-height:1.3}.t-body{font-size:14px;color:var(--text-2)}.t-mute{font-size:13px;color:var(--text-3)}.t-tiny{font-size:12px;color:var(--text-4)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-sm)}.card-pad{padding:20px 24px}.kpi-label{font-size:13px;color:var(--text-3);font-weight:500;margin-bottom:6px}.kpi-value{font-size:26px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.2}.kpi-unit{font-size:13px;color:var(--text-3);margin-left:4px;font-weight:400}::selection{background:var(--primary-light);color:var(--primary-hover)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:var(--text-4)}.ant-layout,.ant-layout-content{background:var(--bg)!important}.ant-table{font-size:13px}.ant-table-thead>tr>th{background:var(--bg-hover)!important;border-bottom:1px solid var(--border)!important;color:var(--text-3)!important;font-weight:500!important;font-size:12px!important;padding:10px 14px!important}.ant-table-thead>tr>th:before{display:none}.ant-table-tbody>tr>td{border-bottom:1px solid var(--border)!important;padding:12px 14px!important}.ant-table-tbody>tr:hover>td{background:var(--bg-hover)!important}.ant-btn{font-weight:500}.ant-btn-primary{background:var(--primary)!important;border-color:var(--primary)!important}.ant-btn-primary:hover{background:var(--primary-hover)!important;border-color:var(--primary-hover)!important}.ant-tag{border-radius:4px;font-weight:500}.ant-menu-dark.ant-menu-inline-collapsed>.ant-menu-item{padding-inline:0!important;text-align:center}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fade-in .25s ease-out both}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;vertical-align:middle}.dot-success{background:var(--success)}.dot-warning{background:var(--warning)}.dot-danger{background:var(--danger)}.dot-mute{background:var(--text-4)}.page-hint{font-size:13px;color:var(--text-3);background:var(--bg-hover);border-left:3px solid var(--primary);padding:8px 14px;border-radius:0 var(--r) var(--r) 0;margin-bottom:16px;line-height:1.6}.field-hint{font-size:12px;color:var(--text-4);margin-top:3px;line-height:1.4}.btn-danger-confirm{background:var(--refund)!important;border-color:var(--refund)!important;font-weight:600}.kpi-trade{color:var(--trade)}.kpi-member{color:var(--member)}.kpi-stock{color:var(--stock)}.kpi-alert{color:var(--alert)}.tag-trade{background:var(--trade-light);color:var(--trade);border:none}.tag-stock{background:var(--stock-light);color:var(--stock);border:none}.tag-member{background:var(--member-light);color:var(--member);border:none}.tag-alert{background:var(--alert-light);color:var(--alert);border:none}.tag-cashier{background:var(--cashier-light);color:var(--cashier);border:none}.tag-refund{background:var(--refund-light);color:var(--refund);border:none}.ant-table-tbody>tr>td{padding:14px!important}.page-footer-help{display:flex;gap:16px;align-items:center;padding:12px 0 4px;font-size:12px;color:var(--text-4);border-top:1px solid var(--border);margin-top:24px}.page-footer-help a{color:var(--primary);text-decoration:none}.page-footer-help a:hover{text-decoration:underline}
