/* Mosaic Experience Manager
 * Shared presentation consumes MAOS Visual Contract v1 directly in base rules.
 * Fallbacks preserve operation when MAOS is unavailable.
 */

/* MAOS Visual Contract v1: shared interactive states. */
.local-mosaicexperience-wrap a:focus-visible,
.local-mosaicexperience-wrap button:focus-visible,
.local-mosaicexperience-wrap input:focus-visible,
.local-mosaicexperience-wrap select:focus-visible,
.local-mosaicexperience-wrap textarea:focus-visible,
.local-mosaicexperience-dashboard a:focus-visible,
.local-mosaicexperience-dashboard button:focus-visible,
.local-mosaicexperience-dashboard input:focus-visible,
.local-mosaicexperience-dashboard select:focus-visible,
.local-mosaicexperience-program a:focus-visible,
.local-mosaicexperience-program button:focus-visible {
    outline:var(--maos-focus-ring,3px solid #2294a3);
    outline-offset:3px;
}
.local-mosaicexperience-wrap button:disabled,
.local-mosaicexperience-wrap input:disabled,
.local-mosaicexperience-wrap select:disabled,
.local-mosaicexperience-dashboard button:disabled,
.local-mosaicexperience-dashboard input:disabled,
.local-mosaicexperience-dashboard select:disabled,
.local-mosaicexperience-program button:disabled {
    opacity:.58;
    cursor:not-allowed;
}
@media(prefers-reduced-motion:reduce){
    .local-mosaicexperience-dashboard *,
    .local-mosaicexperience-program * {scroll-behavior:auto!important}
}

.local-mosaicexperience-wrap{max-width:1200px;margin:0 auto}.local-mosaicexperience-lead{font-size:1.08rem;max-width:880px;color:var(--maos-text-muted,#3d4b63)}.local-mosaicexperience-card{background:var(--maos-surface,#fff);border:1px solid var(--maos-border,#d5e0eb);border-radius:14px;padding:1.15rem;margin:1rem 0;box-shadow:var(--maos-shadow,0 6px 18px rgba(13,59,102,.04))}.local-mosaicexperience-card h3{margin-top:0;color:var(--maos-heading,#061b49)}.local-mosaicexperience-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0}.local-mosaicexperience-btn{display:inline-block;border-radius:8px;padding:.58rem .95rem;text-decoration:none!important;font-weight:700}.local-mosaicexperience-btn-primary{background:var(--maos-gradient-primary,linear-gradient(90deg,#061b49 0%,#0d3b66 45%,#309ea9 100%));color:var(--maos-primary-contrast,#fff)!important}.local-mosaicexperience-btn-secondary{background:var(--maos-surface,#fff);color:var(--maos-primary,#0d3b66)!important;border:1px solid var(--maos-border,#d5e0eb)}.local-mosaicexperience-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.local-mosaicexperience-metrics div{background:var(--maos-surface-muted,#eef3f8);border:1px solid var(--maos-border,#d5e0eb);border-radius:14px;padding:1rem}.local-mosaicexperience-metrics strong{display:block;font-size:2rem;line-height:1;color:var(--maos-heading,#061b49)}.local-mosaicexperience-metrics span{display:block;color:var(--maos-text-muted,#4b5563);margin-top:.35rem}.local-mosaicexperience-table td{vertical-align:middle}.local-mosaicexperience-muted{color:var(--maos-text-muted,#5f6f84);font-size:.92rem;margin-top:.25rem}.local-mosaicexperience-status{display:inline-block;border-radius:999px;padding:.25rem .62rem;font-size:.8rem;font-weight:700;white-space:nowrap}.local-mosaicexperience-status-prototype{background:color-mix(in srgb,var(--maos-info,#236f9e) 14%,var(--maos-surface,#fff));color:var(--maos-primary,#0d3b66)}.local-mosaicexperience-status-activeprototype{background:color-mix(in srgb,var(--maos-success,#1f7a55) 14%,var(--maos-surface,#fff));color:var(--maos-success,#0d6651)}.local-mosaicexperience-status-planned{background:color-mix(in srgb,var(--maos-warning,#b7791f) 14%,var(--maos-surface,#fff));color:var(--maos-warning,#7a4b00)}.local-mosaicexperience-status-future{background:var(--maos-surface-muted,#eef3f8);color:var(--maos-text-muted,#495057)}.local-mosaicexperience-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.local-mosaicexperience-detail-grid div{border:1px solid var(--maos-border,#d5e0eb);border-radius:12px;padding:.85rem;background:var(--maos-surface-muted,#eef3f8)}.local-mosaicexperience-detail-grid span{display:block;color:var(--maos-text-muted,#5f6f84);font-size:.84rem;margin-bottom:.25rem}.local-mosaicexperience-section-list li{margin-bottom:.5rem}.local-mosaicexperience-warning{border-color:color-mix(in srgb,var(--maos-warning,#b7791f) 45%,var(--maos-border,#d5e0eb));background:color-mix(in srgb,var(--maos-warning,#b7791f) 10%,var(--maos-surface,#fff))}.local-mosaicexperience-roadmap li{margin-bottom:1rem}.local-mosaicexperience-roadmap p{margin:.2rem 0 0}@media(max-width:767px){.local-mosaicexperience-metrics,.local-mosaicexperience-detail-grid{grid-template-columns:1fr}.local-mosaicexperience-table{font-size:.92rem}.local-mosaicexperience-actions .local-mosaicexperience-btn{width:100%;text-align:center}}
.local-mosaicexperience-wrap form.mform{background:var(--maos-surface,#fff);border:1px solid var(--maos-border,#d5e0eb);border-radius:14px;padding:1rem;box-shadow:var(--maos-shadow,0 6px 18px rgba(13,59,102,.04))}.local-mosaicexperience-wrap form.mform fieldset{margin-bottom:1rem}.local-mosaicexperience-wrap form.mform legend{color:var(--maos-heading,#061b49);font-weight:700}.local-mosaicexperience-status-draft{background:var(--maos-surface-muted,#eef3f8);color:var(--maos-text,#334155)}.local-mosaicexperience-status-published{background:color-mix(in srgb,var(--maos-success,#1f7a55) 14%,var(--maos-surface,#fff));color:var(--maos-success,#0d6651)}.local-mosaicexperience-detail-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

.local-mosaicexperience-composer-preview{border:1px solid var(--maos-border,#d5e0eb);border-radius:16px;overflow:hidden;background:var(--maos-surface,#fff)}.local-mosaicexperience-preview-hero{background:linear-gradient(135deg,var(--maos-surface-muted,#eef3f8),var(--maos-surface-raised,#fff));padding:1.5rem;border-bottom:1px solid var(--maos-border,#d5e0eb)}.local-mosaicexperience-preview-hero span{display:inline-block;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;font-weight:800;color:var(--maos-info,#2a6f97);margin-bottom:.35rem}.local-mosaicexperience-preview-hero h2{font-size:2rem;line-height:1.1;margin:.2rem 0;color:var(--maos-heading,#061b49)}.local-mosaicexperience-preview-hero p{max-width:760px}.local-mosaicexperience-preview-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.local-mosaicexperience-preview-btn{display:inline-block;border-radius:999px;padding:.55rem .9rem;font-weight:800}.local-mosaicexperience-preview-btn.primary{background:var(--maos-gradient-primary,linear-gradient(90deg,#061b49 0%,#0d3b66 55%,#309ea9 100%));color:var(--maos-primary-contrast,#fff)}.local-mosaicexperience-preview-btn.secondary{background:var(--maos-surface,#fff);border:1px solid var(--maos-border,#d5e0eb);color:var(--maos-primary,#0d3b66)}.local-mosaicexperience-composition-list{list-style:none;margin:0;padding:0}.local-mosaicexperience-composition-list li{display:grid;grid-template-columns:1fr;gap:.25rem;padding:1rem 1.25rem;border-bottom:1px solid var(--maos-border,#d5e0eb);position:relative}.local-mosaicexperience-composition-list li:last-child{border-bottom:0}.local-mosaicexperience-composition-list li:before{content:counter(list-item);position:absolute;left:-.8rem;top:1rem;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--maos-primary,#0d3b66);color:var(--maos-primary-contrast,#fff);text-align:center;line-height:1.65rem;font-weight:800;font-size:.82rem}.local-mosaicexperience-composition-list strong{color:var(--maos-heading,#061b49)}.local-mosaicexperience-composition-list span{font-size:.88rem;color:var(--maos-info,#2a6f97);font-weight:800}.local-mosaicexperience-composition-list p{margin:.15rem 0 0;color:var(--maos-text-muted,#4b5563)}.local-mosaicexperience-table th{white-space:nowrap}

.local-mosaicexperience-live-preview{border:1px solid var(--maos-border,#d5e0eb);border-radius:18px;overflow:hidden;background:var(--maos-surface,#fff);box-shadow:var(--maos-shadow-raised,0 14px 40px rgba(13,59,102,.08));margin:1rem 0 2rem}.local-mosaicexperience-live-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);gap:1.5rem;align-items:center;padding:2rem;background:linear-gradient(135deg,var(--maos-surface-muted,#eef3f8),var(--maos-surface-raised,#fff))}.local-mosaicexperience-live-copy h1{font-size:2.4rem;line-height:1.08;color:var(--maos-heading,#061b49);margin:.3rem 0 1rem}.local-mosaicexperience-live-eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;font-weight:900;color:var(--maos-info,#2a6f97)}.local-mosaicexperience-live-image img{display:block;max-height:320px;margin:auto;object-fit:contain}.local-mosaicexperience-live-section{padding:2rem}.local-mosaicexperience-live-section.is-tinted{background:var(--maos-surface-muted,#eef3f8)}.local-mosaicexperience-live-section h2{color:var(--maos-heading,#061b49);margin-top:0}.local-mosaicexperience-live-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.local-mosaicexperience-live-card{border:1px solid var(--maos-border,#d5e0eb);border-radius:14px;padding:1rem;background:var(--maos-surface,#fff)}.local-mosaicexperience-live-card h3{margin-top:0}.local-mosaicexperience-live-meta{font-size:.88rem;color:var(--maos-text-muted,#5f6f84);margin:.75rem 0}.local-mosaicexperience-live-list li{margin-bottom:.5rem}@media(max-width:767px){.local-mosaicexperience-live-hero{grid-template-columns:1fr;padding:1.25rem}.local-mosaicexperience-live-copy h1{font-size:1.8rem}.local-mosaicexperience-live-section{padding:1.25rem}}

/* Mosaic Dashboard preview v0.6 */
.local-mosaicexperience-dashboard{max-width:1320px;margin:0 auto;padding:0 0 2rem}.local-mosaicexperience-dashboard-hero{padding:1.8rem 2rem;border-radius:20px;background:var(--maos-gradient-primary,linear-gradient(135deg,#061b49 0%,#0d3b66 55%,#2a6f97 100%));color:var(--maos-primary-contrast,#fff);margin-bottom:1.25rem;box-shadow:var(--maos-shadow-raised,0 18px 45px rgba(6,27,73,.18))}.local-mosaicexperience-dashboard-hero h1{color:var(--maos-primary-contrast,#fff);margin:.2rem 0 .55rem;font-size:2.25rem}.local-mosaicexperience-dashboard-hero p{margin:0;color:color-mix(in srgb,var(--maos-primary-contrast,#fff) 82%,var(--maos-accent,#2294a3));font-size:1.05rem}.local-mosaicexperience-dashboard-eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:900;color:color-mix(in srgb,var(--maos-primary-contrast,#fff) 78%,var(--maos-accent,#2294a3))}.local-mosaicexperience-dashboard-grid{display:grid;gap:1rem}.local-mosaicexperience-dashboard-grid-top{grid-template-columns:1.15fr 1fr .85fr}.local-mosaicexperience-dashboard-grid-bottom{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem}.local-mosaicexperience-dashboard-panel{height:100%;margin:0}.local-mosaicexperience-dashboard-panel h3{font-size:1.15rem}.local-mosaicexperience-dashboard-sectiontitle{font-size:1.45rem;margin:1.7rem 0 .8rem;color:var(--maos-heading,#061b49)}.local-mosaicexperience-dashboard-coursegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.local-mosaicexperience-dashboard-card{border:1px solid var(--maos-border,#d5e0eb);border-radius:16px;padding:1.15rem;background:var(--maos-surface,#fff);box-shadow:var(--maos-shadow,0 8px 24px rgba(13,59,102,.05));display:flex;flex-direction:column}.local-mosaicexperience-dashboard-card h3{font-size:1.1rem;margin:0 0 .65rem;color:var(--maos-heading,#061b49)}.local-mosaicexperience-dashboard-card p{flex:1;color:var(--maos-text-muted,#4b5563)}.local-mosaicexperience-dashboard-listitem{padding:.8rem 0;border-bottom:1px solid var(--maos-border,#d5e0eb)}.local-mosaicexperience-dashboard-listitem:last-child{border-bottom:0}.local-mosaicexperience-dashboard-listitem strong,.local-mosaicexperience-dashboard-listitem span{display:block}.local-mosaicexperience-dashboard-listitem span{color:var(--maos-text-muted,#5f6f84);font-size:.9rem;margin-top:.2rem}.local-mosaicexperience-dashboard-listitem-action a{margin-top:.55rem}.local-mosaicexperience-dashboard-empty{color:var(--maos-text-muted,#5f6f84)}.local-mosaicexperience-dashboard-quicklinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.7rem}.local-mosaicexperience-dashboard-quicklink{display:block;padding:.9rem 1rem;border-radius:12px;border:1px solid var(--maos-border,#d5e0eb);background:var(--maos-surface-muted,#eef3f8);color:var(--maos-primary,#0d3b66)!important;font-weight:800;text-decoration:none!important}.local-mosaicexperience-dashboard-quicklink:hover{background:color-mix(in srgb,var(--maos-primary,#0d3b66) 9%,var(--maos-surface,#fff));transform:translateY(-2px)}.local-mosaicexperience-dashboard-fallback{margin-top:1.5rem;padding:1rem;border-radius:12px;background:color-mix(in srgb,var(--maos-warning,#b7791f) 10%,var(--maos-surface,#fff));border:1px solid color-mix(in srgb,var(--maos-warning,#b7791f) 40%,var(--maos-border,#d5e0eb));color:var(--maos-warning,#7a4b00)}.local-mosaicexperience-dashboard-fallback a{margin-left:.35rem;font-weight:800}.local-mosaicexperience-dashboard .local-mosaicexperience-btn,.local-mosaicexperience-dashboard .local-mosaicplatform-ui-btn{margin-top:.5rem}@media(max-width:991px){.local-mosaicexperience-dashboard-grid-top,.local-mosaicexperience-dashboard-grid-bottom{grid-template-columns:1fr}.local-mosaicexperience-dashboard-hero{padding:1.35rem}.local-mosaicexperience-dashboard-hero h1{font-size:1.8rem}}@media(max-width:575px){.local-mosaicexperience-dashboard-coursegrid{grid-template-columns:1fr}.local-mosaicexperience-dashboard-quicklinks{grid-template-columns:1fr}}

/* Mosaic Dashboard v0.6.1 UX refinement */
.local-mosaicexperience-dashboard-page #page-header,
.local-mosaicexperience-dashboard-page .page-header,
.local-mosaicexperience-dashboard-page .page-title-area,
.local-mosaicexperience-dashboard-page .breadcrumb-area,
.local-mosaicexperience-dashboard-page .inner-banner,
.local-mosaicexperience-dashboard-page .page-banner-area {
    display:none!important;
}
.local-mosaicexperience-dashboard-page #page.drawers{margin-top:60px}
.local-mosaicexperience-dashboard{max-width:1240px;padding:1.25rem 0 2.5rem}
.local-mosaicexperience-dashboard-welcome{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.35rem;border-radius:16px;background:var(--maos-gradient-primary,linear-gradient(100deg,#061b49 0%,#0d3b66 58%,#2a6f97 100%));color:var(--maos-primary-contrast,#fff);margin-bottom:1rem;box-shadow:var(--maos-shadow-raised,0 12px 32px rgba(6,27,73,.16))}
.local-mosaicexperience-dashboard-welcome h1{margin:0 0 .25rem;color:var(--maos-primary-contrast,#fff);font-size:1.65rem}
.local-mosaicexperience-dashboard-welcome p{margin:0;color:color-mix(in srgb,var(--maos-primary-contrast,#fff) 82%,var(--maos-accent,#2294a3))}
.local-mosaicexperience-dashboard-welcome .local-mosaicexperience-btn-secondary{background:color-mix(in srgb,var(--maos-primary-contrast,#fff) 12%,transparent);border-color:color-mix(in srgb,var(--maos-primary-contrast,#fff) 45%,transparent);color:var(--maos-primary-contrast,#fff)!important;white-space:nowrap;margin:0}
.local-mosaicexperience-dashboard-grid-top{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.local-mosaicexperience-dashboard-priority{border-color:var(--maos-border,#d5e0eb);box-shadow:var(--maos-shadow-raised,0 10px 30px rgba(13,59,102,.08))}
.local-mosaicexperience-dashboard-workspace{margin-top:1rem;background:var(--maos-surface,#fff);border:1px solid var(--maos-border,#d5e0eb);border-radius:16px;padding:1rem;box-shadow:var(--maos-shadow,0 8px 24px rgba(13,59,102,.04))}
.local-mosaicexperience-dashboard-workspaceheading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.7rem}
.local-mosaicexperience-dashboard-workspaceheading h2{font-size:1.35rem;margin:0;color:var(--maos-heading,#061b49)}
.local-mosaicexperience-dashboard-workspacesummary{font-size:.88rem;color:var(--maos-text-muted,#64748b);text-align:right}
.local-mosaicexperience-dashboard-controls{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;padding:.7rem;border-radius:12px;background:var(--maos-surface-muted,#f6f9fc);border:1px solid var(--maos-border,#d5e0eb);margin-bottom:.75rem}
.local-mosaicexperience-dashboard-search{min-width:210px;flex:1 1 240px;border:1px solid var(--maos-border,#d5e0eb);border-radius:9px;padding:.55rem .7rem;background:var(--maos-surface,#fff)}
.local-mosaicexperience-dashboard-filtergroup{display:flex;gap:.35rem;flex-wrap:wrap}
.local-mosaicexperience-dashboard-filter{border:1px solid var(--maos-border,#d5e0eb);background:var(--maos-surface,#fff);color:var(--maos-primary,#0d3b66);border-radius:999px;padding:.42rem .72rem;font-weight:700;font-size:.85rem;cursor:pointer}
.local-mosaicexperience-dashboard-filter:hover,.local-mosaicexperience-dashboard-filter.is-active{background:var(--maos-primary,#0d3b66);color:var(--maos-primary-contrast,#fff);border-color:var(--maos-primary,#0d3b66)}
.local-mosaicexperience-dashboard-sort{width:auto;min-width:155px;border-radius:9px;border:1px solid var(--maos-border,#d5e0eb);background:var(--maos-surface,#fff);padding:.48rem .65rem}
.local-mosaicexperience-dashboard-scroll{overflow:auto;scrollbar-width:thin;scrollbar-color:var(--maos-border,#9cb4c9) var(--maos-surface-muted,#edf3f8)}
.local-mosaicexperience-dashboard-scroll-small{max-height:220px}
.local-mosaicexperience-dashboard-scroll-learning{max-height:540px;padding-right:.25rem}
.local-mosaicexperience-dashboard-scroll-teaching{max-height:430px;padding-right:.25rem}
.local-mosaicexperience-dashboard-learningitem,.local-mosaicexperience-dashboard-teachingitem{display:flex;align-items:center;gap:1rem;padding:.9rem .25rem;border-bottom:1px solid var(--maos-border,#d5e0eb)}
.local-mosaicexperience-dashboard-learningitem:last-child,.local-mosaicexperience-dashboard-teachingitem:last-child{border-bottom:0}
.local-mosaicexperience-dashboard-learningmain{min-width:0;flex:1}
.local-mosaicexperience-dashboard-learningmain h3{font-size:1rem;margin:0 0 .35rem;color:var(--maos-heading,#061b49)}
.local-mosaicexperience-dashboard-learningmain p{margin:.35rem 0;color:var(--maos-text-muted,#526274);font-size:.9rem;line-height:1.45}
.local-mosaicexperience-dashboard-itemmeta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.local-mosaicexperience-dashboard-role,.local-mosaicexperience-dashboard-status,.local-mosaicexperience-dashboard-progresslabel{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .48rem;font-size:.73rem;font-weight:800}
.local-mosaicexperience-dashboard-role{background:color-mix(in srgb,var(--maos-info,#236f9e) 10%,var(--maos-surface,#fff));color:var(--maos-primary,#0d3b66)}
.local-mosaicexperience-dashboard-status{background:var(--maos-surface-muted,#edf2f7);color:var(--maos-text-muted,#475569)}
.local-mosaicexperience-dashboard-status-completed{background:color-mix(in srgb,var(--maos-success,#176b45) 14%,var(--maos-surface,#fff));color:var(--maos-success,#176b45)}
.local-mosaicexperience-dashboard-status-incomplete{background:color-mix(in srgb,var(--maos-warning,#b7791f) 14%,var(--maos-surface,#fff));color:var(--maos-warning,#7a4b00)}
.local-mosaicexperience-dashboard-status-upcoming{background:color-mix(in srgb,var(--maos-info,#145b95) 14%,var(--maos-surface,#fff));color:var(--maos-info,#145b95)}
.local-mosaicexperience-dashboard-status-inprogress{background:color-mix(in srgb,var(--maos-accent,#116673) 14%,var(--maos-surface,#fff));color:var(--maos-accent,#116673)}
.local-mosaicexperience-dashboard-progresslabel{background:color-mix(in srgb,var(--maos-info,#5b3aa8) 14%,var(--maos-surface,#fff));color:var(--maos-info,#5b3aa8)}
.local-mosaicexperience-dashboard-progress{height:6px;border-radius:999px;background:var(--maos-surface-muted,#e8eef5);overflow:hidden;margin-top:.55rem;max-width:360px}
.local-mosaicexperience-dashboard-progressfill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--maos-primary,#0d3b66),var(--maos-accent,#309ea9))}
.local-mosaicexperience-dashboard-itemaction{flex:0 0 auto;margin:0!important;white-space:nowrap}
.local-mosaicexperience-dashboard-teachingmeta{font-size:.82rem;color:var(--maos-text-muted,#64748b)}
.local-mosaicexperience-dashboard-noresults{padding:1rem;text-align:center;color:var(--maos-text-muted,#64748b);background:var(--maos-surface-muted,#f8fafc);border-radius:10px}
.local-mosaicexperience-dashboard-utilities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-top:1rem}
.local-mosaicexperience-dashboard-utility{padding:1rem;min-height:165px}
.local-mosaicexperience-dashboard-utility h3{font-size:1rem}
.local-mosaicexperience-dashboard-utility p{font-size:.88rem}
.local-mosaicexperience-dashboard-quicklinks{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.local-mosaicexperience-dashboard-quicklink{padding:.72rem .8rem;font-size:.9rem}
.local-mosaicexperience-dashboard-fallback{font-size:.86rem;padding:.75rem .9rem;margin-top:1rem}
@media(max-width:991px){
    .local-mosaicexperience-dashboard{padding:1rem .75rem 2rem}
    .local-mosaicexperience-dashboard-grid-top{grid-template-columns:1fr}
    .local-mosaicexperience-dashboard-utilities{grid-template-columns:repeat(2,minmax(0,1fr))}
    .local-mosaicexperience-dashboard-workspaceheading{display:block}
    .local-mosaicexperience-dashboard-workspacesummary{display:block;text-align:left;margin-top:.2rem}
}
@media(max-width:575px){
    .local-mosaicexperience-dashboard-welcome{align-items:flex-start;padding:1rem}
    .local-mosaicexperience-dashboard-welcome h1{font-size:1.35rem}
    .local-mosaicexperience-dashboard-welcome .local-mosaicexperience-btn-secondary{display:none}
    .local-mosaicexperience-dashboard-controls{align-items:stretch}
    .local-mosaicexperience-dashboard-search,.local-mosaicexperience-dashboard-sort{width:100%;min-width:0}
    .local-mosaicexperience-dashboard-filtergroup{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.2rem}
    .local-mosaicexperience-dashboard-filter{white-space:nowrap}
    .local-mosaicexperience-dashboard-learningitem,.local-mosaicexperience-dashboard-teachingitem{align-items:flex-start;flex-direction:column}
    .local-mosaicexperience-dashboard-itemaction{width:100%;text-align:center}
    .local-mosaicexperience-dashboard-scroll-learning{max-height:500px}
    .local-mosaicexperience-dashboard-scroll-teaching{max-height:420px}
    .local-mosaicexperience-dashboard-utilities{grid-template-columns:1fr}
    .local-mosaicexperience-dashboard-utility{min-height:0}
}

/* Mosaic Experience Manager v0.7.0 dashboard UX */
.local-mosaicexperience-dashboard-page #page-header,
.local-mosaicexperience-dashboard-page [data-region="page-header"],
.local-mosaicexperience-dashboard-page .page-context-header,
.local-mosaicexperience-dashboard-page .page-title,
.local-mosaicexperience-dashboard-page .page-title-area,
.local-mosaicexperience-dashboard-page .page-header-area,
.local-mosaicexperience-dashboard-page .breadcrumb-area,
.local-mosaicexperience-dashboard-page .inner-banner,
.local-mosaicexperience-dashboard-page .inner-page-banner,
.local-mosaicexperience-dashboard-page .page-banner,
.local-mosaicexperience-dashboard-page .page-banner-area,
.local-mosaicexperience-dashboard-page .page-header-headings {
    display: none !important;
}
.local-mosaicexperience-dashboard-page #page.drawers,
.local-mosaicexperience-dashboard-page #page {
    margin-top: 60px;
}
.local-mosaicexperience-dashboard {
    max-width: 1360px;
    padding: 1rem 1rem 2.5rem;
}
.local-mosaicexperience-dashboard-eyebrow {
    display: block;
    margin-bottom: .15rem;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
    color:color-mix(in srgb,var(--maos-primary-contrast,#fff) 78%,var(--maos-accent,#2294a3));
}
.local-mosaicexperience-dashboard-welcomeactions {
    display: flex;
    align-items: center;
    gap: .55rem;
}
.local-mosaicexperience-dashboard-utilitytoggle {
    display: none;
    border:1px solid color-mix(in srgb,var(--maos-primary-contrast,#fff) 55%,transparent);
    border-radius: 9px;
    padding: .62rem .8rem;
    background:color-mix(in srgb,var(--maos-primary-contrast,#fff) 12%,transparent);
    color:var(--maos-primary-contrast,#fff);
    font-weight: 800;
    cursor: pointer;
}
.local-mosaicexperience-dashboard-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 1rem;
    align-items: start;
}
.local-mosaicexperience-dashboard-main {
    min-width: 0;
}
.local-mosaicexperience-dashboard-sectiontitle-first {
    margin-top: .25rem;
}
.local-mosaicexperience-dashboard-workspaceheading > div:first-child {
    min-width: 0;
}
.local-mosaicexperience-dashboard-textlink {
    flex: 0 0 auto;
    color:var(--maos-primary,#0d3b66) !important;
    font-weight: 800;
    text-decoration: none !important;
    white-space: nowrap;
}
.local-mosaicexperience-dashboard-textlink:hover {
    text-decoration: underline !important;
}
.local-mosaicexperience-dashboard-managementgrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}
.local-mosaicexperience-dashboard-managementtile {
    display: flex;
    flex-direction: column;
    min-height: 92px;
    padding: .9rem;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius: 12px;
    background:linear-gradient(145deg,var(--maos-surface,#fff),var(--maos-surface-muted,#f4f9fd));
    color:var(--maos-primary,#0d3b66) !important;
    text-decoration: none !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.local-mosaicexperience-dashboard-managementtile strong {
    font-size: .96rem;
    margin-bottom: .3rem;
}
.local-mosaicexperience-dashboard-managementtile span {
    color:var(--maos-text-muted,#5c6d80);
    font-size: .82rem;
    line-height: 1.35;
}
.local-mosaicexperience-dashboard-managementtile:hover {
    transform: translateY(-2px);
    border-color:var(--maos-accent,#2294a3);
    box-shadow:var(--maos-shadow,0 8px 20px rgba(13,59,102,.08));
}
.local-mosaicexperience-dashboard-rail {
    position: sticky;
    top: 78px;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    max-height: calc(100vh - 96px);
    overflow: auto;
    scrollbar-width: thin;
    padding-right: .15rem;
}
.local-mosaicexperience-dashboard-railheader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 .1rem;
}
.local-mosaicexperience-dashboard-railheader h2 {
    margin: 0;
    font-size: 1.1rem;
    color:var(--maos-heading,#061b49);
}
.local-mosaicexperience-dashboard-railclose {
    display: none;
    border: 0;
    background: transparent;
    font-size: 1.8rem;
    line-height: 1;
    color:var(--maos-primary,#0d3b66);
    cursor: pointer;
}
.local-mosaicexperience-dashboard-railcard {
    padding: .9rem;
}
.local-mosaicexperience-dashboard-railcard h3 {
    margin-bottom: .45rem;
}
.local-mosaicexperience-dashboard-scroll-rail {
    max-height: 190px;
    margin-bottom: .55rem;
}
.local-mosaicexperience-dashboard-railoverlay {
    display: none;
}
.local-mosaicexperience-dashboard-fallback {
    max-width: calc(100% - 336px);
}

@media (max-width: 1100px) {
    .local-mosaicexperience-dashboard-shell {
        grid-template-columns: minmax(0, 1fr) 280px;
    }
    .local-mosaicexperience-dashboard-managementgrid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .local-mosaicexperience-dashboard {
        padding: .8rem .75rem 2rem;
    }
    .local-mosaicexperience-dashboard-shell {
        display: block;
    }
    .local-mosaicexperience-dashboard-utilitytoggle {
        display: inline-flex;
    }
    .local-mosaicexperience-dashboard-rail {
        position: fixed;
        z-index: 1055;
        top: 0;
        right: 0;
        width: min(88vw, 360px);
        height: 100vh;
        max-height: none;
        padding: 1rem;
        background:var(--maos-surface-muted,#eef3f8);
        box-shadow:var(--maos-shadow-raised,0 18px 45px rgba(6,27,73,.22));
        transform: translateX(105%);
        transition: transform .22s ease;
        overflow-y: auto;
    }
    .local-mosaicexperience-dashboard-rail.is-open {
        transform: translateX(0);
    }
    .local-mosaicexperience-dashboard-railclose {
        display: block;
    }
    .local-mosaicexperience-dashboard-railoverlay {
        position: fixed;
        z-index: 1050;
        inset: 0;
        background:color-mix(in srgb,var(--maos-primary-strong,#061b49) 44%,transparent);
    }
    body.local-mosaicexperience-rail-open .local-mosaicexperience-dashboard-railoverlay {
        display: block;
    }
    body.local-mosaicexperience-rail-open {
        overflow: hidden;
    }
    .local-mosaicexperience-dashboard-fallback {
        max-width: none;
    }
}

@media (max-width: 575px) {
    .local-mosaicexperience-dashboard-welcomeactions .local-mosaicexperience-btn-secondary,
    .local-mosaicexperience-dashboard-welcomeactions .local-mosaicplatform-ui-btn-secondary {
        display: none;
    }
    .local-mosaicexperience-dashboard-welcomeactions {
        margin-left: auto;
    }
    .local-mosaicexperience-dashboard-managementgrid {
        grid-template-columns: 1fr;
    }
    .local-mosaicexperience-dashboard-workspaceheading {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: .7rem;
    }
    .local-mosaicexperience-dashboard-textlink {
        font-size: .82rem;
    }
}

/* Mosaic Experience Manager v0.8.0 dashboard application UX */
.local-mosaicexperience-dashboard-page .pages-banner-area,
.local-mosaicexperience-dashboard-page #page-header,
.local-mosaicexperience-dashboard-page [data-region="page-header"],
.local-mosaicexperience-dashboard-page .page-header-area,
.local-mosaicexperience-dashboard-page .page-title-area,
.local-mosaicexperience-dashboard-page .breadcrumb-area,
.local-mosaicexperience-dashboard-page .inner-banner,
.local-mosaicexperience-dashboard-page .inner-page-banner,
.local-mosaicexperience-dashboard-page .page-banner,
.local-mosaicexperience-dashboard-page .page-banner-area {
    display: none !important;
}

/* The public footer remains rendered for Moodle lifecycle compatibility but is not part of the authenticated app. */
.local-mosaicexperience-dashboard-page #page-footer,
.local-mosaicexperience-dashboard-page .footer-area,
.local-mosaicexperience-dashboard-page .copy-right-area {
    display: none !important;
}

.local-mosaicexperience-dashboard-page #page,
.local-mosaicexperience-dashboard-page #page.drawers {
    margin-top: 60px !important;
    background:var(--maos-bg,#f5f8fb);
}

.local-mosaicexperience-dashboard {
    max-width: 1280px;
    padding: 1rem 1rem 1.25rem;
}

.local-mosaicexperience-dashboard-welcome {
    min-height: 0;
    margin-bottom: .85rem;
    padding: .9rem 1rem;
    border-radius: 14px;
}
.local-mosaicexperience-dashboard-welcome h1 {
    margin: 0 0 .15rem;
    font-size: clamp(1.35rem, 2vw, 1.8rem);
}
.local-mosaicexperience-dashboard-welcome p {
    margin: 0;
    font-size: .9rem;
}
.local-mosaicexperience-dashboard-eyebrow {
    display: none;
}

.local-mosaicexperience-dashboard-shell {
    grid-template-columns: minmax(0, 1fr);
}
.local-mosaicexperience-dashboard-main {
    display: grid;
    gap: .85rem;
}
.local-mosaicexperience-dashboard-sectiontitle {
    margin: .2rem 0 -.25rem;
    font-size: 1.12rem;
}
.local-mosaicexperience-dashboard-grid-top {
    gap: .75rem;
}
.local-mosaicexperience-dashboard-panel,
.local-mosaicexperience-dashboard-workspace,
.local-mosaicexperience-card {
    border-radius: 13px;
    box-shadow:var(--maos-shadow,0 5px 18px rgba(13,59,102,.055));
}
.local-mosaicexperience-dashboard-panel {
    padding: .9rem;
}
.local-mosaicexperience-dashboard-panel h3,
.local-mosaicexperience-card h3 {
    margin-bottom: .35rem;
}
.local-mosaicexperience-dashboard-panel p,
.local-mosaicexperience-card p {
    margin-bottom: .55rem;
}
.local-mosaicexperience-dashboard-priority {
    border-left:4px solid var(--maos-accent,#2a6f97);
}
.local-mosaicexperience-dashboard-workspace {
    margin-top: 0;
    padding: .85rem;
}
.local-mosaicexperience-dashboard-workspaceheading {
    margin-bottom: .55rem;
}
.local-mosaicexperience-dashboard-workspaceheading h2 {
    font-size: 1.08rem;
}
.local-mosaicexperience-dashboard-controls {
    margin-bottom: .45rem;
    padding: .55rem;
    border-radius: 10px;
}
.local-mosaicexperience-dashboard-learningitem,
.local-mosaicexperience-dashboard-teachingitem {
    padding: .62rem .2rem;
}
.local-mosaicexperience-dashboard-learningitem h3,
.local-mosaicexperience-dashboard-teachingitem h3 {
    font-size: .91rem;
}
.local-mosaicexperience-dashboard-learningitem p {
    font-size: .82rem;
    line-height: 1.35;
    margin-top: .25rem;
    margin-bottom: .25rem;
}
.local-mosaicexperience-dashboard-noresults,
.local-mosaicexperience-dashboard-empty {
    padding: .7rem;
}
.local-mosaicexperience-dashboard-managementgrid {
    grid-template-columns: repeat(3, minmax(0,1fr));
}
.local-mosaicexperience-dashboard-managementtile {
    min-height: 78px;
    padding: .75rem;
}

/* Utility drawer is deliberately expandable on all screen sizes. */
.local-mosaicexperience-dashboard-rail {
    position: fixed;
    z-index: 1055;
    top: 0;
    right: 0;
    width: min(92vw, 390px);
    height: 100vh;
    max-height: none;
    padding: 1rem;
    background:var(--maos-surface-muted,#eef3f8);
    box-shadow:var(--maos-shadow-raised,0 18px 45px rgba(6,27,73,.22));
    transform: translateX(105%);
    transition: transform .22s ease;
    overflow-y: auto;
}
.local-mosaicexperience-dashboard-rail.is-open {
    transform: translateX(0);
}
.local-mosaicexperience-dashboard-railclose {
    display: block;
}
.local-mosaicexperience-dashboard-utilitytoggle {
    display: inline-flex;
}
.local-mosaicexperience-dashboard-railfab {
    position: fixed;
    z-index: 1040;
    right: 0;
    top: 42%;
    border: 0;
    border-radius: 12px 0 0 12px;
    padding: .72rem .62rem;
    background:var(--maos-gradient-primary,linear-gradient(180deg,#0d3b66,#2a6f97));
    color:var(--maos-primary-contrast,#fff);
    font-weight: 800;
    letter-spacing: .02em;
    box-shadow:var(--maos-shadow,0 8px 22px rgba(13,59,102,.22));
    cursor: pointer;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}
.local-mosaicexperience-dashboard-railfab:hover,
.local-mosaicexperience-dashboard-railfab:focus {
    background:var(--maos-gradient-primary,linear-gradient(180deg,#164f7b,#309ea9));
}
.local-mosaicexperience-dashboard-railoverlay {
    position: fixed;
    z-index: 1050;
    inset: 0;
    background:color-mix(in srgb,var(--maos-primary-strong,#061b49) 44%,transparent);
}
body.local-mosaicexperience-rail-open .local-mosaicexperience-dashboard-railoverlay {
    display: block;
}
body.local-mosaicexperience-rail-open {
    overflow: hidden;
}
.local-mosaicexperience-dashboard-fallback {
    max-width: none;
    margin-top: .75rem;
}

.local-mosaicexperience-dashboard-appfooter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: .8rem;
    padding: .85rem .15rem .25rem;
    border-top:1px solid var(--maos-border,#d5e0eb);
    color:var(--maos-text-muted,#66788a);
    font-size: .8rem;
}
.local-mosaicexperience-dashboard-appfooterlinks {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
}
.local-mosaicexperience-dashboard-appfooter a {
    color:var(--maos-primary,#0d3b66);
    font-weight: 700;
}

@media (max-width: 900px) {
    .local-mosaicexperience-dashboard-page #page,
    .local-mosaicexperience-dashboard-page #page.drawers {
        margin-top: 48px !important;
    }
    .local-mosaicexperience-dashboard {
        padding: .7rem .65rem 1rem;
    }
    .local-mosaicexperience-dashboard-managementgrid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}
@media (max-width: 575px) {
    .local-mosaicexperience-dashboard-welcome {
        padding: .8rem .85rem;
    }
    .local-mosaicexperience-dashboard-welcome h1 {
        font-size: 1.28rem;
    }
    .local-mosaicexperience-dashboard-grid-top {
        gap: .65rem;
    }
    .local-mosaicexperience-dashboard-panel,
    .local-mosaicexperience-dashboard-workspace {
        padding: .75rem;
    }
    .local-mosaicexperience-dashboard-managementgrid {
        grid-template-columns: 1fr;
    }
    .local-mosaicexperience-dashboard-railfab {
        top: auto;
        bottom: 5.25rem;
        padding: .62rem .5rem;
    }
    .local-mosaicexperience-dashboard-appfooter {
        align-items: flex-start;
        flex-direction: column;
        gap: .45rem;
    }
}

/* Mosaic Experience Manager v0.9.0 dashboard command centre */
.local-mosaicexperience-dashboard {
    max-width: 1320px;
    padding-top: .75rem;
}
.local-mosaicexperience-dashboard-command {
    position: relative;
    overflow: hidden;
    margin-bottom: 1rem;
    border-radius: 18px;
    background:
        radial-gradient(circle at 88% 12%,color-mix(in srgb,var(--maos-accent,#2a6f97) 24%,transparent),transparent 28%),
        var(--maos-gradient-primary,linear-gradient(135deg,#071b4a 0%,#0d3b66 58%,#2a6f97 100%));
    box-shadow:var(--maos-shadow-raised,0 14px 34px rgba(6,27,73,.16));
    color:var(--maos-primary-contrast,#fff);
}
.local-mosaicexperience-dashboard-commandtop {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.25rem .9rem;
}
.local-mosaicexperience-dashboard-commandcopy h1 {
    margin: 0 0 .35rem;
    color:var(--maos-primary-contrast,#fff);
    font-size: clamp(1.45rem,2vw,2rem);
}
.local-mosaicexperience-dashboard-commandactions {
    display: flex;
    gap: .55rem;
    align-items: center;
}
.local-mosaicexperience-dashboard-rolechips {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}
.local-mosaicexperience-dashboard-rolechip {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: .18rem .5rem;
    border:1px solid color-mix(in srgb,var(--maos-primary-contrast,#fff) 28%,transparent);
    border-radius: 999px;
    background:color-mix(in srgb,var(--maos-primary-contrast,#fff) 10%,transparent);
    color:color-mix(in srgb,var(--maos-primary-contrast,#fff) 84%,var(--maos-accent,#2294a3));
    font-size: .74rem;
    font-weight: 700;
}
.local-mosaicexperience-dashboard-glance {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    border-top:1px solid color-mix(in srgb,var(--maos-primary-contrast,#fff) 14%,transparent);
    border-bottom:1px solid color-mix(in srgb,var(--maos-primary-contrast,#fff) 14%,transparent);
    background:color-mix(in srgb,var(--maos-primary-contrast,#fff) 6%,transparent);
}
.local-mosaicexperience-dashboard-glanceitem {
    display: flex;
    flex-direction: column;
    gap: .08rem;
    padding: .7rem 1rem;
    border-right:1px solid color-mix(in srgb,var(--maos-primary-contrast,#fff) 12%,transparent);
}
.local-mosaicexperience-dashboard-glanceitem:last-child {border-right:0}
.local-mosaicexperience-dashboard-glanceitem strong {
    color:var(--maos-primary-contrast,#fff);
    font-size:1.18rem;
}
.local-mosaicexperience-dashboard-glanceitem span {
    color:color-mix(in srgb,var(--maos-primary-contrast,#fff) 80%,var(--maos-accent,#2294a3));
    font-size:.74rem;
}
.local-mosaicexperience-dashboard-focusstrip {
    display:grid;
    grid-template-columns:1.35fr 1fr 1fr;
    gap:1px;
    background:color-mix(in srgb,var(--maos-primary-contrast,#fff) 12%,transparent);
}
.local-mosaicexperience-dashboard-focustile {
    display:grid;
    grid-template-columns:1fr auto;
    align-items:end;
    gap:.2rem .65rem;
    min-height:92px;
    padding:.85rem 1rem;
    background:color-mix(in srgb,var(--maos-primary-strong,#061b49) 72%,transparent);
}
.local-mosaicexperience-dashboard-focustile-primary {
    background:color-mix(in srgb,var(--maos-primary,#0d3b66) 88%,transparent);
}
.local-mosaicexperience-dashboard-focuslabel {
    grid-column:1 / -1;
    color:color-mix(in srgb,var(--maos-primary-contrast,#fff) 70%,var(--maos-accent,#2294a3));
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.local-mosaicexperience-dashboard-focustile strong {
    color:var(--maos-primary-contrast,#fff);
    line-height:1.25;
}
.local-mosaicexperience-dashboard-focusaction {
    align-self:center;
    color:var(--maos-primary-contrast,#fff) !important;
    font-size:.8rem;
    font-weight:800;
    text-decoration:none !important;
    white-space:nowrap;
}
.local-mosaicexperience-dashboard-focusaction:hover {text-decoration:underline !important}
.local-mosaicexperience-dashboard-workspacehub {
    margin-top:1rem;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:16px;
    background:var(--maos-surface,#fff);
    box-shadow:var(--maos-shadow,0 10px 28px rgba(13,59,102,.07));
    overflow:hidden;
}
.local-mosaicexperience-dashboard-tabs {
    display:flex;
    gap:.15rem;
    padding:.55rem .65rem 0;
    border-bottom:1px solid var(--maos-border,#d5e0eb);
    background:var(--maos-surface-muted,#eef3f8);
    overflow-x:auto;
}
.local-mosaicexperience-dashboard-tab {
    position:relative;
    border:0;
    border-radius:10px 10px 0 0;
    padding:.72rem 1rem;
    background:transparent;
    color:var(--maos-text-muted,#4d6377);
    font-weight:800;
    cursor:pointer;
    white-space:nowrap;
}
.local-mosaicexperience-dashboard-tab::after {
    content:"";
    position:absolute;
    left:.8rem;
    right:.8rem;
    bottom:-1px;
    height:3px;
    border-radius:3px 3px 0 0;
    background:transparent;
}
.local-mosaicexperience-dashboard-tab.is-active {
    color:var(--maos-primary,#0d3b66);
    background:var(--maos-surface,#fff);
}
.local-mosaicexperience-dashboard-tab.is-active::after {background:var(--maos-accent,#2a6f97)}
.local-mosaicexperience-dashboard-tabpanel {
    padding:1rem;
}
.local-mosaicexperience-dashboard-tabpanel[hidden] {display:none !important}
.local-mosaicexperience-dashboard-controls {
    display:grid;
    grid-template-columns:minmax(220px,1fr) auto minmax(150px,auto);
    gap:.55rem;
    align-items:center;
    margin:.75rem 0;
    padding:.55rem;
    border:1px solid var(--maos-border,#d5e0eb);
    background:var(--maos-surface-muted,#eef3f8);
}
.local-mosaicexperience-dashboard-filtergroup {
    display:flex;
    flex-wrap:nowrap;
    overflow-x:auto;
}
.local-mosaicexperience-dashboard-scroll-learning,
.local-mosaicexperience-dashboard-scroll-teaching {
    max-height:430px;
}
.local-mosaicexperience-dashboard-learningitem,
.local-mosaicexperience-dashboard-teachingitem {
    border-bottom:1px solid var(--maos-border,#d5e0eb);
}
.local-mosaicexperience-dashboard-learningitem:last-child,
.local-mosaicexperience-dashboard-teachingitem:last-child {border-bottom:0}
.local-mosaicexperience-dashboard-managementgrid {
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
}
.local-mosaicexperience-dashboard-managementtile {
    min-height:104px;
    border:0;
    border-left:4px solid var(--maos-accent,#2294a3);
    border-radius:0 12px 12px 0;
    background:linear-gradient(90deg,var(--maos-surface-muted,#eef3f8),var(--maos-surface,#fff));
    box-shadow:none;
}
.local-mosaicexperience-dashboard-managementtile:hover {
    transform:translateX(3px);
}
.local-mosaicexperience-dashboard-railfab {
    right:0;
    border-radius:14px 0 0 14px;
    padding:.78rem .52rem;
    writing-mode:vertical-rl;
    transform:rotate(180deg);
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    border-left:1px solid color-mix(in srgb,var(--maos-primary-contrast,#fff) 18%,transparent);
}
.local-mosaicexperience-dashboard-railchevron {
    display:inline-block;
    font-size:1rem;
    line-height:1;
}
.local-mosaicexperience-dashboard-railhint {
    display:block;
    color:var(--maos-text-muted,#6c7c8c);
    font-size:.76rem;
    margin-top:.12rem;
}
.local-mosaicexperience-dashboard-railcard {
    margin-bottom:.65rem;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:13px;
    background:var(--maos-surface,#fff);
    box-shadow:var(--maos-shadow,0 6px 16px rgba(13,59,102,.06));
}
.local-mosaicexperience-dashboard-railcard.is-pinned {
    border-color:var(--maos-accent,#2294a3);
    box-shadow:var(--maos-focus-ring,0 0 0 3px rgba(42,111,151,.24)),var(--maos-shadow,0 7px 18px rgba(13,59,102,.08));
}
.local-mosaicexperience-dashboard-widgetheading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.6rem;
    padding:.75rem .8rem .25rem;
}
.local-mosaicexperience-dashboard-widgetheading h3 {margin:0}
.local-mosaicexperience-dashboard-pin {
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:999px;
    padding:.22rem .48rem;
    background:var(--maos-surface,#fff);
    color:var(--maos-primary,#0d3b66);
    font-size:.7rem;
    font-weight:800;
    cursor:pointer;
}
.local-mosaicexperience-dashboard-pin.is-pinned {
    background:var(--maos-primary,#0d3b66);
    color:var(--maos-primary-contrast,#fff);
}
.local-mosaicexperience-dashboard-widgetbody {padding:.35rem .8rem .8rem}
.local-mosaicexperience-dashboard-footer {
    margin:1rem -1rem -2.5rem;
    background:
        var(--maos-gradient-primary,linear-gradient(rgba(6,27,73,.94),rgba(6,27,73,.96))),
        linear-gradient(135deg,transparent 65%,color-mix(in srgb,var(--maos-accent,#309ea9) 16%,transparent));
    color:color-mix(in srgb,var(--maos-primary-contrast,#fff) 78%,var(--maos-accent,#2294a3));
}
.local-mosaicexperience-dashboard-footergrid {
    display:grid;
    grid-template-columns:1.25fr 1fr 1fr 1fr;
    gap:1.2rem;
    max-width:1180px;
    margin:0 auto;
    padding:1.45rem 1.25rem 1.15rem;
}
.local-mosaicexperience-dashboard-footer h2 {
    margin:0 0 .45rem;
    color:var(--maos-primary-contrast,#fff);
    font-size:.82rem;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.local-mosaicexperience-dashboard-footer p {
    margin:.15rem 0 .55rem;
    font-size:.8rem;
    line-height:1.5;
}
.local-mosaicexperience-dashboard-footerbrand strong {
    display:block;
    margin-bottom:.4rem;
    color:var(--maos-primary-contrast,#fff);
    font-size:1.05rem;
}
.local-mosaicexperience-dashboard-footer a {
    color:color-mix(in srgb,var(--maos-primary-contrast,#fff) 84%,var(--maos-accent,#2294a3));
    text-decoration:none;
}
.local-mosaicexperience-dashboard-footer a:hover {text-decoration:underline}
.local-mosaicexperience-dashboard-footerlinks {
    font-size:.8rem;
    line-height:1.75;
}
.local-mosaicexperience-dashboard-footerbottom {
    display:flex;
    justify-content:space-between;
    gap:1rem;
    max-width:1180px;
    margin:0 auto;
    padding:.65rem 1.25rem;
    border-top:1px solid color-mix(in srgb,var(--maos-primary-contrast,#fff) 18%,transparent);
    color:color-mix(in srgb,var(--maos-primary-contrast,#fff) 70%,var(--maos-accent,#2294a3));
    font-size:.75rem;
}
.local-mosaicexperience-dashboard-footerbottom a {font-weight:700}
@media(max-width:900px){
    .local-mosaicexperience-dashboard-commandtop{align-items:flex-start}
    .local-mosaicexperience-dashboard-glance{grid-template-columns:repeat(2,minmax(0,1fr))}
    .local-mosaicexperience-dashboard-glanceitem:nth-child(2){border-right:0}
    .local-mosaicexperience-dashboard-focusstrip{grid-template-columns:1fr}
    .local-mosaicexperience-dashboard-focustile{min-height:78px}
    .local-mosaicexperience-dashboard-controls{grid-template-columns:1fr}
    .local-mosaicexperience-dashboard-footergrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:575px){
    .local-mosaicexperience-dashboard-commandtop{display:block;padding:1rem}
    .local-mosaicexperience-dashboard-commandactions{margin-top:.8rem}
    .local-mosaicexperience-dashboard-commandactions .local-mosaicexperience-btn-secondary,
    .local-mosaicexperience-dashboard-commandactions .local-mosaicplatform-ui-btn-secondary{display:inline-flex}
    .local-mosaicexperience-dashboard-glanceitem{padding:.6rem .75rem}
    .local-mosaicexperience-dashboard-focustile{grid-template-columns:1fr}
    .local-mosaicexperience-dashboard-focusaction{justify-self:start}
    .local-mosaicexperience-dashboard-tabpanel{padding:.75rem}
    .local-mosaicexperience-dashboard-footer{margin:1rem -.65rem -1rem}
    .local-mosaicexperience-dashboard-footergrid{grid-template-columns:1fr 1fr;padding:1.15rem .9rem}
    .local-mosaicexperience-dashboard-footerbottom{display:block;padding:.65rem .9rem}
    .local-mosaicexperience-dashboard-footerbottom a{display:block;margin-top:.35rem}
}

/* =====================================================
Mosaic Dashboard v1.0 production pass
===================================================== */
.local-mosaicexperience-dashboard-page #page,
.local-mosaicexperience-dashboard-page #page.drawers,
.local-mosaicexperience-dashboard-page #page-content,
.local-mosaicexperience-dashboard-page .main-inner,
.local-mosaicexperience-dashboard-page .drawer-toggles,
.local-mosaicexperience-dashboard-page .page-context-header {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
.local-mosaicexperience-dashboard-page #region-main,
.local-mosaicexperience-dashboard-page #region-main-box {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
.local-mosaicexperience-dashboard {
    padding-top: .35rem;
}

/* Command centre density. */
.local-mosaicexperience-dashboard-commandtop {
    padding: .9rem 1rem .75rem;
}
.local-mosaicexperience-dashboard-commandcopy h1 {
    margin-bottom: .2rem;
}
.local-mosaicexperience-dashboard-commandactions {
    display: flex;
    gap: .5rem;
    align-items: center;
}
.local-mosaicexperience-dashboard-notificationtoggle {
    position: relative;
    border:1px solid color-mix(in srgb,var(--maos-primary-contrast,#fff) 55%,transparent);
    border-radius: 9px;
    padding: .62rem .85rem;
    background:color-mix(in srgb,var(--maos-primary-contrast,#fff) 12%,transparent);
    color:var(--maos-primary-contrast,#fff);
    font-weight: 800;
    cursor: pointer;
}
.local-mosaicexperience-dashboard-notificationtoggle:hover,
.local-mosaicexperience-dashboard-notificationtoggle:focus {
    background:color-mix(in srgb,var(--maos-primary-contrast,#fff) 20%,transparent);
}
.local-mosaicexperience-dashboard-notificationtoggle.has-items::after {
    content: "";
    position: absolute;
    top: .35rem;
    right: .35rem;
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background:var(--maos-warning,#f4b860);
    box-shadow:var(--maos-focus-ring,0 0 0 3px rgba(244,184,96,.18));
}

/* Left notifications / action-centre drawer. */
.local-mosaicexperience-dashboard-notifications {
    position: fixed;
    z-index: 1065;
    top: 0;
    left: 0;
    width: min(90vw, 390px);
    height: 100vh;
    padding: 1rem;
    background:var(--maos-surface-muted,#eef3f8);
    box-shadow:var(--maos-shadow-raised,0 18px 45px rgba(6,27,73,.22));
    transform: translateX(-105%);
    transition: transform .24s ease;
    overflow-y: auto;
}
.local-mosaicexperience-dashboard-notifications.is-open {
    transform: translateX(0);
}
.local-mosaicexperience-dashboard-notificationsheader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: .8rem;
    border-bottom:1px solid var(--maos-border,#d5e0eb);
}
.local-mosaicexperience-dashboard-notificationsheader h2 {
    margin: 0;
    font-size: 1.2rem;
    color:var(--maos-heading,#061b49);
}
.local-mosaicexperience-dashboard-notificationsclose {
    border: 0;
    background: transparent;
    color:var(--maos-primary,#0d3b66);
    font-size: 1.9rem;
    line-height: 1;
    cursor: pointer;
}
.local-mosaicexperience-dashboard-notificationsbody {
    padding-top: .75rem;
}
.local-mosaicexperience-dashboard-notificationitem {
    display: grid;
    gap: .45rem;
    padding: .85rem;
    margin-bottom: .6rem;
    border:1px solid var(--maos-border,#d5e0eb);
    border-left:4px solid var(--maos-accent,#2a6f97);
    border-radius: 0 12px 12px 0;
    background:var(--maos-surface,#fff);
}
.local-mosaicexperience-dashboard-notificationitem strong {
    color:var(--maos-heading,#0d1b3d);
}
.local-mosaicexperience-dashboard-notificationaction {
    color:var(--maos-primary,#0d3b66) !important;
    font-size: .82rem;
    font-weight: 800;
}
.local-mosaicexperience-dashboard-notificationempty {
    padding: 1rem;
    border-radius: 12px;
    background:color-mix(in srgb,var(--maos-success,#245b46) 14%,var(--maos-surface,#fff));
    color:var(--maos-success,#245b46);
}
.local-mosaicexperience-dashboard-notificationsoverlay {
    display: none;
    position: fixed;
    z-index: 1060;
    inset: 0;
    background:color-mix(in srgb,var(--maos-primary-strong,#061b49) 44%,transparent);
}
body.local-mosaicexperience-notifications-open .local-mosaicexperience-dashboard-notificationsoverlay {
    display: block;
}
body.local-mosaicexperience-notifications-open {
    overflow: hidden;
}

/* Right Tools tab: horizontal, flush to edge, rounded inward toward page. */
.local-mosaicexperience-dashboard-railfab {
    position: fixed;
    z-index: 1045;
    top: 46%;
    right: 0;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-width: 96px;
    padding: .78rem .8rem;
    border:1px solid color-mix(in srgb,var(--maos-primary-contrast,#fff) 28%,transparent);
    border-right: 0;
    border-radius: 14px 0 0 14px;
    background:var(--maos-gradient-primary,linear-gradient(180deg,#1c4e80,#0d3b66));
    color:var(--maos-primary-contrast,#fff);
    box-shadow:var(--maos-shadow,0 8px 22px rgba(13,59,102,.2));
    writing-mode: horizontal-tb;
    transform: none;
    font-weight: 800;
    cursor: pointer;
}
.local-mosaicexperience-dashboard-railfab:hover,
.local-mosaicexperience-dashboard-railfab:focus {
    padding-right: 1rem;
    background:var(--maos-gradient-primary,linear-gradient(180deg,#2a6f97,#0d3b66));
}
.local-mosaicexperience-dashboard-railfab.has-attention {
    animation: mosaic-dashboard-tools-glow 4.8s ease-in-out infinite;
}
@keyframes mosaic-dashboard-tools-glow {
    0%, 72%, 100% { box-shadow:var(--maos-shadow,0 8px 22px rgba(13,59,102,.2)); }
    82% { box-shadow:var(--maos-shadow-raised,0 8px 30px rgba(85,153,255,.5)),var(--maos-focus-ring,0 0 0 5px rgba(85,153,255,.08)); }
}

/* More natural workspace rhythm without eliminating useful cards. */
.local-mosaicexperience-dashboard-workspacehub {
    box-shadow:var(--maos-shadow,0 8px 22px rgba(13,59,102,.055));
}
.local-mosaicexperience-dashboard-tabpanel {
    padding: .85rem 1rem 1rem;
}
.local-mosaicexperience-dashboard-controls {
    margin: .55rem 0 .7rem;
    border-radius: 10px;
}
.local-mosaicexperience-dashboard-learningitem,
.local-mosaicexperience-dashboard-teachingitem {
    padding-top: .75rem;
    padding-bottom: .75rem;
}

/* Footer: keep the full useful information, reduce bulk. */
.local-mosaicexperience-dashboard-footergrid {
    padding-top: 1.15rem;
    padding-bottom: .85rem;
}
.local-mosaicexperience-dashboard-footer h2 {
    color:var(--maos-primary-contrast,#fff);
}
.local-mosaicexperience-dashboard-footerbottom {
    padding-top: .5rem;
    padding-bottom: .5rem;
}

@media (prefers-reduced-motion: reduce) {
    .local-mosaicexperience-dashboard-railfab,
    .local-mosaicexperience-dashboard-railfab.has-attention,
    .local-mosaicexperience-dashboard-notifications,
    .local-mosaicexperience-dashboard-rail {
        animation: none !important;
        transition: none !important;
    }
}

@media (max-width: 575px) {
    .local-mosaicexperience-dashboard-commandactions {
        width: 100%;
        justify-content: space-between;
    }
    .local-mosaicexperience-dashboard-notificationtoggle {
        flex: 1 1 auto;
    }
    .local-mosaicexperience-dashboard-railfab {
        top: auto;
        bottom: 1rem;
        min-width: 88px;
        padding: .68rem .72rem;
    }
}
/* =====================================================
Mosaic Dashboard v1.0.2 - course imagery and command actions
===================================================== */
.local-mosaicexperience-dashboard-courseimage {
    flex: 0 0 76px;
    width: 76px;
    height: 54px;
    border-radius: 9px;
    object-fit: cover;
    background:var(--maos-surface-muted,#eef3f8);
    border:1px solid var(--maos-border,#d5e0eb);
    box-shadow:var(--maos-shadow,0 4px 12px rgba(13,59,102,.08));
}
.local-mosaicexperience-dashboard-courseimage.is-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background:var(--maos-gradient-primary,linear-gradient(135deg,#0d3b66,#2a6f97));
    color:var(--maos-primary-contrast,#fff);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .05em;
}
.local-mosaicexperience-dashboard-commandactions {
    flex-wrap: wrap;
    justify-content: flex-end;
}
.local-mosaicexperience-dashboard-commandlink {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: .55rem .75rem;
    border:1px solid color-mix(in srgb,var(--maos-primary-contrast,#fff) 48%,transparent);
    border-radius: 9px;
    background:color-mix(in srgb,var(--maos-primary-contrast,#fff) 10%,transparent);
    color:var(--maos-primary-contrast,#fff) !important;
    font-size: .78rem;
    font-weight: 800;
    text-decoration: none !important;
    white-space: nowrap;
}
.local-mosaicexperience-dashboard-commandlink:hover,
.local-mosaicexperience-dashboard-commandlink:focus {
    background:color-mix(in srgb,var(--maos-primary-contrast,#fff) 20%,transparent);
    border-color:color-mix(in srgb,var(--maos-primary-contrast,#fff) 72%,transparent);
}
.local-mosaicexperience-dashboard-commandlink.is-primary {
    background:var(--maos-surface,#fff);
    color:var(--maos-primary,#0d3b66) !important;
    border-color:var(--maos-primary-contrast,#fff);
}
.local-mosaicexperience-dashboard-commandlink.is-primary:hover,
.local-mosaicexperience-dashboard-commandlink.is-primary:focus {
    background:var(--maos-surface-muted,#eaf6fb);
}
@media (max-width: 700px) {
    .local-mosaicexperience-dashboard-courseimage {
        flex-basis: 64px;
        width: 64px;
        height: 48px;
    }
    .local-mosaicexperience-dashboard-commandactions {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        width: 100%;
    }
    .local-mosaicexperience-dashboard-commandlink,
    .local-mosaicexperience-dashboard-notificationtoggle {
        width: 100%;
        text-align: center;
    }
}
@media (max-width: 575px) {
    .local-mosaicexperience-dashboard-learningitem {
        display: grid;
        grid-template-columns: 64px minmax(0,1fr);
        align-items: start;
    }
    .local-mosaicexperience-dashboard-learningitem .local-mosaicexperience-dashboard-itemaction {
        grid-column: 1 / -1;
    }
}



/* Mosaic Dashboard v1.0.3 usability refinement */
.local-mosaicexperience-dashboard-focusaction {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:.38rem .68rem;
    border:1px solid color-mix(in srgb,var(--maos-primary-contrast,#fff) 18%,transparent);
    border-radius:8px;
    background:color-mix(in srgb,var(--maos-primary-contrast,#fff) 12%,transparent);
    text-decoration:none !important;
}
.local-mosaicexperience-dashboard-focusaction:hover,
.local-mosaicexperience-dashboard-focusaction:focus {
    background:color-mix(in srgb,var(--maos-primary-contrast,#fff) 12%,transparent);
    text-decoration:none !important;
}
/* Vertical tab with the curved corners attached to the right edge. */
.local-mosaicexperience-dashboard-railfab {
    right:0;
    min-width:46px;
    min-height:104px;
    border-radius:14px 0 0 14px !important;
    writing-mode:vertical-rl;
    transform:rotate(180deg);
    padding:.82rem .72rem;
}
.local-mosaicexperience-dashboard-pinnednav {
    position:fixed;
    z-index:1038;
    right:.35rem;
    top:calc(42% + 118px);
    display:flex;
    flex-direction:column;
    gap:.4rem;
    max-height:42vh;
    overflow-y:auto;
}
.local-mosaicexperience-dashboard-pinnednav:empty { display:none; }
.local-mosaicexperience-dashboard-pinnedlink {
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    min-height:42px;
    padding:.35rem;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:10px 0 0 10px;
    background:var(--maos-surface,#fff);
    color:var(--maos-primary,#0d3b66);
    box-shadow:var(--maos-shadow,0 6px 18px rgba(13,59,102,.16));
    font-size:.64rem;
    font-weight:800;
    line-height:1.05;
    text-align:center;
    cursor:pointer;
}
.local-mosaicexperience-dashboard-pinnedlink:hover,
.local-mosaicexperience-dashboard-pinnedlink:focus {
    background:var(--maos-surface-muted,#eef3f8);
}
@media(max-width:575px){
    .local-mosaicexperience-dashboard-pinnednav{display:none}
}


/* =====================================================
Mosaic Dashboard v1.0.4 - dashboard finalization
===================================================== */
/* Join the command centre and workspace into one application surface. */
.local-mosaicexperience-dashboard-command {
    margin-bottom: 0;
    border-radius: 18px 18px 0 0;
}
.local-mosaicexperience-dashboard-workspacehub {
    margin-top: 0;
    border-top: 0;
    border-radius: 0 0 16px 16px;
    box-shadow:var(--maos-shadow-raised,0 16px 34px rgba(13,59,102,.09));
}
.local-mosaicexperience-dashboard-tabs {
    padding-top: .45rem;
    background:linear-gradient(180deg,var(--maos-surface-muted,#eef5fa),var(--maos-surface-raised,#f7fafc));
}

/* Drawer handle: square against the browser edge, rounded into the page.
   Rotate only the contents so the border geometry does not reverse. */
.local-mosaicexperience-dashboard-railfab {
    right: 0;
    min-width: 46px;
    min-height: 112px;
    border-right: 0;
    border-radius: 14px 0 0 14px !important;
    writing-mode: horizontal-tb;
    transform: none !important;
    padding: .72rem .62rem;
}
.local-mosaicexperience-dashboard-railfab > span {
    display: inline-flex;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}
.local-mosaicexperience-dashboard-railfab .local-mosaicexperience-dashboard-railchevron {
    margin-top: .35rem;
}

/* Production dashboard no longer displays preview/fallback messaging. */
.local-mosaicexperience-dashboard-fallback {
    display: none !important;
}

@media (max-width: 575px) {
    .local-mosaicexperience-dashboard-command {
        border-radius: 14px 14px 0 0;
    }
    .local-mosaicexperience-dashboard-workspacehub {
        border-radius: 0 0 14px 14px;
    }
    .local-mosaicexperience-dashboard-railfab {
        top: 46%;
        bottom: auto;
        min-width: 44px;
        min-height: 96px;
    }
}

/* =====================================================
Mosaic Experience Manager v1.1.0-alpha.1 - Program Hub
===================================================== */
.local-mosaicexperience-programhub {
    margin-top:-1px;
    color:var(--maos-text,#334155);
}
.local-mosaicexperience-program-preview {
    max-width:1180px;
    margin:1rem auto;
}
.local-mosaicexperience-program-hero {
    position:relative;
    min-height:360px;
    display:flex;
    align-items:center;
    background:
        linear-gradient(100deg,color-mix(in srgb,var(--maos-primary-strong,#061b49) 96%,transparent) 0%,color-mix(in srgb,var(--maos-primary,#0d3b66) 88%,transparent) 52%,color-mix(in srgb,var(--maos-accent,#2a6f97) 52%,transparent) 100%),
        var(--mosaic-program-hero-image, var(--maos-gradient-primary,linear-gradient(135deg,#0d3b66,#2a6f97)));
    background-position:center;
    background-size:cover;
    overflow:hidden;
}
.local-mosaicexperience-program-hero::after {
    content:"";
    position:absolute;
    inset:0;
    background-image:linear-gradient(135deg,transparent 60%,color-mix(in srgb,var(--maos-primary-contrast,#fff) 10%,transparent));
    pointer-events:none;
}
.local-mosaicexperience-program-herooverlay {
    width:100%;
    position:relative;
    z-index:1;
}
.local-mosaicexperience-program-herocontent,
.local-mosaicexperience-program-container {
    width:min(1180px,calc(100% - 2rem));
    margin-inline:auto;
}
.local-mosaicexperience-program-herocontent {
    max-width:720px;
    margin-left:max(1rem,calc((100% - 1180px)/2));
    color:var(--maos-primary-contrast,#fff);
    padding:4.5rem 0;
}
.local-mosaicexperience-program-eyebrow {
    display:inline-block;
    margin-bottom:.75rem;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:color-mix(in srgb,var(--maos-primary-contrast,#fff) 78%,var(--maos-accent,#2294a3));
}
.local-mosaicexperience-program-herocontent h1 {
    margin:0 0 1rem;
    color:var(--maos-primary-contrast,#fff);
    font-size:clamp(2.35rem,5vw,4.4rem);
    line-height:1.02;
    letter-spacing:-.045em;
}
.local-mosaicexperience-program-herocontent p {
    max-width:650px;
    margin-bottom:1.65rem;
    color:color-mix(in srgb,var(--maos-primary-contrast,#fff) 84%,var(--maos-accent,#2294a3));
    font-size:clamp(1rem,1.7vw,1.25rem);
    line-height:1.6;
}
.local-mosaicexperience-program-section {
    padding:4.5rem 0;
}
.local-mosaicexperience-program-overview {
    background:var(--maos-surface,#fff);
}
.local-mosaicexperience-program-courses {
    background:var(--maos-surface-muted,#f4f8fb);
    border-top:1px solid var(--maos-border,#d5e0eb);
}
.local-mosaicexperience-program-section h2 {
    margin:0 0 1rem;
    color:var(--maos-heading,#0d1b3d);
    font-size:clamp(1.8rem,3vw,2.65rem);
    letter-spacing:-.025em;
}
.local-mosaicexperience-program-copy {
    max-width:900px;
    font-size:1.08rem;
    line-height:1.8;
}
.local-mosaicexperience-program-sectionlead {
    max-width:700px;
    margin-bottom:2rem;
    color:var(--maos-text-muted,#526479);
    font-size:1.05rem;
}
.local-mosaicexperience-program-coursegrid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:1.35rem;
}
.local-mosaicexperience-program-course {
    display:flex;
    flex-direction:column;
    min-height:100%;
    overflow:hidden;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:16px;
    background:var(--maos-surface,#fff);
    box-shadow:var(--maos-shadow,0 10px 28px rgba(13,59,102,.07));
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.local-mosaicexperience-program-course:hover {
    transform:translateY(-4px);
    border-color:var(--maos-border,#d5e0eb);
    box-shadow:var(--maos-shadow-raised,0 16px 38px rgba(13,59,102,.12));
}
.local-mosaicexperience-program-courseimage {
    height:170px;
    overflow:hidden;
    background:linear-gradient(135deg,var(--maos-surface-muted,#eef3f8),var(--maos-surface-raised,#fff));
}
.local-mosaicexperience-program-courseimage img {
    width:100%;
    height:100%;
    object-fit:cover;
}
.local-mosaicexperience-program-coursebody {
    display:flex;
    flex:1;
    flex-direction:column;
    align-items:flex-start;
    padding:1.35rem;
}
.local-mosaicexperience-program-coursebody h3 {
    margin:0 0 .65rem;
    color:var(--maos-heading,#0d1b3d);
    font-size:1.28rem;
    line-height:1.25;
}
.local-mosaicexperience-program-coursebody p {
    flex:1;
    margin-bottom:1.25rem;
    color:var(--maos-text-muted,#526479);
    line-height:1.6;
}
.local-mosaicexperience-program-empty {
    padding:2rem;
    border:1px dashed var(--maos-border,#d5e0eb);
    border-radius:14px;
    background:var(--maos-surface,#fff);
    text-align:center;
}
@media(max-width:767px){
    .local-mosaicexperience-program-hero{min-height:300px}
    .local-mosaicexperience-program-herocontent{padding:3.25rem 0;margin-inline:auto}
    .local-mosaicexperience-program-section{padding:3.25rem 0}
    .local-mosaicexperience-program-coursegrid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
    .local-mosaicexperience-program-course{transition:none}
    .local-mosaicexperience-program-course:hover{transform:none}
}


/* =====================================================
Mosaic Experience Manager v1.1.0-alpha.3 - Program Hub presentation pass
===================================================== */
body.local-mosaicexperience-program-page .pages-banner-area,
body.local-mosaicexperience-program-page #page-header,
body.local-mosaicexperience-program-page .secondary-navigation,
body.local-mosaicexperience-program-page .tertiary-navigation,
body.local-mosaicexperience-program-page .categorypicker,
body.local-mosaicexperience-program-page .coursecat-management {
    display:none !important;
}
body.local-mosaicexperience-program-page #page.drawers {
    padding-top:0 !important;
}
body.local-mosaicexperience-program-page #page-content,
body.local-mosaicexperience-program-page #region-main,
body.local-mosaicexperience-program-page #region-main-box {
    padding:0 !important;
    margin:0 !important;
}
body.local-mosaicexperience-program-page #region-main {
    border:0 !important;
    background:transparent !important;
}
.local-mosaicexperience-program-hero {
    min-height:auto;
    background:var(--maos-gradient-primary,linear-gradient(118deg,#0b315a 0%,#124e78 58%,#2a8ca0 100%));
}
.local-mosaicexperience-program-herogrid {
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
    align-items:center;
    gap:3rem;
    padding-block:4.25rem;
}
.local-mosaicexperience-program-herocontent {
    max-width:none;
    margin:0;
    padding:0;
}
.local-mosaicexperience-program-herovisual {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:300px;
}
.local-mosaicexperience-program-herovisual img {
    display:block;
    max-width:100%;
    max-height:430px;
    object-fit:contain;
}
.local-mosaicexperience-program-coursegrid {
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
}
.local-mosaicexperience-program-courseimage {
    height:210px;
}
.local-mosaicexperience-program-coursebody .btn,
.local-mosaicexperience-program-coursebody .local-mosaicexperience-btn {
    margin-top:auto;
}
.local-mosaicexperience-program-trust {
    background:var(--maos-surface,#fff);
    border-top:1px solid var(--maos-border,#d5e0eb);
}
.local-mosaicexperience-program-trustgrid {
    display:grid;
    grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);
    gap:2.25rem;
    align-items:start;
}
.local-mosaicexperience-program-trustbadge {
    display:flex;
    justify-content:center;
    padding:1.25rem;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:18px;
    background:var(--maos-surface,#fff);
}
.local-mosaicexperience-program-trustbadge img {
    display:block;
    max-width:100%;
    height:auto;
    object-fit:contain;
}
.local-mosaicexperience-program-trustlead {
    font-size:1.12rem;
    line-height:1.7;
}
.local-mosaicexperience-program-trustpanel {
    margin-top:1rem;
    padding:1.25rem 1.35rem;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:14px;
    background:var(--maos-surface-muted,#eef3f8);
}
.local-mosaicexperience-program-trustpanel h3 {
    margin:0 0 .5rem;
    color:var(--maos-heading,#0d1b3d);
    font-size:1.1rem;
}
.local-mosaicexperience-program-trustitem {
    margin:0;
    font-weight:700;
    color:var(--maos-success,#0b6b55);
}
.local-mosaicexperience-program-contact {
    background:var(--maos-gradient-primary,linear-gradient(118deg,#0d3b66,#2a6f97));
    color:var(--maos-primary-contrast,#fff);
}
.local-mosaicexperience-program-contact h2,
.local-mosaicexperience-program-contact p {
    color:var(--maos-primary-contrast,#fff);
}
.local-mosaicexperience-program-contactinner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:2rem;
}
.local-mosaicexperience-program-contactinner p {
    max-width:760px;
    margin:0;
}
@media(max-width:767px){
    .local-mosaicexperience-program-herogrid,
    .local-mosaicexperience-program-trustgrid {
        grid-template-columns:1fr;
    }
    .local-mosaicexperience-program-herogrid {padding-block:3rem;gap:1.5rem}
    .local-mosaicexperience-program-herovisual {min-height:0}
    .local-mosaicexperience-program-contactinner {align-items:flex-start;flex-direction:column}
}


/* =====================================================
Mosaic Experience Manager v1.1.0-alpha.8 - Program Hub content
===================================================== */
.local-mosaicexperience-program-coursetype {
    display:inline-flex;
    margin-bottom:.55rem;
    padding:.28rem .55rem;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:999px;
    background:var(--maos-surface-muted,#eef3f8);
    color:var(--maos-text-muted,#526479);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.local-mosaicexperience-program-pathway {
    background:var(--maos-surface,#fff);
    border-top:1px solid var(--maos-border,#d5e0eb);
}
.local-mosaicexperience-program-pathwaygrid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
    gap:1rem;
    counter-reset:pathway;
}
.local-mosaicexperience-program-pathwaystep {
    position:relative;
    min-height:170px;
    padding:1.35rem;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:16px;
    background:var(--maos-surface-raised,#fff);
    box-shadow:var(--maos-shadow,0 10px 28px rgba(13,59,102,.07));
}
.local-mosaicexperience-program-pathwaynumber {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:2.25rem;
    height:2.25rem;
    margin-bottom:.85rem;
    border-radius:50%;
    background:var(--maos-primary,#0d3b66);
    color:var(--maos-primary-contrast,#fff);
    font-weight:900;
}
.local-mosaicexperience-program-pathwaystep h3 {
    margin:0 0 .5rem;
    color:var(--maos-heading,#0d1b3d);
    font-size:1.15rem;
}
.local-mosaicexperience-program-pathwaystep p {
    color:var(--maos-text-muted,#526479);
}
.local-mosaicexperience-program-faq {
    background:var(--maos-surface-muted,#f4f8fb);
    border-top:1px solid var(--maos-border,#d5e0eb);
}
.local-mosaicexperience-program-faqlist {
    display:grid;
    gap:.75rem;
    max-width:900px;
}
.local-mosaicexperience-program-faqitem {
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:12px;
    background:var(--maos-surface,#fff);
    box-shadow:var(--maos-shadow,0 6px 18px rgba(13,59,102,.06));
}
.local-mosaicexperience-program-faqitem summary {
    cursor:pointer;
    padding:1rem 1.15rem;
    color:var(--maos-heading,#0d1b3d);
    font-weight:800;
}
.local-mosaicexperience-program-faqitem summary:focus-visible {
    outline:3px solid var(--maos-focus,var(--maos-accent,#2a6f97));
    outline-offset:2px;
}
.local-mosaicexperience-program-faqanswer {
    padding:0 1.15rem 1.15rem;
    color:var(--maos-text,#334155);
    line-height:1.7;
}
@media(max-width:767px){
    .local-mosaicexperience-program-pathwaygrid{grid-template-columns:1fr}
}

/* v1.1.13 capability-aware Mosaic Management System workspace. */
.local-mosaicexperience-dashboard-managementtoolbar {
    display:flex;
    align-items:center;
    gap:.8rem;
    margin:.85rem 0 1.15rem;
    padding:.75rem;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:12px;
    background:var(--maos-surface-muted,#f4f9fd);
}
.local-mosaicexperience-dashboard-managementsearch {
    flex:1 1 320px;
    min-width:0;
    padding:.68rem .78rem;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:10px;
    background:var(--maos-surface,#fff);
    color:var(--maos-text,#1f2d3d);
}
.local-mosaicexperience-dashboard-managementsearch:focus {
    outline:2px solid color-mix(in srgb,var(--maos-accent,#2294a3) 40%,transparent);
    outline-offset:1px;
    border-color:var(--maos-accent,#2294a3);
}
.local-mosaicexperience-dashboard-managementnotice {
    flex:0 1 440px;
    color:var(--maos-text-muted,#5c6d80);
    font-size:.8rem;
    line-height:1.35;
}
.local-mosaicexperience-dashboard-managementgroups {
    display:flex;
    flex-direction:column;
    gap:1.45rem;
}
.local-mosaicexperience-dashboard-managementgroup {
    min-width:0;
}
.local-mosaicexperience-dashboard-managementgroupheading {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:.65rem;
}
.local-mosaicexperience-dashboard-managementgroupheading h3 {
    margin:0 0 .18rem;
    color:var(--maos-primary,#0d3b66);
    font-size:1.05rem;
}
.local-mosaicexperience-dashboard-managementgroupheading p {
    margin:0;
    color:var(--maos-text-muted,#5c6d80);
    font-size:.84rem;
    line-height:1.4;
}
.local-mosaicexperience-dashboard-managementcount {
    flex:0 0 auto;
    padding:.25rem .55rem;
    border-radius:999px;
    background:var(--maos-surface-muted,#eef3f8);
    color:var(--maos-primary,#0d3b66);
    font-size:.75rem;
    font-weight:800;
    white-space:nowrap;
}
.local-mosaicexperience-dashboard-managementtile {
    justify-content:space-between;
    gap:.7rem;
}
.local-mosaicexperience-dashboard-managementtilecopy {
    display:flex;
    flex-direction:column;
    min-width:0;
}
.local-mosaicexperience-dashboard-managementopen {
    margin-top:auto;
    color:var(--maos-accent,#167987) !important;
    font-size:.76rem !important;
    font-weight:800;
}
.local-mosaicexperience-dashboard-managementtile:hover .local-mosaicexperience-dashboard-managementopen,
.local-mosaicexperience-dashboard-managementtile:focus .local-mosaicexperience-dashboard-managementopen {
    text-decoration:underline;
}
@media (max-width: 760px) {
    .local-mosaicexperience-dashboard-managementtoolbar {
        align-items:stretch;
        flex-direction:column;
    }
    .local-mosaicexperience-dashboard-managementsearch {
        flex-basis:auto;
        width:100%;
    }
    .local-mosaicexperience-dashboard-managementgroupheading {
        align-items:flex-start;
    }
}

/* =====================================================
Mosaic Experience Manager v1.1.15 - My Tools workspace
===================================================== */
.local-mosaicexperience-dashboard-managementheading {
    margin-bottom:.8rem;
}
.local-mosaicexperience-dashboard-managementheading .local-mosaicexperience-dashboard-workspacesummary {
    display:block;
    max-width:760px;
    margin-top:.25rem;
    text-align:left;
    line-height:1.45;
}
.local-mosaicexperience-dashboard-managementtoolbar {
    display:flex;
    align-items:center;
    gap:.65rem;
    margin:0 0 1.2rem;
    padding:.65rem;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:14px;
    background:var(--maos-surface-muted,#f4f9fd);
}
.local-mosaicexperience-dashboard-managementsearchwrap {
    flex:1 1 auto;
    min-width:220px;
}
.local-mosaicexperience-dashboard-managementsearch {
    width:100%;
    min-height:44px;
    padding:.68rem .82rem;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:10px;
    background:var(--maos-surface,#fff);
    color:var(--maos-text,#1f2d3d);
}
.local-mosaicexperience-dashboard-managementsearch:focus {
    outline:3px solid color-mix(in srgb,var(--maos-accent,#2294a3) 28%,transparent);
    outline-offset:1px;
    border-color:var(--maos-accent,#2294a3);
}
.local-mosaicexperience-dashboard-managementview {
    display:inline-flex;
    flex:0 0 auto;
    padding:.2rem;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:10px;
    background:var(--maos-surface,#fff);
}
.local-mosaicexperience-dashboard-managementviewbutton {
    min-height:36px;
    padding:.45rem .72rem;
    border:0;
    border-radius:8px;
    background:transparent;
    color:var(--maos-text-muted,#5c6d80);
    font-size:.78rem;
    font-weight:800;
    cursor:pointer;
}
.local-mosaicexperience-dashboard-managementviewbutton:hover,
.local-mosaicexperience-dashboard-managementviewbutton:focus,
.local-mosaicexperience-dashboard-managementviewbutton.is-active {
    background:var(--maos-primary,#0d3b66);
    color:var(--maos-on-primary,#fff);
}
.local-mosaicexperience-dashboard-managementclear,
.local-mosaicexperience-dashboard-managementreset {
    flex:0 0 auto;
    min-height:40px;
    padding:.55rem .75rem;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:9px;
    background:var(--maos-surface,#fff);
    color:var(--maos-primary,#0d3b66);
    font-size:.76rem;
    font-weight:800;
    cursor:pointer;
}
.local-mosaicexperience-dashboard-managementclear:hover,
.local-mosaicexperience-dashboard-managementclear:focus,
.local-mosaicexperience-dashboard-managementreset:hover,
.local-mosaicexperience-dashboard-managementreset:focus {
    border-color:var(--maos-accent,#2294a3);
    color:var(--maos-accent,#167987);
}
.local-mosaicexperience-dashboard-managementsectionheading {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    margin:0 0 .75rem;
}
.local-mosaicexperience-dashboard-managementsectionheading h3 {
    margin:0;
    color:var(--maos-heading,#061b49);
    font-size:1rem;
    line-height:1.25;
}
.local-mosaicexperience-dashboard-managementsectionheading p {
    margin:.18rem 0 0;
    color:var(--maos-text-muted,#5c6d80);
    font-size:.78rem;
    line-height:1.4;
}
.local-mosaicexperience-dashboard-mytools,
.local-mosaicexperience-dashboard-managementresults {
    margin-bottom:1.4rem;
}
.local-mosaicexperience-dashboard-mytoolsgrid,
.local-mosaicexperience-dashboard-managementresultgrid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.8rem;
}
.local-mosaicexperience-dashboard-mytoolcard,
.local-mosaicexperience-dashboard-managementresultcard {
    position:relative;
    min-width:0;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:14px;
    background:var(--maos-surface,#fff);
    box-shadow:var(--maos-shadow,0 7px 20px rgba(13,59,102,.07));
    overflow:hidden;
}
.local-mosaicexperience-dashboard-mytoolcard[hidden],
.local-mosaicexperience-dashboard-managementresultcard[hidden],
.local-mosaicexperience-dashboard-mytools[hidden],
.local-mosaicexperience-dashboard-managers[hidden],
.local-mosaicexperience-dashboard-managementresults[hidden] {
    display:none !important;
}
.local-mosaicexperience-dashboard-mytoolcard.is-featured {
    grid-column:span 2;
    border-color:color-mix(in srgb,var(--maos-accent,#2294a3) 45%,var(--maos-border,#d5e0eb));
    background:linear-gradient(135deg,var(--maos-surface,#fff),color-mix(in srgb,var(--maos-accent,#2294a3) 8%,var(--maos-surface,#fff)));
}
.local-mosaicexperience-dashboard-mytoollink,
.local-mosaicexperience-dashboard-managementresultlink {
    display:flex;
    min-height:100%;
    flex-direction:column;
    padding:1rem 2.75rem 1rem 1rem;
    text-decoration:none;
}
.local-mosaicexperience-dashboard-mytoolcard:hover,
.local-mosaicexperience-dashboard-mytoolcard:focus-within,
.local-mosaicexperience-dashboard-managementresultcard:hover,
.local-mosaicexperience-dashboard-managementresultcard:focus-within {
    border-color:var(--maos-accent,#2294a3);
    transform:translateY(-1px);
}
.local-mosaicexperience-dashboard-toolowner {
    display:block;
    margin-bottom:.25rem;
    color:var(--maos-accent,#167987);
    font-size:.67rem;
    font-weight:850;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.local-mosaicexperience-dashboard-mytoollink h4,
.local-mosaicexperience-dashboard-managementresultlink h4 {
    margin:0;
    color:var(--maos-heading,#061b49);
    font-size:.98rem;
    line-height:1.25;
}
.local-mosaicexperience-dashboard-mytoollink p,
.local-mosaicexperience-dashboard-managementresultlink p {
    margin:.45rem 0 .7rem;
    color:var(--maos-text-muted,#5c6d80);
    font-size:.76rem;
    line-height:1.42;
}
.local-mosaicexperience-dashboard-toolopen {
    margin-top:auto;
    color:var(--maos-primary,#0d3b66);
    font-size:.74rem;
    font-weight:850;
}
.local-mosaicexperience-dashboard-managementpin {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:2.25rem;
    height:2.25rem;
    padding:0;
    border:0;
    border-radius:50%;
    background:transparent;
    color:var(--maos-text-muted,#6b7b8c);
    cursor:pointer;
}
.local-mosaicexperience-dashboard-mytoolcard > .local-mosaicexperience-dashboard-managementpin,
.local-mosaicexperience-dashboard-managementresultcard > .local-mosaicexperience-dashboard-managementpin {
    position:absolute;
    top:.6rem;
    right:.6rem;
    z-index:2;
    background:var(--maos-surface-muted,#eef3f8);
}
.local-mosaicexperience-dashboard-managementpin:hover,
.local-mosaicexperience-dashboard-managementpin:focus,
.local-mosaicexperience-dashboard-managementpin.is-pinned {
    background:color-mix(in srgb,var(--maos-accent,#2294a3) 13%,var(--maos-surface,#fff));
    color:var(--maos-accent,#167987);
}
.local-mosaicexperience-dashboard-managementpin:focus-visible {
    outline:2px solid var(--maos-accent,#2294a3);
    outline-offset:2px;
}
.local-mosaicexperience-dashboard-managementpin:disabled {
    opacity:.45;
    cursor:wait;
}
.local-mosaicexperience-dashboard-pinicon {
    font-size:1rem;
    line-height:1;
}
.local-mosaicexperience-dashboard-mytoolsempty {
    display:flex;
    flex-direction:column;
    gap:.2rem;
    padding:1rem;
    border:1px dashed var(--maos-border,#d5e0eb);
    border-radius:12px;
    background:var(--maos-surface-muted,#f4f9fd);
    color:var(--maos-text-muted,#5c6d80);
    font-size:.78rem;
}
.local-mosaicexperience-dashboard-mytoolsempty strong {
    color:var(--maos-primary,#0d3b66);
}
.local-mosaicexperience-dashboard-managementstatus {
    color:var(--maos-primary,#0d3b66);
    font-size:.76rem;
    font-weight:800;
    white-space:nowrap;
}
.local-mosaicexperience-dashboard-managergrid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.8rem;
}
.local-mosaicexperience-dashboard-managerlaunch {
    position:relative;
    min-width:0;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:14px;
    background:var(--maos-surface,#fff);
    box-shadow:var(--maos-shadow,0 7px 20px rgba(13,59,102,.06));
}
.local-mosaicexperience-dashboard-managerlaunch:hover,
.local-mosaicexperience-dashboard-managerlaunch:focus-within {
    border-color:var(--maos-accent,#2294a3);
}
.local-mosaicexperience-dashboard-managerlaunchlink {
    display:flex;
    min-height:150px;
    flex-direction:column;
    padding:1rem;
    text-decoration:none;
}
.local-mosaicexperience-dashboard-managereyebrow {
    display:block;
    margin-bottom:.22rem;
    color:var(--maos-accent,#167987);
    font-size:.66rem;
    font-weight:850;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.local-mosaicexperience-dashboard-managerlaunch h4 {
    margin:0;
    color:var(--maos-heading,#061b49);
    font-size:.96rem;
    line-height:1.25;
}
.local-mosaicexperience-dashboard-managerlaunchlink p {
    margin:.45rem 0 .65rem;
    color:var(--maos-text-muted,#5c6d80);
    font-size:.75rem;
    line-height:1.4;
}
.local-mosaicexperience-dashboard-managerlaunchopen {
    margin-top:auto;
    color:var(--maos-primary,#0d3b66);
    font-size:.72rem;
    font-weight:850;
}
.local-mosaicexperience-dashboard-managerquick {
    position:absolute;
    top:.55rem;
    right:.55rem;
    z-index:3;
}
.local-mosaicexperience-dashboard-managerquick summary {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:2.25rem;
    height:2.25rem;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:50%;
    background:var(--maos-surface,#fff);
    color:var(--maos-primary,#0d3b66);
    cursor:pointer;
    list-style:none;
}
.local-mosaicexperience-dashboard-managerquick summary span:first-child {
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}
.local-mosaicexperience-dashboard-managerquick summary::-webkit-details-marker {
    display:none;
}
.local-mosaicexperience-dashboard-managerquick[open] summary,
.local-mosaicexperience-dashboard-managerquick summary:hover,
.local-mosaicexperience-dashboard-managerquick summary:focus {
    border-color:var(--maos-accent,#2294a3);
    color:var(--maos-accent,#167987);
}
.local-mosaicexperience-dashboard-managerquickmenu {
    position:absolute;
    top:2.7rem;
    right:0;
    width:min(330px,calc(100vw - 3rem));
    max-height:360px;
    padding:.45rem;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:12px;
    background:var(--maos-surface,#fff);
    box-shadow:0 16px 38px rgba(6,27,73,.18);
    overflow:auto;
}
.local-mosaicexperience-dashboard-managerquickitem {
    display:flex;
    align-items:center;
    gap:.35rem;
    border-radius:9px;
}
.local-mosaicexperience-dashboard-managerquickitem:hover {
    background:var(--maos-surface-muted,#f4f8fb);
}
.local-mosaicexperience-dashboard-managerquicklink {
    display:flex;
    flex:1 1 auto;
    min-width:0;
    flex-direction:column;
    padding:.58rem;
    text-decoration:none;
}
.local-mosaicexperience-dashboard-managerquicklink strong {
    color:var(--maos-primary,#0d3b66);
    font-size:.76rem;
    line-height:1.25;
}
.local-mosaicexperience-dashboard-managerquicklink span {
    margin-top:.12rem;
    color:var(--maos-text-muted,#5c6d80);
    font-size:.68rem;
    line-height:1.3;
}
.local-mosaicexperience-dashboard-managerquickitem > .local-mosaicexperience-dashboard-managementpin {
    flex:0 0 auto;
    margin-right:.2rem;
}
@media (max-width:1050px) {
    .local-mosaicexperience-dashboard-mytoolsgrid,
    .local-mosaicexperience-dashboard-managementresultgrid,
    .local-mosaicexperience-dashboard-managergrid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width:700px) {
    .local-mosaicexperience-dashboard-managementtoolbar {
        align-items:stretch;
        flex-wrap:wrap;
    }
    .local-mosaicexperience-dashboard-managementsearchwrap {
        flex-basis:100%;
    }
    .local-mosaicexperience-dashboard-managementview {
        flex:1 1 auto;
    }
    .local-mosaicexperience-dashboard-managementviewbutton {
        flex:1 1 50%;
    }
    .local-mosaicexperience-dashboard-managementsectionheading {
        align-items:flex-start;
        flex-direction:column;
        gap:.45rem;
    }
    .local-mosaicexperience-dashboard-managementreset {
        align-self:flex-start;
    }
    .local-mosaicexperience-dashboard-mytoolsgrid,
    .local-mosaicexperience-dashboard-managementresultgrid,
    .local-mosaicexperience-dashboard-managergrid {
        grid-template-columns:1fr;
    }
    .local-mosaicexperience-dashboard-mytoolcard.is-featured {
        grid-column:auto;
    }
}
@media (max-width:440px) {
    .local-mosaicexperience-dashboard-managementclear {
        width:100%;
    }
}


/* =====================================================
Mosaic Experience Manager v1.1.16 - Dashboard review fixes
===================================================== */
/* The authenticated Dashboard owns its application canvas. Remove the empty
   Edma/Moodle wrapper seam without changing the shared MAOS header itself. */
body.local-mosaicexperience-dashboard-page,
body.local-mosaicexperience-dashboard-page #page-wrapper,
body.local-mosaicexperience-dashboard-page #page,
body.local-mosaicexperience-dashboard-page #page.drawers,
body.local-mosaicexperience-dashboard-page #page-content,
body.local-mosaicexperience-dashboard-page .main-inner,
body.local-mosaicexperience-dashboard-page #region-main-box,
body.local-mosaicexperience-dashboard-page #region-main {
    margin-top:0 !important;
    padding-top:0 !important;
    border-top:0 !important;
    background-color:var(--maos-bg,#f5f8fb);
}
body.local-mosaicexperience-dashboard-page .navbar-area {
    margin-bottom:0 !important;
}

/* Three role-aware tabs do not need a nested scrolling surface. */
.local-mosaicexperience-dashboard-page .local-mosaicexperience-dashboard-tabs {
    flex-wrap:wrap;
    overflow:visible;
    scrollbar-width:none;
}
.local-mosaicexperience-dashboard-page .local-mosaicexperience-dashboard-tabs::-webkit-scrollbar {
    display:none;
}

/* Let the Learning and Teaching panels grow with their content. Longer histories
   remain available through the existing View all links. */
.local-mosaicexperience-dashboard-page .local-mosaicexperience-dashboard-scroll-learning,
.local-mosaicexperience-dashboard-page .local-mosaicexperience-dashboard-scroll-teaching {
    max-height:none;
    overflow:visible;
    padding-right:0;
    scrollbar-width:auto;
}

/* The off-canvas Tools drawer must not widen the document while closed. */
body.local-mosaicexperience-dashboard-page,
body.local-mosaicexperience-dashboard-page #page-wrapper,
body.local-mosaicexperience-dashboard-page #page {
    overflow-x:clip;
}
.local-mosaicexperience-dashboard-page .local-mosaicexperience-dashboard-rail {
    box-sizing:border-box;
    max-width:100vw;
    transform:translate3d(100%,0,0);
    visibility:hidden;
    pointer-events:none;
}
.local-mosaicexperience-dashboard-page .local-mosaicexperience-dashboard-rail.is-open {
    transform:translate3d(0,0,0);
    visibility:visible;
    pointer-events:auto;
}
.local-mosaicexperience-dashboard-page .local-mosaicexperience-dashboard-pinnednav {
    overflow-x:hidden;
    scrollbar-width:thin;
}

@supports not (overflow:clip) {
    body.local-mosaicexperience-dashboard-page,
    body.local-mosaicexperience-dashboard-page #page-wrapper,
    body.local-mosaicexperience-dashboard-page #page {
        overflow-x:hidden;
    }
}


/* =====================================================
Mosaic Experience Manager v1.1.17 - menu layering and readability
===================================================== */
/* Keep the open quick-action menu above all neighbouring manager controls. */
.local-mosaicexperience-dashboard-managergrid {
    position:relative;
    isolation:isolate;
}
.local-mosaicexperience-dashboard-managerlaunch {
    z-index:1;
}
.local-mosaicexperience-dashboard-managerlaunch.is-menu-open {
    z-index:40;
}
.local-mosaicexperience-dashboard-managerlaunch.is-menu-open .local-mosaicexperience-dashboard-managerquick {
    z-index:42;
}
.local-mosaicexperience-dashboard-managerlaunch.is-menu-open .local-mosaicexperience-dashboard-managerquickmenu {
    z-index:43;
}
.local-mosaicexperience-dashboard-managerlaunch:not(.is-menu-open) .local-mosaicexperience-dashboard-managerquick {
    z-index:2;
}

/* MXM consumes future MAOS typography tokens when available. The system-stack
   fallback improves operational readability without replacing brand headings. */
.local-mosaicexperience-dashboard-managementroot {
    --mxm-interface-font:var(--maos-font-interface,var(--maos-font-body,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif));
    --mxm-interface-size:var(--maos-font-size-body,1rem);
    --mxm-interface-small:var(--maos-font-size-small,.875rem);
    --mxm-interface-line:var(--maos-line-height-body,1.5);
    --mxm-interface-compact-line:var(--maos-line-height-compact,1.4);
}
.local-mosaicexperience-dashboard-managementroot p,
.local-mosaicexperience-dashboard-managementroot input,
.local-mosaicexperience-dashboard-managementroot button,
.local-mosaicexperience-dashboard-managementroot .local-mosaicexperience-dashboard-workspacesummary,
.local-mosaicexperience-dashboard-managementroot .local-mosaicexperience-dashboard-toolowner,
.local-mosaicexperience-dashboard-managementroot .local-mosaicexperience-dashboard-toolopen,
.local-mosaicexperience-dashboard-managementroot .local-mosaicexperience-dashboard-managementstatus,
.local-mosaicexperience-dashboard-managementroot .local-mosaicexperience-dashboard-managereyebrow,
.local-mosaicexperience-dashboard-managementroot .local-mosaicexperience-dashboard-managerlaunchopen,
.local-mosaicexperience-dashboard-managementroot .local-mosaicexperience-dashboard-managerquicklink strong,
.local-mosaicexperience-dashboard-managementroot .local-mosaicexperience-dashboard-managerquicklink span,
.local-mosaicexperience-dashboard-managementroot .local-mosaicexperience-dashboard-mytoolsempty {
    font-family:var(--mxm-interface-font);
}
.local-mosaicexperience-dashboard-managementheading .local-mosaicexperience-dashboard-workspacesummary,
.local-mosaicexperience-dashboard-managementsectionheading p,
.local-mosaicexperience-dashboard-mytoollink p,
.local-mosaicexperience-dashboard-managementresultlink p,
.local-mosaicexperience-dashboard-managerlaunchlink p {
    font-size:var(--mxm-interface-small);
    line-height:var(--mxm-interface-line);
    font-weight:450;
}
.local-mosaicexperience-dashboard-managementsearch {
    min-height:46px;
    font-size:.95rem;
    line-height:1.35;
}
.local-mosaicexperience-dashboard-managementviewbutton,
.local-mosaicexperience-dashboard-managementclear,
.local-mosaicexperience-dashboard-managementreset,
.local-mosaicexperience-dashboard-managementstatus,
.local-mosaicexperience-dashboard-toolopen,
.local-mosaicexperience-dashboard-managerlaunchopen {
    font-size:var(--mxm-interface-small);
    line-height:var(--mxm-interface-compact-line);
}
.local-mosaicexperience-dashboard-toolowner,
.local-mosaicexperience-dashboard-managereyebrow {
    font-size:.8125rem;
    line-height:1.3;
    letter-spacing:.055em;
}
.local-mosaicexperience-dashboard-mytoollink h4,
.local-mosaicexperience-dashboard-managementresultlink h4,
.local-mosaicexperience-dashboard-managerlaunch h4 {
    font-size:1.05rem;
    line-height:1.35;
}
.local-mosaicexperience-dashboard-managerlaunchlink {
    min-height:166px;
}
.local-mosaicexperience-dashboard-managerquickmenu {
    width:min(380px,calc(100vw - 3rem));
    max-height:420px;
    padding:.55rem;
}
.local-mosaicexperience-dashboard-managerquickitem {
    gap:.45rem;
}
.local-mosaicexperience-dashboard-managerquicklink {
    padding:.72rem .68rem;
}
.local-mosaicexperience-dashboard-managerquicklink strong {
    font-size:.9rem;
    line-height:1.35;
}
.local-mosaicexperience-dashboard-managerquicklink span {
    margin-top:.2rem;
    font-size:.8125rem;
    line-height:1.45;
}
.local-mosaicexperience-dashboard-managerquickitem > .local-mosaicexperience-dashboard-managementpin {
    width:2.5rem;
    height:2.5rem;
}
@media (max-width:700px) {
    .local-mosaicexperience-dashboard-managerquickmenu {
        width:min(360px,calc(100vw - 2rem));
    }
}


/* =====================================================
Mosaic Experience Manager v1.1.18 - Ordered Program Hub
===================================================== */
.local-mosaicexperience-program-section.is-tinted:not(.local-mosaicexperience-program-contact) {
    background: var(--maos-surface-muted, #f4f8fb);
}
.local-mosaicexperience-program-heroactions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-top: 1.4rem;
}
.local-mosaicexperience-program-heroactions .local-mosaicexperience-btn,
.local-mosaicexperience-program-heroactions .btn {
    min-width: 170px;
}
.local-mosaicexperience-program-comparison {
    background: var(--maos-surface, #fff);
    border-top: 1px solid var(--maos-border, #d5e0eb);
}
.local-mosaicexperience-program-comparisongrid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(235px, 1fr));
    gap: 1rem;
}
.local-mosaicexperience-program-comparecard {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 1.35rem;
    border: 1px solid var(--maos-border, #d5e0eb);
    border-radius: 16px;
    background: var(--maos-surface-raised, #fff);
    box-shadow: var(--maos-shadow, 0 10px 28px rgba(13,59,102,.07));
}
.local-mosaicexperience-program-comparecard h3 {
    margin: 0 0 1rem;
    color: var(--maos-heading, #0d1b3d);
    font-size: 1.22rem;
    line-height: 1.3;
}
.local-mosaicexperience-program-comparecard dl {
    display: grid;
    grid-template-columns: minmax(92px, .8fr) minmax(0, 1.2fr);
    gap: .55rem .8rem;
    margin: 0 0 1.25rem;
}
.local-mosaicexperience-program-comparecard dt {
    color: var(--maos-text-muted, #526479);
    font-weight: 700;
}
.local-mosaicexperience-program-comparecard dd {
    margin: 0;
    color: var(--maos-text, #334155);
    font-weight: 700;
}
.local-mosaicexperience-program-comparecard .local-mosaicexperience-btn,
.local-mosaicexperience-program-comparecard .btn {
    align-self: flex-start;
    margin-top: auto;
}
.local-mosaicexperience-program-coursemeta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin: 0 0 .85rem;
}
.local-mosaicexperience-program-coursemeta span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: .3rem .58rem;
    border: 1px solid var(--maos-border, #d5e0eb);
    border-radius: 999px;
    background: var(--maos-surface-muted, #eef3f8);
    color: var(--maos-text-muted, #526479);
    font-size: .82rem;
    font-weight: 700;
}
.local-mosaicexperience-program-courseavailability {
    width: 100%;
    margin: 0 0 1rem;
    padding: .75rem .85rem;
    border-radius: 10px;
    background: var(--maos-surface-muted, #eef3f8);
    color: var(--maos-text, #334155);
    font-size: .92rem;
    font-weight: 700;
    line-height: 1.45;
}
.local-mosaicexperience-program-notice {
    border-top: 1px solid var(--maos-border, #d5e0eb);
}
.local-mosaicexperience-program-noticecard {
    max-width: 920px;
    padding: 1.5rem 1.65rem;
    border: 1px solid var(--maos-border, #d5e0eb);
    border-left: 5px solid var(--maos-accent, #2294a3);
    border-radius: 14px;
    background: var(--maos-surface-raised, #fff);
    box-shadow: var(--maos-shadow, 0 8px 24px rgba(13,59,102,.07));
}
.local-mosaicexperience-program-noticecard h2 {
    font-size: clamp(1.45rem, 2.4vw, 2rem);
}
.local-mosaicexperience-program-noticecard p {
    max-width: 760px;
}
.local-mosaicexperience-program-partners {
    border-top: 1px solid var(--maos-border, #d5e0eb);
}
.local-mosaicexperience-program-partnerlist {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: .8rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.local-mosaicexperience-program-partnerlist li {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--maos-border, #d5e0eb);
    border-radius: 12px;
    background: var(--maos-surface-raised, #fff);
}
.local-mosaicexperience-program-partnerlist strong {
    color: var(--maos-heading, #0d1b3d);
}
.local-mosaicexperience-program-partnerlist span {
    color: var(--maos-text-muted, #526479);
}
.local-mosaicexperience-program-contactsupplemental {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid color-mix(in srgb, var(--maos-primary-contrast, #fff) 28%, transparent);
    color: var(--maos-primary-contrast, #fff);
}
.local-mosaicexperience-program-contactsupplemental :last-child {
    margin-bottom: 0;
}
@media (max-width: 767px) {
    .local-mosaicexperience-program-heroactions {
        flex-direction: column;
        align-items: stretch;
    }
    .local-mosaicexperience-program-heroactions .local-mosaicexperience-btn,
    .local-mosaicexperience-program-heroactions .btn {
        width: 100%;
    }
    .local-mosaicexperience-program-comparecard dl {
        grid-template-columns: 1fr;
        gap: .15rem;
    }
    .local-mosaicexperience-program-comparecard dd {
        margin-bottom: .55rem;
    }
}

/* =====================================================
Mosaic Experience Manager v1.1.20 - Category-backed Programs
===================================================== */
body.local-mosaicexperience-programs-page .pages-banner-area,
body.local-mosaicexperience-programs-page #page-header,
body.local-mosaicexperience-programs-page .secondary-navigation,
body.local-mosaicexperience-programs-page .tertiary-navigation {
    display:none !important;
}
body.local-mosaicexperience-programs-page #page-content,
body.local-mosaicexperience-programs-page #region-main,
body.local-mosaicexperience-programs-page #region-main-box {
    margin:0 !important;
    padding:0 !important;
}
body.local-mosaicexperience-programs-page #region-main {
    border:0 !important;
    background:transparent !important;
}
.local-mosaicexperience-program-herogrid.is-text-only {
    grid-template-columns:minmax(0, 800px);
}
.local-mosaicexperience-programcatalogue {
    min-height:60vh;
    color:var(--maos-text,#334155);
    font-family:var(--maos-font-interface,var(--maos-font-body,system-ui,-apple-system,"Segoe UI",sans-serif));
}
.local-mosaicexperience-programcatalogue-hero {
    padding:4rem 0 3.5rem;
    background:var(--maos-gradient-primary,linear-gradient(118deg,#0b315a 0%,#124e78 58%,#2a8ca0 100%));
    color:var(--maos-primary-contrast,#fff);
}
.local-mosaicexperience-programcatalogue-hero h1,
.local-mosaicexperience-programcatalogue-hero p {
    color:inherit;
}
.local-mosaicexperience-programcatalogue-hero h1 {
    margin:.35rem 0 .75rem;
    font-family:var(--maos-font-display,var(--maos-font-interface,inherit));
    font-size:clamp(2.25rem,5vw,4.25rem);
}
.local-mosaicexperience-programcatalogue-hero p {
    max-width:760px;
    margin:0;
    font-size:var(--maos-font-size-body,1rem);
    line-height:var(--maos-line-height-body,1.55);
}
.local-mosaicexperience-programcatalogue-list {
    padding:3.75rem 0 4.5rem;
    background:var(--maos-canvas,#f7f9fc);
}
.local-mosaicexperience-programcatalogue-list h2 {
    margin:0 0 1.5rem;
    color:var(--maos-heading,#0d1b3d);
}
.local-mosaicexperience-programcatalogue-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
    gap:1.35rem;
}
.local-mosaicexperience-programcatalogue-card {
    display:flex;
    min-height:100%;
    flex-direction:column;
    overflow:hidden;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:16px;
    background:var(--maos-surface,#fff);
    box-shadow:var(--maos-shadow,0 10px 28px rgba(13,59,102,.07));
}
.local-mosaicexperience-programcatalogue-image {
    height:190px;
    overflow:hidden;
    background:var(--maos-surface-muted,#eef3f8);
}
.local-mosaicexperience-programcatalogue-image img {
    width:100%;
    height:100%;
    object-fit:cover;
}
.local-mosaicexperience-programcatalogue-body {
    display:flex;
    flex:1;
    flex-direction:column;
    align-items:flex-start;
    padding:1.4rem;
}
.local-mosaicexperience-programcatalogue-body h3 {
    margin:0 0 .7rem;
    color:var(--maos-heading,#0d1b3d);
    font-family:var(--maos-font-display,var(--maos-font-interface,inherit));
    font-size:1.4rem;
    line-height:1.25;
}
.local-mosaicexperience-programcatalogue-body p {
    flex:1;
    color:var(--maos-text-muted,#526479);
    line-height:var(--maos-line-height-body,1.55);
}
.local-mosaicexperience-programcatalogue-body .local-mosaicexperience-btn,
.local-mosaicexperience-programcatalogue-body .btn {
    margin-top:auto;
}
.local-mosaicexperience-program-trustbadge {
    background:#fff;
}
.local-mosaicexperience-program-trustbadge img {
    width:auto;
    max-width:270px;
    max-height:180px;
}
.local-mosaicexperience-program-compliancegrid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
    margin-top:1.25rem;
}
.local-mosaicexperience-program-compliancecard {
    padding:1.15rem 1.2rem;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:14px;
    background:var(--maos-surface-muted,#eef3f8);
}
.local-mosaicexperience-program-compliancecard h3 {
    margin:0 0 .55rem;
    color:var(--maos-heading,#0d1b3d);
    font-size:1.08rem;
}
.local-mosaicexperience-program-compliancecopy,
.local-mosaicexperience-program-compliancecopy p,
.local-mosaicexperience-program-compliancecopy li {
    color:var(--maos-text,#334155);
    font-family:var(--maos-font-interface,var(--maos-font-body,system-ui,-apple-system,"Segoe UI",sans-serif));
    line-height:var(--maos-line-height-body,1.55);
}
.local-mosaicexperience-program-compliancecopy p:last-child,
.local-mosaicexperience-program-compliancecopy ul:last-child {
    margin-bottom:0;
}
.local-mosaicexperience-program-officiallinks,
.local-mosaicexperience-program-feedback {
    margin-top:1rem;
    padding:.9rem 1rem;
    border-radius:12px;
    background:var(--maos-surface-muted,#eef3f8);
    color:var(--maos-text,#334155);
    font-family:var(--maos-font-interface,var(--maos-font-body,system-ui,-apple-system,"Segoe UI",sans-serif));
    line-height:1.5;
}
.local-mosaicexperience-program-feedback {
    border-left:4px solid var(--maos-accent,#2294a3);
}
.local-mosaicexperience-program-bilingual {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
}
.local-mosaicexperience-program-language {
    padding:1rem 1.05rem;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:12px;
    background:var(--maos-surface-muted,#eef3f8);
}
.local-mosaicexperience-program-language h3 {
    margin:0 0 .45rem;
    color:var(--maos-heading,#0d1b3d);
    font-size:1rem;
}
.local-mosaicexperience-program-language p {
    margin:0;
    color:var(--maos-text,#334155);
    font-family:var(--maos-font-interface,var(--maos-font-body,system-ui,-apple-system,"Segoe UI",sans-serif));
    line-height:var(--maos-line-height-body,1.55);
}
@media(max-width:767px){
    .local-mosaicexperience-program-compliancegrid,
    .local-mosaicexperience-program-bilingual {
        grid-template-columns:1fr;
    }
    .local-mosaicexperience-programcatalogue-hero {padding:3rem 0}
    .local-mosaicexperience-programcatalogue-list {padding:2.75rem 0 3.5rem}
}

/* =====================================================
Mosaic Experience Manager v1.1.21 - Program sales and CTA refinement
===================================================== */
.local-mosaicexperience-program-hero {
    flex-direction:column;
    align-items:stretch;
}
.local-mosaicexperience-program-herogrid,
.local-mosaicexperience-program-hero > .local-mosaicexperience-program-container {
    position:relative;
    z-index:1;
}
.local-mosaicexperience-program-herobenefits {
    display:flex;
    flex-wrap:wrap;
    gap:.55rem .75rem;
    margin:0 0 1.6rem;
    padding:0;
    list-style:none;
}
.local-mosaicexperience-program-herobenefits li {
    position:relative;
    padding:.48rem .72rem .48rem 1.55rem;
    border:1px solid color-mix(in srgb,var(--maos-primary-contrast,#fff) 28%,transparent);
    border-radius:999px;
    background:color-mix(in srgb,var(--maos-primary-strong,#061b49) 56%,transparent);
    color:var(--maos-primary-contrast,#fff);
    font-family:var(--maos-font-interface,var(--maos-font-body,system-ui,-apple-system,"Segoe UI",sans-serif));
    font-size:.92rem;
    font-weight:700;
    line-height:1.3;
}
.local-mosaicexperience-program-herobenefits li::before {
    content:"✓";
    position:absolute;
    left:.62rem;
    color:color-mix(in srgb,var(--maos-accent,#49d7d8) 78%,#fff);
    font-weight:900;
}
.local-mosaicexperience-program-herotrust {
    display:grid;
    grid-template-columns:300px minmax(0,1fr);
    align-items:center;
    gap:1.5rem;
    margin:0 auto 2rem;
    padding:1.15rem 1.35rem;
    border:1px solid rgba(255,255,255,.5);
    border-radius:20px;
    background:#fff;
    box-shadow:0 18px 44px rgba(2,20,51,.22);
}
.local-mosaicexperience-program-herotrustbadge {
    display:flex;
    min-height:190px;
    align-items:center;
    justify-content:center;
    padding:.35rem;
    background:#fff;
}
.local-mosaicexperience-program-herotrustbadge img,
.local-mosaicexperience-program-trustbadge img {
    display:block;
    width:270px;
    max-width:100%;
    height:180px;
    max-height:180px;
    object-fit:contain;
}
.local-mosaicexperience-program-herotrustcopy {
    color:var(--maos-text,#334155);
    font-family:var(--maos-font-interface,var(--maos-font-body,system-ui,-apple-system,"Segoe UI",sans-serif));
}
.local-mosaicexperience-program-herotrustcopy > span {
    display:block;
    margin-bottom:.35rem;
    color:var(--maos-accent-strong,#087d8a);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
}
.local-mosaicexperience-program-herotrustcopy h2 {
    margin:0 0 .45rem;
    color:var(--maos-heading,#0d1b3d);
    font-size:clamp(1.35rem,2.2vw,1.85rem);
    line-height:1.2;
}
.local-mosaicexperience-program-herotrustcopy p {
    margin:0 0 .55rem;
    color:var(--maos-text,#334155);
    line-height:1.55;
}
.local-mosaicexperience-program-herotrustcopy a {
    font-weight:800;
}
.local-mosaicexperience-program-valuegrid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem;
    margin-top:1.75rem;
}
.local-mosaicexperience-program-valuecard {
    padding:1.25rem 1.3rem;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:16px;
    background:var(--maos-surface-muted,#f4f8fb);
}
.local-mosaicexperience-program-valuecard h3 {
    margin:0 0 .5rem;
    color:var(--maos-heading,#0d1b3d);
    font-size:1.12rem;
    line-height:1.3;
}
.local-mosaicexperience-program-valuecard p {
    margin:0;
    color:var(--maos-text,#334155);
    font-family:var(--maos-font-interface,var(--maos-font-body,system-ui,-apple-system,"Segoe UI",sans-serif));
    line-height:1.6;
}
.local-mosaicexperience-program-valueactions {
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
    margin-top:1.5rem;
}
.local-mosaicexperience-program-groupcta {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.25rem;
    margin-top:1.35rem;
    padding:1.15rem 1.25rem;
    border:1px solid var(--maos-border,#d5e0eb);
    border-radius:16px;
    background:var(--maos-surface,#fff);
}
.local-mosaicexperience-program-groupcopy {
    display:flex;
    flex-direction:column;
    gap:.25rem;
    font-family:var(--maos-font-interface,var(--maos-font-body,system-ui,-apple-system,"Segoe UI",sans-serif));
}
.local-mosaicexperience-program-groupcopy strong {
    color:var(--maos-heading,#0d1b3d);
    font-size:1.08rem;
}
.local-mosaicexperience-program-groupcopy span {
    color:var(--maos-text-muted,#526479);
    line-height:1.5;
}
.local-mosaicexperience-program-trustgrid.is-without-badge {
    grid-template-columns:1fr;
}
.local-mosaicexperience-program-trustgrid.is-without-badge .local-mosaicexperience-program-trustcontent {
    width:100%;
}
@media(max-width:900px) {
    .local-mosaicexperience-program-herotrust {
        grid-template-columns:240px minmax(0,1fr);
    }
    .local-mosaicexperience-program-valuegrid {
        grid-template-columns:1fr;
    }
}
@media(max-width:767px) {
    .local-mosaicexperience-program-herobenefits {
        display:grid;
        grid-template-columns:1fr;
    }
    .local-mosaicexperience-program-herotrust {
        grid-template-columns:1fr;
        text-align:left;
    }
    .local-mosaicexperience-program-herotrustbadge {
        min-height:0;
    }
    .local-mosaicexperience-program-groupcta {
        align-items:flex-start;
        flex-direction:column;
    }
    .local-mosaicexperience-program-groupcta .local-mosaicplatform-ui-btn,
    .local-mosaicexperience-program-groupcta .local-mosaicexperience-btn {
        width:100%;
        text-align:center;
    }
}


/* =====================================================
Mosaic Experience Manager v1.1.22 - Trust visibility and aligned actions
===================================================== */
.local-mosaicexperience-program-herotrust {
    grid-template-columns:minmax(430px,520px) minmax(0,1fr);
    gap:1.75rem;
    padding:1.35rem 1.5rem;
    color-scheme:light;
    color:#334155;
}
.local-mosaicexperience-program-herotrustbadge {
    min-height:355px;
    overflow:hidden;
    border-radius:14px;
}
.local-mosaicexperience-program-herotrustbadgelink {
    display:flex;
    width:100%;
    min-height:347px;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#fff;
}
.local-mosaicexperience-program-herotrustbadgelink:focus-visible {
    outline:3px solid #087d8a;
    outline-offset:4px;
}
.local-mosaicexperience-program-herotrustbadge img,
.local-mosaicexperience-program-trustbadge img {
    width:520px;
    max-width:100%;
    height:347px;
    max-height:none;
    object-fit:contain;
}
.local-mosaicexperience-program-herotrustcopy,
.local-mosaicexperience-program-herotrustcopy p {
    color:#334155 !important;
}
.local-mosaicexperience-program-herotrustcopy > span {
    color:#087d8a !important;
}
.local-mosaicexperience-program-herotrustcopy h2 {
    color:#0d1b3d !important;
}
.local-mosaicexperience-program-herotrustcopy a {
    color:#066a79 !important;
    text-decoration:underline;
    text-decoration-thickness:.1em;
    text-underline-offset:.18em;
}
.local-mosaicexperience-program-herotrustcopy a:hover,
.local-mosaicexperience-program-herotrustcopy a:focus {
    color:#0d3b66 !important;
}
.local-mosaicexperience-program-heroactions .local-mosaicplatform-ui-btn-secondary,
.local-mosaicexperience-program-heroactions .local-mosaicexperience-btn-secondary {
    border-color:#fff !important;
    background:#fff !important;
    color:#0d3b66 !important;
}
.local-mosaicexperience-program-heroactions .local-mosaicplatform-ui-btn-secondary:hover,
.local-mosaicexperience-program-heroactions .local-mosaicplatform-ui-btn-secondary:focus,
.local-mosaicexperience-program-heroactions .local-mosaicexperience-btn-secondary:hover,
.local-mosaicexperience-program-heroactions .local-mosaicexperience-btn-secondary:focus {
    border-color:#d7f3f4 !important;
    background:#eefbfb !important;
    color:#061b49 !important;
}
.local-mosaicexperience-program-coursegrid,
.local-mosaicexperience-program-comparisongrid {
    align-items:stretch;
}
.local-mosaicexperience-program-course,
.local-mosaicexperience-program-comparecard {
    height:100%;
}
.local-mosaicexperience-program-coursebody {
    width:100%;
}
.local-mosaicexperience-program-coursefooter,
.local-mosaicexperience-program-compareactions {
    display:flex;
    width:100%;
    flex-direction:column;
    margin-top:auto;
}
.local-mosaicexperience-program-coursefooter .local-mosaicplatform-ui-btn,
.local-mosaicexperience-program-coursefooter .local-mosaicexperience-btn,
.local-mosaicexperience-program-compareactions .local-mosaicplatform-ui-btn,
.local-mosaicexperience-program-compareactions .local-mosaicexperience-btn {
    display:flex;
    width:100%;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.local-mosaicexperience-program-compareactions {
    padding-top:.25rem;
}
.local-mosaicexperience-program-sourcenote {
    max-width:900px;
    margin:-.7rem 0 1.2rem;
    padding:.65rem .8rem;
    border:1px solid color-mix(in srgb,var(--maos-warning,#b7791f) 38%,var(--maos-border,#d5e0eb));
    border-radius:10px;
    background:color-mix(in srgb,var(--maos-warning,#b7791f) 9%,var(--maos-surface,#fff));
    color:var(--maos-text,#334155);
    font-family:var(--maos-font-interface,var(--maos-font-body,system-ui,-apple-system,"Segoe UI",sans-serif));
    font-size:.88rem;
    line-height:1.45;
}
@media(max-width:1100px) {
    .local-mosaicexperience-program-herotrust {
        grid-template-columns:1fr;
    }
    .local-mosaicexperience-program-herotrustbadge {
        min-height:0;
    }
}
@media(max-width:600px) {
    .local-mosaicexperience-program-herotrust {
        padding:1rem;
    }
    .local-mosaicexperience-program-herotrustbadgelink {
        min-height:0;
    }
    .local-mosaicexperience-program-herotrustbadge img,
    .local-mosaicexperience-program-trustbadge img {
        width:100%;
        height:auto;
    }
}

/* =====================================================
Mosaic Experience Manager v1.1.23 - Scannable WSIB badge presentation
===================================================== */
.local-mosaicexperience-program-herotrust {
    grid-template-columns:minmax(500px,620px) minmax(260px,1fr);
}
.local-mosaicexperience-program-herotrustbadge {
    min-height:0;
    padding:0;
}
.local-mosaicexperience-program-herotrustbadgelink {
    width:100%;
    max-width:620px;
    min-height:0;
    aspect-ratio:31 / 22;
    overflow:hidden;
}
.local-mosaicexperience-program-herotrustbadge img {
    width:100%;
    max-width:none;
    height:100%;
    max-height:none;
    object-fit:cover;
    object-position:center;
}
@media(max-width:1100px) {
    .local-mosaicexperience-program-herotrust {
        grid-template-columns:1fr;
    }
    .local-mosaicexperience-program-herotrustbadgelink {
        margin-inline:auto;
    }
}
@media(max-width:600px) {
    .local-mosaicexperience-program-herotrustbadgelink {
        aspect-ratio:31 / 22;
    }
    .local-mosaicexperience-program-herotrustbadge img {
        width:100%;
        height:100%;
        object-fit:cover;
    }
}

/* Operational Experience Dashboard and Media Library (v1.1.24). */
.local-mosaicexperience-pageheading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.25rem;
    margin-bottom: 1.25rem;
}

.local-mosaicexperience-quickgrid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin: 1.25rem 0;
}

.local-mosaicexperience-quickcard {
    display: block;
    min-height: 8.5rem;
    padding: 1.1rem;
    border: 1px solid var(--maos-border, #d8e2ef);
    border-radius: 1rem;
    background: var(--maos-surface, #fff);
    color: var(--maos-text, #0a2858);
    text-decoration: none;
    box-shadow: 0 10px 28px rgba(10, 40, 88, .06);
}

.local-mosaicexperience-quickcard:hover,
.local-mosaicexperience-quickcard:focus-visible {
    border-color: var(--maos-accent, #1599ad);
    transform: translateY(-2px);
    text-decoration: none;
}

.local-mosaicexperience-quickcard h3 {margin: 0 0 .45rem;}
.local-mosaicexperience-quickcard p {margin: 0; color: var(--maos-text-muted, #526b89);}

.local-mosaicexperience-dashboardcolumns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.local-mosaicexperience-readiness-list,
.local-mosaicexperience-schedule-list {
    display: grid;
    gap: .75rem;
    margin: 1rem 0;
    padding: 0;
    list-style: none;
}

.local-mosaicexperience-readiness-list li,
.local-mosaicexperience-schedule-list li {
    display: grid;
    gap: .15rem;
    padding: .85rem;
    border-radius: .75rem;
    background: var(--maos-surface-subtle, #f3f7fb);
}

.local-mosaicexperience-readiness-list li a {justify-self: start; margin-top: .25rem;}
.local-mosaicexperience-readiness-list span,
.local-mosaicexperience-schedule-list span {color: var(--maos-text-muted, #526b89);}
.local-mosaicexperience-positive {padding: 1rem; border-radius: .75rem; background: rgba(21, 153, 173, .1);}

.local-mosaicexperience-media-filters {
    display: grid;
    grid-template-columns: minmax(15rem, 1fr) minmax(10rem, auto) minmax(12rem, auto) auto;
    gap: .75rem;
    align-items: center;
    padding: .85rem;
    margin: 1rem 0 1.25rem;
    border: 1px solid var(--maos-border, #d8e2ef);
    border-radius: .85rem;
    background: var(--maos-surface-subtle, #f3f7fb);
}

.local-mosaicexperience-media-filters input[type="search"],
.local-mosaicexperience-media-filters select {
    min-height: 2.75rem;
    border: 1px solid var(--maos-border, #c7d5e6);
    border-radius: .65rem;
    background: var(--maos-surface, #fff);
    color: var(--maos-text, #0a2858);
    padding: .55rem .75rem;
}

.local-mosaicexperience-media-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.local-mosaicexperience-media-grid.is-compact {grid-template-columns: repeat(4, minmax(0, 1fr));}

.local-mosaicexperience-media-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--maos-border, #d8e2ef);
    border-radius: 1rem;
    background: var(--maos-surface, #fff);
    color: var(--maos-text, #0a2858);
    text-decoration: none;
    box-shadow: 0 10px 28px rgba(10, 40, 88, .06);
}

.local-mosaicexperience-media-card:hover {text-decoration: none;}
.local-mosaicexperience-media-thumb {aspect-ratio: 16 / 9; overflow: hidden; background: #e8eef6;}
.local-mosaicexperience-media-thumb img {width: 100%; height: 100%; object-fit: cover; display: block;}
.local-mosaicexperience-media-body {display: flex; flex: 1; flex-direction: column; padding: 1rem;}
.local-mosaicexperience-media-body h3 {margin: .3rem 0 .5rem; font-size: 1.1rem;}
.local-mosaicexperience-media-body p {flex: 1; color: var(--maos-text-muted, #526b89);}
.local-mosaicexperience-media-type {font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--maos-accent, #087f92);}
.local-mosaicexperience-media-actions {display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin-top: .85rem;}
.local-mosaicexperience-media-textaction {font-size: .86rem; margin-left: auto;}
.local-mosaicexperience-media-empty {padding: 2rem; border: 1px dashed var(--maos-border, #c7d5e6); border-radius: 1rem; text-align: center; color: var(--maos-text-muted, #526b89);}

.local-mosaicexperience-program-experienceimage {
    margin: 1.5rem 0;
    overflow: hidden;
    border-radius: 1.1rem;
    background: #e8eef6;
    box-shadow: 0 16px 34px rgba(10, 40, 88, .1);
}

.local-mosaicexperience-program-experienceimage img {
    display: block;
    width: 100%;
    max-height: 34rem;
    aspect-ratio: 16 / 8;
    object-fit: cover;
}

.local-mosaicexperience-program-experienceimage figcaption,
.local-mosaicexperience-program-groupimage figcaption {
    padding: .65rem .85rem;
    background: var(--maos-surface, #fff);
    color: var(--maos-text-muted, #526b89);
    font-size: .9rem;
}

.local-mosaicexperience-program-groupcta.has-image {
    display: grid;
    grid-template-columns: minmax(10rem, 14rem) minmax(0, 1fr) auto;
    align-items: center;
}

.local-mosaicexperience-program-groupimage {
    margin: 0;
    overflow: hidden;
    border-radius: .8rem;
}

.local-mosaicexperience-program-groupimage img {
    display: block;
    width: 100%;
    height: 8.5rem;
    object-fit: cover;
}

@media (max-width: 1000px) {
    .local-mosaicexperience-quickgrid {grid-template-columns: repeat(2, minmax(0, 1fr));}
    .local-mosaicexperience-media-grid,
    .local-mosaicexperience-media-grid.is-compact {grid-template-columns: repeat(2, minmax(0, 1fr));}
    .local-mosaicexperience-media-filters {grid-template-columns: 1fr 1fr;}
    .local-mosaicexperience-program-groupcta.has-image {grid-template-columns: minmax(9rem, 12rem) minmax(0, 1fr);}
    .local-mosaicexperience-program-groupcta.has-image .local-mosaicexperience-btn,
    .local-mosaicexperience-program-groupcta.has-image .local-mosaicplatform-ui-btn {grid-column: 1 / -1; width: 100%;}
}

@media (max-width: 680px) {
    .local-mosaicexperience-pageheading {display: block;}
    .local-mosaicexperience-pageheading .local-mosaicexperience-actions {margin-top: 1rem;}
    .local-mosaicexperience-quickgrid,
    .local-mosaicexperience-dashboardcolumns,
    .local-mosaicexperience-media-grid,
    .local-mosaicexperience-media-grid.is-compact,
    .local-mosaicexperience-media-filters,
    .local-mosaicexperience-program-groupcta.has-image {grid-template-columns: 1fr;}
    .local-mosaicexperience-program-groupimage img {height: auto; aspect-ratio: 16 / 9;}
}

.local-mosaicexperience-program-contactinner.has-image {
    display: grid;
    grid-template-columns: minmax(12rem, 20rem) minmax(0, 1fr) auto;
    align-items: center;
}
.local-mosaicexperience-program-contactimage {margin: 0; overflow: hidden; border-radius: .9rem;}
.local-mosaicexperience-program-contactimage img {display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover;}
.local-mosaicexperience-program-contactimage figcaption {padding: .55rem .7rem; background: #fff; color: #35506f; font-size: .85rem;}
@media (max-width: 850px) {
    .local-mosaicexperience-program-contactinner.has-image {grid-template-columns: 1fr;}
    .local-mosaicexperience-program-contactinner.has-image .local-mosaicexperience-btn,
    .local-mosaicexperience-program-contactinner.has-image .local-mosaicplatform-ui-btn {width: 100%;}
}

/* v1.1.26 media publication clarity. */
.local-mosaicexperience-media-unassigned {
    margin-top: .55rem;
    padding: .5rem .65rem;
    border: 1px solid var(--maos-border-warning, #d8a436);
    border-radius: .55rem;
    background: var(--maos-surface-warning-subtle, #fff8df);
    color: var(--maos-text-primary, #132b4f);
    font-size: .875rem;
    line-height: 1.4;
}

/* MXM v1.1.28 Course Front Pages. */
.local-mosaicexperience-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.local-mosaicexperience-status-draft{background:var(--maos-surface-muted,#eef3f8);color:var(--maos-text-muted,#495057)}
.local-mosaicexperience-status-published{background:color-mix(in srgb,var(--maos-success,#176b45) 14%,var(--maos-surface,#fff));color:var(--maos-success,#176b45)}
.local-mosaicexperience-coursefront{background:var(--maos-background,#f5f8fb);color:var(--maos-text,#24344d)}
.local-mosaicexperience-coursefront-container{width:min(1180px,calc(100% - 2rem));margin:0 auto}
.local-mosaicexperience-coursefront-hero{padding:3.4rem 0;background:linear-gradient(135deg,color-mix(in srgb,var(--maos-primary,#0d3b66) 10%,var(--maos-surface,#fff)),var(--maos-surface,#fff) 58%,color-mix(in srgb,var(--maos-accent,#2294a3) 12%,var(--maos-surface,#fff)))}
.local-mosaicexperience-coursefront-herogrid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:2.25rem;align-items:center}
.local-mosaicexperience-coursefront-herogrid.is-text-only{grid-template-columns:minmax(0,820px)}
.local-mosaicexperience-coursefront-herocopy h1{font-size:clamp(2.15rem,5vw,4rem);line-height:1.04;margin:.45rem 0 1rem;color:var(--maos-heading,#061b49);max-width:18ch;text-wrap:balance;overflow-wrap:normal;word-break:normal;hyphens:none}
.local-mosaicexperience-coursefront-eyebrow,.local-mosaicexperience-coursefront-sectioneyebrow{display:inline-flex;font-weight:850;letter-spacing:.07em;text-transform:uppercase;font-size:.78rem;color:var(--maos-primary,#0d3b66);text-decoration:none!important}
.local-mosaicexperience-coursefront-summary{font-size:1.08rem;line-height:1.7;max-width:760px;color:var(--maos-text,#344054)}
.local-mosaicexperience-coursefront-summary p:last-child{margin-bottom:0}
.local-mosaicexperience-coursefront-meta{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.25rem 0}
.local-mosaicexperience-coursefront-meta span{display:inline-flex;align-items:center;gap:.4rem;padding:.48rem .72rem;border:1px solid var(--maos-border,#d5e0eb);border-radius:999px;background:var(--maos-surface,#fff);font-weight:750;color:var(--maos-primary,#0d3b66)}
.local-mosaicexperience-coursefront-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1.35rem}
.local-mosaicexperience-coursefront-heroimage,.local-mosaicexperience-coursefront-contentimage{margin:0;border-radius:22px;overflow:hidden;box-shadow:0 22px 48px rgba(6,27,73,.18);background:var(--maos-surface,#fff)}
.local-mosaicexperience-coursefront-heroimage img{display:block;width:100%;height:420px;object-fit:cover}
.local-mosaicexperience-coursefront-contentimage img{display:block;width:100%;height:340px;object-fit:cover}
.local-mosaicexperience-coursefront-heroimage figcaption,.local-mosaicexperience-coursefront-contentimage figcaption{padding:.7rem .9rem;color:var(--maos-text-muted,#526274);font-size:.88rem}
.local-mosaicexperience-coursefront-section{padding:3.2rem 0;background:var(--maos-surface,#fff)}
.local-mosaicexperience-coursefront-section.is-tinted{background:var(--maos-surface-muted,#eef3f8)}
.local-mosaicexperience-coursefront-section h2,.local-mosaicexperience-coursefront-contact h2{font-size:clamp(1.65rem,3vw,2.35rem);margin:0 0 1rem;color:var(--maos-heading,#061b49)}
.local-mosaicexperience-coursefront-copy{font-size:1.02rem;line-height:1.75;max-width:900px;color:var(--maos-text,#344054)}
.local-mosaicexperience-coursefront-contentgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);gap:2rem;align-items:center}
.local-mosaicexperience-coursefront-contentgrid.is-text-only{grid-template-columns:minmax(0,900px)}
.local-mosaicexperience-coursefront-outcomes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.2rem;list-style:none;padding:0;margin:1.3rem 0 0}
.local-mosaicexperience-coursefront-outcomes li{position:relative;padding:1rem 1rem 1rem 2.65rem;border:1px solid var(--maos-border,#d5e0eb);border-radius:14px;background:var(--maos-surface,#fff);line-height:1.55}
.local-mosaicexperience-coursefront-outcomes li:before{content:'✓';position:absolute;left:1rem;top:1rem;width:1.25rem;height:1.25rem;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--maos-success,#176b45) 16%,var(--maos-surface,#fff));color:var(--maos-success,#176b45);font-weight:900}
.local-mosaicexperience-coursefront-sessions>div>p{color:var(--maos-text-muted,#526274);max-width:760px}
.local-mosaicexperience-coursefront-sessiongrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.4rem}
.local-mosaicexperience-coursefront-sessioncard{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;border:1px solid var(--maos-border,#d5e0eb);border-radius:18px;background:var(--maos-surface,#fff);box-shadow:var(--maos-shadow,0 10px 28px rgba(13,59,102,.08));padding:1.2rem}
.local-mosaicexperience-coursefront-sessionbody h3{font-size:1.15rem;margin:0 0 .55rem;color:var(--maos-heading,#061b49)}
.local-mosaicexperience-coursefront-sessiondetail{margin:.32rem 0;color:var(--maos-text,#344054)}
.local-mosaicexperience-coursefront-availability{margin-top:.65rem;color:var(--maos-success,#176b45);font-weight:800}
.local-mosaicexperience-coursefront-sessionaction{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:.75rem;min-width:180px}
.local-mosaicexperience-coursefront-sessionprice{font-size:1.25rem;font-weight:900;color:var(--maos-heading,#061b49)}
.local-mosaicexperience-coursefront-empty{padding:1.4rem;border:1px dashed var(--maos-border,#d5e0eb);border-radius:16px;background:var(--maos-surface,#fff)}
.local-mosaicexperience-coursefront-faq{display:grid;gap:.65rem}
.local-mosaicexperience-coursefront-faq details{border:1px solid var(--maos-border,#d5e0eb);border-radius:14px;background:var(--maos-surface,#fff);padding:1rem 1.1rem}
.local-mosaicexperience-coursefront-faq summary{cursor:pointer;font-weight:850;color:var(--maos-heading,#061b49)}
.local-mosaicexperience-coursefront-faq p{margin:.8rem 0 0;line-height:1.65}
.local-mosaicexperience-coursefront-contact{padding:2.6rem 0;background:linear-gradient(135deg,var(--maos-primary,#0d3b66),color-mix(in srgb,var(--maos-primary,#0d3b66) 72%,var(--maos-accent,#2294a3)))}
.local-mosaicexperience-coursefront-contactgrid{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.local-mosaicexperience-coursefront-contact h2,.local-mosaicexperience-coursefront-contact p{color:var(--maos-primary-contrast,#fff)}
.local-mosaicexperience-coursefront-contact p{margin:0;max-width:760px}
.local-mosaicexperience-coursefront-preview{margin:1rem auto;max-width:1180px}
@media(max-width:900px){.local-mosaicexperience-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.local-mosaicexperience-coursefront-herogrid,.local-mosaicexperience-coursefront-contentgrid{grid-template-columns:1fr}.local-mosaicexperience-coursefront-sessiongrid{grid-template-columns:1fr}.local-mosaicexperience-coursefront-heroimage img{height:340px}}
@media(max-width:620px){.local-mosaicexperience-coursefront-hero,.local-mosaicexperience-coursefront-section{padding:2.2rem 0}.local-mosaicexperience-coursefront-outcomes{grid-template-columns:1fr}.local-mosaicexperience-coursefront-sessioncard{grid-template-columns:1fr}.local-mosaicexperience-coursefront-sessionaction{align-items:stretch;min-width:0}.local-mosaicexperience-coursefront-sessionaction a{text-align:center}.local-mosaicexperience-coursefront-contactgrid{align-items:flex-start;flex-direction:column}.local-mosaicexperience-coursefront-actions a{width:100%;text-align:center}}

/* MXM v1.1.29 public Homepage. */
.local-mosaicexperience-home-page #page-header,
.local-mosaicexperience-home-page .page-header-headings {display:none!important}
.local-mosaicexperience-home{background:var(--maos-background,#f5f8fb);color:var(--maos-text,#344054)}
.local-mosaicexperience-home-container{width:min(1180px,calc(100% - 2rem));margin:0 auto}
.local-mosaicexperience-home-preview{width:min(1180px,calc(100% - 2rem));margin:1rem auto}
.local-mosaicexperience-home-hero{padding:4.5rem 0;background:linear-gradient(135deg,var(--maos-primary,#0d3b66),color-mix(in srgb,var(--maos-primary,#0d3b66) 72%,var(--maos-accent,#2294a3)));overflow:hidden}
.local-mosaicexperience-home-herogrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:3rem;align-items:center}
.local-mosaicexperience-home-herogrid.is-text-only{grid-template-columns:minmax(0,850px)}
.local-mosaicexperience-home-eyebrow,.local-mosaicexperience-home-sectioneyebrow,.local-mosaicexperience-home-cardeyebrow{display:inline-flex;font-size:.78rem;line-height:1.2;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--maos-accent-strong,#087f8c)}
.local-mosaicexperience-home-hero .local-mosaicexperience-home-eyebrow{color:#9eeaf0}
.local-mosaicexperience-home-herocopy h1{max-width:15ch;margin:.65rem 0 1rem;font-size:clamp(2.7rem,6vw,5.25rem);line-height:.98;letter-spacing:-.025em;text-wrap:balance;color:var(--maos-primary-contrast,#fff)}
.local-mosaicexperience-home-lead{max-width:720px;margin:0;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.7;color:color-mix(in srgb,var(--maos-primary-contrast,#fff) 88%,transparent)}
.local-mosaicexperience-home-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem}
.local-mosaicexperience-home-heroimage{margin:0;display:grid;place-items:center;min-height:380px}
.local-mosaicexperience-home-heroimage img{display:block;width:100%;max-height:500px;object-fit:contain;filter:drop-shadow(0 24px 40px rgba(3,20,50,.28))}
.local-mosaicexperience-home-section{padding:4.25rem 0;background:var(--maos-surface,#fff)}
.local-mosaicexperience-home-section.is-tinted{background:var(--maos-surface-muted,#eef3f8)}
.local-mosaicexperience-home-section h2,.local-mosaicexperience-home-final h2{max-width:20ch;margin:.5rem 0 1rem;font-size:clamp(2rem,4vw,3.2rem);line-height:1.08;letter-spacing:-.015em;color:var(--maos-heading,#061b49);text-wrap:balance}
.local-mosaicexperience-home-sectionintro{max-width:760px;margin:0 0 2rem;font-size:1.05rem;line-height:1.7;color:var(--maos-text-muted,#526274)}
.local-mosaicexperience-home-programgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:2rem}
.local-mosaicexperience-home-programcard,.local-mosaicexperience-home-coursecard{display:flex;flex-direction:column;min-height:100%;overflow:hidden;border:1px solid var(--maos-border,#d5e0eb);border-radius:20px;background:var(--maos-surface,#fff);box-shadow:var(--maos-shadow,0 12px 32px rgba(13,59,102,.08))}
.local-mosaicexperience-home-programimage,.local-mosaicexperience-home-courseimage{aspect-ratio:16/10;overflow:hidden;background:var(--maos-surface-muted,#eef3f8)}
.local-mosaicexperience-home-programimage img,.local-mosaicexperience-home-courseimage img{display:block;width:100%;height:100%;object-fit:cover}
.local-mosaicexperience-home-programbody,.local-mosaicexperience-home-coursebody{display:flex;flex:1;flex-direction:column;padding:1.25rem}
.local-mosaicexperience-home-programbody h3,.local-mosaicexperience-home-coursebody h3{margin:.45rem 0 .7rem;font-size:1.25rem;line-height:1.2;color:var(--maos-heading,#061b49)}
.local-mosaicexperience-home-programbody p,.local-mosaicexperience-home-coursebody p{margin:0 0 1rem;line-height:1.6;color:var(--maos-text-muted,#526274)}
.local-mosaicexperience-home-cardaction{margin-top:auto;padding-top:.8rem}
.local-mosaicexperience-home-cardaction a{width:100%;text-align:center}
.local-mosaicexperience-home-coursegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}
.local-mosaicexperience-home-coursemeta{margin:.25rem 0 1rem;color:var(--maos-primary,#0d3b66);font-weight:750}
.local-mosaicexperience-home-whygrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.75fr);gap:3rem;align-items:center}
.local-mosaicexperience-home-whygrid.is-text-only{grid-template-columns:minmax(0,920px)}
.local-mosaicexperience-home-richtext{font-size:1.04rem;line-height:1.75;color:var(--maos-text,#344054)}
.local-mosaicexperience-home-featuregrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1.5rem}
.local-mosaicexperience-home-featurecard{padding:1rem 1.05rem;border:1px solid var(--maos-border,#d5e0eb);border-radius:14px;background:var(--maos-surface,#fff)}
.local-mosaicexperience-home-featurecard h3{margin:0 0 .35rem;font-size:1rem;color:var(--maos-heading,#061b49)}
.local-mosaicexperience-home-featurecard p{margin:0;font-size:.92rem;line-height:1.55;color:var(--maos-text-muted,#526274)}
.local-mosaicexperience-home-whyimage,.local-mosaicexperience-home-finalimage{margin:0;overflow:hidden;border-radius:24px;background:var(--maos-surface,#fff);box-shadow:0 20px 46px rgba(13,59,102,.16)}
.local-mosaicexperience-home-whyimage img{display:block;width:100%;max-height:480px;object-fit:cover}
.local-mosaicexperience-home-final{padding:3.5rem 0;background:linear-gradient(135deg,var(--maos-primary,#0d3b66),color-mix(in srgb,var(--maos-primary,#0d3b66) 68%,var(--maos-accent,#2294a3)))}
.local-mosaicexperience-home-finalgrid{display:grid;grid-template-columns:minmax(280px,.55fr) minmax(0,1fr);gap:2.25rem;align-items:center}
.local-mosaicexperience-home-finalgrid.is-text-only{grid-template-columns:minmax(0,850px)}
.local-mosaicexperience-home-finalimage img{display:block;width:100%;height:240px;object-fit:cover}
.local-mosaicexperience-home-finalcopy h2,.local-mosaicexperience-home-finalcopy .local-mosaicexperience-home-richtext{color:var(--maos-primary-contrast,#fff)}
.local-mosaicexperience-home-finalcopy .local-mosaicexperience-home-richtext{margin-bottom:1.25rem}
.local-mosaicexperience-home-empty{padding:1.25rem;border:1px dashed var(--maos-border,#d5e0eb);border-radius:16px;background:var(--maos-surface-muted,#eef3f8)}
@media(max-width:1050px){.local-mosaicexperience-home-programgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.local-mosaicexperience-home-coursegrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.local-mosaicexperience-home-herogrid,.local-mosaicexperience-home-whygrid,.local-mosaicexperience-home-finalgrid{grid-template-columns:1fr}.local-mosaicexperience-home-heroimage{min-height:0}.local-mosaicexperience-home-heroimage img{max-height:380px}.local-mosaicexperience-home-finalimage{order:2}}
@media(max-width:620px){.local-mosaicexperience-home-hero{padding:3rem 0}.local-mosaicexperience-home-section{padding:3rem 0}.local-mosaicexperience-home-programgrid,.local-mosaicexperience-home-coursegrid,.local-mosaicexperience-home-featuregrid{grid-template-columns:1fr}.local-mosaicexperience-home-actions a{width:100%;text-align:center}}


/* Homepage conversion and inline Experience-editor upload refinements. */
.local-mosaicexperience-home-proof{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.15rem 0 0}
.local-mosaicexperience-home-proofitem{display:inline-flex;align-items:center;padding:.45rem .7rem;border:1px solid color-mix(in srgb,var(--maos-primary-contrast,#fff) 44%,transparent);border-radius:999px;background:color-mix(in srgb,var(--maos-primary,#0d3b66) 35%,transparent);color:var(--maos-primary-contrast,#fff);font-size:.9rem;font-weight:750}
.local-mosaicexperience-home-programgrid.count-1{grid-template-columns:minmax(260px,390px)}
.local-mosaicexperience-home-programgrid.count-2{grid-template-columns:repeat(2,minmax(260px,390px))}
.local-mosaicexperience-home-coursegrid.count-1{grid-template-columns:minmax(280px,420px)}
.local-mosaicexperience-home-coursegrid.count-2{grid-template-columns:repeat(2,minmax(280px,1fr))}
.local-mosaicexperience-home-courseavailability{margin:.25rem 0 .85rem;padding:.75rem .85rem;border-radius:12px;background:var(--maos-surface-muted,#eef3f8);color:var(--maos-heading,#061b49);font-size:.92rem;font-weight:750;line-height:1.45}
.local-mosaicexperience-home-how{background:var(--maos-surface,#fff)}
.local-mosaicexperience-home-stepgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}
.local-mosaicexperience-home-stepcard{position:relative;padding:1.4rem 1.3rem 1.35rem;border:1px solid var(--maos-border,#d5e0eb);border-radius:18px;background:var(--maos-surface,#fff);box-shadow:var(--maos-shadow,0 12px 32px rgba(13,59,102,.08))}
.local-mosaicexperience-home-stepnumber{display:grid;width:2.2rem;height:2.2rem;margin-bottom:.9rem;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--maos-primary,#0d3b66),var(--maos-accent,#2294a3));color:var(--maos-primary-contrast,#fff);font-weight:850}
.local-mosaicexperience-home-stepcard h3{margin:0 0 .5rem;color:var(--maos-heading,#061b49);font-size:1.18rem}
.local-mosaicexperience-home-stepcard p{margin:0;color:var(--maos-text-muted,#526274);line-height:1.6}
.local-mosaicexperience-wrap .felement .filemanager-container{max-width:100%}
@media(max-width:850px){.local-mosaicexperience-home-stepgrid{grid-template-columns:1fr}.local-mosaicexperience-home-programgrid.count-1,.local-mosaicexperience-home-programgrid.count-2,.local-mosaicexperience-home-coursegrid.count-1,.local-mosaicexperience-home-coursegrid.count-2{grid-template-columns:1fr}}


/* Homepage Program Catalogue editor and planned-pathway states. */
.local-mosaicexperience-home-programdisabled{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.7rem 1.1rem;border:1px solid var(--maos-border,#cbd8e5);border-radius:10px;background:var(--maos-surface-muted,#eef4f8);color:var(--maos-text-muted,#52677d);font-weight:700;cursor:not-allowed}
.local-mosaicexperience-home-programcard.is-coming-soon{border-style:dashed}

/* =====================================================
Mosaic Experience Manager v1.1.32 - Full-width Homepage canvas
===================================================== */
/* The MAOS navigation already defines the left edge of the authenticated
   application canvas. Do not apply a second Edma/Moodle content-width cap to
   the Homepage inside that canvas. */
body.local-mosaicexperience-home-page .pages-banner-area,
body.local-mosaicexperience-home-page #page-header,
body.local-mosaicexperience-home-page .page-header-headings,
body.local-mosaicexperience-home-page .secondary-navigation,
body.local-mosaicexperience-home-page .tertiary-navigation {
    display:none !important;
}
body.local-mosaicexperience-home-page #page.drawers {
    padding-top:0 !important;
}
body.local-mosaicexperience-home-page #page-content,
body.local-mosaicexperience-home-page .main-inner,
body.local-mosaicexperience-home-page #region-main-box,
body.local-mosaicexperience-home-page #region-main {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}
body.local-mosaicexperience-home-page #region-main {
    border:0 !important;
    background:transparent !important;
}
.local-mosaicexperience-home {
    width:100%;
    max-width:none;
    overflow-x:clip;
}
/* Sections use the full MAOS application canvas. Their content remains
   comfortably padded and receives only a very generous ultra-wide cap. */
.local-mosaicexperience-home-container {
    width:100%;
    max-width:1600px;
    margin-inline:auto;
    padding-inline:clamp(1.25rem,3.75vw,4.75rem);
    box-sizing:border-box;
}
.local-mosaicexperience-home-preview {
    width:auto;
    max-width:1600px;
    margin:1rem clamp(1.25rem,3.75vw,4.75rem);
}
@media(max-width:620px) {
    .local-mosaicexperience-home-container {
        padding-inline:1rem;
    }
    .local-mosaicexperience-home-preview {
        margin-inline:1rem;
    }
}
