*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body{overscroll-behavior-y:none}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}.m-bar{margin-bottom:12px}.m-filters{display:flex;gap:8px;margin-top:8px}.m-filters .ant-select{flex:1}.m-card-list{display:flex;flex-direction:column;gap:10px;padding-bottom:76px}.m-empty{text-align:center;color:#999;padding:40px 0;font-size:14px}.m-card{background:#fff;border:1px solid #f0f0f0;border-radius:10px;padding:12px;box-shadow:0 1px 3px #0000000a}.m-card-top{display:flex;align-items:flex-start;gap:8px}.m-card-title{font-size:15px;font-weight:500;line-height:1.4;flex:1;word-break:break-word}.m-card-meta{display:flex;justify-content:space-between;gap:8px;margin-top:8px;font-size:12px;color:#666;flex-wrap:wrap}.m-card-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.m-fab{position:fixed;right:16px;bottom:64px;width:48px;height:48px;border-radius:50%;border:none;background:#1677ff;color:#fff;font-size:20px;z-index:60;box-shadow:0 4px 12px #1677ff66}.m-bottom-nav{display:none}@media (max-width: 767px){.m-bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #f0f0f0;z-index:55;padding-bottom:env(safe-area-inset-bottom)}.m-bottom-nav button{flex:1;border:none;background:none;padding:10px 0;font-size:13px;color:#666;position:relative}.m-bottom-nav button.active{color:#1677ff;font-weight:600}.m-bottom-nav button:active{background:#f5f5f5}.m-nav-badge{display:inline-block;min-width:16px;height:16px;line-height:16px;margin-left:4px;padding:0 4px;font-size:11px;color:#fff;background:#f5222d;border-radius:8px}.m-card-top .ant-checkbox{margin-top:3px}}.todo-mobile-bar{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.todo-mobile-filters{display:flex;gap:8px}.todo-mobile-filters .ant-select{flex:1}.todo-card-list{display:flex;flex-direction:column;gap:10px;padding-bottom:76px}.todo-empty{text-align:center;color:#999;padding:40px 0;font-size:14px}.todo-card{background:#fff;border:1px solid #f0f0f0;border-radius:10px;padding:12px;box-shadow:0 1px 3px #0000000a}.todo-card-top{display:flex;align-items:flex-start;gap:8px}.todo-card-title{font-size:15px;font-weight:500;line-height:1.4;flex:1;word-break:break-word}.todo-card-meta{display:flex;justify-content:space-between;gap:8px;margin-top:8px;font-size:12px;color:#666;flex-wrap:wrap}.todo-card-actions{display:flex;gap:8px;margin-top:10px}.todo-fab{position:fixed;right:16px;bottom:64px;width:48px;height:48px;z-index:60;box-shadow:0 4px 12px #1677ff66}.todo-bottom-nav{display:none}@media (max-width: 767px){.todo-bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #f0f0f0;z-index:55;padding-bottom:env(safe-area-inset-bottom)}.todo-bottom-nav button{flex:1;border:none;background:none;padding:10px 0;font-size:13px;color:#666;position:relative}.todo-bottom-nav button.active{color:#1677ff;font-weight:600}.todo-bottom-nav button:active{background:#f5f5f5}.todo-nav-badge{display:inline-block;min-width:16px;height:16px;line-height:16px;margin-left:4px;padding:0 4px;font-size:11px;color:#fff;background:#f5222d;border-radius:8px}.todo-card-top .ant-checkbox{margin-top:3px}.todo-card-title.done{text-decoration:line-through}.ant-modal{max-width:calc(100vw - 24px);margin:12px auto}.ant-modal .ant-modal-content{max-height:84vh;overflow-y:auto}.ant-table{font-size:12px}}
