/* ZemGuru modular styles 08/16. Original cascade order preserved. */
/* Step 66: Yandex Disk call records and student calls rail fixes */
body[data-role="student"][data-active="calls"] .ask-card .ask-card-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  width: 100%;
}
body[data-role="student"][data-active="calls"] .ask-card .ask-card-actions .btn {
  width: 100%;
  min-width: 0;
  white-space: normal;
  justify-content: center;
  text-align: center;
  line-height: 1.2;
}
.record-link-modal .record-storage-note {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid rgba(31, 125, 61, .22);
  border-radius: 14px;
  background: #f3fbf5;
  line-height: 1.35;
}
.record-link-modal .record-storage-note strong {
  color: var(--ink);
}
.record-link-modal .record-storage-note span {
  color: var(--muted);
  font-size: 14px;
}
.call-row.with-recording {
  background: linear-gradient(90deg, rgba(31, 125, 61, .035), transparent 45%);
  border-radius: 14px;
  padding-left: 10px;
  padding-right: 10px;
}
.call-stats-result-row .btn.secondary[data-open-record]::after,
.call-row .btn.secondary[data-open-record]::after {
  content: "";
}
.calls-summary-card .calls-summary-row b {
  max-width: 120px;
  overflow-wrap: anywhere;
}
@media (max-width: 1320px) {
  .call-row {
    grid-template-columns: 42px minmax(220px, 1fr) 120px minmax(120px, auto);
  }
  .call-row > .badge,
  .call-row > span:nth-of-type(2) {
    justify-self: start;
  }
  .call-row-actions {
    grid-column: 2 / -1;
    justify-content: flex-start;
  }
}

/* Step 67: student courses progress/calls rail cleanup */
body[data-role="student"][data-active="courses"] .course-progress-rail-card {
  text-align: center;
  overflow: hidden;
}
body[data-role="student"][data-active="courses"] .course-progress-rail-card .ring {
  --size: 118px;
  margin: 8px auto 18px;
}
body[data-role="student"][data-active="courses"] .course-progress-rail-card .ring strong {
  top: 47%;
  font-size: 28px;
}
body[data-role="student"][data-active="courses"] .course-progress-rail-card .ring span {
  top: 64%;
  width: 70%;
  font-size: 10px;
  line-height: 1.12;
  letter-spacing: -.01em;
}
.course-progress-rail-list {
  display: grid;
  gap: 8px;
  width: 100%;
  margin: 0 0 14px;
}
.course-progress-rail-list div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fbfdfb;
  box-sizing: border-box;
}
.course-progress-rail-list span {
  min-width: 0;
  color: var(--muted);
  font-weight: 700;
  text-align: left;
  line-height: 1.2;
}
.course-progress-rail-list b {
  color: var(--ink);
  font-weight: 900;
  white-space: nowrap;
  text-align: right;
}
.course-progress-rail-actions {
  display: grid;
  gap: 10px;
  width: 100%;
}
body[data-role="student"] .right-rail .ask-card .ask-card-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  width: 100%;
}
body[data-role="student"] .right-rail .ask-card .ask-card-actions .btn {
  width: 100%;
  min-width: 0;
  white-space: normal;
  justify-content: center;
  text-align: center;
  line-height: 1.2;
}
body[data-role="student"] .student-course-card .course-progress-head {
  align-items: center;
}
body[data-role="student"] .student-course-card .course-progress-head strong {
  font-size: 28px;
  color: var(--ink);
}
body[data-role="student"] .student-course-card .course-meta span {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* Step 68: day/evening theme toggle across all accounts */
body[data-theme="dark"] {
  --ink: #e9f0ea;
  --muted: #a8b4ad;
  --soft: #1d2822;
  --soft-green: #20392a;
  --line: rgba(228, 238, 230, .14);
  --panel: #17221d;
  --green: #58b96c;
  --green-dark: #071010;
  --green-2: #6ac87b;
  --amber: #f2b457;
  --blue: #75aef4;
  --red: #ff7676;
  --violet: #a99cff;
  --bg: #101713;
  --shadow: 0 20px 48px rgba(0, 0, 0, .28);
  background:
    radial-gradient(circle at 28% 0%, rgba(49, 126, 72, .13), transparent 30%),
    linear-gradient(180deg, #111a16, #0f1512 52%, #101713);
  color: var(--ink);
  color-scheme: dark;
}

.theme-toggle {
  min-width: 74px;
  height: 38px;
  display: inline-grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 3px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.76);
  color: var(--ink);
  box-shadow: 0 8px 22px rgba(15, 28, 22, .08);
}

.theme-toggle span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  opacity: .55;
  transition: background .18s ease, opacity .18s ease, transform .18s ease;
}

.theme-toggle span.active {
  background: var(--green);
  color: #fff;
  opacity: 1;
  transform: scale(1.02);
}

.topbar {
  grid-template-columns: auto minmax(260px, 500px) auto auto auto !important;
}

.topbar.has-page-title {
  grid-template-columns: auto minmax(0, 1fr) minmax(260px, 500px) auto auto auto !important;
}

body[data-theme="dark"] .theme-toggle {
  background: rgba(31, 43, 36, .92);
  border-color: rgba(222, 238, 225, .16);
  box-shadow: 0 10px 28px rgba(0,0,0,.26);
}

body[data-theme="dark"] .topbar {
  background: rgba(17, 25, 21, .92) !important;
  border-bottom-color: var(--line);
  box-shadow: 0 14px 34px rgba(0,0,0,.16);
}

body[data-theme="dark"] .main,
body[data-theme="dark"] .content,
body[data-theme="dark"] .shell {
  background: transparent;
}

body[data-theme="dark"] .sidebar {
  background:
    radial-gradient(circle at 68% 8%, rgba(62, 153, 82, .20), transparent 28%),
    linear-gradient(180deg, #050d0f, #071315 58%, #050b0d);
}

body[data-theme="dark"] .topbar-page-title strong,
body[data-theme="dark"] .page-head h1,
body[data-theme="dark"] h1,
body[data-theme="dark"] h2,
body[data-theme="dark"] h3,
body[data-theme="dark"] strong {
  color: var(--ink);
}

body[data-theme="dark"] .topbar-page-title small,
body[data-theme="dark"] .page-head p,
body[data-theme="dark"] small,
body[data-theme="dark"] .muted,
body[data-theme="dark"] .role-note,
body[data-theme="dark"] .field label,
body[data-theme="dark"] .profile-chip small {
  color: var(--muted);
}

body[data-theme="dark"] :where(.panel, .table-panel, .task-panel, .submit-panel, .homework-hero, .profile-form, .support-form, .course-hero, .course-admin-row, .student-course-card, .course-progress-rail-card, .lesson-card, .lesson-line, .module-detail-hero, .module-task, .module-summary, .notification-card, .ticket-card, .topic-row, .topic-detail, .category-panel, .doc-card, .docs-module-block, .docs-structure-course, .doc-structure-row, .group-card, .admin-group-card, .teacher-group-card, .teacher-profile-card, .teacher-public-card-preview, .teacher-student-row, .review-row, .call-row, .calls-summary-card, .plot-card, .plot-detail, .plot-edit-line, .uploaded-file, .progress-card, .progress-module-row, .status-panel, .student-status-card, .achievement, .mentor-card, .ask-card, .help-card, .rail-row, .notice-task, .kpi-card, .stats-mini > div, .admin-user-row, .user-row, .user-detail-card, .admin-audit-card, .settings-tariffs-panel, .settings-tariff-row, .admin-tariffs-panel, .admin-tariff-row, .admin-tariff-form-panel, .admin-lesson-row, .admin-lessons-panel, .profile-photo-panel, .profile-security-panel, .profile-stats-grid > div, .teacher-load-card, .quick-links, .quick-actions) {
  background-color: var(--panel);
  border-color: var(--line);
  color: var(--ink);
  box-shadow: 0 1px 0 rgba(255,255,255,.02) inset, var(--shadow);
}

body[data-theme="dark"] :where(.top-search input, .field input, .field select, .field textarea, .search, .filters input, input, select, textarea) {
  background: #121c17;
  border-color: var(--line);
  color: var(--ink);
}

body[data-theme="dark"] :where(.top-search input, .field input, .field textarea, .search, input, textarea)::placeholder {
  color: #7f8d85;
}

body[data-theme="dark"] .top-search span,
body[data-theme="dark"] .hamburger,
body[data-theme="dark"] .top-icon,
body[data-theme="dark"] .icon-btn,
body[data-theme="dark"] .round-btn {
  color: var(--ink);
}

body[data-theme="dark"] :where(.btn.secondary, .btn.ghost, .link-wide, .profile-chip, .profile-menu button, .notification-popover button, .global-search-popover button) {
  background: #142019;
  color: var(--green-2);
  border-color: var(--line);
}

body[data-theme="dark"] :where(.btn.secondary:hover, .btn.ghost:hover, .profile-chip:hover, .profile-menu button:hover, .search-result-row:hover, .hint-action:hover) {
  background: #1c2b22;
}

body[data-theme="dark"] :where(.profile-menu, .notification-popover, .global-search-popover, .modal-backdrop > *, .course-modal, .group-modal, .user-modal, .lesson-modal, .lesson-editor-modal, .topic-modal, .topic-warning, .plot-create-modal, .plot-file-viewer, .call-modal, .record-link-modal, .call-stats-modal, .student-statuses-modal, .homework-hint-modal, .student-drawer, .review-drawer, .ticket-drawer, .community-profile-drawer, .avatar-crop-modal) {
  background: #17221d;
  border-color: var(--line);
  color: var(--ink);
  box-shadow: 0 30px 90px rgba(0,0,0,.44);
}

body[data-theme="dark"] :where(.modal-backdrop, .student-drawer-overlay, .ticket-drawer-overlay, .community-profile-overlay, .avatar-crop-backdrop, .student-statuses-backdrop) {
  background: rgba(4, 8, 7, .66);
}

body[data-theme="dark"] :where(.compact-row, .rail-row, .call-row, .lesson-line, .topic-row, .review-row, .notification-card, .doc-structure-row, .progress-module-row, .admin-user-row, .user-row) {
  border-color: var(--line);
}

body[data-theme="dark"] :where(.badge, .access-badge, .student-level-badge, .status-state, .ticket-status, .notice-chip, .call-stats-chip) {
  background: #223129;
  color: #dfe8e1;
}

body[data-theme="dark"] .badge.green,
body[data-theme="dark"] .access-badge.active,
body[data-theme="dark"] .status-state.done {
  background: rgba(79, 186, 105, .16);
  color: #8be59a;
}

body[data-theme="dark"] .badge.blue { background: rgba(117, 174, 244, .15); color: #9bc8ff; }
body[data-theme="dark"] .badge.amber { background: rgba(242, 180, 87, .16); color: #ffd08a; }
body[data-theme="dark"] .badge.red { background: rgba(255, 118, 118, .14); color: #ff9b9b; }
body[data-theme="dark"] .badge.violet { background: rgba(169, 156, 255, .16); color: #c8bfff; }

body[data-theme="dark"] :where(.progress, .course-progress-block, .module-progress-cell .progress, .course-progress-rail-list div, .calls-summary-row, .hint-modal-steps div, .record-storage-note) {
  background: #101a15;
  border-color: var(--line);
}

body[data-theme="dark"] :where(.ring, .lesson-ring) {
  filter: saturate(.92) brightness(.96);
}

body[data-theme="dark"] .watermark {
  color: rgba(233, 240, 234, .24);
}

body[data-theme="dark"] .toast {
  background: #0c1410;
  color: var(--ink);
  border: 1px solid var(--line);
}

@media (max-width: 1100px) {
  .topbar.has-page-title {
    grid-template-columns: auto minmax(0, 1fr) auto auto auto !important;
  }
}

@media (max-width: 760px) {
  .topbar,
  .topbar.has-page-title {
    grid-template-columns: auto minmax(0, 1fr) auto auto !important;
  }
  .theme-toggle {
    min-width: 42px;
    width: 42px;
    grid-template-columns: 1fr;
  }
  .theme-toggle span:not(.active) {
    display: none;
  }
}

/* Step 69: community actions, favorites, pinned topics */
.pin-row {
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  color: var(--ink);
  border-radius: 9px;
  align-items: start;
}
.pin-row:hover {
  background: var(--soft-green);
  color: var(--green);
  padding-left: 8px;
  padding-right: 8px;
}
.pin-row.topic-pin-link span:last-child {
  font-weight: 800;
  line-height: 1.25;
}
.pinned-divider {
  margin: 12px 0 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.topic-row.pinned {
  background: linear-gradient(90deg, rgba(31,122,63,.08), transparent);
  border-radius: 10px;
  padding-left: 10px;
  padding-right: 10px;
  margin-left: -10px;
  margin-right: -10px;
}
.topic-row-tools {
  display: grid;
  grid-template-columns: auto auto;
  gap: 7px;
  align-items: center;
  justify-items: stretch;
  min-width: 150px;
}
.topic-row-tools .btn {
  grid-column: 1 / -1;
  width: 100%;
}
.topic-mini-btn {
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fff;
  color: var(--green);
  font-weight: 900;
  padding: 7px 10px;
  cursor: pointer;
  white-space: nowrap;
}
.topic-mini-btn.active {
  background: var(--soft-green);
  border-color: rgba(31,122,63,.22);
}

.topic-delete-btn {
  color: #b42318;
}

.topic-delete-btn:hover {
  color: #fff;
  background: #b42318;
  border-color: #b42318;
}
.topic-detail-actions {
  margin: 12px 0 16px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fbfdfb;
}
.community-info-modal {
  width: min(720px, 94vw);
}

.community-members-backdrop {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
}

.community-members-modal {
  width: min(860px, 94vw);
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

.community-members-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px 14px;
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
}

.community-members-head-text h2 {
  margin: 0 0 4px;
  font-size: 20px;
  line-height: 1.25;
}

.community-members-head-text .muted {
  margin: 0;
  font-size: 14px;
}

.community-members-stats-line {
  margin: 8px 0 0;
  font-size: 13px;
  color: var(--muted);
}

.community-members-controls {
  padding: 14px 22px;
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
  display: grid;
  gap: 12px;
}

.community-members-search {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  font: inherit;
  font-size: 14px;
  background: var(--panel);
  color: var(--ink);
}

.community-members-filters {
  margin-bottom: 0;
}

.community-info-list,
.community-members-list {
  margin: 0;
}

.community-members-list {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 16px 22px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-content: start;
}

.community-member-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel);
  transition: border-color 0.15s ease, background 0.15s ease;
}

.community-member-card:hover {
  border-color: var(--accent-border);
  background: var(--soft-green);
}

.community-member-card-main {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.community-member-avatar {
  width: 48px;
  height: 48px;
}

.community-member-card-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

.community-member-name {
  font-size: 15px;
  line-height: 1.3;
}

.community-member-nickname {
  font-size: 13px;
  font-weight: 600;
  color: var(--green);
}

.community-profile-nickname {
  margin: 4px 0 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--green);
}

.community-mention {
  display: inline;
  padding: 0;
  border: 0;
  background: none;
  color: var(--green);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
}

.community-mention:hover,
.community-mention:focus-visible {
  text-decoration: underline;
}

.community-member-card-meta {
  display: grid;
  gap: 4px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
}

.community-member-meta-item b {
  color: var(--ink);
  font-weight: 600;
}

.community-member-email {
  font-size: 11px;
  opacity: 0.82;
}

.community-member-card-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.community-member-card-actions:has(.community-member-profile-btn:only-child) {
  grid-template-columns: 1fr;
}

.community-member-write-btn,
.community-member-profile-btn {
  width: 100%;
  font-size: 13px;
}

.community-members-empty {
  grid-column: 1 / -1;
  padding: 36px 16px;
  text-align: center;
}

.community-members-empty strong {
  display: block;
  margin-bottom: 6px;
}

.community-members-footer {
  padding: 14px 22px 18px;
  border-top: 1px solid var(--line);
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
}
.community-info-step {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fbfdfb;
}
.community-info-step b {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
}
.community-info-step span {
  line-height: 1.45;
}

@media (max-width: 720px) {
  .community-members-backdrop {
    align-items: flex-end;
    padding: 0;
  }

  .community-members-modal {
    width: 100%;
    max-height: 92vh;
    border-radius: 12px 12px 0 0;
  }

  .community-members-list {
    grid-template-columns: 1fr;
  }
}
body[data-role="student"] .community-layout .ask-card .ask-card-actions,
body[data-role="mentor"] .community-layout .ask-card .ask-card-actions,
body[data-role="admin"] .community-layout .ask-card .ask-card-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  width: 100%;
}
body[data-role="student"] .community-layout .ask-card .ask-card-actions .btn,
body[data-role="mentor"] .community-layout .ask-card .ask-card-actions .btn,
body[data-role="admin"] .community-layout .ask-card .ask-card-actions .btn {
  width: 100%;
  min-width: 0;
  white-space: normal;
  justify-content: center;
  text-align: center;
}
body[data-theme="dark"] .topic-mini-btn,
body[data-theme="dark"] .community-member-card,
body[data-theme="dark"] .community-info-step,
body[data-theme="dark"] .topic-detail-actions {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.12);
}
@media (max-width: 980px) {
  .topic-row-tools {
    grid-template-columns: 1fr;
    min-width: 0;
  }
}

/* Step 70: cleaner community pinned guide modals */
.community-info-modal {
  width: min(760px, 94vw);
  padding: 20px 22px 22px;
}
.community-info-head {
  align-items: start;
  margin-bottom: 8px;
}
.community-info-head h2 {
  margin-bottom: 6px;
}
.community-info-list {
  gap: 12px;
  margin: 18px 0 16px;
}
.community-info-step {
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 12px;
  padding: 14px 16px;
  background: linear-gradient(180deg, rgba(31,122,63,.045), rgba(31,122,63,.015));
}
.community-info-step b {
  width: 28px;
  height: 28px;
  font-size: 14px;
}
.community-info-step div {
  display: grid;
  gap: 4px;
}
.community-info-step strong {
  color: var(--text);
  line-height: 1.25;
}
.community-info-step span {
  color: var(--muted);
  line-height: 1.45;
}
.community-info-actions {
  margin-top: 6px;
  justify-content: flex-start;
}
.community-info-actions .btn {
  min-width: 160px;
}
body[data-theme="dark"] .community-info-step {
  background: rgba(255,255,255,.045);
}


/* Step 71: stable sidebar navigation focus */
.menu button:focus {
  outline: none;
}
.menu button:focus-visible {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 0 0 2px rgba(255,255,255,.18);
}

/* Step 74: student courses program opening and course about modal */
.student-program-title {
  margin-top: 20px;
  margin-bottom: 12px;
  align-items: end;
}
.student-program-title .block-title {
  margin: 0;
}
.student-course-card {
  cursor: pointer;
}
.student-course-card .btn,
.student-course-card button {
  cursor: pointer;
}
.student-course-card.selected-course-card {
  border-color: rgba(46, 139, 66, .28);
  box-shadow: 0 0 0 1px rgba(46, 139, 66, .08);
}
.student-course-card.course-locked {
  opacity: .92;
}
.student-course-card.course-locked img {
  filter: grayscale(.35);
}
.course-progress-locked {
  padding: 10px 0 4px;
  color: var(--muted);
}
.course-access-row small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}
.module-access-row {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(0, 0, 0, .06);
}
.program-module.locked,
.lesson-module.locked {
  opacity: .88;
}
.program-module.locked .module-summary,
.lesson-module.locked .lesson-module-head {
  background: rgba(0, 0, 0, .02);
}
.module-access-cta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  min-width: 120px;
}
.student-course-card.course-partial {
  border-color: rgba(46, 139, 66, .16);
}
.course-about-modal {
  max-width: 760px;
}
.course-promo-page {
  display: grid;
  gap: 16px;
}
.course-promo-top {
  display: flex;
  justify-content: flex-start;
}
.course-promo-hero {
  display: grid;
  grid-template-columns: minmax(220px, 320px) 1fr;
  gap: 24px;
  align-items: start;
}
.course-promo-hero > img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 16px;
}
.course-promo-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.course-promo-head h1 {
  margin: 0;
  font-size: 1.6rem;
}
.course-promo-lead {
  color: var(--muted);
  margin: 0 0 16px;
  line-height: 1.6;
}
.course-promo-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}
.course-promo-stats span {
  display: block;
  color: var(--muted);
  font-size: .85rem;
}
.course-promo-stats b {
  display: block;
  margin-top: 4px;
  color: var(--text);
}
.course-promo-block h2 {
  margin: 0 0 12px;
}
.course-promo-program-list,
.course-promo-bullets {
  margin: 0;
  padding-left: 1.2rem;
  display: grid;
  gap: 8px;
}
.course-promo-note {
  margin-top: 14px;
}
.course-promo-admin-block {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(0, 0, 0, .08);
}
.course-promo-admin-block h3 {
  margin: 0 0 8px;
}
.student-course-card.course-catalog-locked {
  border-style: dashed;
}
.student-course-card.course-catalog-locked .course-progress-locked small:last-child {
  display: block;
  margin-top: 4px;
}
@media (max-width: 900px) {
  .course-promo-hero {
    grid-template-columns: 1fr;
  }
}
.course-about-text {
  margin: 0 0 16px;
  color: var(--muted);
  line-height: 1.6;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.course-about-stats {
  margin: 14px 0 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.course-about-modal .course-about-stat-card {
  display: grid;
  gap: 6px;
  min-height: 72px;
  padding: 14px 12px;
  border: 1px solid rgba(23, 27, 34, .12);
  border-radius: 8px;
  background: #f4f7f5;
}
.course-about-modal .course-about-stat-card b {
  display: block;
  color: #171b22;
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
}
.course-about-modal .course-about-stat-card small {
  color: #56605a;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
}
body[data-theme="dark"] .course-about-modal .course-about-stat-card {
  background: #f4f7f5;
  border-color: rgba(23, 27, 34, .12);
}
body[data-theme="dark"] .course-about-modal .course-about-stat-card b {
  color: #171b22;
}
body[data-theme="dark"] .course-about-modal .course-about-stat-card small {
  color: #56605a;
}
.course-about-modules h3 {
  margin: 0 0 10px;
}
.course-about-modules .compact-row {
  align-items: start;
}
.course-about-modules .compact-row span {
  margin-top: 4px;
  line-height: 1.35;
}
body[data-theme="dark"] .program-module.expanded {
  background: linear-gradient(90deg, rgba(65, 170, 90, .14), var(--panel) 32%);
}

/* Step 76: course-specific progress system */
.progress span {
  background: var(--progress-color, linear-gradient(90deg, #2f8a42, #246f36));
}
.ring {
  background:
    radial-gradient(circle closest-side, #fff 70%, transparent 71%),
    conic-gradient(var(--ring-color, var(--green)) calc(var(--p) * 1%), #e7ebe7 0);
}
.progress-status-label {
  display: block;
  margin: -8px 0 12px;
  color: var(--ink);
  font-weight: 900;
}
.course-progress-rail-course {
  margin: -4px 0 6px;
  font-weight: 700;
  line-height: 1.25;
}
.course-progress-state {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-weight: 800;
}
.progress-course-tabs {
  margin: 0 0 14px;
}
.progress-course-tabs button {
  min-height: 42px;
}
.progress-course-tabs span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  margin-left: 8px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(36, 111, 54, .1);
  color: var(--green);
  font-weight: 900;
}
.progress-module-row > span,
.progress-module-row > div,
.progress-module-row > button {
  min-width: 0;
}
.progress-module-row .module-progress-cell {
  min-width: 120px;
}
body[data-theme="dark"] .ring {
  background:
    radial-gradient(circle closest-side, var(--panel) 70%, transparent 71%),
    conic-gradient(var(--ring-color, var(--green)) calc(var(--p) * 1%), rgba(255,255,255,.12) 0);
}
body[data-theme="dark"] .progress-course-tabs span {
  background: rgba(87, 161, 106, .16);
  color: #a7e3b4;
}

/* Step 77: clean course progress card and module rows */
body[data-role="student"][data-active="progress"] .progress-course-card-clean {
  display: grid;
  gap: 14px;
}
body[data-role="student"][data-active="progress"] .progress-course-card-clean .progress-card-head {
  margin-bottom: 0;
}
body[data-role="student"][data-active="progress"] .progress-course-name {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f7fbf8;
}
body[data-role="student"][data-active="progress"] .progress-course-name span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
body[data-role="student"][data-active="progress"] .progress-course-name strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.25;
}
body[data-role="student"][data-active="progress"] .progress-card-overview {
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}
body[data-role="student"][data-active="progress"] .progress-card-overview .ring {
  --size: 108px;
  margin: 0 auto;
}
body[data-role="student"][data-active="progress"] .progress-card-overview .ring strong,
body[data-role="student"][data-active="progress"] .progress-sidebar .ring strong,
body[data-role="student"][data-active="progress"] .course-progress-rail-card .ring strong {
  top: 47%;
  font-size: 28px;
  line-height: 1;
}
body[data-role="student"][data-active="progress"] .progress-card-overview .ring span,
body[data-role="student"][data-active="progress"] .progress-sidebar .ring span,
body[data-role="student"][data-active="progress"] .course-progress-rail-card .ring span {
  top: 64%;
  width: 68%;
  font-size: 9.5px;
  line-height: 1.05;
  font-weight: 850;
}
body[data-role="student"][data-active="progress"] .progress-course-summary-clean {
  gap: 8px;
}
body[data-role="student"][data-active="progress"] .progress-course-summary-clean > strong {
  display: inline-flex;
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fff7e8;
  color: #be6a10;
  font-size: 13px;
}
body[data-role="student"][data-active="progress"] .progress-course-summary-clean p {
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  border-radius: 10px;
  background: #f7fbf8;
}
body[data-role="student"][data-active="progress"] .progress-course-summary-clean p span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}
body[data-role="student"][data-active="progress"] .progress-course-summary-clean p b {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.25;
}
body[data-role="student"][data-active="progress"] .progress-module-row.progress-module-row-clean {
  grid-template-columns: 86px minmax(220px, 1fr) 132px minmax(260px, .9fr) 124px;
  gap: 12px;
  align-items: center;
}
body[data-role="student"][data-active="progress"] .progress-module-row-clean .module-title {
  min-width: 0;
}
body[data-role="student"][data-active="progress"] .progress-module-row-clean .module-title strong {
  display: block;
  line-height: 1.25;
}
body[data-role="student"][data-active="progress"] .progress-module-row-clean .module-title small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  line-height: 1.25;
}
body[data-role="student"][data-active="progress"] .module-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}
body[data-role="student"][data-active="progress"] .module-meta-grid > span {
  min-width: 0;
  padding: 8px 9px;
  border-radius: 10px;
  background: #f7fbf8;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.2;
}
body[data-role="student"][data-active="progress"] .module-meta-grid b {
  color: var(--ink);
  font-size: 13px;
}
body[data-role="student"][data-active="progress"] .progress-module-row-clean > .btn {
  align-self: center;
  justify-self: end;
  width: 100%;
  max-width: 124px;
  min-height: 44px;
}
@media (max-width: 1480px) {
  body[data-role="student"][data-active="progress"] .progress-module-row.progress-module-row-clean {
    grid-template-columns: 78px minmax(180px, 1fr) 120px minmax(210px, .9fr) 112px;
    gap: 10px;
  }
}
@media (max-width: 1180px) {
  body[data-role="student"][data-active="progress"] .progress-card-overview,
  body[data-role="student"][data-active="progress"] .progress-module-row.progress-module-row-clean {
    grid-template-columns: 1fr;
  }
  body[data-role="student"][data-active="progress"] .progress-module-row-clean > .btn {
    justify-self: stretch;
    max-width: none;
  }
}
body[data-theme="dark"][data-role="student"][data-active="progress"] .progress-course-name,
body[data-theme="dark"][data-role="student"][data-active="progress"] .progress-course-summary-clean p,
body[data-theme="dark"][data-role="student"][data-active="progress"] .module-meta-grid > span {
  background: rgba(255,255,255,.045);
  border-color: rgba(255,255,255,.08);
}
body[data-theme="dark"][data-role="student"][data-active="progress"] .progress-course-summary-clean > strong {
  background: rgba(225, 144, 47, .16);
  color: #f6c37c;
}


body[data-theme="dark"] .group-detail-grid section.group-card {
  box-shadow: 0 16px 30px rgba(0, 0, 0, .2);
  border-color: rgba(255, 255, 255, .08);
}

body[data-theme="dark"] .group-detail-grid section.group-card::before {
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--accent) 72%, #0d1511) 0%,
    color-mix(in srgb, var(--accent) 46%, #101713) 100%
  );
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .1) inset,
    0 0 12px color-mix(in srgb, var(--accent) 18%, transparent);
  opacity: .92;
}

body[data-theme="dark"] .group-detail-grid section.group-card > h3 {
  border-bottom-color: rgba(255, 255, 255, .08);
}

body[data-theme="dark"] .group-detail-grid .group-card .compact-row,
body[data-theme="dark"] .group-detail-grid .group-card .compact-row.action-row {
  background: rgba(255, 255, 255, .04);
  border-color: rgba(255, 255, 255, .08);
}

body[data-theme="dark"] .group-detail-grid .group-card .compact-row.action-row:hover {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .14);
}

body[data-theme="dark"] .group-detail-grid .group-card .empty-inline {
  background: rgba(255, 255, 255, .03);
  border-color: rgba(255, 255, 255, .12);
}

body[data-theme="dark"] .students-card {
  background: linear-gradient(180deg, rgba(34, 44, 41, .98) 0%, rgba(24, 30, 28, .98) 100%);
  border-color: rgba(199, 214, 204, .15);
}

body[data-theme="dark"] .homework-card {
  background: linear-gradient(180deg, rgba(59, 45, 20, .72) 0%, rgba(27, 30, 29, .98) 100%);
  border-color: rgba(243, 163, 34, .2);
}

body[data-theme="dark"] .tickets-card {
  background: linear-gradient(180deg, rgba(23, 43, 52, .82) 0%, rgba(24, 30, 28, .98) 100%);
  border-color: rgba(116, 188, 230, .2);
}

body[data-theme="dark"] .community-card {
  background: linear-gradient(180deg, rgba(27, 48, 31, .8) 0%, rgba(24, 30, 28, .98) 100%);
  border-color: rgba(68, 168, 93, .2);
}

body[data-theme="dark"] .calls-card {
  background: linear-gradient(180deg, rgba(20, 43, 38, .82) 0%, rgba(24, 30, 28, .98) 100%);
  border-color: rgba(84, 179, 152, .2);
}

body[data-theme="dark"] .history-card {
  background: linear-gradient(180deg, rgba(52, 45, 33, .8) 0%, rgba(24, 30, 28, .98) 100%);
  border-color: rgba(207, 188, 154, .2);
}

/* Step 82: keep curved label only for course progress rings */
.ring.ring-course-arc strong {
  top: 50%;
  z-index: 2;
}

.ring.ring-course-arc .ring-curve {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  z-index: 1;
  pointer-events: none;
}

.ring.ring-course-arc .ring-curve text {
  fill: var(--muted);
  font-size: 9.5px;
  font-weight: 850;
  letter-spacing: .02em;
}

body[data-role="student"][data-active="courses"] .course-progress-rail-card .ring.ring-course-arc strong,
body[data-role="student"][data-active="progress"] .progress-card-overview .ring.ring-course-arc strong,
body[data-role="student"][data-active="progress"] .progress-sidebar .ring.ring-course-arc strong,
body[data-role="student"][data-active="progress"] .course-progress-rail-card .ring.ring-course-arc strong {
  top: 50%;
}

body[data-role="student"][data-active="courses"] .course-progress-rail-card .ring.ring-course-arc .ring-curve text,
body[data-role="student"][data-active="progress"] .progress-card-overview .ring.ring-course-arc .ring-curve text,
body[data-role="student"][data-active="progress"] .progress-sidebar .ring.ring-course-arc .ring-curve text,
body[data-role="student"][data-active="progress"] .course-progress-rail-card .ring.ring-course-arc .ring-curve text {
  font-size: 9px;
}


body[data-theme="dark"] .homework-hint-modal .modal-x {
  background: rgba(255, 255, 255, .06);
  border-color: rgba(255, 255, 255, .12);
  color: var(--ink);
}
body[data-theme="dark"] .homework-hint-modal .modal-x:hover {
  background: rgba(255, 255, 255, .1);
  color: #a7e3b4;
}
body[data-theme="dark"] .hint-modal-text {
  background: rgba(87, 161, 106, .1);
  border-color: rgba(87, 161, 106, .18);
}

/* Step 84: homework submission sync between student, teacher and admin */
.student-homework-files {
  margin: 12px 0 14px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f8fbf8;
}
.student-homework-files h3,
.student-work-files h3,
.review-history h3,
.student-work-summary h3 {
  margin: 0 0 10px;
  font-size: 15px;
}
.homework-upload-empty {
  margin: 12px 0 14px;
}
.student-work-summary {
  margin: 12px 0;
  padding: 14px;
  border: 1px solid rgba(36, 115, 56, .14);
  border-radius: 12px;
  background: #f7fbf8;
}
.student-work-summary p {
  margin: 0;
  line-height: 1.5;
}
.student-work-files,
.review-history {
  margin: 12px 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}
.admin-review-note {
  display: grid;
  gap: 4px;
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid rgba(46, 120, 214, .18);
  border-radius: 12px;
  background: #f5fbff;
}
.admin-review-note strong {
  color: var(--blue);
}
.admin-review-note span {
  color: var(--muted);
  line-height: 1.4;
}
body[data-theme="dark"] .student-homework-files,
body[data-theme="dark"] .student-work-summary,
body[data-theme="dark"] .student-work-files,
body[data-theme="dark"] .review-history {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.1);
}
body[data-theme="dark"] .admin-review-note {
  background: rgba(46, 120, 214, .1);
  border-color: rgba(46, 120, 214, .24);
}

/* Step 89: admin home command center links */
.admin-command-center .admin-task-row,
.admin-command-center .admin-state-row,
.admin-dashboard-modal .admin-task-row,
.admin-dashboard-modal .admin-state-row {
  width: 100%;
  text-align: left;
  border-radius: 12px;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

.admin-command-center .admin-task-row:hover,
.admin-command-center .admin-state-row:hover,
.admin-dashboard-modal .admin-task-row:hover,
.admin-dashboard-modal .admin-state-row:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(19, 42, 26, .08);
  background: #f6fbf7;
  border-color: rgba(36, 115, 56, .18);
}

.admin-dashboard-modal {
  max-width: 760px;
}

.admin-dashboard-modal .admin-modal-list {
  display: grid;
  gap: 10px;
  margin: 10px 0 18px;
}

.admin-platform-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 18px;
}

body[data-theme="dark"] .admin-command-center .admin-task-row:hover,
body[data-theme="dark"] .admin-command-center .admin-state-row:hover,
body[data-theme="dark"] .admin-dashboard-modal .admin-task-row:hover,
body[data-theme="dark"] .admin-dashboard-modal .admin-state-row:hover {
  background: rgba(255, 255, 255, .06);
  border-color: rgba(255, 255, 255, .14);
  box-shadow: 0 14px 26px rgba(0, 0, 0, .22);
}

@media (max-width: 760px) {
  .admin-platform-summary {
    grid-template-columns: 1fr;
  }
}

/* Step 90: admin courses lifecycle and lessons structure */
body[data-role="admin"][data-active="courses"] .course-admin-row-expanded {
  grid-template-columns: minmax(240px, 1.2fr) 96px 130px minmax(420px, 1.6fr);
  gap: 14px;
  align-items: center;
}

body[data-role="admin"][data-active="courses"] .course-admin-main,
body[data-role="admin"][data-active="courses"] .course-admin-main strong,
body[data-role="admin"][data-active="courses"] .course-admin-main small {
  display: block;
  min-width: 0;
}

body[data-role="admin"][data-active="courses"] .course-admin-main small {
  margin-top: 5px;
  color: var(--muted);
}

body[data-role="admin"][data-active="courses"] .course-admin-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 8px;
  justify-content: stretch;
}

body[data-role="admin"][data-active="courses"] .course-admin-actions .btn {
  width: 100%;
  min-height: 34px;
  padding: 7px 10px;
  font-size: 13px;
  white-space: normal;
  line-height: 1.15;
}

body[data-role="admin"][data-active="lessons"] .admin-lessons-layout {
  grid-template-columns: minmax(0, 1fr) 320px;
  align-items: start;
}

body[data-role="admin"][data-active="lessons"] .admin-lessons-main,
body[data-role="admin"][data-active="lessons"] .admin-lessons-panel {
  min-width: 0;
  overflow: hidden;
}

body[data-role="admin"][data-active="lessons"] .admin-lessons-rail,
body[data-role="admin"][data-active="lessons"] .right-rail.admin-lessons-rail {
  position: static;
  width: 320px;
  max-width: 320px;
  min-width: 0;
  z-index: 1;
  align-self: start;
}

body[data-role="admin"][data-active="lessons"] .lesson-admin-filters {
  grid-template-columns: minmax(160px, 1fr) minmax(210px, 1.25fr) minmax(130px, .75fr) minmax(130px, .75fr) minmax(180px, 1fr);
}

.admin-lesson-structure {
  display: grid;
  gap: 16px;
}

.admin-course-lessons-block {
  border: 1px solid rgba(36, 115, 56, .12);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}

.admin-course-lessons-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  background: linear-gradient(90deg, rgba(36, 115, 56, .08), rgba(36, 115, 56, .02));
  border-bottom: 1px solid rgba(36, 115, 56, .1);
}

.admin-course-lessons-head strong,
.admin-course-lessons-head span {
  display: block;
}

.admin-course-lessons-head span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 13px;
}

.admin-lesson-module-block {
  padding: 0;
  border-top: 1px solid var(--line);
}

.admin-lesson-module-block:first-of-type {
  border-top: 0;
}

.admin-lesson-module-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  background: #fbfdfb;
}

.admin-lesson-module-head b,
.admin-lesson-module-head span {
  display: block;
}

.admin-lesson-module-head span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 13px;
}

.admin-lesson-module-head em {
  font-style: normal;
  color: var(--muted);
  font-size: 13px;
  white-space: nowrap;
}

body[data-role="admin"][data-active="lessons"] .admin-lesson-list.compact {
  display: grid;
  gap: 0;
}

body[data-role="admin"][data-active="lessons"] .admin-lesson-row {
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .72fr) minmax(228px, .88fr);
  gap: 12px 14px;
  padding: 12px 16px;
  min-width: 0;
  border-top: 1px solid var(--line);
  align-items: start;
}

body[data-role="admin"][data-active="lessons"] .admin-lesson-main {
  display: grid;
  gap: 6px;
  min-width: 0;
}

body[data-role="admin"][data-active="lessons"] .admin-lesson-side {
  display: grid;
  gap: 8px;
  min-width: 0;
  max-width: 100%;
  justify-items: stretch;
  overflow: visible;
}

body[data-role="admin"][data-active="lessons"] .admin-lesson-row:first-child {
  border-top: 0;
}

body[data-role="admin"][data-active="lessons"] .admin-lesson-title strong {
  font-size: 15px;
  line-height: 1.18;
}

body[data-role="admin"][data-active="lessons"] .admin-lesson-title small {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 4px;
  line-height: 1.25;
}

body[data-role="admin"][data-active="lessons"] .admin-lesson-row .lesson-bits {
  grid-column: auto;
  grid-template-columns: repeat(3, max-content);
  gap: 8px 12px;
  flex-wrap: wrap;
}

body[data-role="admin"][data-active="lessons"] .lesson-bit-video.missing {
  color: #b45309;
}

body[data-role="admin"][data-active="lessons"] .lesson-bit-video.ok {
  color: var(--green);
}

body[data-role="admin"][data-active="lessons"] .admin-lesson-meta {
  display: grid;
  gap: 5px;
  min-width: 0;
}

body[data-role="admin"][data-active="lessons"] .admin-lesson-meta small {
  overflow-wrap: anywhere;
}

body[data-role="admin"][data-active="lessons"] .admin-lesson-date {
  justify-self: start;
  white-space: nowrap;
  font-size: 12px;
  line-height: 1.2;
}

body[data-role="admin"][data-active="lessons"] .admin-lesson-row .row-actions,
body[data-role="admin"][data-active="lessons"] .admin-lesson-row .admin-lesson-actions {
  grid-column: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

body[data-role="admin"][data-active="lessons"] .admin-lesson-row .row-actions .btn,
body[data-role="admin"][data-active="lessons"] .admin-lesson-row .admin-lesson-actions .btn {
  display: inline-flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 34px;
  padding: 7px 8px;
  font-size: 12px;
  white-space: normal;
  line-height: 1.15;
  text-align: center;
  justify-content: center;
}

body[data-role="admin"][data-active="lessons"] .admin-lesson-row:hover,
body[data-role="admin"][data-active="lessons"] .admin-lesson-row.selected {
  background: linear-gradient(90deg, rgba(36, 115, 56, .09), rgba(255,255,255,.4));
}

body[data-theme="dark"] .admin-course-lessons-block {
  background: rgba(255,255,255,.035);
  border-color: rgba(255,255,255,.08);
}

body[data-theme="dark"] .admin-course-lessons-head,
body[data-theme="dark"] .admin-lesson-module-head {
  background: rgba(255,255,255,.045);
  border-color: rgba(255,255,255,.08);
}

body[data-theme="dark"][data-role="admin"][data-active="lessons"] .admin-lesson-row:hover,
body[data-theme="dark"][data-role="admin"][data-active="lessons"] .admin-lesson-row.selected {
  background: rgba(255,255,255,.06);
}

@media (max-width: 1450px) {
  body[data-role="admin"][data-active="lessons"] .admin-lessons-layout {
    grid-template-columns: 1fr;
  }
  body[data-role="admin"][data-active="lessons"] .admin-lessons-rail,
  body[data-role="admin"][data-active="lessons"] .right-rail.admin-lessons-rail {
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 980px) {
  body[data-role="admin"][data-active="courses"] .course-admin-row-expanded,
  body[data-role="admin"][data-active="lessons"] .lesson-admin-filters,
  body[data-role="admin"][data-active="lessons"] .admin-lesson-row {
    grid-template-columns: 1fr;
  }
  body[data-role="admin"][data-active="courses"] .course-admin-actions,
  body[data-role="admin"][data-active="lessons"] .admin-lesson-row .row-actions,
  body[data-role="admin"][data-active="lessons"] .admin-lesson-row .admin-lesson-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

