.layout{min-height:100vh;background-color:#f5f7fa;display:flex;flex-direction:column}.header{background:linear-gradient(135deg,#2e5bff,#4a7aff);padding:0 24px;height:96px;display:flex;align-items:center}.header-content{width:100%;max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:16px}.logo-icon{width:52px;height:52px}.logo-icon svg{width:100%;height:100%}.logo-text h1{color:#fff;font-size:24px;font-weight:600;margin:0;line-height:1.3}.logo-text span{color:#ffffffbf;font-size:13px}.user-info{display:flex;align-items:center}.user-dropdown{display:flex;align-items:center;gap:10px;cursor:pointer;padding:6px 12px;border-radius:8px;transition:background-color .2s ease}.user-dropdown:hover{background-color:#ffffff26}.user-avatar{background-color:#ffffff40;color:#fff}.user-name{color:#fff;font-size:14px;font-weight:500}.logout-icon{color:#ffffffd9;font-size:16px;margin-left:4px;transition:color .2s ease}.logout-icon:hover{color:#fff}.main-container{max-width:1400px;width:100%;margin:0 auto;padding:0 24px;flex:1}.tabs-nav{display:flex;align-items:center;gap:8px;padding:12px 0}.tab-item{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;cursor:pointer;transition:all .2s ease;color:#595959;font-size:14px}.tab-item:hover{background-color:#2e5bff14;color:#2e5bff}.tab-item.active{background-color:#2e5bff1a;color:#2e5bff;font-weight:500}.tab-item.active .tab-icon{color:#2e5bff}.tab-icon{font-size:16px;display:flex;align-items:center}.tab-label{white-space:nowrap}.content{padding:16px 0 24px}.footer{background-color:#fff;border-top:1px solid #f0f0f0;padding:16px 24px;text-align:center;color:#8c8c8c;font-size:13px;margin-top:auto}.login-page{min-height:100vh;background:linear-gradient(135deg,#2e5bff,#4a7aff,#6b8fff);display:flex;align-items:center;justify-content:center;padding:24px}.login-container{width:100%;max-width:400px}.login-header{margin-bottom:32px}.login-brand{display:flex;align-items:center;justify-content:center;gap:16px}.login-logo{width:56px;height:56px;flex-shrink:0}.login-logo svg{width:100%;height:100%}.login-title-group{text-align:left}.login-title{color:#fff;font-size:26px;font-weight:600;margin:0;line-height:1.3}.login-subtitle{color:#ffffffbf;font-size:13px;margin:0}.login-form-wrapper{background:#fff;border-radius:12px;padding:32px;box-shadow:0 8px 32px #00000026}.form-title{font-size:20px;font-weight:500;color:#262626;text-align:center;margin:0 0 24px}.input-icon{color:#bfbfbf}.login-button{height:44px;font-size:16px;background:linear-gradient(135deg,#2e5bff,#4a7aff);border:none;margin-top:8px}.login-button:hover{background:linear-gradient(135deg,#4a7aff,#6b8fff)}.login-footer{text-align:center;margin-top:24px;color:#ffffffa6;font-size:13px}:global .login-form-wrapper .ant-input-affix-wrapper{padding:10px 14px;border-radius:8px}:global .login-form-wrapper .ant-input-affix-wrapper:hover,:global .login-form-wrapper .ant-input-affix-wrapper:focus,:global .login-form-wrapper .ant-input-affix-wrapper-focused{border-color:#2e5bff}:global .login-form-wrapper .ant-input-affix-wrapper-lg .ant-input{font-size:14px}:global .login-form-wrapper .ant-btn-primary{border-radius:8px}.stat-card{background:#fff;border-radius:8px;padding:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 2px #00000008;transition:box-shadow .3s ease}.stat-card:hover{box-shadow:0 4px 12px #00000014}.stat-card-large .stat-value{font-size:32px}.stat-card-large .stat-icon{width:56px;height:56px;font-size:24px}.stat-card-small .stat-value{font-size:24px}.stat-card-small .stat-icon{width:44px;height:44px;font-size:20px}.stat-content{flex:1}.stat-title{font-size:14px;color:#8c8c8c;margin-bottom:8px}.stat-value{font-weight:600;color:#262626;line-height:1.2;margin-bottom:8px}.stat-trend{font-size:12px;display:flex;align-items:center;gap:4px}.stat-trend.up{color:#52c41a}.stat-trend.down{color:#ff4d4f}.stat-trend.flat{color:#8c8c8c}.stat-trend .anticon{font-size:10px}.stat-icon{border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.overview-page .filter-section{background:#fff;padding:16px 20px;border-radius:8px;margin-bottom:16px;display:flex;align-items:center}.overview-page .filter-item{display:flex;align-items:center}.overview-page .filter-label{color:#595959;font-size:14px;margin-right:8px}.overview-page .stat-row,.overview-page .chart-row{margin-bottom:16px}.overview-page .chart-card{border-radius:8px;box-shadow:0 1px 2px #00000008}.overview-page .chart-card :global .ant-card-head{border-bottom:none;padding:16px 20px 0;min-height:auto}.overview-page .chart-card :global .ant-card-head .ant-card-head-title{font-size:16px;font-weight:500;color:#262626;padding:0}.overview-page .chart-card :global .ant-card-body{padding:16px 20px 20px}.warning-page .data-type-tags{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.warning-page .data-type-tags .data-type-tag{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:2px solid #e8e8e8;border-radius:8px;cursor:pointer;transition:all .2s ease;min-width:120px}.warning-page .data-type-tags .data-type-tag:hover{box-shadow:0 2px 8px #0000001a}.warning-page .data-type-tags .data-type-tag.active{border-width:2px}.warning-page .data-type-tags .data-type-tag .tag-icon{font-size:18px}.warning-page .data-type-tags .data-type-tag .tag-label{font-size:14px;color:#595959;font-weight:500}.warning-page .data-type-tags .data-type-tag .tag-value{font-size:16px;font-weight:600;margin-left:auto}.warning-page .stat-row{margin-bottom:16px}.warning-page .table-card{background:#fff;border-radius:8px;box-shadow:0 1px 2px #00000008}.warning-page .table-card .table-header{padding:16px 20px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}.warning-page .table-card .table-header h3{margin:0;font-size:16px;font-weight:500;color:#262626}.warning-page .table-card .table-header .filter-area{display:flex;align-items:center}.warning-page .table-card .table-header .filter-area .filter-label{font-size:13px;color:#595959;margin-right:8px}.warning-page .table-card :global .ant-table-wrapper{padding:0 8px 16px}.warning-page .table-card :global .ant-table .ant-table-thead>tr>th{background:#fafafa;font-weight:500;color:#595959}.warning-page .table-card :global .ant-table .ant-table-tbody>tr>td{color:#595959}.warning-page .table-card :global .ant-table .ant-table-tbody>tr:hover>td{background:#f5f7fa}.warning-page .table-card :global .ant-pagination{margin:16px}.employee-card{background:#fff;border-radius:8px;padding:16px;box-shadow:0 1px 2px #00000008;transition:box-shadow .3s ease}.employee-card:hover{box-shadow:0 4px 12px #00000014}.card-header{display:flex;align-items:center;margin-bottom:16px}.card-header .avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:500;flex-shrink:0}.card-header .info{flex:1;margin-left:12px;min-width:0}.card-header .info .name{font-size:15px;font-weight:500;color:#262626;margin-bottom:2px}.card-header .info .department{font-size:12px;color:#8c8c8c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-header .score{font-size:28px;font-weight:600;color:#2e5bff;flex-shrink:0}.card-header .score span{font-size:12px;font-weight:400;color:#8c8c8c;margin-left:2px}.card-body .data-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.card-body .data-row .label{font-size:13px;color:#8c8c8c}.card-body .data-row .value{font-size:13px;color:#262626;font-weight:500}.card-body :global .ant-progress{margin-top:8px}.card-footer{display:flex;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #f5f5f5}.card-footer .trend-icon{font-size:12px;margin-right:4px}.card-footer .trend-icon.up{color:#52c41a}.card-footer .trend-icon.down{color:#ff4d4f}.card-footer .trend-icon.flat{color:#8c8c8c}.card-footer .trend-text{font-size:12px}.card-footer .trend-text.up{color:#52c41a}.card-footer .trend-text.down{color:#ff4d4f}.card-footer .trend-text.flat{color:#8c8c8c}.ranking-list{background:#fff;border-radius:8px;box-shadow:0 1px 2px #00000008;height:100%}.ranking-header{padding:16px 20px;border-bottom:1px solid #f5f5f5}.ranking-header h3{margin:0;font-size:16px;font-weight:500;color:#262626}.ranking-body{padding:8px 16px}.ranking-item{display:flex;align-items:center;padding:12px 4px;border-radius:6px;transition:background-color .2s ease}.ranking-item:not(:last-child){border-bottom:1px solid #f9f9f9}.ranking-item:hover{background-color:#fafafa}.ranking-item.top-three .name{color:#262626;font-weight:500}.rank-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:8px}.rank-icon.trophy{font-size:18px}.rank-icon.number{font-size:14px;color:#8c8c8c;font-weight:500}.avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:500;flex-shrink:0}.info{flex:1;margin-left:10px;min-width:0}.info .name{font-size:14px;color:#595959;margin-bottom:2px}.info .department{font-size:12px;color:#bfbfbf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.value{text-align:right;flex-shrink:0}.value .num{font-size:18px;font-weight:600;color:#2e5bff;display:block;line-height:1.2}.value .label{font-size:11px;color:#bfbfbf}.employee-page .stat-row{margin-bottom:24px}.employee-page .section-title{font-size:16px;font-weight:500;color:#262626;margin-bottom:16px}.employee-page .employee-grid{margin-bottom:24px}.employee-page .ranking-row,.employee-page .chart-row{margin-bottom:16px}.employee-page .chart-card{border-radius:8px;box-shadow:0 1px 2px #00000008}.employee-page .chart-card :global .ant-card-head{border-bottom:none;padding:16px 20px 0;min-height:auto}.employee-page .chart-card :global .ant-card-head .ant-card-head-title{font-size:16px;font-weight:500;color:#262626;padding:0}.employee-page .chart-card :global .ant-card-body{padding:16px 20px 20px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";background-color:#f5f7fa;min-height:100vh}#root{min-height:100vh}
