/* rc60: additive presentation only. Classic views load the unchanged rc59 styles. */
.portal-modern{--bg:#f4f6f8;--text:#223340;--muted:#637582;--line:#dce4e9;--brand:#397e89;--brand-dark:#286873;--panel:#fff;font-size:14px;line-height:1.5}
.portal-modern .sidebar{width:244px;background:#fff;border-right:1px solid var(--line);box-shadow:none}
.portal-modern .app-shell{grid-template-columns:244px minmax(0,1fr)}
.portal-modern .brand{padding:20px 23px 16px}.portal-modern .brand-service{color:#5b707c;font-size:10px;letter-spacing:.15em}
.portal-modern .portal-nav{padding:6px 12px;display:block}.portal-nav details{border:0;background:none;padding:0;margin:5px 0}.portal-nav summary{padding:11px 12px;color:#536874;font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:8px}.portal-nav summary:hover{background:#f2f6f7}.portal-nav details>div{padding:0 0 7px}.portal-modern .portal-nav a{min-height:38px;border-radius:8px;padding:9px 13px;margin:2px 0;color:#344c58;font-weight:500;font-size:13px;display:flex;align-items:center;gap:8px}.portal-modern .portal-nav a.active{background:#e9f3f4;color:#155765;box-shadow:inset 3px 0 #397e89;font-weight:700}.portal-modern .portal-nav a:hover{background:#f0f5f6}.portal-modern .sidebar-footer{padding:16px;border-top:1px solid var(--line)}
.portal-modern .topbar{height:auto;min-height:66px;background:#fff;border-bottom:1px solid var(--line);box-shadow:none;padding:12px 28px;gap:18px}.portal-modern .topbar-title{font-weight:650;font-size:14px}.portal-modern .page{padding:24px 28px 48px;max-width:1800px;width:100%;margin:auto}
.portal-modern h1{font-size:26px;line-height:1.25;letter-spacing:-.025em;color:#243c48}.portal-modern h2{font-size:18px;line-height:1.35}.portal-modern h3{font-size:15px}.portal-modern .eyebrow{color:#397e89}.portal-modern .section-head,.portal-modern .page-title,.portal-modern .account-page-head{margin-bottom:20px}.portal-modern .section-head p,.portal-modern .page-title p,.portal-modern .account-page-head p{font-size:13px;color:var(--muted);margin:5px 0 0}
.portal-modern .card{border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 4px rgba(27,50,63,.025)}.portal-modern .card-body{padding:18px 20px}.portal-modern .card-header{padding:15px 20px}.portal-modern .btn,.portal-modern .billing-button{border-radius:7px;min-height:36px;font-size:13px;padding:7px 12px;box-shadow:none}.portal-modern .btn-primary{background:#286e7a;color:white;border-color:#286e7a}.portal-modern .btn-primary:hover{background:#205d67}.portal-modern input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=color]),.portal-modern select,.portal-modern textarea{border-radius:7px;border-color:#c8d5dd;box-shadow:none}.portal-modern input[type=checkbox],.portal-modern input[type=radio]{width:16px!important;height:16px!important;min-width:16px;min-height:16px;padding:0!important;margin:0 7px 0 0;vertical-align:middle;flex:0 0 16px;accent-color:#286e7a}.portal-modern :focus-visible{outline:3px solid #90c4cc;outline-offset:2px}.portal-modern label{font-size:12px;font-weight:600}.portal-modern .table th{font-size:11px;color:#536b79;background:#f4f7f9;text-transform:none;letter-spacing:.015em}.portal-modern .table td{padding:12px 14px;vertical-align:middle}.portal-modern .table tbody tr:hover{box-shadow:inset 3px 0 #8bb7bf}.portal-modern .table-wrap{border-radius:10px;overflow-x:auto}.portal-modern .badge{font-size:11px;line-height:1.4;padding:4px 8px;white-space:normal}.portal-modern .stats{gap:12px;margin-bottom:20px}.portal-modern .stat{padding:17px 20px}.portal-modern .stat .value{font-size:28px}.portal-modern .admin-module-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px}.portal-modern .admin-module-tab{min-width:130px;flex:1;padding:11px 12px;border-radius:8px}.portal-modern .admin-module-tab small{display:none}.portal-modern .admin-module-icon{font-size:16px;width:25px;height:25px}.portal-modern .admin-navigation{margin-bottom:22px}.portal-modern .admin-hub-card,.portal-modern .admin-hub-grid>section{padding:21px}.portal-modern .admin-hub-grid{gap:16px}.portal-modern .account-filter-grid{gap:12px;grid-template-columns:minmax(210px,2fr) repeat(3,minmax(125px,1fr))}.portal-modern .account-tabs{margin-bottom:16px}.portal-modern details>summary{cursor:pointer}.portal-modern .account-detail-tabs{position:sticky;top:0;background:var(--bg);z-index:4}.portal-modern .student-export-disclosure{margin:16px 0}.student-export-disclosure>summary{font-weight:650;padding:14px 18px;background:#fff;border:1px solid #dce4e9;border-radius:10px}
.portal-launchpad{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:18px 0 28px}.portal-launchpad a{display:block;padding:18px;border-radius:12px;background:#fff;border:1px solid #dce4e9;text-decoration:none;color:#233e4a}.portal-launchpad a:hover{border-color:#639da8;background:#f7fbfc}.portal-launchpad strong{display:block;font-size:16px;margin-bottom:5px}.portal-launchpad span{font-size:12px;color:#627885}.portal-modern .sync-job{box-shadow:none}.portal-modern .billing-shell{max-width:none}.portal-modern .billing-heading{margin-bottom:16px}.portal-modern .billing-card{border-radius:12px}.portal-modern .billing-public-top{box-shadow:none;border-bottom:1px solid #dce4e9}.portal-modern.billing-public .billing-shell{max-width:1500px;margin:24px auto;padding:0 24px}
@media(min-width:981px){.portal-modern .main{margin-left:0}.portal-modern .app-shell .main{min-width:0}}
@media(max-width:980px){.portal-modern .app-shell{display:block}.portal-modern .main{margin-left:0}.portal-modern .page{padding:18px 16px 36px}.portal-modern .topbar{padding:10px 16px}.portal-modern .account-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-modern .topbar-context{display:none}}
@media(max-width:560px){.portal-modern .account-filter-grid{grid-template-columns:1fr}.portal-modern h1{font-size:23px}.portal-modern .card-body{padding:16px}.portal-launchpad{grid-template-columns:1fr 1fr}.portal-modern .admin-module-tab{min-width:115px}.portal-modern .topbar-actions .btn{display:none}}

.portal-modern .sidebar{padding:0;color:#344c58}.portal-modern .profile-chip strong,.portal-modern .sidebar-footer .link-button{color:#344c58}.portal-modern .profile-chip small{color:#617783}

@media(max-width:980px){.portal-modern .sidebar{position:fixed;left:-260px;top:0;height:100vh;transition:left .2s}.portal-modern .sidebar.open{left:0}.portal-modern .mobile-menu{display:block}.portal-modern.nav-open .app-shell>.sidebar-backdrop{display:block}}
/* Lucerna house style, shared by the staff and billing portals. */
.portal-modern .topbar,.portal-modern .billing-public-top{border-top:4px solid transparent;border-image:linear-gradient(90deg,#c8d900 0 38%,#ffb000 38% 62%,#78c8d2 62% 100%) 1}.portal-modern .brand{border-bottom:1px solid #edf1f2}.portal-modern .portal-nav a.active{background:#edf7f8;border-left-color:#78c8d2}.portal-modern .portal-nav summary{letter-spacing:.055em}.portal-modern .portal-launchpad a{border-top:3px solid #78c8d2}.portal-modern .portal-launchpad a:nth-child(3n+1){border-top-color:#c8d900}.portal-modern .portal-launchpad a:nth-child(3n+2){border-top-color:#ffb000}.portal-modern .table th a{color:inherit;text-underline-offset:3px}.portal-modern .table td a{overflow-wrap:anywhere}.portal-modern .btn:disabled{opacity:.55;cursor:not-allowed}.portal-modern .admin-module-tabs{scrollbar-width:thin}.portal-modern .flash{line-height:1.55}.portal-modern .card,.portal-modern .billing-card{min-width:0}.portal-modern .account-detail-tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.portal-modern .account-detail-tabs a{white-space:nowrap}.portal-modern .billing-public-top img{max-height:44px;max-width:190px;object-fit:contain}
@media(prefers-reduced-motion:reduce){.portal-modern *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.studio-library,.studio-picker,.studio-page-head>a,.studio-management,.studio-preview-actions{display:none!important}.studio-workspace,.studio-grid{display:block}.studio-preview{position:static}.studio-preview-surface{max-height:none;overflow:visible}}
