.org-admin-card { margin-bottom: 16px; padding: 12px 14px; }
.org-admin-card > h2 { margin: 0 0 8px; }
#admin-org-summary { margin: 0 0 10px; }
#admin-org-list .org-card { gap: 5px; padding: 10px 12px; }
#admin-org-error:empty { display: none; }
.org-admin-footer { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; margin-top: 10px; }
.org-admin-footer .org-pages { grid-column: 2; margin: 0; }
.org-admin-footer > .btn { grid-column: 3; justify-self: end; }
@media(max-width:600px) {
  .org-admin-footer { grid-template-columns: 1fr auto; gap: 6px; }
  .org-admin-footer .org-pages { grid-column: 1; justify-content: flex-start; gap: 6px; }
  .org-admin-footer > .btn { grid-column: 2; }
  .org-admin-footer .btn { padding: 6px 8px; font-size: 12px; }
}
.org-overlay { z-index:180; }
.teacher-org-student-row { display:flex !important; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid var(--border); }
.teacher-org-student-row > span { flex:1; min-width:0; overflow-wrap:anywhere; }
.teacher-org-student-row input { flex-shrink:0; }
#teacher-org-student-list { max-height:360px; overflow-y:auto; }
.org-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.org-heading h2,.org-heading h3 { margin:0; }
.org-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:16px; }
.org-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:10px; }
.org-card { display:flex; flex-direction:column; gap:8px; padding:16px; border:1px solid var(--border); border-radius:12px; background:var(--theme-surface, white); color:var(--text); font:inherit; text-align:left; cursor:pointer; }
.org-card:hover,.org-card.selected { border-color:#2563eb; background:var(--theme-surface, #eff6ff); }
.org-workspace-grid,.org-two { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.org-workspace-grid > *, .org-two > * { min-width:0; }
.org-workspace-grid { grid-template-columns:minmax(0,1fr); align-items:start; }
.org-class-list { width:100%; min-width:760px; border-collapse:collapse; }
#org-classes { overflow:auto; }
.org-class-list th,.org-class-list td { padding:10px 12px; text-align:left; border-bottom:1px solid var(--border); }
.org-class-list th { background:var(--theme-surface, #edf2f8); padding:6px 12px; }
.org-class-list tbody tr { cursor:pointer; }
.org-class-list tbody tr:hover,.org-class-list tbody tr:focus { background:var(--theme-surface, #eff6ff); }
.org-class-list .org-filter-label { justify-content:flex-start; }
.org-class-filters { position:relative; }
.org-filter-options { max-height:240px; overflow:auto; margin:10px 0; }
.org-filter-options label { display:flex; gap:8px; align-items:center; margin:8px 0; overflow-wrap:anywhere; }
.org-filter-options input[type=checkbox] { width:18px; height:18px; margin:0; flex:none; }
.org-class-filter-search { width:100%; box-sizing:border-box; }
.org-workspace-grid > .card > .org-heading { align-items:center; min-height:38px; }
.org-workspace-grid > .card > .org-heading h3 { margin:0; }
.org-workspace-grid > .org-members-card > .org-heading { min-height:0; margin-bottom:8px; }
.org-workspace-grid #org-classes { grid-template-columns:minmax(0,1fr); }
#org-members { overflow-x:auto; }
.org-members-table { width:100%; min-width:660px; border-collapse:collapse; font-size:15px; }
#org-members .org-member { display:table-row; }
.org-members-table th,.org-members-table td { padding:12px 8px; text-align:left; border-bottom:1px solid var(--border); overflow-wrap:anywhere; max-width:240px; }
.org-members-table th { background:var(--theme-surface, #edf2f8); padding:6px 8px; font-size:14px; }
.org-member-header { display:flex; align-items:center; gap:5px; white-space:nowrap; }
.org-member-label { margin-right:auto; text-align:left; }
#org-members input[type=checkbox], #org-select-page { width:20px; height:20px; margin:0; vertical-align:middle; }
.org-sort { display:grid; place-items:center; flex:0 0 24px; width:24px; height:24px; border:1px solid #aab8cc; border-radius:4px; padding:0; background:var(--theme-surface, white); color:var(--theme-muted, #64748b); cursor:pointer; }
.org-sort svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.org-sort[data-direction="desc"] svg { transform:rotate(180deg); }
.org-sort.active,.org-sort:hover,.org-filter-label:hover,.org-filter-label.active { color:var(--primary-2); background:#e2eaff; }
.org-filter-label { display:flex; align-items:center; justify-content:center; gap:4px; flex:1; padding:4px 0; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.org-filter-label svg { width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:1.5; }
.org-filter-popup { position:fixed; z-index:190; width:260px; max-width:calc(100vw - 16px); box-sizing:border-box; padding:16px; background:var(--theme-surface, white); color:var(--text); border:1px solid var(--border); border-radius:10px; box-shadow:0 8px 24px #0002; }
.org-filter-popup input,.org-filter-popup select { display:block; width:100%; box-sizing:border-box; margin-top:8px; }
#org-member-selection { align-items:center; }
#org-member-selection label { display:flex; align-items:center; gap:8px; }
#org-member-selection input { flex:none; min-width:0; width:auto; margin:0; }
.org-toolbar { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0; }
.org-toolbar input { flex:1; min-width:120px; }
.org-member { display:flex; align-items:center; gap:8px; padding:12px 0; border-bottom:1px solid var(--border); }
.org-member > div { flex:1; min-width:0; overflow-wrap:anywhere; }
.org-member small { display:block; margin-top:4px; color:var(--muted); }
.org-member-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; max-width:45%; }
.org-pages { display:flex; align-items:center; gap:12px; justify-content:center; margin-top:12px; }
.org-modal { width:min(780px,calc(100vw - 24px)); max-height:calc(100dvh - 40px); overflow:auto; }
.org-modal label { display:block; margin:12px 0; }
.org-modal label > input:not([type=checkbox]):not([type=radio]), .org-modal textarea, .org-modal select { display:block; width:100%; box-sizing:border-box; margin-top:6px; }
.org-modal textarea { border:1px solid var(--border); border-radius:8px; padding:10px 12px; font:inherit; color:var(--text); resize:vertical; }
.org-modal .org-drop { padding:26px; border:2px dashed #93b4f5; border-radius:12px; background:var(--theme-surface, #f5f8ff); text-align:center; cursor:pointer; }
.org-import-rows { max-height:230px; overflow:auto; line-height:1.9; }
.org-picker-row { display:flex; justify-content:space-between; gap:6px; border-bottom:1px solid var(--border); }
.org-picker-row label { display:flex; align-items:center; gap:6px; min-width:0; overflow-wrap:anywhere; }
.org-picker-row input { width:auto; margin:0; }
#org-teacher-picker,#org-student-picker { max-height:260px; overflow:auto; }
.org-modal .org-error { margin-top:10px; }
.org-account-modal .org-modal { display:flex; flex-direction:column; overflow:hidden; }
.org-account-modal .org-modal > .org-heading { flex-shrink:0; }
.org-account-content { min-height:0; overflow:auto; }
.org-account-content h3 { margin:0 0 12px; }
.org-account-content .muted { font-size:14px; }
.org-account-single { margin-top:20px; padding-top:20px; border-top:1px solid var(--border); }
.org-account-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 16px; }
.org-account-fields label { margin:0; }
.org-account-modal input { min-width:0; max-width:100%; }
.org-account-modal .org-preview { overflow-wrap:anywhere; }
.org-account-modal .org-error { overflow-wrap:anywhere; }
.org-account-result:empty { display:none; }
@media(max-width:540px) { .org-account-fields { grid-template-columns:minmax(0,1fr); } }
#org-class-modal .org-modal { width:min(1120px,calc(100vw - 24px)); }
.org-class-people { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,3fr); gap:16px; }
.org-class-people > section { min-width:0; }
.org-class-people input:not([type=checkbox]) { width:100%; box-sizing:border-box; }
.org-class-people .org-toolbar { margin:0; }
.org-class-people .org-pages { gap:6px; flex-wrap:wrap; }
#org-student-picker { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 16px; }
.org-class-people .org-picker-row { font-size:16px; }
.org-class-people .org-picker-row label { width:100%; }
.org-class-people .org-picker-row input { flex-shrink:0; }
.org-class-people .org-picker-row label > span { display:flex; align-items:baseline; gap:8px; flex:1; min-width:0; }
.org-class-people .org-picker-row strong,.org-class-people .org-picker-row small { min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.org-class-people .org-picker-row small { font-size:14px; color:var(--muted); }
#org-class-roster { font-size:16px; }
#org-class-roster small { font-size:14px; }
#org-class-modal.org-class-detail .org-modal { width:min(1360px,calc(100vw - 24px)); display:flex; flex-direction:column; overflow:hidden; }
.org-class-detail .org-modal > .org-heading { flex-shrink:0; margin-bottom:24px; align-items:center; }
.org-class-detail .org-modal h2 { font-size:20px; line-height:1.4; }
.org-class-detail .org-modal h3 { font-size:16px; line-height:1.5; margin:0; }
.org-class-header-actions { display:flex; gap:8px; flex:none; }
.org-class-detail .org-modal .btn { min-height:44px; box-sizing:border-box; padding:9px 14px; font-size:14px; line-height:24px; border-radius:8px; white-space:nowrap; }
.org-class-detail .org-modal .org-error:empty { display:none; }
#org-class-overview,#org-class-add-panel { overflow:auto; min-height:0; }
#org-class-overview { display:flex; flex-direction:column; gap:24px; }
.org-class-settings { flex:none; }
.org-class-detail .org-modal .org-class-settings > h3 { margin-bottom:12px; }
#org-class-notice { margin:12px 0 0; font-size:14px; line-height:1.5; }
.org-class-info { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr) auto; gap:16px; align-items:end; }
.org-class-detail .org-class-info label { display:grid; gap:6px; margin:0; min-width:0; font-size:14px; line-height:20px; }
.org-class-detail .org-class-info label > input:not([type=checkbox]):not([type=radio]),.org-class-detail .org-class-info select {
  height:44px; min-height:44px; width:100%; min-width:0; margin:0; box-sizing:border-box;
  padding:9px 12px; border:1px solid var(--border); border-radius:8px; background:var(--card); color:var(--text); font:inherit; font-size:15px;
}
.org-current-rosters { display:grid; flex:none; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:16px; }
.org-roster-section { display:flex; flex-direction:column; min-width:0; border:1px solid var(--border); border-radius:12px; padding:16px; }
.org-roster-section > .org-heading { min-height:44px; margin:0 0 12px; }
.org-roster-section > .org-current-people { flex:1; min-height:96px; }
.org-roster-section > .org-current-people > p { margin:12px 0; font-size:14px; line-height:24px; }
.org-roster-section > .org-pages { margin:16px 0 0; padding-top:12px; border-top:1px solid var(--border); }
.org-roster-section h3 { margin:0; }
.org-roster-section h3 small { font-size:14px; color:var(--muted); font-weight:normal; }
.org-roster-actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin:0 0 12px; font-size:14px; }
.org-class-detail .org-roster-actions label,.org-class-detail label.org-class-person { display:flex; align-items:center; gap:12px; min-height:44px; margin:0; cursor:pointer; }
.org-class-detail input[type=checkbox] { width:24px; height:24px; flex:none; margin:0; accent-color:#2563eb; }
.org-current-people { max-height:264px; overflow:auto; }
.org-class-person { padding:8px 0; border-bottom:1px solid var(--border); font-size:16px; }
.org-class-person > span { min-width:0; overflow-wrap:anywhere; }
.org-class-person small { display:block; font-size:14px; color:var(--muted); margin-top:3px; }
#org-current-student-list,#org-class-add-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; }
#org-current-student-list { align-content:start; }
#org-class-add-list { max-height:50dvh; }
.org-class-detail .org-pages { flex-wrap:wrap; gap:8px; }
.org-class-grades-section { flex:none; margin:0; }
.org-class-grades-section > p { font-size:14px; line-height:1.5; margin:8px 0 12px; }
#org-class-grade-table { overflow:auto; max-height:400px; border:1px solid var(--border); border-radius:10px; }
#org-class-grade-table > p { padding:0 16px; }
#org-class-grade-table .matrix-table { width:100%; }
.org-grade-table { border-collapse:separate; border-spacing:0; width:100%; font-size:15px; }
.org-grade-table th,.org-grade-table td { padding:12px; border-bottom:1px solid var(--border); text-align:left; min-width:140px; }
.org-grade-table thead th { position:sticky; top:0; background:var(--theme-surface, #edf2f8); z-index:1; max-width:220px; overflow-wrap:anywhere; }
.org-grade-table tbody th { background:var(--theme-surface, #f8fafc); max-width:220px; overflow-wrap:anywhere; }
.org-grade-table td { white-space:nowrap; }
.org-grade-table small { display:block; color:var(--muted); font-weight:normal; }
.org-grade-pagers { display:flex; justify-content:space-between; gap:16px; margin-top:12px; flex-wrap:wrap; }
.org-grade-pagers > div { display:flex; align-items:center; gap:12px; }
.org-grade-pagers .org-pages { margin:0; }
@media(max-width:760px) { .org-class-info,.org-current-rosters { grid-template-columns:minmax(0,1fr); } #org-current-student-list,#org-class-add-list { grid-template-columns:minmax(0,1fr); } .org-class-detail .org-modal { padding:16px; } #org-save-info { justify-self:end; } .org-class-detail .org-modal > .org-heading { flex-wrap:wrap; } .org-class-header-actions { margin-left:auto; } }
@media(max-width:700px) { .org-class-people { grid-template-columns:1fr; } #org-student-picker { grid-template-columns:1fr; } }
@media(max-width:700px) { .org-workspace-grid,.org-two { grid-template-columns:1fr; } .org-heading { flex-wrap:wrap; } .org-cards { grid-template-columns:1fr; } }
