.operational-reading { background: #f5f3ed; }
.operational-reading .section-heading > p { max-width: 88ch; }
.cohort-comparison, .operational-reading__notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-block: 28px; }
.cohort-panel { margin: 0; padding: clamp(22px, 3vw, 36px); border: 1px solid #cad5d3; border-radius: 18px; background: #fff; min-width: 0; }
.cohort-panel--standard { border-color: #8ab3aa; background: #f0f8f4; }
.cohort-panel h3 { margin-top: 0; font-size: clamp(21px, 2vw, 28px); line-height: 1.25; }
.cohort-panel figcaption > p { margin-bottom: 28px; color: #465a58; }
.cohort-bar { display: grid; grid-template-columns: 80px minmax(45px, 1fr) 68px; gap: 12px; align-items: center; margin-block: 22px; font-size: 15px; }
.cohort-bar strong { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cohort-bar meter { display: block; width: 100%; height: 24px; accent-color: #214d50; }
.cohort-bar meter::-webkit-meter-bar { border: 0; background: #e0e7e5; border-radius: 4px; }
.cohort-bar meter::-webkit-meter-optimum-value { background: #214d50; border-radius: 4px; }
.cohort-bar--b meter { accent-color: #a54a20; }
.cohort-bar--b meter::-webkit-meter-optimum-value { background: #a54a20; }
.cohort-bar meter::-moz-meter-bar { background: #214d50; }
.cohort-bar--b meter::-moz-meter-bar { background: #a54a20; }
.cohort-panel__finding { min-block-size: 3.4em; margin: 28px 0 0; padding-top: 20px; border-top: 1px solid #cbd7d3; line-height: 1.6; }
.cohort-control { padding: 24px; border: 1px solid #a7bcb6; border-radius: 14px; background: #fff; }
.cohort-control[hidden] { display: none; }
.cohort-control label { display: block; font-weight: 700; line-height: 1.5; }
.cohort-control input[type="range"] { display: block; width: 100%; max-width: 700px; min-height: 44px; margin-block: 14px 6px; accent-color: #215a50; cursor: pointer; }
.cohort-control input:focus-visible { outline: 3px solid #a54a20; outline-offset: 4px; border-radius: 4px; }
.cohort-control p { margin-bottom: 0; font-size: 15px; max-width: 90ch; }
.operational-reading__notes > article, .operational-reading__notes > details { min-width: 0; padding: 24px; border: 1px solid #cdd7d4; border-radius: 14px; background: #fff; }
.operational-reading__notes h3 { margin-top: 0; }
.operational-reading__notes p:last-child { margin-bottom: 0; }
.operational-reading__notes summary { cursor: pointer; min-height: 44px; font-weight: 700; line-height: 1.55; }
.operational-reading__notes summary:focus-visible { outline: 3px solid #a54a20; outline-offset: 5px; }
.booking-trace { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; padding: 0; margin-block: 32px; list-style: none; counter-reset: booking-step; }
.booking-trace > li { position: relative; min-width: 0; padding: 28px; border-top: 5px solid #245e59; border-radius: 0 0 14px 14px; background: #fff; counter-increment: booking-step; }
.booking-trace > li::before { content: counter(booking-step, decimal-leading-zero); display: block; margin-bottom: 18px; color: #4a615d; font-size: 14px; font-weight: 700; }
.booking-trace h3 { font-size: 23px; line-height: 1.25; margin-block: 12px; }
.booking-trace__time { font-size: 22px; font-variant-numeric: tabular-nums; font-weight: 700; color: #183d39; }
.booking-trace__state { display: inline-block; padding: 8px 12px; border-radius: 8px; background: #e9efed; color: #223d37; font-size: 14px; font-weight: 700; }
.booking-trace__state--attention { color: #7b3515; background: #fff0e2; }
.booking-trace__state--known { color: #195145; background: #e4f1e9; }
.booking-states { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-block: 28px; }
.booking-states > article { padding: 24px; border: 1px solid #c8d6d1; border-radius: 14px; background: #fff; min-width: 0; }
.booking-states h3 { font-size: 22px; line-height: 1.3; }
.operational-reading code { font-size: .9em; overflow-wrap: anywhere; }
@media (max-width: 1000px) { .cohort-comparison { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 800px) { .booking-trace, .booking-states, .operational-reading__notes { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 400px) { .cohort-panel { padding: 20px; } .cohort-bar { grid-template-columns: 66px minmax(35px, 1fr) 60px; gap: 8px; font-size: 13px; } }
