:root {
  --cnd-bg: #f4f7fb;
  --cnd-card: #ffffff;
  --cnd-border: #dfe7f3;
  --cnd-text: #0f172a;
  --cnd-muted: #64748b;
  --cnd-primary: #2948e8;
  --cnd-primary-2: #5067ff;
  --cnd-success: #16a34a;
  --cnd-warning: #d97706;
  --cnd-danger: #dc2626;
  --cnd-radius: 18px;
  --cnd-shadow: 0 18px 50px rgba(15, 23, 42, .08);
}

.cnd-wrap,
.cnd-wrap * {
  box-sizing: border-box;
}

.cnd-wrap {
  display: grid;
  grid-template-columns: 282px minmax(0, 1fr);
  gap: 22px;
  width: min(1320px, calc(100% - 32px));
  margin: 28px auto;
  color: var(--cnd-text);
}

.cnd-mobile-toggle {
  display: none;
  width: 100%;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid var(--cnd-border);
  border-radius: 14px;
  background: #fff;
  color: var(--cnd-text);
  font-weight: 800;
  text-align: left;
}

.cnd-sidebar {
  position: sticky;
  top: 86px;
  align-self: start;
  border: 1px solid var(--cnd-border);
  border-radius: 22px;
  background: var(--cnd-card);
  box-shadow: var(--cnd-shadow);
  overflow: hidden;
}

.cnd-teacher-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px;
  border-bottom: 1px solid #eef2f8;
  background: linear-gradient(135deg, #ffffff 0%, #f3f6ff 100%);
}

.cnd-avatar img {
  width: 54px;
  height: 54px;
  border-radius: 999px;
  object-fit: cover;
}

.cnd-teacher-card h3 {
  margin: 0 0 4px;
  color: var(--cnd-text);
  font-size: 16px;
  line-height: 1.25;
}

.cnd-teacher-card p {
  margin: 0;
  color: var(--cnd-muted);
  font-size: 12px;
  font-weight: 700;
}

.cnd-nav {
  display: grid;
  gap: 4px;
  padding: 10px;
}

.cnd-nav-link {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 5px;
  border-radius: 14px;
  color: #243044;
  text-decoration: none;
  font-size: 14px;
  font-weight: 750;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}

.cnd-nav-link:hover,
.cnd-nav-link.is-active {
  color: var(--cnd-primary);
  background: #eef3ff;
}

.cnd-nav-link.is-active {
  box-shadow: inset 3px 0 0 var(--cnd-primary);
}

.cnd-nav-icon svg {
  width: 18px;
  height: 18px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cnd-main {
  min-width: 0;
}

.cnd-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
  padding: 24px;
  border: 1px solid var(--cnd-border);
  border-radius: 24px;
  background: radial-gradient(circle at top right, rgba(80, 103, 255, .12), transparent 34%), #ffffff;
  box-shadow: var(--cnd-shadow);
}

.cnd-eyebrow {
  display: inline-flex;
  margin-bottom: 8px;
  color: var(--cnd-primary);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.cnd-header h1 {
  margin: 0 0 8px;
  color: var(--cnd-text);
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.08;
}

.cnd-header p,
.cnd-card p,
.cnd-muted {
  color: var(--cnd-muted);
}

.cnd-header p {
  max-width: 700px;
  margin: 0;
  font-size: 14px;
}

.cnd-header-actions,
.cnd-actions-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.cnd-btn,
.cnd-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 850;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.cnd-btn-primary {
  border: 1px solid transparent;
  color: #fff;
  background: linear-gradient(135deg, var(--cnd-primary-2), var(--cnd-primary));
  box-shadow: 0 14px 30px rgba(41, 72, 232, .22);
}

.cnd-btn-primary:hover {
  color: #fff;
  transform: translateY(-1px);
}

.cnd-btn-outline {
  border: 1px solid var(--cnd-border);
  color: var(--cnd-text);
  background: #fff;
}

.cnd-btn-outline:hover {
  color: var(--cnd-primary);
  border-color: #c7d2fe;
  background: #f7f9ff;
}

.cnd-alert {
  margin-bottom: 16px;
  padding: 13px 15px;
  border-radius: 16px;
  font-size: 14px;
}

.cnd-alert-warning {
  border: 1px solid #fde68a;
  color: #854d0e;
  background: #fffbeb;
}

.cnd-alert-info {
  border: 1px solid #bfdbfe;
  color: #1e40af;
  background: #eff6ff;
}

.cnd-panel {
  display: block;
}

.cnd-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}

.cnd-stat,
.cnd-card {
  border: 1px solid var(--cnd-border);
  border-radius: var(--cnd-radius);
  background: #fff;
  box-shadow: var(--cnd-shadow);
}

.cnd-stat {
  display: grid;
  gap: 6px;
  padding: 18px;
}

.cnd-stat span {
  color: var(--cnd-muted);
  font-size: 13px;
  font-weight: 800;
}

.cnd-stat strong {
  color: var(--cnd-text);
  font-size: 30px;
  line-height: 1;
}

.cnd-stat small {
  color: var(--cnd-muted);
  font-size: 12px;
}

.cnd-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.cnd-card {
  padding: 20px;
}

.cnd-card h2 {
  margin: 0 0 8px;
  color: var(--cnd-text);
  font-size: 20px;
}

.cnd-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.cnd-card-head p {
  margin: 4px 0 0;
  font-size: 14px;
}

.cnd-card-head a:not(.cnd-btn) {
  color: var(--cnd-primary);
  font-weight: 850;
  text-decoration: none;
}

.cnd-mt { margin-top: 16px; }
.cnd-mt-small { margin-top: 12px; }

.cnd-checklist {
  display: grid;
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.cnd-checklist li {
  position: relative;
  padding: 11px 12px 11px 38px;
  border: 1px solid #edf2f8;
  border-radius: 14px;
  color: var(--cnd-muted);
  background: #fbfdff;
  font-size: 14px;
  font-weight: 750;
}

.cnd-checklist li::before {
  content: "";
  position: absolute;
  left: 13px;
  top: 50%;
  width: 14px;
  height: 14px;
  border: 2px solid #cbd5e1;
  border-radius: 999px;
  transform: translateY(-50%);
}

.cnd-checklist li.is-done {
  color: #166534;
  background: #f0fdf4;
  border-color: #bbf7d0;
}

.cnd-checklist li.is-done::before {
  border-color: var(--cnd-success);
  background: var(--cnd-success);
  box-shadow: inset 0 0 0 3px #fff;
}

.cnd-action {
  border: 1px solid #dce5f4;
  color: #17203b;
  background: #f8fbff;
}

.cnd-action:hover {
  color: var(--cnd-primary);
  border-color: #c7d2fe;
  background: #eef3ff;
}

.cnd-course-list {
  display: grid;
  gap: 12px;
}

.cnd-course-item {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  gap: 12px;
  padding: 12px;
  border: 1px solid #edf2f8;
  border-radius: 16px;
  background: #fbfdff;
}

.cnd-course-list.is-compact .cnd-course-item {
  grid-template-columns: 86px minmax(0, 1fr);
}

.cnd-course-thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 72px;
  border-radius: 12px;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(135deg, #5067ff, #2948e8);
  font-weight: 900;
}

.cnd-course-thumb img {
  width: 100%;
  height: 100%;
  min-height: 72px;
  object-fit: cover;
}

.cnd-course-item h3 {
  margin: 0 0 6px;
  font-size: 15px;
  line-height: 1.3;
}

.cnd-course-item p {
  margin: 0 0 8px;
  font-size: 13px;
}

.cnd-course-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: var(--cnd-muted);
  font-size: 12px;
  font-weight: 800;
}

.cnd-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}

.cnd-badge-success { color: #166534; background: #dcfce7; }
.cnd-badge-warning { color: #854d0e; background: #fef3c7; }
.cnd-badge-muted { color: #475569; background: #f1f5f9; }
.cnd-badge-info { color: #1e40af; background: #dbeafe; }

.cnd-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid #edf2f8;
  border-radius: 16px;
}

.cnd-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.cnd-table th,
.cnd-table td {
  padding: 14px;
  border-bottom: 1px solid #edf2f8;
  text-align: left;
  vertical-align: middle;
}

.cnd-table th {
  color: #64748b;
  background: #f8fafc;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.cnd-table tr:last-child td { border-bottom: 0; }

.cnd-empty,
.cnd-empty-cell {
  padding: 22px;
  color: var(--cnd-muted);
  text-align: center;
  background: #fbfdff;
}

.cnd-row-actions {
  display: flex;
  gap: 10px;
}

.cnd-row-actions a {
  color: var(--cnd-primary);
  font-weight: 850;
  text-decoration: none;
}

.cnd-profile-list {
  display: grid;
  gap: 12px;
  margin: 12px 0 0;
}

.cnd-profile-list div {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 10px;
  padding: 12px;
  border: 1px solid #edf2f8;
  border-radius: 14px;
  background: #fbfdff;
}

.cnd-profile-list dt {
  color: var(--cnd-muted);
  font-size: 13px;
  font-weight: 850;
}

.cnd-profile-list dd {
  margin: 0;
  color: var(--cnd-text);
  font-size: 14px;
  font-weight: 700;
}

.cnd-bio {
  padding: 16px;
  border: 1px solid #edf2f8;
  border-radius: 16px;
  background: #fbfdff;
}

.cnd-bio p:last-child { margin-bottom: 0; }

.cnd-resource-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.cnd-resource {
  display: grid;
  gap: 8px;
  min-height: 130px;
  padding: 16px;
  border: 1px solid #dce5f4;
  border-radius: 18px;
  color: #17203b;
  background: #f8fbff;
  text-decoration: none;
}

.cnd-resource strong {
  font-size: 15px;
}

.cnd-resource span {
  color: var(--cnd-muted);
  font-size: 13px;
  line-height: 1.45;
}

.cnd-auth-state {
  width: min(640px, calc(100% - 32px));
  margin: 48px auto;
  padding: 28px;
  border: 1px solid var(--cnd-border);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--cnd-shadow);
  text-align: center;
}

.cnd-auth-state h2 { margin: 0 0 10px; }
.cnd-auth-state p { color: var(--cnd-muted); }

@media (max-width: 849px) {
  .cnd-wrap {
    display: block;
    width: min(100% - 24px, 760px);
  }

  .cnd-mobile-toggle {
    display: block;
    margin-bottom: 12px;
  }

  .cnd-sidebar {
    position: static;
    display: none;
    margin-bottom: 14px;
  }

  .cnd-sidebar.is-open {
    display: block;
  }

  .cnd-header {
    display: grid;
    padding: 20px;
  }

  .cnd-stats-grid,
  .cnd-grid-2,
  .cnd-resource-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* v0.17.4: Blog rộng một cột + Danh mục đào tạo */
.cnd-blog-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  min-width: 0;
}
.cnd-blog-form-card,
.cnd-blog-list-card { width: 100%; min-width: 0; }
.cnd-blog-form { gap: 18px; }
.cnd-blog-training-fieldset { margin: 0; }
.cnd-blog-training-fieldset .cnd-field-help { margin: 0 0 10px; }
.cnd-blog-training-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.cnd-blog-training-grid .cnd-option-chip { min-width: 0; }
.cnd-blog-submit-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.cnd-blog-submit-row .cnd-muted { margin: 0; flex: 1 1 280px; }
.cnd-editor-field { display: grid; gap: 8px; }
.cnd-editor-label { color: var(--cnd-text, #111827); font-size: 13px; font-weight: 800; }
.cnd-editor-field .wp-editor-wrap { overflow: hidden; border: 1px solid var(--cnd-border, #dfe6f3); border-radius: 14px; }
.cnd-editor-field .wp-editor-container { border: 0; }
.cnd-editor-field .quicktags-toolbar { border-bottom: 1px solid var(--cnd-border, #dfe6f3); background: #f8faff; }
.cnd-editor-field textarea.wp-editor-area { min-height: 360px; }
.cnd-blog-list-card .cnd-table-wrap { overflow-x: visible; }
.cnd-blog-table { min-width: 0; table-layout: fixed; }
.cnd-blog-table th,
.cnd-blog-table td { white-space: normal; }
.cnd-blog-table th:nth-child(1),
.cnd-blog-table td:nth-child(1) { width: 34%; }
.cnd-blog-table th:nth-child(2),
.cnd-blog-table td:nth-child(2) { width: 24%; }
.cnd-blog-table th:nth-child(3),
.cnd-blog-table td:nth-child(3) { width: 14%; }
.cnd-blog-table th:nth-child(4),
.cnd-blog-table td:nth-child(4) { width: 18%; }
.cnd-blog-table th:nth-child(5),
.cnd-blog-table td:nth-child(5) { width: 10%; }
.cnd-blog-table td:first-child > strong,
.cnd-blog-table td:first-child > .cnd-muted { max-width: none; white-space: normal; }
.cnd-blog-category-text { display: block; color: #475569; line-height: 1.45; }
@media (max-width: 849px) {
  .cnd-blog-list-card .cnd-table-wrap { overflow-x: auto; }
  .cnd-blog-table { min-width: 760px; table-layout: auto; }
  .cnd-blog-table th,
  .cnd-blog-table td { white-space: nowrap; }
  .cnd-blog-training-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 549px) {
  .cnd-blog-training-grid { grid-template-columns: 1fr; }
  .cnd-blog-submit-row .cnd-btn { width: 100%; }
}

@media (max-width: 549px) {
  .cnd-wrap {
    width: calc(100% - 18px);
    margin: 18px auto;
  }

  .cnd-header,
  .cnd-card {
    border-radius: 18px;
    padding: 16px;
  }

  .cnd-stats-grid,
  .cnd-grid-2,
  .cnd-resource-grid {
    grid-template-columns: 1fr;
  }

  .cnd-header-actions,
  .cnd-actions-grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  .cnd-course-item,
  .cnd-course-list.is-compact .cnd-course-item {
    grid-template-columns: 1fr;
  }

  .cnd-profile-list div {
    grid-template-columns: 1fr;
  }
}


.cnd-form {
  display: grid;
  gap: 12px;
}
.cnd-form h3 {
  margin: 0;
  color: var(--cnd-text);
  font-size: 16px;
}
.cnd-form label {
  display: grid;
  gap: 6px;
  color: var(--cnd-muted);
  font-size: 13px;
  font-weight: 850;
}
.cnd-input {
  width: 100%;
  min-height: 44px;
  padding: 5px;
  border: 1px solid #dce5f4;
  border-radius: 14px;
  background: #fbfdff;
  color: var(--cnd-text);
  font: inherit;
  outline: none;
}
textarea.cnd-input { min-height: 96px; resize: vertical; }
.cnd-input:focus {
  border-color: #c7d2fe;
  box-shadow: 0 0 0 3px rgba(41, 72, 232, .10);
}


/* v0.4.3 - Quick course configuration UI */
.cnd-quick-course-form {
  gap: 14px;
}

.cnd-quick-course-form > label:not(.cnd-check-row) {
  margin: 0;
  color: var(--cnd-muted);
  font-size: 13px;
  font-weight: 850;
}

.cnd-quick-course-form select.cnd-input {
  display: block;
  height: 48px;
  min-height: 48px;
  padding: 5px;
  line-height: 48px;
  background-color: #fbfdff;
  overflow: hidden;
}

.cnd-option-fieldset {
  min-width: 0;
  margin: 0;
  padding: 14px;
  border: 1px solid #e3eaf5;
  border-radius: 16px;
  background: #fbfdff;
}

.cnd-option-fieldset legend {
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 0 6px;
  color: var(--cnd-muted);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.4;
}

.cnd-field-help {
  margin: 0 0 10px;
  color: var(--cnd-muted);
  font-size: 12px;
  line-height: 1.5;
}

.cnd-option-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  width: 100%;
  max-height: 286px;
  overflow-y: auto;
  padding: 2px;
  scrollbar-width: thin;
}

.cnd-form .cnd-option-chip {
  display: flex;
  grid-template-columns: none;
  align-items: center;
  gap: 9px;
  min-width: 0;
  min-height: 42px;
  margin: 0;
  padding: 9px 11px;
  border: 1px solid #e1e8f3;
  border-radius: 12px;
  background: #fff;
  color: var(--cnd-text);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.35;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}

.cnd-form .cnd-option-chip:hover {
  border-color: #b9c6ff;
  background: #f6f8ff;
}

.cnd-form .cnd-option-chip:has(input:checked) {
  border-color: #7f91ff;
  background: #eef2ff;
  color: var(--cnd-primary);
  box-shadow: 0 0 0 2px rgba(41, 72, 232, .07);
}

.cnd-form .cnd-option-chip.is-disabled {
  opacity: .45;
  border-color: #e4e7ec;
  background: #f2f4f7;
  color: #98a2b3;
  cursor: not-allowed;
  box-shadow: none;
}

.cnd-form .cnd-option-chip.is-disabled:hover {
  border-color: #e4e7ec;
  background: #f2f4f7;
}

.cnd-option-chip input {
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: var(--cnd-primary);
}

.cnd-option-chip span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.cnd-option-empty {
  grid-column: 1 / -1;
  min-height: auto;
  padding: 12px;
}

@media (max-width: 849px) {
  .cnd-option-grid {
    grid-template-columns: 1fr;
    max-height: none;
  }

  .cnd-option-fieldset {
    padding: 12px;
  }
}

/* v0.2.0 - Teacher profile update form */
.cnd-form-section {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid #edf2f8;
  border-radius: 18px;
  background: #fbfdff;
}
.cnd-form-section + .cnd-form-section { margin-top: 4px; }
.cnd-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.cnd-form-actions {
  display: flex;
  justify-content: flex-end;
  padding-top: 4px;
}
.cnd-field-note {
  display: inline-flex;
  margin-left: 6px;
  padding: 2px 7px;
  border-radius: 999px;
  color: #475569;
  background: #eef2f7;
  font-size: 11px;
  font-weight: 850;
}
.cnd-file-note,
.cnd-file-link {
  display: inline-flex;
  width: fit-content;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 800;
}
.cnd-file-note { color: var(--cnd-muted); }
.cnd-file-link {
  color: var(--cnd-primary);
  text-decoration: none;
}
.cnd-file-link:hover { text-decoration: underline; }
.cnd-input[disabled] {
  cursor: not-allowed;
  color: #64748b;
  background: #f1f5f9;
}
@media (max-width: 849px) {
  .cnd-form-grid { grid-template-columns: 1fr; }
  .cnd-form-actions { justify-content: stretch; }
  .cnd-form-actions .cnd-btn { width: 100%; }
}

/* v0.3.0 - Bunny Stream, course workflow and live sessions */
.cnd-check-row {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center;
  gap: 9px !important;
  min-height: 42px;
  padding: 5px;
  border: 1px solid #e3eaf5;
  border-radius: 14px;
  background: #fbfdff;
  color: var(--cnd-text) !important;
}
.cnd-check-row input { width: 17px; height: 17px; margin: 0; }
.cnd-quota {
  display: grid;
  gap: 9px;
  margin: 18px 0;
  padding: 14px 16px;
  border: 1px solid #e5ebf5;
  border-radius: 16px;
  background: #fbfdff;
}
.cnd-quota-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: var(--cnd-muted);
  font-size: 13px;
  font-weight: 800;
}
.cnd-quota-head strong { color: var(--cnd-text); }
.cnd-progress {
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8edf7;
}
.cnd-progress > span {
  display: block;
  height: 100%;
  min-width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #3347e8, #6377ff);
  transition: width .25s ease;
}
.cnd-upload-progress {
  display: grid;
  gap: 8px;
  padding: 12px 14px;
  border: 1px solid #e3eaf5;
  border-radius: 14px;
  background: #fbfdff;
}
.cnd-upload-progress[hidden] { display: none !important; }
.cnd-upload-status {
  color: var(--cnd-muted);
  font-size: 13px;
  font-weight: 750;
}
.cnd-upload-status.is-error { color: #b91c1c; }
.cnd-inline-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
}
.cnd-inline-actions a,
.cnd-link-button {
  appearance: none;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--cnd-primary);
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
  cursor: pointer;
}
.cnd-inline-actions a:hover,
.cnd-link-button:hover { text-decoration: underline; }
.cnd-link-button:disabled { cursor: wait; opacity: .65; }
.cnd-btn.is-loading { cursor: wait; opacity: .7; }
.cnd-table small { color: var(--cnd-muted); }

@media (max-width: 849px) {
  .cnd-quota-head { align-items: flex-start; flex-direction: column; gap: 4px; }
  .cnd-inline-actions { min-width: 150px; }
}


/* v0.5.0: assistant request and automatic Bunny lesson flow */
.cnd-preview-toggle span{display:flex;flex-direction:column;gap:3px}
.cnd-preview-toggle small{display:block;color:#64748b;font-size:12px;font-weight:500;line-height:1.45}
.cnd-assistant-request-card .cnd-option-fieldset{margin-top:14px}
.cnd-assistant-request-card .cnd-option-grid{max-height:230px;overflow:auto;padding-right:4px}
@media(max-width:849px){.cnd-header-actions{flex-wrap:wrap}.cnd-assistant-request-card .cnd-option-grid{grid-template-columns:1fr}}

/* v0.6.0: quy chuẩn tên file video bên ngoài */
.cnd-filename-rule {
  display: grid;
  gap: 13px;
  margin: 16px 0 18px;
  padding: 17px;
  border: 1px solid #cbd5ff;
  border-radius: 18px;
  background: linear-gradient(135deg, #f7f8ff 0%, #ffffff 100%);
}
.cnd-filename-rule__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.cnd-filename-rule h3 {
  margin: 0;
  color: var(--cnd-text);
  font-size: 17px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.cnd-filename-rule p {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
}
.cnd-filename-example {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px dashed #c8d0e8;
  border-radius: 14px;
  background: #fff;
}
.cnd-filename-example > span {
  color: var(--cnd-muted);
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}
.cnd-filename-example code {
  display: block;
  min-width: 0;
  padding: 8px 10px;
  border-radius: 10px;
  background: #eef2ff;
  color: #27348b;
  font: 700 12px/1.5 "Roboto", Arial, sans-serif;
  overflow-wrap: anywhere;
}
.cnd-filename-check {
  display: grid;
  gap: 4px;
  padding: 11px 13px;
  border-radius: 13px;
  font-size: 13px;
  line-height: 1.45;
}
.cnd-filename-check[hidden] { display: none !important; }
.cnd-filename-check strong,
.cnd-filename-check span { display: block; }
.cnd-filename-check.is-valid {
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}
.cnd-filename-check.is-invalid {
  border: 1px solid #fecaca;
  background: #fef2f2;
  color: #991b1b;
}
.cnd-bunny-upload [data-cnd-upload-button]:disabled {
  cursor: not-allowed;
  opacity: .55;
  box-shadow: none;
  transform: none;
}
@media (max-width: 849px) {
  .cnd-filename-rule__head,
  .cnd-filename-example {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .cnd-filename-rule__head { flex-direction: column; }
  .cnd-filename-example > span { white-space: normal; }
}

/* v0.6.5: course grade/class selector */
.cnd-grade-grid {
    display: grid;
    gap: 12px;
}
.cnd-option-group {
    padding: 12px;
    border: 1px solid var(--cnd-border, #dfe6f3);
    border-radius: 14px;
    background: rgba(248, 250, 255, .72);
}
.cnd-option-group-title {
    margin-bottom: 10px;
    color: #6b7489;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.cnd-option-group-items {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}


.chl-checkbox{display:grid;grid-template-columns:20px 1fr !important;align-items:center !important;gap:8px;}
.chl-checkbox input[type='checkbox']{margin:0 !important;}

/* v0.10.6: native Tutor bundle action */
[data-cnd-bundle-notice][hidden]{display:none!important}
.cnd-card-head .cnd-header-actions{justify-content:flex-end;flex-shrink:0}
.cnd-card-head .cnd-header-actions .cnd-btn{white-space:nowrap}
@media(max-width:849px){
  .cnd-card-head{align-items:stretch;flex-direction:column}
  .cnd-card-head .cnd-header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .cnd-card-head .cnd-header-actions .cnd-btn{width:100%}
}


/* v0.10.8: bundle management menu */
.cnd-bundle-manager { display: grid; gap: 20px; }
.cnd-bundle-manager .cnd-card-head { margin-bottom: 0; }
.cnd-bundle-stats { margin: 0; }
.cnd-bundle-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 4px 0;
}
.cnd-bundle-filter {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid var(--cnd-border, #dfe6f3);
  border-radius: 999px;
  background: #fff;
  color: var(--cnd-text, #111827);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none !important;
  white-space: nowrap;
}
.cnd-bundle-filter span {
  display: inline-grid;
  min-width: 24px;
  height: 24px;
  place-items: center;
  padding: 0 6px;
  border-radius: 999px;
  background: #eef2ff;
  color: #4653d8;
  font-size: 12px;
}
.cnd-bundle-filter:hover,
.cnd-bundle-filter.is-active {
  border-color: #5a5ff5;
  background: #eef2ff;
  color: #3f46d8;
}
.cnd-bundle-table { min-width: 980px; }
.cnd-bundle-name-cell {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-width: 250px;
}
.cnd-bundle-name-cell strong {
  display: block;
  max-width: 310px;
  overflow: hidden;
  color: var(--cnd-text, #111827);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cnd-bundle-name-cell small {
  display: block;
  margin-top: 4px;
  color: var(--cnd-muted, #6b7280);
}
.cnd-bundle-mini-thumb {
  display: grid;
  width: 54px;
  height: 54px;
  overflow: hidden;
  place-items: center;
  border: 1px solid var(--cnd-border, #dfe6f3);
  border-radius: 12px;
  background: linear-gradient(135deg, #eef2ff, #f8faff);
  color: #5a5ff5;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.cnd-bundle-mini-thumb img { width: 100%; height: 100%; object-fit: cover; }
.cnd-count-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #f2f4f8;
  color: #4d566b;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
@media (max-width: 849px) {
  .cnd-bundle-manager .cnd-header-actions { display: block; }
  .cnd-bundle-manager .cnd-header-actions .cnd-btn { width: 100%; }
  .cnd-bundle-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; }
}

/* v0.13.0: unified table actions, typography and overflow containment */
.cnd-main,
.cnd-panel,
.cnd-card,
.cnd-table-wrap,
.cnd-document-stack {
  min-width: 0;
  max-width: 100%;
}

.cnd-header > div:first-child { min-width: 0; }
.cnd-header h1 {
  font-size: clamp(28px, 2.6vw, 40px);
  letter-spacing: -.025em;
}
.cnd-header p { line-height: 1.55; }
.cnd-card h2 {
  font-size: clamp(18px, 1.7vw, 21px);
  line-height: 1.25;
  letter-spacing: -.015em;
}
.cnd-card h3 { line-height: 1.3; }
.cnd-card p,
.cnd-card li,
.cnd-card label,
.cnd-card input,
.cnd-card select,
.cnd-card textarea {
  font-size: 14px;
  line-height: 1.55;
}
.cnd-card a:not(.cnd-btn):not(.cnd-icon-action),
.cnd-link-button {
  font-size: 13px;
  line-height: 1.35;
}
.cnd-btn,
.cnd-action,
.cnd-header-actions,
.cnd-header-actions > * {
  white-space: nowrap;
}
.cnd-header-actions {
  flex-wrap: nowrap;
  flex-shrink: 0;
}

.cnd-document-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cnd-table-wrap {
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 transparent;
  -webkit-overflow-scrolling: touch;
}
.cnd-table-wrap::-webkit-scrollbar { height: 8px; }
.cnd-table-wrap::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: #cbd5e1;
}
.cnd-table {
  width: 100%;
  min-width: 680px;
  table-layout: auto;
  font-size: 13px;
  line-height: 1.45;
}
.cnd-bundle-table { min-width: 820px; }
.cnd-table th,
.cnd-table td {
  padding: 12px 11px;
  white-space: nowrap;
}
.cnd-table th {
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: .035em;
}
.cnd-table td {
  color: #4b5563;
  font-size: 13px;
}
.cnd-table td:first-child { color: var(--cnd-text); }
.cnd-table td:first-child > strong,
.cnd-table td:first-child > .cnd-muted {
  display: block;
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cnd-bundle-name-cell {
  min-width: 0;
  width: min(250px, 24vw);
}
.cnd-bundle-name-cell strong { max-width: 180px; }
.cnd-row-actions,
.cnd-inline-actions,
.cnd-actions-column {
  min-width: max-content;
  white-space: nowrap;
}
.cnd-row-actions,
.cnd-inline-actions {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 6px;
}
td.cnd-row-actions { display: table-cell; }
td.cnd-row-actions > .cnd-icon-action + .cnd-icon-action,
td.cnd-row-actions > a + a,
td.cnd-row-actions > button + button { margin-left: 6px; }

.cnd-action-icon-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}
.cnd-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.cnd-icon-action {
  display: inline-grid !important;
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  padding: 0 !important;
  place-items: center;
  border: 1px solid #dbe4f2;
  border-radius: 11px;
  color: var(--cnd-primary) !important;
  background: #f8faff;
  box-shadow: none;
  cursor: pointer;
  text-decoration: none !important;
  white-space: nowrap;
  transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}
.cnd-icon-action:hover,
.cnd-icon-action:focus-visible {
  border-color: #aebeff;
  color: #1f3bd1 !important;
  background: #eef2ff;
  outline: 3px solid rgba(80, 103, 255, .16);
  outline-offset: 1px;
  transform: translateY(-1px);
}
.cnd-icon-action:disabled {
  cursor: wait;
  opacity: .55;
  transform: none;
}
.cnd-icon-action-edit { color: #a16207 !important; background: #fffbeb; border-color: #fde68a; }
.cnd-icon-action-upload,
.cnd-icon-action-refresh { color: #5b21b6 !important; background: #f5f3ff; border-color: #ddd6fe; }
.cnd-icon-action-download { color: #047857 !important; background: #ecfdf5; border-color: #a7f3d0; }
.cnd-icon-action-cancel,
.cnd-icon-action-delete { color: #b91c1c !important; background: #fef2f2; border-color: #fecaca; }
.cnd-action-icon,
.cnd-icon-action > svg {
  display: block;
  width: 25px !important;
  height: 25px !important;
  flex: 0 0 25px;
  fill: currentColor;
}

.cnd-external-table-wrap > table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  font-size: 13px;
}
.cnd-external-table-wrap th,
.cnd-external-table-wrap td {
  padding: 12px 11px;
  white-space: nowrap;
}
.cnd-actions-column { width: 1%; }

@media (max-width: 1180px) and (min-width: 850px) {
  .cnd-wrap {
    grid-template-columns: 238px minmax(0, 1fr);
    gap: 16px;
  }
  .cnd-header {
    display: grid;
    padding: 20px;
  }
  .cnd-header-actions { justify-content: flex-start; }
  .cnd-table { min-width: 640px; }
  .cnd-bundle-table { min-width: 760px; }
}

@media (max-width: 849px) {
  .cnd-header-actions {
    display: flex;
    width: 100%;
    overflow-x: auto;
    padding-bottom: 4px;
  }
  .cnd-header-actions > * { flex: 0 0 auto; }
  .cnd-table,
  .cnd-external-table-wrap > table { min-width: 620px; }
  .cnd-bundle-table { min-width: 740px; }
  .cnd-table th,
  .cnd-table td,
  .cnd-external-table-wrap th,
  .cnd-external-table-wrap td { padding: 10px 9px; }
}

/* v0.14.0: Tutor LMS student progress tracking */
.cnd-progress-dashboard {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.cnd-progress-filter-card {
  overflow: visible;
}

.cnd-progress-filters {
  display: grid;
  grid-template-columns: minmax(210px, 1.2fr) minmax(170px, .8fr) minmax(220px, 1fr) auto;
  align-items: end;
  gap: 12px;
  margin: 16px 0 0;
}

.cnd-progress-filters label {
  display: grid;
  gap: 7px;
  min-width: 0;
  margin: 0;
}

.cnd-progress-filters label > span {
  color: var(--cnd-muted);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .02em;
}

.cnd-progress-filters input,
.cnd-progress-filters select {
  width: 100%;
  min-width: 0;
  height: 46px;
  margin: 0 !important;
  padding: 5px !important;
  border: 1px solid #dce5f2 !important;
  border-radius: 13px !important;
  color: var(--cnd-text) !important;
  background: #fff !important;
  box-shadow: none !important;
}

.cnd-progress-filters input:focus,
.cnd-progress-filters select:focus {
  border-color: #8ea1ff !important;
  outline: 3px solid rgba(80, 103, 255, .14);
  outline-offset: 1px;
}

.cnd-progress-filter-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: max-content;
}

.cnd-progress-filter-actions .cnd-btn {
  min-height: 46px;
}

.cnd-progress-stats {
  margin-bottom: 0;
}

.cnd-progress-table-card {
  min-width: 0;
}

.cnd-progress-table {
  min-width: 1120px;
}

.cnd-progress-student {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 210px;
}

.cnd-progress-avatar {
  display: inline-flex;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 50%;
  background: #f1f5f9;
}

.cnd-progress-avatar img {
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
}

.cnd-progress-student > span:last-child {
  min-width: 0;
}

.cnd-progress-student strong,
.cnd-progress-student small {
  display: block;
  max-width: 210px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cnd-progress-student strong {
  color: var(--cnd-text);
  font-size: 13px;
  font-weight: 850;
}

.cnd-progress-student small {
  margin-top: 3px;
  color: var(--cnd-muted);
  font-size: 11.5px;
}

.cnd-progress-cell {
  display: grid;
  grid-template-columns: minmax(100px, 1fr) auto;
  align-items: center;
  gap: 6px 9px;
  min-width: 180px;
}

.cnd-progress-cell .cnd-progress {
  min-width: 100px;
}

.cnd-progress-cell > strong {
  color: var(--cnd-primary);
  font-size: 13px;
  font-weight: 900;
}

.cnd-progress-cell > small {
  grid-column: 1 / -1;
  color: var(--cnd-muted);
  font-size: 11px;
}

.cnd-progress-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
  margin-top: 18px;
}

.cnd-progress-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  min-height: 38px;
  padding: 7px 11px;
  border: 1px solid #dce5f2;
  border-radius: 11px;
  color: var(--cnd-muted);
  background: #fff;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

.cnd-progress-pagination .page-numbers:hover,
.cnd-progress-pagination .page-numbers:focus-visible {
  border-color: #aebeff;
  color: var(--cnd-primary);
  background: #eef2ff;
  outline: 3px solid rgba(80, 103, 255, .14);
  outline-offset: 1px;
}

.cnd-progress-pagination .page-numbers.current {
  border-color: var(--cnd-primary);
  color: #fff;
  background: var(--cnd-primary);
}

@media (max-width: 1180px) {
  .cnd-progress-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cnd-progress-filter-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 849px) {
  .cnd-progress-filters {
    grid-template-columns: 1fr;
  }

  .cnd-progress-filter-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-width: 0;
  }

  .cnd-progress-filter-actions .cnd-btn {
    width: 100%;
  }

  .cnd-progress-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 549px) {
  .cnd-progress-stats {
    grid-template-columns: 1fr;
  }
}


/* v0.15.4 - ví đối soát + Đơn hàng của tôi */
.cnd-sidebar-wallet{display:block;margin:10px 14px 16px;padding:12px 14px;border:1px solid rgba(148,163,184,.28);border-radius:14px;text-decoration:none;background:rgba(255,255,255,.66);color:inherit}.cnd-sidebar-wallet span,.cnd-sidebar-wallet small{display:block}.cnd-sidebar-wallet span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;opacity:.7}.cnd-sidebar-wallet strong{display:block;font-size:20px;margin:3px 0}.cnd-sidebar-wallet small{font-size:11px;opacity:.65}.cnd-orders-table th:nth-child(2){min-width:180px}.cnd-order-course{display:flex;align-items:center;gap:11px;min-width:210px}.cnd-order-course__thumb{width:56px;height:56px;border-radius:10px;overflow:hidden;background:#f1f5f9;flex:0 0 auto}.cnd-order-course__thumb img{width:100%;height:100%;object-fit:cover}.cnd-order-course small{display:block;margin-top:3px;opacity:.58}.cnd-student-avatars{display:flex;align-items:center;padding-left:8px}.cnd-student-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;margin-left:-8px;border:2px solid #fff;background:#eef2f7;box-shadow:0 1px 2px rgba(15,23,42,.08);position:relative;cursor:help}.cnd-student-avatar:first-child{margin-left:0}.cnd-student-avatar img{width:32px;height:32px;border-radius:50%;object-fit:cover}.cnd-student-avatar--more{font-size:11px;font-weight:700;background:#e9edf5;color:#374151;cursor:default}.cnd-student-avatar:hover,.cnd-student-avatar:focus{z-index:10;transform:translateY(-2px);outline:2px solid rgba(79,70,229,.18);outline-offset:1px}@media(max-width:780px){.cnd-sidebar-wallet{margin:8px 10px 12px}.cnd-orders-table{min-width:760px}}

/* v0.16.0 - Bunny Video Picker trong Tutor Course Builder */
.cnd-native-quiz-create-hidden{display:none!important}
.cunghoc-course-builder-bunny-shortcut{position:fixed;right:24px;bottom:96px;z-index:99990;display:inline-flex;align-items:center;gap:9px;padding:13px 18px;border:0;border-radius:999px;background:#4f46e5;color:#fff!important;font:700 14px/1.2 "Roboto",Arial,sans-serif;text-decoration:none!important;box-shadow:0 14px 38px rgba(79,70,229,.30);cursor:pointer;transition:opacity .18s ease,transform .18s ease,background .18s ease,box-shadow .18s ease}.cunghoc-course-builder-bunny-shortcut:hover{background:#4338ca;color:#fff!important;transform:translateY(-1px);box-shadow:0 18px 44px rgba(79,70,229,.34)}
.cunghoc-course-builder-bunny-shortcut.is-context-hidden{opacity:0;pointer-events:none;transform:translateY(10px)}
.cnd-tutor-bunny-trigger{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;white-space:nowrap!important}.cnd-tutor-bunny-trigger svg{width:24px!important;height:24px!important;flex:0 0 24px!important}.cnd-tutor-bunny-label{font:inherit;color:inherit}
html.cnd-video-picker-open{overflow:hidden}.cnd-video-picker[hidden]{display:none!important}.cnd-video-picker{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:24px}.cnd-video-picker__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.62);backdrop-filter:blur(3px)}.cnd-video-picker__dialog{position:relative;z-index:1;width:min(960px,calc(100vw - 32px));max-height:min(820px,calc(100vh - 32px));overflow:auto;border:1px solid #e2e8f0;border-radius:22px;background:#fff;box-shadow:0 30px 80px rgba(15,23,42,.30);padding:22px}.cnd-video-picker__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid #e2e8f0}.cnd-video-picker__head h2{margin:2px 0 4px;font-size:22px;line-height:1.25;color:#0f172a}.cnd-video-picker__head p{margin:0;color:#64748b;font-size:13px}.cnd-video-picker__eyebrow{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#4f46e5}.cnd-video-picker__close{width:38px;height:38px;border:1px solid #dbe3ef;border-radius:12px;background:#fff;color:#475569;font-size:26px;line-height:1;cursor:pointer}.cnd-video-picker__context{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:end;padding:18px 0}.cnd-video-picker__context>label:not(.cnd-check-row){display:grid;gap:7px;font-size:13px;font-weight:750;color:#334155}.cnd-video-picker__context small,.cnd-video-picker__upload small{display:block;margin-top:6px;color:#64748b;font-size:11px;font-weight:500;line-height:1.45}.cnd-video-picker__preview{margin:0!important;padding:12px 14px!important;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}.cnd-video-picker__tabs{display:flex;gap:8px;padding:4px;border-radius:14px;background:#f1f5f9}.cnd-video-picker__tabs button{flex:1;border:0;border-radius:11px;background:transparent;padding:11px 14px;color:#64748b;font-size:13px;font-weight:800;cursor:pointer}.cnd-video-picker__tabs button.is-active{background:#fff;color:#4338ca;box-shadow:0 1px 4px rgba(15,23,42,.10)}.cnd-video-picker__notice{margin:14px 0 0;padding:11px 13px;border:1px solid #dbeafe;border-radius:12px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:650}.cnd-video-picker__notice.is-error{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.cnd-video-picker__notice.is-success{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.cnd-video-picker__pane{padding-top:16px}.cnd-video-picker__pane[hidden]{display:none!important}.cnd-video-picker__toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:14px}.cnd-video-picker__library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cnd-video-picker__item{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid #e2e8f0;border-radius:15px;background:#fff}.cnd-video-picker__thumb{width:120px;aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;border-radius:10px;background:#0f172a;color:#fff;font-size:24px}.cnd-video-picker__thumb img{width:100%;height:100%;object-fit:cover}.cnd-video-picker__item-body{min-width:0}.cnd-video-picker__item-body strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0f172a;font-size:13px}.cnd-video-picker__item-body small{display:block;margin-top:5px;color:#64748b;font-size:11px;line-height:1.4}.cnd-video-picker__choose{white-space:nowrap}.cnd-video-picker__choose:disabled{opacity:.55;cursor:not-allowed}.cnd-video-picker__loading,.cnd-video-picker__empty{grid-column:1/-1;padding:34px 18px;border:1px dashed #cbd5e1;border-radius:15px;background:#f8fafc;text-align:center;color:#64748b;font-size:13px}.cnd-video-picker__empty.is-error{border-color:#fecaca;background:#fff7f7;color:#b91c1c}.cnd-video-picker__upload{display:grid;gap:14px}.cnd-video-picker__upload>label{display:grid;gap:7px;color:#334155;font-size:13px;font-weight:750}.cnd-video-picker__upload .cnd-upload-progress{margin:0}.cnd-video-picker .cnd-btn{min-height:40px}.cnd-video-picker .cnd-input{width:100%;min-height:42px}.cnd-video-picker .cnd-progress{height:8px;border-radius:999px;overflow:hidden;background:#e2e8f0}.cnd-video-picker .cnd-progress>span{display:block;height:100%;border-radius:inherit;background:#4f46e5;transition:width .18s ease}.cnd-video-picker .cnd-upload-status{margin-top:7px;color:#475569;font-size:12px}.cnd-video-picker .cnd-upload-status.is-error{color:#b91c1c}

/* Selector cha-con có độ ưu tiên cao để không bị CSS button toàn cục của theme đè padding. */
.cnd-video-picker .cnd-video-picker__dialog .cnd-video-picker__head > button.cnd-video-picker__close{
  display:grid!important;
  place-items:center!important;
  flex:0 0 40px!important;
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #dbe3ef!important;
  border-radius:12px!important;
  box-sizing:border-box!important;
  appearance:none!important;
  background:#fff!important;
  color:#475569!important;
  font-size:25px!important;
  font-weight:700!important;
  line-height:1!important;
  cursor:pointer;
}
.cnd-video-picker .cnd-video-picker__dialog .cnd-video-picker__head > button.cnd-video-picker__close > span{display:block;line-height:1;transform:translateY(-1px)}
.cnd-video-picker .cnd-video-picker__dialog .cnd-video-picker__head > button.cnd-video-picker__close:hover{border-color:#c7d2fe!important;background:#eef2ff!important;color:#4338ca!important}
.cnd-video-picker .cnd-video-picker__dialog .cnd-video-picker__head > button.cnd-video-picker__close:focus-visible{outline:3px solid rgba(79,70,229,.22)!important;outline-offset:2px!important}
@media(max-width:849px){.cunghoc-course-builder-bunny-shortcut{left:12px;right:80px;bottom:76px;justify-content:center;border-radius:14px}.cnd-video-picker{padding:8px}.cnd-video-picker__dialog{width:100%;max-height:calc(100vh - 16px);padding:16px;border-radius:18px}.cnd-video-picker__context{grid-template-columns:1fr}.cnd-video-picker__library{grid-template-columns:1fr}.cnd-video-picker__item{grid-template-columns:92px minmax(0,1fr)}.cnd-video-picker__thumb{width:92px}.cnd-video-picker__choose{grid-column:1/-1;width:100%}.cnd-video-picker__toolbar{grid-template-columns:1fr}.cnd-video-picker__toolbar .cnd-btn{width:100%}}

/* 0.17.5 - Chấm điểm */
.cnd-grading-wrap{display:grid;gap:20px}
.cnd-grading-stats{margin:0}
.cnd-grading-head{align-items:flex-end;gap:18px}
.cnd-grading-filter{min-width:min(100%,320px);margin:0}
.cnd-grading-table td{vertical-align:top}
.cnd-grading-table td>strong,.cnd-grading-table td>small{display:block}
.cnd-grading-table td>small{margin-top:4px;color:#64748b}
.cnd-grading-inline-form{display:grid;grid-template-columns:minmax(105px,130px) minmax(180px,1fr) auto;gap:8px;align-items:end;min-width:460px}
.cnd-grading-inline-form label{display:grid;gap:5px;margin:0;font-size:11px;font-weight:700;color:#64748b}
.cnd-grading-inline-form textarea{min-height:42px;resize:vertical}
.cnd-grading-inline-form .cnd-btn{min-height:42px;white-space:nowrap}
@media(max-width:900px){.cnd-grading-head{align-items:stretch;flex-direction:column}.cnd-grading-filter{width:100%;min-width:0}.cnd-grading-inline-form{grid-template-columns:1fr;min-width:260px}}
.cnd-grading-submission{margin-top:8px;max-width:520px}
.cnd-grading-submission summary{width:max-content;color:#4f46e5;font-size:12px;font-weight:800;cursor:pointer}
.cnd-grading-submission__body{margin-top:8px;padding:5px;border-radius:10px;background:#f8fafc;color:#334155;font-size:13px;line-height:1.55;white-space:normal}
.cnd-grading-files{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.cnd-grading-files a{display:inline-flex;padding:6px 9px;border-radius:8px;background:#eef2ff;color:#4338ca!important;font-size:11px;font-weight:700;text-decoration:none!important}


/* v0.17.6 - Structured teacher school picker */
.cnd-form-wide{grid-column:1/-1}
.cnd-form-label{display:block;color:var(--cnd-muted);font-size:13px;font-weight:850}
.cnd-form-label strong{color:#dc2626}
.cnd-school-field{display:grid;gap:9px;min-width:0}
.cnd-school-search-wrap{position:relative}
.cnd-school-results{position:absolute;z-index:80;top:calc(100% + 6px);left:0;right:0;max-height:300px;overflow:auto;padding:6px;border:1px solid #dbe3ef;border-radius:14px;background:#fff;box-shadow:0 18px 42px rgba(15,23,42,.14)}
.cnd-school-result{display:grid;width:100%;gap:3px;padding:10px 11px;border:0;border-radius:10px;background:transparent;text-align:left;cursor:pointer}
.cnd-school-result:hover,.cnd-school-result:focus-visible{background:#f1f5ff;outline:none}
.cnd-school-result strong{color:#172033;font-size:13px;line-height:1.35}
.cnd-school-result span{color:#738097;font-size:11px;line-height:1.4}
.cnd-school-result-empty{padding:12px;color:#738097;font-size:12px;line-height:1.5}
.cnd-school-selected{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px;border:1px solid #c7d2fe;border-radius:13px;background:#f5f7ff}
.cnd-school-selected>div{display:grid;gap:3px;min-width:0}
.cnd-school-selected strong{color:#2536a7;font-size:13px}
.cnd-school-selected span{color:#64748b;font-size:11px}
.cnd-school-clear,.cnd-school-missing-toggle{appearance:none;border:0;background:transparent;color:var(--cnd-primary);font:inherit;font-size:12px;font-weight:850;cursor:pointer}
.cnd-school-clear{white-space:nowrap;padding:5px 7px;border-radius:8px}
.cnd-school-clear:hover,.cnd-school-missing-toggle:hover{text-decoration:underline}
.cnd-school-missing-toggle{width:max-content;padding:2px 0;text-align:left}
.cnd-school-missing{display:grid;gap:7px;padding:12px;border:1px dashed #cbd5e1;border-radius:13px;background:#fff}
.cnd-school-missing p,.cnd-school-legacy-note{margin:0;color:#64748b;font-size:12px;line-height:1.5}
.cnd-school-legacy-note{padding:9px 11px;border-radius:10px;background:#fff7ed;color:#9a3412}
.cnd-school-error{padding:9px 11px;border-radius:10px;background:#fef2f2;color:#b91c1c;font-size:12px;font-weight:750;line-height:1.45}
.cnd-profile-subline{display:block;margin-top:4px;color:#64748b;font-size:11px;font-weight:600}
.cnd-profile-subline--warning{color:#b45309}
@media(max-width:549px){.cnd-school-selected{align-items:flex-start;flex-direction:column}.cnd-school-clear{padding-left:0}}
.cnd-school-results[hidden],.cnd-school-selected[hidden],.cnd-school-missing[hidden],.cnd-school-error[hidden]{display:none!important}

/* 0.17.7: lối tắt sửa trường trong phần thông tin giáo viên. */
.cnd-profile-inline-edit{display:inline-flex;align-items:center;margin-left:10px;padding:3px 8px;border-radius:7px;background:#f1f4ff;color:#4648d4!important;font-size:12px;font-weight:800;text-decoration:none!important;vertical-align:middle}
.cnd-profile-inline-edit:hover,.cnd-profile-inline-edit:focus{background:#e8ebff;color:#3b3cbd!important;outline:none}
#cnd-teacher-school-picker{scroll-margin-top:96px}

/* v0.19.0-beta.8 - CungHoc learning-day targets. */
.cnd-lesson-day-list{display:grid;gap:9px;margin-top:12px}.cnd-lesson-day-row{display:grid!important;grid-template-columns:minmax(0,1fr) 120px;align-items:center;gap:14px;padding:12px 14px;border:1px solid #e3e8f4;border-radius:12px;background:#f8faff}.cnd-lesson-day-row strong,.cnd-lesson-day-row small{display:block}.cnd-lesson-day-row strong{color:#172033;font-size:14px}.cnd-lesson-day-row small{margin-top:3px;color:#667085;font-size:12px}.cnd-lesson-day-row .cnd-input{width:120px!important;text-align:center;font-weight:800}.cnd-lesson-day-fieldset{margin-top:8px}@media(max-width:600px){.cnd-lesson-day-row{grid-template-columns:1fr}.cnd-lesson-day-row .cnd-input{width:100%!important}}

/* v0.20 - Course Builder CungHoc độc lập giao diện Tutor. */
.ch-course-builder{display:grid;gap:18px;color:#172033}.ch-course-builder *{box-sizing:border-box}.ch-course-builder__topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border:1px solid #e1e6f2;border-radius:18px;background:#fff}.ch-course-builder__topbar h2{margin:5px 0 0;font-size:24px;line-height:1.25}.ch-course-builder__top-actions{display:flex;align-items:center;gap:10px}.ch-builder-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ch-builder-step{display:flex;align-items:center;gap:11px;min-height:70px;padding:12px;border:1px solid #e1e6f2;border-radius:15px;background:#fff;color:#5f6b80!important;text-decoration:none!important}.ch-builder-step>b{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#eef1f8;color:#667085}.ch-builder-step span{display:grid;gap:2px;min-width:0}.ch-builder-step strong{color:#243049;font-size:13px}.ch-builder-step small{overflow:hidden;color:#8791a4;font-size:10px;white-space:nowrap;text-overflow:ellipsis}.ch-builder-step.is-active{border-color:#7f88ff;background:#f3f4ff;box-shadow:0 8px 22px rgba(79,70,229,.08)}.ch-builder-step.is-active>b{background:#5557e8;color:#fff}.ch-builder-two-columns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:18px}.ch-builder-main-card,.ch-builder-mini-card{border:1px solid #e1e6f2;background:#fff;box-shadow:0 10px 30px rgba(28,39,73,.04)}.ch-builder-main-card{padding:24px;border-radius:18px}.ch-builder-side-cards{display:grid;align-content:start;gap:12px}.ch-builder-mini-card{display:grid;gap:12px;padding:17px;border-radius:15px}.ch-builder-mini-card h3{margin:0;color:#1c2741;font-size:14px}.ch-builder-mini-card h3 em,.ch-builder-field em{color:#dc2626;font-style:normal}.ch-builder-section-title{margin-bottom:22px}.ch-builder-section-title>span{color:#4d50db;font-size:11px;font-weight:900;letter-spacing:.08em}.ch-builder-section-title h3{margin:5px 0 4px;font-size:22px}.ch-builder-section-title p{margin:0;color:#6e7a91;font-size:13px}.ch-builder-field{display:grid;gap:7px;margin:0 0 17px}.ch-builder-field>span{color:#27324b;font-size:12px;font-weight:800}.ch-builder-field>small{color:#7b879b;font-size:11px}.ch-builder-field input,.ch-builder-field textarea,.ch-builder-mini-card select,.ch-builder-inline-form input,.ch-builder-add-lesson input{width:100%;padding:5px;border:1px solid #dbe1ec;border-radius:10px;background:#fff;color:#172033;font:inherit;font-size:13px;outline:none}.ch-builder-field input:focus,.ch-builder-field textarea:focus,.ch-builder-mini-card select:focus,.ch-builder-inline-form input:focus,.ch-builder-add-lesson input:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.12)}.ch-builder-cover-preview img{display:block;width:190px;max-height:118px;object-fit:cover;border-radius:12px}.ch-builder-chips,.ch-builder-grade-group>div{display:flex;flex-wrap:wrap;gap:7px}.ch-builder-chips label,.ch-builder-grade-group label{position:relative}.ch-builder-chips input,.ch-builder-grade-group input,.ch-builder-segment input{position:absolute;opacity:0;pointer-events:none}.ch-builder-chips span,.ch-builder-grade-group span{display:inline-flex;padding:7px 10px;border:1px solid #dfe4ef;border-radius:999px;background:#fff;color:#4b5870;font-size:11px;font-weight:750;cursor:pointer}.ch-builder-chips input:checked+span,.ch-builder-grade-group input:checked+span{border-color:#7377ee;background:#eef0ff;color:#4144c9}.ch-builder-grade-group label.is-disabled{opacity:.42;cursor:not-allowed}.ch-builder-grade-group label.is-disabled span{background:#f2f4f7;color:#98a2b3;cursor:not-allowed}.ch-builder-mini-card>small{color:#7a869a;font-size:10.5px;line-height:1.45}.ch-builder-chip-groups{display:grid;gap:10px}.ch-builder-grade-group{display:grid;gap:6px}.ch-builder-grade-group>strong{color:#657086;font-size:10px;text-transform:uppercase}.ch-builder-segment{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:11px;background:#f0f2f7}.ch-builder-segment label span{display:block;padding:8px;border-radius:8px;color:#68748a;font-size:12px;font-weight:800;text-align:center;cursor:pointer}.ch-builder-segment input:checked+span{background:#fff;color:#4245d0;box-shadow:0 3px 10px rgba(30,41,59,.08)}.ch-builder-price{margin:0}.ch-builder-switch{display:flex;align-items:flex-start;gap:10px}.ch-builder-switch input{margin-top:3px}.ch-builder-switch span{display:grid;gap:3px}.ch-builder-switch b{font-size:13px}.ch-builder-switch small{color:#7a869a;font-size:10px}.ch-builder-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:18px;padding:14px 0}.ch-builder-inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:18px}.ch-builder-topic-list{display:grid;gap:14px}.ch-builder-topic{overflow:hidden;border:1px solid #dfe5ef;border-radius:14px;background:#fbfcff}.ch-builder-topic>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e6eaf2;background:#f5f7fc}.ch-builder-topic>header span{color:#6267d9;font-size:9px;font-weight:900;letter-spacing:.08em}.ch-builder-topic h4{margin:2px 0 0;font-size:15px}.ch-builder-item-list{display:grid}.ch-builder-content-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #edf0f5}.ch-builder-content-row>span{color:#5961d8}.ch-builder-content-row div{display:grid;gap:2px}.ch-builder-content-row strong{font-size:13px}.ch-builder-content-row small{color:#8290a4;font-size:10px}.ch-builder-delete{margin:0}.ch-builder-delete button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #f0d6d6;border-radius:9px;background:#fff;color:#c24141;cursor:pointer}.ch-builder-delete .material-symbols-outlined{font-size:19px}.ch-builder-empty-row{padding:16px;color:#8590a2;font-size:12px}.ch-builder-add-lesson{display:grid;grid-template-columns:minmax(0,1fr) 88px auto auto;gap:8px;padding:13px 16px}.ch-builder-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ch-builder-resource-card{display:grid;gap:7px;min-height:175px;padding:18px;border:1px solid #e1e6f1;border-radius:14px;background:#fafbff;color:#1b2742!important;text-decoration:none!important;transition:.18s ease}.ch-builder-resource-card:hover{border-color:#8e93f3;transform:translateY(-2px);box-shadow:0 12px 24px rgba(79,70,229,.08)}.ch-builder-resource-card>.material-symbols-outlined{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#eceeff;color:#4a4dd8}.ch-builder-resource-card strong{font-size:14px}.ch-builder-resource-card small{color:#758196;font-size:11px;line-height:1.5}.ch-builder-resource-card em{align-self:end;color:#4f52d5;font-size:11px;font-style:normal;font-weight:800}.ch-builder-live-card{margin-top:16px}.ch-builder-checklist{display:grid;gap:9px}.ch-builder-checklist>div{display:flex;align-items:center;gap:9px;padding:11px 13px;border-radius:10px;font-size:13px;font-weight:700}.ch-builder-checklist .is-ok{background:#eefbf2;color:#267946}.ch-builder-checklist .is-missing{background:#fff4f2;color:#b43b34}.ch-builder-checklist .material-symbols-outlined{font-size:20px}.ch-builder-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.ch-builder-summary>div{display:grid;gap:4px;padding:14px;border:1px solid #e4e8f0;border-radius:12px}.ch-builder-summary small{color:#7a8699;font-size:10px}.ch-builder-summary strong{font-size:18px}
@media(max-width:1100px){.ch-builder-steps{grid-template-columns:repeat(2,1fr)}.ch-builder-two-columns{grid-template-columns:1fr}.ch-builder-resource-grid{grid-template-columns:1fr}}
@media(max-width:680px){.ch-course-builder__topbar{align-items:flex-start;flex-direction:column}.ch-builder-steps{grid-template-columns:1fr}.ch-builder-main-card{padding:17px}.ch-builder-add-lesson{grid-template-columns:1fr}.ch-builder-add-lesson .cnd-btn{width:100%}.ch-builder-summary{grid-template-columns:1fr}.ch-builder-footer{align-items:stretch;flex-direction:column-reverse}.ch-builder-footer .cnd-btn{width:100%;text-align:center}}

/* v0.20.0-beta.2 - Curriculum theo Lesson và loại bỏ lớp legacy bị lặp. */
.ch-builder-inline-form{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) auto;align-items:start;padding:15px;border:1px solid #e2e7f0;border-radius:14px;background:#fafbff}
.ch-builder-inline-form textarea,.ch-builder-add-lesson textarea{width:100%;min-height:46px;padding:5px;border:1px solid #dbe1ec;border-radius:10px;background:#fff;color:#172033;font:inherit;font-size:13px;line-height:1.5;resize:vertical;outline:none}
.ch-builder-inline-form textarea:focus,.ch-builder-add-lesson textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.12)}
.ch-builder-inline-form .cnd-btn{min-height:46px;white-space:nowrap}
.ch-builder-topic>header>div{min-width:0}.ch-builder-topic>header p{max-width:920px;margin:6px 0 0;color:#758196;font-size:11px;line-height:1.5}
.ch-builder-content-block{border-bottom:1px solid #edf0f5;background:#fff}.ch-builder-content-block:last-child{border-bottom:0}.ch-builder-content-block .ch-builder-content-row{border-bottom:0}
.ch-builder-content-row{grid-template-columns:28px minmax(180px,1fr) auto}.ch-builder-content-row>div:nth-child(2){min-width:0}.ch-builder-content-row small{line-height:1.45}
.ch-builder-row-actions{display:flex!important;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px!important}.ch-builder-row-actions .ch-builder-delete{display:block}
.ch-builder-attach-button{display:inline-flex!important;align-items:center;gap:5px;min-height:34px!important;padding:7px 10px!important;border-radius:9px!important;font-size:11px!important;line-height:1.2!important;white-space:nowrap}.ch-builder-attach-button .material-symbols-outlined{font-size:17px}
.ch-builder-linked-items{display:grid;gap:7px;margin:0 16px 12px 54px;padding:5px;border:1px solid #dfe5ff;border-radius:10px;background:#f6f7ff}.ch-builder-linked-items>span{color:#6267d9;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.ch-builder-linked-items>div{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;color:#26314a}.ch-builder-linked-items>div>.material-symbols-outlined{color:#5961d8;font-size:18px}.ch-builder-linked-items strong{font-size:12px}.ch-builder-linked-items .ch-builder-delete button{width:30px;height:30px}
.ch-builder-add-lesson{grid-template-columns:minmax(190px,.85fr) minmax(240px,1.2fr) 150px auto;align-items:start;padding:16px;background:#f8faff}.ch-builder-add-lesson>input,.ch-builder-add-lesson>textarea{min-height:46px}.ch-builder-add-lesson>.cnd-btn{min-height:46px;white-space:nowrap}
.ch-builder-day-limit{display:grid;grid-template-columns:1fr 64px;align-items:center;gap:3px 8px;color:#3a465d;font-size:10px;font-weight:800}.ch-builder-day-limit input{grid-column:2;grid-row:1/3;text-align:center}.ch-builder-day-limit small{color:#8290a4;font-size:9px;font-weight:500}
@media(max-width:1050px){.ch-builder-content-row{grid-template-columns:28px minmax(0,1fr)}.ch-builder-row-actions{grid-column:2;justify-content:flex-start}.ch-builder-add-lesson{grid-template-columns:1fr 1fr}.ch-builder-day-limit{min-height:46px}}
@media(max-width:720px){.ch-builder-inline-form,.ch-builder-add-lesson{grid-template-columns:1fr}.ch-builder-inline-form .cnd-btn,.ch-builder-add-lesson>.cnd-btn{width:100%}.ch-builder-content-row{grid-template-columns:24px minmax(0,1fr);padding:12px}.ch-builder-row-actions{grid-column:1/-1;justify-content:flex-start}.ch-builder-attach-button{flex:1;justify-content:center}.ch-builder-linked-items{margin:0 12px 12px}.ch-builder-day-limit{grid-template-columns:1fr 90px}}

/* v0.20.0-beta.5 - edit Chapter/Lesson modal. */
.ch-builder-topic-actions{display:flex;align-items:center;gap:7px}.ch-builder-edit-button{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:0;border:1px solid #dfe3f5;border-radius:9px;background:#fff;color:#4f55d8;cursor:pointer}.ch-builder-edit-button:hover,.ch-builder-edit-button:focus-visible{border-color:#8c91ee;background:#f2f3ff;outline:none}.ch-builder-edit-button .material-symbols-outlined{font-size:18px}.ch-builder-modal-open{overflow:hidden}.ch-builder-edit-modal[hidden]{display:none!important}.ch-builder-edit-modal{position:fixed;inset:0;z-index:100050;display:grid;place-items:center;padding:18px}.ch-builder-edit-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(15,23,42,.55);cursor:default}.ch-builder-edit-dialog{position:relative;z-index:1;width:min(620px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid #e0e5ef;border-radius:16px;background:#fff;box-shadow:0 28px 70px rgba(15,23,42,.28)}.ch-builder-edit-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 19px;border-bottom:1px solid #e8ebf2}.ch-builder-edit-dialog>header span:not(.material-symbols-outlined){color:#5258d8;font-size:10px;font-weight:900;letter-spacing:.08em}.ch-builder-edit-dialog>header h3{margin:3px 0 0;color:#172033;font-size:19px}.ch-builder-edit-dialog>header>button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:9px;background:#f2f4f8;color:#566278;cursor:pointer}.ch-builder-edit-dialog>form{display:grid;gap:15px;padding:19px}.ch-builder-edit-dialog>form>label{display:grid;gap:7px}.ch-builder-edit-dialog>form>label>span{color:#27324b;font-size:12px;font-weight:800}.ch-builder-edit-dialog input,.ch-builder-edit-dialog textarea{width:100%;padding:5px;border:1px solid #dbe1ec;border-radius:10px;background:#fff;color:#172033;font:inherit;font-size:13px;line-height:1.45;outline:none}.ch-builder-edit-dialog input:focus,.ch-builder-edit-dialog textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.12)}.ch-builder-edit-dialog textarea{min-height:130px;resize:vertical}.ch-builder-edit-day{grid-template-columns:minmax(0,1fr) 120px;align-items:center}.ch-builder-edit-day input{grid-column:2;grid-row:1/3}.ch-builder-edit-day small{color:#8290a4;font-size:10px}.ch-builder-edit-dialog footer{display:flex;justify-content:flex-end;gap:9px;padding-top:4px}@media(max-width:600px){.ch-builder-edit-modal{padding:10px}.ch-builder-edit-dialog{max-height:calc(100vh - 20px);border-radius:13px}.ch-builder-edit-dialog>form{padding:16px}.ch-builder-edit-day{grid-template-columns:1fr}.ch-builder-edit-day input{grid-column:auto;grid-row:auto}.ch-builder-edit-dialog footer{align-items:stretch;flex-direction:column-reverse}.ch-builder-edit-dialog footer .cnd-btn{width:100%}}


/* CungHoc 0.20.2: form-control baseline */
.cnd-wrap input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
.cnd-wrap select,
.cnd-wrap textarea {
  padding: 5px !important;
  line-height: 1.35 !important;
}
.cnd-wrap input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
.cnd-wrap select {
  min-height: 42px;
}
.cnd-wrap select {
  height: 42px;
}
.cnd-wrap textarea {
  min-height: 96px;
}

/* v0.21.3: Course Bundle Builder UI cleanup */
.ch-bundle-builder{display:grid;gap:16px}
.ch-bundle-builder__topbar{align-items:flex-start;padding:18px 20px}
.ch-bundle-builder__topbar h2{margin:4px 0 0!important;font-size:22px!important;line-height:1.3!important}
.ch-bundle-builder__intro{max-width:760px;margin:6px 0 0!important;color:#6e7a91;font-size:12.5px;line-height:1.55}
.ch-bundle-builder .ch-builder-section-title{margin-bottom:20px}
.ch-bundle-builder .ch-builder-section-title>span{font-size:10.5px!important}
.ch-bundle-builder .ch-builder-section-title h3{margin:5px 0 5px!important;font-size:22px!important;line-height:1.28!important}
.ch-bundle-builder .ch-builder-section-title p{margin:0!important;font-size:12.5px!important;line-height:1.55!important}
.ch-bundle-builder .ch-builder-main-card{padding:22px}
.ch-bundle-builder .ch-builder-mini-card{padding:16px}
.ch-bundle-builder .ch-builder-mini-card h3{margin:0!important;font-size:14px!important;line-height:1.35!important}
.ch-bundle-builder .ch-builder-field>span{font-size:12px!important;line-height:1.35}
.ch-bundle-builder .ch-builder-field>small{font-size:10.5px!important;line-height:1.5}
.ch-bundle-builder .ch-builder-field input:not([type=checkbox]):not([type=radio]):not([type=file]),
.ch-bundle-builder .ch-builder-field select,
.ch-bundle-builder .ch-builder-field textarea,
.ch-bundle-builder .ch-bundle-course-toolbar input,
.ch-bundle-builder .ch-bundle-course-toolbar select{
  width:100%;padding:5px!important;border:1px solid #dbe1ec!important;border-radius:10px!important;background:#fff!important;color:#172033!important;font:inherit!important;font-size:13px!important;line-height:1.35!important;outline:none!important;box-shadow:none!important
}
.ch-bundle-builder .ch-builder-field input:not([type=file]),
.ch-bundle-builder .ch-builder-field select,
.ch-bundle-builder .ch-bundle-course-toolbar input,
.ch-bundle-builder .ch-bundle-course-toolbar select{min-height:42px!important;height:42px!important}
.ch-bundle-builder .ch-builder-field textarea{min-height:110px!important;resize:vertical}
.ch-bundle-builder .ch-builder-field input:focus,
.ch-bundle-builder .ch-builder-field select:focus,
.ch-bundle-builder .ch-builder-field textarea:focus,
.ch-bundle-builder .ch-bundle-course-toolbar input:focus,
.ch-bundle-builder .ch-bundle-course-toolbar select:focus{border-color:#6366f1!important;box-shadow:0 0 0 3px rgba(99,102,241,.12)!important}
.ch-bundle-builder input[type=file]{width:100%;min-height:42px;padding:5px!important;border:1px solid #dbe1ec!important;border-radius:10px!important;background:#fff!important;color:#5d687d!important;font-size:12px!important;line-height:1.3!important}
.ch-bundle-builder input[type=file]::file-selector-button{margin-right:10px;padding:7px 10px;border:0;border-radius:7px;background:#eef0ff;color:#474bd0;font-weight:800;cursor:pointer}
.ch-bundle-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ch-bundle-summary-item{display:flex;min-width:0;min-height:68px;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border:1px solid #e1e6f2;border-radius:14px;background:#fff}
.ch-bundle-summary-item small{color:#7b8799;font-size:10.5px;font-weight:700;line-height:1.35}
.ch-bundle-summary-item strong{overflow:hidden;color:#243049;font-size:17px;font-weight:850;line-height:1.25;text-align:right;text-overflow:ellipsis;white-space:nowrap}
.ch-bundle-tip-card{display:grid!important;gap:6px!important;background:#fbfcff!important}
.ch-bundle-tip-card p{margin:0!important;color:#758196;font-size:11px;line-height:1.55}
.ch-bundle-course-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 170px auto;gap:10px;align-items:center;margin:0 0 14px}
.ch-bundle-course-search{display:block;margin:0!important}
.ch-bundle-course-toolbar select{margin:0!important}
.ch-bundle-selection-count{justify-self:end;padding:7px 10px;border-radius:999px;background:#eef0ff;color:#4b50d1;font-size:10.5px;font-weight:800;line-height:1.2;white-space:nowrap}
.ch-bundle-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.ch-bundle-course-option{position:relative;display:grid;grid-template-columns:20px 58px minmax(0,1fr) 24px;gap:11px;align-items:center;min-width:0;margin:0!important;padding:11px;border:1px solid #e3e8f2;border-radius:14px;background:#fff;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.ch-bundle-course-option:hover{border-color:#c9cff7;box-shadow:0 8px 22px rgba(31,43,79,.05)}
.ch-bundle-course-option.is-selected{border-color:#aeb7ff;background:#fbfbff}
.ch-bundle-course-option.is-disabled{cursor:not-allowed;opacity:.62}
.ch-bundle-course-option[hidden]{display:none!important}
.ch-bundle-course-option>input[type=checkbox]{width:18px!important;height:18px!important;margin:0!important;padding:0!important}
.ch-bundle-course-thumb{display:grid;width:58px;height:46px;place-items:center;overflow:hidden;border-radius:9px;background:#f0f3f9;color:#6d7890}
.ch-bundle-course-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.ch-bundle-course-thumb__placeholder{display:grid;width:100%;height:100%;place-items:center;background:#eef1f7;color:#818ca0;font-size:10px;font-weight:900;letter-spacing:.04em}
.ch-bundle-course-copy{display:grid;gap:6px;min-width:0}
.ch-bundle-course-copy>strong{overflow:hidden;color:#243049;font-size:12px!important;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.ch-bundle-course-copy>small{display:flex;flex-wrap:wrap;gap:7px;align-items:center;color:#738097;font-size:10px!important;line-height:1.3}
.ch-bundle-course-status{display:inline-flex;padding:3px 7px;border-radius:999px;background:#f0f3f7;color:#667085;font-weight:750}
.ch-bundle-course-status.is-publish{background:#ecfdf3;color:#1f7a46}
.ch-bundle-course-status.is-pending{background:#fff8e5;color:#9a6900}
.ch-bundle-course-status.is-draft{background:#f1f4f9;color:#667085}
.ch-bundle-course-check{display:grid;width:20px;height:20px;place-items:center;border:1px solid #d7dce7;border-radius:50%;color:transparent;font-size:11px;font-weight:900;line-height:1}
.ch-bundle-course-option.is-selected .ch-bundle-course-check{border-color:#5157df;background:#5157df;color:#fff}
.ch-bundle-course-help{display:flex;gap:9px;align-items:flex-start;margin-top:14px;padding:11px 12px;border-radius:12px;background:#f8f9fd;color:#69758b}
.ch-bundle-course-help__mark{display:grid;flex:0 0 20px;width:20px;height:20px;place-items:center;border-radius:50%;background:#e8eaff;color:#5054d8;font-size:11px;font-weight:900;font-style:normal}
.ch-bundle-course-help p{margin:0!important;font-size:10.5px!important;line-height:1.55}
.ch-bundle-price-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}
.ch-bundle-price-summary>div{display:grid;gap:4px;padding:13px;border:1px solid #e3e8f2;border-radius:13px;background:#fafbfe}
.ch-bundle-price-summary small{color:#78849a;font-size:10px!important;font-weight:700}
.ch-bundle-price-summary strong{color:#1f2b45;font-size:16px!important;line-height:1.3}
.ch-bundle-review .cnd-alert{margin-top:14px!important}
.ch-bundle-builder .ch-builder-checklist>div{min-height:48px;padding:11px 13px!important;font-size:12px!important;line-height:1.4}
.ch-bundle-review-icon{display:grid;flex:0 0 24px;width:24px;height:24px;place-items:center;border-radius:50%;font-size:12px;font-weight:900;line-height:1}
.ch-builder-checklist .is-ok .ch-bundle-review-icon{background:#d8f6e3;color:#237141}
.ch-builder-checklist .is-missing .ch-bundle-review-icon{background:#ffe0dc;color:#aa312b}
.ch-bundle-builder .ch-builder-summary small{font-size:10px!important}
.ch-bundle-builder .ch-builder-summary strong{font-size:17px!important}
@media(max-width:1100px){.ch-bundle-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.ch-bundle-course-grid{grid-template-columns:1fr}}
@media(max-width:960px){.ch-bundle-summary-strip{grid-template-columns:1fr 1fr}.ch-bundle-summary-item:last-child{grid-column:1/-1}.ch-bundle-course-toolbar{grid-template-columns:1fr 160px}.ch-bundle-selection-count{justify-self:start}}
@media(max-width:680px){.ch-bundle-builder__topbar{padding:16px}.ch-bundle-builder .ch-builder-main-card{padding:17px}.ch-bundle-summary-strip{grid-template-columns:1fr}.ch-bundle-summary-item:last-child{grid-column:auto}.ch-bundle-course-toolbar{grid-template-columns:1fr}.ch-bundle-selection-count{justify-self:start}.ch-bundle-price-summary{grid-template-columns:1fr}.ch-bundle-course-option{grid-template-columns:18px 52px minmax(0,1fr) 20px}.ch-bundle-course-thumb{width:52px;height:42px}}


/* v0.21.4-beta.1 — Course Builder bước 2/3/4: SVG nội bộ + UI compact, không phụ thuộc Material Symbols */
.ch-course-builder .ch-builder-icon{
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  width:24px;
  height:24px;
  line-height:1;
}
.ch-course-builder .ch-builder-icon svg{
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
}
.ch-course-builder .ch-builder-row-icon{
  width:24px;
  height:24px;
  color:#5961d8;
}
.ch-course-builder .ch-builder-button-icon{
  width:17px;
  height:17px;
}
.ch-course-builder .ch-builder-linked-icon{
  width:18px;
  height:18px;
  color:#5961d8;
}
.ch-course-builder .ch-builder-action-icon,
.ch-course-builder .ch-builder-close-icon{
  width:18px;
  height:18px;
}
.ch-course-builder .ch-builder-delete .ch-builder-action-icon{color:inherit}
.ch-course-builder .ch-builder-edit-button .ch-builder-action-icon{color:inherit}
.ch-course-builder .ch-builder-edit-dialog>header>button .ch-builder-close-icon{color:inherit}

/* Bước 3 */
.ch-course-builder .ch-builder-resource-section{padding:22px}
.ch-course-builder .ch-builder-resource-section .ch-builder-section-title{margin-bottom:18px}
.ch-course-builder .ch-builder-resource-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.ch-course-builder .ch-builder-resource-card{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  align-items:start;
  gap:0 12px;
  min-height:0;
  padding:16px;
  border:1px solid #e1e6f1;
  border-radius:14px;
  background:#fbfcff;
  color:#1b2742!important;
  text-decoration:none!important;
  box-shadow:none;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease;
}
.ch-course-builder .ch-builder-resource-card:hover,
.ch-course-builder .ch-builder-resource-card:focus-visible{
  border-color:#a4a8ff;
  background:#fff;
  box-shadow:0 10px 24px rgba(79,70,229,.08);
  outline:none;
  transform:translateY(-1px);
}
.ch-course-builder .ch-builder-resource-icon{
  width:42px;
  height:42px;
  padding:10px;
  border-radius:12px;
  background:#eef0ff;
  color:#5155da;
}
.ch-course-builder .ch-builder-resource-copy{
  display:grid;
  min-width:0;
  gap:5px;
}
.ch-course-builder .ch-builder-resource-copy strong{
  margin:0;
  color:#1f2a44;
  font-size:13px;
  line-height:1.35;
}
.ch-course-builder .ch-builder-resource-copy small{
  display:-webkit-box;
  overflow:hidden;
  min-height:32px;
  color:#748096;
  font-size:10.5px;
  line-height:1.5;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.ch-course-builder .ch-builder-resource-copy em{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:3px;
  color:#4f52d5;
  font-size:10.5px;
  font-style:normal;
  font-weight:850;
  line-height:1.3;
}
.ch-course-builder .ch-builder-live-card{margin-top:14px}

/* Bước 4 */
.ch-course-builder .ch-builder-review{padding:22px}
.ch-course-builder .ch-builder-review .ch-builder-section-title{margin-bottom:16px}
.ch-course-builder .ch-builder-review-status{
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:14px;
  padding:12px 14px;
  border:1px solid #e3e8f1;
  border-radius:12px;
  background:#f8fafc;
}
.ch-course-builder .ch-builder-review-status.is-ready{
  border-color:#cfe9d7;
  background:#f3fbf5;
  color:#267946;
}
.ch-course-builder .ch-builder-review-status.is-pending{
  border-color:#f0d8d4;
  background:#fff7f5;
  color:#aa3f36;
}
.ch-course-builder .ch-builder-review-status-icon{
  width:30px;
  height:30px;
  padding:6px;
  border-radius:9px;
  background:rgba(255,255,255,.78);
}
.ch-course-builder .ch-builder-review-status>div{
  display:grid;
  gap:2px;
  min-width:0;
}
.ch-course-builder .ch-builder-review-status strong{
  color:inherit;
  font-size:12.5px;
  line-height:1.35;
}
.ch-course-builder .ch-builder-review-status small{
  color:#748096;
  font-size:10.5px;
  line-height:1.45;
}
.ch-course-builder .ch-builder-checklist{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:9px;
}
.ch-course-builder .ch-builder-checklist>div{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:58px;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:11px;
  font-size:12px;
  font-weight:700;
}
.ch-course-builder .ch-builder-checklist .is-ok{
  border-color:#d7ebdc;
  background:#f5fbf6;
  color:#267946;
}
.ch-course-builder .ch-builder-checklist .is-missing{
  border-color:#f0d9d5;
  background:#fff8f6;
  color:#aa3f36;
}
.ch-course-builder .ch-builder-check-icon{
  width:28px;
  height:28px;
  padding:5px;
  border-radius:9px;
  background:#fff;
  box-shadow:0 2px 8px rgba(15,23,42,.05);
}
.ch-course-builder .ch-builder-check-copy{
  display:grid;
  min-width:0;
  gap:1px;
}
.ch-course-builder .ch-builder-check-copy strong{
  color:inherit;
  font-size:11.5px;
  line-height:1.35;
}
.ch-course-builder .ch-builder-check-copy small{
  color:#7a8699;
  font-size:9.5px;
  font-weight:650;
  line-height:1.35;
}
.ch-course-builder .ch-builder-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin:14px 0 16px;
}
.ch-course-builder .ch-builder-summary>div{
  display:grid;
  gap:3px;
  min-height:72px;
  padding:12px 13px;
  border:1px solid #e3e8f1;
  border-radius:11px;
  background:#fff;
}
.ch-course-builder .ch-builder-summary small{color:#7a8699;font-size:9.5px;line-height:1.3}
.ch-course-builder .ch-builder-summary strong{color:#172033;font-size:17px;line-height:1.25}
.ch-course-builder .ch-builder-review-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-top:2px;
}
.ch-course-builder .ch-builder-review-actions form{margin:0}
.ch-course-builder .ch-builder-review-actions .cnd-btn{margin:0}
.ch-course-builder .ch-builder-review-actions button:disabled{
  cursor:not-allowed;
  opacity:.45;
  box-shadow:none!important;
}

@media(max-width:1100px){
  .ch-course-builder .ch-builder-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .ch-course-builder .ch-builder-resource-grid{grid-template-columns:1fr}
  .ch-course-builder .ch-builder-resource-card{grid-template-columns:40px minmax(0,1fr);padding:14px}
  .ch-course-builder .ch-builder-resource-icon{width:38px;height:38px;padding:9px}
  .ch-course-builder .ch-builder-checklist{grid-template-columns:1fr}
  .ch-course-builder .ch-builder-summary{grid-template-columns:1fr}
  .ch-course-builder .ch-builder-review-actions{align-items:stretch;flex-direction:column-reverse}
  .ch-course-builder .ch-builder-review-actions form,
  .ch-course-builder .ch-builder-review-actions .cnd-btn{width:100%}
  .ch-course-builder .ch-builder-review-actions .cnd-btn{text-align:center}
}

/* v0.21.5-beta.1 — Course Builder: Video/Quiz/SCORM tại Lesson + thư viện tài liệu ở Bước 3 */
.ch-course-builder .ch-builder-content-copy{display:grid;min-width:0;gap:3px}
.ch-course-builder .ch-builder-lesson-status{display:flex!important;flex-wrap:wrap;align-items:center;gap:6px!important;margin-top:5px}
.ch-course-builder .ch-builder-lesson-status>span{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border:1px solid #e1e5f4;border-radius:999px;background:#f7f8ff;color:#5157c9;font-size:9.5px;font-weight:800;line-height:1.2}
.ch-course-builder .ch-builder-status-icon{width:13px;height:13px}
.ch-course-builder .ch-builder-row-actions{max-width:610px}
.ch-course-builder .ch-builder-attach-button{min-height:34px;padding:5px 9px!important;border-radius:9px!important;font-size:10.5px!important;line-height:1.2!important}

/* Modal chọn SCORM */
.ch-builder-modal-open{overflow:hidden}
.ch-course-builder .ch-builder-scorm-modal{position:fixed;inset:0;z-index:100060;display:grid;place-items:center;padding:20px}
.ch-course-builder .ch-builder-scorm-modal[hidden]{display:none!important}
.ch-course-builder .ch-builder-scorm-modal__backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(15,23,42,.46);cursor:pointer}
.ch-course-builder .ch-builder-scorm-modal__dialog{position:relative;z-index:1;display:grid;width:min(760px,100%);max-height:min(760px,calc(100vh - 40px));overflow:hidden;border:1px solid #e1e6f2;border-radius:18px;background:#fff;box-shadow:0 30px 80px rgba(15,23,42,.22)}
.ch-course-builder .ch-builder-scorm-modal__dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #e8ebf2}
.ch-course-builder .ch-builder-scorm-modal__dialog>header span{color:#5055d8;font-size:10px;font-weight:900;letter-spacing:.08em}
.ch-course-builder .ch-builder-scorm-modal__dialog>header h3{margin:4px 0 3px;color:#172033;font-size:19px;line-height:1.3}
.ch-course-builder .ch-builder-scorm-modal__dialog>header p{margin:0;color:#748096;font-size:11px}
.ch-course-builder .ch-builder-scorm-modal__dialog>header>button{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:0;border:1px solid #e2e7f0;border-radius:9px;background:#fff;color:#536078;cursor:pointer}
.ch-course-builder .ch-builder-scorm-modal__body{overflow:auto;padding:16px 20px}
.ch-course-builder .ch-builder-scorm-library{display:grid;gap:9px}
.ch-course-builder .ch-builder-scorm-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid #e3e8f1;border-radius:12px;background:#fbfcff}
.ch-course-builder .ch-builder-scorm-item__icon{width:38px;height:38px;padding:9px;border-radius:10px;background:#eef0ff;color:#5055d8}
.ch-course-builder .ch-builder-scorm-item>div{display:grid;min-width:0;gap:3px}
.ch-course-builder .ch-builder-scorm-item strong{overflow:hidden;color:#1d2942;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.ch-course-builder .ch-builder-scorm-item small{color:#7a8699;font-size:10px;line-height:1.35}
.ch-course-builder .ch-builder-scorm-item form{margin:0}
.ch-course-builder .ch-builder-scorm-modal__dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px;border-top:1px solid #e8ebf2;background:#fafbfe}

/* Bước 3 — tài liệu */
.ch-course-builder .ch-builder-documents-section{padding:22px}
.ch-course-builder .ch-builder-section-title--actions{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.ch-course-builder .ch-builder-section-title--actions>div{min-width:0}
.ch-course-builder .ch-builder-section-title--actions>.cnd-btn{flex:0 0 auto;margin:0}
.ch-course-builder .ch-builder-document-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.ch-course-builder .ch-builder-document-toolbar label{flex:1;max-width:520px;margin:0}
.ch-course-builder .ch-builder-document-toolbar input{width:100%;height:40px;padding:5px 10px!important;border:1px solid #dce2ec;border-radius:10px;background:#fff;color:#172033;font:inherit;font-size:11.5px;outline:none}
.ch-course-builder .ch-builder-document-toolbar input:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.1)}
.ch-course-builder .ch-builder-document-toolbar>span{color:#7b879a;font-size:10px;font-weight:750;white-space:nowrap}
.ch-course-builder .ch-builder-document-library{display:grid;gap:10px}
.ch-course-builder .ch-builder-document-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.8fr);align-items:center;gap:16px;padding:12px 14px;border:1px solid #e2e7f0;border-radius:13px;background:#fff}
.ch-course-builder .ch-builder-document-card__main{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0}
.ch-course-builder .ch-builder-document-icon{width:38px;height:38px;padding:9px;border-radius:10px;background:#eef0ff;color:#5155da}
.ch-course-builder .ch-builder-document-card__main>div{display:grid;min-width:0;gap:3px}
.ch-course-builder .ch-builder-document-card__main strong{overflow:hidden;color:#1d2942;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.ch-course-builder .ch-builder-document-card__main small{overflow:hidden;color:#7a8699;font-size:9.8px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.ch-course-builder .ch-builder-document-view{color:#4f52d5!important;font-size:10.5px;font-weight:850;text-decoration:none!important;white-space:nowrap}
.ch-course-builder .ch-builder-document-attach{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin:0}
.ch-course-builder .ch-builder-document-attach label{display:grid;gap:5px;margin:0}
.ch-course-builder .ch-builder-document-attach label>span{color:#59657a;font-size:9.5px;font-weight:800}
.ch-course-builder .ch-builder-document-attach select{width:100%;height:38px;padding:5px!important;border:1px solid #dce2ec;border-radius:9px;background:#fff;color:#172033;font:inherit;font-size:10.5px;outline:none}
.ch-course-builder .ch-builder-document-attach .cnd-btn{min-height:38px;margin:0;padding:5px 11px!important;font-size:10.5px!important;white-space:nowrap}
.ch-course-builder .ch-builder-library-empty{display:grid;justify-items:center;gap:7px;padding:28px 18px;border:1px dashed #d8deea;border-radius:13px;background:#fafbfe;text-align:center}
.ch-course-builder .ch-builder-library-empty .ch-builder-empty-icon{width:42px;height:42px;padding:10px;border-radius:12px;background:#eef0ff;color:#5155da}
.ch-course-builder .ch-builder-library-empty strong{color:#27324a;font-size:13px}
.ch-course-builder .ch-builder-library-empty p{max-width:520px;margin:0;color:#7a8699;font-size:10.5px;line-height:1.5}
.ch-course-builder .ch-builder-library-empty .cnd-btn{margin-top:4px}

@media(max-width:1180px){
  .ch-course-builder .ch-builder-document-card{grid-template-columns:1fr}
  .ch-course-builder .ch-builder-row-actions{max-width:none}
}
@media(max-width:760px){
  .ch-course-builder .ch-builder-section-title--actions{display:grid}
  .ch-course-builder .ch-builder-section-title--actions>.cnd-btn{width:100%;text-align:center}
  .ch-course-builder .ch-builder-document-toolbar{align-items:stretch;flex-direction:column}
  .ch-course-builder .ch-builder-document-toolbar label{max-width:none}
  .ch-course-builder .ch-builder-document-card{padding:11px}
  .ch-course-builder .ch-builder-document-card__main{grid-template-columns:36px minmax(0,1fr)}
  .ch-course-builder .ch-builder-document-view{grid-column:2}
  .ch-course-builder .ch-builder-document-attach{grid-template-columns:1fr}
  .ch-course-builder .ch-builder-document-attach .cnd-btn{width:100%}
  .ch-course-builder .ch-builder-scorm-modal{padding:10px}
  .ch-course-builder .ch-builder-scorm-modal__dialog{max-height:calc(100vh - 20px);border-radius:15px}
  .ch-course-builder .ch-builder-scorm-item{grid-template-columns:34px minmax(0,1fr)}
  .ch-course-builder .ch-builder-scorm-item__icon{width:34px;height:34px;padding:8px}
  .ch-course-builder .ch-builder-scorm-item form{grid-column:1/-1}
  .ch-course-builder .ch-builder-scorm-item form .cnd-btn{width:100%}
  .ch-course-builder .ch-builder-scorm-modal__dialog>footer{align-items:stretch;flex-direction:column}
  .ch-course-builder .ch-builder-scorm-modal__dialog>footer .cnd-btn{width:100%;text-align:center}
}

/* v0.21.6-beta.1 — Course Builder UX state pass */
.ch-course-builder{padding-bottom:112px}
.ch-course-builder .ch-builder-content-row{grid-template-columns:28px minmax(0,1fr) auto;align-items:start}
.ch-course-builder .ch-builder-row-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:7px;max-width:none}
.ch-course-builder .ch-builder-row-actions .ch-builder-edit-button,
.ch-course-builder .ch-builder-row-actions .ch-builder-delete button{width:34px;height:34px;min-width:34px}

.ch-course-builder .ch-builder-lesson-resources{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  padding:11px 14px 14px 54px;
  background:#fff;
}
.ch-course-builder .ch-builder-lesson-resource{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:8px 10px;
  align-items:start;
  min-width:0;
  padding:11px;
  border:1px solid #e4e8f1;
  border-radius:12px;
  background:#fbfcfe;
}
.ch-course-builder .ch-builder-lesson-resource__icon{
  grid-row:1 / span 2;
  width:34px;
  height:34px;
  padding:8px;
  border-radius:10px;
  background:#eef1f7;
  color:#67728a;
}
.ch-course-builder .ch-builder-lesson-resource__copy{display:grid;min-width:0;gap:3px!important}
.ch-course-builder .ch-builder-lesson-resource__copy>span{
  color:#7d8799;
  font-size:9px;
  font-weight:850;
  letter-spacing:.04em;
  line-height:1.25;
  text-transform:uppercase;
}
.ch-course-builder .ch-builder-lesson-resource__copy>strong{
  overflow:hidden;
  color:#243049;
  font-size:11px;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ch-course-builder .ch-builder-lesson-resource__copy>small{
  display:-webkit-box;
  overflow:hidden;
  color:#7a8699;
  font-size:9.5px;
  line-height:1.45;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.ch-course-builder .ch-builder-lesson-resource__actions{
  grid-column:1/-1;
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:7px!important;
  padding-top:3px;
}
.ch-course-builder .ch-builder-lesson-resource__actions .ch-builder-attach-button{
  min-height:31px;
  padding:5px 8px!important;
  font-size:9.5px!important;
}
.ch-course-builder .ch-builder-lesson-resource__actions .ch-builder-attach-button:disabled{
  cursor:not-allowed;
  opacity:.58;
  box-shadow:none!important;
}
.ch-course-builder .ch-builder-resource-state{
  display:inline-flex;
  align-items:center;
  min-height:23px;
  padding:4px 7px;
  border-radius:999px;
  background:#eef1f5;
  color:#687387;
  font-size:8.8px;
  font-weight:850;
  line-height:1.1;
  white-space:nowrap;
}
.ch-course-builder .ch-builder-resource-state.is-attached,
.ch-course-builder .ch-builder-lesson-resource.is-attached .ch-builder-resource-state{background:#eaf8ef;color:#257646}
.ch-course-builder .ch-builder-resource-state.is-pending,
.ch-course-builder .ch-builder-lesson-resource.is-pending .ch-builder-resource-state{background:#fff4d8;color:#936000}
.ch-course-builder .ch-builder-resource-state.is-processing,
.ch-course-builder .ch-builder-lesson-resource.is-processing .ch-builder-resource-state{background:#eaf2ff;color:#315db5}
.ch-course-builder .ch-builder-resource-state.is-rejected,
.ch-course-builder .ch-builder-lesson-resource.is-rejected .ch-builder-resource-state{background:#fff0ee;color:#b43d34}
.ch-course-builder .ch-builder-lesson-resource.is-attached{border-color:#d8eadf;background:#fcfffd}
.ch-course-builder .ch-builder-lesson-resource.is-pending{border-color:#f1dfad;background:#fffdf7}
.ch-course-builder .ch-builder-lesson-resource.is-processing{border-color:#d5e4fa;background:#fbfdff}
.ch-course-builder .ch-builder-lesson-resource.is-rejected{border-color:#efd8d4;background:#fffafa}
.ch-course-builder .ch-builder-lesson-resource.is-attached .ch-builder-lesson-resource__icon{background:#eaf8ef;color:#257646}
.ch-course-builder .ch-builder-lesson-resource.is-pending .ch-builder-lesson-resource__icon{background:#fff4d8;color:#936000}
.ch-course-builder .ch-builder-lesson-resource.is-processing .ch-builder-lesson-resource__icon{background:#eaf2ff;color:#315db5}
.ch-course-builder .ch-builder-lesson-resource.is-rejected .ch-builder-lesson-resource__icon{background:#fff0ee;color:#b43d34}
.ch-course-builder .ch-builder-resource-item-list{display:grid!important;gap:4px!important;margin-top:2px}
.ch-course-builder .ch-builder-resource-item-list>div{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:6px!important;
  min-width:0;
  padding:4px 6px;
  border-radius:8px;
  background:#f4f6fa;
}
.ch-course-builder .ch-builder-resource-item-list>div>span{
  overflow:hidden;
  color:#59657a;
  font-size:9px;
  font-weight:700;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ch-course-builder .ch-builder-resource-item-list .ch-builder-delete button{
  width:24px;
  height:24px;
  min-width:24px;
  border-radius:7px;
}
.ch-course-builder .ch-builder-resource-item-list .ch-builder-action-icon{width:13px;height:13px}

.ch-course-builder .ch-builder-document-card{grid-template-columns:minmax(0,1fr) minmax(330px,.8fr)}
.ch-course-builder .ch-builder-document-card.has-attached{grid-template-columns:minmax(0,1fr) minmax(250px,.55fr) minmax(330px,.8fr)}

.ch-course-builder .ch-builder-document-attached{display:grid;gap:5px;min-width:0}
.ch-course-builder .ch-builder-document-attached>span{color:#5c687d;font-size:9px;font-weight:850;text-transform:uppercase}
.ch-course-builder .ch-builder-document-attached>div{display:flex;flex-wrap:wrap;gap:5px}
.ch-course-builder .ch-builder-document-attached em{
  display:inline-flex;
  max-width:100%;
  padding:4px 7px;
  overflow:hidden;
  border-radius:999px;
  background:#eaf8ef;
  color:#257646;
  font-size:9px;
  font-style:normal;
  font-weight:800;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ch-course-builder .ch-builder-library-empty[hidden]{display:none!important}

.ch-course-builder .ch-builder-review-status.is-submitted{border-color:#d7e2f6;background:#f7faff;color:#315db5}
.ch-course-builder .ch-builder-review-status.is-approved{border-color:#cfe9d7;background:#f3fbf5;color:#267946}
.ch-course-builder .ch-builder-review-status.is-changed{border-color:#f0d7a6;background:#fffaf0;color:#8b5b00}
.ch-course-builder .ch-builder-review-status.is-rejected{border-color:#efd4cf;background:#fff7f5;color:#aa3f36}
.ch-course-builder .ch-builder-review-status.is-draft{border-color:#e3e8f1;background:#f8fafc;color:#536078}

@media(min-width:850px){
  .ch-course-builder .ch-builder-footer,
  .ch-course-builder .ch-builder-review-actions{padding-right:86px}
}
@media(max-width:1180px){
  .ch-course-builder .ch-builder-lesson-resources{grid-template-columns:1fr;padding-left:54px}
  .ch-course-builder .ch-builder-document-card{grid-template-columns:1fr}
}
@media(max-width:760px){
  .ch-course-builder{padding-bottom:150px}
  .ch-course-builder .ch-builder-lesson-resources{padding:10px 11px 13px;grid-template-columns:1fr}
  .ch-course-builder .ch-builder-lesson-resource__actions{align-items:stretch;flex-direction:column}
  .ch-course-builder .ch-builder-lesson-resource__actions .ch-builder-attach-button{width:100%}
  .ch-course-builder .ch-builder-document-attached>div{display:grid}
  .ch-course-builder .ch-builder-document-attached em{white-space:normal}
}


/* v0.21.7-beta.1 — P1 Course Builder: Chapter/Lesson compact + reorder controls */
.ch-course-builder .ch-builder-topic-list{gap:12px}
.ch-course-builder .ch-builder-topic{overflow:hidden;border-color:#dfe5ef;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(31,43,79,.025)}
.ch-course-builder .ch-builder-topic>header{align-items:flex-start;padding:12px 14px;background:#f8f9fd}
.ch-course-builder .ch-builder-topic-heading{display:grid;min-width:0;gap:3px}
.ch-course-builder .ch-builder-topic-kicker{display:flex!important;align-items:center;gap:7px!important}
.ch-course-builder .ch-builder-topic-kicker>span{color:#565bd6;font-size:9px;font-weight:900;letter-spacing:.07em}
.ch-course-builder .ch-builder-topic-kicker>em{display:inline-flex;padding:3px 7px;border-radius:999px;background:#eef0ff;color:#5d62cd;font-size:8.5px;font-style:normal;font-weight:800;line-height:1.15}
.ch-course-builder .ch-builder-topic h4{margin:2px 0 0;color:#202c45;font-size:14px;line-height:1.35}
.ch-course-builder .ch-builder-topic>header p{max-width:850px;margin:2px 0 0;color:#778399;font-size:10px;line-height:1.45}
.ch-course-builder .ch-builder-topic-actions,.ch-course-builder .ch-builder-row-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:6px!important}
.ch-course-builder .ch-builder-order-actions{display:flex!important;align-items:center;gap:4px!important;padding-right:2px}
.ch-course-builder .ch-builder-move{display:inline-flex!important;margin:0!important}
.ch-course-builder .ch-builder-move button,.ch-course-builder .ch-builder-edit-button,.ch-course-builder .ch-builder-delete button{display:grid;place-items:center;width:32px;height:32px;min-width:32px;margin:0;padding:0!important;border-radius:9px;background:#fff;cursor:pointer}
.ch-course-builder .ch-builder-move button{border:1px solid #e0e5ef;color:#68748a}
.ch-course-builder .ch-builder-move button:hover:not(:disabled),.ch-course-builder .ch-builder-move button:focus-visible{border-color:#aeb5f5;background:#f5f6ff;color:#4f55d8;outline:none}
.ch-course-builder .ch-builder-move button:disabled{cursor:not-allowed;opacity:.3}
.ch-course-builder .ch-builder-edit-button{border-color:#dfe3f5;color:#4f55d8}
.ch-course-builder .ch-builder-delete button{border-color:#f0d6d6;color:#c24141}
.ch-course-builder .ch-builder-move .ch-builder-action-icon,.ch-course-builder .ch-builder-edit-button .ch-builder-action-icon,.ch-course-builder .ch-builder-delete .ch-builder-action-icon{width:16px;height:16px}
.ch-course-builder .ch-builder-content-block{margin:10px 12px;border:1px solid #e4e8f1;border-radius:12px;background:#fff;overflow:hidden}
.ch-course-builder .ch-builder-content-row{grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:10px;padding:11px 12px;border-bottom:0;background:#fff}
.ch-course-builder .ch-builder-lesson-index{display:grid!important;width:30px;height:30px;place-items:center;border-radius:9px;background:#eef0ff;color:#5257d5;font-size:11px;font-weight:900;line-height:1}
.ch-course-builder .ch-builder-content-copy{display:grid!important;min-width:0;gap:2px!important;padding-top:1px}
.ch-course-builder .ch-builder-content-title-line{display:flex!important;align-items:center;gap:7px!important;min-width:0}
.ch-course-builder .ch-builder-content-kicker{color:#777fd4;font-size:8.3px;font-weight:900;letter-spacing:.055em;line-height:1.2}
.ch-course-builder .ch-builder-content-title-line>em{display:inline-flex;padding:2px 6px;border-radius:999px;background:#f2f4f8;color:#727e92;font-size:8px;font-style:normal;font-weight:750;line-height:1.2}
.ch-course-builder .ch-builder-content-copy>strong{overflow:hidden;color:#202c45;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.ch-course-builder .ch-builder-content-copy>small{display:-webkit-box;overflow:hidden;max-width:780px;color:#7c889b;font-size:9.5px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.ch-course-builder .ch-builder-content-copy>small.is-empty{color:#a0a9b7;font-style:italic}
.ch-course-builder .ch-builder-lesson-resources{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px!important;margin:0;padding:0 12px 12px 54px!important;border-top:0;background:#fff}
.ch-course-builder .ch-builder-lesson-resource{grid-template-columns:28px minmax(0,1fr);gap:7px!important;padding:8px!important;border-radius:10px;background:#fafbfe}
.ch-course-builder .ch-builder-lesson-resource__icon{width:28px;height:28px;padding:6px;border-radius:8px}
.ch-course-builder .ch-builder-lesson-resource__copy>span{font-size:8px}
.ch-course-builder .ch-builder-lesson-resource__copy>strong{font-size:10px}
.ch-course-builder .ch-builder-lesson-resource__copy>small{font-size:8.7px;-webkit-line-clamp:1}
.ch-course-builder .ch-builder-lesson-resource__actions{gap:6px!important;padding-top:2px}
.ch-course-builder .ch-builder-lesson-resource__actions .ch-builder-attach-button{min-height:29px;padding:4px 7px!important;font-size:8.8px!important}
.ch-course-builder .ch-builder-resource-state{min-height:21px;padding:3px 6px;font-size:8.1px}
.ch-course-builder .ch-builder-resource-item-list{gap:3px!important;margin-top:1px}
.ch-course-builder .ch-builder-resource-item-list>div{padding:3px 5px}
.ch-course-builder .ch-builder-resource-item-list>div>span{font-size:8.5px}
.ch-course-builder .ch-builder-add-lesson{grid-template-columns:minmax(0,.95fr) minmax(0,1.35fr) 112px auto;align-items:start;gap:8px;margin:10px 12px 12px;padding:10px;border:1px dashed #dfe4ef;border-radius:11px;background:#fafbfe}
.ch-course-builder .ch-builder-add-lesson textarea{min-height:64px;padding:5px!important;border:1px solid #dbe1ec;border-radius:10px;background:#fff;color:#172033;font:inherit;font-size:12px;line-height:1.4;resize:vertical;outline:none}
.ch-course-builder .ch-builder-add-lesson label{display:grid;gap:4px;margin:0;color:#465269;font-size:9.5px;font-weight:800}
.ch-course-builder .ch-builder-add-lesson label input{height:38px}
.ch-course-builder .ch-builder-add-lesson .cnd-btn{align-self:end;min-height:38px;margin:0;padding:5px 11px!important;font-size:10px!important;white-space:nowrap}
.ch-course-builder .ch-builder-empty-row{margin:10px 12px;padding:13px;border:1px dashed #dfe4ef;border-radius:10px;background:#fafbfe;color:#8590a2;font-size:10.5px;text-align:center}
@media(max-width:1100px){
  .ch-course-builder .ch-builder-lesson-resources{grid-template-columns:1fr 1fr;padding-left:54px!important}
  .ch-course-builder .ch-builder-add-lesson{grid-template-columns:1fr 1fr}
  .ch-course-builder .ch-builder-add-lesson .cnd-btn{width:100%}
}
@media(max-width:760px){
  .ch-course-builder .ch-builder-topic>header{display:grid}
  .ch-course-builder .ch-builder-topic-actions{justify-content:flex-start}
  .ch-course-builder .ch-builder-content-row{grid-template-columns:30px minmax(0,1fr)}
  .ch-course-builder .ch-builder-row-actions{grid-column:1/-1;justify-content:flex-start;padding-left:40px}
  .ch-course-builder .ch-builder-lesson-resources{grid-template-columns:1fr;padding:0 10px 10px!important}
  .ch-course-builder .ch-builder-add-lesson{grid-template-columns:1fr;margin:9px 10px 10px}
}


/* P2.2 — upload theo ngữ cảnh Course/Lesson */
.cnd-builder-context-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:16px 18px;border:1px solid #dbe3f3;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(28,45,86,.05)}
.cnd-builder-context-card>div{min-width:0;display:grid;gap:3px}.cnd-builder-context-card span{font-size:11px;font-weight:800;letter-spacing:.08em;color:#5865e8}.cnd-builder-context-card strong{font-size:15px;color:#172033;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cnd-builder-context-card small{font-size:13px;color:#6b778c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-builder-document-upload-context{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.ch-builder-document-upload-context label{display:grid;gap:5px;min-width:260px;margin:0}.ch-builder-document-upload-context label>span{font-size:12px;font-weight:750;color:#5f6b7f}.ch-builder-document-upload-context select{min-height:40px;padding:5px!important;border:1px solid #dbe3f3;border-radius:11px;background:#fff}.ch-builder-document-upload-context .cnd-btn.is-disabled{opacity:.5;cursor:not-allowed;pointer-events:auto}
.ch-builder-content-block.is-context-focus{outline:2px solid rgba(79,70,229,.28);outline-offset:3px}
@media(max-width:760px){.cnd-builder-context-card{align-items:flex-start;flex-direction:column}.cnd-builder-context-card .cnd-btn{width:100%;justify-content:center}.ch-builder-document-upload-context{width:100%}.ch-builder-document-upload-context label{width:100%;min-width:0}.ch-builder-document-upload-context .cnd-btn{width:100%;justify-content:center}}


/* v0.21.11-beta.1 — một Lesson chỉ dùng Video HOẶC SCORM */
.ch-course-builder .ch-builder-lesson-resources{
  grid-template-columns:minmax(0,1.65fr) minmax(260px,.85fr)!important;
}
.ch-course-builder .ch-builder-primary-media{
  border-color:#dfe3f5;
  background:#fcfcff;
}
.ch-course-builder .ch-builder-primary-media__actions{
  align-items:center;
}
.ch-course-builder .ch-builder-primary-media__buttons{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:6px;
}
.ch-course-builder .ch-builder-primary-media__buttons .cnd-btn{
  margin:0!important;
}
.ch-course-builder .ch-builder-media-switch-note{
  margin:8px 0 0!important;
  padding:8px 10px;
  border:1px solid #f1dfad;
  border-radius:10px;
  background:#fffaf0;
  color:#855d11!important;
  font-size:11px!important;
  font-weight:700;
  line-height:1.45;
}
@media(max-width:1100px){
  .ch-course-builder .ch-builder-lesson-resources{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  .ch-course-builder .ch-builder-primary-media__actions{align-items:stretch;flex-direction:column}
  .ch-course-builder .ch-builder-primary-media__buttons{display:grid;grid-template-columns:1fr}
  .ch-course-builder .ch-builder-primary-media__buttons .cnd-btn{width:100%}
}
.cnd-sidebar .cnd-teacher-card > div:last-child{min-width:0}
.cnd-sidebar .cnd-teacher-card .cnd-teacher-nickname{margin-top:4px;color:#64748b;font-size:12px;overflow-wrap:anywhere}
.cnd-sidebar .cnd-legal-badge{margin:0 14px 14px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;color:#475569;font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.cnd-sidebar .cnd-legal-badge summary{display:block;padding:12px;list-style:none;cursor:pointer;border-radius:12px}
.cnd-sidebar .cnd-legal-badge summary::-webkit-details-marker{display:none}
.cnd-sidebar .cnd-legal-heading{display:flex;align-items:center;gap:8px;color:#334155;font-size:13px;font-weight:700}
.cnd-sidebar .cnd-legal-icon{flex:0 0 20px;color:#16a34a}
.cnd-sidebar .cnd-legal-state{display:block;margin-top:4px}
.cnd-sidebar .cnd-legal-toggle{display:block;margin-top:6px;color:#4338ca;text-decoration:underline;text-underline-offset:3px}
.cnd-sidebar .cnd-legal-toggle::after{content:' ▾'}
.cnd-sidebar .cnd-legal-badge[open] .cnd-legal-toggle::after{content:' ▴'}
.cnd-sidebar .cnd-legal-badge--current{border-color:#bbf7d0;background:#f0fdf4}
.cnd-sidebar .cnd-legal-badge--current .cnd-legal-state{color:#166534}
.cnd-sidebar .cnd-legal-badge--previous,.cnd-sidebar .cnd-legal-badge--required{border-color:#fde68a;background:#fffbeb}
.cnd-sidebar .cnd-legal-badge--previous .cnd-legal-state,.cnd-sidebar .cnd-legal-badge--required .cnd-legal-state{color:#92400e}
.cnd-sidebar .cnd-legal-details{padding:0 12px 12px}
.cnd-sidebar .cnd-legal-details p{margin:0 0 10px;font-size:12px;line-height:1.6}
.cnd-sidebar .cnd-legal-details dl{margin:0}
.cnd-sidebar .cnd-legal-details dt{margin:10px 0 2px;font-weight:700;color:#334155}
.cnd-sidebar .cnd-legal-details dd{margin:0;font-size:12px}
.cnd-sidebar .cnd-legal-details code{padding:0;background:transparent;color:inherit;font-size:11px;white-space:normal;overflow-wrap:anywhere}
.cnd-sidebar .cnd-legal-details a{color:#4338ca;text-decoration:underline;text-underline-offset:3px}
.cnd-sidebar .cnd-legal-accept{display:block;margin:12px 0;font-weight:700}
.cnd-sidebar .cnd-legal-details .cnd-legal-note{margin:12px 0 0;padding-top:10px;border-top:1px solid #e2e8f0;color:#64748b;font-size:11px}
.cnd-sidebar .cnd-legal-badge summary:focus-visible,.cnd-sidebar .cnd-legal-badge a:focus-visible{outline:2px solid #4f46e5;outline-offset:3px}
.cnd-sidebar .cnd-legal-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Guide Center trigger uses the native sidebar <a> styles. */
