/* A quiet business outlook. The main question leads; evidence supports it. */
.lead-picture[hidden], .lead-picture-desktop { display: none; }
.lead-picture-open { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; margin: 4px 0 0; font-size: .9rem; }
.outlook { border-top: 2px solid var(--text); color: var(--text); padding-top: 16px; }
.outlook p, .outlook h2, .outlook h3 { margin: 0; }
.outlook .outlook-kicker { color: var(--text-dim); font: 700 .65rem/1.5 var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.outlook-kicker::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: 8px; border: 1px solid var(--control-edge); background: var(--accent); border-radius: 50%; }
.outlook h2 { margin-top: 6px; font: 700 1.35rem/1.2 var(--display); }
.outlook-heading { margin-bottom: 10px; }
.outlook-readiness { padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px solid var(--divider); }
.outlook-readiness-row + .outlook-readiness-row { margin-top: 6px; }
.outlook-readiness-open { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; min-height: 32px; padding: 0; border: 0; background: none; color: var(--text); text-align: left; font: 600 .88rem/1.3 var(--display); cursor: pointer; }
.outlook-readiness-open:hover span { text-decoration: underline; text-underline-offset: 3px; }
.outlook-readiness-open strong { flex-shrink: 0; font-size: .85rem; }
.outlook-readiness progress { appearance: none; display: block; width: 100%; height: 8px; border: 1px solid var(--control-edge); border-radius: 4px; background: var(--surface); overflow: hidden; }
.outlook-readiness progress::-webkit-progress-bar { background: var(--surface); }
.outlook-readiness progress::-webkit-progress-value { background: var(--accent); }
.outlook-readiness progress::-moz-progress-bar { background: var(--accent); }
.outlook-not-needed { border-top: 1px dashed var(--divider); margin-block: 3px; }
.outlook .outlook-readiness-detail { color: var(--text-dim); font: 400 .7rem/1.4 var(--display); margin-top: 5px; }
.outlook .outlook-scope-note { color: var(--text-dim); font: 400 .7rem/1.4 var(--display); margin-top: 8px; }
.outlook-research-link { font-size: .7rem; min-height: 32px; margin-top: 0; }
.lab-info-body > .outlook-checklist { display: grid; gap: 20px; }
.lab-info-body .outlook-checklist p { margin: 0; }
.outlook-check-summary { font-weight: 700; }
.outlook-check-group h3 { margin: 0 0 8px; }
.outlook-check-group ul, .outlook-research-apps { list-style: none; padding: 0; margin: 0; }
.outlook-check-group li { display: flex; justify-content: space-between; gap: 20px; padding: 10px 0; border-top: 1px solid var(--divider); }
.outlook-check-group li strong { flex-shrink: 0; color: var(--text-dim); font-size: .8rem; }
.outlook-check-group li[data-state="met"] strong { color: var(--text); }
.outlook-check-group li[data-state="met"] strong::before { content: '✓ '; }
.outlook-check-note { color: var(--text-dim); font-size: .85rem; line-height: 1.5; }
.outlook-research-path { display: grid; gap: 18px; padding-left: 22px; margin: 0; }
.outlook-research-path span, .outlook-research-apps span { display: block; margin-top: 4px; color: var(--text-dim); font-size: .9rem; line-height: 1.5; }
.outlook-research-apps li + li { margin-top: 12px; }
.outlook-check-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin: 16px 0 4px; }
.outlook-check-actions .lead-desk-door { margin: 0; font-size: .95rem; }
.outlook h3 { color: var(--text-dim); font: 650 .75rem/1.4 var(--display); }
.outlook-business, .outlook-future { padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px solid var(--divider); }
.outlook-kpis { display: grid; grid-template-columns: 1fr 1.1fr; gap: 14px; }
.outlook .outlook-kpi-value { margin-top: 5px; font: 700 1.35rem/1.2 var(--display); overflow-wrap: anywhere; }
.outlook .outlook-target { display: block; color: var(--text); font: 600 .7rem/1.4 var(--display); margin-top: 6px; }
.outlook .outlook-business-note { margin-top: 12px; color: var(--text-dim); font: 400 .73rem/1.4 var(--display); }
.outlook .outlook-value { margin-top: 4px; font: 650 1.125rem/1.3 var(--display); overflow-wrap: anywhere; }
.outlook .outlook-detail { color: var(--text-dim); margin-top: 5px; font: 400 .75rem/1.4 var(--display); overflow-wrap: anywhere; }
.outlook-timeline { display: flex; align-items: center; gap: 8px; color: var(--text-dim); font: 500 .6875rem/1.5 var(--mono); margin-top: 8px; }
.outlook-timeline i { flex: 1; border-top: 1px solid var(--text-dim); position: relative; }
.outlook-timeline i::after { content: ''; position: absolute; right: 0; top: -3px; width: 4px; height: 4px; border-top: 1px solid var(--text-dim); border-right: 1px solid var(--text-dim); transform: rotate(45deg); }
.outlook .outlook-basis-title { color: var(--text); font-size: .95rem; }
.outlook .outlook-basis-caption { color: var(--text-dim); font: 400 .7rem/1.4 var(--display); margin-top: 4px; }
.outlook-evidence-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 12px; margin-top: 12px; }
.outlook .outlook-evidence-label { display: flex; gap: 6px; align-items: center; color: var(--text-dim); font: 500 .72rem/1.4 var(--display); }
.outlook-evidence-label span { flex-shrink: 0; width: 9px; height: 9px; border: 1.5px solid var(--text-dim); border-radius: 50%; }
.outlook-evidence[data-evidence="present"] .outlook-evidence-label span { background: var(--accent); border-color: var(--control-edge); }
.outlook .outlook-evidence-value { font: 650 .88rem/1.3 var(--display); margin-top: 4px; }
.outlook-evidence[data-evidence="empty"] .outlook-evidence-value { color: var(--text-dim); font-weight: 400; }
.outlook .outlook-evidence-detail { color: var(--text-dim); font: 400 .67rem/1.4 var(--display); margin-top: 3px; }
.outlook .outlook-sensitivity { font: 500 .72rem/1.4 var(--display); margin-top: 12px; }
.outlook-context { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; border-top: 1px solid var(--divider); padding-top: 0; font: 500 .75rem/1.4 var(--display); }
.outlook-context button { font-size: .75rem; min-height: 44px; }
.outlook .outlook-expert { margin-top: 5px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; font: 400 .75rem/1.4 var(--display); color: var(--text-dim); }
.outlook-expert strong { font-weight: 550; text-align: right; }
.outlook-expert[data-review="known"] strong { color: var(--text); }
.outlook-expert[data-review="known"] strong::before { content: ''; display: inline-block; width: 8px; height: 8px; margin-right: 5px; border: 1px solid var(--control-edge); background: var(--accent); border-radius: 50%; }
#info-sheet .lead-picture-modal { max-width: 360px; margin: 0 auto; }
#info-sheet[data-info="lead:picture"] .lab-info-body { padding: 16px 24px 24px; }
.lead-picture-modal .outlook { border-top: 0; padding-top: 0; }
.lead-picture-modal .outlook-kicker { display: none; }
.outlook-context-form { display: grid; gap: 18px; }
.outlook-context-form p { margin: 0; }
.outlook-context-form > div { display: grid; gap: 8px; }
.outlook-context-form label { font-weight: 600; }
.outlook-context-form select { width: 100%; min-height: 52px; padding: 12px 44px 12px 16px; font-size: 1rem; }
.outlook-context-form .outlook-detail { color: var(--text-dim); font-size: .9rem; line-height: 1.5; }
.outlook-context-form [role="status"] { color: var(--text-dim); min-height: 1.4em; }
.outlook-context-form > button { justify-self: start; min-height: 44px; }
.outlook > section { animation: outlook-update 180ms ease-out; }
@keyframes outlook-update { from { opacity: .5; } to { opacity: 1; } }
@media (min-width: 80rem) and (min-height: 36rem) {
  html:not(.capture-requested) .lead-picture-open { display: none; }
  html:not(.capture-requested) .lead-picture-desktop:not([hidden]) {
    display: block; position: absolute; top: calc(var(--lead-pad) + 128px);
    right: calc(50% + 22rem); width: clamp(15rem, calc(50% - 22rem - 24px), 17rem);
  }
}
@media (prefers-reduced-motion: reduce) { .outlook > section { animation: none; } }

.outlook-check-reason{display:block;margin-top:.35rem;font-size:.8rem;line-height:1.4;color:var(--text-dim);font-weight:400}
