*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f0f2f5;color:#1f2937}.app-layout{min-height:100vh;height:100vh}.app-content{padding:24px;overflow-y:auto;background:#f0f2f5;height:calc(100vh - 56px)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:56px;border-bottom:1px solid #e8ecf1;box-shadow:0 1px 4px #0000000a;z-index:100;background:#fff!important}.topbar-left{display:flex;align-items:center;min-width:200px}.topbar-logo{display:flex;align-items:center;gap:10px}.topbar-logo-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#1677ff,#4096ff);color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;letter-spacing:-.5px;box-shadow:0 2px 8px #1677ff4d}.topbar-logo-text{line-height:1.2}.topbar-center{display:flex;align-items:center;justify-content:center;flex:1}.topbar-right{display:flex;align-items:center;min-width:200px;justify-content:flex-end;line-height:normal}.sidebar{box-shadow:2px 0 8px #0000000f}.sidebar .ant-layout-sider-trigger{border-top:1px solid rgba(255,255,255,.08)}.page-container{max-width:1440px;margin:0 auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.kpi-card{border-radius:12px;transition:all .3s ease;border:1px solid #f0f0f0}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.kpi-card .ant-statistic-title{font-size:12px;color:#8c8c8c;font-weight:500}.kpi-card .ant-statistic-content-value{font-weight:700}.task-list-card{border-radius:12px}.task-list-preview{display:flex;flex-direction:column;gap:8px}.task-list-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:8px;background:#fafbfc;border:1px solid #f0f0f0;transition:all .2s ease;cursor:pointer}.task-list-item:hover{background:#f0f5ff;border-color:#d6e4ff}.task-list-item-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.task-list-item-right{display:flex;align-items:center;gap:8px;min-width:100px}.progress-mini{width:60px;height:6px;background:#f0f0f0;border-radius:3px;overflow:hidden}.progress-mini-bar{height:100%;border-radius:3px;transition:width .5s ease}.ant-segmented{background:#f5f5f5}.ant-segmented-item-selected{font-weight:600}.ant-card{border-radius:12px}.ant-table-wrapper .ant-table{border-radius:8px}.app-content::-webkit-scrollbar{width:6px}.app-content::-webkit-scrollbar-track{background:transparent}.app-content::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}.app-content::-webkit-scrollbar-thumb:hover{background:#bfbfbf}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-container{animation:fadeIn .3s ease}.task-management-page{height:100%;display:flex;flex-direction:column;animation:fadeIn .3s ease}.tm-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-shrink:0}.tm-header-left{display:flex;align-items:center;gap:12px}.tm-header-right{display:flex;align-items:center;gap:8px}.tm-layout{display:flex;gap:16px;flex:1;min-height:0;overflow:hidden}.tm-left{flex:1;min-width:0;display:flex;flex-direction:column;background:#fff;border-radius:12px;border:1px solid #f0f0f0;overflow:hidden}.tm-left-header{padding:12px 16px;border-bottom:1px solid #f0f0f0;background:#fafbfc;flex-shrink:0}.tm-left-body{flex:1;overflow-y:auto;padding:8px}.tm-left-body::-webkit-scrollbar{width:5px}.tm-left-body::-webkit-scrollbar-thumb{background:#e0e0e0;border-radius:3px}.tm-right{width:440px;min-width:440px;flex-shrink:0;overflow:hidden;transition:all .3s ease}.detail-panel{height:100%;display:flex;flex-direction:column;background:#fff;border-radius:12px;border:1px solid #f0f0f0;overflow:hidden}.detail-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f0f0f0;background:#fafbfc;flex-shrink:0;gap:8px}.detail-panel-body{flex:1;overflow-y:auto;padding:16px}.detail-panel-body::-webkit-scrollbar{width:5px}.detail-panel-body::-webkit-scrollbar-thumb{background:#e0e0e0;border-radius:3px}.detail-panel-empty{display:flex;align-items:center;justify-content:center;height:100%;padding:40px}.task-tree-wrapper{padding:4px}.task-tree .ant-tree-treenode{padding:2px 0;border-radius:6px;transition:background .15s;align-items:flex-start}.task-tree .ant-tree-treenode:hover{background:#f6f8fa}.task-tree .ant-tree-treenode-selected{background:#e6f4ff!important}.task-tree .ant-tree-switcher{display:flex!important;align-items:center;height:22px;align-self:flex-start}.task-tree .ant-tree-node-content-wrapper{display:flex!important;flex-direction:row!important;align-items:flex-start!important;flex:1;min-width:0;padding:0!important;background:transparent!important}.task-tree .ant-tree-iconEle{display:flex!important;align-items:center;height:22px;flex-shrink:0;margin-right:4px}.task-tree .ant-tree-title{flex:1;min-width:0}.tree-node-content{display:flex;align-items:flex-start;gap:8px;padding:0;min-width:0}.tree-node-main{flex:1;min-width:0;white-space:normal;word-break:break-word;line-height:22px}.tree-node-meta{flex-shrink:0;line-height:22px}.my-task-list{padding:4px}.task-list-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;padding:8px 12px;background:#fafbfc;border-radius:8px;border:1px solid #f0f0f0}.my-task-table .ant-table-row{cursor:pointer;transition:background .15s}.my-task-table .ant-table-row:hover td{background:#f0f5ff!important}.task-row-selected td{background:#e6f4ff!important}.create-task-form .ant-divider{margin:12px 0 8px}.create-task-form .ant-form-item{margin-bottom:10px}.create-task-form .ant-form-item-label>label{font-size:12px;font-weight:500;color:#595959}.worklog-tab .ant-table,.evidence-tab .ant-table{font-size:12px}.approval-tab .ant-timeline{padding-top:8px}.emulation-page{animation:fadeIn .3s ease}.score-breakdown-list{display:flex;flex-direction:column;gap:8px}.score-breakdown-item{padding:4px 8px;border-radius:6px;transition:background .15s;cursor:pointer}.score-breakdown-item:hover{background:#f6f8fa}.score-breakdown-label{display:flex;align-items:center;justify-content:space-between}.detail-drawer-header{display:flex;align-items:center;gap:16px;padding:20px 0 0}.personnel-score-table .ant-table-row{cursor:pointer;transition:background .15s}.personnel-score-table .ant-table-row:hover td{background:#f0f5ff!important}.emulation-kpi-card .ant-statistic{line-height:1.2}.emulation-kpi-card .ant-statistic-title{margin-bottom:2px}.admin-report-page{animation:fadeIn .3s ease}.report-filter-bar{background:#fff;border-radius:10px;padding:10px 14px;margin-bottom:14px;box-shadow:0 1px 4px #0000000f;display:flex;flex-direction:column;gap:8px}.filter-quick-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-structured-row{display:flex;gap:8px;flex-wrap:wrap}.report-section{margin-bottom:4px}.report-kpi-card .ant-statistic{line-height:1.1}.report-kpi-card .ant-statistic-title{margin-bottom:0}.report-kpi-card:hover{box-shadow:0 2px 8px #1677ff26!important;transform:translateY(-1px);transition:all .2s}
