:root {
  --blue: #5b25e8;
  --blue-deep: #243247;
  --teal: #168778;
  --teal-deep: #116b60;
  --ink: #243247;
  --body: #4b556b;
  --muted: #526277;
  --line: #e1e5f0;
  --pale: #f5f7fa;
  --white: #fff;
  --shadow: 0 16px 48px rgb(35 48 90 / 8%);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--body); background: #fafbff; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; line-height: 1.55; }
button, input, select { font: inherit; }
a { color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid var(--teal-deep); outline-offset: 3px; }
.container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.skip-link { position: absolute; z-index: 10; top: -100px; left: 16px; padding: 10px 16px; color: #fff; background: var(--blue); }
.skip-link:focus { top: 12px; }

.site-header { background: #fff; border-bottom: 1px solid #e8ebf3; }
.header-inner { min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.brand { display: inline-flex; align-items: center; flex-shrink: 0; gap: 18px; text-decoration: none; color: var(--blue); }
.brand img { display: block; width: 171px; height: auto; }
.brand-divider { display: block; height: 30px; width: 1px; background: #d8deed; }
.brand-label { font-weight: 700; font-size: 18px; letter-spacing: -.03em; }
.site-nav { display: flex; flex-wrap: wrap; align-items: center; gap: clamp(16px, 2.7vw, 38px); }
.site-nav a { padding: 10px 0; text-decoration: none; font-size: 14px; font-weight: 650; color: #485371; border-bottom: 2px solid transparent; white-space: nowrap; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: var(--blue); border-bottom-color: var(--teal); }

/* Saved view links should open with the navigation bar visible. */
.view { scroll-margin-top: 100vh; }

.hero-wrap { overflow: hidden; background: radial-gradient(circle at 88% 20%, #e5f8f5 0, transparent 27%), linear-gradient(110deg, #f4f6ff, #f9fbff 64%, #f3f9ff); border-bottom: 1px solid #e9edf8; }
.hero { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr); align-items: center; gap: 7%; padding-block: 55px 62px; }
.eyebrow, .overline { margin: 0 0 18px; color: var(--teal-deep); font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.eyebrow-line { display: inline-block; vertical-align: middle; width: 24px; height: 2px; margin-right: 9px; background: var(--teal); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--blue-deep); line-height: 1.16; }
.hero h1 { font-size: clamp(42px, 5vw, 68px); letter-spacing: -.055em; margin-bottom: 18px; }
.hero h1 span { color: var(--teal-deep); }
.hero-description { max-width: 620px; color: #4d5874; font-size: clamp(17px, 1.7vw, 20px); line-height: 1.55; margin-bottom: 24px; }
.hero-action { margin-bottom: 20px; text-decoration: none; }
.hero-action:hover { color: #fff; }
.privacy-note { display: inline-flex; align-items: center; gap: 10px; color: #3b5272; font-size: 13px; font-weight: 550; }
.privacy-icon { display: inline-grid; place-items: center; flex: 0 0 23px; width: 23px; height: 23px; border-radius: 50%; color: var(--teal-deep); background: #d9f3ef; font-weight: 800; }
.hero-aside { position: relative; padding: 28px 32px; border: 1px solid #edf0f8; border-radius: 20px; background: #fff; box-shadow: var(--shadow); }
.hero-aside::after { content: ""; position: absolute; inset: 14px -12px -14px 12px; z-index: -1; border-radius: 22px; background: #e5f2fa; }
.journey-top { display: flex; align-items: center; gap: 10px; padding-bottom: 16px; border-bottom: 1px solid var(--line); color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.journey-symbol { color: var(--teal); font-size: 23px; line-height: 1; }
.journey-list { margin: 0; padding: 5px 0 0; list-style: none; }
.journey-list li { display: flex; align-items: baseline; gap: 19px; padding-top: 23px; }
.journey-number { color: var(--teal-deep); font-size: 13px; font-weight: 800; }
.journey-list strong { display: block; color: var(--blue-deep); font-size: 15px; }
.journey-list small { display: block; margin-top: 2px; color: var(--muted); font-size: 13px; }

.content-grid { display: grid; grid-template-columns: minmax(0, 1.56fr) minmax(245px, .64fr); gap: 28px; align-items: start; padding-block: 55px 70px; }
.form-card, .guidance-card, .choice-card, .empty-card, .instruction-grid li, .notice-card { background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 8px 30px rgb(35 48 90 / 4%); }
.form-card { padding: clamp(24px, 4vw, 46px); }
.step-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 25px; }
.step-pill { padding: 6px 10px; border-radius: 5px; color: var(--teal-deep); background: #e1f6f3; font-size: 10px; font-weight: 800; letter-spacing: .11em; }
.step-rule { flex: 1; height: 1px; background: var(--line); }
.step-count { color: var(--muted); font-size: 12px; white-space: nowrap; }
.form-card h2, .choice-section h2 { margin-bottom: 8px; font-size: clamp(27px, 3vw, 34px); letter-spacing: -.04em; }
.section-intro { max-width: 650px; margin-bottom: 30px; color: #65708a; font-size: 15px; }
.field { margin-bottom: 23px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field label { display: block; margin-bottom: 9px; color: var(--ink); font-size: 13px; font-weight: 750; }
.field .field-label { display:block; margin-bottom:9px; color:var(--ink); font-size:13px; font-weight:750; }
.field .field-label span { color:#c44955; }
.partner-kind-choice { display:flex; flex-wrap:wrap; gap:9px; margin:0 0 15px; }
.field .partner-kind-choice label { display:flex; align-items:center; gap:9px; margin:0; padding:10px 13px; border:1px solid #cfd6e7; border-radius:9px; background:#fff; font-size:13px; cursor:pointer; }
.field .partner-kind-choice label:has(input:checked) { border-color:var(--teal); background:#edf9f7; color:var(--ink); }
.field .partner-kind-choice input { width:16px; height:16px; margin:0; padding:0; accent-color:var(--teal); }
.field label span { color: #c44955; }
.field input, .field select { width: 100%; height: 50px; padding: 0 14px; color: var(--ink); background: #fff; border: 1px solid #cfd6e7; border-radius: 8px; font-size: 14px; }
.field input::placeholder { color: #9aa3b6; }
.field input:hover, .field select:hover { border-color: #8d99b8; }
.field input[aria-invalid="true"], .field select[aria-invalid="true"] { border-color: #b33b4b; background: #fffafa; }
.field-help { margin: 6px 0 0; color: var(--muted); font-size: 12px; }
.preview-notice { margin-bottom: 24px; padding: 13px 15px; color: #69531c; background: #fff8e6; border: 1px solid #f1dea4; border-radius: 8px; font-size: 13px; }
.preview-notice:empty { display: none; }
.form-message { padding: 11px 14px; color: #922d3b; background: #fff1f2; border-radius: 8px; font-size: 13px; }
.form-message[role="status"] { color:#2a418d; background:#edf2ff; }
.form-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 22px; border-top: 1px solid var(--line); }
.form-footer > span { color: var(--muted); font-size: 12px; }
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 30px; padding: 12px 19px; border: 1px solid transparent; border-radius: 8px; font-weight: 750; font-size: 14px; }
.button-primary { color: #fff; background: var(--blue); }
.button-primary:hover { background: var(--blue-deep); }
.button:disabled { cursor: not-allowed; opacity: .48; }
.guidance-card { padding: 27px; border-top: 4px solid var(--teal); }
.guidance-icon { display: inline-grid; place-items: center; width: 35px; height: 35px; margin-bottom: 22px; color: var(--teal-deep); background: #e1f6f3; border-radius: 10px; font-weight: 800; font-style: normal; }
.guidance-card h2 { margin-bottom: 13px; font-size: 21px; letter-spacing: -.035em; }
.guidance-card p { margin-bottom: 0; font-size: 14px; line-height: 1.65; }
.guidance-divider { height: 1px; margin-block: 23px; background: var(--line); }
.guidance-card .guidance-small { color: var(--muted); font-size: 13px; }
#contributor-title { scroll-margin-top: 22px; }

.choice-section { padding-bottom: 80px; scroll-margin-top: 25px; }
.choice-section .step-heading { max-width: 810px; }
.choice-section .overline { margin-bottom: 8px; }
.choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 23px; }
.choice-card { min-height: 230px; padding: 27px; border-top: 4px solid var(--teal); }
.choice-card:nth-child(2) { border-top-color: var(--blue); }
.choice-mark { color: var(--teal-deep); font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.choice-card:nth-child(2) .choice-mark { color: var(--blue); }
.choice-card h3 { margin: 18px 0 10px; font-size: 24px; letter-spacing: -.04em; }
.choice-card p { margin-bottom: 21px; font-size: 14px; }
.choice-button { display: inline-flex; align-items: center; gap: 12px; padding: 7px 0; color: var(--blue); background: transparent; border: 0; font-size: 13px; font-weight: 800; }
.choice-button:hover { text-decoration: underline; }
.choice-button[aria-pressed="true"] { color: var(--teal-deep); }
.selection-message { max-width: none; width:100%; padding: 14px 17px; color: #12675e; background: #eaf8f4; border: 1px solid #a9dcd0; border-radius: 8px; font-size: 13px; }
.text-button { padding: 8px 0; border: 0; color: var(--blue); background: transparent; font-weight: 700; }
.text-button:hover { text-decoration: underline; }

.secondary-view { min-height: 68vh; padding-block: 82px 100px; }
.secondary-view h1 { max-width: 780px; margin-bottom: 16px; font-size: clamp(40px, 5vw, 64px); letter-spacing: -.055em; }
.secondary-lead { max-width: 720px; margin-bottom: 46px; color: #5b6882; font-size: 18px; }
.empty-card { max-width: 750px; padding: 42px; }
.empty-symbol { display: inline-grid; place-items: center; width: 54px; height: 54px; margin-bottom: 18px; color: var(--teal-deep); background: #e1f6f3; border-radius: 15px; font-size: 42px; line-height: 1; }
.empty-card h2 { margin-bottom: 9px; font-size: 25px; }
.empty-card p { max-width: 570px; margin-bottom: 0; }
.instruction-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 0 0 32px; padding: 0; list-style: none; }
.instruction-grid li { padding: 29px; }
.instruction-grid li > span { color: var(--teal-deep); font-weight: 800; font-size: 13px; }
.instruction-grid h2 { margin: 24px 0 10px; font-size: 21px; }
.instruction-grid p { margin-bottom: 0; font-size: 14px; }
.notice-card { max-width: 780px; padding: 20px 24px; background: #f2f6ff; }
.notice-card strong { color: var(--blue); }
.notice-card p { margin: 5px 0 0; font-size: 14px; }
.site-footer { background: var(--blue-deep); color: #dbe2ff; }
.footer-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; padding-block: 24px; font-size: 12px; }

/* Reporting forms */
.report-workspace { padding-bottom: 74px; scroll-margin-top: 25px; }
.workspace-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.workspace-heading .overline { margin-bottom: 5px; }
.workspace-heading h2 { margin-bottom: 0; font-size: clamp(30px, 3.4vw, 42px); letter-spacing: -.045em; }
.report-workspace > .preview-notice { margin-bottom: 22px; }
.report-workspace .form-card { margin-bottom: 22px; }
.report-form h3, #task-picker h3 { margin-bottom: 9px; font-size: clamp(24px, 2.5vw, 32px); letter-spacing: -.04em; }
.report-form > p { max-width: 760px; }
.task-meta { color: var(--teal-deep); font-weight: 700; font-size: 13px; }
.task-description { margin: 21px 0; padding: 17px 20px; background: var(--pale); border-radius: 10px; }
.task-description summary { color: var(--blue); font-weight: 750; cursor: pointer; }
.task-description .agreement-text { margin: 18px 0; }
.task-description small { color: var(--muted); }
.task-list { display: grid; gap: 12px; }
.report-dates { max-width: 670px; }
.timeline-header { display: flex; justify-content: space-between; gap: 12px; margin: 24px 0 10px; color: var(--blue-deep); font-size: 14px; }
.timeline-header span { color: var(--muted); font-size: 12px; }
.project-timeline { display: grid; gap: 9px; margin-bottom: 20px; overflow-x: auto; }
.timeline-year { display: grid; grid-template-columns: 52px minmax(500px, 1fr); gap: 8px; align-items: center; }
.timeline-year-label { color: var(--muted); font-size: 12px; }
.timeline-months { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 3px; }
.timeline-month { min-width: 0; padding: 5px 1px; color: var(--muted); background: #f3f6fb; border: 1px solid #dce2ef; border-radius: 5px; font-size: 10px; cursor: pointer; touch-action: none; user-select: none; }
.timeline-month span, .timeline-month small { display: block; line-height: 1.35; }
.timeline-month small { font-size: 9px; }
.timeline-month:hover { border-color: #139a83; }
.timeline-month.is-in-range { color: #12675e; background: #eaf8f4; border-color: #a9dcd0; font-weight: 750; }
#task-month-summary { width:100%; max-width:none; margin:10px 0 18px; padding:10px 13px; }
.selected-summary { margin: 10px 0 24px; color: #12675e; font-weight: 700; font-size: 13px; }
.task-package { padding: 19px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.task-package h4 { margin: 0; color: var(--blue-deep); font-size: 20px; }
.task-package-meta { margin: 7px 0 14px; color: var(--blue-deep); font-size: 14px; font-weight: 650; }
.wp-objectives { margin: 8px 0 18px; padding: 12px 15px; background: var(--pale); border-radius: 8px; }
.wp-objectives summary { color: var(--blue); cursor: pointer; font-weight: 700; font-size: 13px; }
.agreement-text { margin-top: 13px; overflow-wrap: break-word; font-size: 13px; line-height: 1.65; }
.agreement-text .agreement-block { margin: 0 0 11px; text-align: justify; text-align-last: left; }
.agreement-text .agreement-participants { margin: 0 0 13px; padding: 10px 12px; background: #eef4f8; border-radius: 7px; line-height: 1.55; }
.agreement-text .agreement-subhead { margin: 15px 0 8px; color: var(--blue-deep); font-size: 13px; }
.task-package .task-card + .task-card { margin-top: 11px; }
.task-card { padding: 19px 21px; border: 1px solid var(--line); border-radius: 11px; background: #f9fbff; }
.task-card.is-completed { border-color: var(--teal); background: #f4fbf9; }
.task-card.is-no_work { border-color: #ad94d6; background: #f5f0fb; }
.task-card.is-draft { border-color: #d8c593; background: #fffdf7; }
.task-state { display: inline-block; margin: 0; padding: 5px 10px; border-radius: 99px; color: #6c5709; background: #fff0c6; font-size: 12px; font-weight: 750; }
.task-state.is-completed { color: var(--teal-deep); background: #dff4f0; }
.task-state.is-no_work { color: #5d3d89; background: #e9dcf8; }
.task-card strong { display: block; color: var(--blue-deep); font-size: 18px; }
.task-card-head { display:flex; align-items:start; justify-content:space-between; gap:16px; }
.task-card-title-group { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; min-width:0; }
.task-card-head strong { max-width:none; }
.task-card-tools { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px 14px; }
.task-import-button { min-height:35px; padding:7px 11px; font-size:12px; white-space:nowrap; }
.task-pdf-link { flex:0 0 auto; padding:5px 2px; background:none; border:0; color:var(--blue); font-size:12px; font-weight:700; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.task-pdf-link:hover { color:var(--teal-deep); }
.task-card p { margin: 7px 0 14px; font-size: 13px; }
.task-card small { display: block; color: var(--teal-deep); font-weight: 700; }
.task-card .task-timing-note { color: var(--muted); font-size: 12px; }
.task-card-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top:16px; padding-top:14px; border-top:1px solid var(--line); }
.task-card-actions .button { min-height: 38px; padding: 8px 11px; font-size: 12px; font-weight:700; }
.task-card-actions .task-state { margin:0 4px; }
.button-quiet { color:var(--blue); background:transparent; border-color:transparent; }
.button-quiet:hover { color:var(--blue-deep); background:#e9eef8; border-color:#e9eef8; }
.task-overview-description { margin: 12px 0 0; }
.task-overview-description summary { cursor:pointer; color:var(--blue); font-size:13px; font-weight:700; }
.task-overview-description .agreement-text { padding:12px 14px; background:#fff; border:1px solid var(--line); border-radius:8px; }
.task-card .task-outcome-short { padding: 10px 12px; background: #edf5ff; border-radius: 8px; }
.task-card .task-chosen-coverage { color: var(--teal-deep); font-weight: 750; }
.task-card .task-date-warning { color: #9a4d12; font-weight: 700; }
.wp-leader-section { margin-top:30px; padding-top:25px; border-top:2px solid var(--line); }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:16px; }
.section-heading h3 { margin:5px 0 0; color:var(--blue-deep); }
.section-heading p:last-child { max-width:430px; margin:0; color:var(--muted); font-size:13px; }
#wp-leader-list { display:grid; gap:12px; }
.wp-leader-card { padding:20px; background:#f6f8fd; border:1px solid var(--line); border-radius:11px; }
.wp-leader-card h4 { margin:0 0 7px; color:var(--blue-deep); font-size:18px; }
.wp-leader-meta { margin:0 0 10px; color:var(--blue); font-size:13px; font-weight:650; }
.wp-leader-card .wp-objectives { margin-bottom:12px; }
.leadership-note { padding:13px 16px; background:#edf5ff; border-left:3px solid var(--blue); border-radius:7px; font-size:13px; }
.wp-task-row { margin:12px 0; padding:18px; background:#f8faff; border:1px solid var(--line); border-radius:10px; }
.wp-task-row h5 { margin:0 0 5px; color:var(--blue-deep); font-size:15px; }
.wp-task-meta { margin:0 0 8px; color:var(--muted); font-size:12px; }
.wp-task-row .field { margin-top:13px; }
.wp-task-row select { width:100%; max-width:260px; }
.editor-top-back { margin-bottom:18px; font-size:14px; font-weight:750; }
.editor-top-actions { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px 20px; margin-bottom:18px; }
.editor-top-actions .editor-top-back { margin-bottom:0; }
.task-context-line { margin:0 0 12px; line-height:1.6; }
.task-context-line .role-badge { margin-left:4px; vertical-align:middle; }
#task-form-title { margin:0 0 8px; }
.role-badge { display:inline-flex; align-items:center; width:max-content; padding:5px 10px; border-radius:99px; font-size:11px; font-weight:800; letter-spacing:.02em; white-space:nowrap; }
.role-badge.is-leader { color:#16695f; background:#d9f3ee; border:1px solid #a7ded4; }
.role-badge.is-participant { color:#424a9a; background:#eaecfb; border:1px solid #cfd4f4; }
.task-description[open] + .outcome-banner { display:none; }
.task-setup-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:12px; margin:14px 0 22px; }
.task-import-card,.task-dates-inline { min-width:0; padding:15px 17px; border-radius:9px; }
.task-import-card { display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:13px; border:1px solid #d7cbea; background:#f7f4fc; }
.task-import-card strong,.task-dates-heading strong { color:var(--ink); font-size:13px; }
.task-import-card p { margin:5px 0 0; color:#526077; font-size:12px; line-height:1.5; }
.task-import-card .button { min-height:38px; padding:8px 12px; font-size:12px; }
.task-dates-inline { border:1px solid #d8cfeb; background:#faf8ff; }
.task-dates-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 10px; margin-bottom:12px; }
#task-coverage { display:inline-flex; padding:4px 9px; border-radius:99px; background:#eee7fb; color:#4c2c85; font-size:11px; font-weight:750; line-height:1.3; }
.task-dates-inline .task-date-inputs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.task-dates-inline .field { min-width:0; margin-bottom:8px; }
.task-dates-inline .field label { margin-bottom:5px; font-size:11px; }
.task-dates-inline .field input { min-width:0; height:40px; padding:0 8px; font-size:12px; }
.task-months-available { margin:2px 0 7px; color:#4c2c85; font-size:11px; font-weight:700; line-height:1.4; }
.task-dates-inline small { display:block; color:#59677b; font-size:11px; line-height:1.4; }
#task-form .task-description { margin:14px 0; padding:12px 15px; }
.outcome-banner { padding: 13px 15px; background: #edf5ff; border-left: 4px solid var(--blue); border-radius: 8px; font-size: 13px; }
.coverage-banner { padding: 11px 13px; color: var(--blue-deep); background: #f4f7fd; border-radius: 7px; font-size: 13px; }
.task-editor-actions { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-top: 22px; border-top: 1px solid var(--line); }
.task-editor-actions p { max-width: 430px; margin: 0; color: var(--muted); font-size: 12px; }
.task-editor-buttons { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.task-editor-buttons #back-from-task { margin-right:auto; }
.task-editor-buttons .button { min-height: 39px; padding: 8px 11px; font-size: 12px; }
.task-save-tools { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; margin:20px 0 18px; padding:17px; border:1px solid #c9d6ef; border-radius:10px; background:#f2f5ff; }
.task-save-tools strong { color:var(--blue-deep); font-size:13px; }
.task-save-tools p { margin:4px 0 0; color:var(--muted); font-size:12px; }
.task-save-buttons { display:flex; flex-wrap:wrap; gap:8px; }
.task-save-buttons .button { min-height:38px; padding:8px 11px; font-size:12px; }
dialog#individual-pdf-dialog { width: min(100% - 32px, 540px); max-height: min(90vh, 680px); padding: 0; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 24px 75px #14235d55; }
dialog#individual-pdf-dialog::backdrop { background: #101b42aa; }
.individual-pdf-content { padding: 28px; }
.individual-pdf-content h2 { margin: 6px 0 15px; color: var(--blue-deep); }
.individual-pdf-content p { line-height: 1.55; }
#download-individual-pdf[aria-disabled="true"] { opacity: .55; pointer-events: none; }
.out-of-range { background: #fff8e6; }
.outside-row { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid var(--line); font-size: 13px; }
.revision-card { padding-block: 17px !important; }
.revision-card .field { max-width: 420px; margin-bottom: 0; }
.revision-card input { max-width: 120px; }
.task-empty { padding: 20px; background: #fff8e6; border-radius: 9px; }
.three-columns { grid-template-columns: .8fr 1fr 1fr; }
.field textarea { width: 100%; padding: 13px 14px; color: var(--ink); background: #fff; border: 1px solid #cfd6e7; border-radius: 8px; font-size: 14px; resize: vertical; }
.field textarea:hover { border-color: #8d99b8; }
.field textarea[aria-invalid="true"] { border-color: #b33b4b; background: #fffafa; }
fieldset.field { margin-inline: 0; padding: 0; border: 0; }
fieldset.field legend { margin-bottom: 8px; color: var(--ink); font-size: 13px; font-weight: 750; }
.radio-row { display: flex; flex-wrap: wrap; gap: 10px; }
.radio-row label { display: inline-flex; align-items: center; gap: 8px; min-width: 85px; padding: 10px 13px; border: 1px solid #cfd6e7; border-radius: 8px; color: var(--ink); font-weight: 500; }
.radio-row label:has(input:checked) { border-color: var(--teal-deep); background: #e8f7f5; }
.radio-row input, .check-label input { width: 16px; height: 16px; min-width: 16px; margin: 0; padding: 0; border: 0; accent-color: var(--blue); }
.compact-radios { gap: 8px; }
.compact-radios label { min-width: 70px; padding: 8px 11px; font-size: 13px; }
.conditional { margin: 9px 0 25px; padding: 20px 20px 1px; border-left: 3px solid var(--teal); background: #f7fbfc; }
.conditional.field { padding-bottom: 19px; }
.check-label { display: inline-flex !important; align-items: center; gap: 9px; margin-top: 9px; color: var(--ink); font-size: 13px; font-weight: 600; }
.check-label input { width: 17px; height: 17px; }
.event-entry { margin-bottom: 16px; padding: 18px 18px 1px; background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.event-entry-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 13px; }
.event-entry-top strong { color: var(--blue); }
.draft-actions { display: grid; gap: 17px; margin: 24px 0 0; padding: 24px; background: #eff9f7; border: 1px solid #b9dcd7; border-radius: 14px; }
.draft-actions strong { color: var(--teal-deep); font-size: 17px; }
.draft-actions p { margin: 4px 0 0; font-size: 13px; }
.draft-buttons { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; }
.draft-choice { display:grid; align-content:start; gap:7px; padding:12px; border:1px solid #d0e6e1; border-radius:10px; background:#fff; }
.draft-choice .button { width:100%; }
.draft-choice small { color:#4d6271; font-size:11px; line-height:1.4; }
.draft-dialog-actions { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0 15px; }
.button-secondary { color: var(--blue); background: #fff; border-color: #cdd5e8; }
.button-secondary:hover { background: #f1f4fc; }
.draft-buttons .button { min-height: 40px; padding: 8px 12px; font-size: 12px; }
.overview-import { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px; margin:0 0 20px; padding:16px 18px; background:#f3f7fd; border:1px solid var(--line); border-radius:10px; }
.overview-import > div { flex:1 1 520px; min-width:0; }
.overview-import strong { color:var(--blue-deep); }
.overview-import p { margin:4px 0 0; color:var(--muted); font-size:12px; }
.overview-import .button { flex:0 0 auto; }
.overview-import .form-message { flex-basis:100%; margin:0; }
.overview-import.is-prominent { background:linear-gradient(115deg,#e8edff,#f5f7ff); border:2px solid #849be1; box-shadow:0 7px 20px rgba(30,75,125,.09); }
.overview-import.is-prominent strong { font-size:17px; }
.report-extra-section { margin-top:28px; padding:22px; border:1px solid #d3dcf0; border-radius:14px; background:#f8faff; }
.report-extra-section .section-heading { margin-bottom:16px; }
.extra-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.extra-form-grid .field { display:grid; gap:5px; }
.extra-months { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0; }
.extra-months > strong { width:100%; color:var(--blue-deep); font-size:13px; }
.extra-months label { display:flex; align-items:center; gap:5px; padding:6px 8px; border:1px solid #d0dce6; border-radius:8px; background:white; font-size:12px; }
.extra-months label { flex:0 0 auto; min-width:0; white-space:nowrap; cursor:pointer; }
.extra-months input[type="checkbox"] { flex:0 0 16px; width:16px; min-width:16px; height:16px; margin:0; padding:0; accent-color:#6431cf; }
.extra-add-actions { display:flex; flex-wrap:wrap; gap:9px; }
.extra-pick-option:has(input:checked) { background:#f2eafd; color:#42217c; }
.count-field .required-mark { color:#694ab3; font-weight:800; }
.count-field.is-invalid .required-mark,.field-error-indicator { color:#a4203b; }
.field-error-indicator { margin:7px 0 0; font-size:12px; font-weight:700; }
.count-field.is-invalid input[type="number"] { border-color:#b33b4b; background:#fffafa; }
.count-field.is-invalid .check-label { color:#922846; }
.comm-question.field { margin:0 0 18px; padding:12px 14px 14px; border:1px solid #e1dced; border-radius:10px; background:#fff; }
.comm-question.field legend { padding:0 5px; margin-bottom:9px; }
.comm-question .required-mark { color:#694ab3; font-weight:800; }
.comm-question.is-invalid { border-color:#ca6178; background:#fff5f7; box-shadow:inset 4px 0 #b43c57; }
.comm-question.is-invalid legend,.comm-question.is-invalid .required-mark { color:#922846; }
.comm-question.is-invalid .radio-row label { border-color:#dfa4b1; background:#fff; }
.extra-month-timeline { margin:12px 0 6px; }
.extra-month-timeline .timeline-month:disabled { color:#9ca5b7; background:#f5f6f9; border-color:#e8eaf1; cursor:not-allowed; opacity:.55; }
.extra-month-status { margin:5px 0 0; color:#594383; font-size:12px; font-weight:700; }
.individual-download-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:22px 0 17px; }
.individual-download-options > div { min-width:0; padding:12px; border:1px solid #ddd4f1; border-radius:10px; background:#faf8ff; }
.individual-download-options .button { display:flex; align-items:center; justify-content:center; width:100%; min-height:43px; text-align:center; }
.individual-download-options small { display:block; margin-top:8px; color:var(--muted); font-size:11px; line-height:1.4; text-align:center; }
.individual-download-close { margin-top:2px; }
@media (max-width:600px) { .individual-download-options { grid-template-columns:1fr; } }
.extra-entry { display:grid; gap:5px; padding:12px 14px; margin:8px 0; border:1px solid #d3e2e2; border-radius:9px; background:#fff; }
.extra-entry strong { color:var(--blue-deep); }
.extra-entry p { margin:0; white-space:pre-wrap; }
.extra-entry .text-button { justify-self:start; }
.extra-report-card { margin:10px 0; }
.extra-report-card .extra-preview { color:var(--muted); white-space:pre-wrap; }
.extra-picker { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:14px 0; }
.extra-pick-group { border:1px solid #cbd9ec; border-radius:10px; background:#fff; overflow:hidden; }
.extra-pick-group > summary { padding:12px 15px; color:var(--blue-deep); font-size:13px; font-weight:800; cursor:pointer; background:#eef3fc; }
.extra-other-content { padding:12px 14px 14px; }
.extra-other-content p { margin:0 0 12px; color:var(--muted); font-size:12px; line-height:1.5; }
.extra-other-content .button { width:100%; white-space:normal; }
@media (max-width:950px) { .extra-picker { grid-template-columns:1fr; } }
.extra-pick-options { max-height:250px; overflow:auto; padding:8px; }
.extra-pick-option { display:flex; align-items:flex-start; gap:8px; padding:7px 8px; border-radius:7px; color:#354765; font-size:12px; line-height:1.4; cursor:pointer; }
.extra-pick-option:hover,.extra-pick-option:has(input:checked) { background:#eaf5f3; }
.extra-pick-option input { flex:0 0 auto; width:16px; height:16px; margin:1px 0 0; accent-color:var(--teal-deep); }
.extra-edit-months { padding:13px; border:1px solid #d0dce6; border-radius:9px; }
.extra-edit-months legend { padding:0 5px; color:var(--blue-deep); font-size:13px; font-weight:700; }
.kpi-report-list { display:grid; gap:12px; margin:18px 0; }
.kpi-context { margin:18px 0; }
.kpi-context-title,.kpi-measure-heading { margin:0 0 12px; color:var(--blue-deep); font-size:15px; }
.kpi-context-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.kpi-context-card { min-width:0; border:1px solid #c9dfdc; border-radius:10px; background:#fff; }
.kpi-context-card[open] { border-color:#39a99a; box-shadow:0 7px 20px #0876691b; }
.kpi-context-card summary { display:grid; grid-template-columns:30px 1fr; gap:2px 10px; align-content:start; min-height:84px; padding:13px; cursor:pointer; list-style:none; }
.kpi-context-card summary::-webkit-details-marker { display:none; }
.kpi-context-number { grid-row:span 2; display:grid; place-items:center; width:28px; height:28px; border-radius:7px; background:#e5f5f1; color:#087669; font-size:11px; font-weight:900; }
.kpi-context-card summary strong { color:var(--blue-deep); font-size:12px; line-height:1.3; }
.kpi-context-card summary small { color:#687893; font-size:10px; font-weight:700; }
.kpi-context-body { padding:0 13px 14px; font-size:11px; line-height:1.5; }
.kpi-context-body p { margin:8px 0; }
.kpi-context-body small,.kpi-call-row-body small { display:block; margin:10px 0 6px; color:#64748c; font-weight:700; }
.kpi-context-actions { display:flex; flex-wrap:wrap; gap:6px; }
.kpi-context-actions .button { padding:6px 8px; font-size:10px; }
.kpi-call-context { margin:18px 0 24px; border:1px solid #d1dcf0; border-radius:10px; background:#fff; }
.kpi-call-context > summary { padding:13px 16px; color:var(--blue-deep); background:#edf2ff; font-size:12px; font-weight:800; cursor:pointer; }
.kpi-call-row { border-top:1px solid #e6ebf5; }
.kpi-call-row summary { padding:10px 16px; color:#374c70; font-size:11px; font-weight:700; cursor:pointer; }
.kpi-call-row-body { padding:0 16px 13px; font-size:11px; }
.kpi-call-row-body strong { display:block; margin-top:8px; color:#087669; }
.kpi-call-row-body p { margin:3px 0 8px; }
.kpi-report-group { border:1px solid #d4def1; border-radius:11px; background:#fff; overflow:hidden; }
.kpi-report-group > summary { padding:14px 17px; color:var(--blue-deep); background:#edf2ff; font-weight:800; cursor:pointer; }
.kpi-report-rows { display:grid; gap:0; }
.kpi-report-row { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:13px 17px; border-top:1px solid #e6ebf5; }
.kpi-report-identity { display:grid; gap:3px; }
.kpi-report-identity strong { color:var(--blue-deep); font-size:13px; }
.kpi-report-identity small { color:var(--muted); font-size:11px; }
.kpi-report-row .button { flex:0 0 auto; font-size:11px; padding:7px 10px; }
.kpi-editor { margin-top:18px; padding:22px; border:1px solid #9caee7; border-top:4px solid var(--blue); border-radius:11px; background:linear-gradient(180deg,#f7f9ff,#fff 130px); box-shadow:0 12px 28px rgba(25,50,100,.08); }
.kpi-editor h4 { margin:5px 0 15px; color:var(--blue-deep); font-size:19px; }
.kpi-editor-head { display:flex; justify-content:space-between; align-items:start; gap:12px; margin-bottom:16px; }
.kpi-editor-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.status-available { display:block; margin:4px 0 0; color:var(--muted); font-size:12px; }
.import-entry-list { display:grid; gap:9px; max-height:280px; overflow:auto; margin:18px 0; }
.import-entry-list label { display:flex; align-items:center; gap:10px; padding:10px; border:1px solid var(--line); border-radius:8px; }
.import-entry-list input { flex:0 0 auto; }
.file-label { cursor: pointer; }
.action-message { width: 100%; color: var(--teal-deep); font-weight: 650; }
.form-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:18px; margin-top:20px; padding:20px 22px; background:#f4f7fd; border:1px solid var(--line); border-radius:12px; }
.form-actions .form-message { grid-column:1/-1; margin:0; }
.review-readiness { display:flex; flex-direction:column; gap:10px; grid-column:1/-1; }
.status-grid { display:grid; gap:8px; }
.status-row { display:grid; gap:10px; padding:13px 15px; background:#fff; border:1px solid #dce4f4; border-radius:9px; }
.status-row-heading { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px; align-items:baseline; }
.status-row-heading small { color:#566a80; font-size:11px; }
.status-row-title { color:var(--blue-deep); font-size:13px; }
.status-row-metrics { display:flex; flex-wrap:wrap; gap:7px; }
.status-empty { color:var(--muted); font-size:12px; }
.status-metric { display:inline-flex; align-items:center; gap:5px; padding:6px 10px; background:#fff; border:1px solid var(--line); border-radius:8px; color:var(--ink); font-size:12px; }
.status-metric b { color:var(--blue); font-size:16px; }
.status-warning { margin:2px 0; color:#924a21; font-size:12px; }
.review-readiness small { color:var(--muted); font-size:12px; }
.revision-card { padding:0 !important; border:0; background:none; }
.revision-card .field { display:grid; grid-template-columns:115px 75px minmax(0,1fr); align-items:center; gap:10px; max-width:none; margin:0; }
.revision-card label { margin:0; }
.revision-card input { width:75px; }
.revision-card .field-help { margin:0; max-width:none; }
.review-revision { margin-top:23px; padding:14px 16px; background:#f4f7fd; border-radius:9px; }
.review-revision input { max-width:105px; }
.review-actions, .download-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.review-actions { justify-content: space-between; }
.confirmation { margin-top: 25px; padding: 15px; border: 1px solid var(--line); border-radius: 9px; }
.review-section-title { margin: 27px 0 10px; font-size: 18px; }
.review-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 22px; }
.review-item { padding: 10px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.review-item dt { color: var(--muted); font-size: 12px; font-weight: 700; }
.review-item dd { margin: 3px 0 0; color: var(--ink); font-size: 14px; white-space: pre-wrap; }
.download-buttons a { text-decoration: none; }
.next-steps { margin: 30px 0; padding-left: 23px; }
.next-steps li { margin-bottom: 10px; }

/* Approved dashboard data */
.dashboard-meta { margin-bottom: 25px; color: var(--muted); font-size: 13px; }
.dashboard-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin-bottom: 26px; }
.dashboard-kpi, .dashboard-panel { padding: 23px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.dashboard-kpi span { display: block; color: var(--muted); font-size: 13px; }
.dashboard-kpi strong { display: block; margin-top: 11px; color: var(--blue); font-size: 32px; line-height: 1; }
.dashboard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.dashboard-panel h2 { margin-bottom: 15px; font-size: 21px; }
.dashboard-panel ul { margin: 0; padding-left: 20px; }
.dashboard-panel li { margin-bottom: 8px; }
.dashboard-row { display: flex; justify-content: space-between; gap: 20px; padding: 10px 0; border-top: 1px solid var(--line); font-size: 14px; }
.dashboard-row strong { color: var(--blue); }
.progress-track { height: 10px; margin: 14px 0 4px; overflow: hidden; background: #e7ebf4; border-radius: 20px; }
.progress-fill { height: 100%; width: 0; background: var(--teal); border-radius: inherit; }

/* Agreement-backed project dashboard */
.dash-overview { margin-bottom: 40px; }
.dash-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.dash-stat,.dash-panel,.dash-kpi-item { min-width:0; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 8px 25px rgb(35 48 90 / 4%); }
.dash-stat { display:flex; flex-direction:column; min-height:155px; padding:19px; }
.dash-stat span { color:var(--muted); font-size:12px; font-weight:700; }
.dash-stat strong { margin:10px 0 8px; color:var(--blue-deep); font-size:30px; line-height:1.1; letter-spacing:-.04em; }
.dash-stat small { margin-top:auto; color:#53627d; font-size:12px; line-height:1.45; }
.dash-context-note { margin:13px 0 0; color:#596884; font-size:12px; line-height:1.55; }
.dash-section { margin:42px 0 54px; }
.dash-section-head { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:18px; }
.dash-section-head h2 { margin:0; color:var(--blue-deep); font-size:27px; letter-spacing:-.035em; }
.dash-section-head p { max-width:600px; margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.dash-controls { display:flex; flex-wrap:wrap; gap:11px; margin:0 0 17px; }
.dash-control { display:flex; flex-direction:column; gap:5px; min-width:145px; color:var(--blue-deep); font-size:12px; font-weight:750; }
.dash-control select,.dash-control input { width:100%; min-height:40px; padding:8px 10px; border:1px solid #cfd7e6; border-radius:7px; background:#fff; color:var(--ink); font:inherit; font-weight:550; }
.dash-control:has(select) { max-width:310px; }
.dash-search { flex:1 1 175px; max-width:260px; }
.dash-two-columns { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:18px; }
.dash-panel { padding:20px; }
.dash-panel h3 { margin:0 0 14px; color:var(--blue-deep); font-size:19px; }
.dash-commitment { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:13px 0; border-top:1px solid var(--line); }
.dash-commitment > div { min-width:0; }
.dash-commitment strong,.dash-commitment small { display:block; }
.dash-commitment strong { color:var(--ink); font-size:13px; line-height:1.35; }
.dash-commitment small { margin-top:4px; color:var(--muted); font-size:11px; line-height:1.4; }
.dash-pill { display:inline-flex; align-items:center; flex:0 0 auto; padding:5px 9px; border-radius:99px; border:1px solid #d6deeb; background:#f1f4f9; color:#53617a; font-size:10px; font-weight:800; white-space:nowrap; }
.dash-pill.positive { border-color:#a9dfd5; background:#e1f6f0; color:#176a5f; }
.dash-pill.watch { border-color:#e6c594; background:#fff1da; color:#8a501d; }
.dash-report-columns { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); }
.dash-detail { border-top:1px solid var(--line); }
.dash-detail summary { padding:12px 2px; color:var(--blue); cursor:pointer; font-size:13px; font-weight:750; line-height:1.4; }
.dash-detail summary:hover { color:var(--teal-deep); }
.dash-detail summary .dash-pill { margin-left:8px; vertical-align:middle; }
.dash-record-box { padding:2px 0 17px; }
.dash-record-note { margin:0 0 10px; color:var(--muted); font-size:12px; line-height:1.55; }
.dash-record-table { max-height:340px; overflow:auto; border:1px solid var(--line); border-radius:8px; }
.dash-record-line { display:grid; grid-template-columns:minmax(85px,.36fr) minmax(0,1fr); gap:12px; padding:10px 12px; border-top:1px solid var(--line); font-size:12px; }
.dash-record-line:first-child { border-top:0; }
.dash-record-line strong,.dash-record-line small { display:block; color:var(--blue-deep); }
.dash-record-line small { margin-top:3px; color:var(--muted); font-size:11px; line-height:1.35; }
.dash-record-line p { margin:0 0 4px; line-height:1.45; }
.dash-muted,.dash-empty { color:var(--muted); font-size:12px; }
.dash-risk-callout { margin-bottom:16px; padding:15px 18px; border:1px solid #ead9c5; border-radius:10px; background:#fff9f1; }
.dash-risk-callout strong { color:#81511c; }
.dash-risk-callout p { margin:5px 0 0; font-size:12px; }
.dash-risk-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.dash-risk-card { padding:16px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.dash-risk-top { display:flex; justify-content:space-between; align-items:start; gap:10px; }
.dash-risk-top strong { color:var(--blue-deep); font-size:13px; line-height:1.4; }
.dash-risk-card small { display:block; margin-top:6px; color:var(--teal-deep); font-size:11px; font-weight:750; }
.dash-risk-card p { margin:8px 0 0; color:#596780; font-size:12px; line-height:1.5; }
.dash-kpi-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.dash-kpi-item { padding:17px; }
.dash-kpi-group { color:var(--teal-deep); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.dash-kpi-item h3 { min-height:40px; margin:7px 0 12px; color:var(--blue-deep); font-size:15px; line-height:1.35; }
.dash-kpi-figures span,.dash-kpi-figures strong { display:block; }
.dash-kpi-figures span { color:var(--muted); font-size:11px; }
.dash-kpi-figures strong { margin-top:7px; color:var(--blue); font-size:15px; }
.dash-kpi-item .dash-detail { margin-top:15px; }
.dash-kpi-item .dash-detail summary { font-size:11px; }
.dash-kpi-breakdown p { margin:5px 0; font-size:11px; }
.dash-kpi-method { color:var(--muted); }
.dash-error { padding:20px; color:#8a293c; background:#fff0f2; border-radius:10px; }

/* Dashboard reading experience */
#dashboard { padding-top:48px; }
#dashboard h1 { font-size:clamp(36px,4vw,50px); margin-bottom:7px; }
#dashboard .secondary-lead { margin-bottom:25px; font-size:16px; }
#dashboard-content { scroll-margin-top:12px; }
.dash-tabs { position:sticky; top:0; z-index:8; display:flex; gap:7px; width:max-content; max-width:100%; margin-bottom:24px; padding:6px; overflow-x:auto; border:1px solid #dce4f1; border-radius:14px; background:#f5f8fd; box-shadow:0 8px 22px rgb(32 44 112 / 6%); }
.dash-tabs button { flex:0 0 auto; padding:10px 16px; border:0; border-radius:9px; background:transparent; color:#4a5876; font-size:13px; font-weight:750; white-space:nowrap; }
.dash-tabs button:hover { background:#e9eef9; color:var(--blue-deep); }
.dash-tabs button.is-active { background:var(--blue-deep); color:#fff; box-shadow:0 3px 8px rgb(32 44 112 / 18%); }
.dash-overview { margin:0; }
.dash-hero { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(215px,.7fr); gap:35px; align-items:center; min-height:216px; margin-bottom:17px; padding:30px 34px; overflow:hidden; border-radius:19px; background:radial-gradient(circle at 87% 8%,rgb(30 199 187 / 38%),transparent 27%),linear-gradient(115deg,#202b6e,#30409c 66%,#196f87); color:#fff; }
.dash-hero-kicker { margin-bottom:11px; color:#a9efe6; font-size:11px; font-weight:800; letter-spacing:.12em; }
.dash-hero h2 { max-width:580px; margin-bottom:11px; color:#fff; font-size:clamp(25px,3vw,35px); letter-spacing:-.035em; }
.dash-hero-copy > p:last-child { max-width:590px; margin:0; color:#e4eaff; font-size:14px; line-height:1.55; }
.dash-hero-position { padding:22px; border:1px solid rgb(255 255 255 / 25%); border-radius:15px; background:rgb(255 255 255 / 10%); }
.dash-position-label { display:flex; align-items:baseline; gap:9px; color:#fff; }
.dash-position-label strong { font-size:46px; line-height:1; letter-spacing:-.05em; }
.dash-position-label span { color:#d6e2ff; font-size:16px; font-weight:650; }
.dash-progress-track { height:8px; margin:14px 0 9px; overflow:hidden; border-radius:99px; background:rgb(255 255 255 / 24%); }
.dash-progress-fill { display:block; height:100%; border-radius:99px; background:#31d0bf; }
.dash-hero-position small { color:#e0e7ff; font-size:11px; }
.dash-stats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.dash-stat { min-height:135px; padding:19px 21px; border-radius:14px; border-top:4px solid transparent; }
.dash-stat.teal { border-top-color:#00a79d; background:#f3fcfa; }
.dash-stat.blue { border-top-color:#3850ae; background:#f5f7ff; }
.dash-stat.violet { border-top-color:#7961b5; background:#f9f7ff; }
.dash-stat span { color:#435273; font-size:12px; }
.dash-stat strong { margin:5px 0 4px; font-size:34px; }
.dash-stat small { font-size:12px; }
.dash-next,.dash-wp-map { margin-top:32px; }
.dash-section-head { align-items:start; }
.dash-section-head h2 { font-size:23px; }
.dash-section-head p { max-width:520px; font-size:13px; }
.dash-next-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.dash-next-row { display:flex; align-items:start; justify-content:space-between; gap:12px; min-height:86px; padding:16px 17px; border:1px solid #dde5f1; border-radius:12px; background:#fff; }
.dash-next-row small,.dash-next-row strong { display:block; }
.dash-next-row small { margin-bottom:5px; color:#60708d; font-size:11px; font-weight:700; }
.dash-next-row strong { color:var(--blue-deep); font-size:13px; line-height:1.4; }
.dash-pill { font-size:11px; }
.dash-wp-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.dash-wp-map-item { padding:16px 17px; border:1px solid #dce4ef; border-radius:12px; background:#fff; }
.dash-wp-map-item.is-active { border-left:4px solid var(--teal); }
.dash-wp-map-item.is-future { border-left:4px solid #adb7cb; background:#fbfcff; }
.dash-wp-map-top { display:flex; justify-content:space-between; align-items:start; gap:10px; }
.dash-wp-map-top div { min-width:0; }
.dash-wp-map-top strong { display:block; color:var(--teal-deep); font-size:12px; }
.dash-wp-map-top span:not(.dash-pill) { display:block; margin-top:2px; color:var(--blue-deep); font-size:14px; font-weight:750; line-height:1.3; }
.dash-wp-track { height:6px; position:relative; margin:15px 0 8px; border-radius:99px; background:#e7ecf4; }
.dash-wp-segment { position:absolute; height:100%; border-radius:99px; background:var(--teal); }
.is-future .dash-wp-segment { background:#8899ba; }
.dash-wp-map-item > small { color:#62708a; font-size:11px; }
.dash-context-note { margin-top:22px; padding:12px 15px; border-radius:9px; background:#eef5fb; color:#50617b; font-size:12px; }
.dash-all-commitments { margin-top:19px; border:1px solid #dbe4f0; border-radius:12px; background:#fff; }
.dash-all-commitments > summary { padding:17px 20px; color:var(--blue); cursor:pointer; font-size:13px; font-weight:800; }
.dash-all-commitments > .dash-section { margin:0; padding:2px 20px 20px; }
.dashboard-meta { margin:17px 0 0; color:#73809a; font-size:11px; }
.dash-section { margin:0 0 36px; }
.dash-section > .dash-section-head { display:block; margin-bottom:22px; }
.dash-section > .dash-section-head p { max-width:850px; margin-top:6px; }
.dash-state-note { margin:0 0 19px; padding:16px 19px; border:1px solid #bfe4df; border-left:4px solid var(--teal); border-radius:11px; background:#effaf8; }
.dash-state-note strong { color:#176c66; font-size:14px; }
.dash-state-note p { max-width:800px; margin:3px 0 0; color:#456a69; font-size:12px; }
.dash-controls { padding:16px; border:1px solid #e0e6f0; border-radius:12px; background:#f6f8fc; }
.dash-control { font-size:12px; }
.dash-control select,.dash-control input { border-radius:8px; background:#fff; font-size:13px; }
.dash-mode-switch { display:flex; gap:7px; width:max-content; max-width:100%; margin-bottom:15px; padding:5px; border-radius:10px; background:#eaf0f7; }
.dash-mode-switch button { padding:9px 14px; border:0; border-radius:7px; background:transparent; color:#52617d; font-size:12px; font-weight:750; }
.dash-mode-switch button.is-selected { background:#fff; color:var(--blue-deep); box-shadow:0 2px 7px rgb(35 48 90 / 12%); }
.dash-report-panel { padding:19px 24px; }
.dash-report-panel h3 { font-size:17px; }
.dash-report-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:0 0 17px; }
.dash-report-summary > div { display:flex; flex-direction:column; gap:3px; padding:14px 17px; border:1px solid #d9e6ed; border-radius:11px; background:linear-gradient(145deg,#fff,#f5fbfa); }
.dash-report-summary strong { color:#12675e; font-size:19px; line-height:1.2; }
.dash-report-summary span { color:#5e7084; font-size:11px; font-weight:700; }
#dashboard-reporting .dash-report-panel { display:grid; gap:9px; padding:0; border:0; background:transparent; box-shadow:none; }
#dashboard-reporting .dash-report-panel h3 { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px; margin:9px 0 5px; color:var(--blue-deep); font-size:20px; }
#dashboard-reporting .dash-report-panel h3 span { color:#60718a; font-size:12px; font-weight:600; }
.dash-report-item { overflow:hidden; border:1px solid #dce5ee; border-left:4px solid #a8b6cb; border-radius:11px; background:#fff; box-shadow:0 5px 16px #24395a0a; }
.dash-report-item.partial { border-left-color:#e1a23c; }
.dash-report-item.complete { border-left-color:#159b82; }
.dash-report-item[open] { box-shadow:0 10px 24px #24395a16; }
.dash-report-item > summary { display:grid; grid-template-columns:minmax(0,1fr) 145px 20px; align-items:center; gap:16px; min-height:76px; padding:13px 17px; cursor:pointer; list-style:none; }
.dash-report-item > summary::-webkit-details-marker { display:none; }
.dash-report-item > summary:hover { background:#f8fbfc; }
.dash-report-identity { display:grid; grid-template-columns:58px minmax(0,1fr); gap:2px 10px; align-items:start; }
.dash-report-id { grid-row:span 2; display:grid; place-items:center; min-height:30px; padding:4px; border-radius:7px; background:#e8f4f2; color:#087669; font-size:12px; font-weight:900; }
.dash-report-identity strong { color:var(--blue-deep); font-size:13px; line-height:1.35; }
.dash-report-identity small { color:#6d7d93; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.dash-report-score { text-align:right; }
.dash-report-score strong { display:inline-block; color:var(--blue-deep); font-size:18px; line-height:1; }
.dash-report-score small { display:block; margin:3px 0 6px; color:#617188; font-size:10px; }
.dash-report-progress { display:block; height:5px; overflow:hidden; border-radius:9px; background:#e8eef4; }
.dash-report-progress i { display:block; height:100%; border-radius:inherit; background:#a4b0c2; }
.dash-report-item.partial .dash-report-progress i { background:#e1a23c; }
.dash-report-item.complete .dash-report-progress i { background:#159b82; }
.dash-report-chevron { color:#58718c; font-size:21px; line-height:1; }
.dash-report-item[open] .dash-report-chevron { transform:rotate(180deg); }
.dash-report-item > .dash-record-box { padding:14px 17px 18px; border-top:1px solid #e7edf3; background:#fbfdfd; }
.dash-report-item .dash-record-line { padding:11px 8px; }
.dash-report-item .dash-record-note { margin:0 0 11px; color:#566b80; font-size:11px; }
.dash-detail summary { font-size:14px; }
.dash-record-table { max-height:none; }
.dash-record-line { grid-template-columns:minmax(150px,.32fr) minmax(0,1fr); font-size:13px; }
.dash-risk-callout { border-left:4px solid #d69539; }
.dash-risk-grid { gap:12px; }
.dash-risk-card { border-radius:12px; border-left:4px solid #d5a857; }
.dash-risk-top { flex-wrap:wrap; }
.dash-risk-top strong { font-size:14px; }
.dash-risk-card p { font-size:13px; }
.dash-kpi-list { max-width:1050px; display:grid; gap:8px; }
.dash-kpi-more { justify-self:start; margin-top:9px; }
.dash-kpi-lenses { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 19px; }
.dash-kpi-lenses button { padding:10px 15px; border:1px solid #cbd8e8; border-radius:9px; background:#fff; color:#445777; font-size:13px; font-weight:800; }
.dash-kpi-lenses button.is-selected { border-color:#0d8b7d; background:#e7f7f3; color:#087669; }
.dash-kpi-lens-intro { max-width:920px; margin:0 0 18px; color:#54637b; font-size:13px; }
.dash-objective-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.dash-objective-card,.dash-call-kpi { border:1px solid #dce4ef; border-radius:12px; background:#fff; box-shadow:0 5px 16px #2233610a; }
.dash-objective-card[open],.dash-call-kpi[open] { border-color:#87c9be; box-shadow:0 8px 24px #12675e1c; }
.dash-objective-card summary { display:flex; align-items:start; gap:13px; min-height:110px; padding:19px; cursor:pointer; list-style:none; }
.dash-objective-card summary::-webkit-details-marker,.dash-call-kpi summary::-webkit-details-marker { display:none; }
.dash-objective-number { display:grid; place-items:center; flex:0 0 34px; height:34px; border-radius:9px; background:#e5f5f1; color:#087669; font-size:12px; font-weight:900; }
.dash-objective-card summary strong { display:block; color:var(--blue-deep); font-size:15px; line-height:1.3; }
.dash-objective-card summary small { display:block; margin-top:9px; color:#687893; font-size:11px; font-weight:700; }
.dash-objective-body,.dash-call-body { padding:0 19px 19px; color:#4d5b73; font-size:12px; line-height:1.55; }
.dash-objective-body h4 { margin:12px 0 4px; color:#12675e; font-size:11px; text-transform:uppercase; letter-spacing:.05em; }
.dash-objective-body p,.dash-call-body p { margin:0 0 10px; }
.dash-objective-indicators { display:flex; flex-wrap:wrap; gap:5px; margin:8px 0 13px; }
.dash-objective-indicators span { padding:5px 8px; border-radius:6px; background:#eff3fa; color:#425680; font-size:10px; font-weight:700; }
.dash-objective-body > small,.dash-call-body > small { color:#7a879b; }
.dash-call-kpi-list { display:grid; gap:8px; }
.dash-call-kpi summary { display:grid; grid-template-columns:70px minmax(190px,1fr) minmax(240px,.9fr); gap:14px; align-items:center; padding:14px 18px; cursor:pointer; list-style:none; }
.dash-call-id { color:#087669; font-size:11px; font-weight:900; }
.dash-call-kpi summary strong { color:var(--blue-deep); font-size:13px; line-height:1.35; }
.dash-call-target { color:#53647f; font-size:11px; line-height:1.4; }
.dash-call-body { padding:4px 18px 17px 102px; border-top:1px solid #e8eef4; }
.dash-call-body strong { display:block; margin-top:12px; color:#12675e; font-size:11px; }
.dash-kpi-row { overflow:hidden; border:1px solid #dce4f0; border-radius:11px; background:#fff; }
.dash-kpi-row[open] { border-color:#96cfc8; box-shadow:0 6px 18px rgb(32 44 112 / 6%); }
.dash-kpi-row > summary { display:grid; grid-template-columns:minmax(0,1fr) minmax(310px,.75fr) 16px; align-items:center; gap:20px; padding:14px 19px; cursor:pointer; list-style:none; }
.dash-kpi-row > summary::-webkit-details-marker { display:none; }
.dash-kpi-row > summary::after { content:'⌄'; justify-self:end; color:var(--blue); font-size:20px; }
.dash-kpi-row[open] > summary::after { content:'⌃'; }
.dash-kpi-identity { min-width:0; }
.dash-kpi-identity strong { display:block; margin-top:3px; color:var(--blue-deep); font-size:14px; line-height:1.35; }
.dash-kpi-figures { display:grid; grid-template-columns:minmax(125px,1fr) minmax(95px,.7fr); gap:1px 12px; align-items:center; }
.dash-kpi-figures small { color:#71809a; font-size:10px; font-weight:700; }
.dash-kpi-figures span,.dash-kpi-figures strong { margin:0; color:var(--blue-deep); font-size:12px; line-height:1.35; }
.dash-kpi-figures strong { color:var(--teal-deep); }
.dash-kpi-breakdown { padding:13px 19px 16px; border-top:1px solid #e6ecf3; background:#f7fafc; }
.dash-kpi-breakdown p { margin:4px 0; font-size:12px; }

/* Agreement detail, Work Packages and Gantt */
.dash-stat { text-align:left; cursor:pointer; font:inherit; }
.dash-stat:hover,.dash-wp-directory-card:hover { transform:translateY(-2px); box-shadow:0 13px 28px rgb(35 48 90 / 11%); }
.dash-stat em { display:block; margin-top:11px; color:var(--blue); font-size:11px; font-style:normal; font-weight:800; }
.dash-wp-open { display:block; margin-top:11px; padding:0; border:0; background:transparent; color:var(--blue); font-size:11px; font-weight:800; }
.dash-wp-open:hover { text-decoration:underline; }
.dash-overview-detail { scroll-margin-top:86px; margin-top:22px; padding:21px; border:1px solid #d9e4f0; border-radius:15px; background:#fff; box-shadow:0 12px 30px rgb(35 48 90 / 7%); }
.dash-overview-detail-head { display:flex; justify-content:space-between; align-items:start; gap:15px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.dash-overview-detail-head h2 { margin:4px 0 5px; font-size:23px; }
.dash-overview-detail-head p { margin:0; color:var(--muted); font-size:12px; }
.dash-detail-close { flex:0 0 auto; padding:7px 10px; border:1px solid #d8e1ee; border-radius:7px; background:#f7f9fd; color:var(--blue-deep); font-size:12px; font-weight:750; }
.dash-commitment-detail { border-bottom:1px solid #e3e9f1; }
.dash-commitment-detail > summary { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:14px 2px; cursor:pointer; }
.dash-commitment-detail > summary:hover .dash-commitment-identity strong { color:var(--teal-deep); }
.dash-commitment-identity strong,.dash-commitment-identity small { display:block; }
.dash-commitment-identity strong { color:var(--blue-deep); font-size:13px; line-height:1.35; }
.dash-commitment-identity small { margin-top:4px; color:#64718a; font-size:11px; }
.dash-commitment-body { padding:0 2px 16px; }
.dash-commitment-body > strong { color:#3f5273; font-size:12px; }
.dash-commitment-body p { max-width:850px; margin:7px 0; color:#394b68; font-size:13px; line-height:1.65; }
.dash-commitment-body small { color:#71809a; font-size:11px; }
.dash-wp-directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin-bottom:22px; }
.dash-wp-directory-card { min-width:0; display:block; padding:17px 19px; border:1px solid #dce5f0; border-left:4px solid #9babbd; border-radius:12px; background:#fff; text-align:left; cursor:pointer; }
.dash-wp-directory-card.is-selected { border-color:#83c7be; border-left-color:var(--teal); background:#f2fbf9; }
.dash-wp-directory-id { color:var(--teal-deep); font-size:11px; font-weight:800; }
.dash-wp-directory-card > strong,.dash-wp-directory-card > small { display:block; }
.dash-wp-directory-card > strong { margin:4px 0; color:var(--blue-deep); font-size:15px; line-height:1.3; }
.dash-wp-directory-card > small { color:#64718a; font-size:11px; }
.dash-wp-directory-metrics { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.dash-wp-directory-metrics span { padding:5px 8px; border-radius:6px; background:#eaf0f8; color:#405775; font-size:10px; font-weight:700; }
.dash-wp-directory-card.is-selected .dash-wp-directory-metrics span { background:#dcefea; }
.dash-wp-detail-panel { scroll-margin-top:86px; padding:25px; border:1px solid #dce5f0; border-radius:16px; background:#fff; box-shadow:0 10px 24px rgb(35 48 90 / 5%); }
.dash-wp-detail-top { padding-bottom:15px; border-bottom:1px solid var(--line); }
.dash-wp-detail-top h2 { margin:5px 0 8px; font-size:clamp(23px,2.5vw,30px); }
.dash-wp-detail-top p { margin:0; color:#54647f; font-size:13px; }
.dash-wp-scores { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:18px 0 24px; }
.dash-wp-score { padding:16px; border-radius:10px; background:#f3f8fc; }
.dash-wp-score:first-child { background:#f2fbf9; }
.dash-wp-score div { color:#52637e; font-size:11px; font-weight:800; }
.dash-wp-score strong { display:block; margin:6px 0 4px; color:var(--blue-deep); font-size:21px; }
.dash-wp-score small { color:#586a81; font-size:11px; line-height:1.45; }
.dash-wp-detail-panel h3 { margin:24px 0 12px; font-size:18px; }
.dash-agreement-copy { max-width:100%; padding:17px 19px; border:1px solid #e2e9f3; border-radius:10px; background:#f8fafc; }
.dash-agreement-copy p { margin:0 0 11px; color:#334560; font-size:13px; line-height:1.65; }
.dash-agreement-copy p:last-child { margin-bottom:0; }
.dash-agreement-copy p:has(+ p) { text-wrap:pretty; }
.dash-agreement-copy h4 { margin:17px 0 7px; color:var(--blue-deep); font-size:13px; }
.dash-agreement-copy h4:first-child { margin-top:0; }
.dash-agreement-copy ul { margin:0 0 13px; padding-left:19px; color:#334560; }
.dash-agreement-copy li { margin:6px 0; padding-left:2px; font-size:13px; line-height:1.65; }
.dash-wp-detail-columns { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(245px,.8fr); align-items:start; gap:25px; margin-top:10px; }
.dash-wp-task { border-bottom:1px solid #e3e9f1; }
.dash-wp-task > summary { display:grid; grid-template-columns:15px minmax(0,1fr); gap:1px 4px; padding:13px 2px; cursor:pointer; list-style:none; }
.dash-wp-task > summary::-webkit-details-marker,.dash-wp-output-row > summary::-webkit-details-marker { display:none; }
.dash-wp-task > summary::before { content:'▸'; grid-column:1; grid-row:1 / span 2; color:var(--blue); }
.dash-wp-task[open] > summary::before { content:'▾'; }
.dash-wp-task > summary strong,.dash-wp-task > summary small { display:block; }
.dash-wp-task > summary strong,.dash-wp-task > summary small { grid-column:2; }
.dash-wp-task > summary strong { color:var(--blue-deep); font-size:13px; }
.dash-wp-task > summary small { margin-top:3px; color:#66748c; font-size:11px; }
.dash-wp-task-body { padding:2px 0 18px; }
.dash-wp-task-body h4 { margin:13px 0 6px; color:var(--teal-deep); font-size:11px; text-transform:uppercase; letter-spacing:.07em; }
.dash-task-participants { margin:0; color:#475973; font-size:12px; line-height:1.6; }
.dash-wp-task-body .dash-agreement-copy { padding:12px 15px; }
.dash-wp-task-body .dash-agreement-copy p { font-size:12px; }
.dash-wp-outputs { padding:0 0 15px; }
.dash-wp-output-row { display:flex; flex-wrap:wrap; gap:4px 8px; padding:11px 0; border-top:1px solid #e6ebf2; }
.dash-wp-output-row > summary { display:grid; grid-template-columns:15px minmax(0,1fr); gap:1px 4px; width:100%; cursor:pointer; list-style:none; }
.dash-wp-output-row > summary::before { content:'▸'; grid-column:1; grid-row:1 / span 3; color:var(--blue); }
.dash-wp-output-row[open] > summary::before { content:'▾'; }
.dash-wp-output-row > summary strong,.dash-wp-output-row > summary small,.dash-wp-output-row > summary .dash-pill { grid-column:2; }
.dash-wp-output-row > p { margin:8px 0 0; color:#4d5d76; font-size:11px; line-height:1.55; }
.dash-wp-output-row strong,.dash-wp-output-row small { display:block; width:100%; }
.dash-wp-output-row strong { color:var(--blue-deep); font-size:12px; line-height:1.4; }
.dash-wp-output-row small { color:#687891; font-size:11px; }
.dash-wp-output-row .dash-pill { margin-top:4px; }
.dash-gantt-tools { display:flex; flex-wrap:wrap; align-items:end; gap:11px; margin-bottom:14px; }
.dash-gantt-tools .dash-control { min-width:185px; }
.dash-gantt-expand { min-height:40px; padding:8px 13px; border:1px solid #cad8e9; border-radius:8px; background:#fff; color:var(--blue); font-size:12px; font-weight:800; }
.dash-gantt-expand:hover { background:#edf3fa; }
.dash-gantt-legend { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:13px; color:#556781; font-size:11px; }
.dash-gantt-legend span { display:inline-flex; align-items:center; gap:6px; }
.dash-gantt-legend i,.dash-calendar-marks i { display:inline-block; width:9px; height:9px; border-radius:50%; background:#9aaec9; }
.dash-gantt-legend i.wp { background:#15a89c; }
.dash-gantt-legend i.task { background:#5166b2; }
.dash-gantt-legend i.selected { background:#f4af46; }
.dash-gantt-legend i.draft { background:#ee9d2b; }
.dash-gantt-legend i.due { background:#cf3f49; }
.dash-gantt-legend i.event { background:#8059b7; }
.dash-gantt-legend i.review { background:#8059b7; }
.dash-gantt-scroll { max-width:100%; overflow:auto; border:1px solid #dbe3ef; border-radius:12px; background:#fff; }
.dash-gantt-matrix { width:max-content; min-width:1092px; }
.dash-gantt-row { display:grid; grid-template-columns:240px repeat(var(--gantt-months,12),71px); min-height:37px; border-bottom:1px solid #ecf0f6; }
.dash-gantt.is-large { width:min(96vw,1800px); max-width:none; margin-left:calc(50% - min(48vw,900px)); }
.dash-gantt.is-large .dash-gantt-scroll { max-height:75vh; }
.dash-gantt-checkpoint { align-self:center; font-size:12px; color:var(--muted); }
.dash-related-tasks { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:16px 0; }
.dash-related-tasks > strong { flex-basis:100%; color:var(--blue-deep); font-size:13px; }
.dash-related-task { border:1px solid #c8d7e8; border-radius:8px; padding:9px 12px; background:#f5f9fd; color:var(--blue-deep); cursor:pointer; text-align:left; font-size:12px; font-weight:700; line-height:1.35; }
.dash-related-task:hover { border-color:#718fc1; background:#eaf1fc; }
.dash-board-preview,.dash-message { border:1px solid #d5e5e8; border-radius:12px; padding:17px; background:#f4fbfa; }
.dash-board-preview { margin:18px 0 0; }
.dash-board-preview-top,.dash-message-top { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.dash-board-preview h3 { margin:0; }
.dash-board-preview p,.dash-message p { margin:8px 0 0; }
.dash-message-board { display:grid; gap:14px; }
.dash-gantt-row:last-child { border-bottom:0; }
.dash-gantt-header { position:sticky; top:0; z-index:4; min-height:69px; background:#f3f6fb; }
.dash-gantt-label { position:sticky; left:0; z-index:3; isolation:isolate; display:flex; align-items:center; gap:8px; min-width:0; padding:6px 10px; border:0; border-right:1px solid #e5ebf3; background:#fff; text-align:left; color:var(--blue-deep); font-size:11px; cursor:pointer; }
.dash-gantt-header .dash-gantt-label { background:#f3f6fb; color:#61718e; font-size:10px; font-weight:800; }
.dash-gantt-label strong { flex:0 0 40px; color:var(--teal-deep); font-size:11px; }
.dash-gantt-label span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:700; }
.is-task .dash-gantt-label { padding-left:22px; background:#fafbfd; }
.is-task .dash-gantt-label strong { color:#4459a8; }
.dash-gantt-month { position:relative; padding:8px 3px; border:0; border-right:1px solid #e5ebf3; background:#f3f6fb; color:var(--blue-deep); cursor:pointer; }
.dash-gantt-month strong,.dash-gantt-month small { display:block; }
.dash-gantt-month > strong,.dash-gantt-month > small,.dash-gantt-month > .dash-gantt-event-count { position:relative; z-index:1; }
.dash-gantt-month strong { font-size:12px; }
.dash-gantt-month small { color:#70809a; font-size:10px; }
.dash-gantt-month:disabled { opacity:.4; cursor:default; }
.dash-gantt-month.is-selected { background:#fff1d8; }
.dash-gantt-month.is-closeout { background:#f3effa; }
.dash-gantt-due-count { display:block; margin:2px auto 0; color:#9b502e; font-size:9px; font-weight:800; }
.dash-gantt-report-count { display:block; margin:2px auto 0; color:#455b9d; font-size:9px; font-weight:800; }
.dash-gantt-event-count { display:block; margin:2px auto 0; color:#684191; font-size:9px; font-weight:800; }
.dash-gantt-review-count { display:block; margin:2px auto 0; color:#684191; font-size:9px; font-weight:800; }
.dash-gantt-cell { position:relative; isolation:isolate; border-right:1px solid #edf1f6; background:#fafbfd; }
.dash-gantt-cell.is-active::before { content:''; position:absolute; top:11px; bottom:11px; left:0; right:0; background:#19ad9f; }
.is-task .dash-gantt-cell.is-active::before { top:13px; bottom:13px; background:#6579c3; }
.dash-gantt-cell.is-selected { background:#fff8e8; }
.dash-gantt-cell.is-closeout { background:#f8f5fc; }
.dash-gantt-cell.is-review::after { content:''; position:absolute; inset:4px 0; border-top:3px solid #8059b7; border-bottom:3px solid #8059b7; pointer-events:none; }
.dash-gantt-tooltip { position:fixed; z-index:1000; width:min(300px,calc(100vw - 24px)); padding:13px 15px; border:1px solid #d3dbee; border-radius:11px; background:#fff; box-shadow:0 14px 38px #202c7040; pointer-events:none; }
.dash-gantt-tooltip strong { display:block; margin-bottom:6px; color:var(--blue-deep); font-size:13px; }
.dash-gantt-tooltip span { display:block; margin-top:4px; color:#42536e; font-size:11px; line-height:1.45; }
.dash-deadline-marker { position:absolute; z-index:1; top:4px; bottom:4px; width:3px; border-radius:2px; box-shadow:0 0 0 1px #fff9; }
.dash-deadline-marker.draft { left:5px; background:#ee9d2b; }
.dash-deadline-marker.due { right:5px; background:#cf3f49; }

.dash-gantt-hint { margin:9px 0 26px; color:#69778f; font-size:11px; }
.dash-calendar { scroll-margin-top:86px; padding:23px; border:1px solid #dce4f0; border-radius:15px; background:#fff; }
.dash-calendar-top { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:16px; }
.dash-calendar-top h2 { margin:4px 0 0; font-size:24px; }
.dash-calendar-review-note { margin:0 0 17px; padding:11px 14px; border-left:4px solid #8059b7; border-radius:8px; background:#f3eef9; color:#51416d; font-size:12px; }
.dash-calendar-nav { display:flex; gap:6px; }
.dash-calendar-nav button { width:34px; height:34px; border:1px solid #d6e0ed; border-radius:7px; background:#f7f9fc; color:var(--blue); font-weight:800; }
.dash-calendar-nav button:disabled { opacity:.4; }
.dash-calendar-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.85fr); align-items:start; gap:22px; }
.dash-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; }
.dash-calendar-weekday { padding:5px 0; color:#75839b; text-align:center; font-size:10px; font-weight:800; }
.dash-calendar-day,.dash-calendar-blank { min-height:56px; border:1px solid #e1e7f0; border-radius:7px; background:#fbfcff; }
.dash-calendar-day { display:flex; flex-direction:column; justify-content:space-between; padding:6px; color:#334661; text-align:left; font-size:12px; }
.dash-calendar-day:hover { border-color:#98bdb9; background:#f0fbf8; }
.dash-calendar-day.has-events { background:#fff8ee; border-color:#e8d5b8; }
.dash-calendar-day.is-selected { outline:2px solid #346caa; background:#eaf3fc; }
.dash-calendar-blank { border-color:transparent; background:transparent; }
.dash-calendar-marks { display:flex; gap:3px; }
.dash-calendar-marks i.draft { background:#ee9d2b; }
.dash-calendar-marks i.agreement { background:#cf3f49; }
.dash-calendar-marks i.report { background:#6579c3; }
.dash-calendar-marks i.event { background:#8059b7; }
.dash-calendar-marks i.review { background:#8059b7; }
.dash-calendar-marks i.period { background:#cf3f49; }
.dash-calendar-agenda { min-height:290px; padding:16px; border-radius:10px; background:#f7f9fc; }
.dash-calendar-agenda-head { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.dash-calendar-agenda h3 { margin:0 0 10px; font-size:17px; }
.dash-calendar-agenda-head button { border:0; background:transparent; color:var(--blue); font-size:11px; font-weight:800; }
.dash-agenda-item { display:grid; grid-template-columns:54px minmax(0,1fr); gap:9px; padding:11px 0; border-top:1px solid #e1e8f1; }
.dash-agenda-date { color:var(--teal-deep); font-size:11px; font-weight:800; }
.dash-agenda-item.agreement .dash-agenda-date { color:#a95c31; }
.dash-agenda-item strong { display:block; color:var(--blue-deep); font-size:12px; line-height:1.35; }
.dash-agenda-item small { display:block; margin-top:3px; color:#60718c; font-size:11px; line-height:1.4; }
.dash-agenda-item .dash-pill { margin-top:5px; }
.dash-calendar-report-note,.dash-calendar-reports { margin:13px 0 0; color:#71809a; font-size:11px; }
.dash-calendar-reports h4 { margin:0 0 6px; color:var(--blue-deep); font-size:12px; }
.dash-calendar-reports p { margin:4px 0; }
.dash-calendar-caveat { margin:16px 0 0; color:#60718b; font-size:11px; line-height:1.55; }

[hidden] { display: none !important; }
@media (max-width: 920px) {
.dash-objective-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.kpi-context-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.dash-report-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .header-inner { min-height: 88px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 6px; padding-block: 15px; }
  .site-nav { gap: 23px; }
  .hero { gap: 35px; }
  .content-grid { grid-template-columns: minmax(0, 1.4fr) minmax(220px, .6fr); }
  .dash-stats,.dash-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dash-section-head { align-items:start; flex-direction:column; }
  .dash-hero { grid-template-columns:minmax(0,1fr) minmax(190px,.65fr); gap:22px; }
  .dash-wp-detail-columns,.dash-calendar-layout { grid-template-columns:1fr; }
}
@media (max-width: 700px) {
.dash-objective-grid { grid-template-columns:1fr; }
.kpi-context-grid { grid-template-columns:1fr; }
.dash-report-item > summary { grid-template-columns:minmax(0,1fr) 85px 14px; gap:8px; padding:11px; }
.dash-report-identity { grid-template-columns:1fr; }
.dash-report-id { grid-row:auto; place-items:start; width:max-content; min-height:0; }
.dash-report-score strong { font-size:15px; }
.dash-call-kpi summary { grid-template-columns:58px 1fr; }
.dash-call-target { grid-column:2; }
.dash-call-body { padding-left:18px; }
  .container { width: min(100% - 34px, 520px); }
  .brand img { width: 137px; }
  .brand-label { font-size: 16px; }
  .site-nav { width: 100%; gap: 18px; overflow-x: auto; padding-bottom: 2px; }
  .site-nav a { font-size: 12px; }
  .hero { grid-template-columns: 1fr; padding-block: 50px 56px; }
  .hero h1 { font-size: clamp(42px, 10vw, 58px); }
  .hero-aside { max-width: 460px; }
  .content-grid { grid-template-columns: 1fr; padding-block: 28px 45px; }
  .form-card { padding: 25px 20px; }
  .field-row, .choice-grid, .instruction-grid { grid-template-columns: 1fr; }
  .form-footer { align-items: stretch; flex-direction: column; }
  .form-footer .button { width: 100%; }
  .secondary-view { padding-block: 58px 75px; }
  .empty-card { padding: 29px; }
  .workspace-heading { align-items: start; flex-direction: column; }
  .task-editor-actions { align-items: stretch; flex-direction: column; }
  .task-card-head { flex-direction:column; gap:3px; }
  .task-card-tools { justify-content:flex-start; }
  .task-setup-grid { grid-template-columns:1fr; }
  .task-save-tools { flex-direction:column; align-items:stretch; }
  .task-save-buttons .button { flex:1 1 100%; }
  .section-heading,.overview-import { flex-direction:column; align-items:stretch; }
  .extra-form-grid { grid-template-columns:1fr; }
  .status-available { padding-left:0; }
  .task-editor-buttons { flex-direction: column; }
  .task-editor-actions .button { width: 100%; }
  .three-columns, .review-grid, .dashboard-grid { grid-template-columns: 1fr; }
  .dashboard-kpis { grid-template-columns: repeat(2, 1fr); }
  .dash-stats,.dash-two-columns,.dash-risk-grid,.dash-kpi-grid { grid-template-columns:1fr; }
  .dash-section-head h2 { font-size:24px; }
  .dash-stat { min-height:0; }
  .dash-control { flex:1 1 140px; }
  .dash-search { max-width:none; }
  .dash-hero { grid-template-columns:1fr; gap:19px; padding:26px 24px; }
  .dash-hero-kicker { letter-spacing:.07em; font-size:10px; }
  .dash-hero-position { padding:16px; }
  .dash-stats,.dash-next-grid,.dash-wp-grid { grid-template-columns:minmax(0,1fr); }
  .dash-next-row { min-width:0; flex-direction:column; align-items:flex-start; }
  .dash-next-row > div { min-width:0; }
  .dash-tabs { width:100%; }
  .dash-tabs button { padding:9px 10px; font-size:11px; }
  .dash-report-panel { padding:15px; }
  .dash-record-line { grid-template-columns:1fr; gap:5px; }
  .dash-kpi-row > summary { grid-template-columns:minmax(0,1fr) 16px; gap:9px; }
  .dash-kpi-figures { grid-column:1; grid-row:2; }
  .dash-kpi-row > summary::after { grid-column:2; grid-row:1; }
  .dash-wp-directory-grid,.dash-wp-scores { grid-template-columns:1fr; }
  .dash-wp-detail-panel,.dash-calendar { padding:17px; }
  .dash-overview-detail { padding:15px; }
  .dash-commitment-detail > summary { align-items:start; flex-direction:column; gap:6px; }
  .dash-calendar-day,.dash-calendar-blank { min-height:43px; }
  .dash-calendar-day { padding:4px; }
  .dash-gantt-tools .dash-control { flex:1 1 100%; max-width:none; }
  .dash-gantt-expand { width:100%; }
  .dash-gantt-matrix { min-width:908px; }
  .dash-gantt-row { grid-template-columns:140px repeat(var(--gantt-months,12),64px); }
  .dash-gantt-label { gap:3px; padding-inline:6px; }
  .dash-gantt-label strong { flex-basis:34px; font-size:10px; }
  .dash-gantt-label span { font-size:10px; }
  .draft-actions { padding: 20px; }
  .extra-picker { grid-template-columns:1fr; }
  .kpi-editor-head { flex-direction:column; }
  .draft-buttons,.form-actions { grid-template-columns:1fr; }
  .form-actions .button { width:100%; }
  .revision-card .field { grid-template-columns:1fr 75px; }
  .revision-card .field-help { grid-column:1/-1; }
  .review-actions { flex-direction: column; align-items: stretch; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Exact KPI source wording and scoped contributions. */
.kpi-source-details,.dash-kpi-source,.dash-kpi-contributors,.dash-kpi-source-conflicts { margin:14px 0; padding:12px 16px; background:#f5f7fc; border:1px solid #dce4f2; border-radius:12px; }
.kpi-source-details summary,.dash-kpi-source summary,.dash-kpi-contributors summary,.dash-kpi-source-conflicts summary { cursor:pointer; color:#2b3990; font-weight:700; }
.kpi-source-details p,.dash-kpi-source p,.dash-call-body .agreement-text,.kpi-call-row-body .agreement-text,.kpi-context-body .agreement-text { white-space:pre-wrap; max-width:none; width:100%; }
.dash-objective-indicators button { font-size:13px; }
#kpi-list .extra-entry { flex-wrap:wrap; gap:12px; }
#kpi-source-details h5 { margin:16px 0 8px; }
.comm-import { margin-block:20px; }

/* Partner KPI finder: the working controls stay above the source library. */
.kpi-saved-list:not(:empty) { margin:20px 0; padding:18px; border:1px solid #a9dcd0; border-radius:14px; background:#f2faf8; }
.kpi-saved-list h4 { margin:0 0 12px; color:#12675e; font-size:15px; }
.kpi-saved-card { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 0; border-top:1px solid #cce9e2; }
.kpi-saved-copy { display:grid; gap:5px; min-width:0; }
.kpi-saved-copy strong { color:var(--blue-deep); font-size:14px; }
.kpi-saved-copy small { color:#526b70; font-size:12px; }
.kpi-saved-actions { display:flex; flex-wrap:wrap; gap:7px; }
.kpi-saved-actions .button { padding:8px 12px; font-size:12px; }
.kpi-finder { margin:20px 0 16px; padding:20px; border:1px solid #ccd9ed; border-radius:14px; background:linear-gradient(115deg,#f0f5ff,#f9fcff); }
.kpi-finder > label { display:block; margin-bottom:8px; color:var(--blue-deep); font-size:14px; font-weight:800; }
.kpi-finder > input { width:100%; min-height:46px; padding:10px 14px; border:1px solid #aebed9; border-radius:9px; background:#fff; font-size:15px; }
.kpi-finder > input:focus { outline:3px solid #b3d8f0; outline-offset:1px; }
.kpi-finder-controls { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin-top:15px; }
.kpi-view-filters { display:flex; flex-wrap:wrap; gap:7px; }
.kpi-view-filters button { min-height:36px; padding:7px 13px; border:1px solid #c6d3e8; border-radius:8px; background:#fff; color:#334b77; font-size:12px; font-weight:800; cursor:pointer; }
.kpi-view-filters button.is-active { border-color:#263c91; background:#273b92; color:#fff; }
.kpi-group-filter { display:flex; align-items:center; gap:8px; color:#445873; font-size:12px; font-weight:700; }
.kpi-group-filter select { min-width:155px; min-height:36px; padding:6px 10px; border:1px solid #bdcce2; border-radius:8px; background:#fff; color:#263d63; }
.kpi-results-summary { margin:13px 0 0; color:#536881; font-size:12px; }
.kpi-discovery { margin:20px 0; padding:20px; border:1px solid #b8d6d4; border-radius:14px; background:linear-gradient(115deg,#eff9f7,#f8fcff); }
.monitoring-rounds:not([hidden]) { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:13px 0; }
.monitoring-rounds strong { width:100%; color:var(--blue-deep); font-size:12px; }
.monitoring-rounds .button { font-size:11px; padding:8px 11px; }
.kpi-discovery h4 { margin:0 0 7px; color:var(--blue-deep); font-size:18px; }
.kpi-discovery p { margin:0 0 12px; color:#4e6674; line-height:1.5; }
.kpi-suggestions { display:grid; gap:10px; margin-top:16px; }
.kpi-suggestion-count { margin:0 !important; font-size:12px; font-weight:800; }
.kpi-suggestion-card { display:flex; justify-content:space-between; gap:16px; padding:15px; border:1px solid #c7dedb; border-radius:11px; background:#fff; }
.kpi-suggestion-copy { min-width:0; }
.kpi-suggestion-copy strong,.kpi-suggestion-copy small { display:block; }
.kpi-suggestion-copy strong { color:var(--blue-deep); font-size:14px; }
.kpi-suggestion-copy small { margin-top:3px; color:#526b70; font-size:11px; }
.kpi-suggestion-copy blockquote { margin:11px 0 0; padding-left:12px; border-left:3px solid #8fc7c0; color:#41586b; font-size:12px; line-height:1.5; }
.kpi-suggestion-actions { display:flex; align-items:start; gap:7px; flex:0 0 auto; }
.kpi-suggestion-actions .button { padding:8px 11px; font-size:11px; }
#kpi-suggestion-note:not([hidden]) { margin:10px 0; padding:10px 12px; border-radius:8px; background:#eaf6f4; color:#285f5c; font-size:12px; }
.kpi-report-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; }
.kpi-choice-card { display:flex; justify-content:space-between; align-items:start; gap:16px; min-width:0; padding:17px; border:1px solid #d6e1ee; border-radius:12px; background:#fff; box-shadow:0 4px 14px #23345a0a; }
.kpi-choice-card:hover { border-color:#9cb9d7; }
.kpi-choice-copy { min-width:0; }
.kpi-choice-top { display:flex; flex-wrap:wrap; gap:7px; align-items:center; }
.kpi-choice-group { color:#0e766d; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.kpi-choice-suggested { padding:3px 6px; border-radius:5px; background:#e6f5f0; color:#12675e; font-size:10px; font-weight:800; }
.kpi-choice-card h5 { margin:8px 0 6px; color:var(--blue-deep); font-size:15px; line-height:1.35; }
.kpi-choice-card p { margin:0; color:#65758e; font-size:11px; overflow-wrap:anywhere; }
.kpi-choice-recorded { display:block; margin-top:9px; color:#12675e; font-size:11px; font-weight:800; }
.kpi-choice-actions { display:flex; align-items:center; flex:0 0 auto; gap:7px; }
.kpi-choice-actions .button { padding:8px 10px; font-size:11px; }
.kpi-star { width:35px; height:35px; padding:0; border:1px solid #cbd8e8; border-radius:8px; background:#fff; color:#627694; font-size:21px; line-height:1; cursor:pointer; }
.kpi-star[aria-pressed="true"] { border-color:#dba546; background:#fff7e8; color:#a46b08; }
.kpi-show-more { grid-column:1/-1; justify-self:center; margin:8px 0; }
.kpi-empty { grid-column:1/-1; margin:0; padding:24px; border:1px dashed #becce0; border-radius:12px; color:#52677e; text-align:center; }
.kpi-reference-library { margin-top:24px; border:1px solid #d5e0eb; border-radius:12px; background:#f8fafc; }
.kpi-reference-library > summary { padding:16px 18px; color:#283d77; font-size:13px; font-weight:800; cursor:pointer; }
.kpi-reference-library > .kpi-context,.kpi-reference-library > .kpi-call-context { margin:12px 18px 18px; }
.kpi-context-card summary { min-height:70px; grid-template-columns:34px minmax(0,1fr); gap:3px 10px; }
.kpi-context-card summary strong { min-width:0; font-size:13px; overflow-wrap:normal; }
.kpi-context-card summary small { grid-column:2; }
.kpi-editor { scroll-margin-top:90px; margin:16px 0 22px; padding:24px; border-color:#9eb5d6; background:linear-gradient(180deg,#f3f7ff,#fff 130px); }
.kpi-editor-head h4 { max-width:52ch; }
.kpi-editor .field { min-width:0; }
.kpi-editor .field-help { max-width:75ch; }
.kpi-proposal-note { margin:0 0 10px; color:#52647c; font-size:12px; line-height:1.5; }
.dash-kpi-source-conflicts { margin:0 0 20px; border-color:#ecd19c; background:#fffaf0; }
.dash-kpi-source-conflicts summary { color:#75521d; }
.dash-source-differences { display:grid; gap:8px; margin-top:13px; }
.dash-source-difference { border:1px solid #ead6aa; border-radius:9px; background:#fff; }
.dash-source-difference > summary { padding:11px 13px; font-size:13px; }
.dash-source-difference-body { padding:2px 13px 13px; border-top:1px solid #f1e4c8; }
.dash-source-difference-body > p { color:#53637a; font-size:12px; line-height:1.5; }
.dash-source-excerpt { margin-top:10px; padding:11px; border:1px solid #e4eaf3; border-radius:8px; background:#f8fafc; }
.dash-source-excerpt strong { font-size:11px; color:#263c91; }
.dash-source-excerpt .agreement-text { margin:6px 0 0; white-space:pre-wrap; font-size:11px; line-height:1.5; }
.dash-kpi-favorites-filter { min-height:41px; align-self:end; padding:8px 13px; border:1px solid #cbd8e8; border-radius:8px; background:#fff; color:#41577e; font-size:12px; font-weight:800; cursor:pointer; }
.dash-kpi-favorites-filter.is-active { border-color:#c79735; background:#fff4df; color:#78510f; }
.dash-kpi-results { margin:0 0 13px; color:#5b6b82; font-size:12px; }
.dash-kpi-row { position:relative; }
.dash-kpi-row > summary { padding-right:60px; }
.dash-kpi-star { position:absolute; z-index:1; top:12px; right:15px; width:35px; height:35px; padding:0; border:1px solid #cbd8e8; border-radius:8px; background:#fff; color:#627694; font-size:21px; line-height:1; cursor:pointer; }
.dash-kpi-star[aria-pressed="true"] { border-color:#dba546; background:#fff7e8; color:#a46b08; }
.dash-gantt-event-count { color:#684191; }
@media (max-width:800px) { .kpi-report-list { grid-template-columns:1fr; } }
@media (max-width:550px) { .kpi-finder,.kpi-editor,.kpi-discovery { padding:16px; } .kpi-choice-card,.kpi-saved-card,.kpi-suggestion-card { flex-direction:column; align-items:stretch; } .kpi-choice-actions,.kpi-suggestion-actions { justify-content:flex-end; } .kpi-group-filter { width:100%; justify-content:space-between; } .kpi-group-filter select { flex:1; } }

/* KPI reference tables: scoped to the dashboard indicator section. */
.dash-kpi-reference .dash-section-head p,.dash-kpi-reference p { max-width:none; width:100%; text-align:justify; }
.dash-kpi-reference .dash-kpi-list { max-width:none; display:block; }
.dash-kpi-table-intro { margin-bottom:18px; }
.dash-kpi-table-intro h3 { margin:0 0 7px; font-size:20px; color:var(--blue-deep); }
.dash-kpi-category-pages { margin:0; font-size:13px; line-height:1.65; color:#53637a; }
.dash-kpi-table-wrap { max-width:100%; overflow-x:auto; border:1px solid #d7e2ed; border-radius:12px; background:#fff; }
.dash-kpi-table-wrap:focus-visible { outline:3px solid #7cb5dc; outline-offset:3px; }
.dash-kpi-reference-table { width:100%; border-collapse:collapse; table-layout:auto; font-size:14px; line-height:1.65; color:#34445e; }
.dash-kpi-reference-table caption { padding:14px 18px; text-align:left; font-weight:800; font-size:16px; color:var(--blue-deep); background:#f5f8fc; }
.dash-kpi-reference-table thead th { padding:14px; text-align:left; vertical-align:top; color:#fff; background:#2b3990; font-size:13px; font-weight:750; }
.dash-kpi-reference-table tbody th,.dash-kpi-reference-table td { padding:18px 14px; border-top:1px solid #dde6ef; vertical-align:top; min-width:0; }
.dash-kpi-reference-table tbody tr:nth-child(even) { background:#f7fafc; }
.dash-kpi-reference-table tbody tr.is-focused { background:#eaf4fa; box-shadow:inset 4px 0 #2b3990; }
.dash-kpi-reference-table .dash-kpi-code { width:7%; white-space:nowrap; text-align:left; color:#2b3990; font-size:12px; }
.dash-kpi-reference-table .dash-kpi-links-cell { width:18%; min-width:165px; }
.dash-kpi-reference-table.is-source-table { min-width:1000px; }
.dash-kpi-reference-table.is-source-table td:not(.dash-kpi-links-cell) { width:25%; }
.dash-kpi-reference-table.is-objectives td:not(.dash-kpi-links-cell) { width:37%; }
.dash-kpi-reference-table.is-passages td:not(.dash-kpi-links-cell) { width:75%; }
.dash-kpi-reference .dash-kpi-verbatim { margin:0 0 10px; white-space:normal; text-align:justify; overflow-wrap:break-word; max-width:none; line-height:1.7; }
.dash-kpi-reference .dash-kpi-verbatim:last-child { margin-bottom:0; }
.dash-kpi-objective-title { display:block; margin-bottom:10px; color:var(--blue-deep); font-size:15px; }
.dash-kpi-page { display:block; margin-bottom:9px; color:#53647d; font-size:12px; font-weight:600; line-height:1.5; }
.dash-kpi-meta-label { display:block; margin:12px 0 7px; font-size:12px; color:#465876; }
.dash-kpi-task-links { display:flex; flex-wrap:wrap; gap:5px; }
.dash-kpi-reference .dash-kpi-task-links button,.dash-kpi-reference .dash-objective-indicators button { padding:5px 8px; min-height:30px; font-size:12px; line-height:1.4; white-space:normal; text-align:left; }
.dash-kpi-table-contributors { margin:12px 0; font-size:12px; }
.dash-kpi-table-contributors summary { cursor:pointer; font-weight:700; color:#2b3990; }
.dash-kpi-table-contributors p { margin:8px 0; font-size:12px; }
.dash-kpi-reference-table.is-indicator-index { min-width:920px; }
.dash-kpi-index-identity { width:19%; text-align:left; }
.dash-kpi-index-identity strong { display:block; font-size:14px; line-height:1.55; margin:7px 0; }
.dash-kpi-reference-table.is-indicator-index td:nth-child(2) { width:55%; }
.dash-kpi-reference-table .dash-kpi-actual { width:9%; min-width:90px; font-size:13px; color:#087669; }
.dash-kpi-actual p { font-size:12px; color:#53647d; }
.dash-kpi-index-source + .dash-kpi-index-source { margin-top:18px; padding-top:18px; border-top:1px solid #dde6ef; }
.dash-kpi-source-code { display:block; color:#2b3990; margin-bottom:9px; font-size:12px; }
.dash-kpi-field-label { display:block; margin:10px 0 4px; font-size:12px; color:#53647d; }
.dash-kpi-table-star { margin-top:8px; padding:6px 9px; border:1px solid #cbd8e8; border-radius:7px; color:#53647d; background:#fff; font-size:12px; cursor:pointer; }
.dash-kpi-table-star[aria-pressed="true"] { color:#805c1d; background:#fff6e3; border-color:#d5ad68; }
@media(max-width:700px) { .dash-kpi-reference-table.is-objectives,.dash-kpi-reference-table.is-passages { min-width:760px; } .dash-kpi-reference-table tbody th,.dash-kpi-reference-table td { padding:14px 12px; } }

.dash-kpi-verbatim > span { display:block; margin-top:8px; }
.dash-kpi-verbatim > span:first-child { margin-top:0; }
/* Recovery and saved-copy checks share the existing report dialog treatment. */
#saved-copy-dialog, #pdf-recovery-dialog { width: min(100% - 32px, 600px); max-height: 90vh; padding: 0; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 24px 75px #14235d55; }
#saved-copy-dialog::backdrop, #pdf-recovery-dialog::backdrop { background: #101b42aa; }
#saved-copy-dialog p, #pdf-recovery-dialog p { max-width: none; overflow-wrap: anywhere; }
#saved-copy-dialog .review-actions, #pdf-recovery-dialog .review-actions { justify-content: flex-start; }

.role-badge.is-contributor { color:#424a9a; background:#eaecfb; border:1px solid #cfd4f4; }

/* AI-SECRETT: brand violet, slate text, and distinct semantic colours. */
.brand img { width:225px; }
.hero-wrap { background:radial-gradient(circle at 90% 20%,#eee8ff,transparent 30%),linear-gradient(110deg,#f5f7fa,#fff); }
.hero h1 span,.eyebrow,.overline { color:var(--blue); }
.site-nav a[aria-current="page"] { border-bottom-color:var(--blue); }
.dash-hero { background:radial-gradient(circle at 88% 4%,rgb(190 165 255 / 22%),transparent 55%),linear-gradient(110deg,#302153,#4b2784); }
.dash-hero-kicker { color:#e7dfff; }
.dash-progress-fill { background:#c8b5ff; }
.dash-tabs button { color:#46566b; background:#fff; }
.dash-tabs button.is-active { color:#fff; background:var(--blue); border-color:var(--blue); }
.dash-pill { color:#46566b; background:#f1f4f7; border-color:#d2dbe5; }
.dash-pill.positive { color:#116154; background:#e2f4ec; border-color:#acd7c5; }
.dash-pill.watch { color:#834719; background:#fff1d9; border-color:#e8c58b; }
.dash-gantt-legend i.wp,.dash-gantt-cell.is-active::before { background:#7950c4; }
.dash-gantt-legend i.task,.is-task .dash-gantt-cell.is-active::before { background:#168778; }
.dash-gantt-legend i.review { background:#236d9b; }
.dash-gantt-cell.is-review::after { border-color:#236d9b; border-top-style:dashed; border-bottom-style:dashed; }
.dash-gantt-cell.is-closeout { background:#f1f7fb; }
.dash-gantt-month.is-closeout { background:#e8f2f8; }
.dash-gantt-event-count { color:#4b327a; background:#f0eafa; }
.dash-gantt-review-count { color:#20577c; background:#e7f1f8; }
.dash-calendar-review-note { color:#20577c; background:#e7f1f8; border-color:#b4cfdf; }
.dash-calendar-meeting-note { padding:12px 15px; border-left:3px solid #7950c4; border-radius:6px; background:#f6f2fc; color:#3e3057; font-size:13px; }
.dash-calendar-deadline-note { color:#526277; font-size:12px; }
.task-card-role,.wp-task-meta,.task-role { color:#46566b; }
label,.dash-control > span,.dash-kpi-group { color:#46566b; }
.task-card.is-lead .task-card-role { color:#593096; }
.dash-kpi-table-star { color:#593096; }
@media(max-width:700px) { .brand img { width:175px; } .brand-label { font-size:14px; } .dash-pill { white-space:normal; } }

/* Contrast repairs discovered in the live palette audit. */
.dashboard-meta,.dash-gantt-month small,.dash-calendar-weekday,.dash-calendar-report-note,.dash-wp-output-row > summary small,.dash-report-identity small,.dash-report-score small { color:#526277; }
.role-badge.is-leader { color:#593096; background:#f0e8fc; border-color:#cbb6ea; }
.role-badge.is-participant { color:#20577c; background:#e8f2f9; border-color:#b5cfdf; }
.role-badge.is-contributor { color:#46566b; background:#eef2f6; border-color:#c8d2df; }
.task-card.is-no_work { border-color:#b5c1ce; background:#f4f6f8; }
.task-state.is-no_work { color:#46566b; background:#e6ebf1; }
.eyebrow-line { background:var(--blue); }
.dash-gantt-legend i.draft,.dash-gantt-legend i.due { width:3px; height:12px; border-radius:1px; }
.dash-gantt-legend i.selected { width:10px; height:10px; border-radius:2px; background:#fff1d8; border:2px solid #9c641c; }
.dash-task-deadlines { padding:10px 12px; border-left:3px solid #d08c24; background:#fff7e8; color:#71461b; font-size:12px; }

.dash-gantt-draft-count { display:block; margin:2px auto 0; color:#834719; font-size:9px; font-weight:800; }

/* AI-SECRETT palette: violet is for navigation and selection; status colours stay distinct. */
:root { --selection-violet:#5b25e8; --selection-violet-dark:#4b1ebc; --selection-violet-pale:#f1ebff; }
:focus-visible { outline-color:var(--selection-violet-dark); }
.site-nav a:hover { color:var(--selection-violet-dark); border-bottom-color:var(--selection-violet); }
.step-pill,.guidance-icon { color:var(--selection-violet-dark); background:var(--selection-violet-pale); }
.guidance-card,.choice-card:first-child { border-top-color:var(--selection-violet); }
.journey-symbol,.journey-number,.privacy-icon { color:var(--selection-violet-dark); }
.privacy-icon { background:var(--selection-violet-pale); }
.field .partner-kind-choice label:has(input:checked),.radio-row label:has(input:checked) { border-color:#a98de9; background:var(--selection-violet-pale); }
.field .partner-kind-choice input { accent-color:var(--selection-violet); }
.timeline-month:hover { border-color:var(--selection-violet); }
.timeline-month.is-in-range { color:#4b1ebc; background:var(--selection-violet-pale); border-color:#a98de9; }
.selection-message { color:#4b1ebc; background:#f4efff; border-color:#ccb8f5; }
.selected-summary { color:#4b1ebc; }
.draft-actions { background:#f5f1ff; border-color:#d4c3f8; }
.draft-actions strong { color:var(--selection-violet-dark); }
.extra-pick-option:hover,.extra-pick-option:has(input:checked) { background:var(--selection-violet-pale); }
.kpi-context-card[open],.dash-kpi-row[open] { border-color:#a98de9; }
.dash-kpi-lenses button.is-selected { border-color:var(--selection-violet); background:var(--selection-violet-pale); color:var(--selection-violet-dark); }
.dash-wp-directory-card.is-selected { border-color:#a98de9; border-left-color:var(--selection-violet); background:#f7f3ff; }
.dash-wp-directory-card.is-selected .dash-wp-directory-metrics span { background:#ece3ff; }
.dash-calendar-day:hover { border-color:#b9a1ef; background:#f7f3ff; }
.dash-calendar-day.is-selected { outline-color:var(--selection-violet); background:var(--selection-violet-pale); }

.task-card { background:#fff; border-color:#d6deea; }
.task-card.is-draft,.wp-leader-card.is-draft { border-color:#b88a34; background:#fff9e9; box-shadow:inset 5px 0 #b88a34; }
.task-card.is-no_work,.wp-leader-card.is-no_work { border-color:#677c94; background:#eaf0f6; box-shadow:inset 5px 0 #677c94; }
.task-card.is-completed,.wp-leader-card.is-completed { border-color:#25835f; background:#e7f7ee; box-shadow:inset 5px 0 #25835f; }
.task-state { color:#684a12; background:#fff0c8; border:1px solid #dfbd6b; }
.task-state.is-no_work { color:#344b64; background:#d9e3ee; border-color:#9bacbd; }
.task-state.is-completed { color:#145f43; background:#d2f0df; border-color:#8fcfae; }
.task-card.is-no_work .task-chosen-coverage { color:#405871; }
.task-card.is-draft .task-chosen-coverage { color:#775410; }

/* Communication answers use AI-SECRETT violet when a section is expanded. */
#communication-form .conditional { border-left-color:var(--selection-violet); background:#f8f5ff; }
#communication-form .event-entry { border-color:#d5c3fa; }
#communication-form .event-entry-top strong { color:var(--selection-violet-dark); }

/* Range controls keep their actions next to either project timeline. */
.timeline-clear { display:inline-block; margin:9px 0 3px; padding:5px 0; border:0; background:transparent; color:var(--selection-violet-dark); font-size:12px; font-weight:750; text-decoration:underline; text-underline-offset:3px; }
.timeline-clear:disabled { color:#8490a2; cursor:default; text-decoration:none; }

/* A softer mauve separates no-work from amber drafts and green completed work. */
.task-card.is-no_work,.wp-leader-card.is-no_work { border-color:#b88baa; background:#faf0f6; box-shadow:inset 5px 0 #94627f; }
.task-state.is-no_work { color:#633b55; background:#eedbe8; border-color:#c99fba; }
.task-card.is-no_work .task-chosen-coverage { color:#704a62; }
.role-badge.is-leader { color:#4b1ebc; background:#eee7ff; border-color:#bda8ec; }
.role-badge.is-participant { color:#783d5d; background:#faebf3; border-color:#ddb0c8; }
.role-badge.is-contributor { color:#3f5270; background:#eaf0f7; border-color:#b9cadd; }
.task-card.is-lead .task-card-role { color:#4b1ebc; }

/* Dashboard and expanded subsections use the AI-SECRETT palette. */
.dash-gantt-legend i.task,.is-task .dash-gantt-cell.is-active::before { background:#c787ad; }
.is-task .dash-gantt-label { background:#fff3f8; }
.is-task .dash-gantt-label strong { color:#783d5d; }
.dash-gantt-label strong,.dash-wp-task-body h4 { color:#5b25e8; }
.dash-state-note { border-color:#d5c4f3; border-left-color:#7950c4; background:#f7f3ff; }
.dash-state-note strong { color:#4b1ebc; }
.dash-state-note p { color:#4b5672; }
.dash-mode-switch { background:#eee9f8; }
.dash-mode-switch button.is-selected { color:#4b1ebc; }
.dash-report-summary > div { border-color:#ded2f3; background:linear-gradient(145deg,#fff,#f8f5ff); }
.dash-report-summary strong { color:#4b1ebc; }
.dash-report-item.complete { border-left-color:#7950c4; }
.dash-report-item.complete .dash-report-progress i { background:#7950c4; }
.dash-report-item > summary:hover { background:#f8f5ff; }
.dash-report-item > .dash-record-box { background:#fcfaff; }
.dash-report-id { color:#4b1ebc; background:#eee7ff; }
.dash-report-chevron { color:#5b25e8; }
.kpi-context-card { border-color:#d9cdec; }
.kpi-context-card[open] { border-color:#a98de9; box-shadow:0 7px 20px #5b25e81a; }
.kpi-context-number { color:#4b1ebc; background:#eee7ff; }
.dash-kpi-figures strong,.dash-kpi-reference-table .dash-kpi-actual { color:#4b1ebc; }
.dash-kpi-reference-table thead th { background:#4b2784; }
.dash-kpi-reference-table tbody tr.is-focused { background:#f1ebff; box-shadow:inset 4px 0 #7950c4; }
.dash-kpi-reference-table .dash-kpi-code,.dash-kpi-source-code,.dash-kpi-table-contributors summary { color:#4b1ebc; }
.dash-kpi-reference .dash-kpi-lens-intro { text-align:left; }
.choice-mark,.choice-button[aria-pressed="true"],.task-pdf-link:hover,.dash-detail summary:hover,.dash-commitment-detail > summary:hover .dash-commitment-identity strong { color:#4b1ebc; }
.task-meta,.task-card small,.dash-risk-card small { color:#4b5672; }
.task-card .task-chosen-coverage,.dash-agenda-date,.dash-wp-directory-id { color:#5b25e8; }
.conditional { border-left-color:#7950c4; background:#f8f5ff; }
.extra-pick-option input { accent-color:#5b25e8; }
.progress-fill,.dash-wp-segment { background:#7950c4; }
.dash-wp-map-item.is-active { border-left-color:#7950c4; }
.dash-wp-map-top strong,.dash-kpi-group,.kpi-call-row-body strong,.dash-objective-body h4,.dash-call-id,.dash-call-body strong,.kpi-saved-list h4 { color:#4b1ebc; }
.dash-objective-card[open],.dash-call-kpi[open] { border-color:#a98de9; box-shadow:0 8px 24px #5b25e81a; }
.dash-objective-number { color:#4b1ebc; background:#eee7ff; }
.kpi-choice-suggested { color:#4b1ebc; background:#eee7ff; }
.kpi-choice-recorded { color:#4b1ebc; }

/* Keep the Task leader subtitle neutral so it reads as context, not a status. */
.task-card .task-card-role { color:#344054; font-size:12px; font-weight:650; letter-spacing:0; }

/* KPI tables: clear reading widths, aligned labels, and restrained emphasis. */
.dash-kpi-reference .dash-section-head p,.dash-kpi-reference .dash-kpi-lens-intro { max-width:72ch; text-align:left; }
.dash-kpi-section-nav { display:flex; flex-wrap:wrap; gap:9px; margin:18px 0 24px; }
.dash-kpi-section-nav button { border:1px solid #cbb9e7; border-radius:999px; padding:9px 13px; background:#f8f4ff; color:#442773; font:inherit; font-size:12px; font-weight:750; cursor:pointer; }
.dash-kpi-section-nav button:hover,.dash-kpi-section-nav button:focus-visible { background:#eadfff; border-color:#8460c7; }
.dash-kpi-group-section { margin:26px 0 32px; scroll-margin-top:100px; }
.dash-kpi-group-section h3 { margin:0 0 12px; color:#392267; font-size:19px; line-height:1.3; }
.dash-kpi-contributions { margin-top:10px; padding:9px 11px; border:1px solid #e2d7f2; border-radius:8px; background:#faf7ff; color:#3d3456; font-size:12px; font-weight:500; }
.dash-kpi-contributions summary { color:#4b1ebc; font-weight:750; cursor:pointer; }
.dash-kpi-contributions p { margin:9px 0 0; line-height:1.5; overflow-wrap:anywhere; }
.dash-kpi-contributions p strong { display:block; color:#30234f; }
.dash-partner-kpi-panel { margin-top:20px; padding:14px 16px; border:1px solid #dfd5ee; border-radius:10px; background:#fbf9fe; }
.dash-partner-kpi-panel h4 { margin:0 0 8px; color:#392267; }
.dash-partner-kpi-panel p { margin:7px 0; overflow-wrap:anywhere; }
#report-code-preview { color:#442773; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:12px; overflow-wrap:anywhere; }
.dash-kpi-table-wrap { border-color:#d9d2e7; box-shadow:0 8px 24px #3321580b; scrollbar-color:#bca8df #f5f1fa; }
.dash-kpi-reference-table { min-width:1040px; table-layout:fixed; border-collapse:separate; border-spacing:0; color:#344054; font-size:14px; line-height:1.58; }
.dash-kpi-reference-table caption { padding:17px 20px; color:#30234f; background:#f6f2fc; font-size:16px; }
.dash-kpi-reference-table thead th { padding:13px 16px; background:#4b2784; font-size:12px; line-height:1.4; letter-spacing:.02em; }
.dash-kpi-reference-table tbody th,.dash-kpi-reference-table td { padding:17px 16px; border-top:1px solid #e7e1ee; vertical-align:top; text-align:left; overflow-wrap:anywhere; }
.dash-kpi-reference-table tbody tr:nth-child(even) { background:#fbf9fe; }
.dash-kpi-reference-table tbody tr:hover { background:#f7f2ff; }
.dash-kpi-reference-table tbody th { color:#30234f; font-weight:750; }
.dash-kpi-reference-table .dash-kpi-verbatim { margin:0 0 9px; text-align:justify; text-align-last:left; hyphens:auto; line-height:1.65; }
.dash-kpi-reference-table .dash-kpi-verbatim:last-child { margin-bottom:0; }
.dash-kpi-reference-table .dash-kpi-page { width:auto; margin:0 0 8px; color:#56637a; font-size:11px; font-weight:600; text-align:left; }
.dash-kpi-reference-table .dash-kpi-page:last-child { margin-bottom:0; }
.dash-kpi-reference-table .dash-kpi-code { width:6%; color:#4b1ebc; font-size:13px; }
.dash-kpi-reference-table.is-project-table th:nth-child(2) { width:19%; }
.dash-kpi-reference-table.is-project-table th:nth-child(3) { width:31%; }
.dash-kpi-reference-table.is-project-table th:nth-child(4) { width:26%; }
.dash-kpi-reference-table.is-project-table th:nth-child(5) { width:18%; }
.dash-kpi-reference-table.is-communication-table { min-width:920px; }
.dash-kpi-reference-table.is-communication-table th:nth-child(1) { width:35%; }
.dash-kpi-reference-table.is-communication-table th:nth-child(2) { width:13%; }
.dash-kpi-reference-table.is-communication-table th:nth-child(3) { width:35%; }
.dash-kpi-reference-table.is-communication-table th:nth-child(4) { width:17%; }
.dash-kpi-reference-table .dash-kpi-target { color:#4b1ebc; font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap; }
.dash-kpi-evidence-list { margin:0; padding-left:18px; }
.dash-kpi-evidence-list li + li { margin-top:5px; }
.dash-kpi-evidence-list li::marker { color:#7950c4; }
.dash-kpi-reference-table.is-indicator-index { min-width:1040px; }
.dash-kpi-reference-table.is-indicator-index th:nth-child(1) { width:19%; }
.dash-kpi-reference-table.is-indicator-index th:nth-child(2) { width:48%; }
.dash-kpi-reference-table.is-indicator-index th:nth-child(3) { width:12%; }
.dash-kpi-reference-table.is-indicator-index th:nth-child(4) { width:21%; }
.dash-kpi-reference-table.is-indicator-index td:nth-child(2) { width:auto; }
.dash-kpi-reference-table .dash-kpi-actual { width:auto; min-width:0; font-variant-numeric:tabular-nums; }
.dash-kpi-index-source + .dash-kpi-index-source { border-top-color:#e7e1ee; }
.dash-kpi-field-label { color:#4b1ebc; font-weight:800; }

/* Agreement KPI tables: targets and reviewed measurements share one reading line. */
.dash-kpi-reference .dash-kpi-lenses { gap:0; width:max-content; max-width:100%; padding:4px; border:1px solid #ded5eb; border-radius:12px; background:#f6f2fb; }
.dash-kpi-reference .dash-kpi-lenses button { border:0; border-radius:9px; padding:10px 17px; background:transparent; color:#514568; cursor:pointer; }
.dash-kpi-reference .dash-kpi-lenses button.is-selected { background:#fff; color:#43217f; box-shadow:0 2px 9px #35224a1d; }
.dash-kpi-reference .dash-kpi-lens-intro { margin:0 0 20px; color:#5b5670; font-size:13px; line-height:1.55; }
.dash-kpi-reference .dash-kpi-group-section { margin-top:28px; }
.dash-kpi-reference .dash-kpi-group-section h3 { padding-left:12px; border-left:4px solid #8d6adc; }
.dash-kpi-reference .dash-kpi-table-wrap { border:1px solid #e0d8eb; border-radius:13px; box-shadow:0 5px 18px #3526530c; }
.dash-kpi-reference .dash-kpi-reference-table { min-width:1170px; }
.dash-kpi-reference .dash-kpi-reference-table caption { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.dash-kpi-reference .dash-kpi-reference-table thead th { padding:13px 14px; background:#3d2a64; font-size:11px; text-transform:uppercase; letter-spacing:.045em; }
.dash-kpi-reference .dash-kpi-reference-table tbody th,.dash-kpi-reference .dash-kpi-reference-table td { padding:16px 14px; line-height:1.5; }
.dash-kpi-reference .dash-kpi-reference-table tbody tr:nth-child(even) { background:#fdfcff; }
.dash-kpi-reference .dash-kpi-reference-table tbody tr:hover { background:#f7f3fd; }
.dash-kpi-reference .dash-kpi-reference-table .dash-kpi-verbatim { text-align:left; hyphens:none; line-height:1.55; white-space:pre-line; }
.dash-kpi-reference .dash-kpi-reference-table .dash-kpi-code { width:6%; font-size:14px; font-weight:850; }
.dash-kpi-reference .dash-kpi-reference-table.is-project-table th:nth-child(2) { width:18%; }
.dash-kpi-reference .dash-kpi-reference-table.is-project-table th:nth-child(3) { width:25%; }
.dash-kpi-reference .dash-kpi-reference-table.is-project-table th:nth-child(4) { width:14%; }
.dash-kpi-reference .dash-kpi-reference-table.is-project-table th:nth-child(5) { width:22%; }
.dash-kpi-reference .dash-kpi-reference-table.is-project-table th:nth-child(6) { width:15%; }
.dash-kpi-reference .dash-kpi-reference-table.is-communication-table th:nth-child(1) { width:27%; }
.dash-kpi-reference .dash-kpi-reference-table.is-communication-table th:nth-child(2) { width:13%; }
.dash-kpi-reference .dash-kpi-reference-table.is-communication-table th:nth-child(3) { width:27%; }
.dash-kpi-reference .dash-kpi-reference-table.is-communication-table th:nth-child(4) { width:22%; }
.dash-kpi-reference .dash-kpi-reference-table.is-communication-table th:nth-child(5) { width:11%; }
.dash-kpi-reference .dash-kpi-measurement { background:#fcfaff; }
.dash-kpi-result { display:grid; gap:4px; padding:10px 12px; border:1px solid #e7dff1; border-radius:9px; background:#fff; }
.dash-kpi-result span { color:#695e7c; font-size:10px; font-weight:800; line-height:1.35; text-transform:uppercase; letter-spacing:.04em; }
.dash-kpi-result strong { color:#4a2c78; font-size:15px; line-height:1.3; font-weight:800; }
.dash-kpi-result.is-pending strong { color:#655c72; font-size:13px; font-weight:700; }
.dash-kpi-measurement .dash-kpi-contributions { margin-top:8px; padding:0; border:1px solid #d9cbee; border-radius:9px; background:#fff; font-size:12px; }
.dash-kpi-measurement .dash-kpi-contributions summary { padding:10px 12px; color:#4b2784; line-height:1.35; }
.dash-kpi-measurement .dash-kpi-contributions[open] summary { border-bottom:1px solid #e9e0f3; background:#f7f3fd; }
.dash-kpi-contribution-entry { padding:10px 12px; }
.dash-kpi-contribution-entry + .dash-kpi-contribution-entry { border-top:1px solid #eee8f3; }
.dash-kpi-contribution-top { display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px 10px; }
.dash-kpi-contribution-top strong { color:#322549; font-size:12px; }
.dash-kpi-contribution-top b { color:#4b2784; font-variant-numeric:tabular-nums; }
.dash-kpi-contribution-entry small { display:block; margin-top:5px; color:#665d74; overflow-wrap:anywhere; line-height:1.4; }
.dash-kpi-contributions .dash-kpi-contribution-empty { margin:0; padding:10px 12px; color:#655c72; }

/* Task writing guidance stays available beside each question-mark button. */
.guided-field { position:relative; }
.guided-label { display:flex; align-items:center; gap:7px; margin-bottom:9px; }
.guided-label label { margin:0; }
.guidance-anchor { position:relative; display:inline-grid; place-items:center; }
.guidance-trigger { display:inline-grid; place-items:center; width:20px; height:20px; padding:0; border:1px solid #c7b8e8; border-radius:50%; background:#f4efff; color:#4b1ebc; font-size:12px; font-weight:800; line-height:1; cursor:help; }
.guidance-trigger:hover,.guidance-trigger:focus-visible { border-color:#7650c7; background:#e9dfff; }
.guided-field textarea::placeholder { color:#68758a; opacity:1; }
.guided-field textarea { min-height:110px; padding-bottom:24px; font-family:inherit; line-height:1.5; }
.guided-field::after { content:'↘ Drag corner to expand'; display:block; margin-top:4px; color:#647187; font-size:11px; text-align:right; }
.field-tooltip { position:absolute; z-index:12; left:-10px; bottom:calc(100% + 8px); width:min(350px,calc(100vw - 40px)); padding:10px 12px; border:1px solid #cdbdec; border-radius:9px; background:#fff; color:#3d3456; box-shadow:0 8px 24px #2f1e571f; font-size:12px; font-weight:400; line-height:1.45; visibility:hidden; opacity:0; pointer-events:none; }
.field-row .field-tooltip { left:auto; right:-10px; }
.guided-field:has(textarea:not(:placeholder-shown)):hover:not(:focus-within) .field-tooltip,.guidance-anchor:hover .field-tooltip,.guidance-anchor:focus-within .field-tooltip { visibility:visible; opacity:1; }
@media(max-width:700px) { .field-tooltip,.field-row .field-tooltip { width:min(210px,calc(100vw - 36px)); left:auto; right:-4px; } }

@media(max-width:780px) {
  .dash-kpi-table-wrap { overflow:visible; border:0; background:transparent; box-shadow:none; }
  .dash-kpi-reference-table,.dash-kpi-reference-table.is-project-table,.dash-kpi-reference-table.is-communication-table,.dash-kpi-reference-table.is-indicator-index { display:block; width:100%; min-width:0; }
  .dash-kpi-reference-table caption { display:block; margin-bottom:10px; padding:14px 16px; border:1px solid #ddd2ee; border-radius:10px; }
  .dash-kpi-reference-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .dash-kpi-reference-table tbody { display:grid; gap:12px; }
  .dash-kpi-reference-table tbody tr { display:block; overflow:hidden; border:1px solid #ddd5e9; border-radius:12px; background:#fff; box-shadow:0 5px 15px #3321580a; }
  .dash-kpi-reference-table tbody tr:nth-child(even),.dash-kpi-reference-table tbody tr:hover { background:#fff; }
  .dash-kpi-reference-table tbody th,.dash-kpi-reference-table tbody td { display:block; width:100%!important; min-width:0!important; padding:12px 15px; border-top:1px solid #eee8f3; font-size:13px; line-height:1.55; }
  .dash-kpi-reference-table tbody tr > :first-child { border-top:0; background:#f7f3fc; font-size:14px; }
  .dash-kpi-reference-table tbody [data-label]::before { content:attr(data-label); display:block; margin-bottom:5px; color:#625178; font-size:10px; font-weight:800; line-height:1.3; letter-spacing:.07em; text-transform:uppercase; }
  .dash-kpi-reference-table .dash-kpi-verbatim,.dash-kpi-reference .dash-kpi-verbatim { text-align:left; hyphens:none; }
  .dash-kpi-reference-table .dash-kpi-target { font-size:15px; }
  .dash-kpi-reference .dash-section-head p,.dash-kpi-reference p { text-align:left; }
}
/* Staff effort reporting and dashboard. */
.effort-editor-panel{margin:24px 0;padding:20px;border:1px solid #d8d0ea;border-radius:14px;background:#fcfaff}.effort-editor-panel h4{margin:0;color:#352455;font-size:18px}.effort-editor-panel .guided-label{justify-content:flex-start;gap:9px}.effort-editor-panel .guidance-anchor{position:relative}.effort-editor-panel .field-tooltip{left:0;right:auto;width:min(410px,75vw)}.effort-live-summary{display:flex;flex-direction:column;gap:6px;margin:14px 0;color:#504460;font-size:13px}.effort-live-summary strong{color:#4c2986;font-size:16px}.effort-month-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;margin:16px 0}.effort-month-field{padding:12px;background:white;border:1px solid #e2daec;border-radius:10px}.effort-month-field>span{display:block;margin-bottom:7px;color:#4c3b60;font-size:12px;font-weight:700}.effort-month-field small{display:block;margin-top:6px;font-size:11px;color:#655c71}.effort-month-field input{width:100%;min-height:40px}.effort-month-field.is-invalid{border-color:#ab3452;background:#fff4f6}.effort-editor-panel>label{display:block;font-size:13px;font-weight:700;color:#4c3b60}.effort-editor-panel textarea,.effort-editor-panel select{margin-top:8px}.effort-over{color:#86500c!important;font-weight:700}.effort-error{color:#a12c49!important;font-weight:700}.effort-counter{display:flex;flex-direction:column;gap:3px;color:#4d2e7b;font-size:12px;line-height:1.4}.effort-counter strong{font-variant-numeric:tabular-nums;font-size:14px}.effort-counter small{color:#6a5b7a;font-size:10px}.task-card-tools .effort-counter{text-align:right;margin:7px 0}.task-package.has-effort{position:relative}.task-package.has-effort>h4{padding-right:290px}.effort-wp-counter{position:absolute;top:22px;right:22px;text-align:right;max-width:280px}.effort-wp-counter button{margin-top:5px;font-size:11px}.effort-extra-count{color:#4d2e7b;font-size:13px;font-weight:700}.effort-report-summary,.effort-partner-summary{display:flex;flex-direction:column;gap:8px;padding:16px;margin:16px 0;border:1px solid #ded5ed;background:#faf7ff;border-radius:10px;font-size:13px;color:#59466f}.effort-report-summary>span{font-size:12px}#staff-effort-dialog{width:min(880px,95vw);max-width:95vw;max-height:90vh;overflow:auto}#staff-effort-dialog .individual-pdf-content{max-width:none}
.effort-controls{display:flex;flex-wrap:wrap;gap:12px;padding:16px;margin:20px 0;background:#f7f4fb;border:1px solid #e0d8ee;border-radius:12px}.effort-controls label{display:flex;flex:1 1 150px;flex-direction:column;gap:6px;color:#58436d;font-size:12px;font-weight:700}.effort-controls select,.effort-controls input{width:100%;min-height:40px;margin:0;background:white}.effort-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}.effort-stats>div{display:flex;flex-direction:column;gap:9px;padding:20px;border:1px solid #e0d8eb;border-radius:12px;background:#fff}.effort-stats small{color:#685c78;font-size:12px;font-weight:700}.effort-stats strong{color:#4c2986;font-size:25px;font-variant-numeric:tabular-nums}.effort-stats span{font-size:12px;color:#756b7e;line-height:1.5}.effort-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin:16px 0;color:#65576f;font-size:12px}.effort-legend span:first-child{color:#582d8c;font-weight:700}.effort-method{padding:12px 15px;border:1px solid #e4ddeb;border-radius:9px;margin:12px 0;color:#675674;font-size:12px}.effort-method summary{cursor:pointer;font-weight:700;color:#5d3987}.effort-method p{line-height:1.6}.effort-scroll-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:18px 0 12px}.effort-scroll-tools input[type=range]{flex:1 1 160px;min-width:100px;width:auto;padding:0;accent-color:#7250a8}.effort-scroll-tools button{font-size:12px;min-height:36px;padding:8px 12px}
.effort-table-wrap{overflow:auto;max-height:72vh;border:1px solid #dcd2e8;border-radius:12px;overscroll-behavior-x:contain;scrollbar-color:#a790c3 #f1ebf7;scrollbar-width:auto}.effort-table-wrap:focus-visible{outline:3px solid #8a62bc;outline-offset:4px}.effort-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12px;background:#fff}.effort-table caption{text-align:left;padding:14px 18px;color:#614a77;background:#f7f3fb;font-weight:700}.effort-table th,.effort-table td{padding:13px 15px;min-width:115px;border-bottom:1px solid #e9e3ef;border-right:1px solid #eee9f3;vertical-align:top;white-space:normal;font-variant-numeric:tabular-nums}.effort-table thead th{position:sticky;top:0;background:#eee7f6;color:#4f3569;z-index:3;text-align:right}.effort-table th:first-child{position:sticky;left:0;width:315px;min-width:315px;max-width:315px;text-align:left;background:#fff;z-index:2;box-shadow:4px 0 8px #44206d09}.effort-table td:last-child,.effort-table thead th:last-child{position:sticky;right:0;z-index:2;min-width:140px;background:#f7f3fc;box-shadow:-4px 0 8px #44206d09}.effort-table thead th:first-child,.effort-table thead th:last-child{z-index:5;background:#eae1f4}.effort-table td{text-align:right}.effort-table td strong,.effort-table td span,.effort-table td small{display:block}.effort-reported{color:#573080;font-size:14px}.effort-planned{color:#6c5a7a;margin-top:3px;font-size:12px}.effort-table td.is-over{background:#fff8ed}.effort-table td .effort-over{margin-top:5px;font-size:10px}.effort-table th button{display:block;width:100%;padding:0;background:transparent;border:0;text-align:left;color:inherit;font:inherit;font-weight:700;cursor:pointer;line-height:1.5}.effort-table th small{display:block;margin-top:6px;color:#716079;font-weight:400;font-size:10px}.effort-table .effort-row-partner>th{color:#432858;border-bottom:1px solid #dcd1e9}.effort-row-wp>th,.effort-row-wp>td{background:#f8f5fc!important}.effort-row-wp>th{padding-left:26px;color:#624a79}.effort-row-task>th{padding-left:38px;font-weight:500;color:#6b577a}.effort-row-task td{font-size:11px}.effort-row-direct>th{padding-left:38px;color:#6b577a;font-size:11px}.effort-table tfoot th,.effort-table tfoot td{position:sticky;bottom:0;z-index:3;background:#eee6f6!important;border-top:2px solid #c5b3d9;font-weight:800}.effort-table tfoot th:first-child,.effort-table tfoot td:last-child{z-index:4}.effort-month-detail>td{text-align:left!important;padding:0!important}.effort-month-detail-inner{max-width:1000px;padding:20px;overflow:auto;background:#fcfaff}.effort-month-detail-inner>strong{color:#593777;display:block;margin-bottom:12px}.effort-month-detail table{width:100%;border-collapse:collapse}.effort-month-detail table th,.effort-month-detail table td{position:static!important;background:transparent!important;width:auto!important;min-width:120px!important;max-width:none!important;text-align:left!important;font-size:11px;box-shadow:none!important}.effort-source{color:#716079;font-size:11px;line-height:1.6;margin:16px 0}.effort-source span{display:block}
@media(max-width:800px){.task-package.has-effort>h4{padding-right:0}.effort-wp-counter{position:static;text-align:left;margin:10px 0;max-width:none}.effort-stats{grid-template-columns:1fr}.effort-table th:first-child{min-width:205px;max-width:205px;width:205px}.effort-table td:last-child,.effort-table thead th:last-child{min-width:115px}.effort-table td,.effort-table th{padding:11px}.effort-editor-panel{padding:14px}}
.effort-controls select,.effort-controls input{border:1px solid #d8cde5;border-radius:8px;padding:9px 11px;color:#4c3c5e;font:inherit;font-weight:500}.effort-controls input::placeholder{color:#786582}.effort-table tbody .effort-row-partner:hover>td,.effort-table tbody .effort-row-partner:hover>th{background:#faf7fe}.effort-table th button:focus-visible{outline:2px solid #9066bc;outline-offset:4px;border-radius:3px}
@media(max-width:520px){.effort-table th:first-child{min-width:145px;max-width:145px;width:145px}.effort-table td:last-child,.effort-table thead th:last-child{min-width:90px;width:90px}.effort-table th,.effort-table td{padding:9px;min-width:105px}.effort-table th button{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.effort-controls label{flex-basis:130px}.effort-scroll-tools button{font-size:11px}}
.effort-table-heading{margin:0!important;padding:13px 16px;color:#614a77;background:#f7f3fb;border:1px solid #dcd2e8;border-bottom:0;border-radius:12px 12px 0 0;font-size:12px;font-weight:700}.effort-table-wrap{border-top-left-radius:0;border-top-right-radius:0}.effort-table caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Clear staff effort entry and comparison cards. */
.effort-counter{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px 18px;align-items:flex-start;text-align:left;padding:10px 13px;border:1px solid #e0d7eb;border-radius:10px;background:#faf8fd}.effort-metric{display:flex;flex-direction:column;gap:3px;min-width:85px}.effort-metric small{font-size:11px;color:#665874;font-weight:600}.effort-metric strong{font-size:15px;color:#58476b;white-space:nowrap}.effort-metric-reported strong{color:#512b89}.effort-counter>.effort-over{flex-basis:100%;font-size:11px}.task-card-tools .effort-counter{text-align:left}.effort-wp-counter{max-width:290px}.effort-live-summary{margin:14px 0 20px}.effort-live-summary>.effort-counter{width:fit-content;background:white}.effort-entry-choice{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.effort-entry-choice label,.effort-total-field label,.effort-details-field label{color:#443251;font-size:13px;font-weight:700}.effort-entry-choice select{width:100%;margin:0;background:white;min-height:44px}.effort-total-field input{display:block;width:min(100%,320px);min-height:48px;border:1px solid #b9a6cf;border-radius:8px;padding:11px 13px;font-size:18px;background:white;color:#352144}.effort-total-field.is-invalid input{border:2px solid #ab3452;background:#fff4f6}.effort-details-field{display:flex;flex-direction:column;gap:8px;margin-top:22px;clear:both}.effort-details-field textarea{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:110px;margin:0;padding:12px 14px;border:1px solid #b9a6cf;border-radius:9px;background:white;color:#352144;font-family:inherit;font-size:14px;font-weight:400;line-height:1.6;resize:vertical}.effort-details-field textarea::placeholder{color:#75667e;opacity:1}.effort-entry-choice select:focus-visible,.effort-total-field input:focus-visible,.effort-details-field textarea:focus-visible{outline:3px solid #cab4e9;outline-offset:2px}.effort-month-grid[hidden],.effort-total-field[hidden]{display:none}.effort-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:800px){.effort-stats{grid-template-columns:1fr}.effort-wp-counter .effort-counter{width:fit-content}.effort-entry-choice select{font-size:13px}.effort-counter{gap:8px 16px}}
@media(max-width:800px){.effort-editor-panel .field-tooltip{left:0;right:auto;transform:translateX(-50%);width:min(310px,75vw)}}

/* Match additional-contribution and staff detail guidance to the Task editor. */
.effort-details-field .guided-label{margin-bottom:0}.effort-details-field::after{margin-top:0}
#extra-editor .guided-field textarea{resize:vertical}
@media(max-width:800px){#extra-editor .guided-field .guidance-anchor,.effort-details-field .guidance-anchor{position:static}#extra-editor .guided-field .field-tooltip,.effort-editor-panel .effort-details-field .field-tooltip{left:0;right:auto;transform:none;width:min(350px,100%)}}
#extra-editor .extra-edit-months{min-inline-size:0;max-width:100%;box-sizing:border-box}
