.project-list { min-width: 0; background: var(--panel); border-block: 1px solid var(--line); }
.project-list-body { padding: 14px 16px 0; }
.project-filters { gap: 10px; }
.project-export{margin-left:auto}
.project-stage-progress{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.project-stage-progress progress{width:160px;max-width:70%;height:8px;accent-color:var(--brand)}
.project-progress-node{display:grid;grid-template-columns:minmax(0,1fr) 80px 65px;gap:8px;max-width:420px;margin:6px 0;color:var(--muted)}
.project-filters label { display: flex; align-items: center; gap: 8px; color: var(--muted); }
.project-filters select { width: 118px; }
#projectListDepartment { width: 154px; }
#projectListYear { width: 112px; }
.project-table { table-layout: fixed; width: 1328px; min-width: 100%; }
.project-scope-count { border: 0; background: transparent; padding: 4px 0; color: var(--brand); font: inherit; font-variant-numeric: tabular-nums; white-space: nowrap; cursor: pointer; }
.project-scope-count:hover { text-decoration: underline; }
.project-scope-count:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }
.project-table td, .project-table th { padding: 10px 8px; }
.project-table td { white-space: normal; overflow-wrap: anywhere; }
.project-clamp { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; line-height: 1.6; max-height: 3.2em; }
.project-row-actions { display: flex; gap: 6px; flex-wrap: nowrap; }
.project-row-actions .btn { flex: 0 0 auto; padding: 6px 9px; }
.project-stage { font-size: 12px; margin-bottom: 5px; }
.project-progress { display: flex; align-items: center; gap: 7px; font-size: 12px; font-variant-numeric: tabular-nums; }
.project-progress progress { appearance: none; flex: 1; width: 0; height: 6px; border: 0; background: #e3eaf2; border-radius: 3px; overflow: hidden; }
.project-progress progress::-webkit-progress-bar { background: #e3eaf2; }
.project-progress progress::-webkit-progress-value { background: #17867c; }
.project-progress progress::-moz-progress-bar { background: #17867c; }
.project-progress span { min-width: 36px; text-align: right; }
.project-execution { display: block; width: 100%; border: 0; background: transparent; padding: 0; color: inherit; text-align: left; cursor: pointer; }
.project-execution:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }
.project-stage-row { display: grid; grid-template-columns: 180px minmax(0,1fr) 180px; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.project-stage-row > div:first-child { display: flex; flex-direction: column; gap: 6px; }
.project-stage-actions { display: flex; gap: 6px; flex-wrap: wrap; align-content: start; }
.project-progress-section + .project-progress-section { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); }
.project-progress-section h3 { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; font-size: 14px; }
.project-progress-section h3 span { color: var(--brand); font-variant-numeric: tabular-nums; }
.project-process-fields { border: 0; padding: 0; margin: 0; min-width: 0; }
.project-progress-history { margin-top: 20px; }
.project-progress-history > div { border-bottom: 1px solid var(--line); padding: 12px 0; overflow-wrap: anywhere; }
.project-progress-history span { display: block; color: var(--muted); margin-top: 5px; }
.project-pager { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 14px 0; color: var(--muted); font-size: 12px; }
.project-pager > span { margin-right: auto; }
.project-pager label, .project-pager form { display: flex; align-items: center; gap: 6px; }
.project-pager select { width: 76px; }
.project-pager input { width: 64px; }
.project-detail-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px 24px; margin: 0; }
.project-detail-grid dt { color: var(--muted); font-size: 12px; margin-bottom: 6px; }
.project-detail-grid dd { margin: 0; overflow-wrap: anywhere; }
.project-detail section { border-top: 1px solid var(--line); margin-top: 20px; padding-top: 14px; }
.project-detail h3 { font-size: 14px; margin: 0 0 10px; }
.project-change-members { min-width: 0; margin: 0; padding: 12px 0; border: 0; border-top: 1px solid var(--line); }
.project-change-members legend { font-size: 13px; color: var(--muted); }
.project-change-members > div { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 10px 16px; max-height: 220px; overflow: auto; }
#projectChangeForm .project-change-members label { display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 8px; overflow-wrap: anywhere; }
#projectChangeForm input[type="checkbox"] { flex: 0 0 16px; width: 16px; height: 16px; }
.project-full-text, .project-proposal { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8; }
@media(max-width: 700px) {
  .project-stage-row { grid-template-columns: minmax(0,1fr); gap: 8px; }
  .project-list-body { padding-inline: 10px; }
  .project-filters label { flex: 1 1 140px; }
  .project-filters select { flex: 1; min-width: 0; }
  .project-pager > span { flex-basis: 100%; }
  .project-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
}
