 :root{--card:#fff;--border:#d7deea;--text:#142238;--muted:#54647b;--accent:#2457d6;--bg:#f4f7fb}*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,sans-serif;color:var(--text);background:var(--bg)}header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;background:var(--card);border-bottom:1px solid var(--border)}header label{display:flex;align-items:center;gap:8px}main{max-width:1100px;margin:auto;padding:24px 16px 80px}.card,.room{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;margin:20px 0}h1{font-size:28px}h2{font-size:21px}h3{font-size:17px;overflow-wrap:anywhere}label{display:block;margin:12px 0 4px}input,select,textarea,button{font:inherit;border:1px solid var(--border);border-radius:8px;padding:11px}input:not([type=checkbox]),textarea{width:100%}input[type=checkbox]{margin-right:10px}textarea{min-height:70px}button{cursor:pointer;background:var(--accent);color:#fff;margin:8px 8px 8px 0;min-height:44px}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:var(--card);color:var(--accent)}[hidden]{display:none!important}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}details{margin-top:18px}summary{cursor:pointer;padding:8px 0}fieldset{margin:16px 0;border:1px solid var(--border)}.reading-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.numeric{text-align:center;font-variant-numeric:tabular-nums}.previous{padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);margin:0}.muted{color:var(--muted)}#status{min-height:26px;overflow-wrap:anywhere}.error{color:#a31515}.success{color:#116b35}.lane{border-top:1px solid var(--border);padding-top:12px;margin-top:14px}.preview{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid var(--border);text-align:left}#roomChoices{max-height:320px;overflow:auto}#roomChoices label{display:flex;align-items:flex-start}a{color:var(--accent)}@media(min-width:1100px){.lanes{display:grid;grid-template-columns:1fr 1fr;gap:24px}}
select{max-width:100%;width:100%}header{flex-wrap:wrap}header label{min-width:0}.reading-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lanes,.lane,label{min-width:0}button{max-width:100%;overflow-wrap:anywhere}

#roomChoices{max-height:600px}.room-choice-group{border-radius:10px;padding:8px 12px;margin:12px 0}.room-choice-group legend{max-width:100%;font-weight:600}.room-choice-group legend label{margin:0;overflow-wrap:anywhere}.room-choice-group .room-choice-group{margin-left:8px}#roomChoices input[type=checkbox]{flex-shrink:0;margin-top:5px}

.assignment-status { font-weight: 700; border: 1px solid var(--border); border-radius: .5rem; padding: .65rem; background: var(--card); color: var(--text); }
.assignment-status:empty { display: none; }

#collectorTabs:not([hidden]) { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
#collectorTabs button { max-width: 100%; overflow-wrap: anywhere; }
#collectorTabs [aria-selected="true"] { outline: 3px solid var(--accent); outline-offset: 2px; font-weight: 700; }

.assigned-workbook { margin: 1rem 0 2rem; min-width: 0; }
.assigned-workbook-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--border); }
.assigned-workbook table { min-width: 850px; width: 100%; border-collapse: collapse; }
.assigned-workbook th, .assigned-workbook td { padding: .65rem; text-align: left; border-bottom: 1px solid var(--border); vertical-align: top; }
