/* Forum-style reading surface, scoped to school discussions. */
#community-heading, #discussion-heading, #posts-heading { scroll-margin-top: 5rem; }
[aria-labelledby="discussion-heading"] { background: #f6f7f9; border-color: #dde2e8 !important; }
.discussion-thread-summary { padding: .5rem 0 .75rem; border-bottom: 1px solid #d9dfe7; }
.discussion-thread-summary h4 { font-size: 1.25rem; font-weight: 700; overflow-wrap: anywhere; }
.discussion-eyebrow { color: #526176; font-size: .8rem; font-weight: 600; }
.discussion-cycle-chip { display: inline-block; margin-left: .5rem; padding: .15rem .5rem; border-radius: 1rem; background: #e7ebf1; color: #34445b; }
.discussion-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .85rem; }
.discussion-list-heading h4 { font-size: 1rem; font-weight: 700; margin: 0; }
.discussion-list-heading span { font-size: .8rem; color: #637083; }
.discussion-demo-notice { border-left: 3px solid #8c99aa; padding: .5rem .8rem; font-size: .8rem; color: #526176; background: #eceff3; }
.discussion-post { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: .65rem; padding: .65rem; background: #fff; border: 0; border-bottom: 1px solid #dfe3e9; border-radius: 0; margin: 0; }
.discussion-avatar { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; color: #fff; background: #344969; font-size: .95rem; font-weight: 700; letter-spacing: .02em; text-decoration: none; }
.discussion-avatar-navy { background: #344969; }
.discussion-avatar-teal { background: #22665f; }
.discussion-avatar-plum { background: #70466e; }
.discussion-avatar-rust { background: #94492f; }
.discussion-avatar-olive { background: #58642f; }
.discussion-avatar-blue { background: #315f91; }
a.discussion-avatar:hover { color: #fff; box-shadow: 0 0 0 2px #fff, 0 0 0 3px #435f94; }
.discussion-post-main { min-width: 0; }
.discussion-post-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: .1rem .65rem; margin-bottom: .25rem; color: #687487; }
.discussion-post-header h5 { grid-column: 1; grid-row: 1; min-width: 0; font-size: .9rem; font-weight: 700; margin: 0; color: #25324a; }
.discussion-post-meta { grid-column: 1; grid-row: 2; display: flex; flex-wrap: wrap; gap: .25rem .65rem; min-width: 0; overflow-wrap: anywhere; font-size: .75rem; line-height: 1.25; }
.discussion-post-header-actions { grid-column: 2; grid-row: 1 / 3; display: flex; flex-direction: column; align-items: flex-end; font-size: .75rem; }
.discussion-post-number { color: #768296; }
.discussion-post-header .discussion-post-author, .discussion-post-author-name { display: flex; align-items: center; min-height: 24px; max-width: 100%; line-height: 1.2; white-space: nowrap; }
.discussion-post-author-name, .discussion-post-author > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.discussion-post-author-name { line-height: 1.2; }
.discussion-post-header .discussion-post-author { padding-inline: .2rem; margin-inline: -.2rem; color: #435f94; text-decoration: none; }
.discussion-post-header-actions a, .discussion-post-header-actions .discussion-post-number { display: inline-flex; align-items: center; justify-content: flex-end; min-width: 44px; min-height: 24px; line-height: 1.2; }
.discussion-post-header-actions a { color: #435f94; text-decoration: none; }
.discussion-post-source { white-space: nowrap; }
.discussion-post-header-actions a:hover, .discussion-post-header .discussion-post-author:hover { text-decoration: underline; }
.discussion-avatar:focus-visible, .discussion-post-header a:focus-visible { outline: 2px solid #435f94; outline-offset: 2px; border-radius: .15rem; }
.discussion-post-text { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.45; font-size: .9rem; color: #293347; }
.discussion-post-actions { margin-top: .2rem; font-size: .75rem; color: #687487; }
.discussion-post-actions a { color: #435f94; text-decoration: none; font-weight: 600; }
.discussion-post-actions a:hover { text-decoration: underline; }
.discussion-thread .discussion-quotes { margin-block: .4rem .65rem; }
.discussion-thread .discussion-quote { margin: 0 0 .5rem; padding: .65rem .8rem; border: 1px solid #dfe3e9; border-left: 3px solid #d87868; border-radius: .25rem; background: #f6f7f9; color: #34445b; min-width: 0; overflow-wrap: anywhere; }
.discussion-thread .discussion-quote-header { margin-bottom: .35rem; font-size: .8rem; font-weight: 600; }
.discussion-thread .discussion-quote-header a, .discussion-thread .discussion-quote-link a { color: #435f94; }
.discussion-thread .discussion-quote-header a { text-decoration: none; }
.discussion-thread .discussion-quote-header a:hover { text-decoration: underline; }
.discussion-thread .discussion-quote-sample { font-weight: 400; color: #637083; }
.discussion-thread .discussion-quote-text { white-space: pre-wrap; overflow-wrap: anywhere; font-size: .85rem; line-height: 1.45; }
.discussion-thread .discussion-quote-details summary { cursor: pointer; list-style: none; }
.discussion-thread .discussion-quote-details summary::-webkit-details-marker { display: none; }
.discussion-thread .discussion-quote-expand, .discussion-thread .discussion-quote-collapse { display: block; margin-top: .4rem; color: #435f94; font-size: .8rem; font-weight: 600; text-decoration: underline; }
.discussion-thread .discussion-quote-collapse { display: none; }
.discussion-thread .discussion-quote-details[open] .discussion-quote-preview, .discussion-thread .discussion-quote-details[open] .discussion-quote-expand { display: none; }
.discussion-thread .discussion-quote-details[open] .discussion-quote-collapse { display: block; margin-top: 0; margin-bottom: .4rem; }
.discussion-thread .discussion-quote-details summary:focus-visible, .discussion-thread .discussion-quote-header a:focus-visible { outline: 2px solid #435f94; outline-offset: 3px; }
.discussion-thread .discussion-quote-excerpt { margin: .35rem 0 0; color: #637083; font-size: .75rem; }
.discussion-thread .discussion-quote-link { margin: 0 0 .5rem; font-size: .85rem; overflow-wrap: anywhere; }
.discussion-thread .discussion-quote-link a { display: inline-block; padding-block: .35rem; }
.discussion-pagination { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
@media (max-width: 400px) {
    [aria-labelledby="community-heading"] .col-auto { width: 100%; }
    [aria-labelledby="community-heading"] .form-select { width: 100%; }
    .discussion-post { padding: .5rem; gap: .4rem; }
    .discussion-thread-summary h4 { font-size: 1.2rem; }
}

.discussion-post-scroll { max-height: min(65vh, 42rem); overflow-y: auto; scrollbar-gutter: stable; background: #fff; border: 1px solid #dfe3e9; border-radius: .35rem; }
.discussion-post-scroll:focus-visible { outline: 2px solid #435f94; outline-offset: 3px; }
.discussion-post:last-child { border-bottom: 0; }
.discussion-post-main > p { margin-bottom: .25rem; }
.discussion-post-main > .small { margin-top: .25rem !important; font-size: .75rem; }

.school-section-tabs { margin-inline: calc(var(--bs-gutter-x, 1.5rem) * -.5); }
.school-section-tabs .nav-link { min-height: 44px; display: flex; align-items: center; justify-content: center; }
.interview-coach-link { min-height: 44px; display: inline-flex; align-items: center; gap: .35rem; }
@media (max-width: 575.98px) {
    .discussion-post-header h5 { grid-column: 1 / -1; }
    .discussion-post-meta { grid-row: 2; padding-top: .1rem; }
    .discussion-post-header-actions { grid-row: 2; }
    .school-section-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem; border-bottom: 0; }
    .school-section-tabs .nav-link { padding: .65rem .35rem; border: 1px solid #dfe3e9; border-radius: .3rem; font-size: .9rem; }
    .school-section-tabs .nav-link.active { background: #edf3fc; border-color: #435f94; font-weight: 600; }
    .interview-coach-link { width: 100%; justify-content: center; }
    .school-cycle-controls .form-select, .school-cycle-controls button { width: 100%; min-height: 44px; }
}

.interview-report-scroll { max-height: min(65vh, 38rem); overflow-y: auto; scrollbar-gutter: stable; border: 1px solid #dfe3e9; border-radius: .35rem; }
.interview-report-scroll:focus-visible { outline: 2px solid #435f94; outline-offset: 3px; }
.interview-report { padding: .55rem .75rem; border-bottom: 1px solid #e5e8ed; }
.interview-report:last-child { border-bottom: 0; }
.interview-report p { margin: .2rem 0 0; font-size: .9rem; line-height: 1.4; white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 575.98px) {
    .interview-report { padding: .5rem; }
    #interview-pagination { gap: .4rem; }
    #interview-pagination .btn { min-height: 44px; }
}

.feedback-statistics { border-block: 1px solid #e5e8ed; padding-block: .75rem; }
.feedback-summary-grid { display: grid; grid-template-columns: 1fr 1fr 1.5fr; gap: 1rem; }
.feedback-summary-grid h4 { margin-bottom: .35rem; }
.feedback-lights { display: flex; flex-wrap: wrap; gap: .35rem .8rem; font-size: .85rem; }
.feedback-lights > span { display: inline-flex; align-items: center; gap: .25rem; }
.feedback-light { width: .7rem; height: .7rem; border-radius: 50%; border: 1px solid rgba(0,0,0,.25); display: inline-block; flex-shrink: 0; }
.feedback-light-green { background: #21843d; }
.feedback-light-yellow { background: #e5b51b; }
.feedback-light-red { background: #c53a3a; }
@media (max-width: 575.98px) {
    .feedback-summary-grid { grid-template-columns: 1fr 1fr; gap: .65rem; }
    .feedback-summary-grid > div:last-child { grid-column: 1 / -1; }
}
