*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}#root{min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00000040}.ant-card{transition:box-shadow .3s,transform .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014!important}.stat-card-gradient-blue{position:relative;overflow:hidden}.stat-card-gradient-blue:before{content:"";background:linear-gradient(90deg,#4f6ef7,#60a5fa);height:3px;position:absolute;top:0;left:0;right:0}.stat-card-gradient-green{position:relative;overflow:hidden}.stat-card-gradient-green:before{content:"";background:linear-gradient(90deg,#22c55e,#4ade80);height:3px;position:absolute;top:0;left:0;right:0}.stat-card-gradient-orange{position:relative;overflow:hidden}.stat-card-gradient-orange:before{content:"";background:linear-gradient(90deg,#f59e0b,#fbbf24);height:3px;position:absolute;top:0;left:0;right:0}.stat-card-gradient-purple{position:relative;overflow:hidden}.stat-card-gradient-purple:before{content:"";background:linear-gradient(90deg,#8b5cf6,#a78bfa);height:3px;position:absolute;top:0;left:0;right:0}.admin-sider{background:linear-gradient(#1a1f36 0%,#252b47 100%)!important}.admin-sider .ant-layout-sider-children{flex-direction:column;display:flex}.admin-sider .ant-menu{background:0 0!important;border-right:none!important}.admin-sider .ant-menu-item{color:#ffffffa6!important;border-radius:8px!important;height:42px!important;margin:2px 12px!important;line-height:42px!important}.admin-sider .ant-menu-item:hover{color:#fff!important;background:#ffffff14!important}.admin-sider .ant-menu-item-selected{font-weight:500;box-shadow:0 2px 8px #4f6ef759;color:#fff!important;background:linear-gradient(135deg,#4f6ef7 0%,#6366f1 100%)!important}.admin-sider .ant-menu-item-selected:after{display:none}.admin-header{border-bottom:1px solid #eef0f3;justify-content:space-between;align-items:center;height:64px;line-height:64px;display:flex;box-shadow:0 1px 4px #0000000a;background:#fff!important;padding:0 24px!important}.admin-header-left{align-items:center;gap:12px;min-width:0;display:flex}.admin-header-title{color:#8c8c8c;white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.mobile-menu-button{flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .16s cubic-bezier(.16,1,.3,1),box-shadow .16s;border-radius:8px!important;display:inline-flex!important}.mobile-menu-button:active,.ant-btn:active{transform:scale(.96)}.admin-content{background:#fff;border-radius:12px;min-height:calc(100vh - 104px);padding:24px;box-shadow:0 1px 3px #0000000a;margin:20px!important}.sider-logo{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;margin-bottom:8px;padding:20px 20px 16px;display:flex}.sider-logo-icon{color:#fff;background:linear-gradient(135deg,#4f6ef7,#60a5fa);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.sider-logo-text{color:#fff;letter-spacing:.5px;font-size:16px;font-weight:600}.user-avatar{color:#fff;background:linear-gradient(135deg,#4f6ef7,#60a5fa);border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;display:flex}.login-page{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";background:radial-gradient(circle,#ffffff1a 0%,#0000 60%);width:200%;height:200%;animation:20s ease-in-out infinite loginBgFloat;position:absolute;top:-50%;left:-50%}@keyframes loginBgFloat{0%,to{transform:translate(0)}50%{transform:translate(5%,5%)}}.login-card{z-index:1;width:420px;position:relative;border:none!important;border-radius:16px!important;box-shadow:0 20px 60px #0003!important}.login-card .ant-card-body{padding:40px!important}.login-header{text-align:center;margin-bottom:36px}.login-header-icon{color:#fff;background:linear-gradient(135deg,#4f6ef7,#60a5fa);border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:16px;font-size:26px;display:inline-flex}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-title{color:#1a1f36;font-size:20px;font-weight:600;margin:0!important}.filter-bar{background:#fafbfc;border:1px solid #eef0f3;border-radius:10px;margin-bottom:20px;padding:16px 20px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.4s ease-out fadeInUp}.stat-card .ant-statistic-content-value{font-size:28px!important;font-weight:700!important}.stat-card .ant-statistic-title{color:#8c8c8c;font-size:13px}.chart-card .ant-card-head{border-bottom:1px solid #f0f0f0;min-height:48px}.chart-card .ant-card-head-title{color:#1a1f36;font-size:15px;font-weight:600}.ranking-summary{align-items:stretch;gap:16px;margin-bottom:24px;display:flex}.ranking-summary-card{background:#fff;border-radius:12px;flex:1;padding:20px 24px;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000f}@media (hover:hover){.ranking-summary-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}}.ranking-summary-card:before{content:"";height:3px;position:absolute;top:0;left:0;right:0}.ranking-summary-card.rank-1:before{background:linear-gradient(90deg,oklch(75% .16 75),oklch(82% .14 80))}.ranking-summary-card.rank-2:before{background:linear-gradient(90deg,oklch(72% .02 260),oklch(78% .015 260))}.ranking-summary-card.rank-3:before{background:linear-gradient(90deg,oklch(65% .1 55),oklch(72% .08 60))}.ranking-summary-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.ranking-medal{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.ranking-medal.gold{background:oklch(75% .16 75);box-shadow:0 2px 8px oklch(75% .16 75/.35)}.ranking-medal.silver{background:oklch(72% .02 260);box-shadow:0 2px 8px oklch(72% .02 260/.3)}.ranking-medal.bronze{background:oklch(65% .1 55);box-shadow:0 2px 8px oklch(65% .1 55/.3)}.ranking-store-name{color:#1a1f36;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;line-height:1.3;overflow:hidden}.ranking-store-id{color:oklch(60% .01 260);font-variant-numeric:tabular-nums;font-size:12px}.ranking-jobs-count{color:#1a1f36;font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:28px;font-weight:700;line-height:1}.ranking-jobs-label{color:oklch(60% .01 260);margin-top:4px;font-size:12px}.ranking-table .ant-table-thead>tr>th{color:oklch(50% .01 260);background:#fafbfc;border-bottom:1px solid #eef0f3;font-size:13px;font-weight:600}.ranking-table .ant-table-tbody>tr{transition:background .15s}@media (hover:hover){.ranking-table .ant-table-tbody>tr:hover>td{background:oklch(97% .003 260)!important}}.ranking-table .ant-table-tbody>tr>td{border-bottom:1px solid #f5f5f5}.rank-badge{font-variant-numeric:tabular-nums;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:inline-flex}.rank-badge.top{color:#fff}.rank-badge.normal{color:oklch(50% .01 260);background:#f0f1f3}.proportion-bar-wrapper{align-items:center;gap:10px;min-width:140px;display:flex}.proportion-bar-track{background:#f0f1f3;border-radius:3px;flex:1;height:6px;overflow:hidden}.proportion-bar-fill{border-radius:3px;height:100%;transition:width .6s cubic-bezier(.16,1,.3,1)}.proportion-bar-fill.tier-1{background:oklch(65% .18 250)}.proportion-bar-fill.tier-2{background:oklch(70% .14 250)}.proportion-bar-fill.tier-3{background:oklch(75% .1 250)}.proportion-value{color:#1a1f36;font-variant-numeric:tabular-nums;text-align:right;min-width:40px;font-size:13px;font-weight:600}.ranking-filter-bar{background:#fafbfc;border:1px solid #eef0f3;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:16px 20px;display:flex}.ranking-filter-left{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ranking-filter-right{align-items:center;gap:10px;display:flex}.ranking-limit-label{color:oklch(60% .01 260);white-space:nowrap;font-size:13px}.ranking-limit-value{color:oklch(55% .18 250);font-variant-numeric:tabular-nums;text-align:center;min-width:24px;font-size:14px;font-weight:700}@keyframes rankingFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ranking-stagger-1{animation:.35s cubic-bezier(.16,1,.3,1) 50ms both rankingFadeIn}.ranking-stagger-2{animation:.35s cubic-bezier(.16,1,.3,1) .12s both rankingFadeIn}.ranking-stagger-3{animation:.35s cubic-bezier(.16,1,.3,1) .19s both rankingFadeIn}.ranking-empty{text-align:center;color:oklch(60% .01 260);padding:60px 20px}.ranking-empty-icon{color:#d9d9d9;margin-bottom:12px;font-size:40px}.mobile-nav-drawer .ant-drawer-content{background:#1a1f36}.mobile-sider{height:100%;min-height:100%}.mobile-sider .ant-menu{padding-bottom:max(20px, env(safe-area-inset-bottom))}@media (hover:hover){.mobile-menu-button:hover,.ant-btn:hover{transform:translateY(-1px)}}@media (prefers-reduced-motion:reduce){.fade-in-up,.ranking-stagger-1,.ranking-stagger-2,.ranking-stagger-3{animation:none!important}.ant-card,.ranking-summary-card,.mobile-menu-button,.ant-btn{transition:none!important}}@media (width<=767px){body{background:#f5f7fb}.admin-header{z-index:10;height:calc(56px + env(safe-area-inset-top));line-height:56px;position:sticky;top:0;padding:env(safe-area-inset-top) 12px 0!important}.admin-header-title{color:#1a1f36;max-width:42vw;font-size:15px;font-weight:600}.admin-user-menu .ant-avatar{width:32px!important;height:32px!important;line-height:32px!important}.admin-user-menu span:not(.ant-avatar-string){display:none}.admin-content{padding:14px 12px calc(24px + env(safe-area-inset-bottom));box-shadow:none;min-height:calc(100vh - 56px - env(safe-area-inset-top));background:#f5f7fb;border-radius:0;margin:0!important}.page-header{align-items:flex-start;gap:10px;margin-bottom:14px}.page-title{font-size:18px;line-height:1.25}.filter-bar,.ranking-filter-bar{background:#fff;border-radius:8px;margin-bottom:14px;padding:12px}.ranking-filter-left,.ranking-filter-right,.filter-bar .ant-space,.filter-card .ant-space,.filter-bar .ant-space-item,.ranking-filter-bar .ant-space-item,.filter-card .ant-space-item{width:100%}.filter-bar .ant-picker,.filter-bar .ant-input-number,.filter-bar .ant-select,.ranking-filter-bar .ant-picker,.ranking-filter-bar .ant-input-number,.ranking-filter-bar .ant-select,.filter-card .ant-picker,.filter-card .ant-input,.filter-card .ant-select,.filter-card .ant-btn{width:100%!important}.ant-card{border-radius:8px!important}.ant-card-body{padding:14px!important}.chart-card .ant-card-head,.ant-card-head{min-height:44px;padding:0 14px!important}.stat-card .ant-statistic-content-value,.ranking-jobs-count{font-size:24px!important}.ranking-summary{flex-direction:column;gap:12px;margin-bottom:16px}.ranking-summary-card{border-radius:8px;padding:16px}.ant-table-wrapper{overflow:hidden}.ant-table{font-size:12px}.ant-table-thead>tr>th,.ant-table-tbody>tr>td{white-space:nowrap;padding:10px 8px!important}.ant-table-pagination.ant-pagination{justify-content:flex-start!important;margin:12px 0 0!important}.ant-pagination-options,.ant-pagination-jump-next,.ant-pagination-jump-prev{display:none!important}.ant-drawer-content-wrapper{max-width:100vw;width:100vw!important}.ant-drawer-body{overscroll-behavior:contain;padding:16px!important}.mobile-nav-drawer .ant-drawer-body{padding:0!important}.ant-descriptions-view{overflow-x:auto}.ant-modal{max-width:calc(100vw - 24px);margin:12px auto}.ant-modal-body{max-height:calc(100vh - 220px);overflow:auto}.login-page{padding:max(24px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));align-items:stretch}.login-card{max-width:420px;margin:auto;width:100%!important}.login-card .ant-card-body{padding:28px 20px!important}}
