/* Retain the original LXP navbar and isolated Bootstrap4 dashboard assets. */
body.multi-framework-mode { margin: 0; overflow: hidden !important; font-size: 1.25rem; }
body.multi-framework-mode #multi-framework-app { position: fixed; inset: calc(var(--lxp-nav-height, 56px) + var(--lxp-feedback-height, 0px)) 0 0; padding: 0; margin: 0; max-width: none; }
body.multi-framework-mode #multi-framework-app > #sco-frame { position: static; padding: 0; margin: 0; width: 100%; height: 100%; border: 0; display: block; }
body.multi-framework-mode [hidden], .mf-dashboard-document [hidden] { display: none !important; }
body.multi-framework-mode #mf-course-area { width: 100%; height: 100%; display: flex; flex-direction: column; }
.mf-bridge-host { border: 0; display: block; width: 100%; height: 100%; min-height: 0; flex: 1 1 0; background: white; }
.mf-course-toolbar { flex: 0 0 auto; padding: .25rem .75rem; background: #fbfbfb; text-align: right; border-bottom: 1px solid #eee; }
.mf-framework-selector { width: auto; min-width: 150px; max-width: 250px; margin: 0 .75rem; font-size: 1.5rem; line-height: 1.4; }
body.multi-framework-mode #breadcrumb-container { flex: 1; min-width: 0; max-height: min(32vh, 10rem); overflow: auto; overscroll-behavior: contain; padding: .25rem; }
body.multi-framework-mode .breadcrumb { margin: 0; align-items: baseline; flex-wrap: wrap; }
body.multi-framework-mode .breadcrumb-item { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
body.multi-framework-mode .mf-breadcrumb-parent { font-size: 1.125rem; }
body.multi-framework-mode .mf-breadcrumb-current { flex: 1 0 100%; padding: .15rem 0 0; font-size: 1.375rem; font-weight: 600; line-height: 1.35; }
body.multi-framework-mode .mf-breadcrumb-current::before { display: none; }
body.multi-framework-mode .breadcrumb .btn-link { color: dimgray; text-decoration: none; font: inherit; white-space: normal; text-align: left; }
body.multi-framework-mode .navbar-brand { margin-right: 1rem; }
body.multi-framework-mode .navbar-nav { align-items: center; flex-shrink: 0; }
body.multi-framework-mode #template_xp { white-space: nowrap; }
/* The overview keeps its original compact 100% chrome. Course text has its
   own reading stylesheet and is independent of these navigation controls. */
body.multi-framework-mode:has(#breadcrumb-container[hidden]) { font-size: 1rem; }
body.multi-framework-mode:has(#breadcrumb-container[hidden]) .mf-framework-selector { min-width: 115px; max-width: 200px; font-size: .875rem; line-height: 1.5; }
body.multi-framework-mode #main-navbar button:focus-visible, body.multi-framework-mode #main-navbar a:focus-visible, body.multi-framework-mode #main-navbar select:focus-visible, body.multi-framework-mode #breadcrumb-container:focus-visible { outline: 2px solid #28a745 !important; outline-offset: 2px; }
.mf-glossary-toggle { background: transparent; border: 0; padding: .5rem; color: inherit; }
.mf-glossary-menu { display: block; top: 100%; left: .75rem; right: auto; width: min(420px, calc(100vw - 1.5rem)); padding: .75rem; max-height: min(70vh, 600px); overflow: auto; }
.mf-glossary-results { padding-top: .75rem; }
.mf-glossary-results article { border-top: 1px solid #eee; padding: .6rem 0; }
.mf-glossary-results .btn-link { padding-left: 0; white-space: normal; text-align: left; }
.mf-storage { position: relative; font-size: .9rem; }
.mf-storage summary { list-style: none; cursor: pointer; padding: .35rem .5rem; color: #777; }
.mf-storage summary::-webkit-details-marker { display: none; }
.mf-storage-lms summary { color: #287e44; }
.mf-storage-over-budget summary { color: #946800; }
.mf-storage-error summary { color: #b02a37; }
.mf-storage-panel { position: absolute; z-index: 1060; right: 0; top: 100%; width: min(420px, calc(100vw - 1.5rem)); padding: 1rem; background: white; border: 1px solid #ddd; box-shadow: 0 .25rem .5rem #0002; }
.mf-storage-panel .btn { margin: .25rem .25rem .25rem 0; }
#mf-feedback { position: fixed; top: var(--lxp-nav-height, 56px); left: 0; right: 0; z-index: 1025; background: #fff3f3; color: #842029; border-bottom: 1px solid #edc4c4; }
#mf-storage-alert, #mf-notices [role=alert] { padding: .5rem .85rem; }
#mf-notices p { margin: 0; }
#mf-storage-alert .btn { margin-left: .75rem; }
.mf-dashboard-document { margin: 0; }
.mf-dashboard-document :is([data-view=results], [data-view=tools]) { font-size: clamp(1.5rem, 2.25vw, 2rem); line-height: 1.5; overflow-wrap: anywhere; }
.mf-dashboard-document :is([data-view=results], [data-view=tools]) h1 { font-size: 1.5em; }
.mf-dashboard-document :is([data-view=results], [data-view=tools]) h2 { font-size: 1.25em; }
.mf-dashboard-document :is([data-view=results], [data-view=tools]) h3 { font-size: 1.125em; }
.mf-dashboard-document :is([data-view=results], [data-view=tools]) :is(h4, h5) { font-size: 1.05em; }
.mf-dashboard-document :is([data-view=results], [data-view=tools]) h6 { font-size: 1em; line-height: 1.4; }
.mf-dashboard-document :is([data-view=results], [data-view=tools]) :is(.btn, .form-control) { font-size: .875em; white-space: normal; }
.mf-dashboard-document :is([data-view=results], [data-view=tools]) :is(.small, small) { font-size: .85em; }
.mf-dashboard-document :is([data-view=results], [data-view=tools]) .lead { font-size: 1.25em; }
.mf-dashboard-document #mf-content { min-height: 100vh; }
.mf-dashboard-document .course[role=button]:focus-visible, .mf-dashboard-document button:focus-visible, .mf-dashboard-document [role=button]:focus-visible { outline: 2px solid #28a745; outline-offset: 2px; }
.mf-dashboard-document .progress-custom { height: .6rem; }
.mf-dashboard-document .course-grid { gap: .25rem; }
.mf-dashboard-document .chart .card-body { position: relative; min-height: 0; }
.mf-dashboard-document [data-chart-empty] { padding: 1rem; }
.mf-dashboard-document .mf-results h1 { font-size: 1.5em; margin: 1rem 0; }
.mf-dashboard-document [data-view=dashboard] { padding-bottom: 0; }
.mf-dashboard-document [data-view=results], .mf-dashboard-document [data-view=tools] { padding: 1rem; }
.mf-dashboard-document .mf-report { max-width: 1100px; margin: 0 auto; }
.mf-report-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.mf-report-project-logo { width: 120px; max-height: 80px; object-fit: contain; }
.mf-report-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; margin: 1rem 0 1.5rem; }
.mf-report-section { margin: 1.5rem 0; }
.mf-report-section h2 { font-size: 1.25em; margin-bottom: .75rem; }
.mf-report-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.mf-report-tile { padding: 1rem; border: 1px solid #ddd; border-radius: .25rem; background: #fafafa; overflow-wrap: anywhere; }
.mf-report-tile h3 { font-size: 1em; line-height: 1.4; margin: 0 0 .75rem; }
.mf-dashboard-document :is([data-view=results], [data-view=tools]) .mf-report-tile h3 { font-size: 1em; }
.mf-report-number { color: dimgray; font-size: .9em; margin-bottom: .35rem; }
.mf-report-percentage { color: #287e44; font-size: 1.7em; margin-bottom: .2rem; }
.mf-report-course-details { margin: 1.5rem 0 1rem; }
.mf-report-course-details summary { cursor: pointer; }
.mf-report-scope { margin: 1rem 0; font-size: .9em; }
.mf-report-footer { border-top: 1px solid #ddd; padding-top: 1rem; margin-top: 1.5rem; }
.mf-report-partners { display: flex; align-items: center; flex-wrap: wrap; gap: 2rem; }
.mf-report-partners img { width: 100px; max-height: 60px; object-fit: contain; }
@media (max-width: 700px) {
  .mf-report-grid { grid-template-columns: 1fr; }
  .mf-report-project-logo { width: 80px; }
  .mf-report-heading { align-items: flex-start; }
  .mf-report-actions { align-items: stretch; flex-direction: column; }
  .mf-report-actions .btn { white-space: normal; }
}
@media (max-width: 600px) {
  .mf-framework-selector { flex: 1 1 7rem; width: 7rem; min-width: 0; max-width: 160px; margin: 0 .25rem; font-size: 1.125rem; }
  body.multi-framework-mode:has(#breadcrumb-container[hidden]) .mf-framework-selector { min-width: 0; max-width: 145px; font-size: .85rem; }
  body.multi-framework-mode .navbar-brand { margin-right: .4rem; }
  body.multi-framework-mode .nav-item { margin-right: .2rem; }
  body.multi-framework-mode #breadcrumb-container:not([hidden]) { order: 5; flex-basis: 100%; padding: .25rem; }
  body.multi-framework-mode #startBoarding { padding-left: .4rem; padding-right: .4rem; }
  .mf-storage summary { padding: .25rem; }
  .mf-dashboard-document footer .img-fluid { margin: .5rem 0; }
}
