*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif}.page-card{margin-bottom:16px}.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;align-items:center}.toolbar .spacer{flex:1}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}@media (max-width: 1279px){.stat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 767px){.stat-grid{grid-template-columns:repeat(1,1fr)}}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 1279px){.two-col{grid-template-columns:1fr}}.login-page{display:flex;height:100vh}.login-left{flex:1.2;background:linear-gradient(135deg,#1677ff,#0958d9);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:60px}.login-right{flex:1;display:flex;align-items:center;justify-content:center}@media (max-width: 767px){.login-left{display:none}}.gantt-wrap{overflow-x:auto}.gantt-table{border-collapse:collapse;min-width:900px;width:100%}.gantt-table td,.gantt-table th{border:1px solid #f0f0f0;font-size:12px;padding:0 6px;height:30px;white-space:nowrap}.gantt-bar{height:14px;border-radius:3px;position:relative}.mobile-nav{display:none}@media (max-width: 767px){.mobile-nav{display:flex}}.quarter-tag{font-size:12px;color:#1677ff}.quarter-tag.near{color:#fa8c16;font-weight:600}.salary-table .ant-table-cell{padding:4px 8px!important;font-size:12px}.users-table .ant-table-cell{padding:4px 8px!important;font-size:12px;white-space:nowrap}.users-table .ant-table-cell .ant-tag{margin-inline-end:0}.users-table .ant-table-cell-fix-right{background:#fff!important;box-shadow:-6px 0 6px -6px #00000014}.users-table .ant-table-row-cell-fix-right{padding-right:20px!important}@media (max-width: 1599px){.users-table{font-size:12px}}.payment-warning-row td{background-color:#fff7e6!important}.payment-warning-row td:first-child{border-left:3px solid #fa8c16}.field-label{font-size:12px;color:#888;margin:8px 0 4px}.metric{background:#f5f8ff;border:1px solid #e6f0ff;border-radius:8px;padding:10px 6px;text-align:center}.metric-num{font-size:18px;font-weight:600;color:#1677ff}.metric-label{font-size:12px;color:#666;margin-top:2px}
