/* 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: 320px 1fr; }
@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-media { margin: 12px 0; }
.bslms-lesson-body img { max-width: 100%; height: auto; border-radius: 12px; }

.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; }
}


/* 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);
}
