*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Microsoft YaHei,sans-serif;background:#f0f2f5}.app-layout{min-height:100vh}.app-sider{box-shadow:2px 0 8px #00000026}.app-sider .logo{height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#001529,#003a70);color:#fff;font-size:16px;font-weight:700;letter-spacing:2px;white-space:nowrap;overflow:hidden}.app-header{background:#fff!important;padding:0 24px!important;box-shadow:0 1px 4px #00000014;display:flex;align-items:center;justify-content:space-between}.app-content{margin:16px;min-height:calc(100vh - 96px)}.page-container{background:#fff;border-radius:8px;padding:24px;min-height:400px}.project-card{border-radius:8px;cursor:pointer;transition:all .3s ease;height:100%}.project-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.project-card .ant-card-head{border-bottom:2px solid #1890ff}.stat-card{border-radius:8px;border-left:4px solid #1890ff;transition:all .3s ease}.stat-card:hover{box-shadow:0 4px 12px #0000001a}.stat-card.green{border-left-color:#52c41a}.stat-card.orange{border-left-color:#fa8c16}.stat-card.purple{border-left-color:#722ed1}.chart-card{border-radius:8px;height:100%}.chart-card .ant-card-head-title{font-weight:600;font-size:15px}.chart-container{min-height:380px;width:100%}.dashboard-header,.metric-row{margin-bottom:16px}.task-status-running{color:#1890ff}.task-status-completed{color:#52c41a}.task-status-failed{color:#ff4d4f}.task-status-pending{color:#faad14}.editable-cell{cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s}.editable-cell:hover{background:#e6f7ff}.lmp-green{color:#52c41a;font-weight:600}.lmp-yellow{color:#faad14;font-weight:600}.lmp-red{color:#ff4d4f;font-weight:600}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-track{background:transparent}@media(max-width:768px){.app-content{margin:8px}.page-container{padding:12px}.chart-container{min-height:280px}}
