:root{font-family:"Microsoft YaHei",system-ui,sans-serif;color:#172b4d;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}.shell{max-width:980px;margin:0 auto;padding:32px 20px}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}h1{margin:2px 0;font-size:28px}h2{font-size:17px;margin-top:0}.eyebrow{margin:0;color:#5f6b85;font-size:13px}.badge{border-radius:99px;padding:7px 12px;background:#e7f0ff;color:#1677ff;font-size:13px}.notice,.next,article{background:#fff;border-radius:12px;box-shadow:0 2px 8px #162b4d0d}.notice{border-left:4px solid #faad14;padding:14px 16px;margin-bottom:18px}.notice.ok{border-color:#52c41a}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cards article{min-height:150px;padding:18px}.cards p{color:#5f6b85;line-height:1.7;margin-bottom:0;font-size:14px}.next{margin-top:16px;padding:20px}.next ul{list-style:none;padding:0;margin:0}.next li{padding:10px 0;border-top:1px solid #f0f0f0;color:#51607a}.next li span{color:#1677ff;display:inline-block;width:24px}.hint{color:#5f6b85;font-size:14px}.roles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.role{box-shadow:none;border:1px solid #edf0f6;padding:14px}.role h3{margin:0 0 8px;font-size:15px}.role p{margin:0 0 8px;color:#5f6b85;font-size:13px}.role small{line-height:1.7;color:#51607a}.member-form{border-top:1px solid #edf0f6;margin-top:18px;padding-top:18px}.member-form h3{font-size:15px;margin:0 0 5px}.draft-status{margin:0 0 12px;color:#1677ff;font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label{display:grid;gap:5px;color:#51607a;font-size:13px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #cfd7e6;border-radius:6px;padding:8px;font:inherit;color:#172b4d;background:#fff}.form-grid textarea{min-height:70px;resize:vertical}.form-grid .wide{grid-column:1/-1}.member-form button{margin-top:13px}.inline-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inline-actions button{margin-top:0}.inline-actions select{flex:1;min-width:240px}.update-queue{border:1px solid #dbe5f5;border-radius:8px;padding:14px;margin:14px 0}.update-queue h3{margin:0 0 6px;font-size:15px}.queue-list{display:grid;gap:7px;margin-top:12px}.queue-item{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #edf0f6;padding:9px 0;color:#51607a;font-size:13px}.queue-item button{margin:0;white-space:nowrap}.confirmation{display:flex!important;align-items:center;gap:8px;margin-top:12px;color:#51607a;font-size:13px}.confirmation input{width:auto!important}.member-form [hidden]{display:none!important}@media(max-width:700px){.cards,.roles,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.shell{padding:22px 14px}.queue-item{align-items:flex-start;flex-direction:column}}
/* 试点阶段：任务填写与看板应在常规桌面宽度下保持可读，不以压缩文字换列。 */
.shell{max-width:1180px;padding:32px 24px}.task-update-context{margin:14px 0;border:1px solid #dbe5f5;border-radius:10px;padding:14px;background:#f8fbff}.task-update-context h4{margin:0 0 10px;font-size:15px}.context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.context-grid article{box-shadow:none;border:1px solid #e4ebf5;padding:12px}.context-grid p{margin:7px 0;color:#405679;font-size:13px;line-height:1.5}.risk-text{color:#c41d24!important;font-weight:700}.has-risk{background:#fff7f7}.table-wrap{overflow-x:auto;border:1px solid #edf0f6;border-radius:10px}.table-wrap table{width:100%;min-width:950px;border-collapse:collapse;background:#fff}.table-wrap th{background:#f7f9fd;color:#334d74;font-size:13px;text-align:left;white-space:nowrap}.table-wrap th,.table-wrap td{padding:11px 12px;border-bottom:1px solid #edf0f6;vertical-align:top;font-size:13px;line-height:1.55;word-break:break-word}.form-grid input,.form-grid select,.form-grid textarea{border-radius:8px;padding:10px 11px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:3px solid #d9e9ff;border-color:#4096ff}@media(max-width:700px){.context-grid{grid-template-columns:1fr}.shell{padding:22px 14px}}
.submission-actions{display:flex;gap:12px;align-items:center;margin-top:18px}.submission-actions button{margin:0;padding:11px 20px;border-radius:8px;font-weight:700}.submission-actions .save-draft-button{border:1px solid #7da8e8;background:#fff;color:#175eaf}.submission-actions button[type="submit"]{border:1px solid #1677ff;background:#1677ff;color:#fff;box-shadow:0 4px 10px #1677ff33}.submission-actions button[type="submit"]:hover{background:#0958d9}.workflow-action-selection{display:flex;gap:10px;align-items:center;width:100%}.workflow-action-selection select{flex:1 1 360px;min-width:0}.workflow-action-selection .load-workflow-actions{flex:0 0 auto;margin:0;border-color:#1677ff;color:#1459c7;background:#edf5ff;font-weight:700;white-space:nowrap}@media(max-width:700px){.submission-actions{align-items:stretch;flex-direction:column}.submission-actions button{width:100%}.workflow-action-selection{align-items:stretch;flex-direction:column}.workflow-action-selection .load-workflow-actions{width:100%}}
.inline-actions #task-selection-search{flex:0 1 380px;min-width:220px;border:1px solid #cfd7e6;border-radius:8px;padding:10px 11px;font:inherit;color:#172b4d;background:#fff}.inline-actions #task-selection-search:focus{outline:3px solid #d9e9ff;border-color:#4096ff}
.task-picker-native{display:none!important}.task-picker-results{position:relative;z-index:5;margin:0 0 12px;border:1px solid #c9d8ee;border-radius:10px;background:#fff;box-shadow:0 10px 26px #173b6d1c;max-height:420px;overflow:auto}.task-picker-project{padding:10px 12px;border-bottom:1px solid #edf1f7}.task-picker-project:last-child{border-bottom:0}.task-picker-project h5{margin:0 0 6px;color:#274c77;font-size:13px}.task-picker-option{display:grid;width:100%;gap:3px;border:0;border-radius:7px;padding:8px 10px;background:transparent;color:#172b4d;text-align:left;font:inherit;cursor:pointer}.task-picker-option:hover,.task-picker-option:focus{outline:0;background:#eaf3ff}.task-picker-option span{font-size:14px;font-weight:700}.task-picker-option small{color:#657a99;font-size:12px}.task-picker-empty{margin:0;padding:14px;color:#657a99;font-size:13px}
.management-action-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.management-action{display:grid;gap:4px;min-height:108px;padding:15px;border:1px solid #dfe7f2;border-radius:10px;background:#fff}.management-action strong{font-size:26px;line-height:1;color:#1f3f69}.management-action span{font-weight:700;font-size:14px}.management-action small{color:#657a99;line-height:1.45}.management-action.critical{border-color:#ffccc7;background:#fff2f0}.management-action.critical strong{color:#cf1322}.management-action.warning{border-color:#ffe7ba;background:#fffbe6}.management-action.warning strong{color:#d48806}@media(max-width:900px){.management-action-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.management-action-summary{grid-template-columns:1fr}}
.member-pane-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 4px;padding:5px;border:1px solid #dfe7f2;border-radius:10px;background:#f7faff}.member-pane-tabs button{margin:0;border:0;border-radius:7px;padding:9px 13px;background:transparent;color:#526784;font:inherit;font-size:13px;cursor:pointer}.member-pane-tabs button:hover{background:#eaf3ff}.member-pane-tabs button.active{background:#fff;color:#1668dc;font-weight:700;box-shadow:0 1px 4px #173b6d1a}
.flow-workspace-tabs,.workflow-form-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0;padding:5px;border:1px solid #dfe7f2;border-radius:10px;background:#f7faff}.workflow-form-tabs{margin-left:0;background:#fff}.flow-workspace-tabs button,.workflow-form-tabs button{margin:0;border:0;border-radius:7px;padding:9px 13px;background:transparent;color:#526784;font:inherit;font-size:13px;cursor:pointer}.flow-workspace-tabs button:hover,.workflow-form-tabs button:hover{background:#eaf3ff}.flow-workspace-tabs button.active,.workflow-form-tabs button.active{background:#fff;color:#1668dc;font-weight:700;box-shadow:0 1px 4px #173b6d1a}
.workflow-steps{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0;padding:0;list-style:none;counter-reset:workflow-step}.workflow-steps li{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #dfe7f2;border-radius:999px;background:#f8fbff;color:#526784;font-size:12px}.workflow-steps li:before{counter-increment:workflow-step;content:counter(workflow-step);display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#e9f2ff;color:#1668dc;font-size:11px;font-weight:700}
.management-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0;padding:5px;border:1px solid #dfe7f2;border-radius:10px;background:#f7faff}.management-tabs button{margin:0;border:0;border-radius:7px;padding:9px 13px;background:transparent;color:#526784;font:inherit;font-size:13px;cursor:pointer}.management-tabs button:hover{background:#eaf3ff}.management-tabs button.active{background:#fff;color:#1668dc;font-weight:700;box-shadow:0 1px 4px #173b6d1a}
.queue-item-content{display:flex;min-width:0;flex:1;align-items:center;gap:14px}.queue-item-detail{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-schedule{margin-left:auto;flex:0 0 auto;border-radius:99px;padding:4px 8px;font-size:12px;font-weight:700;white-space:nowrap}.queue-schedule.normal{background:#eef8f1;color:#267a45}.queue-schedule.due-soon,.queue-schedule.due-today{background:#fff7e6;color:#ad6800}.queue-schedule.overdue{background:#fff1f0;color:#cf1322}.queue-schedule.verified-pending{background:#eef0ff;color:#4b4db8}.queue-schedule.neutral{background:#f3f5f8;color:#65758b}@media(max-width:700px){.queue-item-content{align-items:flex-start;flex-direction:column;gap:6px}.queue-schedule{margin-left:0}.queue-item-detail{white-space:normal}.inline-actions #task-selection-search{flex:1 1 100%;width:100%}}
.workspace-nav{display:flex;gap:8px;flex-wrap:wrap;margin:-8px 0 18px;padding:8px;border:1px solid #e2eaf5;border-radius:10px;background:#fff}.workspace-nav button{border:0;border-radius:7px;padding:9px 14px;background:transparent;color:#526784;font:inherit;font-size:14px;cursor:pointer}.workspace-nav button:hover{background:#f0f6ff}.workspace-nav button.active{background:#e8f1ff;color:#1668dc;font-weight:700}.workspace-hidden{display:none!important}@media(max-width:700px){.workspace-nav{overflow-x:auto;flex-wrap:nowrap}.workspace-nav button{white-space:nowrap}}
.file-reference-hint{display:block;color:#657a99;font-size:12px;line-height:1.5}
.queue-item{display:grid;grid-template-columns:minmax(0,1fr) auto;max-width:100%;overflow:hidden}.queue-item-content{display:grid;grid-template-columns:minmax(0,1fr) auto;min-width:0}.queue-item-detail{display:grid;gap:3px;min-width:0;overflow:hidden;white-space:normal}.queue-item-detail strong,.queue-item-detail small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-item-detail small{color:#74869c}.queue-item button{justify-self:end}.task-selection-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0;padding:9px 11px;border:1px solid #cfdcf0;border-radius:8px;background:#f6f9ff;color:#526b8c;font-size:13px}.task-selection-summary span{display:grid;gap:3px;min-width:0}.task-selection-summary strong{color:#2f4f7c}.task-selection-summary button{flex:0 0 auto;margin:0;padding:5px 8px;border:1px solid #a9c0e0;border-radius:6px;background:#fff;color:#305c9b;font:inherit;font-size:12px;cursor:pointer}.portfolio-drilldown{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 18px;margin-top:16px;padding:16px;border:1px solid #dce5f0;border-radius:9px;background:#fbfcff}.portfolio-drilldown h3{margin:2px 0 5px;color:#243f65;font-size:16px}.portfolio-drilldown p{margin:0;color:#657a96;font-size:13px;line-height:1.55}.portfolio-drilldown>button{align-self:start;margin:0;border-color:#3f51b5;background:#3f51b5;color:#fff}.portfolio-drilldown-owners,.portfolio-drilldown-tasks{display:flex;grid-column:1/-1;gap:8px;align-items:center;flex-wrap:wrap;border-top:1px solid #e8edf4;padding-top:12px;color:#647892;font-size:12px}.portfolio-drilldown strong{color:#314b70}.portfolio-drilldown-owners span,.portfolio-drilldown-tasks span{padding:4px 7px;border-radius:5px;background:#eef3fa;color:#526b8c}@media(max-width:700px){.queue-item,.queue-item-content{grid-template-columns:1fr}.queue-item{gap:9px}.queue-item-content{gap:6px}.queue-item button{justify-self:start}.queue-schedule{margin-left:0}.task-selection-summary{align-items:flex-start;flex-direction:column}.portfolio-drilldown{grid-template-columns:1fr}.portfolio-drilldown>button{justify-self:start}}
.request-schema-setup{margin:16px 0 4px;padding:14px;border:1px solid #ffe7ba;border-radius:10px;background:#fffbe6}.request-schema-setup strong{color:#ad6800}.request-schema-setup button{margin:8px 8px 0 0}
.workflow-submit-notice{position:fixed;z-index:1000;top:18px;left:50%;transform:translateX(-50%);max-width:min(620px,calc(100vw - 32px));padding:13px 18px;border:1px solid;border-radius:10px;box-shadow:0 8px 24px #173b6d33;font-size:14px;font-weight:700;line-height:1.45}.workflow-submit-notice.success{background:#f6ffed;border-color:#b7eb8f;color:#237804}.workflow-submit-notice.error{background:#fff2f0;border-color:#ffccc7;color:#cf1322}
.management-brief{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(440px,1.6fr);gap:20px;margin:14px 0;padding:20px;border:1px solid #dce8f6;border-radius:14px;background:#fff}.management-brief h3{margin:4px 0 8px;font-size:20px;color:#183b68}.management-brief .hint{margin:0;line-height:1.65}.management-brief-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.management-brief-cards button{display:grid;gap:6px;min-height:92px;margin:0;padding:12px;border:1px solid #dbe5f1;border-radius:10px;background:#fff;color:#365170;text-align:left;cursor:pointer}.management-brief-cards button:hover{border-color:#8ab8ee;background:#f6faff}.management-brief-cards button.active{border-color:#1677ff;background:#eaf3ff;color:#125fc0;box-shadow:0 2px 8px #1677ff1f}.management-brief-cards strong{font-size:14px}.management-brief-cards small{color:#6b7f9c;font-size:12px;line-height:1.45}.management-pane-context{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:baseline;margin:0 0 16px;padding:11px 14px;border-left:3px solid #1677ff;border-radius:0 8px 8px 0;background:#f8fbff;color:#516986;font-size:13px}.management-pane-context strong{color:#173b68;font-size:14px}.management-pane-context small{grid-column:2;color:#7b8ba3}.management-pane{border-top:3px solid #e1ebf8}.management-pane-detail-hidden{display:none!important}.management-action-summary{margin-top:16px}.management-action{position:relative;overflow:hidden}.management-action:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#8ba8ca}.management-action.critical:before{background:#cf1322}.management-action.warning:before{background:#d48806}@media(max-width:1050px){.management-brief{grid-template-columns:1fr}.management-brief-cards{grid-template-columns:repeat(5,minmax(130px,1fr));overflow-x:auto;padding-bottom:2px}}@media(max-width:700px){.management-brief{padding:16px}.management-brief-cards{grid-template-columns:repeat(5,minmax(145px,1fr))}.management-pane-context{grid-template-columns:1fr}.management-pane-context small{grid-column:auto}}
.shell{max-width:1440px;padding:0 28px 32px}.shell>header{margin:0;padding:22px 8px 16px;border-bottom:1px solid #e3ebf4}.shell>header h1{font-size:24px;letter-spacing:.01em}.platform-layout{display:grid;grid-template-columns:224px minmax(0,1fr);gap:24px;align-items:start;margin-top:20px}.platform-sidebar{position:sticky;top:16px}.workspace-nav{display:grid;gap:4px;margin:0;padding:10px;border:0;border-radius:14px;background:#123a58;box-shadow:0 8px 24px #123a581c}.workspace-nav:before{content:"产研项目管理";padding:10px 11px 16px;color:#dbeeff;font-size:14px;font-weight:700;letter-spacing:.04em}.workspace-nav button{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:8px;color:#d7e4ef;text-align:left}.workspace-nav button:before{content:"";width:7px;height:7px;margin-right:10px;border-radius:99px;background:#80a8c5}.workspace-nav button:hover{background:#275879;color:#fff}.workspace-nav button.active{background:#edf5fb;color:#124d75;box-shadow:none}.workspace-nav button.active:before{background:#1677ff}.platform-content{min-width:0}.workspace-intro{display:grid;gap:5px;margin:0 0 16px;padding:20px 22px;border:1px solid #dce7f2;border-radius:14px;background:#fff}.workspace-intro h2{margin:0;color:#173b68;font-size:22px}.workspace-intro p:last-child{max-width:760px;margin:0;color:#60758f;font-size:14px;line-height:1.65}.platform-content>.next{margin-top:16px}.platform-content>.next:first-of-type{margin-top:0}.platform-content .workspace-hidden{display:none!important}@media(max-width:900px){.shell{padding:0 16px 24px}.platform-layout{grid-template-columns:1fr;gap:14px}.platform-sidebar{position:static}.workspace-nav{display:flex;overflow-x:auto;grid-template-columns:none;padding:7px}.workspace-nav:before{display:none}.workspace-nav button{flex:0 0 auto;min-height:38px;white-space:nowrap}.workspace-intro{padding:17px}.workspace-intro h2{font-size:19px}}@media(max-width:520px){.shell{padding:0 12px 20px}.shell>header{padding:16px 4px 12px}.shell>header h1{font-size:21px}.workspace-intro{border-radius:11px}.platform-content>.next{padding:16px}}
.workspace-subnav{display:flex;gap:2px;margin:0;padding:0 12px;border:1px solid #e1e8f0;border-bottom:0;border-radius:12px 12px 0 0;background:#fff}.workspace-subnav button{margin:0;padding:13px 16px;border:0;border-bottom:3px solid transparent;background:transparent;color:#647994;font:inherit;font-size:14px;cursor:pointer}.workspace-subnav button:hover{color:#1767bd;background:#f6faff}.workspace-subnav button.active{border-bottom-color:#1677ff;color:#125fae;font-weight:700}.workspace-panel-context{margin:0 0 14px;padding:11px 14px;border:1px solid #e1e8f0;border-radius:0 0 10px 10px;background:#fbfcfe;color:#647994;font-size:13px;line-height:1.55}.workspace-panel-hidden{display:none!important}.platform-content>.next{border-top:3px solid #e6eef7}.platform-content>.next>h2{display:flex;align-items:center;min-height:30px;margin-bottom:10px;color:#173b68}.platform-content>.next>h2:before{content:"";width:4px;height:20px;margin-right:9px;border-radius:99px;background:#1677ff}@media(max-width:700px){.workspace-subnav{overflow-x:auto;padding:0 6px}.workspace-subnav button{flex:0 0 auto;white-space:nowrap;padding:12px 13px}.workspace-panel-context{margin-bottom:12px}}
.shell{max-width:none;padding:0 28px 32px}.shell>header{padding:16px 10px 14px}.shell>header h1{font-size:23px}.platform-layout{grid-template-columns:208px minmax(0,1fr);gap:20px;margin-top:16px}.platform-sidebar{display:flex;align-self:stretch}.workspace-nav{width:100%;min-height:calc(100vh - 104px);align-content:start;padding:12px 10px;border-radius:12px;background:#123b5a}.workspace-nav:before{content:"工作区";padding:8px 10px 12px;color:#a9c6db;font-size:12px;letter-spacing:.08em}.workspace-nav button{min-height:42px;padding:9px 11px;font-size:14px}.workspace-intro{gap:2px;margin:0;padding:4px 2px 12px;border:0;border-radius:0;background:transparent}.workspace-intro .eyebrow{font-size:12px}.workspace-intro h2{font-size:21px;line-height:1.35}.workspace-intro p:last-child{font-size:13px;line-height:1.5}.workspace-subnav{margin:0;padding:0 8px;border-color:#dfe7ef;border-radius:8px 8px 0 0}.workspace-subnav button{padding:10px 14px;font-size:13px}.workspace-panel-context{min-height:38px;margin:0 0 12px;padding:9px 12px;border-color:#dfe7ef;border-radius:0 0 8px 8px;font-size:12px}.platform-content>.next{margin-top:12px;padding:18px 20px;border-top-width:2px;border-radius:10px}.platform-content>.next>h2{min-height:24px;margin-bottom:6px;font-size:17px}.platform-content>.next>h2:before{width:3px;height:17px;margin-right:8px}.member-pane-tabs{margin:12px 0 8px;padding:3px;background:#f5f8fb;border-radius:8px}.member-pane-tabs button{padding:8px 11px}.update-queue{margin:10px 0;padding:12px;border-radius:8px}@media(max-width:900px){.shell{padding:0 16px 24px}.platform-layout{grid-template-columns:1fr}.workspace-nav{min-height:0}.workspace-intro{padding-top:2px}}@media(max-width:520px){.shell{padding:0 12px 20px}.platform-content>.next{padding:15px}.workspace-intro h2{font-size:19px}}
.platform-content button{min-height:34px;margin:0;padding:7px 13px;border:1px solid #b8c8d9;border-radius:6px;background:#fff;color:#294b6d;font:inherit;font-size:13px;font-weight:600;line-height:1.2;cursor:pointer;transition:border-color .15s,background .15s,color .15s,box-shadow .15s}.platform-content button:hover:not(:disabled){border-color:#2f82d7;background:#f2f8ff;color:#1265b2}.platform-content button:focus-visible{outline:3px solid #cce5ff;outline-offset:1px}.platform-content button:disabled{border-color:#dce3eb;background:#f5f6f8;color:#a7b2c0;cursor:not-allowed}.platform-content button[type="submit"],.platform-content #confirm-no-progress{border-color:#1677ff;background:#1677ff;color:#fff;box-shadow:0 2px 6px #1677ff2b}.platform-content button[type="submit"]:hover:not(:disabled),.platform-content #confirm-no-progress:hover:not(:disabled){border-color:#0958d9;background:#0958d9;color:#fff}.platform-content .contact-picker-button{border-color:#7ba8d5;background:#f6faff;color:#155fa8}.platform-content .back-to-queue{margin-left:9px;border:0;background:transparent;color:#3476b3}.platform-content .queue-item button{padding:7px 11px;border-color:#9fc3e8;background:#f6faff;color:#1265b2}.platform-content .inline-actions{gap:8px}.platform-content [hidden]{display:none!important}
.platform-content .member-pane-tabs button{min-height:0;padding:8px 11px;border:0;border-radius:7px;background:transparent;color:#526784;font-weight:400}.platform-content .member-pane-tabs button.active{background:#fff;color:#1668dc;font-weight:700;box-shadow:0 1px 4px #173b6d1a}.platform-content .member-pane-tabs button:hover:not(:disabled){border:0;background:#eaf3ff;color:#1668dc}
/* 新增里程碑采用“先关联、再填写”的操作顺序，避免宽控件与双列表单混排。 */
.milestone-form-flow{display:grid;gap:16px}.milestone-form-flow .milestone-parent-picker{display:grid;gap:10px;max-width:760px;margin:0;padding:14px 16px;border:1px solid #dce5f1;border-radius:9px;background:#fafcff}.milestone-step-heading{display:flex;align-items:flex-start;gap:9px}.milestone-step-heading>span{display:grid;flex:0 0 22px;width:22px;height:22px;place-items:center;border-radius:50%;background:#e9eaff;color:#4648b8;font-size:12px;font-weight:700}.milestone-step-heading strong{display:block;color:#274466;font-size:14px}.milestone-step-heading small{display:block;margin-top:3px;color:#74869c;font-size:12px;line-height:1.45}.milestone-parent-control{display:block!important;max-width:720px}.milestone-parent-control select{width:100%}.milestone-parent-picker>.hint{margin:0;font-size:12px;line-height:1.5}.milestone-parent-picker>button{justify-self:start;margin:0}.milestone-details-grid{padding-top:16px;border-top:1px solid #e8edf3}.milestone-details-heading{align-items:center;margin:0 0 2px}@media(max-width:700px){.milestone-form-flow .milestone-parent-picker{max-width:none;padding:13px}.milestone-parent-control{max-width:none}}
/* 项目中心：信息优先于装饰，默认视图控制在“指标、行动、风险、里程碑”四个重点内。 */
.project-hub{padding:22px 24px!important;border-top:2px solid #dfe8f3!important;box-shadow:none!important}.project-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid #e8edf3}.project-header h2{margin:3px 0 6px!important;font-size:24px!important}.project-header h2:before{display:none!important}.project-meta{margin:0;color:#66788e;font-size:13px}.project-primary-action{min-width:100px!important;border-color:#3f51b5!important;background:#3f51b5!important;color:#fff!important}.project-primary-action:hover:not(:disabled){border-color:#303f9f!important;background:#303f9f!important;color:#fff!important}.project-view-tabs{display:flex;gap:20px;margin:0;border-bottom:1px solid #e5eaf0}.project-view-tabs button{position:relative;min-height:42px!important;padding:0 2px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#687a91!important;font-weight:400!important}.project-view-tabs button:hover:not(:disabled){background:transparent!important;color:#304d9b!important}.project-view-tabs button.active{color:#304d9b!important;font-weight:700!important}.project-view-tabs button.active:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;background:#3f51b5}.project-view{padding-top:18px}.project-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project-metrics article{display:grid;gap:6px;min-height:104px;padding:14px 0;border:0;border-right:1px solid #e5eaf0;border-radius:0;box-shadow:none}.project-metrics article:last-child{border-right:0}.project-metrics span,.project-metrics small{color:#718197;font-size:12px}.project-metrics strong{font-size:25px;line-height:1;color:#1d2f4f}.progress-track{height:4px;max-width:170px;overflow:hidden;border-radius:4px;background:#e9edf4}.progress-track i{display:block;height:100%;background:#3f51b5}.project-overview-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(280px,1fr);gap:18px;margin-top:20px}.project-list-panel,.project-risk-panel,.project-milestone-panel{border:1px solid #e2e8f0;border-radius:9px;background:#fff}.project-list-panel,.project-risk-panel{min-height:220px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid #edf1f5}.panel-heading h3{margin:0;color:#1d3357;font-size:15px}.panel-heading p{margin:5px 0 0;color:#738399;font-size:12px}.text-action{padding:0!important;border:0!important;background:transparent!important;color:#3f51b5!important;font-size:12px!important;font-weight:500!important;white-space:nowrap}.project-empty{display:grid;place-content:center;min-height:145px;padding:18px;color:#61738a;text-align:center}.project-empty strong{color:#334c70;font-size:14px}.project-empty p{max-width:330px;margin:7px 0 0;font-size:12px;line-height:1.65}.project-empty.compact{min-height:88px}.project-milestone-panel{margin-top:18px}.project-milestone-panel .project-empty{min-height:56px;justify-content:start;text-align:left}.board-toolbar{display:flex;justify-content:space-between;align-items:center;padding:0 0 12px;color:#6c7c91;font-size:13px}.kanban-empty,.timeline-empty,.files-empty{display:grid;min-height:220px;place-content:center;padding:24px;border:1px dashed #ccd7e5;border-radius:9px;color:#6b7c91;text-align:center}.kanban-empty strong,.timeline-empty strong,.files-empty strong{color:#304868;font-size:15px}.kanban-empty p,.timeline-empty p,.files-empty p{max-width:430px;margin:8px 0 0;font-size:13px;line-height:1.6}.task-drawer{position:fixed;z-index:20;top:0;right:0;width:min(420px,100vw);height:100vh;padding:22px;border-left:1px solid #dbe3ed;background:#fff;box-shadow:-8px 0 28px #1c35521a}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px solid #e8edf3}.drawer-header h3{margin:0;font-size:17px}.drawer-close{min-height:30px!important;width:30px;padding:0!important;border:0!important;background:transparent!important;color:#61738a!important;font-size:24px!important}.task-drawer>p{color:#65768d;font-size:13px;line-height:1.7}@media(max-width:900px){.project-overview-grid{grid-template-columns:1fr}.project-metrics{gap:10px}.project-header{align-items:center}.project-hub{padding:18px!important}}@media(max-width:620px){.project-header{align-items:flex-start;flex-direction:column;gap:12px}.project-header h2{font-size:21px!important}.project-metrics{grid-template-columns:1fr}.project-metrics article{min-height:auto;padding:12px 0;border-right:0;border-bottom:1px solid #e5eaf0}.project-metrics article:last-child{border-bottom:0}.project-view-tabs{gap:16px;overflow-x:auto}.project-view-tabs button{flex:0 0 auto}.project-primary-action{width:100%}}
.project-picker{display:inline-flex;align-items:center;gap:6px;color:#64758b}.project-picker select{max-width:240px;padding:4px 24px 4px 7px;border:1px solid #d7e0eb;border-radius:5px;background:#fff;color:#304868;font:inherit}.project-task-list,.project-risk-list{padding:2px 16px}.project-task-row,.project-risk-row{display:grid!important;width:100%;min-height:53px!important;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0!important;border:0!important;border-bottom:1px solid #edf1f5!important;border-radius:0!important;background:transparent!important;text-align:left}.project-task-row:last-child,.project-risk-row:last-child{border-bottom:0!important}.project-task-row:hover:not(:disabled),.project-risk-row:hover:not(:disabled){background:transparent!important;color:#304d9b!important}.task-check{width:14px;height:14px;border:1px solid #b9c7d7;border-radius:4px}.task-name{display:grid;gap:3px;min-width:0}.task-name strong,.project-risk-row strong{overflow:hidden;color:#2a4263;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.task-name small,.project-risk-row small{color:#78889d;font-size:12px}.task-date{color:#65768c;font-size:12px;white-space:nowrap}.project-risk-row{grid-template-columns:minmax(0,1fr)!important}.project-risk-row strong{color:#9a5d14}.project-risk-row small{display:block;margin-top:3px}.project-milestone-list{display:flex;gap:22px;flex-wrap:wrap;padding:15px 16px}.project-milestone-list span{display:grid;gap:3px;color:#5e7087;font-size:12px}.project-milestone-list strong{color:#304868;font-size:13px}.drawer-edit-task{margin-top:10px!important;border-color:#3f51b5!important;background:#3f51b5!important;color:#fff!important}@media(max-width:620px){.project-picker{display:flex;margin-top:6px}.project-picker select{max-width:100%}.project-task-row{grid-template-columns:18px minmax(0,1fr)!important}.task-date{grid-column:2}}
.shell>header{min-height:58px;margin:0;padding:0 10px;align-items:center}.shell>header .eyebrow{display:none}.shell>header h1{margin:0;font-size:19px;font-weight:700}.shell>header .badge{padding:5px 10px;font-size:12px}.platform-layout{margin-top:12px}.workspace-nav:before{content:"项目工作区"}.workspace-nav{border-radius:10px}.platform-content>.next{box-shadow:none}
.kanban-grid{display:grid;grid-template-columns:repeat(4,minmax(185px,1fr));gap:12px;overflow-x:auto;padding-bottom:4px}.kanban-grid section{min-height:260px;padding:12px;border:1px solid #e3e9f0;border-radius:8px;background:#f8fafc}.kanban-grid h3{display:flex;justify-content:space-between;margin:0 0 10px;color:#425a78;font-size:13px}.kanban-grid h3 small{color:#8190a3;font-weight:400}.kanban-grid section>button{display:grid!important;width:100%;gap:5px;margin:0 0 8px!important;padding:10px!important;border:1px solid #e0e6ee!important;border-radius:6px!important;background:#fff!important;text-align:left}.kanban-grid section>button strong{overflow:hidden;color:#304868;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.kanban-grid section>button small{color:#77879b;font-size:12px}.kanban-grid section>p{margin:16px 0;color:#8a98a8;font-size:12px;text-align:center}.timeline-list{position:relative;display:grid;gap:0;margin-left:8px;border-left:1px solid #d9e1eb}.timeline-list button{display:grid!important;grid-template-columns:minmax(180px,1fr) 90px 110px;align-items:center;gap:12px;min-height:48px!important;margin:0!important;padding:0 16px!important;border:0!important;border-bottom:1px solid #edf1f5!important;border-radius:0!important;background:transparent!important;text-align:left}.timeline-list button span{overflow:hidden;color:#304868;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.timeline-list button i{height:7px;border-radius:99px;background:#7887ca}.timeline-list button strong{color:#60728a;font-size:12px;font-weight:500}.file-decision-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.file-decision-list section{padding:18px;border:1px solid #e1e7ef;border-radius:8px}.file-decision-list strong{color:#304868;font-size:14px}.file-decision-list p{min-height:40px;margin:8px 0 14px;color:#718197;font-size:13px;line-height:1.6}.file-decision-list button{border-color:#cbd8e6!important;background:#f8fbff!important;color:#365f97!important}@media(max-width:900px){.file-decision-list{grid-template-columns:1fr}.kanban-grid{grid-template-columns:repeat(4,minmax(190px,1fr))}}@media(max-width:620px){.timeline-list button{grid-template-columns:1fr auto}.timeline-list button i{display:none}.timeline-list button strong{grid-column:2;grid-row:1}}
.file-decision-list ul{display:grid;gap:7px;margin:10px 0 14px;padding:0;list-style:none}.file-decision-list li{display:grid;gap:2px;padding-bottom:7px;border-bottom:1px solid #edf1f5;color:#344d6c;font-size:13px}.file-decision-list li:last-child{border-bottom:0}.file-decision-list li a{color:#365f97;text-decoration:none}.file-decision-list li small{color:#7b8a9e;font-size:12px}
.project-data-status{margin:6px 0 0;color:#8a5a00;font-size:13px}

/* 项目中心：以信息层级和任务密度为先，不使用渐变、彩色卡片或装饰性图表。 */
:root{color:#27273a;background:#f6f7fa}.shell{max-width:none;padding:0 32px 40px}.shell>header{min-height:64px;padding:0 2px;border-bottom:1px solid #e7e8ef;background:#fff}.shell>header h1{font-size:18px;color:#25253a}.shell>header .badge{border:1px solid #e1e3fa;background:#f4f4ff;color:#5b5bd6}.platform-layout{grid-template-columns:216px minmax(0,1fr);gap:28px;margin-top:24px}.platform-sidebar{position:sticky;top:16px;align-self:start}.workspace-nav{min-height:0;padding:12px 10px;border:1px solid #e4e6ed;border-radius:10px;background:#fff;box-shadow:none}.workspace-nav:before{content:"工作区";padding:7px 10px 12px;color:#85879a;font-size:12px;letter-spacing:.08em}.workspace-nav button{min-height:40px;padding:9px 11px;border-radius:7px;color:#5e6073;font-size:14px}.workspace-nav button:before{width:6px;height:6px;background:#c5c8d2}.workspace-nav button:hover{background:#f7f7fd;color:#45458f}.workspace-nav button.active{background:#f0f0ff;color:#4a4ab4}.workspace-nav button.active:before{background:#5b5bd6}.workspace-intro{padding:4px 0 14px;background:transparent}.workspace-intro h2{color:#28283c}.workspace-subnav{border-color:#e7e8ef;background:#fff}.workspace-subnav button.active{border-bottom-color:#5b5bd6;color:#4a4ab4}.workspace-panel-context{border-color:#e7e8ef;background:#fff;color:#77798b}.platform-content>.next{margin-top:16px;padding:22px 24px;border:1px solid #e5e7ed!important;border-top:1px solid #e5e7ed!important;border-radius:10px;background:#fff;box-shadow:none}.platform-content>.next>h2{color:#29293d}.platform-content>.next>h2:before{background:#5b5bd6}.management-brief{border-color:#e5e7ed;background:#fff}.management-brief h3,.management-pane-context strong{color:#29293d}.management-brief-cards button.active{border-color:#d9d9f8;background:#f5f5ff;color:#4a4ab4}.management-tabs button.active{color:#4a4ab4}.management-pane-context{border-left-color:#5b5bd6;background:#fafaff}
.project-hub{padding:28px 30px!important;border:1px solid #e4e6ed!important;background:#fff}.project-header{align-items:center;padding-bottom:20px}.project-header .eyebrow{color:#7d7f91;letter-spacing:.04em}.project-header h2{margin:2px 0 7px!important;color:#25253a;font-size:26px!important;letter-spacing:-.02em}.project-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px;color:#747688;font-size:13px}.project-picker{margin-left:8px}.project-picker select{border-color:#e0e2ea;border-radius:6px;color:#44445d}.project-primary-action{min-width:104px!important;border-color:#5b5bd6!important;background:#5b5bd6!important;color:#fff!important;box-shadow:none!important}.project-primary-action:hover:not(:disabled){border-color:#4c4cbf!important;background:#4c4cbf!important}.project-view-tabs{gap:24px;border-color:#e8e9ef}.project-view-tabs button{min-height:44px!important;color:#77798b!important}.project-view-tabs button.active,.project-view-tabs button:hover:not(:disabled){color:#4a4ab4!important}.project-view-tabs button.active:after{background:#5b5bd6}.project-view{padding-top:22px}.project-metrics{gap:0;border:1px solid #ececf1;border-radius:8px}.project-metrics article{min-height:96px;padding:16px 18px;border-right:1px solid #ececf1}.project-metrics strong{color:#2b2b42;font-size:24px}.project-metrics span,.project-metrics small{color:#77798b}.progress-track i{background:#5b5bd6}.project-overview-grid{grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);gap:20px;margin-top:22px}.project-list-panel,.project-risk-panel,.project-milestone-panel{border-color:#e5e7ed;border-radius:8px}.project-list-panel,.project-risk-panel{min-height:0}.panel-heading{padding:15px 18px;border-color:#eceef3}.panel-heading h3{color:#303046}.panel-heading p{color:#858799}.text-action{color:#5353bf!important}.project-task-list,.project-risk-list{padding:0 18px}.project-task-row,.project-risk-row{min-height:54px!important;border-color:#eef0f4!important}.task-check{border-color:#cfd1dd}.task-name strong,.project-risk-row strong{color:#35354c}.task-name small,.project-risk-row small,.task-date{color:#818395}.project-risk-row strong{color:#6a5894}.project-milestone-panel{margin-top:20px}.project-milestone-list{gap:28px;padding:15px 18px}.project-milestone-list strong{color:#454561}.project-empty,.kanban-empty,.timeline-empty{color:#7b7d90}.project-empty strong,.kanban-empty strong,.timeline-empty strong{color:#4a4a62}.board-toolbar{padding:0 0 14px;color:#77798b}.kanban-grid{gap:14px}.kanban-grid section{min-height:230px;padding:13px;border-color:#e6e8ee;border-radius:8px;background:#fafafd}.kanban-grid h3{color:#505167}.kanban-grid section>button{border-color:#e7e8ee!important;border-radius:7px!important;box-shadow:none}.kanban-grid section>button:hover:not(:disabled){border-color:#d4d5f3!important;background:#f8f8ff!important}.kanban-grid section>button strong{color:#38384f}.kanban-grid section>button small{color:#818395}.timeline-caption{display:flex;justify-content:space-between;align-items:center;padding:0 0 10px;color:#56576c;font-size:13px;font-weight:700}.timeline-caption small{color:#858799;font-weight:400}.timeline-list{margin-left:0;border-color:#e6e8ee}.timeline-list button{grid-template-columns:minmax(180px,1fr) 120px 112px;border-color:#eef0f4!important}.timeline-list button i{height:6px;background:#8b8bd8}.timeline-list button strong{color:#77798b}.task-drawer{border-color:#e4e6ed;box-shadow:-10px 0 28px #25253a12}.drawer-header h3{color:#2d2d42}.project-data-status{color:#9a6c0d}
@media(max-width:960px){.shell{padding:0 18px 28px}.platform-layout{grid-template-columns:1fr;gap:16px}.platform-sidebar{position:static}.workspace-nav{display:flex;overflow-x:auto}.workspace-nav:before{display:none}.workspace-nav button{flex:0 0 auto}.project-overview-grid{grid-template-columns:1fr}.project-hub{padding:22px!important}}@media(max-width:620px){.shell{padding:0 12px 22px}.project-hub{padding:18px!important}.project-header h2{font-size:22px!important}.project-meta{display:block;line-height:1.7}.project-picker{display:flex;margin:7px 0 0}.project-metrics{grid-template-columns:1fr}.project-metrics article{border-right:0;border-bottom:1px solid #ececf1}.project-metrics article:last-child{border-bottom:0}.project-view-tabs{gap:20px}.timeline-list button{grid-template-columns:minmax(0,1fr) auto}.timeline-list button i{display:none}}
.portfolio-map{margin:0 0 20px;border:1px solid #e5e7ed;border-radius:8px;background:#fff}.portfolio-map .panel-heading{padding:14px 18px}.portfolio-map-list{display:grid}.portfolio-map-row{display:grid!important;grid-template-columns:minmax(220px,1.1fr) minmax(240px,1.25fr) auto;align-items:center;gap:18px;width:100%;min-height:62px!important;margin:0!important;padding:11px 18px!important;border:0!important;border-top:1px solid #edf0f4!important;border-radius:0!important;background:#fff!important;color:#343449!important;text-align:left}.portfolio-map-row:hover:not(:disabled){background:#fafaff!important;color:#343449!important}.portfolio-map-row.active{background:#f6f6ff!important;box-shadow:inset 3px 0 0 #5b5bd6}.portfolio-project,.portfolio-owner{display:grid;gap:4px;min-width:0}.portfolio-project strong,.portfolio-owner strong{overflow:hidden;color:#39394f;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.portfolio-project small,.portfolio-owner small{overflow:hidden;color:#818395;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.portfolio-drill{color:#5b5bd6;font-size:12px;font-weight:600;white-space:nowrap}.portfolio-map-empty{padding:20px 18px;color:#858799;font-size:13px}.project-hub .portfolio-map+.project-metrics{margin-top:0}@media(max-width:760px){.portfolio-map-row{grid-template-columns:1fr auto;gap:10px}.portfolio-owner{grid-column:1}.portfolio-drill{grid-column:2;grid-row:1}}@media(max-width:480px){.portfolio-map-row{padding:12px!important}.portfolio-project small,.portfolio-owner small{white-space:normal}.portfolio-drill{display:none}}

/* 管理总图只提供项目级导航；事项明细留在选定项目的概览中，避免一行堆叠。 */
.project-portfolio{padding:24px!important}.project-portfolio>.hint{margin:4px 0 16px;color:#7a7c8f;font-size:13px}.project-portfolio .portfolio-map{margin:0}.portfolio-map-columns,.portfolio-map-row{grid-template-columns:minmax(190px,1.15fr) minmax(190px,1fr) minmax(120px,.65fr) auto!important}.portfolio-map-columns{display:grid;align-items:center;gap:18px;padding:10px 18px;background:#fafafd;color:#858799;font-size:12px;font-weight:600}.portfolio-project,.portfolio-owner,.portfolio-status{display:grid;gap:4px;min-width:0}.portfolio-project strong,.portfolio-owner strong,.portfolio-status strong{overflow:hidden;color:#39394f;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.portfolio-project small,.portfolio-owner small,.portfolio-status small{overflow:hidden;color:#818395;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.portfolio-status strong{font-weight:600}.portfolio-status small{color:#72758b}.portfolio-map-row{min-height:58px!important}.portfolio-drill{justify-self:end}@media(max-width:760px){.portfolio-map-columns{display:none}.portfolio-map-row{grid-template-columns:minmax(0,1fr) auto!important;gap:10px}.portfolio-owner,.portfolio-status{grid-column:1}.portfolio-drill{grid-column:2;grid-row:1}}@media(max-width:480px){.portfolio-status{display:none}.portfolio-project small,.portfolio-owner small{white-space:normal}}

/* P0 项目总图：一张图看跨项目计划与关键节点，事项明细不在此展开。 */
.portfolio-gantt{position:relative;border:1px solid #e5e7ed;border-radius:8px;background:#fff}.portfolio-gantt-summary{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;padding:13px 16px;border-bottom:1px solid #eceef3;color:#77798b;font-size:12px}.portfolio-gantt-summary strong{color:#36364d;font-size:13px}.portfolio-gantt-empty{padding:28px 18px;color:#7b7d90;font-size:13px;text-align:center}.portfolio-gantt-empty strong{display:block;margin-bottom:6px;color:#44445d}.portfolio-gantt-empty p{margin:0}.gantt-scroll{overflow:auto}.gantt-shell{min-width:930px}.gantt-head,.gantt-project-row{display:grid!important;grid-template-columns:280px minmax(650px,1fr);width:100%;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;text-align:left}.gantt-head{min-height:42px;border-bottom:1px solid #e9ecf1!important;background:#fafafd!important;color:#7d8092;font-size:12px;font-weight:600}.gantt-head>span{display:flex;align-items:center;padding:0 16px;border-right:1px solid #e9ecf1}.gantt-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));min-width:650px}.gantt-months span{display:flex;align-items:center;justify-content:center;border-right:1px solid #eef0f4;white-space:nowrap}.gantt-product-group{margin:0;border:0;border-bottom:1px solid #e7eaf0;border-radius:0}.gantt-product-group h3{margin:0;padding:9px 16px;border-bottom:1px solid #eef0f4;background:#f7f8fb;color:#5a5c70;font-size:12px;font-weight:700}.gantt-project-row{min-height:82px;border-bottom:1px solid #eef0f4!important;color:#333348;cursor:pointer}.gantt-project-row:last-child{border-bottom:0!important}.gantt-project-row:hover:not(:disabled),.gantt-project-row.active{background:#fafaff!important}.gantt-project-row.active .gantt-project-label{box-shadow:inset 3px 0 0 #5b5bd6}.gantt-project-label{display:grid;align-content:center;gap:4px;padding:10px 16px;border-right:1px solid #e9ecf1}.gantt-project-label strong{overflow:hidden;color:#37374e;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.gantt-project-label small{overflow:hidden;color:#818395;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.gantt-project-label .gantt-gap{color:#a16d15}.gantt-track{position:relative;display:block;min-width:650px;background:#fff}.gantt-project-bar{position:absolute;top:36px;height:9px;border-radius:999px;background:#8585ca;opacity:.9}.gantt-project-bar.derived{border:1px dashed #8f91aa;background:transparent}.gantt-milestone{position:absolute;top:calc(9px + var(--lane) * 34px);display:grid;grid-template-columns:8px minmax(0,1fr);column-gap:5px;align-items:center;max-width:150px;color:#484969;font-size:11px;line-height:1.2;transform:translateX(-2px)}.gantt-milestone>i{grid-row:1 / span 2;width:8px;height:8px;border:2px solid #5b5bd6;border-radius:50%;background:#fff}.gantt-milestone b{overflow:hidden;max-width:130px;color:#44455d;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.gantt-milestone small{color:#858799}.gantt-body .gantt-track:after{position:absolute;top:0;bottom:0;left:var(--today, -10%);width:1px;background:#5b5bd6;content:"";opacity:.55}.gantt-body .gantt-track:before{position:absolute;top:2px;left:calc(var(--today, -10%) + 4px);z-index:2;color:#5b5bd6;font-size:10px;font-weight:700;content:"今天"}@media(max-width:760px){.project-portfolio{padding:18px!important}.portfolio-gantt-summary{display:grid;gap:5px}.gantt-project-row,.gantt-head{grid-template-columns:220px minmax(610px,1fr)}.gantt-head>span,.gantt-project-label{padding-left:12px;padding-right:12px}}
.portfolio-analysis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-bottom:1px solid #eceef3;background:#fff}.portfolio-analysis>div{padding:16px 18px}.portfolio-analysis>div+div{border-left:1px solid #eceef3}.portfolio-analysis h3{margin:0;color:#38384e;font-size:14px}.portfolio-analysis p{margin:5px 0 12px;color:#858799;font-size:12px;line-height:1.45}.portfolio-analysis-bars{display:grid;gap:8px}.portfolio-analysis-row{display:grid;grid-template-columns:minmax(92px,1fr) minmax(96px,2fr) 38px;gap:8px;align-items:center;color:#66687b;font-size:12px}.portfolio-analysis-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-analysis-row>i{display:block;height:7px;overflow:hidden;border-radius:999px;background:#eef0f5}.portfolio-analysis-row b{display:block;height:100%;min-width:0;border-radius:999px;background:#8787c9}.portfolio-analysis-row b.planned{background:#6e9a8a}.portfolio-analysis-row b.gap{background:#c69a4a}.portfolio-analysis-row b.risk{background:#b97878}.portfolio-analysis-row strong{color:#4b4c61;font-size:12px;font-weight:600;text-align:right}@media(max-width:760px){.portfolio-analysis{grid-template-columns:1fr}.portfolio-analysis>div+div{border-top:1px solid #eceef3;border-left:0}}
.todo-candidate-preview{margin:14px 0;padding:14px 16px;border:1px solid #dedff1;border-left:3px solid #5b5bd6;border-radius:8px;background:#fafaff;color:#5f6174}.todo-candidate-preview strong{color:#34344b;font-size:14px}.todo-candidate-preview p{margin:7px 0;color:#6d6f82;font-size:13px;line-height:1.5}.todo-candidate-preview small{color:#858799;font-size:12px}.todo-candidate-preview dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin:12px 0}.todo-candidate-preview dl div{display:grid;gap:3px}.todo-candidate-preview dt{color:#858799;font-size:12px}.todo-candidate-preview dd{margin:0;color:#404157;font-size:13px;font-weight:600}@media(max-width:560px){.todo-candidate-preview dl{grid-template-columns:1fr}}
.management-action-summary{display:block;margin:16px 0}.management-analysis{margin:0;border:1px solid #e5e7ed;border-radius:8px;background:#fff}.management-analysis>div{padding:16px 18px}.management-analysis h3{margin:0;color:#37374d;font-size:14px}.management-analysis p{margin:5px 0 12px;color:#858799;font-size:12px;line-height:1.45}.management-analysis small{display:block;margin:3px 0 9px;color:#858799;font-size:12px;line-height:1.4}.management-status-analysis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0}.management-status-analysis>div+div{border-left:1px solid #eceef3}.management-chart-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,2fr) 36px;gap:9px;align-items:center;color:#67697c;font-size:12px}.management-chart-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.management-chart-row>i{display:block;height:7px;overflow:hidden;border-radius:999px;background:#eef0f5}.management-chart-row b{display:block;height:100%;border-radius:999px;background:#8787c9}.management-chart-row b.critical{background:#b97878}.management-chart-row b.warning{background:#c69a4a}.management-chart-row b.state{background:#8787c9}.management-chart-row b.planned{background:#6e9a8a}.management-chart-row strong{color:#4b4c61;font-size:12px;text-align:right}@media(max-width:760px){.management-status-analysis{grid-template-columns:1fr}.management-status-analysis>div+div{border-top:1px solid #eceef3;border-left:0}}
.gantt-track{background:#fff}.gantt-grid-line{position:absolute;top:0;bottom:0;width:1px;background:#eef0f4}
.gantt-shell{min-width:calc(280px + var(--gantt-track-width,650px))}.gantt-head,.gantt-project-row{grid-template-columns:280px minmax(var(--gantt-track-width,650px),1fr)}.gantt-months,.gantt-track{min-width:var(--gantt-track-width,650px)}.gantt-months{grid-template-columns:repeat(auto-fit,minmax(74px,1fr))}.gantt-project-row{min-height:74px}.gantt-project-bar{top:32px}.gantt-milestone{top:32px;display:block;width:12px;height:12px;max-width:none;transform:translateX(-50%);cursor:help}.gantt-milestone>i{display:block;width:10px;height:10px;border:2px solid #5b5bd6;border-radius:50%;background:#fff}.gantt-milestone.planned-node>i{border-style:dashed;border-color:#8587a0}.gantt-milestone b,.gantt-milestone small{display:none}.gantt-legend{display:inline-flex;align-items:center;gap:5px}.gantt-legend i{display:inline-block;width:9px;height:9px;border:2px solid #5b5bd6;border-radius:50%;background:#fff}.gantt-legend i.planned-node{border-style:dashed;border-color:#8587a0}@media(max-width:760px){.gantt-shell{min-width:calc(220px + var(--gantt-track-width,610px))}.gantt-project-row,.gantt-head{grid-template-columns:220px minmax(var(--gantt-track-width,610px),1fr)}}

/* 总图按“先读项目，再读节点”的顺序显示：编号节点与左侧日期摘要一一对应，避免节点名在时间轴上互相遮挡。 */
.gantt-scroll{scrollbar-gutter:stable;border-top:1px solid #eef0f4}.gantt-shell{min-width:calc(330px + var(--gantt-track-width,760px))}.gantt-head,.gantt-project-row{grid-template-columns:330px minmax(var(--gantt-track-width,760px),1fr)}.gantt-head>span{line-height:1.4}.gantt-months,.gantt-track{min-width:var(--gantt-track-width,760px)}.gantt-months{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.gantt-project-row{min-height:96px}.gantt-project-label{gap:3px}.gantt-project-label .gantt-node-summary{color:#555a78;font-weight:600}.gantt-project-label .gantt-source-summary{color:#858799}.gantt-project-bar{top:46px}.gantt-milestone{top:calc(26px + var(--node-lane, 0) * 34px);width:18px;height:18px;cursor:default}.gantt-milestone>i{display:grid;width:14px;height:14px;place-items:center;border:2px solid #5b5bd6;color:#4f50ba;font-size:9px;font-style:normal;font-weight:700;line-height:1}.gantt-milestone.planned-node>i{border-color:#8587a0;color:#6e7085}.gantt-scale{color:#555a78;font-weight:600}.portfolio-gantt-summary{gap:8px 16px}.portfolio-gantt-summary>span:last-child{color:#6f7285}.gantt-head>span,.gantt-project-label{position:sticky;left:0;z-index:3;background:#fff}.gantt-head>span{z-index:4;background:#fafafd}.gantt-project-row.active .gantt-project-label,.gantt-project-row:hover .gantt-project-label{background:#fafaff}.gantt-status-tag{color:#5b5bd6;font-size:11px;font-weight:700}.gantt-status-planning .gantt-status-tag{color:#77798b}.gantt-status-completed .gantt-status-tag{color:#6e7790}.gantt-controls{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-bottom:1px solid #eceef3;background:#fff}.gantt-controls button{min-height:30px!important;margin:0!important;padding:5px 10px!important;border:1px solid #e1e3ea!important;border-radius:6px!important;background:#fff!important;color:#67697b!important;font-size:12px!important;font-weight:600!important}.gantt-controls button.active{border-color:#d6d6f7!important;background:#f4f4ff!important;color:#4b4bb5!important}.gantt-controls .gantt-history-toggle{margin-left:auto!important}.risk-source{display:block;margin-top:3px;color:#858799;font-size:11px;font-weight:400}@media(max-width:760px){.gantt-shell{min-width:calc(250px + var(--gantt-track-width,720px))}.gantt-project-row,.gantt-head{grid-template-columns:250px minmax(var(--gantt-track-width,720px),1fr)}.gantt-project-label{padding-left:12px;padding-right:12px}.gantt-project-label strong,.gantt-project-label small{white-space:normal}.gantt-project-row{min-height:102px}.gantt-controls .gantt-history-toggle{margin-left:0!important}}
.lifecycle-gap-decision{display:grid;gap:7px;padding:13px 14px;border:1px solid #e4e6ed;border-radius:8px;background:#fcfcfe}.lifecycle-gap-decision>strong{color:#35354c;font-size:14px}.lifecycle-gap-decision>small{color:#7a7c8f;font-size:12px;line-height:1.5}.lifecycle-gap-decision>select{max-width:280px}.lifecycle-gap-input label{display:grid;gap:5px;color:#62657a;font-size:12px}.lifecycle-gap-input textarea{min-height:66px}
.lifecycle-stage-heading{margin:8px 0 0;padding:10px 12px;border-left:3px solid #5b5bd6;background:#f8f8ff;color:#444661;line-height:1.55}.lifecycle-stage-heading small{color:#777b93}.lifecycle-stage-decision{border-color:#d9ddf3;background:#fbfcff}
.portfolio-drilldown-title{min-width:0}.portfolio-drilldown-owners{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.portfolio-drilldown-owners>strong{width:100%;color:#4b4d63;font-size:12px}.portfolio-owner-chip{min-height:30px!important;margin:0!important;padding:5px 9px!important;border:1px solid #e0e3ea!important;border-radius:6px!important;background:#fff!important;color:#64667b!important;font-size:12px!important;font-weight:600!important}.portfolio-owner-chip.active,.portfolio-owner-chip:hover:not(:disabled){border-color:#cfcff1!important;background:#f5f5ff!important;color:#4b4bb5!important}.portfolio-drilldown-tasks button{display:block;width:100%;margin:0!important;padding:7px 0!important;border:0!important;border-bottom:1px solid #eceef3!important;border-radius:0!important;background:transparent!important;color:#4e5070!important;text-align:left;font-size:12px!important;font-weight:600!important}.portfolio-drilldown-tasks button:last-child{border-bottom:0!important}.portfolio-drilldown-tasks button:hover:not(:disabled){color:#4b4bb5!important}

/* 项目内第二层只用于负责人下钻，保持为紧凑筛选条而非新增仪表盘卡片。 */
.project-owner-panel{margin-top:18px;border:1px solid #e5e7ed;border-radius:8px;background:#fff}.project-owner-panel .panel-heading{padding:13px 18px}.project-owner-list{display:flex;flex-wrap:wrap;gap:8px;padding:12px 18px}.project-owner-chip{display:inline-flex!important;align-items:center;gap:7px;min-height:32px!important;padding:6px 10px!important;border:1px solid #e1e3eb!important;border-radius:6px!important;background:#fff!important;color:#55566d!important;font-size:12px!important;font-weight:400!important;box-shadow:none!important}.project-owner-chip strong{font-weight:600}.project-owner-chip small{color:#858799;font-size:11px}.project-owner-chip:hover:not(:disabled),.project-owner-chip.active{border-color:#cfcff1!important;background:#f5f5ff!important;color:#4a4ab4!important}.project-owner-empty{display:block;color:#858799;font-size:12px;line-height:1.6}
.drawer-history{display:block;margin-top:14px;padding-top:12px;border-top:1px solid #eceef3;color:#55566d;line-height:1.65}.drawer-boundary{display:block;margin-top:8px;color:#858799;line-height:1.55}

/* 项目时间线采用启动—完成区间文案；已确认但尚待回写 Base 的完成日期必须可见，不能伪装成已同步。 */
.timeline-list button span em{margin-left:6px;color:#9a6c0d;font-size:11px;font-style:normal;font-weight:400}
.timeline-correction{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;margin-top:14px;padding:13px 16px;border:1px solid #eadfbf;border-radius:8px;background:#fffdf7}.timeline-correction strong{color:#5c4a1c;font-size:13px}.timeline-correction p{margin:5px 0;color:#6f6243;font-size:12px;line-height:1.55}.timeline-correction small{color:#877a5b;font-size:11px}.timeline-correction button{align-self:center;min-height:34px!important;border-color:#b9a35b!important;background:#fff!important;color:#6f5918!important;font-size:12px!important}.timeline-correction-result{grid-column:1/-1;min-height:0}@media(max-width:620px){.timeline-correction{grid-template-columns:1fr}.timeline-correction button{justify-self:start}}
.queue-project-confirmation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 14px 12px;padding-top:10px;border-top:1px solid #eef0f4;color:#65677a;font-size:12px}.queue-project-confirmation label{display:flex;align-items:flex-start;gap:5px;line-height:1.5}.queue-project-confirmation input{width:auto;margin-top:2px}.queue-project-confirmation button{flex:0 0 auto}.queue-project-blocked{margin:0 14px 12px;padding-top:10px;border-top:1px solid #eef0f4;color:#9a6c0d;font-size:12px;line-height:1.5}.check-options{display:flex;gap:8px;flex-wrap:wrap;padding:8px;border:1px solid #cfd7e6;border-radius:6px;background:#fff}.check-options label{display:flex!important;align-items:center;gap:4px;font-size:13px}.check-options input{width:auto!important}@media(max-width:700px){.queue-project-confirmation{align-items:flex-start;flex-direction:column}.queue-project-confirmation button{width:100%}}
.member-submission-mode{margin:10px 0 16px;padding:10px 12px;border:1px solid #dfe4ed;border-left:3px solid #7d8291;border-radius:7px;background:#fafbfc;color:#596274;font-size:13px;line-height:1.55}.member-submission-mode.write-enabled{border-color:#cdddeb;border-left-color:#3f51b5;background:#f7f8ff;color:#414c75}.member-submission-mode.preview-only{border-color:#eadfbc;border-left-color:#b28a39;background:#fffdf7;color:#706043}
.project-collaboration-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid #e5e7ed;border-radius:8px;background:#fafaff}.project-collaboration-panel h3{margin:0;color:#303046;font-size:15px}.project-collaboration-panel p{max-width:620px;margin:6px 0 0;color:#77798b;font-size:13px;line-height:1.6}.project-collaboration-actions{display:flex;flex:0 0 auto;align-items:center;gap:10px}.project-collaboration-actions .project-primary-action{min-height:36px!important}.project-collaboration-actions .text-action{min-height:36px!important;padding:0 8px!important}@media(max-width:700px){.project-collaboration-panel{align-items:flex-start;flex-direction:column}.project-collaboration-actions{width:100%;flex-wrap:wrap}.project-collaboration-actions .project-primary-action{flex:1}.project-collaboration-actions .text-action{padding-left:0!important}}
.close-task-picker{display:grid;gap:10px;margin:12px 0 16px;padding:14px 16px;border:1px solid #dce5f1;border-radius:9px;background:#fafcff}.close-task-picker-heading{display:flex;align-items:flex-start;gap:9px}.close-task-picker-heading>span{display:grid;flex:0 0 22px;width:22px;height:22px;place-items:center;border-radius:50%;background:#e9eaff;color:#4648b8;font-size:12px;font-weight:700}.close-task-picker-heading strong{display:block;color:#274466;font-size:14px}.close-task-picker-heading small{display:block;margin-top:3px;color:#74869c;font-size:12px;line-height:1.45}.close-task-picker label{display:grid;gap:5px;max-width:760px;color:#49627f;font-size:13px;font-weight:600}.close-task-picker select{width:100%}.close-task-picker .hint{margin:0;color:#74869c;font-size:12px}@media(max-width:700px){.close-task-picker{padding:13px}}

/* 首发界面：先给成员最常用的入口，再保留完整分区导航。 */
.badge{border:1px solid #d2e8df;background:#eef9f4;color:#24724c;font-weight:700}.workspace-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}.workspace-quick-actions button{display:grid;min-height:74px;gap:5px;align-content:center;padding:12px 14px!important;border:1px solid #dbe5ef!important;border-radius:10px!important;background:#fff!important;color:#294b6d!important;text-align:left;box-shadow:0 1px 2px #173b6d0a}.workspace-quick-actions button:hover:not(:disabled){border-color:#6ca7df!important;background:#f6faff!important;box-shadow:0 5px 14px #173b6d12}.workspace-quick-actions strong{font-size:14px}.workspace-quick-actions small{color:#72849a;font-size:12px;font-weight:400;line-height:1.35}.workspace-quick-actions button:first-child{border-color:#9dc5ec!important;background:#f4f9ff!important}.workspace-quick-actions button:first-child strong{color:#1265b2}@media(max-width:900px){.workspace-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.workspace-quick-actions{grid-template-columns:1fr}.workspace-quick-actions button{min-height:62px}}

/* 待办以项目为第一层级，默认仅展开最优先项目；既保留上下文，也避免几十条事项平铺。 */
.queue-list{gap:10px}.queue-project-group{overflow:hidden;border:1px solid #e6e8ee;border-radius:8px;background:#fff}.queue-project-group>summary{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:48px;padding:11px 14px;background:#fafafd;color:#38384f;cursor:pointer;list-style:none}.queue-project-group>summary::-webkit-details-marker{display:none}.queue-project-group>summary:before{grid-column:1;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:6px solid #7b7d90;content:"";transition:transform .15s}.queue-project-group[open]>summary:before{transform:rotate(90deg)}.queue-project-title{grid-column:2;overflow:hidden;font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.queue-project-meta{grid-column:3;grid-row:1;color:#7d7f91;font-size:12px;white-space:nowrap}.queue-project-items{padding:0 14px 2px}.queue-project-items .queue-item:first-child{border-top:1px solid #eceef3}@media(max-width:700px){.queue-project-group>summary{grid-template-columns:14px minmax(0,1fr);gap:6px}.queue-project-meta{grid-column:2;grid-row:auto;white-space:normal}.queue-project-items{padding:0 12px 2px}}

/* 项目总图下钻始终紧跟被点击项目行，且必须作为独立完整行渲染。
   不使用 grid，避免时间轴的粘性项目标签覆盖展开的负责人/事项内容。 */
.gantt-project-entry{display:block;min-width:100%}
.management-risk-details{grid-column:1/-1;min-width:0}.management-risk-details h3{margin:12px 0;font-size:15px}.management-risk-details article{padding:14px 0;border-top:1px solid #e3eaf3;overflow-wrap:anywhere}.management-risk-details article small{display:block;color:#637895}.management-risk-details article p{margin:6px 0;white-space:normal}
.gantt-drilldown-slot{height:380px;border-top:1px solid #e3e9f2;background:#fbfdff}
.portfolio-gantt>.portfolio-inline-drilldown{position:absolute;z-index:5;right:0;left:0;box-sizing:border-box;margin:0;border-width:1px 0 0;border-radius:0;background:#fbfdff;visibility:hidden}

/* 项目内执行甘特：与项目总图分开呈现事项级计划，点击任一行仍复用现有事项详情抽屉。 */
.execution-gantt{overflow:auto;border:1px solid #e5e7ed;border-radius:8px;background:#fff}.execution-gantt .timeline-caption{padding:15px 18px;border-bottom:1px solid #eceef3}.execution-gantt-head,.execution-gantt-row{display:grid!important;grid-template-columns:minmax(210px,1fr) minmax(360px,2.2fr) 190px;gap:14px;min-width:790px}.execution-gantt-head{align-items:end;padding:11px 18px;color:#77798b;font-size:11px;font-weight:700}.execution-gantt-months{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0}.execution-gantt-months span{overflow:hidden;padding-right:6px;border-left:1px solid #eceef3;color:#77798b;text-overflow:ellipsis;white-space:nowrap}.execution-gantt-body{min-width:790px;border-top:1px solid #eceef3}.execution-gantt-row{width:100%;min-height:70px!important;margin:0!important;padding:0 18px!important;border:0!important;border-bottom:1px solid #eef0f4!important;border-radius:0!important;background:#fff!important;text-align:left}.execution-gantt-row:hover:not(:disabled){background:#fafaff!important}.execution-gantt-row:last-child{border-bottom:0!important}.execution-gantt-name{display:grid;gap:3px;min-width:0}.execution-gantt-name strong{overflow:hidden;color:#35354c;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.execution-gantt-name small,.execution-gantt-date{overflow:hidden;color:#818395;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.execution-gantt-track{position:relative;display:block;height:26px;border-radius:4px;background:repeating-linear-gradient(90deg,#f6f7fa 0,#f6f7fa calc(100% / 6 - 1px),#e8eaf0 calc(100% / 6 - 1px),#e8eaf0 calc(100% / 6))}.execution-gantt-track>i{position:absolute;top:0;bottom:0;width:1px;background:#e8eaf0}.execution-gantt-track>b{position:absolute;min-width:5px;border-radius:99px}.execution-gantt-track>b.plan{top:5px;height:5px;border:1px dashed #aeb5cf;background:#e9ebf6}.execution-gantt-track>b.actual{top:15px;height:7px;background:#7d7dd2}.execution-gantt-track>b.actual.done{background:#6fa487}.execution-gantt-track>b.actual.risk{background:#c57970}.execution-gantt-track>b.plan.milestone{width:10px!important;height:10px;transform:rotate(45deg);border-style:solid;background:#f3e7c7}.execution-gantt-event{z-index:3;top:12px!important;bottom:auto!important;width:8px!important;height:8px!important;transform:translateX(-50%);border:2px solid #fff;border-radius:50%;background:#4d9a78;box-shadow:0 0 0 1px #4d9a78}.execution-gantt-forecast{z-index:3;top:13px!important;bottom:auto!important;width:0!important;height:0!important;transform:translateX(-50%);border-top:0!important;border-right:6px solid transparent;border-bottom:9px solid #d39d45;border-left:6px solid transparent;background:transparent!important}.execution-gantt-date{display:grid;gap:3px;font-weight:500;white-space:normal}.execution-gantt-date b{color:#616277;font-weight:600}.execution-gantt-date small{color:#8a6a45;font-size:10px}@media(max-width:700px){.execution-gantt{margin-right:-2px}.execution-gantt-head,.execution-gantt-row{grid-template-columns:185px minmax(300px,1fr) 155px;min-width:650px}.execution-gantt-head,.execution-gantt-row{padding-right:12px!important;padding-left:12px!important}}

/* 事项抽屉只呈现按事项编号精确关联的推进记录：当前状态与历史过程同时可见。 */
.drawer-body{color:#65768d;font-size:13px;line-height:1.7}.task-history{margin:16px 0 12px;padding:13px 0 0;border-top:1px solid #e8edf3}.task-history h4{margin:0 0 10px;color:#39425d;font-size:13px}.task-history h4 small{margin-left:4px;color:#858799;font-size:11px;font-weight:400}.task-history ol{display:grid;gap:12px;margin:0;padding:0;list-style:none}.task-history li{display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px;position:relative}.task-history li:before{position:absolute;top:6px;left:82px;width:7px;height:7px;border-radius:50%;background:#5b5bd6;content:""}.task-history time{color:#858799;font-size:11px}.task-history li div{padding-left:8px;border-left:1px solid #e4e6ef}.task-history li strong{color:#55566d;font-size:12px}.task-history li p{margin:3px 0;color:#65768d;font-size:12px;line-height:1.5}.task-history li small{color:#8a6a45;font-size:11px}.task-history.empty p{margin:0;color:#7b7d90;font-size:12px}.drawer-boundary{display:block;margin-top:10px;color:#8a8b99;font-size:11px;line-height:1.5}

/* 成品界面层：模块名称承担导航，说明文字只在需要时作为辅助，不占据首屏。 */
.member-submission > .hint{display:none!important}
.workspace-intro{display:flex;align-items:baseline;gap:10px;margin:0 0 10px!important;padding:0 0 8px!important;border-bottom:1px solid #e8e9ef!important}.workspace-intro .eyebrow{margin:0!important;color:#77798b!important;font-size:12px!important;font-weight:700!important;letter-spacing:.08em}.workspace-intro h2{margin:0!important;font-size:22px!important}.workspace-intro p:last-child{display:none}.workspace-quick-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 12px}.workspace-quick-actions button{min-height:48px!important;padding:10px 12px!important;border-radius:8px!important}.workspace-quick-actions small{display:none}.workspace-quick-actions strong{font-size:13px}.workspace-panel-context{min-height:0!important;margin:0 0 10px!important;padding:7px 10px!important;border:0!important;border-left:2px solid #d9daf6!important;border-radius:0!important;background:transparent!important;color:#858799!important;font-size:12px!important}.workspace-subnav{gap:6px!important;padding:0!important;border:0!important;background:transparent!important}.workspace-subnav button{padding:7px 10px!important;border:1px solid #e4e5eb!important;border-radius:7px!important;background:#fff!important;font-size:12px!important}.workspace-subnav button.active{border-color:#d5d5f5!important;background:#f5f5ff!important}.platform-content>.next{margin-top:10px!important}.member-submission>:is(.hint,.member-form>p.hint){font-size:12px}.member-submission>:is(.hint){margin:4px 0!important;color:#858799}.member-pane-tabs{margin:10px 0!important}.project-planning-hub{padding:18px;border:1px solid #e5e7ed;border-radius:8px;background:#fff}.project-planning-hub h3{margin:0 0 4px;color:#303046;font-size:17px}.project-planning-hub>.hint{margin:0;color:#77798b;font-size:13px;line-height:1.55}.project-planning-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}.project-planning-choices button{display:grid!important;gap:5px;min-height:92px!important;padding:14px!important;border:1px solid #e1e2ea!important;border-radius:8px!important;background:#fff!important;text-align:left}.project-planning-choices button:hover:not(:disabled){border-color:#bfc0f0!important;background:#fafaff!important}.project-planning-choices strong{color:#3b3b56;font-size:14px}.project-planning-choices small{color:#7b7d90;font-size:12px;font-weight:400;line-height:1.5}@media(max-width:700px){.workspace-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.project-planning-choices{grid-template-columns:1fr}.workspace-intro{align-items:flex-start;flex-direction:column;gap:2px}}

@media(max-width:900px){.platform-sidebar{min-width:0}.workspace-nav{min-width:0;max-width:100%}}
/* Personnel identity binding: scoped release styles. */
.role-identity-binding-panel{box-sizing:border-box;min-width:0;margin-top:24px;border:1px solid #dce6f2;border-radius:14px;padding:20px;background:#f8fbff}
.role-identity-binding-panel h3{margin-top:0;font-size:18px;line-height:1.5}
.role-identity-binding-panel label{display:block;font-size:14px;line-height:1.6;color:#304b6d}
.role-identity-binding-panel textarea,.identity-binding-proof,.identity-proof-controls textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;min-height:100px;margin:8px 0 12px;border:1px solid #dce6f2;border-radius:10px;padding:12px;font:14px/1.5 system-ui,sans-serif;resize:vertical;overflow-wrap:anywhere}
.role-identity-binding-panel textarea:focus{outline:2px solid #2478ef;outline-offset:2px}
#role-registry-management .inline-actions,.identity-proof-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}
#role-registry-management .inline-actions .hint,.identity-proof-controls textarea,.identity-proof-controls .hint{flex-basis:100%;overflow-wrap:anywhere}
#role-registry-management button{max-width:100%;white-space:normal}
@media(max-width:600px){.role-identity-binding-panel{padding:14px}.role-identity-binding-panel .inline-actions button{width:100%}}
/* End personnel identity binding release styles. */
/* Contact permissions release: narrow viewport and picker contrast. */
#role-registry-choose{background:#1677ff!important;color:#fff!important;border-color:#1677ff!important}
@media(max-width:900px){.platform-sidebar,.platform-content{min-width:0;max-width:100%}.workspace-nav{min-width:0;max-width:100%;box-sizing:border-box}}
/* End contact permissions release styles. */
/* 所有甘特统一：项目总图做聚合，事项甘特做明细，但均使用计划 / 实际 / 预测 / 过程四层。 */
.gantt-project-plan{position:absolute!important;z-index:1;top:46px!important;height:7px;border:1px dashed #9296ad;border-radius:999px;background:#edf0f5}.gantt-project-plan.derived{border-color:#b2b6c4;background:#f7f8fa}.gantt-project-actual{position:absolute!important;z-index:2;top:59px!important;height:7px;border-radius:999px;background:#6464c7}.gantt-project-actual.done{background:#62927b}.gantt-project-actual.risk{background:#b46f70}.gantt-project-event{position:absolute!important;z-index:5;top:calc(28px - var(--event-lane) * 9px)!important;bottom:auto!important;width:8px!important;height:8px!important;transform:translateX(-50%);border:2px solid #fff;border-radius:50%;background:#5f9a81;box-shadow:0 0 0 1px #5f9a81}.gantt-project-forecast{position:absolute!important;z-index:6;top:53px!important;bottom:auto!important;width:0!important;height:0!important;transform:translateX(-50%);border-top:0!important;border-right:5px solid transparent;border-bottom:9px solid #c49642;border-left:5px solid transparent;background:transparent!important}.gantt-milestone{top:calc(8px + var(--node-lane, 0) * 14px)!important;z-index:4}.gantt-legend{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 7px}.gantt-legend i.plan{width:17px;height:5px;border:1px dashed #9296ad;border-radius:99px;background:#edf0f5}.gantt-legend i.actual{width:17px;height:6px;border:0;border-radius:99px;background:#6464c7}.gantt-legend i.event{width:7px;height:7px;border:1px solid #fff;background:#5f9a81;box-shadow:0 0 0 1px #5f9a81}.gantt-legend i.forecast{width:0;height:0;border-top:0;border-right:5px solid transparent;border-bottom:8px solid #c49642;border-left:5px solid transparent;border-radius:0;background:transparent}
.gantt-months{position:relative}.gantt-today-label{position:absolute!important;z-index:5;top:3px;transform:translateX(4px);color:#5b5bd6;font-size:10px;font-weight:700;line-height:1;pointer-events:none}.gantt-body .gantt-track:before{content:none}
.project-source-audit {
  margin: 12px 0;
  padding: 14px 18px;
  border: 1px solid #dfe8f1;
  border-radius: 11px;
  background: #fff;
  color: #637895;
  font-size: 13px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.project-source-audit > summary { color: #24466c; font-weight: 600; cursor: pointer; }
.project-source-audit > summary:focus-visible { outline: 2px solid #1b78e8; outline-offset: 4px; }
.project-source-audit > ul { margin: 10px 0; padding-left: 20px; }
.project-source-audit li { padding: 0; border: 0; }
.project-source-audit li + li { margin-top: 5px; }
@media (max-width: 620px) { .project-source-audit { padding: 12px 14px; } }
.management-storage-check { margin: 24px 20px 20px; padding-top: 20px; border-top: 1px solid #dfe8f1; overflow-wrap: anywhere; }
.management-storage-check h3 { margin: 0 0 10px; color: #24466c; font-size: 16px; }
.management-storage-check [role="status"] { margin-top: 12px; line-height: 1.65; }
.management-storage-check [data-state="required"], .management-storage-check [data-state="failed"] { color: #986319; }
.management-storage-check-list { margin: 12px 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.management-storage-check-list li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; padding: 10px 12px; border: 1px solid #e3ebf4; border-radius: 8px; background: #f8fbff; }
.management-storage-check-list strong { color: #24466c; font-size: 13px; }
.management-storage-check-list span, .management-storage-check-list small { color: #637895; font-size: 12px; }
.management-storage-check .management-storage-check-list li > span { width: auto; flex: 0 0 auto; white-space: nowrap; color: #637895; }
.management-storage-check-list small { flex-basis: 100%; line-height: 1.65; }
.management-storage-check details { margin-top: 10px; color: #637895; font-size: 13px; line-height: 1.65; }
.management-storage-check summary { cursor: pointer; color: #24466c; font-weight: 600; }
.management-storage-check summary:focus-visible { outline: 2px solid #1677ff; outline-offset: 3px; }
.management-storage-check details ul { padding-left: 20px; }
.management-storage-check details li { border: 0; padding: 0; margin-top: 6px; }
@media (max-width: 620px) { .management-storage-check { margin-right: 14px; margin-left: 14px; } .management-storage-check > button { width: 100%; white-space: normal; } }
