.review { color: #172435; }
.review-controls { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; margin: 1rem 0; }
.review-controls label { display: flex; flex-direction: column; gap: .25rem; font-weight: 600; }
.review select, .review button { font: inherit; }
.review button, .review select { border: 1px solid #8293a3; border-radius: .35rem; background: #fff; color: #172435; padding: .45rem .6rem; }
.review button { cursor: pointer; }
.review button:hover { background: #e9f2f8; }
.review button:focus-visible, .review select:focus-visible { outline: 3px solid #1266a3; outline-offset: 2px; }
.review-status { min-height: 1.5em; font-weight: 600; }
.review-scroll { overflow-x: auto; }
.review-grid { width: 100%; min-width: 640px; table-layout: fixed; border-collapse: collapse; }
.review-grid th, .review-grid td { border: 1px solid #aebdca; padding: .45rem; vertical-align: top; overflow-wrap: anywhere; }
.review-grid th { background: #e7eef4; text-align: left; }
.review-grid th:first-child { width: 3.5rem; }
.review-grid td { height: 5rem; }
.review-grid td.review-closed { background: #ececec; color: #404040; }
.review-grid .review-lesson { display: block; width: 100%; text-align: left; background: #e1f0f8; border-color: #5691b0; font-weight: 600; }
.review-grid .review-selected { outline: 3px solid #1266a3; outline-offset: 1px; }
.review-grid .review-lock, .review-grid .review-target { margin-top: .35rem; font-size: .85em; }
.review-grid .review-target { display: block; border-style: dashed; }
.review-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
