* { margin: 0; padding: 0; box-sizing: border-box; } html, body, #root { width: 100%; height: 100%; overflow: hidden; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; } .login-container { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); } .login-box { background: white; padding: 40px; border-radius: 8px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2); width: 400px; } .dashboard-layout { min-height: 100vh; } .dashboard-sider { background: #001529 !important; } .ant-layout-sider-trigger { display: none !important; } .dashboard-header { background: white; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; } .dashboard-content { padding: 24px; background: #f0f2f5; min-height: calc(100vh - 64px); } .stat-card { background: white; padding: 24px; border-radius: 8px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } .stat-card h3 { color: #8c8c8c; font-size: 14px; margin-bottom: 8px; } .stat-card .value { color: #262626; font-size: 32px; font-weight: 600; } .stat-card .trend { font-size: 12px; margin-top: 8px; } .stat-card .trend.up { color: #52c41a; } .stat-card .trend.down { color: #ff4d4f; } /* Table column resize */ .ant-table-wrapper .ant-table-thead > tr > th { position: relative; } .resize-handle { position: absolute; right: 0; top: 0; bottom: 0; width: 6px; cursor: col-resize; background: transparent; z-index: 10; display: flex; align-items: center; justify-content: center; } .resize-handle::before { content: ''; width: 2px; height: 20px; background: #d9d9d9; border-radius: 1px; } .resize-handle:hover::before { background: #1890ff; } /* Table cell fixed width */ .ant-table-wrapper .ant-table-tbody > tr > td { max-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }