
.lessons-library {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.lesson-card {
  display: flex;
  flex-direction: column;
  min-height: 280px;
}
.lesson-card-summary { margin-top: 14px; }
.lesson-card-footer { margin-top: auto; padding-top: 18px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; }
.lesson-stage {
  padding: 26px;
  border-radius: 30px;
  border: 1px solid var(--line);
  background:
    radial-gradient(520px 260px at 10% 12%, rgba(197,162,96,.14), transparent 66%),
    radial-gradient(420px 240px at 95% 10%, rgba(122,49,56,.18), transparent 62%),
    linear-gradient(180deg, rgba(29,21,18,.9), rgba(16,12,10,.96));
  box-shadow: var(--shadow-2);
}
.lesson-stage-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.lesson-stage-layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr); gap: 18px; }

.stage-grid { grid-template-columns: 1fr; }
.story-card-title a,
.lesson-card-title a { color: inherit; }
.story-card-meta,
.lesson-card-meta { margin-top: 12px; }

.schedule-grid,
.meeting-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.event-card-top,
.event-card-bottom {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.event-card-title { margin-top: 16px; }
.event-card-meta { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 10px; }
.event-chip,
.status-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: .74rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
  border: 1px solid var(--line);
}
.event-chip.lesson { background: rgba(126,162,127,.12); border-color: rgba(126,162,127,.26); color: #d7ead7; }
.event-chip.meeting { background: rgba(131,151,180,.14); border-color: rgba(131,151,180,.26); color: #d7e1f3; }
.event-chip.task { background: rgba(197,162,96,.12); border-color: rgba(197,162,96,.26); color: #f5ddaf; }
.event-chip.reminder { background: rgba(166,112,71,.12); border-color: rgba(166,112,71,.26); color: #f1d1b0; }
.event-chip.personal { background: rgba(122,49,56,.14); border-color: rgba(122,49,56,.26); color: #f1c4ca; }
.status-chip.planned,
.status-chip.scheduled { background: rgba(197,162,96,.12); border-color: rgba(197,162,96,.26); color: #f5ddaf; }
.status-chip.live,
.status-chip.done { background: rgba(126,162,127,.12); border-color: rgba(126,162,127,.26); color: #d7ead7; }
.status-chip.cancelled,
.status-chip.archived,
.status-chip.ended { background: rgba(180,99,93,.12); border-color: rgba(180,99,93,.26); color: #efc0bb; }
.event-card-note { margin-top: 16px; }
.event-card-actions { margin-top: 18px; }

.teacher-panel-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

body[data-view="admin-dashboard"] .stats-grid,
body[data-view^="admin-"] .main-inner { gap: 24px; }
body[data-view="admin-dashboard"] .stats-grid { margin-top: 0; }
body[data-view^="admin-"] .metric-card { min-height: 150px; }
body[data-view^="admin-"] .table-card,
body[data-view^="teacher-"] .table-card { padding: 18px; }

@media (max-width: 1100px) {
  .schedule-grid,
  .meeting-grid,
  .lesson-stage-layout,
  .lessons-library { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .lesson-stage,
  .card,
  .action-card,
  .event-card,
  .story-card,
  .lesson-card,
  .msg-list,
  .msg-panel { padding: 16px; }
}

html[data-theme="light"] .lesson-stage {
  background:
    radial-gradient(520px 260px at 10% 12%, rgba(185,127,68,.12), transparent 66%),
    radial-gradient(420px 240px at 95% 10%, rgba(139,73,80,.1), transparent 62%),
    linear-gradient(180deg, rgba(255,252,248,.97), rgba(245,236,226,.99));
}
