/* Build Safe LMS - frontend styles (theme-friendly, supports dark mode) */
.bslms-wrap { max-width: 1100px; margin: 0 auto; padding: 8px; }
.bslms-header { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; flex-wrap:wrap; margin: 8px 0 14px; }
.bslms-breadcrumb { font-size: 0.9rem; opacity: .8; }
.bslms-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.bslms-grid-course { grid-template-columns: minmax(240px, 320px) minmax(0, 1fr); align-items:start; }
@media (max-width: 900px){ .bslms-grid, .bslms-grid-course { grid-template-columns: 1fr; } }

.bslms-card {
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  padding: 14px;
  background: rgba(255,255,255,.96);
  color: inherit;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}

.bslms-muted { opacity: .78; }
.bslms-actions { display:flex; gap:10px; flex-wrap:wrap; }

.bslms-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius: 12px;
  padding: 10px 14px;
  border: 1px solid rgba(0,0,0,.15);
  background: rgba(0,0,0,.04);
  text-decoration:none;
  cursor:pointer;
  font-weight: 600;
  color: inherit;

  display:inline-block;
  text-decoration:none;
}
.bslms-btn:hover { background: rgba(0,0,0,.06); }
.bslms-btn:disabled { opacity:.6; cursor:not-allowed; }
.bslms-btn-secondary { background: transparent; }

.bslms-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.bslms-list-item { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:10px; border:1px solid rgba(0,0,0,.08); border-radius: 12px; background: rgba(0,0,0,.02); }
.bslms-list-item a { text-decoration:none; }
.bslms-list-item a:hover { text-decoration:underline; }

.bslms-pill { font-size:.75rem; padding: 2px 8px; border-radius: 999px; border:1px solid rgba(0,0,0,.18); opacity:.8; margin-left:6px; }

.bslms-sidebar { position: sticky; top: 18px; align-self: start; }
@media (max-width: 900px){ .bslms-sidebar { position: static; } }

.bslms-content { min-width:0; overflow:hidden; }
.bslms-media { margin: 12px 0; }
.bslms-video-wrap { width:100%; overflow:hidden; border-radius:14px; background:#000; }
.bslms-video-wrap iframe,
.bslms-video-wrap video {
  display:block;
  width:100% !important;
  max-width:100%;
  aspect-ratio:16 / 9;
  height:auto !important;
  min-height:220px;
  border:0;
}
.bslms-lesson-body { overflow-wrap:anywhere; }
.bslms-lesson-body img { display:block; max-width: 100%; height: auto; border-radius: 12px; margin: 12px auto; }
.bslms-lesson-body audio,
.bslms-lesson-body video { max-width:100%; }
@media (max-width: 700px){
  .bslms-wrap { padding: 4px; }
  .bslms-card { padding: 12px; border-radius: 12px; }
  .bslms-header { align-items:flex-start; }
  .bslms-video-wrap iframe,
  .bslms-video-wrap video { min-height:180px; }
}

.bslms-q { margin: 14px 0; padding: 12px; border: 1px solid rgba(0,0,0,.10); border-radius: 12px; background: rgba(0,0,0,.02); }
.bslms-choice { display:flex; gap:10px; align-items:flex-start; margin: 8px 0; }

.bslms-alert { border: 1px solid rgba(0,0,0,.12); border-radius: 12px; padding: 10px 12px; background: rgba(0,0,0,.03); margin: 10px 0; }

.bslms-btn { border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.06); }
  .bslms-btn:hover { background: rgba(255,255,255,.09); }
  .bslms-list-item { border-color: rgba(255,255,255,.10); background: rgba(255,255,255,.04); }
  .bslms-q { border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.04); }
  .bslms-alert { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.05); }
}


.bslms-list-section{font-weight:700; padding:8px 10px; color:#111; opacity:.9; border-bottom:1px solid rgba(0,0,0,.06);}
.bslms-pill-muted{opacity:.65;}
.bslms-lesson-complete{margin:10px 0;}


/* Ensure tables in LMS cards use full width */
.bslms-card table{width:100%;}
.bslms-card .widefat{width:100%;}
.bslms-wrap .widefat{width:100%;}


/* Dark mode (supports common theme toggles) */
body.dark-mode .bslms-card,
body.cea-dark-mode .bslms-card,
html.dark .bslms-card,
[data-theme="dark"] .bslms-card,
.theme-dark .bslms-card {
  border-color: rgba(255,255,255,.12);
  background: rgba(20,20,20,.72);
  box-shadow: 0 6px 18px rgba(0,0,0,.35);
}

body.dark-mode .bslms-btn,
body.cea-dark-mode .bslms-btn,
html.dark .bslms-btn,
[data-theme="dark"] .bslms-btn,
.theme-dark .bslms-btn {
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  color: inherit;
}
body.dark-mode .bslms-btn:hover,
body.cea-dark-mode .bslms-btn:hover,
html.dark .bslms-btn:hover,
[data-theme="dark"] .bslms-btn:hover,
.theme-dark .bslms-btn:hover { background: rgba(255,255,255,.09); }

body.dark-mode .bslms-list-item,
body.cea-dark-mode .bslms-list-item,
html.dark .bslms-list-item,
[data-theme="dark"] .bslms-list-item,
.theme-dark .bslms-list-item { border-color: rgba(255,255,255,.10); background: rgba(255,255,255,.04); }

body.dark-mode .bslms-q,
body.cea-dark-mode .bslms-q,
html.dark .bslms-q,
[data-theme="dark"] .bslms-q,
.theme-dark .bslms-q { border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.04); }

/* Fallback: if user OS prefers dark AND theme is not explicitly light */
@media (prefers-color-scheme: dark) {
  body:not(.light-mode):not([data-theme="light"]):not(.theme-light) .bslms-card { border-color: rgba(255,255,255,.12); background: rgba(20,20,20,.72); box-shadow: 0 6px 18px rgba(0,0,0,.35); }
  body:not(.light-mode):not([data-theme="light"]):not(.theme-light) .bslms-btn { border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.06); }
  body:not(.light-mode):not([data-theme="light"]):not(.theme-light) .bslms-list-item { border-color: rgba(255,255,255,.10); background: rgba(255,255,255,.04); }
  body:not(.light-mode):not([data-theme="light"]):not(.theme-light) .bslms-q { border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.04); }
}

/* Light mode card background */
body.light-mode .bslms-card, [data-theme="light"] .bslms-card, .theme-light .bslms-card { background: rgba(255,255,255,.96); border-color: rgba(0,0,0,.10); }

.bslms-grid.two-col{grid-template-columns:1fr 1fr;}
@media (max-width: 900px){ .bslms-grid.two-col{grid-template-columns:1fr;} }


/* Build Safe LMS theme-robust surfaces */
.bslms-wrap .bslms-card{
  background: rgba(255,255,255,.96) !important;
  color: rgba(0,0,0,.88) !important;
  border-color: rgba(0,0,0,.10) !important;
}
.bslms-wrap .bslms-muted{ color: rgba(0,0,0,.65) !important; }
.bslms-wrap .bslms-list-item{
  background: rgba(255,255,255,.85) !important;
  border-color: rgba(0,0,0,.10) !important;
}

/* Ensure action buttons remain visible in light mode */
.bslms-wrap .bslms-btn{
  background: #1e73be !important;
  color: #fff !important;
  border-color: rgba(0,0,0,.12) !important;
}
.bslms-wrap .bslms-btn:hover{ filter: brightness(0.95); }
.bslms-wrap .bslms-btn.bslms-btn-secondary{
  background: rgba(30,115,190,.12) !important;
  color: #1e73be !important;
  border-color: rgba(30,115,190,.25) !important;
}

/* Dark mode overrides (supports many togglers) */
html.dark .bslms-wrap .bslms-card,
body.dark .bslms-wrap .bslms-card,
body.dark-mode .bslms-wrap .bslms-card,
body.cea-dark-mode .bslms-wrap .bslms-card,
body.bsd-dark .bslms-wrap .bslms-card,
html.bsd-dark .bslms-wrap .bslms-card,
[data-theme="dark"] .bslms-wrap .bslms-card,
[data-bsd-theme="dark"] .bslms-wrap .bslms-card,
.theme-dark .bslms-wrap .bslms-card{
  background: rgba(20,20,20,.72) !important;
  color: rgba(255,255,255,.92) !important;
  border-color: rgba(255,255,255,.12) !important;
}
html.dark .bslms-wrap .bslms-muted,
body.dark .bslms-wrap .bslms-muted,
body.dark-mode .bslms-wrap .bslms-muted,
body.cea-dark-mode .bslms-wrap .bslms-muted,
body.bsd-dark .bslms-wrap .bslms-muted,
html.bsd-dark .bslms-wrap .bslms-muted,
[data-theme="dark"] .bslms-wrap .bslms-muted,
[data-bsd-theme="dark"] .bslms-wrap .bslms-muted,
.theme-dark .bslms-wrap .bslms-muted{ color: rgba(255,255,255,.70) !important; }

html.dark .bslms-wrap .bslms-list-item,
body.dark .bslms-wrap .bslms-list-item,
body.dark-mode .bslms-wrap .bslms-list-item,
body.cea-dark-mode .bslms-wrap .bslms-list-item,
body.bsd-dark .bslms-wrap .bslms-list-item,
html.bsd-dark .bslms-wrap .bslms-list-item,
[data-theme="dark"] .bslms-wrap .bslms-list-item,
[data-bsd-theme="dark"] .bslms-wrap .bslms-list-item,
.theme-dark .bslms-wrap .bslms-list-item{
  background: rgba(255,255,255,.04) !important;
  border-color: rgba(255,255,255,.10) !important;
}

/* In dark mode, keep primary buttons readable */
html.dark .bslms-wrap .bslms-btn,
body.dark .bslms-wrap .bslms-btn,
body.dark-mode .bslms-wrap .bslms-btn,
body.cea-dark-mode .bslms-wrap .bslms-btn,
body.bsd-dark .bslms-wrap .bslms-btn,
html.bsd-dark .bslms-wrap .bslms-btn,
[data-theme="dark"] .bslms-wrap .bslms-btn,
[data-bsd-theme="dark"] .bslms-wrap .bslms-btn,
.theme-dark .bslms-wrap .bslms-btn{
  background: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.92) !important;
  border-color: rgba(255,255,255,.16) !important;
}


/* Dark mode list text */
html.dark .bslms-wrap .bslms-list-item,
body.dark .bslms-wrap .bslms-list-item,
body.dark-mode .bslms-wrap .bslms-list-item,
body.cea-dark-mode .bslms-wrap .bslms-list-item,
body.bsd-dark .bslms-wrap .bslms-list-item,
html.bsd-dark .bslms-wrap .bslms-list-item,
[data-theme="dark"] .bslms-wrap .bslms-list-item,
[data-bsd-theme="dark"] .bslms-wrap .bslms-list-item,
.theme-dark .bslms-wrap .bslms-list-item{
  color: rgba(255,255,255,.92) !important;
}
html.dark .bslms-wrap .bslms-list-item a,
body.dark .bslms-wrap .bslms-list-item a,
body.dark-mode .bslms-wrap .bslms-list-item a,
body.cea-dark-mode .bslms-wrap .bslms-list-item a,
body.bsd-dark .bslms-wrap .bslms-list-item a,
html.bsd-dark .bslms-wrap .bslms-list-item a,
[data-theme="dark"] .bslms-wrap .bslms-list-item a,
[data-bsd-theme="dark"] .bslms-wrap .bslms-list-item a,
.theme-dark .bslms-wrap .bslms-list-item a{
  color: rgba(255,255,255,.92) !important;
}


/* Dark mode card typography override (prevents theme rules forcing black text) */
html.dark .bslms-wrap .bslms-card,
body.dark .bslms-wrap .bslms-card,
body.dark-mode .bslms-wrap .bslms-card,
body.cea-dark-mode .bslms-wrap .bslms-card,
body.bsd-dark .bslms-wrap .bslms-card,
html.bsd-dark .bslms-wrap .bslms-card,
[data-theme="dark"] .bslms-wrap .bslms-card,
[data-bsd-theme="dark"] .bslms-wrap .bslms-card,
.theme-dark .bslms-wrap .bslms-card{
  color: rgba(255,255,255,.92) !important;
}
html.dark .bslms-wrap .bslms-card strong,
body.dark .bslms-wrap .bslms-card strong,
body.dark-mode .bslms-wrap .bslms-card strong,
body.cea-dark-mode .bslms-wrap .bslms-card strong,
body.bsd-dark .bslms-wrap .bslms-card strong,
html.bsd-dark .bslms-wrap .bslms-card strong,
[data-theme="dark"] .bslms-wrap .bslms-card strong,
[data-bsd-theme="dark"] .bslms-wrap .bslms-card strong,
.theme-dark .bslms-wrap .bslms-card strong,
html.dark .bslms-wrap .bslms-card li,
body.dark .bslms-wrap .bslms-card li,
body.dark-mode .bslms-wrap .bslms-card li,
body.cea-dark-mode .bslms-wrap .bslms-card li,
body.bsd-dark .bslms-wrap .bslms-card li,
html.bsd-dark .bslms-wrap .bslms-card li,
[data-theme="dark"] .bslms-wrap .bslms-card li,
[data-bsd-theme="dark"] .bslms-wrap .bslms-card li,
.theme-dark .bslms-wrap .bslms-card li,
html.dark .bslms-wrap .bslms-card a:not(.bslms-btn),
body.dark .bslms-wrap .bslms-card a:not(.bslms-btn),
body.dark-mode .bslms-wrap .bslms-card a:not(.bslms-btn),
body.cea-dark-mode .bslms-wrap .bslms-card a:not(.bslms-btn),
body.bsd-dark .bslms-wrap .bslms-card a:not(.bslms-btn),
html.bsd-dark .bslms-wrap .bslms-card a:not(.bslms-btn),
[data-theme="dark"] .bslms-wrap .bslms-card a:not(.bslms-btn),
[data-bsd-theme="dark"] .bslms-wrap .bslms-card a:not(.bslms-btn),
.theme-dark .bslms-wrap .bslms-card a:not(.bslms-btn){
  color: rgba(255,255,255,.92) !important;
}


.bslms-fullwidth{width:100%;}

/* Automation Rules table header alignment */
.bslms-wrap .widefat thead th { text-align: left !important; }

/* Manage Training: keep content centered at a comfortable width (matches prior layout) */
.bslms-page-manage {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

/* Cards: force white background in light mode */
.bslms-card {
  background: #ffffff !important;
  color: inherit;
}

/* Dark mode support (common selectors) */
html.dark .bslms-card,
body.dark .bslms-card,
body.dark-mode .bslms-card,
body[data-theme="dark"] .bslms-card,
html[data-theme="dark"] .bslms-card,
body[class*="dark"] .bslms-card,
html[class*="dark"] .bslms-card {
  background: #1f2937 !important;
  color: #f9fafb;
}

/* Automation Rules table header alignment */
.bslms-rules-table thead th { text-align: left !important; }

/* Layout: keep LMS pages at a readable centered width */
.bslms-wrap {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

/* Theme-aware card surfaces: use theme variables when present */
.bslms-card {
  background: var(--bsd-surface, #ffffff) !important;
  color: var(--bsd-text, inherit);
}

/* Ensure the "fullwidth" cards don't overflow the centered wrap */
.bslms-fullwidth,
.bslms-card.bslms-fullwidth {
  width: 100% !important;
}

/* Automation Rules table headings: left align to match rows */
.bslms-card table.widefat thead th,
.bslms-card table.widefat thead td {
  text-align: left !important;
}

/* v0.7.2: Full-width layout (user controls margins via theme/css) */
.bslms-wrap {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
}

/* v0.7.6: Force all LMS cards to stack full-width (you control margins in your theme CSS) */
.bslms-wrap { max-width: none !important; width: 100% !important; margin: 0 !important; }
.bslms-wrap .bslms-grid { display: block !important; }
.bslms-wrap .bslms-grid > * { width: 100% !important; }
.bslms-wrap .bslms-card { width: 100% !important; float: none !important; }

/* Keep the automation form internal 2-col grid */
.bslms-wrap .bslms-card .bslms-grid { display: grid !important; }

/* Table heading alignment inside LMS cards */
.bslms-wrap .bslms-card table thead th { text-align: left !important; }

/* Theme-aware card surface colors */
.bslms-card { background: var(--bsd-surface, #ffffff) !important; color: var(--bsd-text, inherit); }

/* v0.7.7: Scope layout overrides to Manage Training only */
.bslms-page-manage .bslms-grid { display: block !important; }
.bslms-page-manage .bslms-grid > * { width: auto !important; }
.bslms-page-manage .bslms-card { width: auto !important; float: none !important; box-sizing: border-box; }

/* Keep dashboard two-column layout intact */
.bslms-page-dashboard .bslms-grid { display: grid !important; }

/* Spacing consistency between stacked cards on Manage Training */
.bslms-page-manage .bslms-card + .bslms-card { margin-top: 12px !important; }

/* Allow user-defined left/right margins on cards without overflow */
.bslms-wrap .bslms-card { box-sizing: border-box; width: auto !important; max-width: 100% !important; }

/* Theme-aware surface/text remain */
.bslms-card { background: var(--bsd-surface, #ffffff) !important; color: var(--bsd-text, inherit); }

/* v0.7.8: Restore Dashboard two-column layout */
.bslms-page-dashboard .bslms-grid.two-col {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

/* v0.7.8: Only stack the TOP manage grid (two-col); don't break internal grids */
.bslms-page-manage .bslms-grid.two-col { display: block !important; }
.bslms-page-manage .bslms-grid.two-col > * { width: 100% !important; }

/* v0.7.8: Prevent any single card from overflowing when you add margins */
.bslms-page-manage .bslms-card { width: auto !important; max-width: 100% !important; box-sizing: border-box; }
.bslms-page-manage .bslms-card * { box-sizing: border-box; }
.bslms-page-manage .bslms-card table,
.bslms-page-manage .bslms-card select,
.bslms-page-manage .bslms-card input,
.bslms-page-manage .bslms-card textarea { max-width: 100% !important; }

/* v0.7.9: Prevent overflow when user sets left/right margins on .bslms-card */
.bslms-wrap, .bslms-wrap * { box-sizing: border-box; }
.bslms-wrap .bslms-card {
  width: auto !important;
  max-width: 100% !important;
}

/* Ensure grid items can shrink (prevents overflow in CSS grid) */
.bslms-wrap .bslms-grid > * { min-width: 0; }

/* Dashboard: enforce 2-column grid layout for the main cards */
.bslms-page-dashboard .bslms-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

/* Manage Training: stack only the top two-col grid */
.bslms-page-manage .bslms-grid.two-col { display: block !important; }
.bslms-page-manage .bslms-grid.two-col > * { width: auto !important; max-width: 100% !important; }

/* Form elements: never exceed card width */
.bslms-wrap input,
.bslms-wrap select,
.bslms-wrap textarea,
.bslms-wrap table {
  max-width: 100% !important;
}

/* Any card with inline width:100% should still respect user margins */
.bslms-page-manage .bslms-card[style*="width:100%"] { width: auto !important; }
.bslms-page-dashboard .bslms-card[style*="width:100%"] { width: auto !important; }

/* Allow wide tables to scroll instead of overflowing page */
.bslms-wrap .bslms-card { overflow-x: auto; }

/* v0.8.0: Ensure Dashboard uses two-column layout */
.bslms-page-dashboard .bslms-grid.two-col {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
}

/* v0.8.0: Prevent Manage Training automation form from overflowing with card margins */
.bslms-page-manage .bslms-form-grid {
  max-width: 100% !important;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
}
.bslms-page-manage .bslms-form-grid > * { min-width: 0 !important; }
.bslms-page-manage .bslms-card input,
.bslms-page-manage .bslms-card select,
.bslms-page-manage .bslms-card textarea { min-width: 0 !important; width: 100%; }

/* v0.8.1: Dashboard two-column gap + remove any card margins that create extra spacing */
.bslms-page-dashboard .bslms-grid.two-col,
.bslms-page-dashboard .bslms-grid {
  gap: 10px !important;
  column-gap: 10px !important;
  row-gap: 10px !important;
}
.bslms-page-dashboard .bslms-grid.two-col > .bslms-card {
  margin: 0 !important;
}

/* v0.8.1: Prevent Training Automation card overflow when user applies left/right margins */
.bslms-page-manage .bslms-card.bslms-fullwidth {
  width: auto !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

/* v0.8.2: Definitive theme-consistent card surfaces (fix mixed dark-grey vs dark-blue) */
main.bsd-content .bslms-wrap .bslms-card,
.bsd-content .bslms-wrap .bslms-card,
.bslms-wrap .bslms-card {
  background-color: var(--bsd-surface, #ffffff) !important;
  background: var(--bsd-surface, #ffffff) !important;
  border-color: var(--bsd-border, rgba(0,0,0,.10)) !important;
}

/* When BuildSafe Dashboard theme is in dark mode, enforce the same surface everywhere */
html[data-bsd-theme="dark"] main.bsd-content .bslms-wrap .bslms-card,
html[data-bsd-theme="dark"] .bsd-content .bslms-wrap .bslms-card,
html[data-bsd-theme="dark"] .bslms-wrap .bslms-card {
  background-color: var(--bsd-surface, #0b1220) !important;
  background: var(--bsd-surface, #0b1220) !important;
  border-color: var(--bsd-border, rgba(255,255,255,.12)) !important;
}

/* Modal for workflow messages */
.bslms-modal { position: fixed; inset: 0; z-index: 99999; }
.bslms-modal-backdrop { position:absolute; inset:0; background: rgba(0,0,0,0.55); }
.bslms-modal-dialog { position:relative; max-width: 620px; margin: 10vh auto; background: #fff; color:#111; padding: 18px 18px 14px; border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,0.35); }
body.dark .bslms-modal-dialog, body.theme-dark .bslms-modal-dialog { background: #0b1f3a; color: #fff; }
.bslms-alert { padding:10px 12px; border-radius:10px; background: rgba(0,0,0,0.06); color: inherit; }
body.dark .bslms-alert, body.theme-dark .bslms-alert { background: rgba(255,255,255,0.10); }


/* Modal button visibility */
.bslms-modal-dialog .bslms-btn{background:rgba(0,0,0,.06);}
body.dark .bslms-modal-dialog .bslms-btn, body.theme-dark .bslms-modal-dialog .bslms-btn{background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.25); color:#fff;}
.bslms-modal-dialog .bslms-btn:hover{background:rgba(0,0,0,.09);} 
body.dark .bslms-modal-dialog .bslms-btn:hover, body.theme-dark .bslms-modal-dialog .bslms-btn:hover{background:rgba(255,255,255,.18);} 


/* Normalize button sizing within LMS cards */
.bslms-wrap .button,
.bslms-wrap .bslms-btn {
  font-size: 14px;
  line-height: 1.2;
  padding: 7px 12px;
}
.bslms-wrap .button.button-primary,
.bslms-wrap .button.button-secondary {
  padding: 7px 12px;
}



/* Unified button sizing inside LMS cards */
.bslms-card .button,
.bslms-card a.button,
.bslms-card button.button,
.bslms-card .bslms-btn,
.bslms-card a.bslms-btn,
.bslms-card button.bslms-btn{
  font-size: 14px !important;
  padding: 8px 14px !important;
  line-height: 1.2 !important;
  height: auto !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
}

/* Course Builder card spacing */
.bslms-page-course-builder .bslms-grid{column-gap:12px !important;row-gap:12px !important;gap:12px !important;}
.bslms-page-course-builder .bslms-card{margin-bottom:12px !important;}

/* Ensure LMS buttons are visible in all themes */
.bslms-wrap .bslms-btn{display:inline-block;}



/* Force LMS action buttons to be visible in light + dark mode */
.bslms-card .button.bslms-btn,
.bslms-lesson-ai-tools .button.bslms-btn,
.bslms-media-panel .button.bslms-btn,
.bslms-media-panel .button.button-primary,
.bslms-lesson-ai-tools .button.button-primary {
  background: #1e73be !important;
  color: #fff !important;
  border: 1px solid rgba(0,0,0,0.10) !important;
  border-radius: 10px !important;
  padding: 7px 12px !important;
  line-height: 1.2 !important;
}

.bslms-card .button.bslms-btn:hover,
.bslms-lesson-ai-tools .button.bslms-btn:hover,
.bslms-media-panel .button.bslms-btn:hover,
.bslms-media-panel .button.button-primary:hover,
.bslms-lesson-ai-tools .button.button-primary:hover {
  filter: brightness(0.95);
}

/* Two-column layout for lesson editor: content + media side-by-side */
.bslms-lesson-two-col{
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 14px;
  align-items: start;
}
@media (max-width: 900px){
  .bslms-lesson-two-col{ grid-template-columns: 1fr; }
}

.bslms-manual-slide-builder{
  border:1px solid rgba(30,115,190,.22);
  background:linear-gradient(180deg, rgba(30,115,190,.06), rgba(255,255,255,.86));
  border-radius:14px;
  padding:14px;
  margin:12px 0;
}
.bslms-manual-slide-builder-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.bslms-manual-slide-builder-head h4{
  margin:0 0 4px 0;
}
.bslms-manual-slide-card{
  border:1px solid rgba(0,0,0,.10);
  background:rgba(255,255,255,.94);
  border-radius:12px;
  padding:12px;
  margin:10px 0;
}
.bslms-manual-slide-card-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.bslms-manual-slide-counter{
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:.86rem;
}
.bslms-manual-slide-counter.is-near-limit{
  color:#b45309;
  font-weight:700;
}
.bslms-manual-slide-image-control{
  margin:12px 0;
}
.bslms-manual-slide-image-preview{
  width:160px;
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:6px 0 8px 0;
  border:1px dashed rgba(15,23,42,.24);
  border-radius:12px;
  background:rgba(15,23,42,.035);
  color:#64748b;
  font-size:.88rem;
  overflow:hidden;
}
.bslms-manual-slide-image-preview img{
  display:block;
  width:100%;
  height:auto;
}
body.dark-mode .bslms-manual-slide-builder,
body.cea-dark-mode .bslms-manual-slide-builder,
[data-theme="dark"] .bslms-manual-slide-builder,
.theme-dark .bslms-manual-slide-builder{
  border-color:rgba(96,165,250,.28);
  background:linear-gradient(180deg, rgba(30,64,175,.22), rgba(15,23,42,.78));
}
body.dark-mode .bslms-manual-slide-card,
body.cea-dark-mode .bslms-manual-slide-card,
[data-theme="dark"] .bslms-manual-slide-card,
.theme-dark .bslms-manual-slide-card{
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.05);
}
body.dark-mode .bslms-manual-slide-image-preview,
body.cea-dark-mode .bslms-manual-slide-image-preview,
[data-theme="dark"] .bslms-manual-slide-image-preview,
.theme-dark .bslms-manual-slide-image-preview{
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  color:#cbd5e1;
}


/* v1.3.18 citation UI polish */
.bslms-slide-citations {
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  background: rgba(0,0,0,.025);
}
.bslms-citation-heading {
  font-weight: 700;
  margin-bottom: 10px;
}
.bslms-citation-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.bslms-citation-card {
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(255,255,255,.8);
}
.bslms-citation-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.bslms-citation-badge,
.bslms-quiz-source-chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: .76rem;
  font-weight: 700;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.045);
}
.bslms-citation-link,
.bslms-citation-label {
  font-weight: 600;
  text-decoration: none;
}
.bslms-citation-meta-row {
  margin-top: 6px;
  font-size: .92rem;
  opacity: .84;
}
.bslms-citation-dot { opacity: .5; }
.bslms-citation-preview {
  margin-top: 8px;
}
.bslms-citation-preview summary,
.bslms-quiz-question-sources summary {
  cursor: pointer;
  font-weight: 600;
}
.bslms-citation-preview-text,
.bslms-quiz-source-preview {
  margin-top: 6px;
  padding: 8px 10px;
  border-left: 3px solid rgba(0,0,0,.18);
  background: rgba(0,0,0,.03);
  border-radius: 8px;
  font-size: .94rem;
}
.bslms-quiz-question-sources {
  margin-top: 10px;
  border-top: 1px dashed rgba(0,0,0,.12);
  padding-top: 10px;
}
.bslms-quiz-question-source-body {
  margin-top: 8px;
  display: grid;
  gap: 8px;
}
.bslms-quiz-source-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.bslms-quiz-source-list li {
  padding: 8px 10px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 10px;
  background: rgba(0,0,0,.02);
}
html.dark .bslms-slide-citations,
body.dark .bslms-slide-citations,
body.dark-mode .bslms-slide-citations,
body.cea-dark-mode .bslms-slide-citations,
[data-theme="dark"] .bslms-slide-citations,
.theme-dark .bslms-slide-citations,
html.dark .bslms-citation-card,
body.dark .bslms-citation-card,
body.dark-mode .bslms-citation-card,
body.cea-dark-mode .bslms-citation-card,
[data-theme="dark"] .bslms-citation-card,
.theme-dark .bslms-citation-card,
html.dark .bslms-quiz-source-list li,
body.dark .bslms-quiz-source-list li,
body.dark-mode .bslms-quiz-source-list li,
body.cea-dark-mode .bslms-quiz-source-list li,
[data-theme="dark"] .bslms-quiz-source-list li,
.theme-dark .bslms-quiz-source-list li {
  border-color: rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
}
html.dark .bslms-citation-badge,
body.dark .bslms-citation-badge,
body.dark-mode .bslms-citation-badge,
body.cea-dark-mode .bslms-citation-badge,
[data-theme="dark"] .bslms-citation-badge,
.theme-dark .bslms-citation-badge,
html.dark .bslms-quiz-source-chip,
body.dark .bslms-quiz-source-chip,
body.dark-mode .bslms-quiz-source-chip,
body.cea-dark-mode .bslms-quiz-source-chip,
[data-theme="dark"] .bslms-quiz-source-chip,
.theme-dark .bslms-quiz-source-chip {
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
}
html.dark .bslms-citation-preview-text,
body.dark .bslms-citation-preview-text,
body.dark-mode .bslms-citation-preview-text,
body.cea-dark-mode .bslms-citation-preview-text,
[data-theme="dark"] .bslms-citation-preview-text,
.theme-dark .bslms-citation-preview-text,
html.dark .bslms-quiz-source-preview,
body.dark .bslms-quiz-source-preview,
body.dark-mode .bslms-quiz-source-preview,
body.cea-dark-mode .bslms-quiz-source-preview,
[data-theme="dark"] .bslms-quiz-source-preview,
.theme-dark .bslms-quiz-source-preview {
  border-left-color: rgba(255,255,255,.22);
  background: rgba(255,255,255,.05);
}
.bslms-library-badges{display:flex;flex-wrap:wrap;gap:6px;}
.bslms-library-badge{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:#f3f7fb;
  color:#1f2a37;
  font-size:12px;
  font-weight:600;
  line-height:1.2;
}
.bslms-library-badge.is-published{background:#e8f7ee;color:#15603a;border-color:rgba(21,96,58,.18);}
.bslms-library-badge.is-draft{background:#f6f0e8;color:#8a5a14;border-color:rgba(138,90,20,.18);}
.bslms-library-badge.is-library{background:#eaf3ff;color:#215eb5;border-color:rgba(33,94,181,.18);}
.bslms-library-badge.is-buildsafe{background:#eef5ff;color:#15457a;border-color:rgba(21,69,122,.18);}
.bslms-library-badge.is-company{background:#f3ecff;color:#6541a7;border-color:rgba(101,65,167,.18);}
.bslms-library-badge.is-local{background:#f5f5f5;color:#4b5563;border-color:rgba(75,85,99,.18);}
.bslms-library-badge.is-modified{background:#fff4e8;color:#9a4f0f;border-color:rgba(154,79,15,.18);}
.bslms-library-badge.is-update{background:#fff7d6;color:#8a6116;border-color:rgba(138,97,22,.18);}
.bslms-library-inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.bslms-library-inline-form select{width:auto;min-width:120px;}
.bslms-library-checkbox{display:inline-flex;align-items:center;gap:6px;font-weight:600;}
.bslms-library-section + .bslms-library-section{margin-top:18px;padding-top:18px;border-top:1px solid rgba(15,23,42,.08);}
.bslms-library-section .widefat td form.bslms-library-inline-form{margin:0;}
.bslms-library-overwrite{display:flex;align-items:flex-start;gap:8px;flex-basis:100%;font-size:13px;line-height:1.4;}
.bslms-library-overwrite input{margin-top:3px;}
.bslms-library-overwrite-warning{flex-basis:100%;padding:10px 12px;border:1px solid #f0c36d;border-radius:10px;background:#fff8e6;color:#5c4400;font-size:13px;line-height:1.45;}
.bslms-library-changelog{margin-top:6px;font-size:13px;color:#475569;}
.bslms-library-changelog summary{cursor:pointer;font-weight:600;color:#1d4ed8;}
.bslms-library-changelog div{margin-top:6px;white-space:pre-wrap;line-height:1.5;}
.bslms-page-manage{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.bslms-page-manage > .bslms-header,
.bslms-page-manage > .bslms-alert,
.bslms-page-manage > .bslms-card,
.bslms-page-manage > .bslms-grid{
  margin:0 !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box;
}
.bslms-page-manage > .bslms-grid{
  display:flex !important;
  flex-direction:column;
  gap:12px;
}
.bslms-page-manage > .bslms-grid > .bslms-card{
  margin:0 !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box;
}
.bslms-page-manage > .bslms-card.bslms-fullwidth{
  margin:0 !important;
  width:100% !important;
  max-width:100% !important;
}
.bslms-page-manage .bslms-card + .bslms-card{
  margin-top:0 !important;
}
.bslms-manage-card-toggle{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0;
  margin:0 0 12px 0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  text-align:left;
}
.bslms-manage-card-toggle span{font-size:1.08em;}
.bslms-manage-card-toggle .bslms-manage-card-toggle-label{
  font-size:.95em;
  font-weight:600;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(0,0,0,.06);
  line-height:1.2;
  flex:0 0 auto;
}
.bslms-manage-collapsible:not(.is-open) > .bslms-manage-card-body{display:none;}
html.dark .bslms-library-badge,
body.dark .bslms-library-badge,
body.dark-mode .bslms-library-badge,
body.cea-dark-mode .bslms-library-badge,
[data-theme="dark"] .bslms-library-badge,
.theme-dark .bslms-library-badge{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.16);
  color:#f5f7fa;
}
html.dark .bslms-manage-card-toggle .bslms-manage-card-toggle-label,
body.dark .bslms-manage-card-toggle .bslms-manage-card-toggle-label,
body.dark-mode .bslms-manage-card-toggle .bslms-manage-card-toggle-label,
body.cea-dark-mode .bslms-manage-card-toggle .bslms-manage-card-toggle-label,
[data-theme="dark"] .bslms-manage-card-toggle .bslms-manage-card-toggle-label,
.theme-dark .bslms-manage-card-toggle .bslms-manage-card-toggle-label{
  background:rgba(255,255,255,.10);
}

/* Learner slideshow course player */
.bslms-course-player-wrap {
  max-width: 1400px;
  padding: 0;
}
.bslms-course-player {
  min-height: calc(100vh - 32px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  gap: 12px;
}
.bslms-player-topbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding: 10px 14px;
}
.bslms-player-topbar h2 {
  margin: 2px 0 0;
  line-height: 1.15;
}
.bslms-player-progress {
  flex: 0 0 auto;
  border:1px solid rgba(15,23,42,.12);
  border-radius:999px;
  padding:8px 12px;
  background:rgba(255,255,255,.86);
  font-weight:700;
}
.bslms-player-stage {
  min-height: 560px;
  position: relative;
}
.bslms-player-item {
  position: relative;
  min-height: min(72vh, 720px);
  height: 100%;
  border-radius: 24px;
  overflow: hidden;
  background: #07111f;
  box-shadow: 0 18px 55px rgba(15,23,42,.20);
}
.bslms-player-item.has-bg {
  background: #07111f;
}
.bslms-player-item[hidden] {
  display: none !important;
}
.bslms-player-image {
  position: absolute;
  inset: clamp(12px, 2vw, 28px);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  z-index: 1;
}
.bslms-player-image img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 18px;
  box-shadow: 0 20px 50px rgba(0,0,0,.32);
}
.bslms-player-scrim {
  position:absolute;
  inset:0;
  background: linear-gradient(0deg, rgba(0,0,0,.20), rgba(0,0,0,.06));
  pointer-events:none;
  z-index: 2;
}
.bslms-player-item.no-bg .bslms-player-scrim {
  background: linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.01));
}
.bslms-player-card {
  position: absolute;
  left: clamp(16px, 4vw, 48px);
  bottom: clamp(16px, 5vw, 54px);
  width: min(620px, calc(100% - 32px));
  max-height: calc(100% - 48px);
  overflow: auto;
  padding: clamp(18px, 3vw, 34px);
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 24px;
  background: rgba(8,18,32,.48);
  color: #fff;
  backdrop-filter: blur(8px);
  box-shadow: 0 18px 44px rgba(0,0,0,.28);
  z-index: 3;
}
.bslms-player-item.no-bg .bslms-player-card {
  background: rgba(255,255,255,.94);
  color: rgba(15,23,42,.94);
}
.bslms-player-counter {
  display:inline-flex;
  margin-bottom: 10px;
  padding: 4px 10px;
  border-radius:999px;
  background: rgba(255,255,255,.16);
  font-size:.86rem;
  font-weight:700;
}
.bslms-player-card h3 {
  margin: 0 0 12px;
  font-size: clamp(1.5rem, 3.4vw, 3rem);
  line-height: 1.02;
}
.bslms-player-copy {
  font-size: clamp(1rem, 1.35vw, 1.24rem);
  line-height: 1.48;
}
.bslms-player-copy ul {
  margin: 12px 0 0;
  padding-left: 1.2em;
}
.bslms-player-copy li + li {
  margin-top: 8px;
}
.bslms-player-item-video .bslms-player-card,
.bslms-player-item-quiz .bslms-player-card {
  position: relative;
  left: auto;
  bottom: auto;
  width: min(980px, calc(100% - 32px));
  margin: clamp(16px, 4vw, 44px) auto;
}
.bslms-player-item-video .bslms-video-wrap {
  margin-top: 16px;
}
.bslms-player-item-quiz {
  overflow: auto;
}
.bslms-player-item-quiz .bslms-player-card {
  max-height: none;
}
.bslms-player-item-quiz .bslms-q,
.bslms-player-item-quiz .bslms-choice {
  color: inherit;
}
.bslms-quiz-review-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}
.bslms-quiz-review-actions[hidden] {
  display: none;
}
.bslms-player-controls {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  padding: 0 10px 4px;
}
.bslms-player-message {
  min-height: 24px;
  text-align:center;
  font-weight:600;
  color:#334155;
}
.bslms-player-next:disabled {
  opacity: .48;
  cursor: not-allowed;
  filter: grayscale(.25);
}
@media (max-width: 760px) {
  .bslms-course-player {
    min-height: calc(100vh - 12px);
    gap: 8px;
  }
  .bslms-player-topbar {
    padding: 8px;
    align-items:flex-start;
  }
  .bslms-player-topbar h2 {
    font-size: 1.15rem;
  }
  .bslms-player-progress {
    padding: 6px 10px;
  }
  .bslms-player-stage {
    min-height: 68vh;
  }
  .bslms-player-item {
    min-height: 68vh;
    border-radius: 16px;
  }
  .bslms-player-image {
    inset: 8px;
    align-items: flex-start;
  }
  .bslms-player-image img {
    max-height: 58%;
    border-radius: 14px;
  }
  .bslms-player-scrim {
    background: linear-gradient(0deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.24) 68%, rgba(0,0,0,.12) 100%);
  }
  .bslms-player-card {
    left: 10px;
    right: 10px;
    bottom: 10px;
    width: auto;
    max-height: 58%;
    padding: 16px;
    border-radius: 18px;
  }
  .bslms-player-card h3 {
    font-size: 1.45rem;
  }
  .bslms-player-copy {
    font-size: .98rem;
  }
  .bslms-player-item-video .bslms-player-card,
  .bslms-player-item-quiz .bslms-player-card {
    width: calc(100% - 20px);
    margin: 10px auto;
    max-height: calc(68vh - 20px);
  }
  .bslms-player-controls .bslms-btn {
    flex: 1 1 120px;
  }
}
