/* Smart School Portal role identity layer v0.8.84 */
:root{--ssp-role:#0f766e;--ssp-role-rgb:15,118,110;--ssp-role-soft:#ecfdf5;--ssp-role-ink:#12323a;--ssp-role-grad:linear-gradient(135deg,#0f766e,#0b5d62);--ssp-role-shadow:0 18px 46px rgba(15,23,42,.10)}

body.portal-role{background:linear-gradient(180deg,#f8fbfd 0,#f5f8fb 55%,#f8fafc 100%);color:var(--ssp-role-ink)}


body.portal-role-school{--ssp-role:#2374c7;--ssp-role-rgb:35,116,199;--ssp-role-soft:#eef6ff;--ssp-role-grad:linear-gradient(135deg,#2b7fd1,#1f5f9f)}

body.portal-role-manager{--ssp-role:#177a45;--ssp-role-rgb:23,122,69;--ssp-role-soft:#eefbf3;--ssp-role-grad:linear-gradient(135deg,#177a45,#0d5c3d)}

body.portal-role-teacher{--ssp-role:#e86f2b;--ssp-role-rgb:232,111,43;--ssp-role-soft:#fff5eb;--ssp-role-grad:linear-gradient(135deg,#ec7b35,#c95720)}

body.portal-role-activity{--ssp-role:#8054c8;--ssp-role-rgb:128,84,200;--ssp-role-soft:#f5f0ff;--ssp-role-grad:linear-gradient(135deg,#8b5fd3,#6540a6)}

body.portal-role-guidance{--ssp-role:#119b9a;--ssp-role-rgb:17,155,154;--ssp-role-soft:#eafbf9;--ssp-role-grad:linear-gradient(135deg,#16a3a0,#087a7a)}

body.portal-role-broadcast{--ssp-role:#d84c79;--ssp-role-rgb:216,76,121;--ssp-role-soft:#fff0f5;--ssp-role-grad:linear-gradient(135deg,#df5a85,#b63765)}

body.portal-role-bell{--ssp-role:#c68a17;--ssp-role-rgb:198,138,23;--ssp-role-soft:#fff8e8;--ssp-role-grad:linear-gradient(135deg,#e2aa34,#aa7110)}

body.portal-role-store{--ssp-role:#4f57c9;--ssp-role-rgb:79,87,201;--ssp-role-soft:#f1f2ff;--ssp-role-grad:linear-gradient(135deg,#5964d9,#3c439d)}

body.portal-role-subscriptions{--ssp-role:#287dcc;--ssp-role-rgb:40,125,204;--ssp-role-soft:#edf6ff;--ssp-role-grad:linear-gradient(135deg,#2b83d3,#1a619f)}

body.portal-role-communications{--ssp-role:#cb4b86;--ssp-role-rgb:203,75,134;--ssp-role-soft:#fff0f7;--ssp-role-grad:linear-gradient(135deg,#d55291,#a9366b)}

body.portal-role :is(.brand-mark,.option-icon){background:var(--ssp-role-grad)!important;color:#fff!important;box-shadow:0 8px 22px rgba(var(--ssp-role-rgb),.22)!important}

body.portal-role :is(.eyebrow,.section-kicker,.hero-kicker,.mode-pill){color:var(--ssp-role)!important}

body.portal-role :is(.primary,button.primary,.primary-wide){background:var(--ssp-role-grad)!important;border-color:transparent!important;box-shadow:0 9px 24px rgba(var(--ssp-role-rgb),.20)!important}

body.portal-role :is(.secondary,.ghost,.link-btn):hover{border-color:rgba(var(--ssp-role-rgb),.32)!important;color:var(--ssp-role)!important}

body.portal-role :is(input,select,textarea):focus{border-color:var(--ssp-role)!important;box-shadow:0 0 0 3px rgba(var(--ssp-role-rgb),.11)!important;outline:0}

body.portal-role .sidebar{background:linear-gradient(180deg,#0f2636 0%,#102f3d 58%,color-mix(in srgb,var(--ssp-role) 32%,#0e2938) 100%)!important;border-left:1px solid rgba(255,255,255,.06)}

body.portal-role .sidebar .brand-row{padding:8px 4px 18px;border-bottom:1px solid rgba(255,255,255,.08)}

body.portal-role .sidebar .brand-row strong,body.portal-role .sidebar .brand-row small,body.portal-role .sidebar .user-label{color:#fff!important}

body.portal-role .sidebar :is(.nav-btn,.sidebar-direct-link){border-radius:13px!important;transition:.16s ease!important}

body.portal-role .sidebar :is(.nav-btn,.sidebar-direct-link):hover{background:rgba(255,255,255,.08)!important;transform:translateX(-2px)}

body.portal-role .sidebar .nav-btn.active{background:linear-gradient(100deg,rgba(var(--ssp-role-rgb),.95),rgba(var(--ssp-role-rgb),.66))!important;color:#fff!important;box-shadow:0 8px 18px rgba(0,0,0,.18)}

body.portal-role .main{background:radial-gradient(circle at 84% -8%,rgba(var(--ssp-role-rgb),.10),transparent 31%),#f7f9fc!important}

body.portal-role .topbar{border-bottom-color:rgba(var(--ssp-role-rgb),.13)!important}

body.portal-role :is(.hero,.activity-hero,.activity-standalone-header){position:relative;overflow:hidden;border:1px solid rgba(var(--ssp-role-rgb),.12)!important;box-shadow:var(--ssp-role-shadow)!important}

body.portal-role :is(.hero,.activity-standalone-header)::after{content:"";position:absolute;inset:auto -70px -120px auto;width:270px;height:270px;border-radius:50%;background:rgba(var(--ssp-role-rgb),.10);pointer-events:none}

body.portal-role .hero{background:linear-gradient(120deg,#fff 0 66%,var(--ssp-role-soft) 100%)!important}

body.portal-role .activity-standalone-header{background:var(--ssp-role-grad)!important;color:#fff!important}

body.portal-role .activity-standalone-header p{color:rgba(255,255,255,.82)!important}

body.portal-role :is(.workspace-nav button.active,.tabs button.active,.nav-tab.active){background:var(--ssp-role)!important;color:#fff!important;border-color:var(--ssp-role)!important}

body.portal-role :is(.stats-grid article,.info-card,.completion-card,.setup-grid button,.card){border-color:rgba(var(--ssp-role-rgb),.10)!important}

body.portal-role :is(.stats-grid article,.info-card,.completion-card,.setup-grid button):hover{border-color:rgba(var(--ssp-role-rgb),.26)!important;box-shadow:0 14px 32px rgba(var(--ssp-role-rgb),.08)!important}

body.portal-role .portal-back-link{display:inline-flex;align-items:center;gap:7px;text-decoration:none;border:1px solid rgba(var(--ssp-role-rgb),.18);background:#fff;color:var(--ssp-role);border-radius:12px;padding:9px 12px;font-weight:800}

body.school-audience-boys{--ssp-school-accent:#2e7181;--ssp-school-accent-2:#b88c3f;--ssp-school-ornament-radius:10px}

body.school-audience-girls{--ssp-school-accent:#6f5f86;--ssp-school-accent-2:#b68d4b;--ssp-school-ornament-radius:22px}

body.school-audience-mixed{--ssp-school-accent:#527469;--ssp-school-accent-2:#5f69a5;--ssp-school-ornament-radius:16px}

body.portal-role[data-school-identity-ready="true"] .main:before{content:"";position:fixed;inset:0 0 auto auto;width:340px;height:230px;pointer-events:none;opacity:.055;background:repeating-linear-gradient(135deg,var(--ssp-school-accent) 0 2px,transparent 2px 20px);mask-image:linear-gradient(120deg,#000,transparent 72%)}

body.portal-role[data-school-identity-ready="true"] #schoolTitle:after{content:attr(data-identity-label);display:inline-flex;margin-inline-start:9px;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--ssp-school-accent) 10%,white);color:var(--ssp-school-accent);font-size:10px;vertical-align:middle}

.portal-identity-editor{grid-column:1/-1;border:1px solid #e3eaee;border-radius:18px;padding:18px;background:linear-gradient(135deg,#fff,#f8fafc);margin-top:8px}

.portal-identity-editor .portal-identity-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:15px}
.portal-identity-editor h3{margin:0 0 4px}
.portal-identity-editor p{margin:0;color:#70828b;font-size:12px;line-height:1.7}
.portal-identity-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.portal-identity-fields label{display:grid;gap:6px}
.portal-identity-fields label span{font-size:12px;font-weight:800;color:#425965}
.portal-identity-fields .span-2{grid-column:1/-1}
.portal-identity-preview{min-height:118px;border-radius:18px;padding:18px;color:#fff;background-color:var(--ssp-school-accent,#527469);background-image:linear-gradient(135deg,var(--ssp-school-accent,#527469),color-mix(in srgb,var(--ssp-school-accent,#527469) 72%,#102f3d));background-size:cover;background-position:center;position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;transition:.2s ease}
.portal-identity-preview:after{content:"";position:absolute;width:130px;height:130px;border:2px solid rgba(255,255,255,.25);border-radius:var(--ssp-school-ornament-radius,16px);transform:rotate(18deg);left:-35px;bottom:-70px}
.portal-identity-preview[data-identity-style="modern"]:after{border-radius:34px;transform:rotate(34deg)}
.portal-identity-preview[data-identity-style="soft"]:after{border-radius:50%;width:150px;height:150px}
.portal-preview-logo{width:58px;height:58px;object-fit:contain;border-radius:14px;background:#fff;padding:7px;position:relative;z-index:2;box-shadow:0 8px 24px rgba(0,0,0,.13)}
.portal-preview-copy{position:relative;z-index:2;min-width:0}
.portal-identity-preview b,.portal-identity-preview small{display:block;position:relative;z-index:1}
.portal-identity-preview b{font-size:16px}.portal-identity-preview small{opacity:.85;margin-top:5px;line-height:1.6}
.portal-identity-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:13px}
.portal-identity-actions button{border:0;border-radius:11px;padding:10px 14px;font:inherit;font-weight:800;cursor:pointer}
.portal-identity-actions .save{background:var(--ssp-role);color:#fff}
.portal-identity-actions .status{font-size:12px;color:#6c7d86}

@media(max-width:860px){body.portal-role .hero{background:linear-gradient(180deg,#fff,var(--ssp-role-soft))!important}
body.portal-role .sidebar .nav-btn.active{box-shadow:none}
}

@media(max-width:680px){.portal-identity-fields{grid-template-columns:1fr}
.portal-identity-fields .span-2{grid-column:auto}
.portal-identity-editor .portal-identity-head{flex-direction:column}
}

