.classroom-roster{display:flex;align-items:center;gap:7px;flex:0 0 auto;margin-left:auto}
.classroom-roster button{min-height:44px;white-space:nowrap;padding:7px 13px}
.roster-settings-button{min-width:58px;color:#245ec8;border-color:#b9cbed;background:#f6f9ff}
#rollcall-button{min-width:102px}
#classroom-connection-status{position:fixed;z-index:34;right:18px;top:76px;max-width:min(360px,calc(100vw - 36px));padding:9px 12px;border:1px solid #d9bca5;border-radius:7px;background:#fff4e6;color:#743b21;font-size:13px;line-height:1.5;box-shadow:0 4px 14px #41291f14}
.roster-settings-dialog{width:min(650px,calc(100vw - 24px));max-height:min(720px,calc(100svh - 24px));padding:20px;overflow:auto}
.roster-settings-dialog .dialog-top{margin-bottom:10px}
.roster-class-picker{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:8px;color:var(--muted);font-size:13px}
.roster-class-picker select{width:100%;min-height:44px;border:1px solid #cbd6e7;border-radius:6px;padding:8px 30px 8px 10px;background:#fff;color:var(--ink);font:inherit}
.roster-settings-help{margin:8px 0 12px;color:var(--muted);font-size:13px;line-height:1.5}
.roster-editor{display:grid;gap:7px;margin:0 0 10px}
.roster-editor-row{display:grid;grid-template-columns:26px minmax(150px,1fr) 100px 44px;gap:7px;align-items:center}
.roster-editor-row>span{color:var(--muted);font-size:12px;text-align:right;font-variant-numeric:tabular-nums}
.roster-editor-row label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:12px;white-space:nowrap}
.roster-editor-row input{width:100%;min-width:0;min-height:42px;border:1px solid #cbd6e7;border-radius:6px;padding:7px 9px;color:var(--ink);background:#fff}
.roster-editor-row input[type=number]{width:58px;text-align:center;font-variant-numeric:tabular-nums}
.delete-roster-student{min-width:44px;min-height:42px;padding:6px;color:#a33b43;border-color:#e4c4c8;background:#fff}
.add-roster-student{width:100%;min-height:42px;color:#245ec8;border-color:#b9cbed;background:#f6f9ff}
.binding-actions{display:flex;gap:8px;justify-content:flex-end}
#roster-settings-status{min-height:1.5em;margin:7px 0;color:#89522c;font-size:12px}
@media(max-width:1100px){.classroom-roster button{font-size:12px;padding-inline:10px}#rollcall-button{min-width:92px}}
@media(max-width:699px){.classroom-roster{flex:1 1 calc(50% - 5px);max-width:calc(50% - 5px);min-width:0;margin-left:0;align-self:flex-end}.classroom-roster button{flex:1;min-width:0;font-size:12px;padding-inline:6px}.roster-settings-dialog{padding:15px 13px}.roster-editor-row{grid-template-columns:20px minmax(0,1fr) 87px 42px;gap:5px}.roster-editor-row input{padding-inline:7px}.roster-editor-row label{font-size:11px}.roster-editor-row input[type=number]{width:52px}.roster-settings-help{font-size:12px}}
