/* Combined project progress: one table, with details opened on demand. */
.progress-controls{display:flex;align-items:center;gap:12px;flex-shrink:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;min-height:38px;padding-bottom:2px;font-size:12px}.progress-controls>.progress-summary{display:flex;gap:12px;flex:none}.progress-controls .progress-summary-item{display:inline-flex;flex-direction:row;align-items:center;gap:5px;padding:0;background:transparent;border:0;border-radius:0;white-space:nowrap}.progress-controls .progress-summary-item span{font-size:11px}.progress-controls .progress-summary-item strong{font-size:14px;line-height:1.4}.progress-controls>.progress-search{flex:1;min-width:150px;max-width:250px}.progress-controls>label:not(.progress-search){flex-shrink:0}.progress-controls .select-trigger{min-height:32px;padding:6px 9px;font-size:11px;gap:10px}.progress-controls #progress-count{white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:10px}.progress-controls #new-issue{flex-shrink:0;min-height:32px;padding:8px 13px;font-size:11px}.progress-controls .progress-search input{padding:7px 9px;font-size:11px}
.progress-heading>.progress-summary{flex:1;min-width:0}.progress-heading>.progress-heading-actions{flex-shrink:0}
.progress-panel{display:block;overflow:auto;overscroll-behavior:contain}.progress-workspace{height:100%;min-height:390px;display:flex;flex-direction:column;padding-top:18px;gap:15px}.progress-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}.progress-heading h2{font-size:17px;margin:0 0 2px}.progress-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.progress-heading-actions button{font-size:12px;min-height:34px;padding:7px 12px}.progress-heading-actions .primary{padding:9px 17px}.progress-heading .badge{border-radius:6px;font-size:11px}.progress-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;flex-shrink:0}.progress-summary-item{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;background:#f8faf5;border:1px solid var(--site-line);border-radius:10px}.progress-summary-item span{font-size:12px}.progress-summary-item strong{font-size:23px;line-height:1.3;font-weight:600}.progress-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:12px;flex-shrink:0}.progress-toolbar label{display:flex;align-items:center;gap:7px}.progress-toolbar .progress-search{flex:1;max-width:350px;min-width:180px}.progress-search input{width:100%;min-width:0;font-size:12px;line-height:1.5;border:1px solid var(--site-line);border-radius:9px;padding:8px 11px;background:#fff}.progress-toolbar>span:last-child{margin-left:auto}.progress-table-scroll{min-height:160px;flex:1;overflow:auto;border:1px solid var(--site-line);border-radius:12px;overscroll-behavior:contain}.progress-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1070px;font-size:12px;line-height:1.5}.progress-table .col-code{width:94px}.progress-table .col-subject{width:270px}.progress-table .col-person{width:auto}.progress-table .col-acceptance{width:auto}.progress-table .col-progress{width:auto}.progress-table .col-date{width:auto}.progress-table .col-action{width:90px}.progress-table th{position:sticky;top:0;z-index:1;text-align:left;font-weight:600;background:#f5f7f2;padding:12px 13px;border-bottom:1px solid var(--site-line);white-space:nowrap}.progress-table td{padding:12px 13px;border-bottom:1px solid #e9ede5;vertical-align:middle;overflow-wrap:anywhere}.progress-table tbody tr:last-child td{border-bottom:0}.progress-table tbody tr[data-record]{cursor:pointer}.progress-table tbody tr[data-record]:hover{background:#f8fbf0}.progress-table tbody tr:focus-visible{outline:2px solid var(--site-lime);outline-offset:-2px}.progress-code strong{font-size:11px;font-weight:500}.progress-code small,.progress-subject small{display:block;margin-top:4px;font-size:10px}.progress-subject strong{font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-subject small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.progress-person{font-weight:600}.progress-state{display:inline-flex;font-size:11px;line-height:1.6;padding:2px 7px;border-radius:5px;background:#f1f3ed;white-space:nowrap}.progress-state[data-state="开发中"],.progress-state[data-state="处理中"]{background:#eaf2d7}.progress-state[data-state="已完成"],.progress-state[data-state="已关闭"]{background:var(--site-lime)}.progress-state[data-state="待验收"]{background:#edf4df}.progress-track{display:block;height:3px;width:80px;background:#e9eee1;border-radius:4px;margin-top:7px;overflow:hidden}.progress-track>span{display:block;height:100%;background:#a1be53;border-radius:inherit}.progress-acceptance{font-size:11px;white-space:nowrap}.progress-date{font-size:11px;white-space:nowrap}.progress-detail-button{border:0;font-size:11px;padding:5px 0;background:transparent;text-decoration:underline;text-underline-offset:3px}.progress-empty{text-align:center;height:150px}.progress-facts{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;margin:20px 0;font-size:12px}.progress-facts dt{font-weight:500}.progress-facts dd{margin:0}.progress-preview-dialog h4{font-size:13px}#projecttask-dialog,#progress-preview-dialog{width:760px}#projecttask-dialog .collab-detail,#progress-preview-dialog .collab-detail{overflow:visible;padding:0}#progress-preview-detail h4{font-size:13px}
@media(max-width:1000px){.progress-heading{align-items:flex-start}.progress-heading-actions{gap:7px}.progress-summary-item{padding:10px 12px}.progress-toolbar{gap:10px}}
@media(max-width:600px){.progress-workspace{padding-top:12px;gap:11px;min-height:410px}.progress-heading{flex-wrap:wrap;gap:9px}.progress-heading>.progress-summary{flex-basis:100%}.progress-heading-actions button{font-size:11px;padding:6px 9px;min-height:31px}.progress-summary{gap:6px}.progress-summary-item{flex-direction:column;align-items:flex-start;gap:3px;padding:8px}.progress-summary-item span{font-size:10px}.progress-summary-item strong{font-size:19px}.progress-toolbar{gap:8px;font-size:11px}.progress-toolbar .progress-search{max-width:none;flex-basis:100%;min-width:100%}.progress-toolbar .select-trigger{font-size:11px;min-height:31px;padding:5px 8px;gap:8px}.progress-toolbar>span:last-child{margin-left:0}.progress-table{font-size:11px}.progress-facts{grid-template-columns:74px minmax(0,1fr)}}

.progress-panel .progress-workspace{padding-top:10px;gap:9px;min-height:250px}

.progress-controls .progress-summary-item{min-height:32px;padding:5px 8px;border:1px solid var(--site-line);border-radius:7px;cursor:pointer}.progress-controls .progress-summary-item[aria-pressed=true]{background:var(--site-lime);border-color:var(--site-lime)}.progress-controls .progress-summary-item:hover{background:#f1f7e1}.progress-controls .progress-summary-item[aria-pressed=true]:hover{background:var(--site-lime)}

.progress-date-range{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;white-space:nowrap}.progress-date-range input{font-size:11px;border:1px solid var(--site-line);border-radius:7px;min-height:32px;padding:4px 6px;background:#fff}

.progress-controls>.progress-search{margin-left:auto;flex:0 0 250px;min-width:160px}.progress-controls>label:not(.progress-search) .standard-select{width:100px}.progress-controls>label:not(.progress-search) .select-trigger{width:100px;height:32px;min-height:32px}.progress-table{min-width:1190px}.progress-table .col-type{width:90px}.task-type-tag{display:inline-block;padding:3px 6px;border:1px solid var(--site-line);border-radius:5px;font-size:10px;white-space:nowrap}.task-type-tag[data-type="致命BUG"]{background:#ffe8e2;border-color:#e6b9ad;font-weight:700}

/* Equal status controls keep the toolbar stable as labels and counts change. */
.progress-controls .progress-summary-item{width:100px;height:32px;min-height:32px;flex:0 0 100px;justify-content:center;padding:0 5px}

.progress-controls .progress-summary-item strong{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:20px;padding:0 3px;border-radius:5px;font-size:12px;line-height:1;font-variant-numeric:tabular-nums;background:#dceba8}.progress-controls .progress-summary-item[data-bucket="untouched"] strong{background:var(--task-state-wait)}.progress-controls .progress-summary-item[data-bucket="active"] strong{background:var(--task-state-active)}.progress-controls .progress-summary-item[data-bucket="verify"] strong{background:var(--task-state-review)}.progress-controls .progress-summary-item[data-bucket="done"] strong{background:var(--task-state-done)}.progress-controls .progress-summary-item[data-empty="true"] strong{background:#e9ece7}

/* Muted category colors; white labels are an explicit exception to black workspace text. */
.task-type-tag{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:24px;padding:0 6px;border:0;border-radius:5px;font-weight:500;line-height:1;background:#f1f3ed}
.task-type-tag[data-type="致命BUG"]{background:#a85d59;border:0;font-weight:600}.task-type-tag[data-type="交互优化"]{background:#527893}.task-type-tag[data-type="功能需求"]{background:#617d52}.task-type-tag[data-type="一般BUG"]{background:#a16b36}
main .task-type-tag[data-type="致命BUG"],main .task-type-tag[data-type="交互优化"],main .task-type-tag[data-type="功能需求"],main .task-type-tag[data-type="一般BUG"]{color:#fff!important;-webkit-text-fill-color:#fff}

/* Table content uses regular weight; navigation and member controls keep their own styles. */
.progress-table tbody,.progress-table tbody *{font-weight:400}

.progress-controls>.progress-detail-toggle{flex:0 0 100px;width:100px;height:32px;min-height:32px;padding:0 8px;border:1px solid var(--site-line);border-radius:7px;background:#fff;font-size:11px;white-space:nowrap}.progress-controls>.progress-detail-toggle[aria-pressed="true"]{background:var(--site-lime);border-color:var(--site-lime)}

.progress-controls>.progress-detail-toggle{position:sticky;right:0;z-index:2;box-shadow:-6px 0 8px #fff}

/* Four canonical task states share names and colors in every task view. */
:root{--task-state-wait:#ffe4bd;--task-state-active:#d6eaff;--task-state-review:#e8dcff;--task-state-done:#cff0d8;}
.progress-state[data-state="待开发"],.standard-select-menu .select-option[data-value="待开发"],.select-trigger[data-value="待开发"]{background:var(--task-state-wait)}
.progress-state[data-state="开发中"],.standard-select-menu .select-option[data-value="开发中"],.select-trigger[data-value="开发中"]{background:var(--task-state-active)}
.progress-state[data-state="待验收"],.standard-select-menu .select-option[data-value="待验收"],.select-trigger[data-value="待验收"]{background:var(--task-state-review)}
.progress-state[data-state="已完成"],.standard-select-menu .select-option[data-value="已完成"],.select-trigger[data-value="已完成"]{background:var(--task-state-done)}
.standard-select-menu .select-option[aria-selected="true"][data-value]:is([data-value="待开发"],[data-value="开发中"],[data-value="待验收"],[data-value="已完成"]){box-shadow:inset 0 0 0 1px #667552}

/* Both task lists share centered headings and cell content. */
.progress-table th,.progress-table td{text-align:center}

/* Task titles retain a common left edge for scanning long text. */
.progress-table th:nth-child(3),.progress-table td:nth-child(3){text-align:left}

/* Overlay track keeps table column widths independent of vertical overflow. */
.progress-table-region{position:relative}.progress-table-scroll{scrollbar-width:none}.progress-table-scroll::-webkit-scrollbar{width:0;height:0}.table-scroll-overlay{position:absolute;z-index:3;width:8px;border-radius:6px;background:transparent;touch-action:none;user-select:none;cursor:default}.table-scroll-overlay:hover,.table-scroll-overlay:focus-visible{background:#0000000a}.table-scroll-thumb{width:6px;margin-inline:1px;border-radius:5px;background:#90958c99}.table-scroll-overlay:hover .table-scroll-thumb{background:#747a70cc}.table-scroll-overlay:focus-visible{outline:1px solid #a5b184;outline-offset:1px}

@supports selector(::-webkit-scrollbar){.progress-table-scroll{scrollbar-width:auto}.progress-table-scroll::-webkit-scrollbar{width:0;height:8px}.progress-table-scroll::-webkit-scrollbar-thumb{background:#a6ada1;border-radius:5px}.progress-table-scroll::-webkit-scrollbar-track{background:transparent}}
