.roster-review-dialog { color:var(--ink, #253047); background:var(--surface, #fff); border:1.5px solid var(--control-outline, #8693a6); border-radius:14px; padding:16px; width:min(680px, calc(100vw - 32px)); max-height:85dvh; overflow:auto; box-sizing:border-box; }
.roster-review-dialog::backdrop { background:#0007; }
.roster-review-dialog h2 { font-size:16px; margin:0 0 8px; }
.roster-review-dialog p, .roster-review-dialog details { font-size:13px; line-height:1.6; margin:8px 0; }
.roster-review-rows { max-height:40dvh; overflow:auto; }
.roster-review-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:8px 0; border-bottom:1px solid var(--control-outline, #aaa); font-size:13px; align-items:center; }
.roster-review-row select { max-width:100%; min-width:0; padding:7px; color:inherit; background:inherit; }
.roster-review-actions { display:flex; justify-content:flex-end; gap:8px; position:sticky; bottom:0; background:inherit; padding-top:8px; }
.roster-review-actions button { min-height:36px; padding:6px 12px; }
.roster-review-dialog [data-error] { color:var(--danger, #c44836); overflow-wrap:anywhere; }
.seat-integrity { margin:6px 0; font-size:13px; padding:6px 10px; border:1px solid var(--control-outline, #999); border-radius:8px; }
.seat-integrity button { margin:4px; padding:4px 8px; }
.seat-integrity [data-integrity-details] { max-height:170px; overflow:auto; }
@media(max-width:480px) { .roster-review-row { grid-template-columns:1fr; } }
