.project-monitor-detail{font-size:13px;line-height:1.5;min-width:0;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;gap:var(--ipc-section-gap, 12px)}.pmd-summary-row{flex-shrink:0;margin-bottom:0}.pmd-summary-card{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff;border:1px solid #f0f0f0;border-radius:8px;box-shadow:0 1px 4px #0000000a;min-height:72px}.pmd-summary-card__left{display:flex;align-items:center;gap:12px}.pmd-summary-card__icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pmd-summary-card__icon--total{background:color-mix(in srgb,var(--color-warning) 12%,white);color:var(--color-warning)}.pmd-summary-card__icon--normal{background:color-mix(in srgb,var(--color-success) 12%,white);color:var(--color-success)}.pmd-summary-card__icon--risk{background:color-mix(in srgb,var(--color-error) 12%,white);color:var(--color-error)}.pmd-summary-card__label{font-size:14px;color:#595959;font-weight:400}.pmd-summary-card__value{font-size:28px;font-weight:600;color:#262626;line-height:1}.pmd-summary-card__value--risk{color:#ff4d4f}.pmd-monitor-tabs.ant-tabs{flex:1;min-height:0;display:flex;flex-direction:column;margin-bottom:0}.pmd-monitor-tabs>.ant-tabs-nav{flex-shrink:0;margin-bottom:var(--ipc-section-gap, 12px)}.pmd-monitor-tabs>.ant-tabs-content-holder{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.pmd-monitor-tabs>.ant-tabs-content-holder>.ant-tabs-content{flex:1;min-height:0;display:flex;flex-direction:column}.pmd-monitor-tabs .ant-tabs-tabpane.ant-tabs-tabpane-active{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;overflow:hidden}.pmd-tab-panel-card.ant-card{flex:1;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.pmd-tab-panel-card>.ant-card-head{flex-shrink:0}.pmd-tab-panel-card>.ant-card-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;gap:var(--ipc-section-gap, 12px)}.pmd-risk-filter-row,.pmd-matrix-filter-row,.pmd-matrix-legend{flex-shrink:0}.pmd-table-panel{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface, #fff);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius, 8px)}.pmd-table-body{flex:1;min-height:0;overflow:hidden}.pmd-table-body .ant-table-body,.pmd-table-body .ant-table-content,.pmd-detail-table-wrap .ant-table-body,.pmd-detail-table-wrap .ant-table-content{overflow:auto!important}.pmd-table-pagination.ipc-pagination{flex-shrink:0;margin:4px 0 0}.pmd-monitor-tabs>.ant-tabs-nav:before{border-bottom:1px solid #f0f0f0}.pmd-monitor-tabs .ant-tabs-nav-list{gap:32px}.pmd-monitor-tabs .ant-tabs-tab{padding:8px 0;margin:0!important;font-size:14px;color:#595959}.pmd-monitor-tabs .ant-tabs-tab+.ant-tabs-tab{margin-left:0!important}.pmd-monitor-tabs .ant-tabs-tab:hover{color:var(--color-primary)}.pmd-monitor-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--color-primary);font-weight:500}.pmd-monitor-tabs .ant-tabs-ink-bar{background:var(--color-primary);height:2px}.pmd-risk-ranking-card.ant-card{border:none;border-radius:0;background:transparent;box-shadow:none}.pmd-risk-ranking-card>.ant-card-head{border-bottom:1px solid #f0f0f0;background:#fff;padding:14px 20px;min-height:auto}.pmd-risk-ranking-card>.ant-card-head .ant-card-head-title{font-size:15px;font-weight:600;color:#262626}.pmd-risk-ranking-card__title-icon{color:#faad14;margin-right:8px}.pmd-risk-ranking-card>.ant-card-body{padding:0}.pmd-risk-filter-row,.pmd-matrix-filter-row,.pmd-node-analysis-modal__filters{flex-wrap:nowrap;gap:12px;align-items:center;margin-bottom:0}.pmd-matrix-filter-row.ipc-filter-bar{padding:0}.pmd-filter-field{display:flex;flex-direction:column;gap:6px}.pmd-filter-field--inline{flex-direction:row;align-items:center;gap:8px}.pmd-filter-field-label{font-size:13px;color:#262626;font-weight:400;line-height:1;white-space:nowrap}.pmd-risk-filter-row .pmd-filter-brand.ant-select{width:140px;flex:0 0 140px}.pmd-risk-filter-row .pmd-filter-code.ant-input,.pmd-risk-filter-row .pmd-filter-code.ant-input-affix-wrapper{width:160px;flex:0 0 160px}.pmd-risk-filter-row .pmd-filter-name.ant-input,.pmd-risk-filter-row .pmd-filter-name.ant-input-affix-wrapper{width:200px;flex:0 0 200px}.pmd-risk-ranking-card .pmd-risk-table .ant-table-thead>tr>th{background:#fafafa;color:#262626;font-weight:500;border-bottom:1px solid #f0f0f0}.pmd-risk-ranking-card .pmd-risk-table .ant-table-thead>tr>th:before{display:none}.pmd-risk-ranking-card .pmd-risk-table .ant-table-tbody>tr:not(.ant-table-measure-row)>td{border-bottom:1px solid #f0f0f0;color:#262626;padding-inline:16px!important}.pmd-risk-ranking-card .pmd-risk-table .ant-table-thead>tr>th{padding-inline:16px!important}.pmd-risk-ranking-card .pmd-risk-table .ant-table-tbody>tr.ant-table-row:hover>td{background:#fafafa!important}.pmd-count-unit{color:#262626}.pmd-count-num--delayed{color:#ff4d4f;font-weight:600}.pmd-count-num--risk{color:#fa8c16;font-weight:600}.pmd-delay-days{color:#262626;font-weight:500}.pmd-delay-days--overdue{color:#ff4d4f}.pmd-filter-bar{margin-bottom:0}.pmd-content-card.ant-card{border:1px solid #f0f0f0;border-radius:8px;background:#fff;box-shadow:0 1px 4px #0000000a}.pmd-content-card>.ant-card-body{padding:16px 20px 20px}.pmd-content-card .ant-table-thead>tr>th{background:#fafafa;color:#262626;font-weight:500}.pmd-matrix-card .pmd-matrix-table .ant-table-thead>tr>th{background:#fafafa;color:#262626;font-weight:500;border-bottom:1px solid #f0f0f0;padding-inline:16px!important}.pmd-matrix-card .pmd-matrix-table .ant-table-thead>tr>th:before{display:none}.pmd-matrix-card .pmd-matrix-table .ant-table-tbody>tr:not(.ant-table-measure-row)>td{border-bottom:1px solid #f0f0f0;color:#262626;padding-inline:16px!important}.pmd-matrix-card .pmd-matrix-table .ant-table-tbody>tr.ant-table-row:hover>td{background:#fafafa!important}.pmd-matrix-card.ant-card{border:none;border-radius:0;background:transparent;box-shadow:none}.pmd-matrix-card>.ant-card-head{border-bottom:1px solid #f0f0f0;background:#fff;padding:14px 20px;min-height:auto}.pmd-matrix-card>.ant-card-head .ant-card-head-title{font-size:15px;font-weight:600;color:#262626}.pmd-matrix-card__title-icon{color:var(--color-primary);margin-right:8px}.pmd-matrix-card>.ant-card-body{padding:0}.pmd-matrix-filter-row .pmd-matrix-filter-keyword.ant-input,.pmd-matrix-filter-row .pmd-matrix-filter-keyword.ant-input-affix-wrapper{width:180px;flex:0 0 180px}.pmd-matrix-filter-row .pmd-matrix-filter-node.ant-select{width:160px;flex:0 0 160px}.pmd-matrix-filter-row .pmd-matrix-filter-status.ant-select,.pmd-matrix-filter-row .pmd-matrix-filter-risk.ant-select{width:200px;flex:0 0 200px;min-width:200px}.pmd-matrix-project-info{display:flex;flex-direction:column;gap:0;line-height:22px}.pmd-project-link{border:none;background:none;color:var(--color-primary);cursor:pointer;padding:0;text-align:left;max-width:100%;font:inherit}.pmd-project-link:hover{text-decoration:underline}.pmd-matrix-project-info__name{font-size:13px;font-weight:600;text-align:left}.pmd-matrix-project-info__code{font-size:12px;font-weight:400}.pmd-matrix-cell{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:72px;font-size:13px;font-weight:500;line-height:1.4}.pmd-matrix-cell__badge{min-width:52px;text-align:center}.pmd-matrix-cell__dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.pmd-matrix-cell--empty{color:#bfbfbf}.pmd-matrix-legend{display:flex;flex-wrap:wrap;gap:16px 24px;margin-bottom:12px;padding:8px 0;font-size:12px;color:#595959}.pmd-matrix-legend__group{display:inline-flex;align-items:center;gap:10px}.pmd-matrix-legend__label{color:#8c8c8c}.pmd-matrix-legend__risk-item{display:inline-flex;align-items:center;gap:4px}.pmd-node-analysis-card.ant-card{border:none;border-radius:0;background:transparent;box-shadow:none}.pmd-node-analysis-card>.ant-card-head{border-bottom:1px solid #f0f0f0;background:#fff;padding:14px 20px;min-height:auto}.pmd-node-analysis-card>.ant-card-head .ant-card-head-title{font-size:15px;font-weight:600;color:#262626}.pmd-node-analysis-card__title-icon{color:var(--color-primary);margin-right:8px}.pmd-node-analysis-card>.ant-card-body{padding:0}.pmd-node-analysis-card .pmd-node-analysis-table .ant-table-thead>tr>th{background:#fafafa;color:#262626;font-weight:500;border-bottom:1px solid #f0f0f0;padding-inline:16px!important}.pmd-node-analysis-card .pmd-node-analysis-table .ant-table-thead>tr>th:before{display:none}.pmd-node-analysis-card .pmd-node-analysis-table .ant-table-tbody>tr:not(.ant-table-measure-row)>td{border-bottom:1px solid #f0f0f0;color:#262626;padding-inline:16px!important}.pmd-node-analysis-card .pmd-node-analysis-table .ant-table-tbody>tr.ant-table-row:hover>td{background:#fafafa!important}.pmd-node-analysis-node{display:flex;flex-direction:column;gap:2px;line-height:1.4}.pmd-node-analysis-node__name{font-size:13px;font-weight:600;color:#262626}.pmd-node-analysis-node__code{font-size:12px;color:#8c8c8c}.pmd-node-analysis-count{display:inline;border:none;background:none;padding:0;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;line-height:inherit}.pmd-node-analysis-count:hover{text-decoration:underline}.pmd-node-analysis-count--zero{color:#bfbfbf;font-weight:400;cursor:default}.pmd-node-analysis-modal__filters .pmd-filter-field-label{color:#595959;font-size:13px}.pmd-node-analysis-modal__filter-source.ant-select{width:140px;flex:0 0 140px}.pmd-node-analysis-modal__filter-keyword.ant-input,.pmd-node-analysis-modal__filter-keyword.ant-input-affix-wrapper{width:200px;flex:0 0 200px}.pmd-node-analysis-modal__filter-brand.ant-select{width:140px;flex:0 0 140px}.pmd-node-analysis-modal__filters .ant-select-selector,.pmd-node-analysis-modal__filters .ant-input{border-radius:6px}.pmd-node-analysis-modal__table-wrap{border:1px solid #f0f0f0;border-radius:6px;overflow:hidden}.pmd-node-analysis-modal__table.ant-table-wrapper{margin:0}.pmd-node-analysis-modal__table .ant-table{font-size:13px;color:#262626}.pmd-node-analysis-modal__table .ant-table-container{border-inline-start:none!important;border-start-start-radius:0;border-start-end-radius:0}.pmd-node-analysis-modal__table .ant-table-thead>tr>th{background:#fafafa!important;color:#595959;font-weight:400;font-size:13px;border-bottom:1px solid #f0f0f0;padding-inline:16px!important}.pmd-node-analysis-modal__table .ant-table-thead>tr>th:before{display:none}.pmd-node-analysis-modal__table .ant-table-tbody>tr:not(.ant-table-measure-row)>td{border-bottom:1px solid #f5f5f5;color:#262626;padding-inline:16px!important;vertical-align:middle}.pmd-node-analysis-modal__table .ant-table-tbody>tr:not(.ant-table-measure-row):last-child>td{border-bottom:none}.pmd-node-analysis-modal__table .ant-table-tbody>tr.ant-table-row:hover>td{background:#fafafa!important}.pmd-node-analysis-modal .pmd-matrix-project-info{gap:4px}.pmd-node-analysis-modal .pmd-matrix-project-info__name{color:#1a1a1a;font-weight:500;font-size:13px;line-height:1.5}.pmd-node-analysis-modal .pmd-matrix-project-info__code{color:#8c8c8c;font-weight:400;font-size:12px;line-height:1.4}.pmd-node-analysis-modal__status{font-size:13px;font-weight:400}.pmd-node-analysis-modal__risk{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:400;line-height:1}.pmd-node-analysis-modal__risk-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.pmd-node-analysis-modal__date{color:#262626;font-size:13px;font-variant-numeric:tabular-nums}.pmd-node-analysis-modal__pagination.ipc-pagination{margin:4px 0 0;padding:0;width:100%;background:transparent}.pmd-pill-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.pmd-pill{padding:4px 16px;border:1px solid #d9d9d9;border-radius:16px;background:#fff;font-size:13px;color:#595959;cursor:pointer;transition:all .2s;font-family:inherit}.pmd-pill:hover{border-color:var(--color-primary);color:var(--color-primary)}.pmd-pill--active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.pmd-pill--active:hover{background:#4096ff;color:#fff}.pmd-stat-card.ant-card{border:1px solid #f0f0f0;box-shadow:0 1px 4px #0000000a}.pmd-stat-card .ant-statistic-title{font-size:12px;color:#8c8c8c}.pmd-project-detail{font-size:13px;display:flex;flex-direction:column;flex:1 1 0;height:100%;max-height:100%;min-height:0;overflow:hidden}.pmd-detail-header{flex-shrink:0;margin-bottom:20px}.pmd-detail-back{padding-left:0;color:#595959}.pmd-detail-back:hover{color:var(--color-primary)}.pmd-detail-title{margin:4px 0 12px;font-size:20px;font-weight:600;color:#262626}.pmd-detail-meta{display:flex;flex-wrap:wrap;gap:24px;color:#595959;font-size:13px}.pmd-detail-table-wrap{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid #f0f0f0;border-radius:8px}.pmd-detail-table-wrap .ant-table-thead>tr>th{background:#fafafa;color:#262626;font-weight:500}.pmd-detail-table-wrap .ant-table-tbody>tr>td{border-bottom:1px solid #f0f0f0}.pmd-risk-indicator{display:inline-flex;align-items:center;gap:6px;color:#262626}.pmd-risk-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pmd-risk-days{color:#d46b08;font-weight:600}.pmd-delay-days-cell{color:#cf1322;font-weight:600}.pmd-note-modal-body{display:flex;flex-direction:column;gap:16px}.pmd-note-list{max-height:360px;overflow-y:auto;padding-left:4px}.pmd-note-item{display:flex;gap:12px;position:relative;padding-bottom:20px}.pmd-note-item:not(:last-child):before{content:"";position:absolute;left:5px;top:14px;bottom:0;width:2px;background:#e6f4ff}.pmd-note-item__dot{width:12px;height:12px;border-radius:50%;background:var(--color-primary);flex-shrink:0;margin-top:4px;position:relative;z-index:1}.pmd-note-item__header{display:flex;align-items:flex-start;gap:8px}.pmd-note-item__content{flex:1;min-width:0;color:#262626;font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.pmd-note-item__delete{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:1px;padding:0;border:none;border-radius:4px;background:transparent;color:#ff4d4f;font-size:12px;cursor:pointer;opacity:0;transition:opacity .15s ease,background .15s ease}.pmd-note-item:hover .pmd-note-item__delete{opacity:1}.pmd-note-item__delete:hover:not(:disabled){background:#fff1f0}.pmd-note-item__delete:disabled{cursor:not-allowed;opacity:.5}.pmd-note-item__meta{margin-top:6px;font-size:12px;color:#8c8c8c}.pmd-loading{text-align:center;padding:40px;color:#8c8c8c}.project-code-display--btn{margin:0;padding:0;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer}.project-code-multi--link{cursor:pointer}.project-code-popover{min-width:120px;max-width:280px;padding:2px 0}.project-code-popover__item{padding:2px 4px;color:var(--color-text, #1a1a1a);font-size:13px;line-height:1.6;white-space:nowrap}.spec-sku-display{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:100%;line-height:1.3}.spec-sku-display__title{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--color-text, #1a1a1a)}.spec-sku-display__skus{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--color-text-muted, #8c8c8c)}.ipc-rich-text{display:flex;flex-direction:column;gap:4px;min-width:0;width:100%}.ipc-rich-text__toolbar{display:inline-flex;flex-wrap:wrap;align-items:center;gap:2px;flex-shrink:0}.ipc-rich-text__sep{width:1px;height:14px;margin:0 2px;background:var(--color-border, #e2e8f0)}.ipc-rich-text__btn{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;width:24px;height:24px;border:0;border-radius:4px;background:transparent;color:var(--color-text-muted, #64748b);cursor:pointer}.ipc-rich-text__btn:hover{background:var(--color-muted, #f1f5f9);color:var(--color-text, #1a1a1a)}.ipc-rich-text__swatches{display:grid;grid-template-columns:repeat(5,22px);gap:6px;padding:4px}.ipc-rich-text__swatch{width:22px;height:22px;margin:0;padding:0;border:1px solid rgba(0,0,0,.12);border-radius:4px;cursor:pointer}.ipc-rich-text__swatch.is-clear{background:linear-gradient(to top right,transparent calc(50% - 1px),#ef4444 calc(50% - 1px),#ef4444 calc(50% + 1px),transparent calc(50% + 1px)),#fff}.ipc-rich-text__custom-color{position:relative;width:22px;height:22px;border:1px dashed var(--color-border, #cbd5e1);border-radius:4px;overflow:hidden;cursor:pointer;background:conic-gradient(from 0deg,#ef4444,#eab308,#22c55e,#3b82f6,#a855f7,#ef4444)}.ipc-rich-text__custom-color input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;border:0;padding:0}.ipc-rich-text__editor{box-sizing:border-box;width:100%;min-width:0;outline:none;word-break:break-word;overflow-wrap:anywhere;line-height:1.45;color:var(--color-text, #1a1a1a)}.ipc-rich-text__editor:empty:before{content:attr(data-placeholder);color:var(--color-text-muted, #94a3b8);pointer-events:none}.ipc-rich-text__editor ul,.ipc-rich-text__editor ol{margin:.25em 0;padding-inline-start:1.25em}.ipc-rich-text__editor p{margin:0 0 .35em}.ipc-rich-text__editor p:last-child{margin-bottom:0}.ipc-rich-text--block .ipc-rich-text__editor{min-height:72px;padding:8px 12px;border:1px solid var(--color-border, #d9d9d9);border-radius:var(--radius-md, 6px);background:var(--color-surface, #fff);font-size:13px}.ipc-rich-text--block .ipc-rich-text__editor:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 20%,transparent)}.ipc-rich-text--inline .ipc-rich-text__toolbar{margin-bottom:2px}.ipc-rich-text--inline .ipc-rich-text__btn{width:20px;height:20px}.ipc-rich-text--inline .ipc-rich-text__editor{min-height:18px;padding:2px 4px;border:1px solid var(--color-border, #d9d9d9);border-radius:4px;background:var(--color-surface, #fff);font-size:11px;line-height:18px}.ipc-rich-text--inline .ipc-rich-text__editor:focus{border-color:var(--color-primary)}.ipc-rich-text.is-disabled .ipc-rich-text__editor{color:var(--color-text-muted, #666);cursor:not-allowed;background:var(--color-surface, #fff)}.ipc-rich-text--block.is-disabled .ipc-rich-text__editor{border-color:var(--color-border, #d9d9d9);box-shadow:none}.ipc-rich-text-view{display:block;min-width:0;max-width:100%;word-break:break-word;overflow-wrap:anywhere;line-height:inherit}.ipc-rich-text-view ul,.ipc-rich-text-view ol{margin:.15em 0;padding-inline-start:1.1em}.ipc-rich-text-view p{margin:0 0 .25em}.ipc-rich-text-view p:last-child{margin-bottom:0}.dashboard-report{padding:0;font-size:13px;line-height:1.5}.dashboard-report-table-region{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface, #fff)}.dashboard-report-table-scroll{flex:1;min-height:0;overflow:hidden}.dashboard-report-pagination.ipc-pagination{flex-shrink:0;margin:4px 0 0;border-top:0;background:transparent}.dashboard-report-table-scroll .ant-table-body,.dashboard-report-table-scroll .ant-table-content{overflow:auto!important}.dashboard-report .proj-link{display:-webkit-box;overflow:hidden;max-width:100%;margin:0;padding:0;border:none;background:none;color:var(--color-primary);font:inherit;font-weight:500;line-height:1.35;text-align:left;word-break:break-word;overflow-wrap:anywhere;cursor:pointer;-webkit-box-orient:vertical;-webkit-line-clamp:3}.dashboard-report .proj-link:hover{text-decoration:underline}.dashboard-report .report-project-header{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;max-width:100%}.dashboard-report .report-project-code{width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#0000008c;line-height:1.3}.dashboard-report .report-project-tags{display:inline-flex;flex-wrap:wrap;gap:4px}.dashboard-report .report-spec-count{font-size:13px;color:#000000a6;font-weight:500;white-space:nowrap}.dashboard-report .report-summary-meta{font-size:13px;color:#000000a6;white-space:pre-line;word-break:break-word}.dashboard-report .report-spec-tag{margin:0}.dashboard-report .report-spec-cell{display:flex;flex-direction:row;align-items:flex-start;gap:6px;flex-wrap:nowrap;max-width:100%;min-width:0}.dashboard-report .report-spec-cell .report-spec-tag{flex-shrink:0;margin-inline-end:0}.dashboard-report .report-spec-data-cell{max-width:140px;overflow:hidden;vertical-align:middle}.dashboard-report .report-spec-data-cell .spec-sku-display{display:flex;width:100%;max-width:100%;min-width:0}.dashboard-report .report-spec-coverage{flex:1 1 0;min-width:0;display:-webkit-box;overflow:hidden;font-size:12px;color:#000000a6;line-height:1.35;word-break:break-word;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:3}.dashboard-report .ant-table-tbody>tr>td{vertical-align:middle;padding-inline:8px!important;border-bottom:1px solid var(--color-border, #e2e8f0)!important}.dashboard-report .ant-table-thead>tr>th{font-size:12px;padding-inline:8px!important;background:var(--color-muted, #f1f5f9)!important;border-bottom:1px solid var(--color-border, #e2e8f0)!important;color:var(--color-text, #020817)}.dashboard-report .report-header-project-cell{background:var(--color-muted, #f1f5f9)!important;max-width:180px;overflow:hidden}.dashboard-report .report-node-project-cell{background:#fff!important}.dashboard-report .report-row--header>td{background:var(--color-muted, #f1f5f9)!important}.dashboard-report .report-row--header>td.report-header-spec-cell,.dashboard-report .report-row--header>td.report-header-meta-cell,.dashboard-report .report-row--header>td.report-header-sync-cell,.dashboard-report .report-row--header>td.report-header-note-cell{background:var(--color-muted, #f1f5f9)!important}.dashboard-report .report-row--node>td{background:#fff!important}.dashboard-report .report-row--node:hover>td{background:var(--color-muted, #f1f5f9)!important}.dashboard-report .report-row--group-end>td{border-bottom:1px solid var(--color-border, #e2e8f0)!important}.dashboard-report .editable-cell{display:block;height:24px;min-height:24px;cursor:pointer;color:#000000e0;border-radius:4px;padding:0 4px;line-height:24px;box-sizing:border-box}.dashboard-report .editable-cell:hover{background:#f5f5f5}.dashboard-report .editable-cell--text{height:auto;min-height:22px;line-height:22px;overflow:visible;text-overflow:clip;white-space:pre-line;word-break:break-word;overflow-wrap:anywhere}.dashboard-report .editable-cell--rich{white-space:normal;color:#475569}.dashboard-report .editable-cell--rich.is-empty{color:#00000073}.dashboard-report .editable-cell--rich .ipc-rich-text-view{color:inherit;font:inherit;line-height:inherit}.dashboard-report .report-note-editor.ipc-rich-text{width:100%;min-width:0}.dashboard-report .report-note-editor.ipc-rich-text--inline .ipc-rich-text__editor{min-height:44px;font-size:12px;line-height:18px}.dashboard-report .report-note-editor.ipc-rich-text--block .ipc-rich-text__editor{min-height:56px;font-size:12px}.dashboard-report .editable-cell--status{display:inline-flex;align-items:center;justify-content:flex-start;min-height:24px;cursor:pointer}.dashboard-report .editable-cell--status .ipc-node-status-picker{padding:0}.dashboard-report .editable-cell--status:hover{background:var(--color-muted, #f1f5f9)}.dashboard-report .editable-cell--saving{opacity:.6;cursor:wait}.dashboard-report .status-anomaly-bg{display:inline-flex!important;align-items:center;gap:6px}.dashboard-report .anomaly-indicator{display:inline-flex;align-items:center;white-space:nowrap}.dashboard-report .anomaly-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ff4d4f;flex-shrink:0}.dashboard-report .ant-table input.ant-input,.dashboard-report .ant-table .ant-picker,.dashboard-report .ant-table .ant-select-selector{height:24px!important;min-height:24px!important}.dashboard-report .ant-table .ant-input,.dashboard-report .ant-table .ant-picker-input>input,.dashboard-report .ant-table .ant-select-selection-item{line-height:22px!important}.dashboard-report .report-status-editor{width:100%}.dashboard-report .report-status-editor .ant-select-selector{padding-top:0!important;padding-bottom:0!important}.dashboard-report .report-status-editor .ant-select-selection-item,.dashboard-report .report-status-editor .ant-select-selection-placeholder{line-height:22px!important}.dashboard-report .report-inline-editor{width:100%;box-sizing:border-box}.dashboard-report .anomaly-highlight>td:first-child{box-shadow:inset 3px 0 #ff3b30}.dashboard-report .report-filters{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.dashboard-report .report-filters-main{flex:1 1 0;min-width:0}.dashboard-report .report-batch-count{color:#1677ff;font-weight:500;white-space:nowrap}.dashboard-report .report-plan-end-range{display:flex;align-items:center;gap:4px}.dashboard-report .report-plan-end-sep{color:#00000073;flex-shrink:0}.dashboard{font-size:var(--font-size-base, 14px);line-height:1.5;min-width:0}.dashboard-page{display:flex;flex-direction:column;flex:1 1 0;height:100%;max-height:100%;min-height:0;overflow:hidden;gap:var(--ipc-section-gap, 12px)}.dashboard-summary-card{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff;border:1px solid #f0f0f0;border-radius:8px;box-shadow:0 1px 4px #0000000a;min-height:72px}.dashboard-summary-card__left{display:flex;align-items:center;gap:12px}.dashboard-summary-card__icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dashboard-summary-card__label{font-size:14px;color:#595959;font-weight:400}.dashboard-summary-card__value{font-size:28px;font-weight:600;color:#262626;line-height:1}.stats-row{margin-bottom:16px}.alerts-card.ant-card{height:100%;display:flex;flex-direction:column;border:1px solid #E8E4DF;box-shadow:0 1px 3px #1a18140d;border-left:3px solid #B54040}.alerts-card.ant-card .ant-card-body{flex:1;display:flex;flex-direction:column}.alerts-list{display:flex;flex-direction:column;gap:8px;flex:1;justify-content:center}.alerts-list .alert-item{margin-bottom:0}.alerts-list .alert-item.ant-alert{padding:8px 12px}.ant-card-head-title{display:flex;align-items:center}.filter-field-label{font-size:12px;color:#6e685e;margin-bottom:6px}.filter-hint{margin-top:12px;font-size:12px;color:#8f97aa;line-height:1.5}.project-progress-card.ant-card{border:none;box-shadow:none;background:transparent}.project-progress-toolbar{margin:0;padding-bottom:0;border-bottom:none}.project-progress-card .filter-hint{margin-top:10px;margin-bottom:0}.project-progress-card .proj-name,.project-progress-card .proj-brand{white-space:pre-line;word-break:break-word;overflow-wrap:anywhere}.project-progress-card .dashboard-ms{white-space:pre-line;max-width:100%}.dashboard-table-region{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface, #fff)}.dashboard-table-scroll{flex:1;min-height:0}.dashboard-table-scroll .ant-table-cell-fix-start,.dashboard-table-scroll .ant-table-cell-fix-end{background:#fff!important;background-clip:padding-box}.dashboard-table-scroll .ant-table-thead>tr>th.ant-table-cell-fix-start,.dashboard-table-scroll .ant-table-thead>tr>th.ant-table-cell-fix-end{background:var(--color-muted, #f1f5f9)!important;z-index:calc(var(--z-offset-reverse, 0) + 2)}.dashboard-table-scroll .ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell-fix-start,.dashboard-table-scroll .ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell-fix-end,.dashboard-table-scroll .ant-table-tbody>tr.ant-table-row-hover>td.ant-table-cell-fix-start,.dashboard-table-scroll .ant-table-tbody>tr.ant-table-row-hover>td.ant-table-cell-fix-end{background:var(--color-muted, #f1f5f9)!important}.dashboard-table-scroll .ant-table-fixed-header .ant-table-content{overflow:hidden!important}.dashboard-table-scroll .ant-table-fixed-header .ant-table-body{overflow:auto!important}.dashboard-table-scroll .ant-table:not(.ant-table-fixed-header) .ant-table-content{overflow:auto!important}.dashboard-table-scroll .ant-table:not(.ant-table-fixed-header) .ant-table-body{overflow:visible!important}.dashboard-table-scroll .dashboard-project-fixed-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.dashboard-table-scroll .ant-table-tbody>tr:hover>td.dashboard-project-fixed-cell,.dashboard-table-scroll .ant-table-tbody>tr.ant-table-row-hover>td.dashboard-project-fixed-cell{background:var(--color-muted, #f1f5f9)!important}.dashboard-table-scroll .dashboard-project-link{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.dashboard-table-pagination.ipc-pagination{flex-shrink:0;margin-top:4px;border-top:0}.dashboard-overview-note{flex-shrink:0;display:flex;align-items:center;flex-wrap:nowrap;gap:14px;min-height:28px;color:var(--color-text-muted, #64748b);font-size:12px;line-height:20px;overflow:hidden;white-space:nowrap}.dashboard-overview-note>span{display:inline-flex;align-items:center;gap:5px;min-width:0;flex-shrink:0}.dashboard-overview-note>span:first-child{overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.dashboard-link-btn{border:none;background:none;color:var(--color-primary);cursor:pointer;padding:0;text-align:left;max-width:100%;font:inherit}.dashboard-link-btn:hover{text-decoration:underline}.dashboard-ms{display:inline-block;min-width:52px;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;line-height:1.4;text-align:center;box-sizing:border-box}.dashboard-ms--empty{color:#bfbfbf;font-weight:400}.dashboard-ms--pending{color:#595959;background:#f5f5f5;border:1px solid #d9d9d9}.dashboard-ms--in_progress{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 28%,transparent);border-radius:9999px}.dashboard-ms--completed{color:#237804;background:#f6ffed;border:1px solid #b7eb8f}.dashboard-ms--delay{color:#cf1322;background:#fff1f0;border:1px solid #ffa39e;font-weight:600}.dashboard-ms--other{color:#722ed1;background:#f9f0ff;border:1px solid #d3adf7}.dashboard-toolbar{display:flex;align-items:center;margin-bottom:16px}.project-progress-card .project-progress-toolbar{flex-shrink:0}.import-config-modal.ant-modal .ant-modal-body{padding:0!important}.import-config-modal__title-text{font-size:16px;font-weight:600;color:inherit;line-height:1.4}.import-config-modal__body{display:flex;flex-direction:column;gap:0;padding:12px 20px;min-height:0;height:min(460px,calc(100vh - 240px));max-height:calc(100vh - 240px)}.import-config-modal__top{flex-shrink:0;display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.import-config-modal__hint{margin:0;font-size:12px;line-height:1.4;color:var(--color-text-muted)}.import-config-modal__filters{flex-wrap:nowrap;padding:0;border-bottom:0;align-items:center;margin:0}.import-config-modal__filters.ipc-filter-bar .import-config-modal__search,.import-config-modal__filters.ipc-filter-bar .import-config-modal__search.ant-input-affix-wrapper{width:260px;flex:0 0 260px}.import-config-modal__filters.ipc-filter-bar .import-config-modal__select{width:150px;flex:0 0 150px}.import-config-modal__list-panel.ipc-table-panel,.import-config-modal__version-table-panel.ipc-table-panel{min-height:0;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md, 6px)}.import-config-modal__list-wrap,.import-config-modal__version-table-wrap{min-height:0}.import-config-modal__project-table.ant-table-wrapper,.import-config-modal__version-table.ant-table-wrapper{flex:1;min-height:0}.import-config-modal__project-table.ant-table-wrapper .ant-table-tbody>tr:not(.ant-table-measure-row):last-child>td,.import-config-modal__version-table.ant-table-wrapper .ant-table-tbody>tr:not(.ant-table-measure-row):last-child>td{border-bottom:1px solid var(--color-border)}.import-config-modal__project-table.ant-table-wrapper .ant-table-thead>tr>th,.import-config-modal__version-table.ant-table-wrapper .ant-table-thead>tr>th{white-space:nowrap}.import-config-modal__project-table.ant-table-wrapper .ant-table-tbody>tr:not(.ant-table-measure-row)>td,.import-config-modal__version-table.ant-table-wrapper .ant-table-tbody>tr:not(.ant-table-measure-row)>td{vertical-align:middle}.import-config-modal__project-table.ant-table-wrapper .ant-table-tbody>tr.ant-table-measure-row,.import-config-modal__project-table.ant-table-wrapper .ant-table-tbody>tr.ant-table-measure-row>td,.import-config-modal__version-table.ant-table-wrapper .ant-table-tbody>tr.ant-table-measure-row,.import-config-modal__version-table.ant-table-wrapper .ant-table-tbody>tr.ant-table-measure-row>td{height:0!important;max-height:0!important;padding:0!important;border:0!important;line-height:0!important;font-size:0!important;overflow:hidden!important;visibility:collapse!important}.import-config-modal__project-table.ant-table-wrapper .ant-table-tbody>tr.import-config-modal__list-row.is-clickable>td{cursor:pointer;transition:background-color .15s ease}.import-config-modal__project-table.ant-table-wrapper .ant-table-tbody>tr.import-config-modal__list-row.is-clickable:hover>td{background:color-mix(in srgb,var(--color-primary) 6%,transparent)!important}.import-config-modal__project-table.ant-table-wrapper .ant-table-tbody>tr.import-config-modal__list-row.is-disabled>td{cursor:not-allowed;color:var(--color-text-muted);opacity:.72}.import-config-modal__col-project,.import-config-modal__col-brand,.import-config-modal__col-template{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-config-modal__col-count{color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.import-config-modal__col-count--empty{color:var(--color-text-muted);font-size:12px}.import-config-modal .ipc-table-shell--with-pagination{display:flex;flex-direction:column;gap:0;min-height:0;height:100%}.import-config-modal .ipc-table-shell--with-pagination>.ipc-table-panel{flex:1 1 auto;min-height:0}.import-config-modal__pagination.ipc-pagination{flex-shrink:0;margin:8px 0 0;padding:0 4px;height:40px;border:0;background:transparent}.import-config-modal__version-bar{flex-shrink:0;box-sizing:border-box;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;height:36px;margin:0 0 10px;padding:0;border-bottom:1px solid var(--color-border)}.import-config-modal__version-back{box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:4px;flex-shrink:0;height:28px;margin:0;padding:0 8px;border:0;border-radius:var(--radius-md, 6px);background:transparent;color:var(--color-text-muted);font-size:12px;line-height:1;white-space:nowrap;cursor:pointer}.import-config-modal__version-back svg{display:block;flex-shrink:0}.import-config-modal__version-back:hover{background:var(--color-muted);color:var(--color-text)}.import-config-modal__version-context{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.4}.import-config-modal__version-brand{font-weight:600;color:var(--color-text)}.import-config-modal__version-meta{font-weight:400;color:var(--color-text-muted)}.import-config-modal__body>.ipc-table-viewport__table{margin-top:0}.import-config-modal__version-bar+.ipc-table-viewport__table{margin-top:0}.import-config-modal__version-table.ant-table-wrapper .ant-table-tbody>tr.import-config-modal__version-table-row>td{cursor:pointer;transition:background-color .15s ease}.import-config-modal__version-table.ant-table-wrapper .ant-table-tbody>tr.import-config-modal__version-table-row:hover>td{background:color-mix(in srgb,var(--color-primary) 6%,transparent)!important}.import-config-modal__version-table.ant-table-wrapper .ant-table-tbody>tr.import-config-modal__version-table-row.is-selected>td{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface))!important}.import-config-modal__version-table.ant-table-wrapper .ant-table-tbody>tr.import-config-modal__version-table-row.is-selected>td:first-child{box-shadow:inset 3px 0 0 var(--color-primary)}.import-config-modal__version-check{display:inline-flex;align-items:center;justify-content:center}.import-config-modal__version-check .ant-radio-wrapper{margin-inline-end:0}.import-config-modal__version-no{font-weight:600;color:var(--color-text)}.import-config-modal__version-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-config-modal__version-num{font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.import-config-modal__footer{gap:8px}@media (max-width: 720px){.import-config-modal__filters{flex-wrap:wrap}.import-config-modal__filters.ipc-filter-bar .import-config-modal__search,.import-config-modal__filters.ipc-filter-bar .import-config-modal__search.ant-input-affix-wrapper,.import-config-modal__filters.ipc-filter-bar .import-config-modal__select{width:100%;flex:1 1 100%}}.project-schedule{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:13px;line-height:1.4;color:#1a1a1a;width:100%;max-width:100%;box-sizing:border-box}.project-schedule-detail{min-height:0;margin-top:calc(-1 * var(--app-content-edge-pad, 20px));margin-bottom:calc(-1 * var(--app-content-edge-pad, 20px));margin-left:calc(-1 * var(--app-content-edge-pad, 20px));width:calc(100% + var(--app-content-edge-pad, 20px));max-width:none;height:calc(100% + 2 * var(--app-content-edge-pad, 20px));max-height:calc(100% + 2 * var(--app-content-edge-pad, 20px));overflow:hidden}.project-schedule .form-label .required{color:#ff4d4f;margin-right:2px}.project-schedule .form-label{display:block;margin-bottom:6px;color:#666;font-size:12px;font-weight:500}.form-field-error{font-size:12px;color:#ff4d4f!important;margin-top:4px;line-height:1.4}.form-field-helper{margin-top:4px;color:var(--color-text-muted, #8c8c8c);font-size:12px;line-height:1.4}.ipd-create-divider{border-top:1px dashed var(--color-border, #e8e8e8);margin:0}.ipd-project-trigger{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 12px;border:1px solid var(--color-border, #d9d9d9);border-radius:var(--radius-md, 6px);background:var(--color-bg, #fff);cursor:pointer;text-align:left;color:inherit}.ipd-project-trigger:hover{border-color:var(--color-primary, #1677ff)}.ipd-project-trigger--error{border-color:var(--color-error, #ff4d4f)}.ipd-project-trigger__placeholder{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted, #bfbfbf);font-size:14px}.ipd-project-trigger__value{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.ipd-project-trigger__text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--color-text, #1a1a1a)}.ipd-project-trigger__arrow{flex-shrink:0;color:var(--color-text-muted, #8c8c8c)}.ipd-project-picker-modal.ant-modal .ant-modal-body{display:flex;flex-direction:column;gap:16px}.ipd-picker-code-name{font-weight:600}.ipd-picker-selected{display:flex;align-items:flex-start;gap:8px;min-height:24px}.ipd-picker-selected__label{flex-shrink:0;color:var(--color-text-muted);font-size:12px;line-height:22px;white-space:nowrap}.ipd-picker-selected__tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;flex:1;max-height:72px;overflow:auto}.ipd-picker-selected__tags .ipc-tag{max-width:280px}.ipd-picker-selected__clear{flex-shrink:0;margin:0;padding:0;border:0;background:transparent;color:var(--color-primary);font-size:12px;line-height:22px;cursor:pointer}.ipd-picker-selected__clear:hover{text-decoration:underline}.linked-ipd-cell{display:inline-flex;align-items:center;gap:6px;width:100%;max-width:100%;min-width:0;overflow:hidden;cursor:default}.linked-ipd-tag-hit{flex:1 1 auto;min-width:0;max-width:100%;display:inline-flex;overflow:hidden;cursor:default}.linked-ipd-cell .ipc-tag{max-width:100%;min-width:0;overflow:hidden}.linked-ipd-more{flex-shrink:0;color:var(--color-text-muted, #8c8c8c);font-size:12px;font-weight:400}.linked-ipd-ellipsis{flex-shrink:0;color:var(--color-text-muted, #8c8c8c);font-size:12px;font-weight:400;line-height:1}.linked-ipd-popover{min-width:220px;max-width:360px}.linked-ipd-popover-overlay .ant-popover-title{display:none}.linked-ipd-popover__list{margin:0;padding:0;list-style:none}.linked-ipd-popover__item{display:flex;align-items:center;gap:8px;width:100%;margin:0;padding:6px 8px;border-radius:6px;color:var(--color-text, #1a1a1a);font-size:13px;line-height:1.4}.linked-ipd-popover__item:hover{background:#e8f3ff}.linked-ipd-popover__text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}.linked-ipd-popover__link{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin:0;padding:2px;border:0;border-radius:4px;background:transparent;cursor:pointer;opacity:0;color:var(--color-primary, #1677ff)}.linked-ipd-popover__item:hover .linked-ipd-popover__link{opacity:1}.linked-ipd-popover__link:hover{background:color-mix(in srgb,var(--color-primary, #1677ff) 12%,transparent)}.linked-ipd-popover__icon{display:block}.project-code-multi{color:var(--color-primary, #1677ff);cursor:default;white-space:nowrap}.project-code-popover{min-width:140px;max-width:280px}.project-code-popover-overlay .ant-popover-title{display:none}.project-code-popover__list{margin:0;padding:0;list-style:none}.project-code-popover__item{display:flex;align-items:center;gap:8px;margin:0;padding:6px 8px;border-radius:6px;color:var(--color-text, #1a1a1a);font-size:13px;line-height:1.4}.project-code-popover__item:hover{background:#e8f3ff}.project-code-popover__text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}.project-code-popover__link{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin:0;padding:2px;border:0;border-radius:4px;background:transparent;cursor:pointer;opacity:0;color:var(--color-primary, #1677ff)}.project-code-popover__item:hover .project-code-popover__link{opacity:1}.project-code-popover__link:hover{background:color-mix(in srgb,var(--color-primary, #1677ff) 12%,transparent)}.project-code-popover__icon{display:block}.ipc-modal.ant-modal .ipc-ipd-autofill .ant-input,.ipc-modal.ant-modal .ipc-ipd-autofill .ant-picker,.ipc-modal.ant-modal .ipc-ipd-autofill .ant-select-selector{background:#e8f3ff!important}.schedule-header{display:flex;justify-content:space-between;align-items:center;padding:0 0 16px;border-bottom:1px solid #e8e8e8;background:#fff;width:100%}.schedule-header h2{margin:0;font-size:18px;color:#1a1a1a}.filter-section{padding:0 0 16px;background:#fff;border-bottom:none}.filter-row{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.filter-item{display:flex;flex-direction:column;gap:6px}.filter-label{font-size:12px;font-weight:500;color:#666}.filter-actions{display:flex;gap:8px;margin-left:auto}.filter-actions .btn-sm{display:flex;align-items:center;gap:4px}.project-schedule.project-schedule-list{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;background:transparent;gap:var(--ipc-section-gap, 12px)}.project-schedule-list .schedule-header,.project-schedule-list .filter-section,.project-schedule-list .ipc-page-header,.project-schedule-list .ipc-filter-bar{flex-shrink:0}.project-schedule-list .projects-table-panel{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0}.project-schedule-list .projects-table-scroll{flex:1;min-height:0;overflow:hidden;background:#fff;border:1px solid var(--color-border, #e8e8e8);border-radius:var(--radius, 8px)}.project-schedule-list .ipc-table-pagination,.project-schedule-list .ipc-pagination{flex-shrink:0;margin:4px 0 0}.projects-table-container{padding:20px;width:100%}.projects-table-panel{width:100%}.projects-table-pagination{display:flex;justify-content:flex-end;align-items:center;margin-top:16px;padding-top:12px;border-top:1px solid #f0f0f0}.projects-table{width:100%;min-width:1280px;border-collapse:collapse;background:#fff;border:none;border-radius:0;overflow:visible;font-size:13px}.projects-table-header{background:#fafafa}.projects-table-header th{position:sticky;top:0;z-index:2;background:#fafafa;padding:12px 16px;text-align:left;border-bottom:1px solid #e8e8e8;color:#1a1a1a;font-size:13px;box-shadow:inset 0 -1px #e8e8e8}.projects-table-header th:last-child{text-align:left}.projects-table-body{background:#fff}.project-table-row{border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background-color .2s}.project-table-row:last-child{border-bottom:none}.project-table-row:hover{background-color:#f5f5f5}.project-table-row td{padding-inline:16px;vertical-align:middle}.project-cell-name{font-weight:500;color:#1a1a1a}.project-cell-name-text{display:-webkit-box;overflow:hidden;max-width:100%;line-height:var(--ipc-table-cell-line-height, 22px);word-break:break-word;overflow-wrap:anywhere;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:3}.project-cell-brand,.project-cell-category,.project-cell-versions{color:#666}.project-cell-linked-ipd{overflow:hidden;max-width:220px}.project-cell-launch{color:#333;font-family:monospace}.project-cell-status{text-align:left;white-space:nowrap}.project-cell-action{position:sticky;right:0;z-index:3;text-align:left;display:flex;align-items:center;justify-content:flex-start;white-space:nowrap;min-width:96px;background:#fff;box-shadow:-1px 0 0 var(--color-border, #e8e8e8)}.project-col-action{position:sticky!important;right:0;z-index:4!important;min-width:96px;background:#fafafa!important;box-shadow:-1px 0 0 var(--color-border, #e8e8e8),inset 0 -1px #e8e8e8}.project-table-row:hover .project-cell-action{background:#f5f5f5}.project-cell-template{vertical-align:middle}.project-cell-template .ant-select{font-size:13px}.project-template-readonly{color:#333;font-size:13px}.project-col-name{width:14%;min-width:140px}.project-col-code{width:9%;min-width:100px}.project-col-brand{width:8%;min-width:80px}.project-col-template{width:11%;min-width:120px}.project-col-category{width:10%}.project-col-status{width:8%;min-width:88px}.project-col-launch{width:9%;min-width:100px}.project-col-versions{width:6%;min-width:72px}.project-col-audit{white-space:nowrap}.project-col-creator,.project-col-modifier{width:8%;min-width:88px}.project-col-created-time,.project-col-modified-time{width:10%;min-width:128px}.project-col-action{width:12%;min-width:156px}.project-cell-audit{color:#666;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-cell-created-time,.project-cell-modified-time{font-family:monospace;font-size:12px;color:#595959;max-width:none}.projects-table.ant-table-wrapper .ant-table-tbody>tr.project-table-row>td{padding-inline:16px;vertical-align:middle;cursor:pointer}.projects-table.ant-table-wrapper .ant-table-tbody>tr.project-table-row:hover>td{background:#f5f5f5}.projects-table.ant-table-wrapper .ant-table-tbody>tr.project-table-row>td.project-cell-action{cursor:default;display:table-cell;min-width:156px}.projects-table.ant-table-wrapper .ant-table-tbody>tr.project-table-row:hover>td.project-cell-action{background:#f5f5f5}.projects-table.ant-table-wrapper .ant-table-tbody>tr.project-table-row>td.project-cell-template{cursor:default}.projects-grid,.project-card,.project-card-header,.project-card-meta,.project-card-schedule,.schedule-info{display:none}.project-detail-layout{display:flex;height:100%;min-height:0;overflow:hidden}.version-sidebar{width:288px;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;flex-shrink:0;min-height:0;transition:width .2s ease}.version-sidebar--collapsed{width:44px}.version-sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px 0 16px;height:48px;border-bottom:1px solid var(--color-border);flex-shrink:0}.version-sidebar--collapsed .version-sidebar-top{justify-content:center;padding:0}.version-sidebar-brand{font-size:14px;font-weight:600;color:var(--color-text);min-width:0}.version-sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;margin:0 0 0 auto;padding:0;border:0;border-radius:var(--radius-md, 6px);background:transparent;color:var(--color-text-muted);cursor:pointer}.version-sidebar-toggle:hover{background:var(--color-muted);color:var(--color-text)}.version-sidebar--collapsed .version-sidebar-toggle{width:32px;height:32px;margin:0}.version-sidebar-back,.version-sidebar-header,.project-info-header{display:none}.version-nav-list{flex:1;overflow-y:auto;padding:0;min-height:0}.version-nav-title{display:none}.version-nav-empty{padding:16px;font-size:12px;color:var(--color-text-muted)}.version-nav-item{display:block;width:100%;text-align:left;background:transparent;border:0;border-left:2px solid transparent;border-radius:0;padding:10px 16px;margin:0;cursor:pointer;transition:background .15s ease,border-color .15s ease;box-shadow:none}.version-nav-item:not(:last-child){border-bottom:1px solid var(--color-border)}.version-nav-item:hover{background:color-mix(in srgb,var(--color-primary) 5%,transparent);border-color:transparent;box-shadow:none}.version-nav-item.active{background:color-mix(in srgb,var(--color-primary) 5%,transparent);border-left-color:var(--color-primary);box-shadow:none}.version-nav-item.published{border-left-color:transparent}.version-nav-item.active.published{border-left-color:var(--color-primary)}.version-nav-main{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.version-nav-number{font-size:12px;font-weight:500;color:var(--color-text)}.version-nav-name{font-size:12px;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.version-nav-meta{margin-top:4px;font-size:11px;color:var(--color-text-muted)}.sidebar-legend{display:none}.schedule-main-content{flex:1;min-height:0;overflow-y:auto;padding:20px;background:var(--color-bg);min-width:0}.project-schedule-detail .schedule-main-content.schedule-main-with-tabs{display:flex;flex-direction:column;overflow:hidden;padding:0;background:var(--color-surface)}.schedule-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 16px 12px 0;border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0}.schedule-detail-header__main{min-width:0;flex:1;padding-left:12px;min-height:62px}.schedule-detail-header__title-row{display:flex;align-items:center;gap:8px;min-width:0;height:32px;max-height:32px}.schedule-detail-header__title{margin:0;font-size:18px;font-weight:600;line-height:32px;letter-spacing:-.01em;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-detail-header__title-input{max-width:360px;width:100%}.schedule-detail-header__title-input.ant-input,.schedule-detail-header__title-input.ant-input-affix-wrapper{height:32px!important;padding-block:0;font-size:18px;font-weight:600;line-height:30px;letter-spacing:-.01em}.schedule-detail-header__edit{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:0;padding:0;border:0;border-radius:var(--radius-md, 6px);background:transparent;color:var(--color-text-muted);opacity:0;cursor:pointer;flex-shrink:0;transition:opacity .15s ease,background .15s ease,color .15s ease}.schedule-detail-header__title-row:hover .schedule-detail-header__edit,.schedule-detail-header__edit:focus-visible{opacity:1}.schedule-detail-header__edit:hover{background:var(--color-muted);color:var(--color-primary)}.schedule-detail-header__meta{display:flex;align-items:center;flex-wrap:nowrap;gap:4px 8px;height:24px;max-height:24px;margin-top:6px;font-size:12px;line-height:1;color:var(--color-text-muted)}.schedule-detail-header__meta-slot,.schedule-detail-header__meta-btn,.schedule-detail-header__meta-static{display:inline-flex;align-items:center;justify-content:flex-start;height:24px;max-height:24px;margin:0;line-height:1;vertical-align:middle}.schedule-detail-header__meta-slot{min-width:0}.schedule-detail-header__meta-slot--status{flex-shrink:0}.schedule-detail-header__meta-slot--status .ipc-badge.ant-tag{display:inline-flex;align-items:center;justify-content:center;height:22px;min-height:22px;padding:0 8px;font-size:12px;font-weight:500;line-height:1;box-sizing:border-box}.schedule-detail-header__meta-btn{gap:4px;padding:0;border:0;border-radius:var(--radius-sm, 4px);background:transparent;color:var(--color-text-muted);font-size:12px;white-space:nowrap;cursor:pointer}.schedule-detail-header__meta-btn svg,.schedule-detail-header__meta-static svg{display:block;flex-shrink:0;width:12px;height:12px}.schedule-detail-header__meta-btn:hover:not(:disabled){color:var(--color-primary)}.schedule-detail-header__meta-btn:disabled{cursor:default}.schedule-detail-header__meta-control.ant-select{width:auto;min-width:112px;height:24px!important;min-height:24px!important;max-height:24px!important}.schedule-detail-header__meta-control.ant-select .ant-select-content{height:22px!important;line-height:22px!important;font-size:12px!important}.schedule-detail-header__meta-select-dropdown.ant-select-dropdown{min-width:220px!important}.schedule-detail-header__meta-select-dropdown .ant-select-item-option-content{white-space:nowrap}.schedule-detail-header__meta-slot--launch .ipc-date--inline.ant-picker{height:24px!important;min-height:24px!important}.schedule-detail-header__meta-static{gap:4px;flex-shrink:0;white-space:nowrap}.schedule-detail-header__ipd{display:inline-flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto;height:24px;max-height:24px;margin:0}.schedule-detail-header__ipd-label{flex-shrink:0;color:var(--color-text-muted);font-size:12px;line-height:24px}.schedule-detail-header__ipd-tags{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;flex:0 1 auto;overflow:hidden;white-space:nowrap}.schedule-detail-header__ipd-tags .linked-ipd-cell{min-width:0;max-width:100%}.schedule-detail-header__ipd-tags .linked-ipd-tag-hit,.schedule-detail-header__ipd-tags .linked-ipd-cell .ipc-tag{max-width:320px}.schedule-detail-header__ipd-empty{color:var(--color-text-muted);font-size:12px;line-height:24px}.schedule-detail-header__ipd-tag-hit{max-width:360px;margin:0;padding:0;border:0;background:transparent;cursor:pointer;flex-shrink:1;min-width:0}.schedule-detail-header__ipd-tag-hit .ipc-tag{max-width:360px;height:22px;padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-detail-header__ipd-replace{flex-shrink:0;margin:0;padding:0;border:0;background:transparent;color:var(--color-primary);font-size:12px;line-height:24px;cursor:pointer}.schedule-detail-header__ipd-replace:hover:not(:disabled){text-decoration:underline}.schedule-detail-header__ipd-replace:disabled{cursor:default;opacity:.55}.schedule-detail-header__actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.project-ops-dropdown-trigger{display:inline-flex}.schedule-detail-tab-label{display:inline-flex;align-items:center;gap:6px}.project-schedule-detail .main-actions.import-config-actions{display:none}.project-schedule-detail .schedule-detail-tabs.ant-tabs{flex:1;min-height:0;display:flex;flex-direction:column;padding:0}.project-schedule-detail .schedule-detail-tabs .ant-tabs-nav{flex-shrink:0;margin:0;padding:0 16px 0 12px;background:transparent;border-radius:0;border:0;border-bottom:1px solid var(--color-border)}.project-schedule-detail .schedule-detail-tabs .ant-tabs-tab{padding:10px 12px;margin:0;border-radius:0;font-size:14px;font-weight:500;color:var(--color-text-muted);transition:color .15s ease;border:none;background:transparent}.project-schedule-detail .schedule-detail-tabs .ant-tabs-tab:hover{color:var(--color-text)}.project-schedule-detail .schedule-detail-tabs .ant-tabs-tab.ant-tabs-tab-active{color:var(--color-primary);font-weight:500}.project-schedule-detail .schedule-detail-tabs .ant-tabs-tab+.ant-tabs-tab{margin-left:4px}.project-schedule-detail .schedule-detail-tabs .ant-tabs-ink-bar{background:var(--color-primary);height:2px}.project-schedule-detail .schedule-detail-tabs .ant-tabs-content-holder{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.project-schedule-detail .schedule-detail-tabs .ant-tabs-content-holder>.ant-tabs-content{flex:1 1 0;min-height:0;display:flex;flex-direction:column}.project-schedule-detail .schedule-detail-tabs .ant-tabs-tabpane.ant-tabs-tabpane-active{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%;overflow:hidden}.project-schedule-detail .schedule-data-tab-scroll{flex:1 1 0;min-height:0;height:100%;overflow-y:auto;padding:12px 12px 28px;box-sizing:border-box;background:var(--color-bg, #fff)}.project-schedule-detail .schedule-gantt-tab{flex:1 1 0;min-height:0;height:100%;padding:0;overflow:hidden;display:flex;flex-direction:column;background:var(--color-surface, #fff);border:none;border-radius:0;box-sizing:border-box}.version-cards-container{display:flex;flex-direction:column;gap:16px;padding-bottom:8px}.version-card{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e8e8e8);border-radius:var(--radius, 8px);overflow:hidden}.version-card:hover,.version-card.published,.version-card.active{box-shadow:none;border-left-width:1px;border-left-color:var(--color-border, #e8e8e8)}.version-card-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background:color-mix(in srgb,var(--color-muted, #f5f5f5) 30%,transparent);border-bottom:1px solid var(--color-border, #e8e8e8);flex-wrap:wrap}.version-info{display:flex;align-items:center;flex-wrap:wrap;gap:12px;flex:1;min-width:0}.version-title{display:inline-flex;align-items:baseline;gap:6px;margin-bottom:0;min-width:0}.version-number,.version-name{font-size:16px;font-weight:600;color:var(--color-text, #1a1a1a);line-height:1.3}.version-name-editable{background:none;border:none;padding:0;font-size:inherit;font-weight:inherit;color:inherit;cursor:pointer;text-align:left}.version-name-editable:hover{color:var(--color-primary);text-decoration:underline}.version-info .meta-item,.version-meta .meta-item{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--color-text-muted, #666);white-space:nowrap}.version-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--color-text-muted, #666)}.version-actions{display:flex;gap:8px}.sort-order-toggle{display:inline-flex;gap:6px}.sort-order-btn{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:5px 12px;border:1px solid var(--color-border, #d9d9d9);border-radius:var(--radius-md, 6px);background:var(--color-surface, #fff);color:var(--color-text-muted, #666);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.sort-order-btn:hover:not(:disabled):not(.active){background:var(--color-muted, #f5f5f5);color:var(--color-text, #1a1a1a)}.sort-order-btn.sort-order-asc.active{background:#52c41a;color:#fff;border-color:#52c41a}.sort-order-btn.sort-order-desc.active{background:#fa8c16;color:#fff;border-color:#fa8c16}.sort-order-btn:disabled{opacity:.6;cursor:not-allowed}.version-card-body{padding:0}.spec-table-container{overflow-x:auto;overflow-y:auto;margin:0;max-width:100%;max-height:min(70vh,calc(100vh - 220px))}.spec-table-container .ant-table-cell-fix-start,.spec-table-container .ant-table-cell-fix-end,.spec-table-container .ant-table-cell-fix-left,.spec-table-container .ant-table-cell-fix-right{background:var(--color-surface, #fff)!important;background-clip:padding-box}.spec-table-container .ant-table-thead>tr>th.ant-table-cell-fix-start,.spec-table-container .ant-table-thead>tr>th.ant-table-cell-fix-end,.spec-table-container .ant-table-thead>tr>th.ant-table-cell-fix-left,.spec-table-container .ant-table-thead>tr>th.ant-table-cell-fix-right{background:var(--color-muted, #f1f5f9)!important;z-index:calc(var(--z-offset-reverse, 0) + 2)}.spec-table-container .ant-table-fixed-header .ant-table-content,.spec-table-container .ant-table-fixed-header .ant-table-body{overflow:auto!important}.spec-table-body{background:var(--color-surface, #fff)}.spec-table-body .spec-table-row>.spec-cell{border-bottom:1px solid var(--color-border, #e8e8e8)}.spec-table-body .spec-table-row:last-child>.spec-cell{border-bottom:none}.spec-cell{padding:10px 8px;border-right:1px solid #f0f0f0;vertical-align:top;min-width:140px;box-sizing:border-box}.spec-row-display-filter{display:flex;align-items:center;gap:8px;padding:8px 12px 6px;font-size:13px;color:var(--color-text, #1a1a1a)}.spec-row-display-filter__label{color:var(--color-text-muted, #595959);flex-shrink:0}.spec-name-cell{min-width:160px;width:200px;padding:10px 8px 10px 12px;background:var(--color-surface, #fff)!important;position:sticky;position:-webkit-sticky;left:0;z-index:5;box-shadow:none;border-right:1px solid var(--color-border, #e8e8e8);vertical-align:top;box-sizing:border-box}.spec-table .ant-table-thead>tr>th.ant-table-cell-fix-left:first-child,.spec-table .ant-table-thead>tr>th.ant-table-cell-fix-start:first-child{box-shadow:none!important}.spec-table .ant-table-thead>tr>th.ant-table-cell-fix-left:first-child:before,.spec-table .ant-table-thead>tr>th.ant-table-cell-fix-left:first-child:after,.spec-table .ant-table-thead>tr>th.ant-table-cell-fix-start:first-child:before,.spec-table .ant-table-thead>tr>th.ant-table-cell-fix-start:first-child:after{display:none!important;box-shadow:none!important;border:0!important}.spec-name-header{display:inline-flex;align-items:center;margin:0;padding:0;border:0;outline:none;box-shadow:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:default;width:100%}.spec-name-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;max-width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;text-align:left;cursor:default;color:inherit}.spec-name-card--editable{cursor:pointer}.spec-name-card--editable:hover .spec-name-card__title{color:var(--color-primary, #1677ff)}.spec-name-card__title-row{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0}.spec-name-card__title{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:13px;line-height:1.3;color:var(--color-text, #1a1a1a);min-width:0}.spec-name-card__ipd-mark{flex-shrink:0;font-size:10px;font-weight:500;line-height:1;letter-spacing:.04em;padding:2px 5px;border-radius:3px;color:#5c6b7a;background:#eef2f6;border:1px solid #d5dde6}.spec-name-card__skus{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.3;color:var(--color-text-muted, #8c8c8c)}.spec-status-cell{vertical-align:middle}.spec-status-select{width:100%;min-width:0}.spec-status-select .ant-select-selector{font-size:12px!important}.ipd-sku-picker-modal.ant-modal .ant-modal-body{display:flex;flex-direction:column;gap:12px}.ipd-sku-picker-context{margin:0;color:var(--color-text-muted, #8c8c8c);font-size:13px;line-height:1.5}.ipd-sku-picker-hint{margin:-4px 0 0;color:var(--color-text-muted, #8c8c8c);font-size:12px;line-height:1.5}.ipd-sku-occupancy{font-size:12px}.ipd-sku-occupancy--muted{color:var(--color-text-muted, #8c8c8c)}.action-cell{min-width:88px;width:88px;padding:10px 8px;text-align:left;position:sticky;position:-webkit-sticky;right:0;z-index:5;background:var(--color-surface, #fff)!important;box-shadow:-4px 0 8px #0000000a;border-left:1px solid var(--color-border, #e8e8e8);vertical-align:top;box-sizing:border-box}.action-cell:hover{background:var(--color-surface, #fff)!important}.spec-ops-trigger{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;margin:0;border:1px solid var(--color-border, #d9d9d9);border-radius:6px;background:#fff;color:var(--color-text, #1a1a1a);font-size:13px;line-height:1;cursor:pointer}.spec-ops-trigger:hover:not(:disabled){border-color:var(--color-primary, #1677ff);color:var(--color-primary, #1677ff)}.spec-ops-trigger:disabled{opacity:.55;cursor:not-allowed}.spec-ops-trigger__caret{flex-shrink:0;opacity:.65}.spec-ops-menu-item--terminal{color:var(--color-text-muted, #8c8c8c)!important;cursor:default!important}.spec-ops-menu-item--terminal.ant-dropdown-menu-item-disabled{opacity:1!important;color:var(--color-text-muted, #8c8c8c)!important}.empty-cell{background:#fafafa}.column-drag-handle{display:none}.spec-cell{flex-shrink:0}.spec-name{font-weight:500;color:#1a1a1a;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s}.spec-name:hover{background:#edf2f9}.spec-name-input{width:100%;padding:4px 8px;border:1px solid var(--color-primary);border-radius:4px;font-size:13px;outline:none}.milestone-cell{min-height:56px;text-align:left;position:relative;vertical-align:top;padding:10px 12px 10px 8px!important;border-right-color:color-mix(in srgb,var(--color-border, #e8e8e8) 65%,transparent)!important;box-sizing:border-box}.milestone-cell.merged-cell{position:relative}.milestone-cell-inner{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0;width:100%;box-sizing:border-box}.milestone-date-row,.cell-note{display:flex;flex-direction:row;gap:6px;min-width:0;width:100%}.milestone-date-row,.cell-note{align-items:flex-start}.milestone-date-row>.date-row-label,.milestone-date-row>.milestone-dates{align-items:center;min-width:0;height:18px;max-height:18px}.milestone-dates{display:flex;align-items:center;justify-content:flex-start;flex:1 1 auto;flex-wrap:nowrap;gap:2px;height:18px;max-height:18px;font-size:11px;font-weight:400;line-height:18px;min-width:0;overflow:hidden;color:#475569}.milestone-date-slot{display:inline-flex;align-items:center;justify-content:flex-start;width:40px;min-width:40px;max-width:40px;height:18px;max-height:18px;flex-shrink:0;overflow:hidden;box-sizing:border-box}.milestone-date-slot--ymd{width:74px;min-width:74px;max-width:74px}.milestone-dates-actual{margin-top:0;padding-top:0;border-top:none;font-weight:400}.date-row-label,.actual-summary{font-size:11px;line-height:1.2;color:var(--color-text-subtle, #94a3b8);font-weight:400;flex-shrink:0}.date-row-label{display:inline-flex;align-items:flex-start;justify-content:flex-end;flex:0 0 24px;width:24px;text-align:right;line-height:18px;padding-top:0;box-sizing:border-box}.actual-summary{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-empty{display:inline-block;height:18px;line-height:18px;font-size:11px;color:var(--color-text-subtle, #94a3b8);font-weight:400;text-align:left}.spec-cell.milestone-cell{overflow:hidden;box-sizing:border-box;vertical-align:top}.milestone-date-slot .ipc-date--cell.ant-picker,.milestone-date-slot .ant-picker,.spec-cell.milestone-cell .milestone-date-slot .ant-picker{width:40px!important;min-width:40px!important;max-width:40px!important;height:18px!important;min-height:18px!important;max-height:18px!important;padding:0 2px!important;border-radius:3px!important}.milestone-date-slot--ymd .ipc-date--cell.ant-picker,.milestone-date-slot--ymd .ant-picker,.spec-cell.milestone-cell .milestone-date-slot--ymd .ant-picker{width:74px!important;min-width:74px!important;max-width:74px!important}.milestone-date-slot .ant-picker-input,.milestone-date-slot .ant-picker-input>input{min-width:0!important;width:100%!important;height:16px!important;line-height:16px!important;font-size:11px!important;box-sizing:border-box!important}.milestone-date-slot .ant-picker-suffix,.milestone-date-slot .ant-picker-clear{display:none!important}.date-text{display:block;box-sizing:border-box;width:100%;height:18px;max-height:18px;padding:0;border-radius:3px;cursor:pointer;transition:background .2s;color:#475569;font-size:11px;font-weight:400;line-height:18px;overflow:hidden;text-overflow:clip;white-space:nowrap;text-align:left}.date-text.cross-year{text-overflow:clip}.date-text:hover{background:#0000000d}.start-date,.end-date{color:#475569}.milestone-dates-actual .date-text,.milestone-dates-actual .date-separator{color:#475569;font-weight:400;font-size:11px}.date-text.cross-year:hover{background:#00000014}.date-separator{flex-shrink:0;width:8px;text-align:center;line-height:18px;color:var(--color-text-muted, #999)}.milestone-date-input{width:90px;padding:1px 2px;border:1px solid var(--color-primary);border-radius:3px;font-size:11px;outline:none;box-sizing:border-box}.cell-note{font-size:11px;line-height:18px;margin-top:0;max-width:100%;min-width:0;min-height:18px}.cell-note-label{display:inline-flex;align-items:flex-start;justify-content:flex-end;flex:0 0 24px;width:24px;color:var(--color-text-subtle, #94a3b8);text-align:right;white-space:nowrap;line-height:18px;padding-top:0}.cell-note-text{color:#475569;display:block;flex:1 1 auto;width:auto;min-width:0;min-height:18px;padding:0;border:0;border-radius:0;background:transparent;max-width:100%;overflow:visible;text-overflow:unset;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;text-align:left;font:inherit;line-height:18px}.cell-note-text.has-note{color:#475569;background:transparent;cursor:pointer}.cell-note-text.editable{cursor:pointer;color:var(--color-text-muted, #bbb);white-space:nowrap}.cell-note-text.is-empty{color:var(--color-text-subtle, #94a3b8);cursor:default;white-space:nowrap}.cell-note-text.has-note:hover,.cell-note-text.editable:hover{background:transparent;text-decoration:underline}.cell-note-text:disabled{cursor:default}.cell-note .ipc-rich-text{flex:1 1 auto;min-width:0}.cell-note-text .ipc-rich-text-view{color:inherit;font:inherit;line-height:inherit}.cell-note:has(.cell-note-input){align-items:flex-start}.cell-note:has(.cell-note-input) .cell-note-label{padding-top:30px;line-height:20px}.cell-note-input.ipc-rich-text{flex:1 1 auto;width:auto;min-width:0;gap:6px}.cell-note-input.ipc-rich-text--inline .ipc-rich-text__toolbar{margin-bottom:0;gap:1px}.cell-note-input.ipc-rich-text--inline .ipc-rich-text__btn{width:22px;height:22px}.cell-note-input.ipc-rich-text--inline .ipc-rich-text__editor{min-height:72px;padding:6px 8px;border-radius:6px;font-size:12px;line-height:1.5}.cell-note-input.ipc-rich-text--inline .ipc-rich-text__editor:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 16%,transparent)}.version-notes-section .version-notes-textarea.ipc-rich-text{width:100%}.version-notes-section .version-notes-textarea .ipc-rich-text__editor{min-height:64px}.cell-sku-list{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding-top:4px;padding-right:2px;border-top:1px dashed var(--color-border, #e2e8f0);max-width:100%;min-width:0;max-height:min(320px,45vh);overflow-x:hidden;overflow-y:auto}.cell-sku-list__row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;font-size:11px;line-height:16px;min-width:0}.cell-sku-list__spec{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text, #1a1a1a)}.cell-sku-list__status{flex-shrink:0;padding:0 5px;border-radius:3px;font-size:10px;line-height:16px;white-space:nowrap}.cell-sku-list__end{flex-shrink:0;color:#475569;white-space:nowrap;font-variant-numeric:tabular-nums}.version-notes-section{padding:12px 16px 16px;border-top:1px solid var(--color-border, #e8e8e8);background:color-mix(in srgb,var(--color-muted, #f5f5f5) 20%,transparent);border-radius:0;border-left:none;border-right:none;border-bottom:none}.notes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.notes-label,.notes-header h4{display:block;margin:0;font-size:12px;font-weight:500;line-height:1.4;color:var(--color-text-muted, #666)}.notes-hint{font-size:11px;color:var(--color-text-muted, #999)}.version-notes-textarea{width:100%;box-sizing:border-box;padding:8px 12px;border:1px solid var(--color-border, #d9d9d9);border-radius:var(--radius-md, 6px);font-size:13px;line-height:1.5;resize:none;overflow:hidden;min-height:64px;height:auto;font-family:inherit;background:var(--color-surface, #fff);color:var(--color-text, #1a1a1a)}.version-notes-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 20%,transparent)}.version-notes-textarea:disabled{background:var(--color-surface, #fff);color:var(--color-text-muted, #666);cursor:not-allowed;opacity:1}.column-config-modal.ant-modal .ant-modal-body{max-height:none}.column-config-modal .milestone-checkbox-list{height:360px;overflow-y:auto;padding-right:4px}.milestone-checkbox-phase{font-size:11px;color:#999;padding:2px 8px;background:#f5f5f5;border-radius:3px}.milestone-relation-indicator{display:flex;align-items:center;gap:4px;margin-bottom:2px;font-size:10px;color:var(--color-primary);height:14px}.relation-chain{color:#999;font-family:monospace}.auto-calc-icon{color:#52c41a;flex-shrink:0}.conflict-icon{color:#fa8c16;flex-shrink:0}.milestone-status-btn-wrapper{position:absolute;top:7px;right:6px;z-index:1;display:inline-flex;align-items:center;justify-content:center}.milestone-node-status{line-height:1}.milestone-node-status--readonly{cursor:default}.milestone-status-btn{width:9px;height:9px;border-radius:50%;border:1px solid #d9d9d9;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;outline:none}.milestone-status-btn:hover{transform:scale(1.3);box-shadow:0 0 0 3px #1890ff33}.milestone-status-btn.status-pending{border-color:#d9d9d9;background:#fff}.milestone-status-btn.status-in_progress{border-color:#1890ff;background:#1890ff;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #1890ff66}70%{box-shadow:0 0 0 4px #1890ff00}to{box-shadow:0 0 #1890ff00}}.milestone-status-btn.status-completed{border-color:#52c41a;background:#52c41a;color:#fff}.schedule-modal-hint{margin:0 0 16px;font-size:13px;color:var(--color-text-muted, #666)}.relation-config-modal.ant-modal .ant-modal-body{padding:0!important}.relation-config-workspace{display:grid;grid-template-columns:268px minmax(0,1fr);height:min(620px,calc(100vh - 160px));min-height:520px;margin:0}.relation-node-panel{display:flex;flex-direction:column;min-height:0;height:100%;margin:0;border-right:1px solid var(--color-border);border-radius:0;background:color-mix(in srgb,var(--color-muted) 55%,var(--color-surface))}.relation-config-summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;flex-shrink:0;min-height:36px;margin:0;padding:8px 16px 8px 10px;border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:11px;line-height:1.2;background:inherit}.relation-node-list{flex:1;min-height:0;margin:0;padding:0;overflow-y:auto;background:inherit}.relation-node-item{box-sizing:border-box;width:100%;min-height:36px;margin:0;padding:8px 16px 8px 10px;display:flex;align-items:center;justify-content:space-between;gap:6px;border:0;border-left:2px solid transparent;border-radius:0;background:transparent;color:var(--color-text);text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease;box-shadow:none}.relation-node-item:hover{background:color-mix(in srgb,var(--color-surface) 70%,transparent)}.relation-node-item--active{background:var(--color-surface);border-left-color:var(--color-primary);box-shadow:none}.relation-node-item--active .relation-node-name{color:var(--color-primary)}.relation-node-main{min-width:0;flex:1;display:flex;flex-direction:column;justify-content:center;gap:0}.relation-node-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;line-height:18px;color:var(--color-text)}.relation-node-phase{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font-size:10px;line-height:12px}.relation-editor-panel{min-width:0;padding:14px 20px 16px 24px;overflow:hidden;background:var(--color-surface)}.relation-config-modal .ipc-segmented.ant-segmented{border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-muted) 88%,var(--color-border))}.relation-config-modal .ipc-segmented.ant-segmented .ant-segmented-item-selected,.relation-config-modal .ipc-segmented.ant-segmented .ant-segmented-thumb{background:var(--color-surface)!important;box-shadow:0 0 0 1px var(--color-border),0 1px 2px #0f172a14}.relation-editor-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--color-border)}.relation-editor-title{min-width:0;display:flex;align-items:baseline;gap:8px}.relation-editor-header h3{margin:0;font-size:14px;line-height:22px;font-weight:600;color:var(--color-text)}.relation-editor-phase{color:var(--color-text-muted);font-size:12px;line-height:22px;white-space:nowrap}.relation-editor-section{padding-top:0;display:flex;flex-direction:column;gap:12px}.relation-editor-section+.relation-editor-section{margin-top:14px}.relation-editor-section--merge{margin-top:16px;padding-top:0;border-top:0;border-radius:0;background:transparent}.relation-config-modal.ant-modal .relation-form-field.ipc-form-field{gap:6px}.relation-config-modal.ant-modal .relation-form-field .ipc-form-field__label{margin:0}.relation-form-field--direction{max-width:420px;width:100%;margin-top:0}.relation-auto-stack{width:min(420px,100%);margin-top:0;display:flex;flex-direction:column;gap:12px}.relation-form-field{margin:0}.relation-form-field--mode{max-width:420px;width:100%}.relation-form-field--dependency .ant-select{width:100%}.relation-checkbox-row{display:flex;align-items:center;min-height:28px}.relation-manual-hint{margin:0;padding:0;border-radius:0;color:var(--color-text-muted);background:transparent;font-size:12px;line-height:1.5}.relation-config-empty{margin:20px;padding:12px 14px;border-radius:6px;color:var(--color-text-muted);background:color-mix(in srgb,var(--color-muted) 70%,transparent);font-size:13px;line-height:1.5}.relation-config-modal.ant-modal .relation-form-field .ant-select-single,.relation-config-modal.ant-modal .relation-form-field .ant-input-number,.relation-config-modal.ant-modal .relation-form-field .ipc-segmented.ant-segmented{height:32px!important;min-height:32px!important}.relation-config-modal.ant-modal .relation-form-field .ant-select-single .ant-select-selector{height:32px!important;padding-inline:10px!important}.relation-config-modal.ant-modal .relation-form-field .ant-select-single .ant-select-selection-item,.relation-config-modal.ant-modal .relation-form-field .ant-select-single .ant-select-selection-placeholder{line-height:30px!important}.relation-config-modal.ant-modal .relation-form-field .ant-input-number-input{height:30px!important;line-height:30px!important}.relation-config-modal.ant-modal .relation-form-field .ipc-segmented.ant-segmented{display:flex;align-items:center}@media (max-width: 1200px){.version-sidebar:not(.version-sidebar--collapsed){width:200px}}@media (max-width: 768px){.project-detail-layout{flex-direction:column}.version-sidebar,.version-sidebar--collapsed{width:100%;height:auto;max-height:200px;border-right:none;border-bottom:1px solid #e8e8e8}.version-sidebar--collapsed{max-height:48px}.schedule-main-content{padding:12px}}.spec-pause-modal{display:flex;flex-direction:column;gap:14px}.spec-terminate-modal.ant-modal .ant-modal-header{min-height:44px;padding:10px 44px 10px 16px}.spec-terminate-modal.ant-modal .ant-modal-title{font-size:14px;line-height:1.35}.spec-terminate-modal.ant-modal .ant-modal-close{top:10px;inset-inline-end:12px}.spec-terminate-modal.ant-modal .ant-modal-body{padding:12px 16px!important}.spec-terminate-modal.ant-modal .ant-modal-footer{padding:8px 16px 12px!important}.spec-terminate-modal.ant-modal .ipc-modal__footer-actions{gap:8px}.spec-terminate-modal.ant-modal .ipc-modal__footer-actions .ipc-btn.ant-btn:not(.ipc-btn--link){height:28px;min-height:28px;padding:0 12px;font-size:12px;border-radius:6px}.spec-terminate-modal.ant-modal .ipc-modal__footer-actions .ipc-btn--link.ant-btn{height:28px;padding:0 6px;font-size:12px}.spec-terminate-modal .spec-terminate-modal__body{gap:10px;font-size:12px}.spec-terminate-modal .ipc-alert{gap:8px;padding:8px 10px}.spec-terminate-modal .ipc-alert__icon{width:14px;height:14px;margin-top:1px}.spec-terminate-modal .ipc-alert__title{font-size:12px;line-height:1.4;font-weight:500}.spec-terminate-modal .ipc-form-field{gap:4px}.spec-terminate-modal .ipc-form-field__label{font-size:12px;line-height:1.3}.spec-terminate-modal .ipc-form-field__control .ant-select.ant-select-sm{font-size:12px}.spec-terminate-modal .ipc-form-field__control .ant-select-sm .ant-select-selector{min-height:28px!important;font-size:12px!important}.spec-terminate-modal .ipc-form-field__control textarea.ant-input{min-height:52px;padding:6px 8px;font-size:12px;line-height:1.45}.spec-terminate-modal .spec-pause-modal__section-title{font-size:12px}.spec-terminate-node-tip{padding:10px 12px;border:1px solid #d9e0ee;border-radius:6px;background:#f4f6fa;color:var(--color-text, #1a1a1a)}.spec-terminate-node-tip__title{font-size:12px;font-weight:600;line-height:1.4}.spec-terminate-node-tip__desc{margin-top:2px;font-size:12px;font-weight:400;line-height:1.45;color:var(--color-text, #1a1a1a)}.spec-terminate-modal .spec-pause-modal__node-list{max-height:200px;border-radius:6px;padding:4px 8px}.spec-terminate-modal .spec-terminate-node-row__name,.spec-terminate-modal .spec-terminate-node-row__days,.spec-terminate-modal .spec-pause-modal__empty{font-size:12px;line-height:1.35}.spec-terminate-modal .spec-pause-modal__summary{padding:8px 10px;border-radius:6px;background:#fdfaf5;border:1px solid #f0e6d8}.spec-terminate-modal .spec-pause-modal__summary-main{font-size:12px;font-weight:400;color:var(--color-text, #1a1a1a)}.spec-terminate-modal .spec-pause-modal__summary-num{font-size:13px;font-weight:700;color:#b85450}.spec-terminate-modal .spec-pause-modal__summary-hint{font-size:11px}.spec-pause-modal__section-title{font-size:13px;font-weight:600;color:var(--color-text, #1a1a1a)}.spec-pause-modal__node-list{max-height:240px;overflow:auto;border:1px solid var(--color-border, #e8e8e8);border-radius:8px;padding:8px 10px;background:#fafafa}.spec-pause-modal__node-item{display:flex;align-items:flex-start;gap:8px;padding:6px 2px;cursor:pointer}.spec-pause-modal__node-text{font-size:13px;line-height:1.45;color:var(--color-text, #1a1a1a)}.spec-pause-modal__node-name{font-weight:500}.spec-pause-modal__node-meta{color:var(--color-text-muted, #8c8c8c)}.spec-pause-modal__empty{padding:12px;font-size:13px;color:var(--color-text-muted, #8c8c8c)}.spec-pause-modal__summary{padding:10px 12px;border-radius:6px;background:#fdfaf5;border:1px solid #f0e6d8}.spec-pause-modal__summary-main{font-size:13px;font-weight:400;color:var(--color-text, #1a1a1a)}.spec-pause-modal__summary-num{font-size:14px;font-weight:700;color:#b85450}.spec-pause-modal__summary-hint{margin-top:4px;font-size:12px;color:var(--color-text-muted, #8c8c8c)}.spec-pause-modal__footer-hint{margin:0;font-size:12px;color:var(--color-text-muted, #8c8c8c);line-height:1.5}.spec-terminate-node-list{padding:2px 6px}.spec-terminate-node-row{display:grid;grid-template-columns:minmax(0,1fr) 96px 108px;align-items:center;column-gap:12px;padding:5px 2px;border-bottom:1px solid var(--color-border, #f0f0f0)}.spec-terminate-node-row:last-child{border-bottom:0}.spec-terminate-node-row__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;line-height:1.35;color:var(--color-text, #1a1a1a);text-align:left}.spec-terminate-node-row__days{font-size:12px;line-height:1.35;color:var(--color-text-muted, #8c8c8c);white-space:nowrap;text-align:left}.spec-terminate-node-row__status{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;min-width:0}.spec-terminate-node-row__lock{font-size:11px;color:var(--color-text-muted, #8c8c8c);white-space:nowrap}.spec-terminate-status-badge.ipc-badge{margin:0!important;padding:0 5px;font-size:11px;line-height:18px;height:18px;border-radius:3px}.spec-terminate-node-select.ant-select{width:72px!important;min-width:72px!important;height:22px!important;min-height:22px!important;font-size:11px!important}.spec-terminate-node-select.ant-select .ant-select-selector,.spec-terminate-node-select.ant-select .ant-select-content{height:22px!important;min-height:22px!important;max-height:22px!important;padding-inline:6px!important;font-size:11px!important;line-height:20px!important;border-radius:4px!important;display:flex!important;align-items:center!important}.spec-terminate-node-select.ant-select .ant-select-selection-item,.spec-terminate-node-select.ant-select .ant-select-content-value,.spec-terminate-node-select.ant-select .ant-select-selection-placeholder{font-size:11px!important;line-height:20px!important;padding-inline-end:12px!important}.spec-terminate-node-select.ant-select .ant-select-arrow,.spec-terminate-node-select.ant-select .ant-select-suffix{font-size:10px!important;inset-inline-end:4px!important;width:10px!important;height:10px!important;margin-top:0!important}.milestone-terminated-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ipc-status-terminated);flex-shrink:0;vertical-align:middle}.project-terminate-modal.ant-modal .ant-modal-header{min-height:44px;padding:10px 44px 10px 16px}.project-terminate-modal.ant-modal .ant-modal-title{font-size:14px}.project-terminate-modal.ant-modal .ant-modal-body{padding:12px 16px!important}.project-terminate-modal.ant-modal .ant-modal-footer{padding:8px 16px 12px!important}.project-terminate-modal.ant-modal .ipc-modal__footer-actions .ipc-btn.ant-btn:not(.ipc-btn--link){height:28px;min-height:28px;padding:0 12px;font-size:12px}.project-terminate-modal__body{display:flex;flex-direction:column;gap:10px;font-size:12px}.project-terminate-modal .ipc-alert{gap:8px;padding:8px 10px}.project-terminate-modal .ipc-alert__title{font-size:12px;line-height:1.4}.project-terminate-modal .ipc-form-field__label{font-size:12px}.project-terminate-modal .ipc-form-field__control textarea.ant-input{min-height:52px;padding:6px 8px;font-size:12px}.terminate-sku-picker{display:flex;flex-direction:column;gap:8px}.terminate-sku-picker__label{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px;font-weight:600;color:var(--color-text, #1a1a1a)}.terminate-sku-picker__required{color:#ff4d4f;margin-right:2px}.terminate-sku-picker__count{font-weight:400;color:var(--color-text-muted, #8c8c8c)}.terminate-sku-picker__list{display:flex;flex-wrap:wrap;gap:8px}.terminate-sku-pill{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:4px 10px 4px 8px;border:1px solid #1677ff;border-radius:999px;background:#fff;color:#1677ff;cursor:pointer;font-size:12px;line-height:1.2}.terminate-sku-pill .ant-checkbox-wrapper,.terminate-sku-pill .ant-checkbox{pointer-events:none}.terminate-sku-pill--checked{background:#fff;border-color:#1677ff;color:#1677ff}.terminate-sku-pill--locked{cursor:not-allowed;opacity:.72}.terminate-sku-pill__name{font-weight:700;white-space:nowrap}.terminate-sku-pill__code{font-weight:400;white-space:nowrap}.terminate-sku-picker__hint{font-size:12px;color:#ff4d4f}.project-terminate-matrix__skipped{opacity:.45}.project-terminate-matrix-wrap{max-height:320px;overflow:auto;border:1px solid var(--color-border, #e8e8e8);border-radius:6px;background:#fafafa}.project-terminate-matrix{width:100%;border-collapse:collapse;font-size:12px}.project-terminate-matrix th,.project-terminate-matrix td{padding:6px 8px;border-bottom:1px solid var(--color-border, #f0f0f0);text-align:left;vertical-align:middle;white-space:nowrap}.project-terminate-matrix thead th{position:sticky;top:0;z-index:1;background:#eef1f6;font-weight:600;color:var(--color-text, #1a1a1a)}.project-terminate-matrix thead th:not(.project-terminate-matrix__col-node):not(.project-terminate-matrix__col-days){max-width:132px;overflow:hidden;text-overflow:ellipsis}.project-terminate-matrix__col-node{min-width:88px;position:sticky;left:0;z-index:2;background:inherit}.project-terminate-matrix__node-head{display:inline-flex;align-items:center;gap:4px}.project-terminate-matrix__tip-icon{color:var(--color-text-muted, #8c8c8c);font-size:13px;cursor:help}.project-terminate-matrix__tip{display:flex;flex-direction:column;gap:8px;font-size:12px;line-height:1.5}.project-terminate-matrix thead .project-terminate-matrix__col-node{z-index:3;background:#eef1f6}.project-terminate-matrix tbody .project-terminate-matrix__col-node{background:#fafafa;font-weight:500}.project-terminate-matrix__col-days{min-width:64px;color:var(--color-text-muted, #8c8c8c)}.project-terminate-matrix__select{width:80px!important;min-width:80px!important}.project-terminate-matrix__ro{font-size:12px;color:var(--color-text-muted, #8c8c8c)}.schedule-gantt{display:flex;flex-direction:column;flex:1 1 0;min-height:0;height:100%;font-size:12px;color:var(--color-text)}.schedule-gantt-empty-wrap{flex:1;min-height:0}.schedule-gantt-empty{padding:32px 16px;text-align:center;color:var(--color-text-muted);font-size:13px}.schedule-gantt-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px 12px;margin-bottom:0;flex-shrink:0;border-bottom:1px solid var(--color-border)}.schedule-gantt-toolbar-left,.schedule-gantt-toolbar-right{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.schedule-gantt-toolbar-title{font-weight:600;font-size:13px;color:var(--color-text)}.schedule-gantt-nav-group{display:inline-flex;align-items:center;gap:6px}.schedule-gantt-nav-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md, 6px);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.schedule-gantt-nav-btn:hover{background:var(--color-muted);color:var(--color-text)}.schedule-gantt-nav-btn:disabled{opacity:.35;cursor:not-allowed}.schedule-gantt-range-label{min-width:120px;text-align:center;font-size:12px;font-weight:500;color:var(--color-text);white-space:nowrap}.schedule-gantt-spec-select{height:32px;min-width:140px;border:1px solid var(--color-border);border-radius:var(--radius-md, 6px);padding:0 8px;background:var(--color-bg, var(--color-surface));color:var(--color-text);font-size:12px;cursor:pointer}.schedule-gantt-view-mode-group{display:inline-flex;align-items:stretch;overflow:hidden;border-radius:var(--radius-md, 6px);border:1px solid var(--color-border)}.schedule-gantt-view-mode-btn{height:32px;min-width:36px;padding:0 12px;border:0;border-left:1px solid var(--color-border);border-radius:0;background:transparent;color:var(--color-text-muted);font-size:12px;font-weight:500;cursor:pointer}.schedule-gantt-view-mode-btn:first-child{border-left:0}.schedule-gantt-view-mode-btn:hover{background:var(--color-muted);color:var(--color-text)}.schedule-gantt-view-mode-btn.active{background:var(--color-primary);color:#fff;border-left-color:var(--color-primary)}.schedule-gantt-critical-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;cursor:pointer}.schedule-gantt-scroll-wrap{position:relative;flex:1 1 0;min-height:0;height:100%;display:flex;flex-direction:column;border:none;border-radius:0;background:var(--color-surface);overflow:hidden}.schedule-gantt-hscroll{flex:1 1 0;min-height:0;height:100%;min-width:0;overflow-x:auto;overflow-y:auto;scrollbar-width:thin;padding:0;box-sizing:border-box}.schedule-gantt-grid{display:inline-block;min-width:100%;vertical-align:top;position:relative}.schedule-gantt-head{position:sticky;top:0;z-index:20;display:flex;background:var(--color-muted);border-bottom:1px solid var(--color-border);box-shadow:0 1px 0 var(--color-border)}.schedule-gantt-head-spacer{flex-shrink:0;align-self:stretch;border-right:1px solid var(--color-border);background:var(--color-muted);position:sticky;left:0;z-index:25;box-shadow:4px 0 8px -4px #02081714;display:flex;align-items:flex-end;box-sizing:border-box}.schedule-gantt-head-left-label{display:flex;flex-direction:column;gap:2px;padding:8px 12px;font-size:12px;font-weight:600;color:var(--color-text);line-height:1.3}.schedule-gantt-head-left-sub{font-size:11px;font-weight:500;color:var(--color-text-muted)}.schedule-gantt-head-tracks{display:flex;flex-direction:column;flex-shrink:0;position:relative;z-index:1}.schedule-gantt-head-months{display:flex;flex-shrink:0;border-bottom:1px solid var(--color-border)}.schedule-gantt-month-cell{box-sizing:border-box;text-align:center;font-size:11px;font-weight:500;color:var(--color-text-muted);padding:6px 4px;border-right:1px solid var(--color-border);background:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-gantt-head-weeks,.schedule-gantt-head-nums{display:flex;flex-shrink:0}.schedule-gantt-day-col{flex-shrink:0;box-sizing:border-box;border-right:1px solid var(--color-border)}.schedule-gantt-day-col-week{border-bottom:1px solid var(--color-border)}.schedule-gantt-day-col-week:not(.non-work),.schedule-gantt-day-col-num:not(.non-work){background:var(--color-muted)}.schedule-gantt-day-col.non-work{background:color-mix(in srgb,var(--color-muted) 70%,#94a3b8)}.schedule-gantt-day-week{text-align:center;font-size:11px;color:var(--color-text-muted);font-weight:500;padding:4px 0;line-height:1.2}.schedule-gantt-day-num{text-align:center;font-size:11px;color:var(--color-text);padding:3px 0 4px}.schedule-gantt-body{position:relative;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.schedule-gantt-pair{display:flex;align-items:stretch;min-height:64px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.schedule-gantt-pair.no-actual{min-height:56px}.schedule-gantt-pair:hover{background:color-mix(in srgb,var(--color-primary) 5%,transparent)}.schedule-gantt-pair:last-child{border-bottom:none}.schedule-gantt-left{flex-shrink:0;border-right:1px solid var(--color-border);position:sticky;left:0;z-index:3;align-self:stretch;display:flex;box-sizing:border-box;background:var(--color-surface);box-shadow:4px 0 8px -4px #02081714}.schedule-gantt-pair--status-pending .schedule-gantt-left{background:var(--color-surface)}.schedule-gantt-pair--status-in_progress .schedule-gantt-left{background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.schedule-gantt-pair--status-completed .schedule-gantt-left{background:color-mix(in srgb,var(--color-success) 6%,var(--color-surface))}.schedule-gantt-left-stack{display:flex;flex-direction:column;justify-content:center;gap:2px;width:100%;min-width:0;padding:10px 12px;box-sizing:border-box}.schedule-gantt-node-title{display:flex;align-items:center;gap:6px;min-width:0}.schedule-gantt-critical-icon{flex-shrink:0;color:color-mix(in srgb,var(--color-text-muted) 35%,transparent)}.schedule-gantt-critical-icon.is-critical{color:var(--color-primary)}.schedule-gantt-cell-name{display:block;min-width:0;font-size:13px;font-weight:500;color:var(--color-text);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-gantt-meta-line{font-size:11px;line-height:1.3;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-gantt-meta-plan{color:var(--color-text-muted)}.schedule-gantt-meta-actual{color:color-mix(in srgb,var(--color-text) 72%,var(--color-text-muted))}.schedule-gantt-meta-empty{color:var(--color-text-muted);opacity:.7}.schedule-gantt-node-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.schedule-gantt-chip{display:inline-flex;align-items:center;padding:0 6px;border-radius:999px;font-size:10px;font-weight:500;line-height:18px}.schedule-gantt-chip--pending{background:var(--ipc-status-pending-bg);color:var(--ipc-status-pending);border:1px dashed color-mix(in srgb,var(--ipc-status-pending) 45%,transparent)}.schedule-gantt-chip--in_progress{background:var(--ipc-status-in-progress-bg);color:var(--ipc-status-in-progress)}.schedule-gantt-chip--completed,.schedule-gantt-chip--normal{background:var(--ipc-status-completed-bg);color:var(--ipc-status-completed)}.schedule-gantt-chip--delay{background:var(--ipc-status-terminated-bg);color:var(--ipc-status-delayed)}.schedule-gantt-chip--early{background:color-mix(in srgb,var(--color-success) 12%,transparent);color:var(--color-success)}.schedule-gantt-cell-muted{color:var(--color-text-muted)}.schedule-gantt-right{position:relative;flex-shrink:0;display:flex;align-items:stretch;z-index:1}.schedule-gantt-timeline-rows{display:flex;flex-direction:column;flex:1;min-height:100%;height:100%}.schedule-gantt-tl-row{position:relative;min-height:32px;flex:1 1 32px;box-sizing:border-box;border-bottom:1px solid var(--color-border)}.schedule-gantt-tl-row.compact{min-height:28px;flex-basis:28px}.schedule-gantt-tl-row:last-child{border-bottom:none}.schedule-gantt-tl-row-bg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex}.schedule-gantt-day-bg{height:100%;box-sizing:border-box;border-right:1px solid color-mix(in srgb,var(--color-border) 60%,transparent);background:var(--color-surface)}.schedule-gantt-day-bg.non-work{background:color-mix(in srgb,var(--color-muted) 70%,transparent)}.schedule-gantt-bar-layer{position:absolute;left:0;top:0;height:100%;pointer-events:none}.schedule-gantt-bar-layer.compact{height:100%}.schedule-gantt-bar{position:absolute;top:50%;transform:translateY(-50%);height:14px;border-radius:3px;box-sizing:border-box;pointer-events:none}.schedule-gantt-bar.compact{height:12px}.schedule-gantt-bar-plan,.schedule-gantt-bar-actual,.schedule-gantt-bar--in_progress{background:var(--ipc-status-in-progress);border:1px solid var(--ipc-status-in-progress)}.schedule-gantt-bar--completed{background:var(--ipc-status-completed)!important;border-color:var(--ipc-status-completed)!important}.schedule-gantt-bar--pending{background:color-mix(in srgb,var(--color-muted) 50%,transparent)!important;border:1px dashed color-mix(in srgb,var(--ipc-status-pending) 45%,transparent)!important}.schedule-gantt-bar--ghost-plan{background:color-mix(in srgb,var(--ipc-status-pending) 10%,transparent)!important;border:1px dashed color-mix(in srgb,var(--ipc-status-pending) 40%,transparent)!important}.schedule-gantt-bar-overdue{box-shadow:0 0 0 2px var(--ipc-status-delayed);border-color:var(--ipc-status-delayed)!important}.schedule-gantt-bar-draggable{cursor:grab;pointer-events:auto!important}.schedule-gantt-bar-draggable:active{cursor:grabbing}.schedule-gantt-ghost-bar{opacity:.35!important;pointer-events:none}.schedule-gantt-dependency-overlay{position:absolute;top:0;pointer-events:none;overflow:visible;z-index:2}.schedule-gantt-dep-line{fill:none;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;opacity:.95}.schedule-gantt-dep-arrow{opacity:.95}.schedule-gantt-dep-line-plan{stroke:#111827}.schedule-gantt-dep-arrow-plan{fill:#111827}.schedule-gantt-dep-line-actual{stroke:#b42318}.schedule-gantt-dep-arrow-actual{fill:#b42318}.schedule-gantt-drag-tooltip{position:absolute;top:50%;transform:translateY(-50%);background:#1a1a1a;color:#fff;padding:3px 8px;border-radius:4px;font-size:11px;white-space:nowrap;pointer-events:none;z-index:10}.schedule-gantt-align-guide{transition:opacity .15s ease}.schedule-gantt-today-line{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--color-primary);opacity:.85;pointer-events:none;z-index:5;animation:ipc-gantt-today-pulse 1.6s ease-in-out infinite}@keyframes ipc-gantt-today-pulse{0%,to{opacity:.55}50%{opacity:1}}.schedule-gantt-legend{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:8px 12px;flex-shrink:0;font-size:12px;color:var(--color-text-muted);border-top:1px solid var(--color-border)}.schedule-gantt-legend-label{font-weight:500;color:color-mix(in srgb,var(--color-text-muted) 70%,transparent)}.schedule-gantt-legend-item{display:inline-flex;align-items:center;gap:6px}.schedule-gantt-legend-sep{width:1px;height:12px;background:var(--color-border)}.schedule-gantt-legend-swatch{display:inline-block;width:18px;height:10px;border-radius:2px;box-sizing:border-box}.schedule-gantt-legend-swatch--completed{background:var(--ipc-status-completed)}.schedule-gantt-legend-swatch--progress{background:var(--ipc-status-in-progress)}.schedule-gantt-legend-swatch--pending{background:color-mix(in srgb,var(--color-muted) 50%,transparent);border:1px dashed color-mix(in srgb,var(--ipc-status-pending) 45%,transparent)}.schedule-gantt-legend-swatch--overdue{border:2px solid var(--ipc-status-delayed);background:transparent}.schedule-gantt-legend-swatch--ghost{background:color-mix(in srgb,var(--color-text-muted) 10%,transparent);border:1px dashed color-mix(in srgb,var(--color-text-muted) 40%,transparent)}.schedule-gantt-legend-swatch--nonwork{width:4px;height:12px;background:color-mix(in srgb,var(--color-muted) 80%,transparent)}.schedule-gantt-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;height:36px;padding:0 12px;flex-shrink:0;font-size:12px;color:var(--color-text-muted);border-top:1px solid var(--color-border)}.schedule-gantt-footer-item{display:inline-flex;align-items:center;gap:6px}.acr-script-help-modal .ant-modal-body{max-height:min(72vh,640px);overflow-y:auto}.acr-script-help{display:flex;flex-direction:column;gap:20px}.acr-script-help__section{margin:0}.acr-script-help__heading{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--color-text)}.acr-script-help__text{margin:0 0 8px;font-size:13px;line-height:1.6;color:var(--color-text-muted)}.acr-script-help__text:last-child{margin-bottom:0}.acr-script-help__code{margin:8px 0 0;padding:12px 14px;border-radius:var(--radius-md, 6px);background:#0f172a;color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.55;overflow-x:auto;white-space:pre}.acr-script-help__dl{margin:0;display:flex;flex-direction:column;gap:10px}.acr-script-help__dl dt{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--color-text)}.acr-script-help__dl dd{margin:0;font-size:13px;line-height:1.55;color:var(--color-text-muted)}.acr-script-help__fn{padding:10px 12px;margin-bottom:8px;border:1px solid var(--color-border);border-radius:var(--radius-md, 6px);background:var(--color-muted)}.acr-script-help__fn:last-child{margin-bottom:0}.acr-script-help__fn-sig{margin-bottom:6px;font-size:12px;line-height:1.5;word-break:break-word}.acr-script-help__fn p{margin:0 0 4px;font-size:13px;line-height:1.55;color:var(--color-text-muted)}.acr-script-help__fn p:last-child{margin-bottom:0}.acr-script-help code{padding:1px 5px;border-radius:4px;background:color-mix(in srgb,var(--color-primary) 10%,transparent);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.acr-script-help__code code{padding:0;background:transparent}.acr-script-help__field-list{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.acr-script-help__field-list li{display:grid;grid-template-columns:160px 1fr;gap:8px;font-size:13px;line-height:1.55;color:var(--color-text-muted)}.acr-script-help__field-list li code{align-self:start}.acr-rule-test-modal .ant-modal-body{max-height:min(78vh,720px);overflow-y:auto}.acr-rule-test-modal__body{display:flex;flex-direction:column;gap:14px}.acr-rule-test-modal__footer{display:flex;justify-content:flex-end;gap:8px;width:100%}.acr-rule-test-modal__json.ant-input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.55}.acr-rule-test-modal__projects{display:flex;flex-direction:column;gap:8px}.acr-rule-test-modal__projects-toolbar{display:flex;align-items:center;gap:8px}.acr-test-result{display:flex;flex-direction:column;gap:12px;padding-top:4px;border-top:1px solid var(--color-border)}.acr-test-result__summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:4px}.acr-test-result__meta{font-size:12px;color:var(--color-text-muted)}.acr-test-result__nodes{display:flex;flex-direction:column;gap:10px}.acr-test-result__nodes-title{font-size:13px;font-weight:600;color:var(--color-text)}.acr-test-result__node{border:1px solid var(--color-border);border-radius:var(--radius-md, 6px);padding:10px 12px;display:flex;flex-direction:column;gap:8px;background:var(--color-bg, #fff)}.acr-test-result__node-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.acr-test-result__node-title{font-size:13px;font-weight:600;color:var(--color-text)}.acr-test-result__step{border:1px solid var(--color-border);border-radius:var(--radius-md, 6px);background:var(--color-muted);padding:10px 12px}.acr-test-result__step-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.acr-test-result__step-title{font-size:13px;font-weight:600;color:var(--color-text)}.acr-test-result__json,.acr-test-result__error,.acr-test-result__logs-body{margin:0;padding:10px 12px;border-radius:var(--radius-md, 6px);background:#0f172a;color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.55;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.acr-test-result__error{background:color-mix(in srgb,var(--color-error) 12%,#0f172a);color:#fecaca;margin-bottom:8px}.acr-test-result__logs{margin-top:8px}.acr-test-result__logs-title{margin-bottom:4px;font-size:12px;color:var(--color-text-muted)}.acr-rule-run-log-modal .ant-modal-body{max-height:min(80vh,760px);overflow-y:auto}.acr-rule-run-log-modal__body{min-height:280px}.acr-rule-run-log-modal__footer{display:flex;justify-content:flex-end;width:100%}.acr-rule-run-log-modal__child{padding:4px 8px 8px 28px;background:color-mix(in srgb,var(--color-muted) 55%,transparent);border-radius:var(--radius-md, 6px)}.acr-rule-run-log-modal__child-row{cursor:pointer}.acr-rule-run-log-modal__child-row:hover>td{background:color-mix(in srgb,var(--color-primary, #2563eb) 8%,transparent)!important}.acr-rule-run-log-modal__project-link{color:var(--color-primary, #2563eb);text-decoration:none}.acr-rule-run-log-modal__project-link:hover{text-decoration:underline}.acr-rule-run-node-detail-modal .ant-modal-body{max-height:min(75vh,680px);overflow-y:auto}.acr-rule-run-node-detail{margin:0;display:flex;flex-direction:column;gap:10px}.acr-rule-run-node-detail__row{display:grid;grid-template-columns:180px 1fr;gap:8px 12px;align-items:start}.acr-rule-run-node-detail__row dt{margin:0;font-size:12px;color:var(--color-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;word-break:break-all}.acr-rule-run-node-detail__row dd{margin:0;font-size:13px;color:var(--color-text);word-break:break-word}.acr-rule-run-node-detail__pre{margin:0;padding:10px 12px;border-radius:var(--radius-md, 6px);background:#0f172a;color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.55;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:280px}.acr-rule-version-modal .ant-modal-body{max-height:min(78vh,720px);overflow-y:auto}.acr-rule-version-modal__body{min-height:240px}.acr-rule-version-modal__footer{display:flex;justify-content:flex-end;width:100%}.acr-rule-version-modal__row{cursor:pointer}.acr-rule-version-modal__row:hover>td{background:color-mix(in srgb,var(--color-primary, #2563eb) 8%,transparent)!important}.acr-rule-version-detail-modal .ant-modal-body{max-height:min(75vh,680px);overflow-y:auto}.acr-rule-version-detail__loading{padding:24px;text-align:center;color:var(--color-text-muted)}.acr-rule-version-detail{margin:0;display:flex;flex-direction:column;gap:10px}.acr-rule-version-detail__row{display:grid;grid-template-columns:180px 1fr;gap:8px 12px;align-items:start}.acr-rule-version-detail__row dt{margin:0;font-size:12px;color:var(--color-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;word-break:break-all}.acr-rule-version-detail__row dd{margin:0;font-size:13px;color:var(--color-text);word-break:break-word}.acr-rule-version-detail__pre{margin:0;padding:10px 12px;border-radius:var(--radius-md, 6px);background:#0f172a;color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.55;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:280px}.acr-trigger-modal__body{display:flex;flex-direction:column;gap:12px}.acr-trigger-modal__payload{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.acr-trigger-modal__footer{display:flex;justify-content:flex-end;gap:8px}.acr-trigger-modal__result{margin-top:4px;padding:10px 12px;border-radius:8px;background:var(--ipc-surface-muted, #f5f6f8)}.acr-trigger-modal__result-head{margin-bottom:8px}.acr-trigger-modal__rule-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.acr-trigger-modal__rule-list li{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:12px;line-height:1.4}.acr-trigger-modal__rule-list li .name{font-weight:600;color:var(--ipc-text, #1f2329)}.acr-trigger-modal__rule-list li .meta{color:var(--ipc-text-secondary, #646a73)}.acr-trigger-modal__rule-list li.fail .meta{color:var(--ipc-danger, #c00)}.acr-trigger-modal__rule-list li.ok .meta{color:var(--ipc-success, #0a7a3e)}.acr-script-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2100;display:flex;flex-direction:column;background:var(--color-surface, #fff);pointer-events:auto}.acr-script-fullscreen__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-primary) 6%,var(--color-muted))}.acr-script-fullscreen__title{font-size:15px;font-weight:600;color:var(--color-text)}.acr-script-fullscreen__close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-md, 6px);background:transparent;color:var(--color-text-muted);cursor:pointer}.acr-script-fullscreen__close:hover{background:var(--color-muted);color:var(--color-text)}.acr-script-fullscreen__body{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px 16px;gap:12px}.acr-script-fullscreen__editor-pane{flex:3;min-height:0;display:flex;flex-direction:column;gap:6px}.acr-script-fullscreen__bottom-pane{flex:2;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.acr-script-fullscreen__context-pane,.acr-script-fullscreen__result-pane{min-height:0;display:flex;flex-direction:column;gap:6px}.acr-script-fullscreen__pane-label{font-size:12px;font-weight:600;color:var(--color-text-muted)}.acr-script-fullscreen__code.ant-input,.acr-script-fullscreen__context.ant-input{flex:1;min-height:0!important;height:100%!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;font-size:13px!important;line-height:1.55!important;resize:none!important;pointer-events:auto}.acr-script-fullscreen__code{background:#0f172a!important;color:#e2e8f0!important;border-color:#1e293b!important}.acr-script-fullscreen__context{background:#f8fafc!important}.acr-script-fullscreen__result{flex:1;min-height:0;margin:0;padding:10px 12px;overflow:auto;border-radius:var(--radius-md, 6px);border:1px solid var(--color-border);background:#0f172a;color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.acr-script-fullscreen__result.is-error{color:#fecaca}.acr-script-fullscreen__footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--color-border);background:var(--color-surface, #fff)}.acr-rule-section__head-actions{display:inline-flex;align-items:center;gap:4px;margin-left:auto}.acr-script-fullscreen-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin:0;padding:0;border:none;border-radius:var(--radius-md, 6px);background:transparent;color:var(--color-text-muted);font-size:14px;cursor:pointer;flex-shrink:0}.acr-script-fullscreen-btn:hover{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.acr-script-help-btn{margin-left:0}@media (max-width: 900px){.acr-script-fullscreen__bottom-pane{grid-template-columns:1fr}}.acr-toolbar-actions{display:inline-flex;align-items:center;gap:8px}.node-auto-complete-rules-tab .acr-rule-name{font-weight:500;color:var(--color-text)}.acr-linked-nodes{font-size:13px;color:var(--color-text)}.acr-linked-nodes--count{cursor:default;font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-primary, #2563eb)}.acr-linked-nodes--muted{color:var(--color-text-muted)}.acr-linked-nodes-tooltip{margin:0;padding-left:16px;max-width:280px;max-height:240px;overflow-y:auto}.acr-flow-cell__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.acr-flow-cell__meta{font-size:12px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acr-last-run{display:inline-flex;flex-direction:column;gap:2px;font-size:13px}.acr-last-run__dot{display:none}.acr-last-run--success .acr-last-run__label{color:var(--ipc-status-completed)}.acr-last-run--failed .acr-last-run__label{color:var(--ipc-status-terminated)}.acr-last-run--none{color:var(--color-text-muted)}.acr-last-run__detail{font-size:12px;color:var(--color-text-muted)}.acr-row-actions{display:inline-flex;align-items:center;gap:4px}.acr-more-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:0;padding:0;border:none;border-radius:var(--radius-md, 6px);background:transparent;color:var(--color-text-muted);cursor:pointer}.acr-more-btn:hover{background:var(--color-muted);color:var(--color-primary)}.acr-rule-modal.ant-modal .ant-modal-header{min-height:0;height:0;margin:0;padding:0;border-bottom:none;background:transparent;overflow:visible}.acr-rule-modal.ant-modal .ant-modal-title{display:none}.acr-rule-modal.ant-modal .ant-modal-close{top:16px;inset-inline-end:16px;z-index:10}.acr-rule-modal.ant-modal .ant-modal-body{padding:16px 20px 8px!important}.acr-rule-modal__body{display:flex;flex-direction:column;gap:16px}.acr-rule-modal__name-row{display:flex;align-items:center;gap:12px;padding-right:36px}.acr-rule-modal__name-row .acr-rule-modal__name{flex:1;min-width:0}.acr-rule-modal__version{flex-shrink:0;font-size:12px;color:var(--color-text-muted);white-space:nowrap;line-height:1.4}.acr-rule-modal__name.ant-input{font-size:18px;font-weight:600;border:none;border-bottom:1px solid var(--color-border);border-radius:0;padding:4px 0 10px;box-shadow:none!important}.acr-rule-modal__name.ant-input:focus{border-bottom-color:var(--color-primary)}.acr-rule-section{border:1px solid var(--color-border);border-radius:var(--radius, 8px);background:var(--color-surface, #fff);overflow:hidden}.acr-rule-section__head{display:flex;align-items:center;gap:8px;padding:10px 14px;background:color-mix(in srgb,var(--color-primary) 6%,var(--color-muted));border-bottom:1px solid var(--color-border)}.acr-rule-section__step{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:var(--color-primary);color:#fff;font-size:12px;font-weight:600;flex-shrink:0}.acr-rule-section__title{font-size:14px;font-weight:600;color:var(--color-text)}.acr-rule-section__required{color:var(--color-error);font-weight:600}.acr-script-help-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin:0;padding:0;border:none;border-radius:var(--radius-md, 6px);background:transparent;color:var(--color-text-muted);font-size:15px;cursor:pointer;flex-shrink:0}.acr-script-help-btn:hover{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.acr-rule-section__body{padding:14px}.acr-trigger-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px}.acr-trigger-fields .ipc-form-field{margin-bottom:0}.acr-rule-scripts{display:grid;grid-template-columns:1fr 1fr;gap:16px}.acr-rule-section--script .acr-rule-section__body{padding:0}.acr-script-editor__toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:#1e293b;color:#e2e8f0;font-size:12px}.acr-script-editor__lang{font-weight:500;letter-spacing:.02em}.acr-script-editor__actions{display:flex;gap:12px}.acr-script-editor__link{margin:0;padding:0;border:none;background:transparent;color:#93c5fd;font-size:12px;cursor:pointer}.acr-script-editor__link:hover{color:#bfdbfe;text-decoration:underline}.acr-script-editor__code.ant-input{border:none;border-radius:0;background:#0f172a;color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.55;resize:vertical;min-height:220px}.acr-script-editor__code.ant-input:focus{box-shadow:none}.acr-script-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 14px;border-top:1px solid var(--color-border);background:var(--color-muted)}.acr-script-meta .ipc-form-field{margin-bottom:0}.acr-rule-modal__status-row{display:flex;align-items:center;gap:10px;padding-top:4px}.acr-rule-modal__status-label{font-size:13px;color:var(--color-text-muted)}.acr-rule-modal__footer{display:flex;align-items:center;justify-content:space-between;width:100%}.acr-rule-modal__footer-right{display:flex;gap:8px}@media (max-width: 900px){.acr-trigger-fields,.acr-rule-scripts{grid-template-columns:1fr}}.milestone-config{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:13px;line-height:1.4;color:#1a1a1a;display:flex;flex-direction:column;flex:1 1 0;min-height:0;height:100%;max-height:100%;overflow:hidden;gap:var(--ipc-section-gap, 12px)}.config-header{display:flex;justify-content:space-between;align-items:center;padding:0 0 16px;border-bottom:1px solid #e8e8e8;background:#fff}.config-tabs-wrap{background:#fff;flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.config-tabs-wrap .ipc-module-tabs{flex:1 1 0;min-height:0}.config-tabs-wrap .ant-tabs-nav{margin-left:0;margin-right:0;margin-bottom:var(--ipc-section-gap, 12px)}.config-header h2{margin:0;font-size:18px;font-weight:600;color:#1a1a1a;display:flex;align-items:center;gap:8px}.config-tabs{display:flex;gap:4px;padding:12px 0;background:#fff;border-bottom:1px solid #e8e8e8}.config-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;background:transparent;color:#666;font-size:13px;font-weight:500;cursor:pointer;border-radius:4px;transition:all .2s}.config-tab:hover{background:#f5f5f5;color:#1a1a1a}.config-tab.active{background:#edf2f9;color:var(--color-primary);font-weight:600}.config-content{flex:1 1 0;min-height:0;height:100%;overflow-y:auto;padding:0;background:transparent;display:flex;flex-direction:column;gap:var(--ipc-section-gap, 12px)}.template-config-content{overflow:hidden}.milestone-template-table-area .ant-spin-nested-loading,.milestone-template-table-area .ant-spin-container{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.milestone-template-table-area .ant-spin-container>.ipc-table-shell{flex:1 1 auto;min-height:0}.milestone-template-table-area .ant-spin-container>.ipc-empty{flex:1 1 auto;min-height:0}.config-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.milestone-filter-owner{width:240px;flex:0 1 240px}.milestone-filter-count{flex-shrink:0;color:var(--color-text-muted, #64748b);font-size:12px}.milestone-phase-tag.ipc-tag{min-width:42px;justify-content:center;border-radius:6px;font-weight:500}.milestone-phase-tag--0.ipc-tag{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.milestone-phase-tag--1.ipc-tag{color:#7c3aed;background:#f5f3ff;border-color:#ddd6fe}.milestone-phase-tag--2.ipc-tag{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.milestone-phase-tag--3.ipc-tag{color:#b45309;background:#fffbeb;border-color:#fde68a}.milestone-phase-tag--4.ipc-tag{color:#be123c;background:#fff1f2;border-color:#fecdd3}.milestone-phase-tag--5.ipc-tag{color:#0f766e;background:#f0fdfa;border-color:#99f6e4}.milestone-phase-tag--6.ipc-tag{color:#4338ca;background:#eef2ff;border-color:#c7d2fe}.milestone-phase-tag--other.ipc-tag{color:#475569;background:#f8fafc;border-color:#cbd5e1}.milestone-config-table-wrap{width:100%;background:#fff;border:1px solid var(--color-border, #d7e0ea);border-radius:8px}.milestone-config-table-wrap .ant-table-fixed-header .ant-table-content{overflow:hidden!important}.milestone-config-table-wrap .ant-table-fixed-header .ant-table-body{overflow:auto!important}.milestone-config-table{width:100%;border-collapse:separate;border-spacing:0;color:var(--color-text, #1f2937);font-size:13px;table-layout:fixed}.template-config-table{min-width:900px}.node-config-table{min-width:1080px}table.milestone-config-table th{position:sticky;top:0;z-index:3;box-sizing:border-box;height:40px;padding:0 12px;background:var(--color-bg-subtle, #f7f9fc);border-bottom:1px solid var(--color-border, #d7e0ea);border-right:1px solid var(--color-border-soft, #e7edf4);color:var(--color-text-secondary, #5f6f89);font-size:12px;font-weight:500;line-height:20px;text-align:left;white-space:nowrap;vertical-align:middle}table.milestone-config-table td{box-sizing:border-box;height:auto;min-height:40px;padding:10px 12px;border-bottom:1px solid var(--color-border-soft, #e7edf4);border-right:1px solid var(--color-border-soft, #e7edf4);background:#fff;line-height:18px;vertical-align:middle}table.milestone-config-table th:last-child,table.milestone-config-table td:last-child{border-right:0}table.milestone-config-table tbody tr:last-child td{border-bottom:0}table.milestone-config-table tbody tr:hover td{background:#f8fbff}.milestone-config-table.ant-table-wrapper .ant-table-thead>tr>th,.milestone-config-table.ant-table-wrapper .ant-table-tbody>tr>td{border-right:0!important}.milestone-config-table.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:nth-child(2n)>td{background:var(--ipc-table-zebra-bg, #f8fafc)!important}.milestone-config-table.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>td{background:var(--color-muted, #f1f5f9)!important}.milestone-config-table-wrap .ant-table-cell-fix-start,.milestone-config-table-wrap .ant-table-cell-fix-end,.milestone-config-table-wrap .ant-table-cell-fix-left,.milestone-config-table-wrap .ant-table-cell-fix-right{background:#fff!important;background-clip:padding-box}.milestone-config-table-wrap .ant-table-thead>tr>th.ant-table-cell-fix-start,.milestone-config-table-wrap .ant-table-thead>tr>th.ant-table-cell-fix-end,.milestone-config-table-wrap .ant-table-thead>tr>th.ant-table-cell-fix-left,.milestone-config-table-wrap .ant-table-thead>tr>th.ant-table-cell-fix-right,.milestone-config-table-wrap .ant-table-thead>tr>th.milestone-config-action-header{background:var(--color-bg-subtle, #f7f9fc)!important;z-index:5!important}.milestone-config-table-wrap .ant-table-tbody>tr>td.ant-table-cell-fix-start,.milestone-config-table-wrap .ant-table-tbody>tr>td.ant-table-cell-fix-end,.milestone-config-table-wrap .ant-table-tbody>tr>td.ant-table-cell-fix-left,.milestone-config-table-wrap .ant-table-tbody>tr>td.ant-table-cell-fix-right,.milestone-config-table-wrap .ant-table-tbody>tr>td.milestone-config-action-cell{z-index:4}.milestone-config-table-wrap .ant-table-tbody>tr.ant-table-row:nth-child(2n)>td.ant-table-cell-fix-end,.milestone-config-table-wrap .ant-table-tbody>tr.ant-table-row:nth-child(2n)>td.ant-table-cell-fix-right{background:var(--ipc-table-zebra-bg, #f8fafc)!important}.milestone-config-table-wrap .ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell-fix-start,.milestone-config-table-wrap .ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell-fix-end,.milestone-config-table-wrap .ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell-fix-left,.milestone-config-table-wrap .ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell-fix-right,.milestone-config-table-wrap .ant-table-tbody>tr.ant-table-row-hover>td.ant-table-cell-fix-start,.milestone-config-table-wrap .ant-table-tbody>tr.ant-table-row-hover>td.ant-table-cell-fix-end,.milestone-config-table-wrap .ant-table-tbody>tr.ant-table-row-hover>td.ant-table-cell-fix-left,.milestone-config-table-wrap .ant-table-tbody>tr.ant-table-row-hover>td.ant-table-cell-fix-right{background:var(--color-muted, #f1f5f9)!important}.milestone-config-action-header,.milestone-config-action-cell{text-align:left}.milestone-config-action-header{z-index:5;background:var(--color-bg-subtle, #f7f9fc)}.milestone-config-action-cell{z-index:4}.milestone-config-table tbody tr:hover .milestone-config-action-cell{background:#f8fbff}.template-config-table th:nth-child(1){width:280px}.template-config-table th:nth-child(2){width:260px}.template-config-table th:nth-child(3){width:90px}.template-config-table th:nth-child(3),.template-config-table td:nth-child(3){text-align:center}.template-config-table th:nth-child(4),.template-config-table th:nth-child(5){width:130px}.node-config-table th:nth-child(1){width:300px}.node-config-table th:nth-child(2){width:220px}.node-config-table th:nth-child(3),.node-config-table th:nth-child(4){width:120px}.node-config-table th:nth-child(3),.node-config-table th:nth-child(4),.node-config-table td:nth-child(3),.node-config-table td:nth-child(4){text-align:center}.template-table-name,.node-table-id,.node-table-name{color:var(--color-text, #1f2937);font-weight:600}.node-table-id,.node-table-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-table-id{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;font-weight:500}.template-table-desc,.node-table-desc{display:-webkit-box;overflow:hidden;color:var(--color-text-muted, #64748b);font-size:12px;line-height:18px;-webkit-line-clamp:2;-webkit-box-orient:vertical}.template-table-desc{margin-top:4px}.template-table-node-count{color:var(--color-primary, #2f7cf6);font-weight:600;font-variant-numeric:tabular-nums}.template-action-disabled{color:var(--color-text-muted, #64748b);font-size:12px}.template-edit-modal.ant-modal{max-width:calc(100vw - 48px)}.template-edit-modal.ant-modal .ant-modal-body{max-height:calc(100vh - 188px);overflow-y:auto}.milestone-selector-modal.ant-modal .ant-modal-body{max-height:none}.milestone-selector-modal .milestone-checkbox-list{height:360px;overflow-y:auto;padding-right:4px}.template-modal-form{display:flex;flex-direction:column;gap:16px}.template-modal-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.template-modal-owner{padding-top:2px}.template-modal-section{display:flex;flex-direction:column;gap:10px}.template-modal-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.template-modal-section-header h4{margin:0;color:var(--color-text-secondary, #5f6f89);font-size:13px;font-weight:600;line-height:20px}.template-modal-order-cell{padding-left:6px!important;padding-right:6px!important}.template-modal-table-panel{border-radius:8px}.template-modal-table-wrap{width:100%}.template-modal-ipc-table .ant-table-cell{vertical-align:middle}.template-modal-number-pair,.template-modal-switch-list{display:flex;align-items:center}.template-modal-drag-handle{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;background:transparent;color:var(--color-text-muted, #64748b);cursor:grab}.template-modal-drag-handle:hover{color:var(--color-primary, #2f7cf6);background:color-mix(in srgb,var(--color-primary, #2f7cf6) 10%,transparent)}.template-modal-drag-handle:active{cursor:grabbing}.template-modal-row--dragging .ant-table-cell{opacity:.55;background:color-mix(in srgb,var(--color-primary, #2f7cf6) 8%,#fff)!important}.template-modal-row--drop-target .ant-table-cell{background:color-mix(in srgb,var(--color-primary, #2f7cf6) 10%,#fff)!important}.template-modal-row--drop-target .ant-table-cell:first-child{box-shadow:inset 3px 0 0 var(--color-primary, #2f7cf6)}.template-modal-node-name{color:var(--color-text, #1f2937);font-weight:600;line-height:18px}.template-modal-node-meta{margin-top:1px;color:var(--color-text-muted, #64748b);font-size:12px;line-height:16px}.template-modal-muted{color:var(--color-text-muted, #64748b);font-size:12px}.template-modal-number-pair{gap:6px}.template-modal-number-pair .ant-input-number{flex:1 1 0;min-width:0}.template-modal-switch-list{flex-direction:column;align-items:flex-start;gap:6px}.template-modal-switch-list label{display:inline-flex;align-items:center;gap:6px;color:var(--color-text-secondary, #5f6f89);font-size:12px;white-space:nowrap}.template-modal-switch.ant-switch{width:36px!important;min-width:36px!important;height:22px!important;min-height:22px!important;line-height:20px!important;background:#e2e8f0;border:0}.template-modal-switch.ant-switch .ant-switch-handle{top:2px!important;width:18px!important;height:18px!important}.template-modal-switch.ant-switch:not(.ant-switch-checked) .ant-switch-handle{inset-inline-start:2px!important}.template-modal-switch.ant-switch.ant-switch-checked .ant-switch-handle{inset-inline-start:calc(100% - 20px)!important}.template-modal-switch.ant-switch:hover:not(.ant-switch-disabled){background:#cbd5e1}.template-modal-switch.ant-switch.ant-switch-checked{background:var(--color-primary, #2f7cf6)}.template-modal-switch.ant-switch.ant-switch-disabled{background:#edf2f7!important;opacity:1;cursor:not-allowed}.template-modal-switch.ant-switch.ant-switch-disabled .ant-switch-handle:before{background:#cbd5e1;box-shadow:none}.template-modal-switch.ant-switch.ant-switch-disabled+span{color:#94a3b8}.template-edit-modal.ant-modal .template-modal-ipc-table .ant-select,.template-edit-modal.ant-modal .template-modal-ipc-table .ant-input-number{width:100%;height:32px!important;min-height:32px!important}.template-edit-modal.ant-modal .template-modal-ipc-table .ant-select-single .ant-select-selector{height:32px!important;padding-inline:10px!important}.template-edit-modal.ant-modal .template-modal-ipc-table .ant-select-single .ant-select-selection-item,.template-edit-modal.ant-modal .template-modal-ipc-table .ant-select-single .ant-select-selection-placeholder{line-height:30px!important}.template-edit-modal.ant-modal .template-modal-ipc-table .ant-input-number-input{height:30px!important;line-height:30px!important}.template-modal-tip{color:var(--color-text-muted, #64748b);font-size:12px;line-height:18px}.templates-list{display:flex;flex-direction:column;gap:20px}.template-card-block{background:#fff;border:1px solid #e8e8e8;border-radius:8px;overflow:hidden}.template-card-block-header{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 16px;background:#fafafa;border-bottom:1px solid #e8e8e8;gap:16px}.template-header-main{flex:1;min-width:0}.template-card-block-header .template-name-content{margin:0 0 8px}.owner-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:4px}.ipc-table .owner-row,.milestone-config-table .owner-row{margin-top:0;min-height:0}.owner-label{font-size:12px;color:#888;font-weight:500;flex-shrink:0}.owner-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.owner-tag{display:inline-flex;align-items:center;gap:4px;box-sizing:border-box;height:22px;padding:2px 8px 2px 2px;background:#f0f5ff;border:1px solid #d6e4ff;border-radius:12px;font-size:12px;line-height:20px;color:#1a1a1a}.owner-avatar{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#597ef7;color:#fff;font-size:10px;font-weight:600;flex-shrink:0}.owner-name{line-height:1.2}.owner-empty{color:var(--color-text-muted, #64748b);font-size:12px}.owner-remove-btn{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:#999;cursor:pointer;padding:0 2px;line-height:1}.owner-remove-btn:hover{color:#ff4d4f}.add-owner-btn{box-sizing:border-box;height:22px;border:1px dashed #d9d9d9;background:#fff;color:#597ef7;font-size:12px;padding:0 8px;border-radius:12px;cursor:pointer;line-height:20px}.add-owner-btn:hover{border-color:#597ef7;background:#f0f5ff}.disabled-action-wrap{display:inline-block;cursor:not-allowed}.disabled-action-wrap .ant-btn[disabled]{pointer-events:none}.owner-search-results{max-height:240px;overflow-y:auto;border:1px solid #f0f0f0;border-radius:6px}.owner-search-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:none;border-bottom:1px solid #f5f5f5;background:#fff;cursor:pointer;text-align:left;font-size:13px}.owner-search-item-name{flex:1;min-width:0}.owner-search-item.already-added{cursor:not-allowed;background:#fafafa;color:#999}.owner-search-item.already-added .owner-avatar{background:#bfbfbf}.owner-already-badge{flex-shrink:0;font-size:11px;color:#8c8c8c;background:#f0f0f0;border:1px solid #e8e8e8;border-radius:10px;padding:0 8px;line-height:20px}.owner-search-item:last-child{border-bottom:none}.owner-search-item:hover:not(:disabled),.owner-search-item.selected{background:#f0f5ff}.owner-search-item.already-added:hover{background:#fafafa}.owner-selected-preview{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}.owner-selected-label{font-size:12px;color:#666}.template-card-block-table-wrap{overflow-x:auto}.template-single-table{width:100%;min-width:100%;border-collapse:collapse;font-size:13px}.template-single-table-header{background:#f5f5f5;font-size:12px;font-weight:600}.template-single-table-header th{padding:8px 12px;text-align:center;border-right:1px solid #e8e8e8;border-bottom:1px solid #e8e8e8}.template-single-table-header th:last-child{border-right:none}.template-single-table-body{background:#fff}.template-single-table-body td{padding:8px 12px;border-right:1px solid #f0f0f0;vertical-align:top}.template-single-table-body td:last-child{border-right:none}.template-single-table .milestone-header-cell,.template-single-table .template-milestone-cell{min-width:140px}.templates-table-container{background:#fff;border:1px solid #e8e8e8;border-radius:8px;overflow:hidden}.templates-table-wrapper{overflow-x:auto}.templates-table{width:100%;min-width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.templates-table-header{background:#fafafa;font-size:12px;font-weight:600}.templates-table-header tr{border-bottom:1px solid #e8e8e8}.template-name-header{min-width:180px;width:180px;padding:12px 16px;text-align:left;background:#fafafa;border-right:1px solid #e8e8e8;position:sticky;left:0;z-index:10}.milestone-header-cell{min-width:120px;padding:8px 6px;text-align:center;border-right:1px solid #e8e8e8;position:relative;font-weight:600}.milestone-header-cell:last-of-type{border-right:none}.milestone-header-cell .milestone-name{color:#1a1a1a;font-size:12px;display:flex;align-items:center;justify-content:center;gap:4px;line-height:1.4}.template-actions-header{min-width:140px;width:140px;padding:12px 16px;text-align:center;border-left:1px solid #e8e8e8}.templates-table-body{background:#fff}.template-table-row{border-bottom:1px solid #f0f0f0;transition:background-color .2s}.template-table-row:last-child{border-bottom:none}.template-table-row:hover{background-color:#fafafa}.template-name-cell{min-width:180px;width:180px;padding:12px 16px;background:#fafafa;border-right:1px solid #e8e8e8;position:sticky;left:0;z-index:5}.template-name-content{display:flex;flex-direction:column;gap:4px}.template-name-text{font-weight:600;color:#1a1a1a;font-size:14px}.template-desc-text{font-size:12px;color:#666;line-height:1.4}.template-milestone-cell{min-width:120px;padding:8px 6px;text-align:center;border-right:1px solid #f0f0f0;vertical-align:middle}.template-milestone-cell:last-of-type{border-right:none}.template-milestone-cell.empty-cell{background:#fafafa;color:#999}.template-milestone-content{display:flex;flex-direction:column;align-items:center;gap:4px}.template-milestone-method,.template-milestone-merge{display:flex;justify-content:center}.template-milestone-relation{display:flex;flex-direction:column;gap:2px;margin-top:4px;font-size:11px;color:#666}.template-relation-text{line-height:1.3}.template-actions-cell{min-width:140px;width:140px;padding:8px 12px;text-align:center;border-left:1px solid #f0f0f0}.template-actions{display:flex;gap:6px;justify-content:center;align-items:center}.template-card{background:#fff;border:1px solid #e8e8e8;border-radius:8px;overflow:hidden;margin-bottom:16px}.template-edit-form{padding:20px;background:#fff}.template-edit-header{display:flex;gap:16px;margin-bottom:20px}.template-edit-header .form-group{flex:1}.template-edit-table-container{background:#fff;border:1px solid #e8e8e8;border-radius:8px;overflow:hidden;margin-top:8px}.template-edit-table-wrapper{overflow-x:auto}.template-edit-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:13px}.template-edit-table-header{background:#fafafa}.template-name-header-edit{min-width:180px;width:180px;padding:12px 16px;text-align:left;background:#fafafa;border-right:1px solid #e8e8e8;position:sticky;left:0;z-index:10;font-weight:600}.milestone-header-cell-edit{min-width:220px;padding:8px 12px;text-align:center;border-right:1px solid #e8e8e8;position:relative;font-weight:600;cursor:pointer;transition:all .2s}.milestone-header-cell-edit:hover{background:#edf2f9}.milestone-header-cell-edit.in-template{background:#edf2f9;border-color:#a8bfdb}.milestone-header-cell-edit .milestone-name{color:#1a1a1a;font-size:12px;display:flex;flex-direction:column;align-items:center;gap:4px;line-height:1.4}.milestone-header-badge{font-size:10px;color:var(--color-primary);background:#fff;padding:1px 6px;border-radius:3px;border:1px solid #91d5ff;font-weight:500}.template-edit-table-body{background:#fff}.template-edit-row{border-bottom:1px solid #f0f0f0}.template-name-cell-edit{min-width:180px;width:180px;padding:12px 16px;background:#fafafa;border-right:1px solid #e8e8e8;position:sticky;left:0;z-index:5}.template-milestone-cell-edit{min-width:220px;padding:8px 12px;text-align:center;border-right:1px solid #f0f0f0;vertical-align:top}.template-milestone-cell-edit.empty-cell{background:#fafafa;color:#999}.empty-cell-hint{font-size:11px;color:#999;font-style:italic}.template-milestone-edit-content{display:flex;flex-direction:column;gap:8px;align-items:stretch}.template-milestone-edit-field{width:100%;display:flex;flex-direction:column;gap:4px}.template-milestone-edit-field .ant-select,.template-milestone-edit-field .ant-input-number{width:100%!important}.edit-field-label{font-size:11px;color:#666;font-weight:500;display:flex;align-items:center;gap:4px;justify-content:center}.edit-field-label input[type=checkbox]{cursor:pointer}.template-milestone-edit-actions{display:flex;gap:4px;justify-content:center;padding-top:4px;border-top:1px solid #f0f0f0}.drag-handle{color:#d9d9d9;cursor:grab}.drag-handle:hover{color:#999}.row-actions{display:flex;gap:4px;align-items:center}.available-milestones{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border:1px solid #e8e8e8;border-radius:6px;background:#fafafa;margin-top:8px}.add-milestone-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;color:#666;font-size:12px;cursor:pointer;transition:all .2s}.add-milestone-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:#edf2f9}.empty-tips{color:#999;font-size:12px;padding:20px;text-align:center}.nodes-config{display:flex;flex-direction:column;gap:16px}.phase-section{background:#fff;border:1px solid #e8e8e8;border-radius:8px;overflow:hidden;transition:all .3s}.phase-section:hover{box-shadow:0 2px 8px #0000000d}.phase-section-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fafafa;border-bottom:1px solid #e8e8e8}.phase-section-title{font-size:14px;font-weight:600;color:#1a1a1a}.phase-section-count{font-size:12px;color:#666;background:#fff;padding:2px 8px;border-radius:4px;border:1px solid #e8e8e8}.nodes-list{padding:8px}.node-config-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #f0f0f0;transition:background .2s}.node-config-item:last-child{border-bottom:none}.node-config-item:hover{background:#fafafa}.node-info{flex:1}.node-main{display:flex;align-items:center;gap:8px;margin-bottom:4px}.node-name{font-weight:500;color:#1a1a1a;font-size:14px}.node-desc{font-size:12px;color:#999;margin-left:10px}.node-modal{max-width:440px}.required{color:#ff4d4f;margin-left:2px}.node-type{font-size:11px;color:var(--color-primary);background:#edf2f9;padding:2px 6px;border-radius:3px;border:1px solid #91d5ff}.node-meta{display:flex;gap:8px;align-items:center;margin-top:4px}.node-days{font-size:12px;color:#666;background:#f5f5f5;padding:2px 8px;border-radius:3px}.node-actions{display:flex;gap:4px}.node-edit-form,.template-edit-form{padding:16px;background:#fafafa;border-radius:6px;border:1px solid #e8e8e8}.form-group{margin-bottom:16px}.form-label{display:block;font-size:12px;font-weight:500;color:#1a1a1a;margin-bottom:6px}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1}.edit-actions{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #e8e8e8}.config-modal-hint{margin:0 0 12px;color:#666;font-size:13px}.node-modal-fields{display:flex;flex-direction:column;gap:16px;padding-top:8px}.node-modal-fields__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.node-modal-fields__hint{margin-top:6px;color:var(--color-text-muted, #888);font-size:12px;line-height:1.4}@media (max-width: 560px){.node-modal-fields__row{grid-template-columns:1fr}}.milestone-checkbox-list{display:flex;flex-direction:column;gap:8px}.milestone-checkbox-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e8e8e8;border-radius:6px;cursor:pointer;transition:all .2s}.milestone-checkbox-item:hover{border-color:var(--color-primary);background:#edf2f9}.milestone-checkbox-item input[type=checkbox]{width:16px;height:16px;cursor:pointer}.milestone-checkbox-name{flex:1;font-size:13px;color:#1a1a1a}.milestone-checkbox-phase{margin-left:auto;font-size:11px}@media (max-width: 768px){.config-content{padding:12px}.form-row{flex-direction:column;gap:0}.template-header{flex-direction:column;gap:12px}.available-milestones{flex-direction:column}.add-milestone-btn{width:100%;justify-content:center}}.preview-notice{margin-bottom:16px;padding:10px 12px;border:1px solid #d6e4ff;background:#f0f5ff;color:#2f5597;border-radius:6px;font-size:13px}.table-select-wrap{width:100%;position:relative}.table-select{width:100%}.table-select-dropdown{width:100%;background:var(--color-surface)}.table-select-search{padding:8px 12px;border-bottom:1px solid var(--color-border)}.table-select-table .ant-table-thead>tr>th{background:var(--color-muted);color:var(--color-text);font-weight:500;padding-inline:12px}.table-select-table .ant-table-tbody>tr>td{padding-inline:12px;cursor:pointer}.table-select-row--active>td{background:var(--color-primary-light)!important}.table-select-check{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid var(--color-border);border-radius:2px;color:var(--color-primary-foreground);font-size:10px}.table-select-check--active{background:var(--color-primary);border-color:var(--color-primary)}.table-select-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--color-border)}.monitor-node-config{display:flex;flex-direction:column;gap:var(--ipc-section-gap, 12px);flex:1;min-width:0;min-height:0;height:100%;background:transparent;border:none;border-radius:0;overflow:hidden}.mnc-filter-bar.ipc-filter-bar{margin:0}.mnc-table-region{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:transparent}.mnc-table-wrap{flex:1;min-height:0;overflow:hidden}.mnc-pagination.ipc-pagination{flex-shrink:0;margin:4px 0 0;padding:0;border-top:0}.mnc-table .ant-table{background:transparent}.mnc-table .ant-table-thead>tr>th{background:var(--color-muted, #f1f5f9)!important;font-weight:500;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.mnc-table .ant-table-thead>tr>th:before{display:none}.mnc-table .ant-table-tbody>tr:not(.ant-table-measure-row)>td{border-bottom:1px solid var(--color-border);padding-inline:16px!important}.mnc-table .ant-table-tbody>tr.ant-table-row:hover>td{background:#3b82f60d!important}.mnc-cell-code{color:var(--color-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.mnc-cell-name{font-weight:600;color:var(--color-text)}.mnc-cell-desc{color:var(--color-text-muted)}.mnc-cell-days{color:var(--color-text)}.mnc-mapping-badge{box-sizing:border-box;display:inline-flex;align-items:center;height:18px;max-height:18px;padding:0 8px;border-radius:var(--radius-md, 6px);font-size:12px;line-height:16px;border:1px solid transparent}.mnc-mapping-badge--configured{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 12%,white);border-color:color-mix(in srgb,var(--color-success) 35%,white)}.mnc-mapping-badge--pending{color:var(--color-text-muted);background:var(--color-muted);border-color:var(--color-border)}.mnc-mapping-section{margin-bottom:24px}.mnc-mapping-section h4{margin-bottom:12px;font-size:14px;color:var(--color-text)}.mnc-mapping-fields{display:grid;gap:16px}.mnc-mapping-field{display:flex;flex-direction:column;gap:6px}.mnc-mapping-label{font-size:13px;font-weight:500;color:var(--color-text)}.mnc-required{color:var(--color-error)}.mnc-view-mapping-modal.ipc-modal.ant-modal .ant-modal-body{padding:20px}.mnc-view-mapping-stack{min-height:0;gap:12px}.mnc-view-mapping-filters.ipc-filter-bar{margin-bottom:0;flex-wrap:nowrap;align-items:center}.mnc-view-mapping-filters .ipc-filter-bar__field{flex:1 1 0;min-width:108px;width:0}.mnc-view-mapping-filters .ipc-filter-actions{flex-shrink:0}.mnc-view-mapping-table-panel{min-height:0;margin:0}.mnc-view-mapping-table-scroll{max-height:520px}.mnc-view-mapping-empty{text-align:center;padding:40px;color:var(--color-text-muted)}.mnc-view-mapping-modal .ant-table-thead>tr>th{background:var(--color-muted, #f1f5f9);font-weight:500}.calendar-config-page{padding:0;height:100%;min-height:0;display:flex;flex-direction:column;gap:var(--ipc-section-gap, 12px);overflow:hidden}.calendar-config-toolbar-sticky{position:sticky;top:0;box-sizing:border-box;background:var(--color-bg, #fff);z-index:100;margin-bottom:0;flex-shrink:0}.calendar-config-page .calendar-config-settings.ipc-section-stack,.calendar-config-page .calendar-config-settings{flex:1;min-height:0;overflow:auto}.calendar-config-toolbar.ipc-filter-bar{margin:0;padding:0;background:transparent;border:none;border-radius:0;box-shadow:none}.calendar-config-toolbar__year.ant-picker,.calendar-config-toolbar__year{width:120px;flex:0 0 120px}.calendar-config-toolbar__month.ant-select{width:140px;flex:0 0 140px}.calendar-permission-field--wide.ant-select{width:260px;flex:0 1 260px;min-width:200px}.calendar-permission-page{display:flex;flex-direction:column;gap:16px;min-height:0;height:100%;padding:4px 2px 16px;overflow:auto}.calendar-permission-intro__title{margin:0;font-size:16px;font-weight:600;color:var(--color-text, #1a1a1a);line-height:1.3}.calendar-permission-intro__desc{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--color-text-muted, #64748b)}.calendar-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}@media (max-width: 1100px){.calendar-permission-grid{grid-template-columns:1fr}}.calendar-permission-panel{display:flex;flex-direction:column;gap:12px;min-width:0;padding:14px 14px 12px;border:1px solid var(--color-border, #e2e8f0);border-radius:10px;background:var(--color-surface, #fff)}.calendar-permission-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.calendar-permission-panel__title-wrap{display:flex;align-items:flex-start;gap:10px;min-width:0}.calendar-permission-panel__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:8px;color:var(--color-text-muted, #64748b);background:var(--color-muted, #f1f5f9)}.calendar-permission-panel__title{margin:0;font-size:14px;font-weight:600;color:var(--color-text, #1a1a1a);line-height:1.3}.calendar-permission-panel__subtitle{margin:2px 0 0;font-size:12px;color:var(--color-text-muted, #64748b);line-height:1.4}.calendar-permission-panel__count{flex-shrink:0;margin-top:4px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:500;color:var(--color-text-muted, #64748b);background:var(--color-muted, #f1f5f9)}.calendar-permission-add{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.calendar-permission-add__entity.ant-select{flex:1 1 200px;min-width:180px}.calendar-permission-add__level.ant-select{flex:0 0 132px;width:132px}.calendar-permission-entity{display:flex;flex-direction:column;gap:2px;min-width:0}.calendar-permission-entity__name{font-size:13px;font-weight:500;color:var(--color-text, #1a1a1a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-permission-entity__meta{font-size:12px;color:var(--color-text-muted, #94a3b8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-permission-table-panel.ipc-table-panel,.calendar-permission-table-panel{border:1px solid var(--color-border, #e2e8f0);border-radius:8px;overflow:hidden;background:var(--color-surface, #fff)}.calendar-permission-table.ipc-table .ant-table-thead>tr>th{background:var(--color-muted, #f8fafc)!important}.calendar-loading{display:flex;justify-content:center;align-items:center;min-height:240px;position:relative;z-index:0;isolation:isolate}.month-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(560px,1fr));gap:16px;position:relative;z-index:0;isolation:isolate}.month-card{background:#fff;border:1px solid #e6e9f2;border-radius:14px;padding:12px 12px 10px;box-shadow:0 2px 8px #1a202c0a}.month-title{font-size:15px;font-weight:600;margin-bottom:10px;color:#2f3950}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.week-header{margin-bottom:6px}.week-cell{text-align:center;font-size:12px;color:#8f97aa;padding:4px 0}.week-cell.weekend{color:#e26a6a}.day-grid{gap:8px}.day-cell{display:flex;flex-direction:column;min-height:150px;border:1px solid #eceff5;border-radius:10px;padding:7px;background:#f9fafe;transition:all .2s ease;overflow:visible}.day-cell.workday:hover,.day-cell.offday:hover{transform:translateY(-1px);box-shadow:0 3px 10px #5a66811f}.day-cell.empty{background:#fff;border-style:dashed;opacity:.65}.day-cell.offday{background:#fff6f6;border-color:#ffdede}.day-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.day-number{font-size:14px;font-weight:600;color:inherit}.day-status-pill{margin:0;padding:0 8px;min-width:28px;height:22px;line-height:20px;font-size:12px;font-weight:600;border-radius:4px;border:1px solid transparent;cursor:pointer;background:transparent;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.day-status-pill:disabled{cursor:default}.day-status-pill.pending{opacity:.55}.day-status-pill.readonly{opacity:.88}.day-status-pill.work{color:#1f1f1f;border-color:#d9dee8;background:#f3f5f9}.day-status-pill.work:hover:not(:disabled){background:#e8ecf4;border-color:#c5ccd9}.day-status-pill.off{color:#c73e3e;border-color:#f0c4c4;background:#fff0f0}.day-status-pill.off:hover:not(:disabled){background:#ffe4e4;border-color:#e8a8a8}.day-cell.workday .day-number{color:#1f1f1f}.day-cell.offday .day-number{color:#d45d5d}.day-actions{display:flex;flex-direction:column;flex:1;min-height:0;gap:4px}.day-remark-textarea.ant-input{font-size:12px;line-height:1.45;word-break:break-word;resize:none}.day-actions.locked .day-remark-textarea.ant-input{cursor:default;background:#f0f2f7!important;color:#595959}.calendar-config-page .ant-input{border-radius:8px;border-color:#dce2ef;background:#fff}.calendar-config-page .ant-input:focus,.calendar-config-page .ant-input-focused{border-color:#8d9eff;box-shadow:0 0 0 2px #8d9eff26}.calendar-config-page .ant-picker,.calendar-config-page .ant-select-selector{border-radius:8px!important;border-color:#dce2ef!important}.calendar-import-fields{display:grid;gap:12px}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,PingFang SC,Hiragino Sans GB,Microsoft YaHei UI,Segoe UI,sans-serif;font-size:var(--font-size-base, 14px);line-height:1.5;color:var(--color-text, #020817);background-color:var(--color-bg, #FFFFFF);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-layout,.app-layout.ant-layout{display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;width:100%}.app-layout .ant-layout-content.app-content{flex:1 1 0;min-height:0;min-width:0;width:100%;overflow:hidden}.app-content-inner{box-sizing:border-box;width:100%;max-width:100%;height:100%;min-height:0;padding:var(--app-content-edge-pad);display:flex;flex-direction:column;overflow:hidden}.app-content-inner>*{flex:1 1 0;min-height:0;min-width:0}.app-header{flex-shrink:0;display:flex;align-items:center;padding:0 20px;background:var(--color-sidebar, #020817);height:var(--ipc-header-height, 56px);line-height:var(--ipc-header-height, 56px);border-bottom:1px solid rgba(255,255,255,.06);box-shadow:0 1px 3px #0000001f}.app-header .ant-menu{height:var(--ipc-header-height, 56px);line-height:var(--ipc-header-height, 56px);background:transparent}.app-header .ant-menu-item{height:var(--ipc-header-height, 56px)!important;line-height:var(--ipc-header-height, 56px)!important;margin-top:0!important;margin-bottom:0!important;border-bottom:none!important}.app-header .ant-menu-item:after{display:none!important}.app-header .ant-menu-item-selected{background-color:transparent!important}.app-header .ant-menu-item:hover{background-color:#ffffff1a!important}.app-brand{font-size:15px;font-weight:600;color:#fff;margin-right:28px;white-space:nowrap;letter-spacing:.03em;opacity:.92}.app-content{padding:0;margin:0;width:100%;background:var(--color-bg, #FFFFFF)}.app-content-inner{box-sizing:border-box;width:100%;max-width:100%;min-height:100%;padding:var(--app-content-edge-pad, 20px)}.card{background:#fff;border-radius:6px;padding:12px;border:1px solid #e8e8e8;margin-bottom:12px}.card-title{font-size:14px;font-weight:600;margin-bottom:10px;color:#1a1a1a}.btn{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:all .15s;line-height:1.4}.btn-primary{background-color:#4a6fa5;color:#fff}.btn-primary:hover{background-color:#5a7eb4}.btn-secondary{background-color:#f5f5f5;color:#666;border:1px solid #d9d9d9}.btn-secondary:hover{background-color:#e8e8e8;color:#1a1a1a}.btn-danger{background-color:#ff4d4f;color:#fff}.btn-danger:hover{background-color:#ff7875}.badge{display:inline-block;padding:2px 6px;border-radius:3px;font-size:11px;font-weight:500;line-height:1.2}.badge-success{background-color:#f6ffed;color:#389e0d;border:1px solid #b7eb8f}.badge-warning{background-color:#fffbe6;color:#d48806;border:1px solid #ffe58f}.badge-danger{background-color:#fff1f0;color:#cf1322;border:1px solid #ffa39e}.badge-info{background-color:#e6f7ff;color:#096dd9;border:1px solid #91d5ff}.table{width:100%;border-collapse:collapse;font-size:12px}.table th,.table td{padding:8px 10px;text-align:left;border-bottom:1px solid #f0f0f0}.table th{background-color:#f5f5f5;font-weight:600;color:#1a1a1a;border-bottom:1px solid #e8e8e8}.table tr:hover{background-color:#fafafa}.form-group{margin-bottom:10px}.form-label{display:block;margin-bottom:4px;font-weight:500;color:#1a1a1a;font-size:12px}.form-input{width:100%;padding:5px 8px;border:1px solid #d9d9d9;border-radius:4px;font-size:12px;line-height:1.4;transition:all .2s}.form-input:focus{outline:none;border-color:#4a6fa5;box-shadow:0 0 0 2px #4a6fa52e}.grid{display:grid;gap:12px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.navbar{padding:0 12px;height:44px}.nav-brand{font-size:14px}.nav-links a{padding:4px 8px;font-size:12px}.main-content{padding:12px}}.ipc-page{box-sizing:border-box;width:100%;max-width:100%;min-width:0;background:var(--color-bg, #ffffff);color:var(--color-text, #020817)}.page-container{width:100%;max-width:100%;font-size:var(--ant-font-size);line-height:var(--ant-line-height);color:var(--color-text, var(--ant-color-text));background:var(--color-bg, #ffffff);box-sizing:border-box}.page-header{display:flex;justify-content:space-between;align-items:center;padding:0 0 16px;border-bottom:1px solid var(--ant-color-border);background:var(--ant-color-bg-container)}.page-header h2{margin:0;font-size:var(--ant-font-size-heading2);font-weight:600;color:var(--ant-color-text-heading)}.page-header h2 .anticon{color:var(--ant-color-primary)}.page-content{padding:0;background:transparent}.content-card{background:var(--ant-color-bg-container);border-radius:var(--ant-border-radius);box-shadow:var(--ant-box-shadow);margin-bottom:16px}.content-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--ant-color-border-secondary)}.content-card .card-header h3{margin:0;font-size:var(--ant-font-size-lg);font-weight:600;color:var(--ant-color-text-heading)}.content-card .card-body{padding:16px}.action-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--ant-color-bg-container);border-bottom:1px solid var(--ant-color-border-secondary)}.action-bar .left-actions,.action-bar .right-actions{display:flex;gap:8px}.table-container{padding:16px 20px;background:var(--ant-color-bg-container)}.table-container.full-width{padding:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:20px}.stat-card{background:var(--ant-color-bg-container);border-radius:var(--ant-border-radius);padding:16px;box-shadow:var(--ant-box-shadow-tertiary)}.stat-card .stat-label{font-size:var(--ant-font-size-sm);color:var(--ant-color-text-description);margin-bottom:8px}.stat-card .stat-value{font-size:var(--ant-font-size-xl);font-weight:600;color:var(--ant-color-text-heading)}.split-layout{display:flex;gap:0;height:100%}.split-layout .left-panel{width:280px;flex-shrink:0;border-right:1px solid var(--ant-color-border);overflow-y:auto;background:var(--ant-color-bg-container)}.split-layout .right-panel{flex:1;overflow:auto;min-width:0;background:var(--ant-color-bg-layout)}.form-section{margin-bottom:20px}.form-section .section-title{font-size:var(--ant-font-size-lg);font-weight:600;color:var(--ant-color-text-heading);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--ant-color-border-secondary)}.page-breadcrumb{padding:12px 20px;background:var(--ant-color-bg-container);border-bottom:1px solid var(--ant-color-border-secondary)}.app-header .ant-menu-dark.ant-menu-horizontal>.ant-menu-item-selected{background:transparent!important;color:var(--color-sidebar-foreground, #f8fafc)!important;position:relative}.app-header .ant-menu-dark.ant-menu-horizontal>.ant-menu-item-selected:after{display:block!important;bottom:0;height:2px;background:var(--color-primary)!important;border:none!important;transform:none!important;inset-inline:12px!important}.app-header .ant-menu-dark.ant-menu-horizontal>.ant-menu-item:hover{background:#ffffff0f!important}.ant-table-thead>tr>th{font-size:12px!important;font-weight:500!important;color:var(--color-text-muted)!important}.ant-table-tbody>tr>td{font-size:var(--font-size-base, 14px)}.ant-table-tbody>tr.ant-table-row:hover>td{background:#3b82f60d!important}.ant-table-wrapper .ant-table-tbody>tr.ant-table-measure-row,.ant-table-wrapper .ant-table-tbody>tr.ant-table-measure-row>td,.ant-table-wrapper .ant-table-tbody>tr.ant-table-measure-row>th{height:0!important;max-height:0!important;padding:0!important;border:0!important;line-height:0!important;font-size:0!important;overflow:hidden!important;visibility:collapse!important}.dashboard-main-tabs>.ant-tabs-nav .ant-tabs-tab-active .ant-tabs-tab-btn,.dashboard-sub-tabs>.ant-tabs-nav .ant-tabs-tab-active .ant-tabs-tab-btn{font-weight:500}.ipc-resizable-table .ant-table-thead>tr>th{border-right:none!important}.ipc-resizable-table .ant-table-thead>tr>th:before{display:none!important}.ipc-resizable-table__handle{position:absolute;top:0;right:0;z-index:2;width:6px;height:100%;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none}.ipc-resizable-table .ant-table-thead>tr>th:not(.ant-table-cell-fix-start):not(.ant-table-cell-fix-end):not(.ant-table-cell-fix-left):not(.ant-table-cell-fix-right){position:relative}.ipc-resizable-table__handle:after{content:"";position:absolute;top:50%;right:0;transform:translateY(-50%);width:1px;height:14px;border-radius:1px;background:transparent;transition:background-color .15s ease,height .15s ease,opacity .15s ease}.ipc-resizable-table .ant-table-thead>tr>th:hover .ipc-resizable-table__handle:after{background:#0000001f}.ipc-resizable-table__handle:hover:after{height:18px;background:#1677ff73}.ipc-resizable-table__handle:active:after{height:22px;background:#1677ff}.ipc-page-header{flex-shrink:0}.ipc-page-title{margin:0;font-size:var(--font-size-page-title, 20px);font-weight:600;line-height:1.3;letter-spacing:-.01em;color:var(--color-text)}.ipc-stat-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md, 6px);min-height:88px;box-shadow:none}.ipc-stat-card__body{min-width:0}.ipc-stat-card__label{margin:0 0 4px;font-size:12px;color:var(--color-text-muted);line-height:1.4}.ipc-stat-card__value{margin:0;font-size:24px;font-weight:600;color:var(--color-text);line-height:1.2}.ipc-stat-card__value--success{color:var(--color-success)}.ipc-stat-card__value--primary{color:var(--color-primary)}.ipc-stat-card__value--muted{color:var(--color-text-muted)}.ipc-stat-card__value--destructive{color:var(--color-error)}.ipc-stat-card__meta{margin:6px 0 0;font-size:12px;color:var(--color-text-muted);line-height:1.4}.ipc-stat-card__icon{flex-shrink:0;width:36px;height:36px;border-radius:var(--radius-md, 6px);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}.ipc-filter-bar{--ipc-filter-h: var(--ipc-filter-control-height, 32px);flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:0;margin:0;background:transparent;border:none;box-shadow:none}.ipc-filter-bar *,.ipc-modal.ant-modal .ipc-filter-bar *{box-sizing:border-box}.ipc-filter-bar .ant-input-affix-wrapper,.ipc-filter-bar .ant-select,.ipc-filter-bar .ant-picker,.ipc-filter-bar .ant-input-number,.ipc-filter-bar .ant-btn{border-radius:var(--radius-md, 6px)}.ipc-filter-bar .ant-input-affix-wrapper,.ipc-modal.ant-modal .ipc-filter-bar .ant-input-affix-wrapper,.ipc-filter-bar .ant-input:not(textarea):not(.ant-input-affix-wrapper *),.ipc-modal.ant-modal .ipc-filter-bar .ant-input:not(textarea):not(.ant-input-affix-wrapper *),.ipc-filter-bar .ant-input-number,.ipc-modal.ant-modal .ipc-filter-bar .ant-input-number{height:var(--ipc-filter-h)!important;min-height:var(--ipc-filter-h)!important;max-height:var(--ipc-filter-h)!important;box-sizing:border-box}.ipc-filter-bar .ant-input-affix-wrapper,.ipc-modal.ant-modal .ipc-filter-bar .ant-input-affix-wrapper{padding-block:0!important;overflow:hidden;display:inline-flex!important;align-items:center!important}.ipc-filter-bar .ant-input-affix-wrapper>input.ant-input,.ipc-modal.ant-modal .ipc-filter-bar .ant-input-affix-wrapper>input.ant-input,.ipc-filter-bar .ant-input-number-input,.ipc-modal.ant-modal .ipc-filter-bar .ant-input-number-input{height:var(--ipc-filter-h)!important;min-height:var(--ipc-filter-h)!important;max-height:var(--ipc-filter-h)!important;padding-block:0!important;line-height:calc(var(--ipc-filter-h) - 2px)!important;background:transparent!important}.ipc-filter-bar .ant-select,.ipc-modal.ant-modal .ipc-filter-bar .ant-select{height:var(--ipc-filter-h)!important;min-height:var(--ipc-filter-h)!important;max-height:var(--ipc-filter-h)!important;align-items:center!important}.ipc-filter-bar .ant-select-content,.ipc-modal.ant-modal .ipc-filter-bar .ant-select-content{display:flex!important;align-items:center!important;align-self:center!important;min-width:0;min-height:0;line-height:calc(var(--ipc-filter-h) - 2px)!important}.ipc-filter-bar .ant-select-single .ant-select-content-has-value,.ipc-modal.ant-modal .ipc-filter-bar .ant-select-single .ant-select-content-has-value{display:flex!important;align-items:center!important}.ipc-filter-bar .ant-select-content-value,.ipc-modal.ant-modal .ipc-filter-bar .ant-select-content-value{line-height:inherit!important}.ipc-filter-bar .ant-select-placeholder,.ipc-modal.ant-modal .ipc-filter-bar .ant-select-placeholder{line-height:calc(var(--ipc-filter-h) - 2px)!important}.ipc-filter-bar .ant-select-multiple .ant-select-content,.ipc-modal.ant-modal .ipc-filter-bar .ant-select-multiple .ant-select-content{flex-wrap:nowrap!important;overflow:hidden}.ipc-filter-bar .ant-select-multiple .ant-select-content-item,.ipc-modal.ant-modal .ipc-filter-bar .ant-select-multiple .ant-select-content-item{display:inline-flex;align-items:center;min-width:0;max-width:100%}.ipc-filter-bar .ant-select-selection-item,.ipc-modal.ant-modal .ipc-filter-bar .ant-select-selection-item{display:inline-flex!important;align-items:center!important;height:22px!important;max-height:22px!important;margin-block:0!important;line-height:20px!important}.ipc-filter-bar .ant-select-selection-item-content,.ipc-modal.ant-modal .ipc-filter-bar .ant-select-selection-item-content{line-height:20px!important}.ipc-filter-bar .ant-select-input,.ipc-modal.ant-modal .ipc-filter-bar .ant-select-input{height:calc(var(--ipc-filter-h) - 2px)!important;line-height:calc(var(--ipc-filter-h) - 2px)!important}.ipc-filter-bar .ant-select .ant-select-arrow,.ipc-filter-bar .ant-select .ant-select-clear,.ipc-modal.ant-modal .ipc-filter-bar .ant-select .ant-select-arrow,.ipc-modal.ant-modal .ipc-filter-bar .ant-select .ant-select-clear{top:50%!important;transform:translateY(-50%);margin-top:0!important}.ipc-filter-bar .ant-picker,.ipc-modal.ant-modal .ipc-filter-bar .ant-picker,.ipc-filter-bar .ipc-date.ant-picker,.ipc-modal.ant-modal .ipc-filter-bar .ipc-date.ant-picker,.ipc-filter-bar .ipc-date--form.ant-picker,.ipc-modal.ant-modal .ipc-filter-bar .ipc-date--form.ant-picker,.ipc-filter-bar .ipc-date--range.ant-picker,.ipc-modal.ant-modal .ipc-filter-bar .ipc-date--range.ant-picker,.ipc-filter-bar .ipc-date-range .ant-picker,.ipc-modal.ant-modal .ipc-filter-bar .ipc-date-range .ant-picker{height:var(--ipc-filter-h)!important;min-height:var(--ipc-filter-h)!important;max-height:var(--ipc-filter-h)!important;box-sizing:border-box}.ipc-filter-bar .ant-btn.ant-btn-sm,.ipc-filter-bar .ant-input-affix-wrapper.ant-input-affix-wrapper-sm,.ipc-filter-bar .ant-input.ant-input-sm:not(textarea),.ipc-filter-bar .ant-select.ant-select-sm,.ipc-filter-bar .ant-picker.ant-picker-small,.ipc-modal.ant-modal .ipc-filter-bar .ant-btn.ant-btn-sm,.ipc-modal.ant-modal .ipc-filter-bar .ant-input-affix-wrapper.ant-input-affix-wrapper-sm,.ipc-modal.ant-modal .ipc-filter-bar .ant-input.ant-input-sm:not(textarea),.ipc-modal.ant-modal .ipc-filter-bar .ant-select.ant-select-sm,.ipc-modal.ant-modal .ipc-filter-bar .ant-picker.ant-picker-small{height:var(--ipc-filter-h)!important;min-height:var(--ipc-filter-h)!important;max-height:var(--ipc-filter-h)!important}.ipc-filter-bar .ipc-date-shell--form,.ipc-filter-bar .ipc-date-shell--filter,.ipc-filter-bar .ipc-date-range,.ipc-modal.ant-modal .ipc-filter-bar .ipc-date-shell--form,.ipc-modal.ant-modal .ipc-filter-bar .ipc-date-shell--filter,.ipc-modal.ant-modal .ipc-filter-bar .ipc-date-range{height:var(--ipc-filter-h);align-items:center}.ipc-filter-bar .ipc-date-shell__icon{left:8px}.ipc-filter-bar .ipc-date--with-icon.ant-picker{padding-left:28px!important}.ipc-filter-bar .ant-picker-input,.ipc-filter-bar .ipc-date .ant-picker-input,.ipc-filter-bar .ipc-date-range .ant-picker-input,.ipc-modal.ant-modal .ipc-filter-bar .ant-picker-input{height:calc(var(--ipc-filter-h) - 2px)!important}.ipc-filter-bar .ant-picker-input>input,.ipc-filter-bar .ipc-date .ant-picker-input>input,.ipc-filter-bar .ipc-date-range .ant-picker-input>input,.ipc-modal.ant-modal .ipc-filter-bar .ant-picker-input>input{height:calc(var(--ipc-filter-h) - 2px)!important;font-size:13px!important;line-height:calc(var(--ipc-filter-h) - 2px)!important}.ipc-filter-bar .ipc-filter-actions,.ipc-filter-bar .ipc-filter-bar__extra{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.ipc-filter-bar .ipc-btn.ant-btn,.ipc-filter-bar .ant-btn,.ipc-modal.ant-modal .ipc-filter-bar .ipc-btn.ant-btn,.ipc-modal.ant-modal .ipc-filter-bar .ant-btn{height:var(--ipc-filter-h)!important;min-height:var(--ipc-filter-h)!important;max-height:var(--ipc-filter-h)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding-inline:12px!important;font-size:12px!important;line-height:1!important}.ipc-filter-bar .ant-btn>span,.ipc-filter-bar .ipc-btn.ant-btn>span,.ipc-modal.ant-modal .ipc-filter-bar .ant-btn>span,.ipc-modal.ant-modal .ipc-filter-bar .ipc-btn.ant-btn>span{line-height:1!important}.ipc-filter-bar .ipc-btn--icon-only.ant-btn,.ipc-filter-bar .ant-btn.ipc-btn--icon-only,.ipc-modal.ant-modal .ipc-filter-bar .ipc-btn--icon-only.ant-btn{width:var(--ipc-filter-h)!important;min-width:var(--ipc-filter-h)!important;max-width:var(--ipc-filter-h)!important;padding-inline:0!important}.ipc-search-input.ant-input,.ipc-search-input.ant-input-affix-wrapper{height:var(--ipc-filter-control-height, 32px)!important;min-height:var(--ipc-filter-control-height, 32px)!important;box-sizing:border-box}.ipc-search-input.ant-input-affix-wrapper{padding-block:0!important;display:inline-flex;align-items:center}.ipc-search-input.ant-input-affix-wrapper>input.ant-input{height:var(--ipc-filter-control-height, 32px)!important;min-height:var(--ipc-filter-control-height, 32px)!important;max-height:var(--ipc-filter-control-height, 32px)!important;padding-block:0!important;line-height:calc(var(--ipc-filter-control-height, 32px) - 2px)!important}.ipc-modal.ant-modal .ipc-search-input.ant-input,.ipc-modal.ant-modal .ipc-search-input.ant-input-affix-wrapper{height:var(--ipc-filter-control-height, 32px)!important;min-height:var(--ipc-filter-control-height, 32px)!important}.ipc-filter-bar__search{width:224px;flex:0 1 224px}.ipc-filter-bar__field{min-width:120px;flex:0 1 160px}.ipc-filter-bar__field--range,.ipc-filter-bar .ipc-date-range--filter{width:332px;min-width:332px;flex:0 0 332px}.ipc-filter-bar__spacer{flex:1;min-width:8px}.ipc-filter-actions,.ipc-filter-bar__extra{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.ipc-filter-bar__extra{justify-content:flex-end}.ipc-filter-section{flex-shrink:0;display:flex;flex-direction:column;gap:var(--ipc-section-gap, 12px);min-width:0}.ipc-filter-chips{flex-shrink:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0}.ipc-filter-chips__label{font-size:12px;color:var(--color-text-muted)}.ipc-filter-chip{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:4px 10px;border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent);border-radius:var(--radius-md, 6px);background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary);font-size:12px;font-weight:500}.ipc-filter-chip__remove,.ipc-filter-chips__clear{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;cursor:pointer;padding:0}.ipc-filter-chip__remove{width:16px;height:16px;border-radius:4px;color:currentColor;opacity:.65}.ipc-filter-chip__remove:hover{background:color-mix(in srgb,var(--color-primary) 15%,transparent);opacity:1}.ipc-filter-chips__clear{min-height:28px;padding:0 8px;color:var(--color-text-muted);font-size:12px}.ipc-filter-chips__clear:hover{color:var(--color-text)}.ipc-table-viewport{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ipc-table-viewport__top{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--ipc-section-gap, 12px)}.ipc-table-viewport__cards{flex:0 0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--ipc-section-gap, 12px)}.ipc-table-viewport__table{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;margin-top:var(--ipc-section-gap, 12px)}.ipc-table-viewport__table>.ipc-table-shell{flex:1 1 auto;min-height:0}.ipc-table-shell{flex:1;min-height:0;display:flex;flex-direction:column}.ipc-table-panel{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius, 8px);box-shadow:none}.ipc-table-panel--compact{border-radius:var(--radius-md, 6px)}.ipc-table-panel--frameless{border:none;border-radius:0}.ipc-table-panel__head{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 16px;font-size:14px;font-weight:600;color:var(--color-text);border-bottom:1px solid var(--color-border)}.ipc-table-panel--compact .ipc-table-panel__head{height:40px;padding:0 12px}.ipc-table-panel__title-wrap{min-width:0;display:flex;align-items:center;gap:8px}.ipc-table-panel__icon{display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary)}.ipc-table-panel__title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ipc-table-panel__subtitle{flex-shrink:0;font-size:12px;font-weight:400;color:var(--color-text-muted)}.ipc-table-panel__head-extra{font-size:12px;font-weight:400;color:var(--color-text-muted)}.ipc-table-panel__body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface)}.ipc-table-panel__scroll{flex:1;min-height:0;overflow:hidden;box-sizing:border-box}.ipc-table-panel__scroll .ant-table-body,.ipc-table-panel__scroll .ant-table-content{overflow:auto!important}.ipc-table-shell--fixed-body,.ipc-table-shell--fixed-body .ipc-table-panel,.ipc-table-shell--fixed-body .ipc-table-panel__body,.ipc-table-shell--fixed-body .ipc-table-panel__scroll,.ipc-table-shell--fixed-body .ipc-table.ant-table-wrapper{flex:0 0 auto}.ipc-table-shell--fixed-body .ipc-table-panel__scroll .ant-table-body{height:var(--ipc-table-body-height)!important;max-height:var(--ipc-table-body-height)!important}.ipc-table-shell--fixed-body .ipc-table-panel__scroll .ant-table-placeholder>td{height:var(--ipc-table-body-height)}.ipc-table-shell--fixed-body .ipc-table-panel__scroll .ant-table-placeholder .ipc-empty{min-height:calc(var(--ipc-table-body-height) - 72px)}.ipc-table.ant-table-wrapper{flex:1;min-height:0}.ipc-table .ant-table{font-size:13px;color:var(--color-text);background:var(--color-surface);--ipc-table-header-height: 40px;--ipc-table-row-height: 38px;--ipc-table-cell-line-height: 22px;--ipc-table-cell-padding-block: 8px;--ipc-table-zebra-bg: #f8fafc}.ipc-table .ant-table-container{border-inline-start:none!important}.ipc-table .ant-table-thead>tr>th{background:var(--color-muted)!important;color:var(--color-text-muted);font-size:12px;font-weight:500;box-sizing:border-box;height:var(--ipc-table-header-height);min-height:var(--ipc-table-header-height);padding-block:0;padding-inline:12px;line-height:20px;white-space:nowrap;vertical-align:middle;border-bottom:1px solid var(--color-border)}.ipc-table .ant-table-thead>tr>th .ant-table-cell-content,.ipc-table .ant-table-thead>tr>th .ant-table-column-sorters{display:inline-flex;align-items:center;box-sizing:border-box;width:100%;max-width:100%;min-height:0;height:auto;max-height:100%;vertical-align:middle}.ipc-table .ant-table-thead>tr>th .ant-table-column-sorters{justify-content:inherit}.ipc-table .ant-table-thead>tr>th .ant-table-column-title{min-width:0;line-height:20px}.ipc-table .ipc-table-sort-icon{display:inline-flex;flex-shrink:0;align-items:center;margin-inline-start:4px;color:var(--color-primary, #1677ff);line-height:0}.ipc-table .ant-table-thead>tr>th:before{display:none}.ipc-table.ant-table-wrapper.ipc-table .ant-table-container .ant-table-thead>tr>th{box-sizing:border-box!important;height:var(--ipc-table-header-height)!important;min-height:var(--ipc-table-header-height)!important;padding-top:0!important;padding-bottom:0!important;line-height:20px!important;vertical-align:middle!important}.ipc-table.ant-table-wrapper.ipc-table .ant-table-container .ant-table-thead>tr>th .ant-table-cell-content,.ipc-table.ant-table-wrapper.ipc-table .ant-table-container .ant-table-thead>tr>th .ant-table-column-sorters{display:inline-flex!important;align-items:center!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-height:0!important;height:auto!important;vertical-align:middle!important}.ipc-table.ipc-table-preline .ant-table-thead>tr>th,.ipc-table.ant-table-wrapper.ipc-table-preline .ant-table-container .ant-table-thead>tr>th{height:auto!important;min-height:var(--ipc-table-header-height)!important}.ipc-table .ant-table-tbody>tr.ant-table-row{height:auto}.ipc-table .ant-table-tbody>tr:not(.ant-table-measure-row)>td{color:var(--color-text);border-bottom:1px solid var(--color-border);box-sizing:border-box;height:auto;min-height:var(--ipc-table-row-height);padding-block:var(--ipc-table-cell-padding-block);line-height:var(--ipc-table-cell-line-height);vertical-align:middle}.ipc-table.ant-table-wrapper.ipc-table .ant-table-container .ant-table-tbody>tr:not(.ant-table-measure-row):not(.ant-table-placeholder)>td{box-sizing:border-box!important;height:auto!important;min-height:var(--ipc-table-row-height)!important;padding-top:var(--ipc-table-cell-padding-block)!important;padding-bottom:var(--ipc-table-cell-padding-block)!important;line-height:var(--ipc-table-cell-line-height)!important;vertical-align:middle!important;font-size:13px!important}.ipc-table .ant-table-tbody .ipc-badge.ant-tag,.ipc-table .ant-table-tbody .ipc-tag,.ipc-table .ant-table-tbody .ipc-node-tag,.ipc-table .ant-table-tbody .mnc-mapping-badge{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;height:22px!important;max-height:22px!important;margin-block:0!important;padding-block:0!important;line-height:22px!important;font-size:12px!important;vertical-align:middle}.ipc-table .ant-table-tbody .ipc-node-status{max-height:22px}.ipc-table .ant-table-tbody .ipc-node-status--compact .ipc-node-tag{padding-block:0!important}.ipc-table .ant-table-tbody .ant-switch{height:22px!important;min-height:22px!important;line-height:20px!important}.ipc-table .ant-table-tbody .ant-switch .ant-switch-handle{width:18px!important;height:18px!important;inset-block-start:2px!important;top:2px!important}.ipc-table .ant-table-tbody .ant-switch.ant-switch-checked .ant-switch-handle{inset-inline-start:calc(100% - 20px)!important}.ipc-table .ant-table-tbody .template-table-name+.template-table-desc,.ipc-table .ant-table-tbody .node-table-name+.node-table-desc{margin-top:4px}.ipc-table.ipc-table--dense .ant-table{--ipc-table-row-height: 0px;--ipc-table-cell-padding-block: 6px;--ipc-table-cell-line-height: 18px}.ipc-table.ipc-table--dense.ant-table-wrapper.ipc-table .ant-table-container .ant-table-tbody>tr:not(.ant-table-measure-row):not(.ant-table-placeholder)>td{min-height:0!important;padding-top:6px!important;padding-bottom:6px!important}.ipc-table .ant-table-tbody>tr.ant-table-row:nth-child(2n)>td{background:var(--ipc-table-zebra-bg)!important}.ipc-table.ant-table-wrapper.ipc-table .ant-table-container .ant-table-tbody>tr.ant-table-row:nth-child(2n):not(.ant-table-placeholder)>td.ant-table-cell{background:var(--ipc-table-zebra-bg)!important}.ipc-table .ant-table-tbody>tr.ant-table-row:hover>td,.ipc-table .ant-table-tbody>tr.ant-table-row-hover>td{background:var(--color-muted)!important}.ipc-table.ant-table-wrapper.ipc-table .ant-table-container .ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell,.ipc-table.ant-table-wrapper.ipc-table .ant-table-container .ant-table-tbody>tr.ant-table-row-hover>td.ant-table-cell{background:var(--color-muted)!important}.ipc-table .ant-table-tbody>tr.ant-table-placeholder>td{padding:36px 12px!important}.ipc-table-panel__scroll .ant-table-body,.ipc-table-panel__scroll .ant-table-content,.ipc-table-panel__scroll .ant-table-header,.pmd-table-body .ant-table-body,.pmd-table-body .ant-table-content{scrollbar-width:thin;scrollbar-color:var(--ipc-scrollbar-thumb) transparent}.ipc-table-panel__scroll .ant-table-body::-webkit-scrollbar,.ipc-table-panel__scroll .ant-table-content::-webkit-scrollbar,.ipc-table-panel__scroll .ant-table-header::-webkit-scrollbar,.pmd-table-body .ant-table-body::-webkit-scrollbar,.pmd-table-body .ant-table-content::-webkit-scrollbar{width:calc(var(--ipc-scrollbar-size, 5px) / var(--ipc-ui-zoom, 1));height:calc(var(--ipc-scrollbar-size, 5px) / var(--ipc-ui-zoom, 1))}.ipc-table-panel__scroll .ant-table-body::-webkit-scrollbar-track,.ipc-table-panel__scroll .ant-table-content::-webkit-scrollbar-track,.pmd-table-body .ant-table-body::-webkit-scrollbar-track,.pmd-table-body .ant-table-content::-webkit-scrollbar-track{background:transparent;border-top:none}.ipc-table-panel__scroll .ant-table-body::-webkit-scrollbar-thumb,.ipc-table-panel__scroll .ant-table-content::-webkit-scrollbar-thumb,.pmd-table-body .ant-table-body::-webkit-scrollbar-thumb,.pmd-table-body .ant-table-content::-webkit-scrollbar-thumb{background:var(--ipc-scrollbar-thumb);border-radius:9999px;border:1px solid transparent;background-clip:padding-box}.ipc-table-panel__scroll .ant-table-body::-webkit-scrollbar-thumb:hover,.ipc-table-panel__scroll .ant-table-content::-webkit-scrollbar-thumb:hover,.pmd-table-body .ant-table-body::-webkit-scrollbar-thumb:hover,.pmd-table-body .ant-table-content::-webkit-scrollbar-thumb:hover{background:var(--ipc-scrollbar-thumb-hover);border:1px solid transparent;background-clip:padding-box}.ipc-table-panel__scroll .ant-table-body::-webkit-scrollbar-corner,.ipc-table-panel__scroll .ant-table-content::-webkit-scrollbar-corner{background:transparent;border-top:none}.ipc-table-panel__scroll .ant-table-tbody>tr:last-child>td{padding-bottom:var(--ipc-table-cell-padding-block, 10px)!important}.ipc-pagination{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;height:48px;margin:4px 0 0;padding:0 12px;border:0;font-size:12px;background:transparent}.ipc-table-panel+.ipc-pagination{margin-top:4px}.ipc-pagination__info{display:flex;align-items:center;gap:12px;color:var(--color-text-muted);white-space:nowrap}.ipc-pagination__info span{display:inline-flex;align-items:center;gap:6px}.ipc-pagination__info strong{color:var(--color-text);font-weight:600}.ipc-pagination__size.ant-select{box-sizing:border-box!important;width:90px!important;min-width:90px!important;max-width:90px!important;height:32px!important;min-height:32px!important;max-height:32px!important;display:inline-flex!important;align-items:center!important}.ipc-pagination__size .ant-select-selector{box-sizing:border-box!important;width:100%!important;height:32px!important;min-height:32px!important;max-height:32px!important;padding-inline:8px!important;font-size:12px!important;border-radius:var(--radius-md, 6px)!important;display:flex!important;align-items:center!important}.ipc-pagination__size .ant-select-content{flex:1 1 auto!important;min-width:0!important;width:auto!important;max-width:none!important;height:30px!important;min-height:0!important;max-height:30px!important;display:flex!important;align-items:center!important;line-height:30px!important;font-size:12px!important;overflow:hidden!important}.ipc-pagination__size.ant-select-single .ant-select-content-has-value{display:flex!important;align-items:center!important}.ipc-pagination__size .ant-select-selection-item,.ipc-pagination__size .ant-select-content-value{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;line-height:30px!important;font-size:12px!important}.ipc-pagination__size .ant-select-suffix,.ipc-pagination__size .ant-select-arrow{flex-shrink:0!important;margin-inline-start:2px!important}.ipc-pagination__btns{display:flex;align-items:center;gap:4px}.ipc-page-btn{display:inline-flex;align-items:center;justify-content:center;height:32px;min-width:32px;padding:0 8px;margin:0;font-size:12px;font-weight:500;line-height:1;border:1px solid var(--color-border);border-radius:var(--radius-md, 6px);background:var(--color-surface);color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .08s,border-color .08s,color .08s}.ipc-page-btn:hover:not(:disabled):not(.ipc-page-btn--active){background:var(--color-muted)}.ipc-page-btn--active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.ipc-page-btn--active:hover{background:var(--color-primary-hover, var(--color-primary));border-color:var(--color-primary-hover, var(--color-primary));color:#fff}.ipc-page-btn:disabled{opacity:.4;cursor:not-allowed}.ipc-page-btn--nav{padding:0;width:32px;color:var(--color-text-muted)}.ipc-page-dots{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--color-text-muted);font-size:12px;-webkit-user-select:none;user-select:none}.ipc-badge.ant-tag{margin:0;border-radius:9999px;font-size:12px;font-weight:500;line-height:1.25;padding:2px 10px;border:1px solid transparent}.ipc-badge--primary{color:var(--ipc-status-in-progress);background:var(--ipc-status-in-progress-bg);border-color:color-mix(in srgb,var(--ipc-status-in-progress) 22%,transparent)}.ipc-badge--success{color:var(--ipc-status-completed);background:var(--ipc-status-completed-bg);border-color:color-mix(in srgb,var(--ipc-status-completed) 22%,transparent)}.ipc-badge--warning{color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 12%,transparent);border-color:color-mix(in srgb,var(--color-warning) 22%,transparent)}.ipc-badge--destructive{color:var(--ipc-status-terminated);background:var(--ipc-status-terminated-bg);border-color:color-mix(in srgb,var(--ipc-status-terminated) 22%,transparent)}.ipc-badge--muted,.ipc-badge--default{color:var(--ipc-status-pending);background:var(--color-muted);border-color:var(--color-border)}.ipc-milestone-dot{display:inline-block;width:8px;height:8px;border-radius:9999px;vertical-align:middle}.ipc-milestone-dot--completed{background:var(--ipc-status-completed)}.ipc-milestone-dot--in_progress{background:var(--ipc-status-in-progress)}.ipc-milestone-dot--pending{background:transparent;border:1px dashed color-mix(in srgb,var(--ipc-status-pending) 45%,transparent)}.ipc-milestone-dot--delay{box-shadow:0 0 0 2px var(--ipc-status-delayed);background:var(--ipc-status-completed)}.ipc-milestone-dot--empty{background:transparent;border:1px dashed var(--color-border);opacity:.5}.ipc-milestone-dot--other{background:var(--color-warning)}.ipc-node-status{display:inline-flex;align-items:center;gap:6px;vertical-align:middle;max-width:100%}.ipc-node-status--compact{gap:4px}.ipc-node-dot-shell{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:12px;height:12px;border-radius:9999px}.ipc-node-dot{display:block;width:8px;height:8px;border-radius:9999px;box-sizing:border-box}.ipc-node-dot--completed{background:var(--ipc-status-completed)}.ipc-node-dot--active{background:var(--ipc-status-in-progress)}.ipc-node-dot--pending{background:transparent;border:1px dashed color-mix(in srgb,var(--ipc-status-pending) 45%,transparent)}.ipc-node-dot--terminated{background:var(--ipc-status-terminated)}.ipc-node-status--delayed .ipc-node-dot-shell{box-shadow:0 0 0 1.5px var(--ipc-status-delayed)}.ipc-node-tag{display:inline-flex;align-items:center;flex-shrink:1;min-width:0;padding:0 6px;border-radius:9999px;height:20px;font-size:12px;line-height:20px;font-weight:500;white-space:nowrap}.ipc-node-status--compact .ipc-node-tag{padding:0 5px;font-size:11px;height:20px;line-height:20px}.ipc-node-tag--completed{color:var(--ipc-status-completed);background:var(--ipc-status-completed-bg)}.ipc-node-tag--active{color:var(--ipc-status-in-progress);background:var(--ipc-status-in-progress-bg)}.ipc-node-tag--pending{color:var(--ipc-status-pending);background:var(--ipc-status-pending-bg)}.ipc-node-tag--terminated{color:var(--ipc-status-terminated);background:var(--ipc-status-terminated-bg)}.ipc-node-status-picker{display:inline-flex;align-items:center;margin:0;padding:2px 4px;border:none;border-radius:var(--radius, 6px);background:transparent;cursor:pointer;font:inherit;line-height:1}.ipc-node-status-picker:hover:not(:disabled){background:var(--color-muted, #f1f5f9)}.ipc-node-status-picker:disabled,.ipc-node-status-picker--saving{opacity:.6;cursor:wait}.ipc-footnote{flex-shrink:0;display:flex;align-items:flex-start;gap:8px;margin-top:16px;padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--radius, 8px);background:color-mix(in srgb,var(--color-muted) 30%,transparent)}.ipc-footnote__icon{flex-shrink:0;margin-top:2px;color:var(--color-text-muted)}.ipc-footnote__title{margin:0 0 4px;color:var(--color-text);font-size:14px;font-weight:500}.ipc-footnote__text{margin:0;font-size:12px;line-height:1.5;color:var(--color-text-muted)}.ipc-footnote__legend{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:8px;color:var(--color-text-muted);font-size:12px}.ipc-footnote__legend>span{display:inline-flex;align-items:center;gap:6px}.ipc-link{color:var(--color-primary);cursor:pointer;font-weight:500}.ipc-link:hover{text-decoration:underline}.ipc-text-warning{color:var(--color-warning);font-weight:500}.ipc-table-preline .ant-table-thead>tr>th,.ipc-table-preline .ant-table-tbody>tr>td{white-space:pre-line!important;word-break:break-word;overflow-wrap:anywhere}.ipc-table-preline .ant-table-tbody>tr>td{vertical-align:middle}.ipc-table.ant-table-wrapper.ipc-table-preline .ant-table-container .ant-table-tbody>tr:not(.ant-table-measure-row):not(.ant-table-placeholder)>td{vertical-align:middle!important}.ipc-table-preline .ant-table-thead>tr>th{vertical-align:middle!important}.ipc-table.ant-table-wrapper.ipc-table-preline .ant-table-container .ant-table-thead>tr>th .ant-table-cell-content,.ipc-table.ant-table-wrapper.ipc-table-preline .ant-table-container .ant-table-thead>tr>th .ant-table-column-sorters,.ipc-table-preline .ant-table-thead>tr>th .ant-table-cell-content,.ipc-table-preline .ant-table-thead>tr>th .ant-table-column-sorters{display:inline-flex!important;align-items:center!important;height:auto!important;min-height:0!important;width:100%!important;vertical-align:middle!important}.ipc-table-preline .ant-table-thead>tr>th .ant-table-column-sorters{justify-content:inherit}.ipc-table-preline .ant-table-thead>tr>th.ant-table-cell-align-center .ant-table-cell-content,.ipc-table-preline .ant-table-thead>tr>th.ant-table-cell-align-center .ant-table-column-sorters,.ipc-table-preline .ant-table-thead>tr>th.ant-table-cell-align-center .ant-table-column-title{justify-content:center;text-align:center}.ipc-table-preline .ant-table-cell-ellipsis{white-space:pre-line!important;word-break:break-word;overflow-wrap:anywhere}.ipc-table-header-title{position:relative;display:inline-flex;align-items:center;gap:4px;box-sizing:border-box;max-width:100%;min-width:0;line-height:20px;color:inherit;font-size:inherit;font-weight:inherit}.ipc-table-header-title--start{justify-content:flex-start;width:100%}.ipc-table-header-title--center{justify-content:center;width:100%}.ipc-table-header-title__text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ipc-table-header-inline-action{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;padding:0;border:0;background:transparent;color:var(--color-primary);cursor:pointer;border-radius:var(--radius-sm, 4px);opacity:.75;transition:opacity .15s ease,background-color .15s ease}.ipc-table-header-inline-action:hover{opacity:1;background:color-mix(in srgb,var(--color-primary) 12%,transparent)}.ipc-table-header-cell--dragging{opacity:.55;background:color-mix(in srgb,var(--color-primary) 8%,var(--color-muted))!important}.ipc-table-header-cell--drop-target{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-muted))!important;box-shadow:inset 3px 0 0 var(--color-primary)}.ipc-resizable-table .ant-table-thead>tr>th[draggable=true]{cursor:grab}.ipc-resizable-table .ant-table-thead>tr>th.ipc-table-header-cell--dragging{cursor:grabbing}.ipc-module-tabs.ant-tabs{flex:1;min-height:0;display:flex;flex-direction:column}.ipc-module-tabs>.ant-tabs-nav{flex-shrink:0;margin-bottom:var(--ipc-section-gap, 12px)}.ipc-module-tabs>.ant-tabs-content-holder{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.ipc-module-tabs>.ant-tabs-content-holder>.ant-tabs-content{flex:1;min-height:0;display:flex;flex-direction:column}.ipc-module-tabs .ant-tabs-tabpane.ant-tabs-tabpane-active{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;overflow:hidden}.ipc-page-stack{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;overflow:hidden;gap:var(--ipc-section-gap, 12px)}.ipc-stat-grid{flex-shrink:0;margin-bottom:0}.ipc-section-stack{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;gap:var(--ipc-section-gap, 12px);padding-bottom:0}.ipc-btn.ant-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:500;box-shadow:none!important}.ipc-btn--secondary.ant-btn-default{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text)}.ipc-btn--secondary.ant-btn-default:not(:disabled):hover{border-color:var(--color-border);background:var(--color-muted);color:var(--color-text)}.ipc-btn--destructive.ant-btn-default,.ipc-btn--destructive.ant-btn-dangerous{border-color:color-mix(in srgb,var(--color-error) 30%,transparent)!important;background:var(--color-surface)!important;color:var(--color-error)!important}.ipc-btn--destructive.ant-btn-default:not(:disabled):hover,.ipc-btn--destructive.ant-btn-dangerous:not(:disabled):hover{background:color-mix(in srgb,var(--color-error) 5%,transparent)!important;border-color:color-mix(in srgb,var(--color-error) 40%,transparent)!important;color:var(--color-error)!important}.ipc-btn--ghost.ant-btn-text{color:var(--color-text-muted);background:transparent}.ipc-btn--ghost.ant-btn-text:not(:disabled):hover{color:var(--color-text);background:var(--color-muted)}.ipc-btn--link.ant-btn-link{color:var(--color-primary);padding-inline:4px}.ipc-btn--link.ant-btn-link:not(:disabled):hover{color:var(--color-primary-hover);text-decoration:underline;text-underline-offset:4px}.ipc-btn--icon-only.ant-btn{width:var(--control-height, 36px);padding-inline:0}.ipc-row-actions{display:inline-flex;align-items:center;justify-content:flex-start;gap:12px;white-space:nowrap}.ant-table-cell:has(>.ipc-row-actions){text-align:left!important}.ant-table-cell-fix-right:has(>.ipc-row-actions){background:var(--color-surface, #fff)}.ant-table-cell-fix-right{text-align:left!important}.ipc-row-action{display:inline-flex;align-items:center;gap:2px;height:auto;padding:0;margin:0;border:0;border-radius:0;background:transparent;color:var(--color-primary);font-size:12px;font-weight:500;line-height:20px;cursor:pointer;font-family:inherit;transition:color .15s ease}.ipc-row-action:hover{color:var(--color-primary-hover);text-decoration:underline;text-underline-offset:3px}.ipc-row-action--danger{color:var(--color-text-muted)}.ipc-row-action--danger:hover{color:var(--color-error)}.ipc-switch.ant-switch{background:#94a3b8}.ipc-switch.ant-switch:hover:not(.ant-switch-disabled):not(.ant-switch-checked){background:#64748b}.ipc-switch.ant-switch .ant-switch-inner-unchecked,.ipc-switch.ant-switch .ant-switch-inner-checked{color:#fff!important;font-size:12px;font-weight:500}.ipc-switch.ant-switch-checked{background:var(--color-primary)!important}.ipc-switch.ant-switch-checked:hover:not(.ant-switch-disabled){background:var(--color-primary-hover)!important}.ipc-switch--with-text.ant-switch{min-width:52px}.ipc-switch--with-text.ant-switch-small{min-width:48px}.ipc-form-field{display:flex;flex-direction:column;gap:6px;min-width:0}.ipc-form-field--full{grid-column:1 / -1}.ipc-form-field__label{margin:0;font-size:14px;font-weight:500;line-height:1.4;color:var(--color-text)}.ipc-form-field__required{margin-left:2px;color:var(--color-error)}.ipc-form-field__control{min-width:0}.ipc-form-field__control .ant-input,.ipc-form-field__control .ant-input-affix-wrapper,.ipc-form-field__control .ant-select .ant-select-selector,.ipc-form-field__control .ant-picker{border-radius:var(--radius-md, 6px);background:var(--color-bg)!important}.ipc-form-field__helper{margin:0;font-size:12px;line-height:1.4;color:var(--color-text-muted)}.ipc-form-field__error{display:inline-flex;align-items:center;gap:4px;margin:0;font-size:12px;line-height:1.4;color:var(--color-error)}.ipc-form-field--error .ant-input,.ipc-form-field--error .ant-input-affix-wrapper,.ipc-form-field--error .ant-select .ant-select-selector,.ipc-form-field--error .ant-select .ant-select-content,.ipc-form-field--error .ant-picker,.ipc-form-field--error .ant-input-number{border-color:var(--color-error)!important}.ipc-form-field--error .ant-input-affix-wrapper-focused,.ipc-form-field--error .ant-input:focus,.ipc-form-field--error .ant-select-focused .ant-select-selector,.ipc-form-field--error .ant-select-focused .ant-select-content,.ipc-form-field--error .ant-input-number-focused{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-error) 20%,transparent)!important}.ipc-page-header--with-extra .ipc-page-header__main{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.ipc-page-header__extra{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.ipc-tabs.ant-tabs .ant-tabs-tab{color:var(--color-text-muted)}.ipc-tabs.ant-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--color-primary);font-weight:500}.ipc-segmented.ant-segmented{padding:2px;background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-md, 6px)}.ipc-segmented.ant-segmented .ant-segmented-item{border-radius:4px;font-size:12px;font-weight:500;color:var(--color-text-muted)}.ipc-segmented.ant-segmented .ant-segmented-item-selected{background:var(--color-surface);color:var(--color-text);box-shadow:0 0 0 1px var(--color-border),var(--shadow-sm)}.ipc-segmented.ant-segmented .ant-segmented-thumb{background:var(--color-surface);box-shadow:0 0 0 1px var(--color-border),var(--shadow-sm)}.ipc-breadcrumb.ant-breadcrumb{font-size:14px}.ipc-breadcrumb .ant-breadcrumb-link,.ipc-breadcrumb a{color:var(--color-text-muted)}.ipc-breadcrumb .ant-breadcrumb-link:hover,.ipc-breadcrumb a:hover{color:var(--color-primary)}.ipc-breadcrumb .ant-breadcrumb-separator{display:inline-flex;align-items:center;margin-inline:6px;color:var(--color-text-muted)}.ipc-breadcrumb__sep{display:block;color:var(--color-text-muted)}.ipc-breadcrumb li:last-child .ant-breadcrumb-link,.ipc-breadcrumb li:last-child span{color:var(--color-text);font-weight:500}.ipc-progress{display:flex;flex-direction:column;gap:4px;min-width:0}.ipc-progress--compact{flex-direction:row;align-items:center;gap:8px}.ipc-progress__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;line-height:1.4}.ipc-progress__label{color:var(--color-text-muted)}.ipc-progress__value{font-weight:500;color:var(--color-primary)}.ipc-progress__value--success{color:var(--color-success)}.ipc-progress__value--warning{color:var(--color-warning)}.ipc-progress__value--destructive{color:var(--color-error)}.ipc-progress__track{height:8px;border-radius:9999px;background:var(--color-muted);overflow:hidden}.ipc-progress__track--sm{height:6px;width:80px;flex-shrink:0}.ipc-progress__bar{height:100%;border-radius:9999px;background:var(--color-primary);transition:width .2s ease}.ipc-progress__bar--success{background:var(--color-success)}.ipc-progress__bar--warning{background:var(--color-warning)}.ipc-progress__bar--destructive{background:var(--color-error)}.ipc-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:9999px;font-weight:600;line-height:1;-webkit-user-select:none;user-select:none}.ipc-avatar--lg{width:40px;height:40px;font-size:14px}.ipc-avatar--md{width:36px;height:36px;font-size:14px}.ipc-avatar--sm{width:32px;height:32px;font-size:12px}.ipc-avatar--primary{background:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-primary)}.ipc-avatar--warning{background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning)}.ipc-avatar--success{background:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success)}.ipc-avatar--muted{background:var(--color-muted);color:var(--color-text-muted);font-weight:500}.ipc-avatar--sidebar{background:var(--color-sidebar, #020817);color:var(--color-sidebar-foreground, #f8fafc)}.ipc-avatar__online{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:9999px;background:var(--color-success);border:2px solid var(--color-surface)}.ipc-tag{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:2px 8px;border-radius:var(--radius-md, 6px);font-size:12px;line-height:1.4;color:var(--color-text);background:var(--color-muted)}.ipc-tag__text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ipc-tag--primary{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}.ipc-tag--outline{background:transparent;border:1px solid var(--color-border)}.ipc-tag__close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin:0;padding:0;border:0;background:transparent;color:var(--color-text-muted);cursor:pointer;line-height:1}.ipc-tag__close:hover{color:var(--color-text)}.ipc-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;margin:0;padding:24px 16px;box-sizing:border-box;color:var(--color-text-muted);text-align:center}.ipc-empty__icon{display:inline-flex;opacity:.4}.ipc-empty__title{margin:0;font-size:14px;line-height:1.4;color:var(--color-text-muted)}.ipc-empty__desc{margin:0;font-size:12px;line-height:1.4;color:var(--color-text-muted)}.ipc-empty-host{display:flex!important;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:240px;flex:1;box-sizing:border-box}.ipc-empty-host>.ipc-empty{flex:0 0 auto;min-height:0;padding:24px 16px}.ant-table-wrapper .ant-table-tbody>tr.ant-table-placeholder>td{border-bottom:none!important;padding:0!important}.ant-table-wrapper .ant-table-placeholder .ipc-empty{min-height:220px}.ipc-table-panel__scroll .ant-table-placeholder .ipc-empty,.pmd-table-body .ant-table-placeholder .ipc-empty{min-height:240px}.ipc-table-skeleton{display:flex;flex-direction:column;gap:0;padding:4px 0}.ipc-table-skeleton__row{display:flex;align-items:center;gap:16px;padding:12px;border-bottom:1px solid var(--color-border)}.ipc-table-skeleton__cell{display:inline-block;height:14px;width:64px;border-radius:4px;background:var(--color-muted);animation:ipc-pulse 1.4s ease-in-out infinite}.ipc-table-skeleton__cell--wide{width:128px}@keyframes ipc-pulse{0%,to{opacity:1}50%{opacity:.45}}.ipc-alert{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:var(--radius-md, 6px);border:1px solid transparent}.ipc-alert__icon{flex-shrink:0;margin-top:2px}.ipc-alert__body{min-width:0}.ipc-alert__title{margin:0;font-size:14px;font-weight:500;line-height:1.4}.ipc-alert__desc{margin:2px 0 0;font-size:12px;line-height:1.4;color:var(--color-text-muted)}.ipc-alert--success{border-color:color-mix(in srgb,var(--color-success) 30%,transparent);background:color-mix(in srgb,var(--color-success) 10%,transparent);color:var(--color-success)}.ipc-alert--warning{border-color:color-mix(in srgb,var(--color-warning) 30%,transparent);background:color-mix(in srgb,var(--color-warning) 10%,transparent);color:var(--color-warning)}.ipc-alert--destructive{border-color:color-mix(in srgb,var(--color-error) 30%,transparent);background:color-mix(in srgb,var(--color-error) 10%,transparent);color:var(--color-error)}.ipc-alert--info{border-color:color-mix(in srgb,var(--color-primary) 30%,transparent);background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary)}.ipc-modal-root .ant-modal-mask{background:#02081766;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ipc-modal-root .ant-modal-wrap{padding:16px;overflow:auto}.ipc-modal.ant-modal{top:auto;max-width:calc(100vw - 32px);margin:0;padding-bottom:0}.ipc-modal.ant-modal .ant-modal-content{padding:0;overflow:hidden;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg, 8px)!important;box-shadow:0 10px 15px -3px #0208171a,0 4px 6px -4px #0208171a}.ipc-modal.ant-modal .ant-modal-container{padding:0!important;overflow:hidden;border-radius:calc(var(--radius-lg, 8px) - 1px);background:var(--color-surface)}.ipc-modal.ant-modal .ant-modal-header{margin:0;min-height:57px;padding:16px 52px 16px 20px;display:flex;align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border);border-radius:calc(var(--radius-lg, 8px) - 1px) calc(var(--radius-lg, 8px) - 1px) 0 0}.ipc-modal.ant-modal .ant-modal-title{min-width:0;color:var(--color-text);font-size:16px;font-weight:600;line-height:1.5}.ipc-modal.ant-modal .ant-modal-title .ipc-modal-title-ellipsis,.ipc-modal-title-ellipsis{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ipc-modal.ant-modal .ant-modal-close{top:14px;inset-inline-end:16px;width:28px;height:28px;border-radius:var(--radius-md, 6px);color:var(--color-text-muted);transition:background-color .15s ease,color .15s ease}.ipc-modal.ant-modal .ant-modal-close:hover{color:var(--color-text);background:var(--color-muted)}.ipc-modal.ant-modal .ant-modal-close-x{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.ipc-modal.ant-modal .ant-modal-body{padding:16px 20px;color:var(--color-text);background:var(--color-surface);font-size:14px;line-height:1.5}.ipc-modal.ant-modal .ant-modal-footer{margin:0;min-height:69px;padding:16px 20px;display:flex;align-items:center;justify-content:flex-end;border-top:1px solid var(--color-border);border-radius:0 0 calc(var(--radius-lg, 8px) - 1px) calc(var(--radius-lg, 8px) - 1px);background:color-mix(in srgb,var(--color-muted) 30%,transparent)}.ipc-modal__footer-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;width:100%}.ipc-modal__footer-actions .ipc-btn.ant-btn{min-width:0;height:36px;padding-inline:16px;font-size:14px}.ipc-modal__footer-actions .ipc-btn--link.ant-btn-link{width:auto;padding-inline:4px;color:var(--color-primary);font-size:12px}.ipc-modal.ant-modal .ipc-form-field{gap:6px}.ipc-modal-form{display:flex;flex-direction:column;gap:16px}.ipc-modal-form--compact{gap:12px}.ipc-modal.ant-modal .ipc-form-field__label{display:block;margin:0;color:var(--color-text);font-size:14px;font-weight:500;line-height:1.4}.ipc-modal.ant-modal .form-label{display:block;margin:0 0 6px;color:var(--color-text);font-size:14px;font-weight:500;line-height:1.4}.ipc-modal.ant-modal .ipc-form-field__required,.ipc-modal.ant-modal .form-label .required{color:var(--color-error)}.ipc-modal.ant-modal .form-field-error{margin-top:4px;color:var(--color-error)!important;font-size:12px;line-height:1.4}.ipc-modal.ant-modal .ant-input:not(textarea),.ipc-modal.ant-modal .ant-picker,.ipc-modal.ant-modal .ant-input-number{height:36px;padding-inline:12px;font-size:14px;border-radius:var(--radius-md, 6px);background:var(--color-bg)!important}.ipc-modal.ant-modal .ant-input-affix-wrapper{height:36px;padding-block:0;padding-inline:12px;display:inline-flex;align-items:center;border-radius:var(--radius-md, 6px);background:var(--color-bg)!important;box-sizing:border-box}.ipc-modal.ant-modal .ant-input-affix-wrapper>input.ant-input{height:auto!important;min-height:0!important;padding-block:0!important;padding-inline:0!important;line-height:1.4;background:transparent!important}.ipc-modal.ant-modal .ant-select-single{height:36px}.ipc-modal.ant-modal .ant-select-single .ant-select-selector{height:36px!important;padding-inline:12px!important;border-radius:var(--radius-md, 6px)!important;background:var(--color-bg)!important}.ipc-modal.ant-modal .ant-select-single .ant-select-selection-item,.ipc-modal.ant-modal .ant-select-single .ant-select-selection-placeholder{font-size:14px;line-height:34px!important}.ipc-modal.ant-modal .ant-input:focus,.ipc-modal.ant-modal .ant-input-affix-wrapper-focused,.ipc-modal.ant-modal .ant-picker-focused,.ipc-modal.ant-modal .ant-select-focused .ant-select-selector{border-color:var(--color-primary)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 20%,transparent)!important}.ipc-modal.ant-modal .ipc-ipd-autofill .ant-input,.ipc-modal.ant-modal .ipc-ipd-autofill .ant-input:not(textarea),.ipc-modal.ant-modal .ipc-ipd-autofill .ant-picker,.ipc-modal.ant-modal .ipc-ipd-autofill .ant-select-selector,.ipc-modal.ant-modal .ipc-ipd-autofill .ant-select-single .ant-select-selector{background:#e8f3ff!important}.ipc-modal.ant-modal .ipc-filter-bar .ant-input:not(textarea):not(.ant-input-affix-wrapper *),.ipc-modal.ant-modal .ipc-filter-bar .ant-input-affix-wrapper,.ipc-modal.ant-modal .ipc-filter-bar .ant-picker,.ipc-modal.ant-modal .ipc-filter-bar .ipc-date.ant-picker{height:var(--ipc-filter-control-height, 32px)!important;min-height:var(--ipc-filter-control-height, 32px)!important;max-height:var(--ipc-filter-control-height, 32px)!important}.ipc-modal.ant-modal .ipc-filter-bar .ant-select,.ipc-modal.ant-modal .ipc-filter-bar .ant-input-number,.ipc-modal.ant-modal .ipc-filter-bar .ant-btn{height:var(--ipc-filter-control-height, 32px)!important;min-height:var(--ipc-filter-control-height, 32px)!important;max-height:var(--ipc-filter-control-height, 32px)!important}.ipc-modal.ant-modal .ipc-filter-bar .ant-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important}.ipc-modal.ant-modal .ipc-filter-bar .ant-input-number-input,.ipc-modal.ant-modal .ipc-filter-bar .ant-picker-input,.ipc-modal.ant-modal .ipc-filter-bar .ant-picker-input>input{height:calc(var(--ipc-filter-control-height, 32px) - 2px)!important;line-height:calc(var(--ipc-filter-control-height, 32px) - 2px)!important}.ipc-confirm.ant-modal .ant-modal-confirm-body{display:flex;gap:10px;align-items:flex-start}.ipc-confirm.ant-modal .ant-modal-content{padding:0;overflow:hidden;color:var(--color-text);background:var(--color-surface);border:1px solid #e2e8f0;border-radius:var(--radius-lg, 8px)!important;box-shadow:0 10px 15px -3px #0208171a,0 4px 6px -4px #0208171a}.ipc-confirm.ant-modal .ant-modal-container{padding:20px 24px!important;overflow:hidden;border-radius:calc(var(--radius-lg, 8px) - 1px);background:var(--color-surface)}.ipc-confirm.ant-modal .ant-modal-body{padding:0!important}.ipc-confirm.ant-modal .ant-modal-confirm-body-wrapper{display:block!important;padding:0}.ipc-confirm .ipc-confirm__icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;margin-top:1px;margin-inline-end:0!important;color:#faad14!important;font-size:22px!important;line-height:1;background:transparent}.ipc-confirm.ant-modal .ant-modal-confirm-title{color:var(--color-text);font-size:16px;font-weight:600;line-height:1.5;padding-top:0}.ipc-confirm.ant-modal .ant-modal-confirm-content{margin-top:8px;padding-right:8px;font-size:14px;line-height:1.5;color:var(--color-text-muted)}.ipc-confirm.ant-modal .ant-modal-confirm-btns{margin-top:14px;padding:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;border-top:none;background:transparent}.ipc-confirm.ant-modal .ant-modal-confirm-btns .ipc-btn.ant-btn{height:32px;padding-inline:16px;font-size:14px}.ipc-confirm.ant-modal .ant-modal-confirm-btns .ipc-btn--destructive.ant-btn-default,.ipc-confirm.ant-modal .ant-modal-confirm-btns .ipc-btn--destructive.ant-btn-dangerous{color:var(--color-error)!important;border-color:var(--color-error)!important;background:var(--color-surface)!important}.ipc-confirm.ant-modal .ant-modal-confirm-btns .ipc-btn--destructive.ant-btn-default:not(:disabled):hover,.ipc-confirm.ant-modal .ant-modal-confirm-btns .ipc-btn--destructive.ant-btn-dangerous:not(:disabled):hover{color:#fff!important;border-color:var(--color-error)!important;background:var(--color-error)!important}.ant-message .ant-message-notice-content{border:1px solid var(--color-border);border-radius:var(--radius-md, 6px);background:var(--color-surface);box-shadow:var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, .1));padding:10px 14px}.ipc-date-shell{position:relative;display:inline-flex;align-items:center;width:100%;min-width:0}.ipc-date-shell--form,.ipc-date-shell--filter{width:100%}.ipc-date-shell--filter{width:156px;flex-shrink:0}.ipc-date-shell__icon{position:absolute;left:10px;top:50%;z-index:1;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.ipc-date.ant-picker{border-radius:var(--radius-md, 6px);background:var(--color-surface)}.ipc-date--with-icon.ant-picker{padding-left:30px}.ipc-date--with-icon.ant-picker .ant-picker-suffix{display:none}.ipc-date--form.ant-picker{width:100%;height:36px}.ipc-date--form.ant-picker .ant-picker-input>input{font-size:14px}.ipc-date--inline.ant-picker{width:128px!important;min-width:128px!important;max-width:128px!important;flex-shrink:0;height:24px!important;min-height:24px!important;padding:0 6px!important;font-size:12px}.ipc-date--inline.ant-picker .ant-picker-input>input{font-size:12px!important;line-height:22px!important}.ipc-date--cell.ant-picker{width:72px!important;min-width:72px!important;max-width:72px!important;height:22px!important;min-height:22px!important;padding:0 4px!important;font-size:11px}.ipc-date--cell.ant-picker .ant-picker-input>input{min-width:0!important;width:100%!important;font-size:11px!important;line-height:20px!important}.ipc-date-range{display:inline-flex;align-items:center;gap:8px;min-width:0}.ipc-date-range__sep{flex-shrink:0;color:var(--color-text-muted);font-size:14px;line-height:1}.ipc-editable-date{display:block;box-sizing:border-box;height:24px;min-height:24px;padding:0 4px;border-radius:var(--radius-sm, 4px);color:var(--color-text);font-size:13px;line-height:24px;cursor:pointer}.ipc-editable-date:hover{background:var(--color-muted, #f1f5f9)}.ipc-editable-date--saving{opacity:.6;cursor:wait}.ipc-editable-date--disabled{cursor:default}.ipc-editable-date--disabled:hover{background:transparent}.ipc-editable-date__picker.ipc-date--cell{width:100%!important;max-width:100%!important;min-width:0!important;height:24px!important;min-height:24px!important}:root{--ipc-header-height: 56px;--ipc-filter-control-height: 32px;--ipc-filter-h: 32px;--color-primary: #3B82F6;--color-primary-hover: #2563EB;--color-primary-foreground: #F8FAFC;--color-primary-light: rgba(59, 130, 246, .12);--color-muted: #F1F5F9;--color-bg: #FFFFFF;--color-surface: #FFFFFF;--color-text: #020817;--color-text-muted: #64748B;--color-text-subtle: #94A3B8;--color-border: #E2E8F0;--color-sidebar: #020817;--color-sidebar-foreground: #F8FAFC;--color-success: #22C55E;--color-warning: #F59E0B;--color-error: #EF4444;--ipc-status-pending: var(--color-text-muted);--ipc-status-in-progress: var(--color-primary);--ipc-status-completed: var(--color-success);--ipc-status-terminated: var(--color-error);--ipc-status-delayed: var(--color-error);--ipc-status-pending-bg: color-mix(in srgb, var(--color-text-muted) 10%, transparent);--ipc-status-in-progress-bg: color-mix(in srgb, var(--color-primary) 12%, transparent);--ipc-status-completed-bg: color-mix(in srgb, var(--color-success) 12%, transparent);--ipc-status-terminated-bg: color-mix(in srgb, var(--color-error) 12%, transparent);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--radius: 8px;--radius-md: 6px;--font-size-base: 14px;--font-size-page-title: 20px;--control-height: 36px;--transition: .15s ease;--app-content-edge-pad: 20px;--ipc-section-gap: 12px;--ipc-scrollbar-size: 5px;--ipc-scrollbar-thumb: color-mix(in srgb, var(--color-text-muted) 28%, transparent);--ipc-scrollbar-thumb-hover: color-mix(in srgb, var(--color-text-muted) 45%, transparent)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html,body,#root{width:100%;min-width:100%;height:100%;overflow:hidden}body{font-family:Inter,-apple-system,PingFang SC,Hiragino Sans GB,Microsoft YaHei UI,Segoe UI,sans-serif;font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg);color:var(--color-text)}.ant-btn,.ant-card,.ant-menu-item,.ant-tabs-tab,.ant-tag,.ant-select-selector,.ant-input,.ant-input-textarea,.ant-table-row{transition:all var(--transition)}*{scrollbar-width:thin;scrollbar-color:var(--ipc-scrollbar-thumb) transparent}::-webkit-scrollbar{width:calc(var(--ipc-scrollbar-size) / var(--ipc-ui-zoom, 1));height:calc(var(--ipc-scrollbar-size) / var(--ipc-ui-zoom, 1))}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--ipc-scrollbar-thumb);border-radius:9999px;border:1px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--ipc-scrollbar-thumb-hover);background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}code{font-family:JetBrains Mono,Fira Code,source-code-pro,Menlo,Monaco,Consolas,monospace}
