/* Centrigon cognitive-loop report: external CSS, no inline styles */
.report-page {
  --report-bg: #0b1120; --report-panel: #111c2f; --report-line: #26364d;
  --report-text: #e6edf7; --report-muted: #9caec4; --report-accent: #63b3ff;
  color: var(--report-text); background: var(--report-bg); padding: 0 1.25rem 4rem;
}
.report-article { max-width: 940px; margin: 0 auto; }
.report-hero { padding: clamp(3.5rem,8vw,6.5rem) 0 2.5rem; border-bottom: 1px solid var(--report-line); }
.report-eyebrow,.section-kicker,.finding-label,.closing-kicker { color: var(--report-accent); font-size: .75rem; font-weight: 800; letter-spacing: .13em; line-height: 1.5; text-transform: uppercase; }
.report-hero h1 { max-width: 820px; margin: 1rem 0; color: #f8fbff; font-size: clamp(2.4rem,6vw,4.7rem); font-weight: 800; letter-spacing: -.045em; line-height: 1.02; }
.report-deck { max-width: 760px; color: #bac9db; font-size: clamp(1.1rem,2.4vw,1.35rem); line-height: 1.65; }
.report-meta { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; color: var(--report-muted); font-size: .85rem; }
.report-content { max-width: 820px; margin: 0 auto; font-size: 1.02rem; line-height: 1.85; }
.report-content p { margin: 1.1rem 0; }
.report-content code { padding: .12rem .34rem; border: 1px solid #2a3a51; border-radius: .35rem; background: #0a1424; color: #b9ddff; font-size: .87em; overflow-wrap: anywhere; }
.report-lede { margin-top: 2.5rem !important; color: #f1f6fc; font-size: 1.2rem; line-height: 1.8; }
.report-section { margin-top: 4.5rem; scroll-margin-top: 2rem; }
.report-section h2 { margin: .3rem 0 1.1rem; color: #f7faff; font-size: clamp(1.8rem,4vw,2.65rem); letter-spacing: -.035em; line-height: 1.15; }
.report-section h3 { color: #f3f7fc; font-size: 1.15rem; line-height: 1.35; }
.section-kicker { margin-bottom: .6rem !important; }
.metric-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .8rem; margin: 1.8rem 0; }
.metric-card { display: flex; min-height: 125px; flex-direction: column; justify-content: space-between; padding: 1.2rem; border: 1px solid var(--report-line); border-radius: 1rem; background: linear-gradient(145deg,#14243a,#0f192a); }
.metric-value { color: var(--report-accent); font-size: clamp(2rem,4vw,2.8rem); font-weight: 800; letter-spacing: -.04em; line-height: 1; }
.metric-label { margin-top: .9rem; color: #b4c3d6; font-size: .83rem; line-height: 1.45; }
.report-note { margin: 1.4rem 0; padding: 1rem 1.2rem; border-left: 3px solid var(--report-accent); border-radius: 0 .7rem .7rem 0; background: #111d2e; color: #bdcadd; font-size: .93rem; line-height: 1.7; }
.data-table-wrap,.evidence-table-wrap { margin: 1.5rem 0; overflow-x: auto; border: 1px solid var(--report-line); border-radius: .9rem; }
.data-table { width: 100%; border-collapse: collapse; background: #0e1828; font-size: .9rem; line-height: 1.6; text-align: left; }
.data-table caption { padding: 1rem 1.1rem; background: #152238; color: #edf5ff; font-weight: 750; text-align: left; }
.data-table th,.data-table td { padding: .85rem 1rem; border-bottom: 1px solid #24334a; vertical-align: top; }
.data-table thead th { background: #152238; color: #dce9f8; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.data-table tbody th { width: 30%; color: #dce7f5; font-weight: 650; }
.data-table td { color: #b9c8da; }
.data-table tr:last-child th,.data-table tr:last-child td { border-bottom: 0; }
.phase-list { display: grid; gap: .9rem; margin-top: 1.7rem; }
.phase-card { display: grid; grid-template-columns: 3rem minmax(0,1fr); gap: 1rem; padding: 1.25rem; border: 1px solid var(--report-line); border-radius: 1rem; background: var(--report-panel); }
.phase-number { display: grid; width: 2.65rem; height: 2.65rem; place-items: center; border: 1px solid #2c5b83; border-radius: .8rem; background: #102c46; color: var(--report-accent); font-weight: 800; }
.phase-card h3 { margin: .1rem 0 .4rem; }
.phase-card p { margin: .55rem 0; color: #c0ccdb; }
.phase-caveat { padding-top: .6rem; border-top: 1px solid #29384c; color: var(--report-muted) !important; font-size: .9rem; }
.chart-card { margin: 1.5rem 0; padding: clamp(1rem,3vw,1.6rem); border: 1px solid var(--report-line); border-radius: 1rem; background: linear-gradient(150deg,#111e31,#0e1726); }
.chart-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.chart-heading h3 { margin: 0; }
.chart-heading p { margin: .35rem 0 0; color: var(--report-muted); font-size: .88rem; }
.chart-stat { color: #7ee0c3; font-size: 2rem; font-weight: 850; letter-spacing: -.04em; }
.bar-chart,.goal-bars { display: grid; gap: 1.2rem; }
.bar-row { display: grid; grid-template-columns: minmax(105px,1fr) minmax(100px,2fr) auto; align-items: center; gap: .8rem; }
.bar-label,.bar-value { color: #bdcadd; font-size: .82rem; }
.bar-value { min-width: 76px; text-align: right; font-variant-numeric: tabular-nums; }
.bar-track,.goal-track { height: .8rem; overflow: hidden; border-radius: 999px; background: #26344a; }
.bar-fill,.goal-fill { display: block; height: 100%; border-radius: inherit; }
.bar-fill-primary { width: 83.8%; background: linear-gradient(90deg,#3188e8,#7ac6ff); }
.bar-fill-muted { width: 16.2%; background: #8493a8; }
.chart-axis { display: flex; justify-content: space-between; margin: .65rem 7.5rem 0 7rem; color: #8193aa; font-size: .7rem; }
.chart-caption { margin: 1.2rem 0 0 !important; padding-top: 1rem; border-top: 1px solid #26364b; color: var(--report-muted); font-size: .83rem; line-height: 1.65; }
.event-bars { display: flex; min-height: 240px; align-items: flex-end; justify-content: space-around; gap: 1rem; padding: 1.2rem .5rem .4rem; border-bottom: 1px solid #34445a; background-image: linear-gradient(to top,#24344a 1px,transparent 1px); background-size: 100% 25%; }
.event-bar-group { display: flex; width: 28%; flex-direction: column; align-items: center; justify-content: flex-end; gap: .55rem; }
.event-bar-count { color: #e8f3ff; font-size: 1.1rem; font-weight: 800; }
.event-bar-column { width: min(76px,72%); min-height: 1rem; border-radius: .6rem .6rem 0 0; }
.event-bar-emergence { height: 190px; background: linear-gradient(180deg,#72c4ff,#287ac6); }
.event-bar-promotion { height: 190px; background: linear-gradient(180deg,#7ee0c3,#258e78); }
.event-bar-merge { height: 180px; background: linear-gradient(180deg,#c1a5ff,#7353bc); }
.event-bar-label { color: #c0ccdb; font-size: .82rem; text-align: center; }
.goal-row { display: grid; gap: .45rem; }
.goal-row-head { display: flex; justify-content: space-between; gap: 1rem; color: #c4d0df; font-size: .9rem; }
.goal-row-head strong { color: #f3f8ff; font-variant-numeric: tabular-nums; }
.goal-fill-added { width: 68.8%; background: #4e9ae7; }
.goal-fill-completed { width: 66.7%; background: #5fc7ac; }
.goal-fill-succeeded { width: 100%; background: #a28be8; }
.goal-fill-zero { width: 0; background: #f2bd68; }
.finding-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .9rem; margin-top: 1.5rem; }
.finding-card { padding: 1.2rem; border: 1px solid var(--report-line); border-radius: .9rem; background: var(--report-panel); }
.finding-card h3 { margin: .35rem 0 .65rem; }
.finding-card p,.finding-card li { color: #bcc9d9; font-size: .92rem; line-height: 1.7; }
.finding-card ul { padding-left: 1.2rem; }
.finding-warning { border-color: #655034; }
.finding-warning .finding-label { color: #f2bd68; }
.evidence-table td:first-child { min-width: 170px; }
.evidence-tag { display: inline-block; padding: .25rem .55rem; border: 1px solid currentColor; border-radius: 999px; font-size: .72rem; font-weight: 800; white-space: nowrap; }
.evidence-observed { color: #7ee0c3; }
.evidence-partial { color: #f2bd68; }
.evidence-open { color: #aab9cc; }
.next-steps { display: grid; gap: .85rem; padding-left: 1.5rem; }
.next-steps li { padding-left: .3rem; color: #c0ccdb; }
.next-steps strong { color: #f3f7fc; }
.closing-panel { margin-top: 2rem; padding: clamp(1.3rem,4vw,2rem); border: 1px solid #2a5276; border-radius: 1rem; background: radial-gradient(ellipse at top right,#163452,#101c2e 65%); }
.closing-panel h3 { max-width: 650px; margin: .7rem 0; font-size: clamp(1.4rem,3vw,2rem); letter-spacing: -.025em; line-height: 1.3; }
.closing-panel p:last-child { color: #bdcadd; }
.report-footer { margin-top: 3.5rem; padding-top: 1.5rem; border-top: 1px solid var(--report-line); color: #93a5bc; font-size: .83rem; line-height: 1.7; }
.report-signoff { color: #c6d7e9; font-weight: 650; }
@media (max-width: 680px) {
  .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .metric-card { min-height: 110px; padding: 1rem; }
  .phase-card { grid-template-columns: 2.35rem minmax(0,1fr); gap: .7rem; padding: 1rem; }
  .phase-number { width: 2.2rem; height: 2.2rem; }
  .finding-grid { grid-template-columns: 1fr; }
  .bar-row { grid-template-columns: minmax(90px,1fr) minmax(75px,1.5fr); gap: .6rem; }
  .bar-value { grid-column: 2; justify-self: end; margin-top: -.45rem; }
  .chart-axis { margin-right: 0; margin-left: 0; }
  .event-bars { min-height: 190px; }
  .event-bar-emergence,.event-bar-promotion { height: 145px; }
  .event-bar-merge { height: 137px; }
  .data-table { min-width: 520px; }
}
