/* Dream Education School Workspace — responsive school administration surface */
.school-space-enhanced { display:grid; gap:18px; color:var(--text,#f7f7f8); }
.school-workspace-topline { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; }
.school-workspace-brand { display:flex; align-items:center; gap:12px; }
.school-workspace-mark { display:grid; place-items:center; width:42px; height:42px; border-radius:14px; color:#101522; background:linear-gradient(135deg,#dfff63,#9ee7ff); font-weight:900; }
.school-workspace-brand small,.school-module-kicker { color:var(--muted,#969aa8); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.school-workspace-brand strong { display:block; font-size:1rem; }
.school-workspace-badge { border:1px solid rgba(223,255,99,.25); background:rgba(223,255,99,.08); color:#dfff63; padding:6px 10px; border-radius:999px; font-size:.75rem; }
.school-module-nav { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:8px; padding:3px 0 8px; scrollbar-width:thin; }
.school-module-nav button { flex:0 0 auto; border:1px solid var(--line,rgba(255,255,255,.1)); border-radius:12px; padding:10px 13px; background:var(--surface-2,#12151f); color:var(--soft,#c7cad3); font-size:.84rem; }
.school-module-nav button.active { background:#dfff63; color:#101522; border-color:#dfff63; font-weight:800; }
.school-module-panel { display:none; min-width:0; }
.school-module-panel.active { display:block; }
.school-module-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.school-module-card { min-width:0; border:1px solid var(--line,rgba(255,255,255,.1)); border-radius:18px; padding:16px; background:var(--surface,#0d0f17); }
.school-module-card h4 { margin:8px 0; font-size:1rem; }
.school-module-card p { color:var(--muted,#969aa8); font-size:.88rem; line-height:1.6; }
.school-module-icon { display:grid; place-items:center; width:36px; height:36px; border-radius:12px; background:rgba(158,231,255,.1); color:var(--accent-2,#9ee7ff); font-size:1.05rem; }
.school-module-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.school-module-action { display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line,rgba(255,255,255,.1)); border-radius:11px; padding:10px 12px; background:var(--surface-2,#12151f); color:var(--text,#f7f7f8); font-size:.83rem; text-decoration:none; }
.school-module-action.primary { background:#dfff63; color:#101522; border-color:#dfff63; font-weight:800; }
.school-module-empty { border:1px dashed rgba(255,255,255,.2); border-radius:16px; padding:18px; color:var(--muted,#969aa8); line-height:1.6; }
.school-module-list { display:grid; gap:9px; margin-top:12px; }
.school-module-list-item { display:flex; align-items:flex-start; gap:10px; padding:12px; border:1px solid var(--line,rgba(255,255,255,.1)); border-radius:12px; }
.school-module-list-item b { display:block; font-size:.88rem; margin-bottom:3px; }
.school-module-list-item span { display:block; color:var(--muted,#969aa8); font-size:.8rem; line-height:1.5; }
.school-module-dot { width:8px; height:8px; margin-top:5px; flex:0 0 auto; border-radius:50%; background:#dfff63; }
.school-module-table-wrap { overflow:auto; }
.school-module-table { width:100%; border-collapse:collapse; min-width:420px; font-size:.84rem; }
.school-module-table th,.school-module-table td { text-align:left; padding:12px 10px; border-bottom:1px solid var(--line,rgba(255,255,255,.1)); }
.school-module-table th { color:var(--muted,#969aa8); font-weight:600; }
.school-module-note { margin-top:12px; font-size:.78rem; line-height:1.55; color:var(--muted,#969aa8); }
.school-module-search { width:100%; margin:10px 0 14px; border:1px solid var(--line,rgba(255,255,255,.1)); border-radius:12px; padding:12px 14px; background:var(--surface-2,#12151f); color:var(--text,#f7f7f8); font:inherit; }
.school-module-search:focus { outline:2px solid #9ee7ff; outline-offset:2px; }
@media(max-width:560px) { .school-module-grid { grid-template-columns:1fr; } .school-workspace-topline { align-items:flex-start; } .school-module-card { padding:14px; } }

.school-lesson-create form { display:grid; gap:12px; margin-top:14px; }
.school-lesson-create label { display:grid; gap:6px; color:var(--soft,#c7cad3); font-size:.82rem; font-weight:650; }
.school-lesson-create input,.school-lesson-create textarea { width:100%; min-width:0; box-sizing:border-box; border:1px solid var(--line,rgba(255,255,255,.14)); border-radius:11px; padding:11px 12px; background:var(--surface-2,#12151f); color:var(--text,#f7f7f8); font:inherit; font-size:.9rem; }
.school-lesson-create input:focus,.school-lesson-create textarea:focus { outline:2px solid #9ee7ff; outline-offset:2px; }
.school-lesson-create textarea { resize:vertical; }
.school-lesson-create button:disabled { opacity:.65; cursor:wait; }
.school-lesson-saved-card { margin-top:12px; padding:12px; }
.school-lesson-saved-card h5 { margin:0 0 8px; font-size:.95rem; }
.school-lesson-saved-card details { margin-top:12px; border-top:1px solid var(--line,rgba(255,255,255,.1)); padding-top:10px; }
.school-lesson-saved-card summary { cursor:pointer; color:var(--accent-2,#9ee7ff); font-size:.85rem; font-weight:700; }
.school-lesson-detail { overflow-wrap:anywhere; }
.school-lesson-detail h5 { margin:14px 0 6px; }
.school-lesson-detail ol { padding-left:22px; }
.school-lesson-detail li { margin:10px 0; line-height:1.55; }
.school-lesson-detail p,.school-lesson-detail div { white-space:pre-wrap; overflow-wrap:anywhere; }


@media (prefers-reduced-motion: reduce) {
  .school-space-enhanced *,
  .school-space-enhanced *::before,
  .school-space-enhanced *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}


.school-module-panel :is(button,input,textarea,select,[tabindex]):focus-visible,
.school-module-nav :is(button,input,textarea,select,[tabindex]):focus-visible {
  outline: 3px solid var(--accent-2, #9ee7ff);
  outline-offset: 2px;
}


/* School operations: daily attendance and timetable forms. */
.school-module-form-row,
.school-attendance-row,
.school-timetable-form-grid {
  display: grid;
  gap: 10px;
}
.school-module-form-row { grid-template-columns: minmax(0,1fr) auto; align-items: end; }
.school-attendance-list { display: grid; gap: 10px; margin: 14px 0; }
.school-attendance-row {
  grid-template-columns: minmax(120px,1fr) minmax(130px,.6fr) minmax(150px,1fr);
  align-items: end;
  border: 1px solid var(--line,rgba(255,255,255,.1));
  border-radius: 12px;
  padding: 12px;
}
.school-attendance-row > div { display:grid; gap:4px; }
.school-attendance-row small { color: var(--muted,#a6b0c4); overflow-wrap:anywhere; }
.school-timetable-form-grid { grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom:12px; }
.school-space-enhanced :is(.school-attendance-row,.school-timetable-form-grid,.school-module-form-row) label {
  display:grid; gap:6px; font-size:.82rem; font-weight:650;
}
.school-space-enhanced :is(.school-attendance-row,.school-timetable-form-grid,.school-module-form-row) input,
.school-space-enhanced :is(.school-attendance-row,.school-timetable-form-grid,.school-module-form-row) select {
  box-sizing:border-box; width:100%; min-width:0; border:1px solid var(--line,rgba(255,255,255,.15));
  border-radius:9px; padding:9px 10px; background:var(--surface-2,#101522); color:inherit;
}
@media (max-width:760px) {
  .school-attendance-row,.school-timetable-form-grid,.school-module-form-row { grid-template-columns:minmax(0,1fr); }
}
