/* One continuous document; sections and rows establish hierarchy. */
.sv-document { background: #fff; border: 1px solid #dce3ec; color: #27364b; margin-top: 14px; }
.sv-document-header { padding: 28px 32px 24px; border-bottom: 1px solid #e3e8ef; }
.sv-document-topline { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.sv-document h1 { margin: 20px 0 10px; font-size: 26px; line-height: 1.45; font-weight: 650; }
.sv-document-subtitle { color: #7a8697; font-size: 13px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.sv-document-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.sv-section-nav { display: flex; gap: 24px; padding: 0 32px; border-bottom: 1px solid #e3e8ef; overflow-x: auto; background: #f9fbfd; }
.sv-section-nav button { padding: 15px 0; border: 0; background: transparent; font: inherit; font-size: 13px; color: #53647a; cursor: pointer; white-space: nowrap; }
.sv-section-nav button:hover { color: #1c4f85; }
.sv-document-section { padding: 28px 32px 32px; border-bottom: 1px solid #e3e8ef; scroll-margin-top: 80px; }
.sv-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 24px; }
.sv-section-heading h2 { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 18px; margin: 0; font-weight: 650; }
.sv-section-heading h2 > span { font-size: 12px; color: #8b9db3; font-variant-numeric: tabular-nums; }
.sv-section-heading h2 small { color: #8490a0; font-size: 12px; font-weight: 400; }
.sv-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border-top: 1px solid #e7ecf2; }
.sv-facts > div { padding: 17px 20px 17px 0; border-bottom: 1px solid #e7ecf2; }
.sv-facts dt { color: #7a8798; font-size: 14px; margin-bottom: 8px; }
.sv-facts dd { margin: 0; font-size: 16px; overflow-wrap: anywhere; line-height: 1.6; white-space: pre-wrap; }
.sv-description { margin-top: 24px; }
.sv-description h3 { margin: 0 0 10px; color: #7a8798; font-size: 14px; font-weight: 400; }
.sv-description p { white-space: pre-wrap; overflow-wrap: anywhere; margin: 0; font-size: 16px; line-height: 1.9; }
.sv-remarks p { color: #67758a; }
.sv-timeline { border-left: 1px solid #dce4ee; margin-left: 4px; padding-left: 22px; }
.sv-entry { position: relative; padding: 0 0 22px; margin: 0 0 22px; border-bottom: 1px solid #edf0f4; }
.sv-entry:last-child { border-bottom: 0; padding-bottom: 0; margin-bottom: 0; }
.sv-timeline .sv-entry::before { content: ''; position: absolute; left: -27px; top: 7px; width: 7px; height: 7px; background: #7594b6; border: 2px solid #fff; border-radius: 50%; }
.sv-entry-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.sv-entry-meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; color: #7b889a; font-size: 12px; line-height: 1.7; }
.sv-entry-body { margin: 12px 0 0; font-size: 16px; line-height: 1.9; white-space: pre-wrap; overflow-wrap: anywhere; }
.sv-issue { padding-left: 16px; border-left: 2px solid #cf8a56; }
.sv-issue-status { color: #a65b28; }
.sv-issue.is-resolved { border-left-color: #83a58e; }
.sv-issue.is-resolved .sv-issue-status { color: #568165; }
.sv-issue.is-resolved .sv-entry-body { color: #6e7b8b; }
.sv-section-empty { margin: 0; color: #8b96a5; font-size: 13px; line-height: 1.8; }
.sv-completion strong { display: inline-block; font-size: 14px; margin-right: 14px; }
.sv-completion time { font-size: 12px; color: #7b889a; }
.sv-completion p { margin: 12px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14px; line-height: 1.9; color: #67758a; }
.sv-document-footer { padding: 18px 32px; color: #8b96a5; font-size: 12px; }
.sv-overdue { color: #b4453d; }
.sv-priority { color: #53647a; }.sv-priority-URGENT { color: #af6b20; }.sv-priority-CRITICAL { color: #b4453d; font-weight: 600; }
.sv-report-scroll { overflow-x: auto; }
.sv-report-table { table-layout: fixed; width: 100%; min-width: 2200px; }
.sv-report-table th { white-space: nowrap; }
.sv-report-table td { vertical-align: top; white-space: normal; overflow-wrap: anywhere; line-height: 1.65; }
.sv-report-table .sv-table-summary { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; white-space: pre-wrap; }
.sv-report-table th:nth-child(1) { width: 55px; }.sv-report-table th:nth-child(2) { width: 260px; }.sv-report-table th:nth-child(3) { width: 120px; }.sv-report-table th:nth-child(4) { width: 100px; }.sv-report-table th:nth-child(5) { width: 140px; }.sv-report-table th:nth-child(6) { width: 260px; }.sv-report-table th:nth-child(7) { width: 80px; }.sv-report-table th:nth-child(8),.sv-report-table th:nth-child(9) { width: 140px; }.sv-report-table th:nth-child(10),.sv-report-table th:nth-child(11),.sv-report-table th:nth-child(12),.sv-report-table th:nth-child(13) { width: 180px; }.sv-report-table th:last-child { width: 75px; }
.sv-load-more { margin-top: 18px; }
@media (max-width: 1100px) { .sv-facts { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) {
  .sv-document { margin-top: 0; border: 0; }
  .sv-document-header { padding: 22px 18px; }.sv-document h1 { font-size: 21px; margin: 14px 0 10px; }
  .sv-section-nav { padding: 0 18px; gap: 20px; }.sv-document-section { padding: 24px 18px; scroll-margin-top: 65px; }
  .sv-section-heading { gap: 8px; margin-bottom: 20px; }.sv-section-heading h2 { font-size: 16px; gap: 8px; }.sv-section-heading h2 small { font-size: 11px; }
  .sv-facts > div { padding: 14px 12px 14px 0; }.sv-facts dd { font-size: 15px; }.sv-entry-heading { align-items: flex-start; flex-wrap: wrap; }
  .sv-document-footer { padding: 18px; line-height: 1.8; }.sv-document .btn { min-height: 32px; font-size: 12px; padding: 6px 10px; }
  .sv-document .sv-entry-body, .sv-document .sv-description p { font-size: 15px; }.page.solo:has(.sv-document) { padding: 0; background: #fff; }
}

/* Keep short report values on a single line; the report scrolls horizontally. */
.sv-report-table td:nth-child(1),
.sv-report-table td:nth-child(n+3):nth-child(-n+9) { white-space: nowrap; overflow-wrap: normal; }
.sv-report-table td:nth-child(n+3):nth-child(-n+5) .sv-table-summary,
.sv-responsibility { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sv-responsibility .sub { display: inline; margin-left: 12px; white-space: nowrap; }

.sv-no-progress { margin-top: 4px; color: #7a8798; font-size: 13px; line-height: 1.6; white-space: nowrap; }
.sv-no-progress-stale { color: #dc2626; font-weight: 600; }
.pill.st-OVERDUE { color: #fff; background: #dc2626; border-color: #dc2626; }
.tab.st-OVERDUE, .tab.on.st-OVERDUE, .tab.st-OVERDUE .count, .tab.on.st-OVERDUE .count { color: #dc2626; }
.tab.on.st-OVERDUE::after { background: #dc2626; }
.chip[data-status="OVERDUE"] { color: #dc2626; }
.chip[data-status="OVERDUE"].on { color: #dc2626; border-bottom-color: #dc2626; }
