/* Shared native dashboard component, used by study, account and LMS controllers. */
.sp7-dashboard.fm1-workspace{padding:0;margin:0;min-width:0;min-height:760px;border-radius:14px;overflow:clip}
.sp7-dashboard .fm1-sidebar{position:relative}.sp7-dashboard .fm1-side-nav{gap:3px;margin-bottom:22px}
.sp7-dashboard .fm1-side-nav a{width:100%;justify-content:flex-start;text-align:left;padding:10px 12px;border-color:transparent;font-size:.85rem}
.sp7-dashboard .fm1-side-nav a[aria-current=page],.sp7-dashboard .sp7-account-nav a[aria-current=page]{background:color-mix(in srgb,var(--fm1-red) 9%,var(--fm1-paper));color:var(--fm1-title);border-color:var(--fm1-line)}
.sp7-account-nav{display:grid;gap:4px;border-top:1px solid var(--fm1-line);padding-top:18px;margin-bottom:18px}
.sp7-dashboard .sp7-account-nav a{justify-content:flex-start;text-align:left;border-color:transparent;font-size:.8rem;padding:9px 12px}
.sp7-dashboard .sp7-library-link{font-size:.8rem}.sp7-dashboard .fm1-workspace-head{flex-wrap:wrap;gap:12px;align-items:flex-start;padding-bottom:14px}.sp7-dashboard .fm1-workspace-head h1{font-size:clamp(1.5rem,2.2vw,2.25rem)}.sp7-dashboard .fm1-kicker{margin:0 0 6px}.sp7-header-actions:empty{display:none}.sp7-header-actions{display:flex;gap:6px;align-items:center;margin-left:auto;flex:1 1 450px;justify-content:flex-end}.sp7-page-intro{margin:20px 0;color:var(--fm1-muted)}
.sp7-account-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;border:1px solid var(--fm1-line);border-radius:10px;margin:18px 0;background:var(--fm1-card);flex-wrap:wrap}.sp7-account-summary h2{font-size:1.2rem;margin:0 0 8px}.sp7-account-summary p{font-size:.87rem;margin:0}.sp7-account-summary .fm1-actions{margin:0}
.sp7-overview-courses{margin:24px 0}.sp7-overview-courses h2{font-size:1.35rem}.sp7-overview-course{display:flex;align-items:center;gap:18px;justify-content:space-between;border:1px solid var(--fm1-line);padding:15px 20px;border-radius:9px;margin:8px 0;background:var(--fm1-card)}.sp7-overview-course>div{flex:1;min-width:0}.sp7-overview-course h3{font-size:1.05rem}.sp7-overview-course progress{max-width:400px;display:block}.sp7-overview-course p{font-size:.8rem}
main.sp7-lms-page,main.kl1-account.sp7-account-page{width:calc(100% - clamp(16px,2vw,36px));max-width:none;padding:0;margin:15px auto 35px}
.sp7-lms-content.k440-shell{width:100%;max-width:none;margin:0;padding:0;color:var(--fm1-ink);background:transparent}
.sp7-lms-content .k440-nav{margin:18px 0;gap:7px}.sp7-lms-content .k440-nav a{font-size:.75rem;min-height:32px;padding:6px 10px}
.sp7-lms-content .k440-grid{margin-top:20px;gap:18px}.sp7-lms-content .k440-card,.sp7-lms-content .k440-course-card{background:var(--fm1-card);color:var(--fm1-ink);border-color:var(--fm1-line);border-radius:10px;box-shadow:none}
.sp7-lms-content .k440-card.accent,.sp7-lms-content .k440-card.gold{border-top-color:#9d7949}.sp7-lms-content .k440-muted,.sp7-lms-content .k440-meta{color:var(--fm1-muted)}
.sp7-lms-content .k440-hero{margin:0}.sp7-lms-content .k440-card-title,.sp7-lms-content h2,.sp7-lms-content h3{color:var(--fm1-title)}
.sp7-lms-content .k440-btn.primary,.sp7-lms-content .k440-linkbtn.primary{background:var(--fm1-red);color:#fff;border-color:var(--fm1-red)}
.sp7-lms-content .k440-progress{background:var(--fm1-line)}.sp7-lms-content .k440-progress span{background:var(--fm1-red)}
.sp7-dashboard .sp7-account-panel{padding:0;margin:18px 0;max-width:none;width:100%}.sp7-account-page .sp7-account-panel[hidden]{display:none}.sp7-account-page .sp7-account-panel>h2{font-size:1.3rem}
.sp7-account-page .kl1-member-heading{margin:18px 0 12px;padding-bottom:14px;border-bottom:1px solid var(--fm1-line)}.sp7-account-page .kl1-member-heading h1{font-size:1.15rem;font-family:inherit}.sp7-account-page .kl1-member-heading .kl1-eyebrow{display:none}.sp7-account-page .kl1-member-heading strong{font-size:.8rem}.sp7-account-page .kl1-account-sections{margin:0 0 18px;padding:0 0 12px;gap:6px}.sp7-account-page .kl1-account-sections a{font-size:.76rem;padding:7px 10px;background:var(--fm1-card);color:var(--fm1-ink);border-color:var(--fm1-line)}
.sp7-account-page #profile,.sp7-account-page #account-security,.sp7-account-page #billing{margin:0;padding:0}.sp7-account-page .k490-profile-grid-r7f2{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.sp7-account-page .billing-sp1{margin:0}
@media(min-width:1100px){.sp7-dashboard>.fm1-sidebar{padding-top:26px}.sp7-dashboard .fm1-workspace-body{padding:clamp(18px,2vw,30px)}}
@media(max-width:720px){.sp7-dashboard .fm1-side-nav{display:flex;overflow:auto;margin:0}.sp7-dashboard .fm1-side-nav a{width:auto;flex:0 0 auto;white-space:nowrap;padding:8px 11px;font-size:.8rem}.sp7-account-nav{display:flex;flex-wrap:wrap;gap:3px;margin:10px 0 0;padding-top:8px}.sp7-dashboard .sp7-account-nav a{font-size:.72rem;padding:6px 8px;min-height:30px}.sp7-dashboard .sp7-library-link{display:none}.sp7-account-summary{padding:15px}.sp7-overview-course{align-items:flex-start;flex-wrap:wrap}.sp7-lms-content .k440-grid{display:block}.sp7-lms-content .k440-grid>section,.sp7-lms-content .k440-grid>div{margin-bottom:15px}}
@media print{.sp7-account-nav,.sp7-header-actions{display:none}.sp7-dashboard.fm1-workspace{display:block}}

.sp8-dashboard-loading{min-height:4rem;padding:18px 0;color:#735f50;font:500 .9rem system-ui}
body.dark .sp8-dashboard-loading{color:#e6d5be}
.sp8-nav-group{display:grid;gap:3px}.sp8-nav-group+.sp8-nav-group{border-top:1px solid var(--fm1-line);margin-top:18px;padding-top:16px}.fm1 .sp8-nav-heading{margin:0 12px 6px;font:700 .7rem/1.4 system-ui;letter-spacing:.12em;text-transform:uppercase;color:var(--fm1-muted)}
.sp7-dashboard .fm1-brand img{max-height:100px}.sp7-dashboard .fm1-brand{margin-bottom:16px}
body.dark .sp7-dashboard .fm1-sidebar{background:#170708}
@media(max-width:720px){.sp8-nav-group{display:flex;align-items:center;gap:4px;flex-shrink:0}.sp8-nav-group+.sp8-nav-group{margin:0 0 0 12px;padding:0 0 0 12px;border-top:0;border-left:1px solid var(--fm1-line)}.fm1 .sp8-nav-heading{margin:0 4px}.sp7-header-actions{flex-basis:100%;margin:0}.sp6-desk-toolbar.fm1{justify-content:flex-start}.sp8-dashboard-loading{min-height:4rem}}

/* SP10: reserve the real workspace in normal flow, before any API request. */
body[data-catholon-dashboard] main#content{min-height:max(760px,calc(100dvh - 100px))}
.sp8-dashboard-loading,.sp10-account-loading{min-height:760px;box-sizing:border-box;padding:30px;font:500 .95rem system-ui}
.sp10-content-loading{min-height:440px;padding:24px;color:var(--fm1-muted)}
body[data-catholon-dashboard] .sp7-dashboard{min-height:760px}

/* Sidebar branches belong to the native dashboard, not to a loaded content tab. */
.sp7-dashboard .sp30-nav-row{display:flex;align-items:stretch;gap:0;min-width:0}
.sp30-nav-branch{min-width:0}
.sp7-dashboard .sp30-nav-row>a{flex:1;min-width:0;width:auto}
body .sp7-dashboard .fm1-sidebar .sp30-nav-toggle{flex:0 0 32px;width:32px;min-width:32px;min-height:40px;padding:6px;border:0;background:transparent;color:var(--fm1-muted);cursor:pointer;border-radius:6px}
.sp30-nav-toggle svg{flex:none;display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .15s}
.sp30-nav-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.sp30-nav-toggle:hover,.sp30-nav-toggle:focus-visible{background:var(--fm1-card);color:var(--fm1-red);outline-offset:2px}
.sp7-dashboard .sp30-subnav{display:grid;gap:3px;margin:2px 0 7px 20px;padding:0 0 0 9px;border-left:1px solid var(--fm1-line)}
.sp7-dashboard .sp30-subnav[hidden]{display:none}
.sp7-dashboard .sp30-subnav a{font-size:.78rem;line-height:1.3;white-space:normal;padding:8px;min-width:0}
.sp7-dashboard .sp30-subnav a[aria-current=page]{background:var(--fm1-red);color:#fff;border-color:transparent}
.sp7-dashboard .sp30-subnav .sp12-nav-icon{flex:0 0 16px;width:16px;height:16px}
.sp7-account-page .sp30-account-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--fm1-line);padding:12px 0;margin-bottom:18px}
.sp30-account-summary p{margin:0;font-size:.85rem}.sp30-account-summary strong{display:block}
.sp7-account-page .sp10-account-loading{min-height:260px;padding:24px 0}
.sp7-account-page .sp19-account-meme{margin:24px 0 0;width:100%;max-width:none}
@media(max-width:720px){.sp7-dashboard .sp8-nav-group{align-items:flex-start}.sp7-dashboard .sp30-nav-branch{flex:0 0 190px;width:190px}.sp7-dashboard .sp30-nav-row{width:100%}.sp7-dashboard .sp30-subnav{margin:4px 0 6px 16px;align-self:start}.sp7-dashboard .sp30-subnav a{width:100%;white-space:normal}.sp7-account-page .kl1-access{display:flex;flex-direction:column;width:100%;max-width:none}.sp30-account-summary{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.sp30-nav-toggle svg{transition:none}}
