.ep-review-intro { max-width: 48rem; margin-inline: auto; }
#review-app [hidden] { display: none !important; }
.ep-review-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .5rem; }
.ep-review-stat { display: flex; flex-direction: column-reverse; align-items: center; padding: .75rem .25rem; border: 1px solid var(--bs-border-color); border-radius: .6rem; text-align: center; }
.ep-review-stat dt { font-size: .8rem; font-weight: 400; color: var(--bs-secondary-color); }
.ep-review-stat dd { margin: 0; font-size: 1.65rem; font-weight: 700; color: var(--bs-primary); }
.ep-review-session { max-width: 44rem; margin-inline: auto; }
.ep-review-flip { display: block; width: 100%; min-height: 8rem; padding: 1rem; border: 0; border-radius: .5rem; background: transparent; color: inherit; overflow-wrap: anywhere; }
.ep-review-front { display: block; font-size: clamp(2rem, 6vw, 3.25rem); font-weight: 700; line-height: 1.25; }
.ep-review-flip:focus-visible { outline: 3px solid var(--bs-primary); outline-offset: 2px; }
.ep-review-grades { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; }
.ep-review-grades button { display: flex; flex-direction: column; justify-content: center; padding: .65rem .3rem; }
.ep-review-grades small { font-size: .75rem; }
#review-app button, #review-app summary, #review-app input:not([type="radio"]) { min-height: 44px; }
#review-app .form-check { display: flex; align-items: center; gap: .5rem; padding-left: 0; }
#review-app .form-check-input { margin: 0; flex-shrink: 0; }
#review-app .form-check-label { display: flex; align-items: center; min-height: 44px; }
#review-browse { position: relative; }
.ep-review-table { min-width: 36rem; }
.ep-review-table th:first-child { width: 20%; }
.ep-review-table td, .ep-review-table th { overflow-wrap: anywhere; }
.ep-review-table td:nth-child(2) { min-width: 14rem; }
.ep-review-table td:last-child { text-align: right; }
.ep-review-table .btn { white-space: nowrap; }
[data-bs-theme="dark"] .ep-review-stat dd { color: #9dc7ff; }
#review-app .btn-outline-warning { color: #875900; border-color: #a46b00; }
#review-app .btn-outline-warning:hover { color: #fff; background: #875900; }
[data-bs-theme="dark"] #review-app .btn-outline-warning { color: #ffd36b; border-color: #d9ae49; }
[data-bs-theme="dark"] #review-app .btn-outline-warning:hover { color: #212529; background: #ffd36b; }
#review-app .btn-primary { background: #23588d; border-color: #23588d; color: #fff; }
#review-app .btn-primary:hover, #review-app .btn-primary:focus-visible { background: #184675; border-color: #184675; }
#review-app .btn-outline-primary { --review-button-color: #1b5792; }
#review-app .btn-outline-secondary { --review-button-color: #55616c; }
#review-app .btn-outline-danger { --review-button-color: #b52c3a; }
#review-app .btn-outline-success { --review-button-color: #146c43; }
#review-app .btn-outline-warning { --review-button-color: #875900; }
#review-app .btn[class*="btn-outline-"] { color: var(--review-button-color); border-color: var(--review-button-color); }
#review-app .btn[class*="btn-outline-"]:hover, #review-app .btn[class*="btn-outline-"]:focus-visible {
    color: var(--review-button-fill, #fff); background: var(--review-button-color); border-color: var(--review-button-color);
}
[data-bs-theme="dark"] #review-app { --review-button-fill: #18212b; }
[data-bs-theme="dark"] #review-app .btn-outline-primary { --review-button-color: #afd5ff; }
[data-bs-theme="dark"] #review-app .btn-outline-secondary { --review-button-color: #c2cbd4; }
[data-bs-theme="dark"] #review-app .btn-outline-danger { --review-button-color: #ff9da5; }
[data-bs-theme="dark"] #review-app .btn-outline-success { --review-button-color: #8bd5ac; }
[data-bs-theme="dark"] #review-app .btn-outline-warning { --review-button-color: #ffd36b; }
@media (max-width: 575.98px) {
    .ep-review-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ep-review-grades { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
