/* SP-HELE Theme System v3.1.12
   Shared readable portal theme. Loaded after frontend.css to prevent low-contrast theme conflicts. */
:root{
  --sp-hele-navy:#0b1220;
  --sp-hele-panel:#111827;
  --sp-hele-panel-2:#162033;
  --sp-hele-border:rgba(148,163,184,.34);
  --sp-hele-text:#f8fafc;
  --sp-hele-muted:#dbeafe;
  --sp-hele-soft:#bfdbfe;
  --sp-hele-gold:#fbbf24;
  --sp-hele-blue:#60a5fa;
  --sp-hele-blue-strong:#2563eb;
}

body.sp-hele-portal-page .entry-title,
body.sp-hele-portal-page .page-title,
body.sp-hele-portal-page h1.entry-title,
body.sp-hele-portal-page .wp-block-post-title{
  display:none!important;
}

.sp-hele-workspace,
.sp-hele-workspace *{
  box-sizing:border-box;
}

.sp-hele-workspace{
  width:min(96vw,1600px)!important;
  max-width:1600px!important;
  margin:32px auto!important;
  padding:clamp(28px,4vw,52px)!important;
  border-radius:28px!important;
  background:linear-gradient(135deg,#0f172a 0%,#111827 58%,#0b1220 100%)!important;
  border:1px solid var(--sp-hele-border)!important;
  box-shadow:0 30px 90px rgba(2,6,23,.30)!important;
  color:var(--sp-hele-text)!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
}

.sp-hele-workspace h1,
.sp-hele-workspace h2,
.sp-hele-workspace h3,
.sp-hele-workspace h4,
.sp-hele-workspace h5,
.sp-hele-workspace h6,
.sp-hele-workspace p,
.sp-hele-workspace li,
.sp-hele-workspace span,
.sp-hele-workspace div,
.sp-hele-workspace a,
.sp-hele-workspace strong{
  color:var(--sp-hele-text)!important;
}

.sp-hele-workspace h2{
  margin:0 0 18px!important;
  font-size:clamp(32px,4vw,54px)!important;
  line-height:1.05!important;
  letter-spacing:-.04em!important;
  font-weight:900!important;
}

.sp-hele-workspace > p{
  color:var(--sp-hele-muted)!important;
  font-size:clamp(16px,1.5vw,20px)!important;
  opacity:1!important;
  margin-bottom:28px!important;
}

.sp-hele-mission-box{
  background:linear-gradient(135deg,rgba(30,41,59,.98),rgba(15,23,42,.98))!important;
  border:1px solid rgba(148,163,184,.40)!important;
  border-radius:24px!important;
  padding:clamp(22px,3vw,36px)!important;
  margin:24px 0!important;
  box-shadow:0 18px 44px rgba(2,6,23,.22)!important;
}
.sp-hele-mission-box span{color:var(--sp-hele-gold)!important;font-weight:900!important;}
.sp-hele-mission-box h3{color:var(--sp-hele-soft)!important;font-size:clamp(26px,3.3vw,46px)!important;line-height:1.08!important;margin:.55rem 0 .75rem!important;}
.sp-hele-mission-box p{color:#e0f2fe!important;font-size:clamp(16px,1.6vw,20px)!important;}

.sp-hele-workspace-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
  gap:18px!important;
  margin-top:22px!important;
}
.sp-hele-workspace-grid > div,
.sp-hele-portal-card{
  min-height:104px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:24px!important;
  border-radius:20px!important;
  background:rgba(15,23,42,.84)!important;
  border:1px solid rgba(148,163,184,.42)!important;
  color:#f8fafc!important;
  font-weight:900!important;
  font-size:clamp(17px,1.4vw,22px)!important;
  box-shadow:0 14px 34px rgba(2,6,23,.20)!important;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease!important;
}
.sp-hele-workspace-grid > div:hover,
.sp-hele-portal-card:hover{
  transform:translateY(-3px)!important;
  background:rgba(30,41,59,.96)!important;
  border-color:rgba(96,165,250,.78)!important;
  box-shadow:0 18px 44px rgba(2,6,23,.26)!important;
}

.sp-hele-primary,
.sp-hele-secondary,
.sp-hele-workspace button,
.sp-hele-workspace .button{
  color:#ffffff!important;
}
.sp-hele-workspace a{text-decoration:none!important;}

.sp-hele-workspace input,
.sp-hele-workspace textarea,
.sp-hele-workspace select{
  color:#0f172a!important;
}

@media(max-width:760px){
  .sp-hele-workspace{width:94vw!important;margin:18px auto!important;padding:20px!important;border-radius:22px!important;}
  .sp-hele-workspace-grid{grid-template-columns:1fr!important;}
  .sp-hele-workspace-grid > div{min-height:82px!important;padding:18px!important;}
}


/* SP-HELE Dashboard Control Center v3.1.13 */
body:has(.sp-hele-dashboard-control-center) .post-edit-link,
body:has(.sp-hele-dashboard-control-center) .edit-link,
body:has(.sp-hele-dashboard-control-center) a[href*="action=edit"]{
  display:none!important;
}

.sp-hele-dashboard-control-center{
  width:min(98vw,1760px)!important;
  max-width:1760px!important;
  overflow:hidden!important;
}

.sp-hele-dashboard-hero{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:24px!important;
  margin-bottom:26px!important;
}
.sp-hele-eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  background:rgba(96,165,250,.14)!important;
  border:1px solid rgba(96,165,250,.35)!important;
  color:#93c5fd!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  margin-bottom:14px!important;
}
.sp-hele-dashboard-hero h2{
  margin:0 0 12px!important;
  color:#fff!important;
}
.sp-hele-dashboard-hero p{
  max-width:980px!important;
  margin:0!important;
  color:#dbeafe!important;
  font-size:clamp(16px,1.3vw,20px)!important;
  line-height:1.65!important;
}

.sp-hele-metrics-row{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(170px,1fr))!important;
  gap:18px!important;
  margin:20px 0 26px!important;
}
.sp-hele-metric{
  min-height:130px!important;
  padding:22px!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,rgba(30,41,59,.88),rgba(15,23,42,.92))!important;
  border:1px solid rgba(148,163,184,.36)!important;
  box-shadow:0 16px 38px rgba(2,6,23,.22)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:8px!important;
}
.sp-hele-metric-icon{font-size:26px!important;line-height:1!important;}
.sp-hele-metric strong{
  display:block!important;
  font-size:clamp(30px,3.2vw,46px)!important;
  line-height:1!important;
  color:#fff!important;
  letter-spacing:-.04em!important;
}
.sp-hele-metric small{
  display:block!important;
  color:#cbd5e1!important;
  font-size:14px!important;
  font-weight:800!important;
}

.sp-hele-dashboard-columns{
  display:grid!important;
  grid-template-columns:2fr 1fr!important;
  gap:20px!important;
  align-items:start!important;
}
.sp-hele-wide-panel{grid-column:span 2!important;}
.sp-hele-panel{
  border-radius:24px!important;
  background:rgba(15,23,42,.72)!important;
  border:1px solid rgba(148,163,184,.34)!important;
  padding:22px!important;
  box-shadow:0 16px 36px rgba(2,6,23,.18)!important;
}
.sp-hele-panel h3{
  margin:0 0 16px!important;
  font-size:clamp(20px,1.7vw,28px)!important;
  color:#f8fafc!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}
.sp-hele-action-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
  gap:16px!important;
}
.sp-hele-action-card{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:128px!important;
  padding:22px!important;
  border-radius:20px!important;
  background:rgba(17,24,39,.86)!important;
  border:1px solid rgba(148,163,184,.42)!important;
  color:#fff!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.sp-hele-action-card:hover{
  transform:translateY(-4px) scale(1.01)!important;
  background:rgba(30,41,59,.96)!important;
  border-color:rgba(96,165,250,.82)!important;
  box-shadow:0 22px 46px rgba(2,6,23,.30)!important;
}
.sp-hele-action-card span{font-size:26px!important;margin-bottom:10px!important;}
.sp-hele-action-card strong{
  font-size:clamp(18px,1.35vw,24px)!important;
  color:#fff!important;
  line-height:1.2!important;
}
.sp-hele-action-card small{
  color:#cbd5e1!important;
  font-size:14px!important;
  margin-top:8px!important;
  line-height:1.45!important;
}
.sp-hele-task-list{
  list-style:none!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
}
.sp-hele-task-list li{
  display:flex!important;
  gap:10px!important;
  align-items:flex-start!important;
  padding:13px 14px!important;
  border-radius:14px!important;
  background:rgba(30,41,59,.72)!important;
  border:1px solid rgba(148,163,184,.24)!important;
  color:#e5e7eb!important;
  font-weight:750!important;
  line-height:1.45!important;
}
.sp-hele-task-list li span{color:#93c5fd!important;font-weight:900!important;}

@media(max-width:1100px){
  .sp-hele-metrics-row{grid-template-columns:repeat(2,1fr)!important;}
  .sp-hele-dashboard-columns{grid-template-columns:1fr!important;}
  .sp-hele-wide-panel{grid-column:auto!important;}
}
@media(max-width:640px){
  .sp-hele-metrics-row{grid-template-columns:1fr!important;}
  .sp-hele-action-grid{grid-template-columns:1fr!important;}
  .sp-hele-dashboard-hero{display:block!important;}
}

/* SP-HELE v3.1.14 Live Action Cards */
.sp-hele-live-action-card{
  position:relative!important;
  padding:0!important;
  overflow:hidden!important;
  min-height:170px!important;
}
.sp-hele-live-action-card .sp-hele-action-main{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:128px!important;
  padding:22px 22px 12px!important;
  color:#fff!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
.sp-hele-live-action-card .sp-hele-action-main:focus{
  outline:3px solid rgba(96,165,250,.75)!important;
  outline-offset:-6px!important;
  border-radius:18px!important;
}
.sp-hele-live-action-card .sp-hele-action-icon{
  font-size:30px!important;
  line-height:1!important;
  margin-bottom:12px!important;
  color:#fff!important;
}
.sp-hele-live-action-card .sp-hele-action-meta{
  position:absolute!important;
  top:16px!important;
  right:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:rgba(96,165,250,.16)!important;
  border:1px solid rgba(96,165,250,.38)!important;
  color:#dbeafe!important;
  font-size:12px!important;
  font-style:normal!important;
  font-weight:900!important;
}
.sp-hele-action-buttons{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  padding:0 22px 20px!important;
  margin-top:auto!important;
}
.sp-hele-mini-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:rgba(96,165,250,.14)!important;
  border:1px solid rgba(96,165,250,.36)!important;
  color:#eff6ff!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1!important;
  text-decoration:none!important;
  transition:background .16s ease,border-color .16s ease,transform .16s ease!important;
}
.sp-hele-mini-action:hover,
.sp-hele-mini-action:focus{
  background:rgba(96,165,250,.28)!important;
  border-color:rgba(147,197,253,.86)!important;
  transform:translateY(-1px)!important;
  color:#fff!important;
}
.sp-hele-live-action-card:hover .sp-hele-action-meta{
  border-color:rgba(147,197,253,.8)!important;
  background:rgba(96,165,250,.24)!important;
}
.sp-hele-live-action-card::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:3px;
  background:linear-gradient(90deg,rgba(96,165,250,.0),rgba(96,165,250,.9),rgba(251,191,36,.8));
  opacity:0;
  transition:opacity .18s ease;
}
.sp-hele-live-action-card:hover::after{opacity:1;}


/* SP-HELE v3.1.16 Centered Portal Dashboard Layout Fix
   Keeps existing data/shortcodes intact. Prevents dashboard cards from overflowing the viewport. */
html:has(.sp-hele-dashboard-control-center),
body:has(.sp-hele-dashboard-control-center){
  overflow-x:hidden!important;
}
body:has(.sp-hele-dashboard-control-center) .site,
body:has(.sp-hele-dashboard-control-center) .site-main,
body:has(.sp-hele-dashboard-control-center) .content-area,
body:has(.sp-hele-dashboard-control-center) main,
body:has(.sp-hele-dashboard-control-center) article,
body:has(.sp-hele-dashboard-control-center) .entry-content,
body.sp-hele-portal-page .site,
body.sp-hele-portal-page .site-main,
body.sp-hele-portal-page .content-area,
body.sp-hele-portal-page main,
body.sp-hele-portal-page article,
body.sp-hele-portal-page .entry-content{
  max-width:100%!important;
  width:100%!important;
  overflow-x:hidden!important;
}
.sp-hele-workspace.sp-hele-dashboard-control-center,
.sp-hele-dashboard-control-center{
  width:min(1280px, calc(100vw - 48px))!important;
  max-width:min(1280px, calc(100vw - 48px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow:hidden!important;
  transform:none!important;
}
.sp-hele-dashboard-control-center .sp-hele-dashboard-hero,
.sp-hele-dashboard-control-center .sp-hele-mission-box,
.sp-hele-dashboard-control-center .sp-hele-metrics-row,
.sp-hele-dashboard-control-center .sp-hele-dashboard-columns,
.sp-hele-dashboard-control-center .sp-hele-panel,
.sp-hele-dashboard-control-center .sp-hele-action-grid{
  max-width:100%!important;
  min-width:0!important;
}
.sp-hele-dashboard-control-center .sp-hele-mission-box{
  min-height:0!important;
  padding:clamp(22px,2.6vw,34px)!important;
}
.sp-hele-dashboard-control-center .sp-hele-mission-box h3{
  font-size:clamp(30px,4vw,52px)!important;
  max-width:900px!important;
}
.sp-hele-dashboard-control-center .sp-hele-metrics-row{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.sp-hele-dashboard-control-center .sp-hele-action-grid{
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;
}
.sp-hele-dashboard-control-center .sp-hele-metric,
.sp-hele-dashboard-control-center .sp-hele-action-card,
.sp-hele-dashboard-control-center .sp-hele-live-action-card{
  min-width:0!important;
}
.sp-hele-dashboard-control-center .sp-hele-metric strong,
.sp-hele-dashboard-control-center .sp-hele-action-card strong,
.sp-hele-dashboard-control-center .sp-hele-live-action-card strong,
.sp-hele-dashboard-control-center h2,
.sp-hele-dashboard-control-center h3,
.sp-hele-dashboard-control-center p{
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
@media(max-width:1100px){
  .sp-hele-workspace.sp-hele-dashboard-control-center,
  .sp-hele-dashboard-control-center{
    width:min(100%, calc(100vw - 32px))!important;
    max-width:calc(100vw - 32px)!important;
    padding:24px!important;
  }
  .sp-hele-dashboard-control-center .sp-hele-metrics-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:640px){
  .sp-hele-workspace.sp-hele-dashboard-control-center,
  .sp-hele-dashboard-control-center{
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
    margin:10px auto!important;
    padding:18px!important;
    border-radius:18px!important;
  }
  .sp-hele-dashboard-control-center .sp-hele-metrics-row,
  .sp-hele-dashboard-control-center .sp-hele-action-grid{grid-template-columns:1fr!important;}
}

/* v3.2.3 Portal identity header: logo, profile photo upload, bio */
.sp-hele-identity-hero{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
  min-height:auto !important;
  padding:28px 34px !important;
  overflow:visible !important;
}
.sp-hele-identity-left{
  display:flex;
  align-items:center;
  gap:22px;
  min-width:0;
  flex:1 1 auto;
}
.sp-hele-identity-right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  flex:0 0 auto;
}
.sp-hele-portal-logo-wrap{
  width:92px;
  min-width:92px;
  height:92px;
  border-radius:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 40px rgba(0,0,0,.18);
  overflow:hidden;
}
.sp-hele-portal-logo-img{
  max-width:82px;
  max-height:82px;
  object-fit:contain;
  display:block;
}
.sp-hele-portal-logo-fallback{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  color:#fff;
  text-align:center;
  line-height:1.05;
}
.sp-hele-portal-logo-fallback span{
  width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:#f59e0b;
  color:#0f172a;
  font-weight:900;
  letter-spacing:.02em;
}
.sp-hele-portal-logo-fallback strong{
  font-size:11px;
  max-width:72px;
}
.sp-hele-portal-profile-card{
  width:min(360px, 34vw);
  padding:16px;
  border-radius:22px;
  background:rgba(15,23,42,.72);
  border:1px solid rgba(148,163,184,.34);
  box-shadow:0 18px 42px rgba(0,0,0,.22);
  color:#f8fafc;
}
.sp-hele-profile-head{
  display:flex;
  gap:14px;
  align-items:center;
  margin-bottom:12px;
}
.sp-hele-profile-photo-box{
  width:78px;
  height:78px;
  min-width:78px;
  border-radius:24px;
  position:relative;
  overflow:hidden;
  display:block;
  cursor:pointer;
  background:#1e293b;
  border:2px solid rgba(96,165,250,.75);
}
.sp-hele-profile-photo-box img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.sp-hele-profile-photo-box span{
  position:absolute;
  inset:auto 0 0 0;
  padding:5px 6px;
  background:rgba(15,23,42,.86);
  color:#fff;
  font-size:10px;
  font-weight:800;
  text-align:center;
}
.sp-hele-profile-photo-box input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}
.sp-hele-profile-role{
  display:inline-flex;
  margin-bottom:4px;
  padding:4px 8px;
  border-radius:999px;
  color:#bfdbfe;
  background:rgba(37,99,235,.18);
  border:1px solid rgba(96,165,250,.35);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.sp-hele-profile-head strong{
  display:block;
  color:#fff;
  font-size:17px;
  line-height:1.2;
}
.sp-hele-profile-head small{
  display:block;
  color:#cbd5e1;
  font-size:12px;
  margin-top:2px;
}
.sp-hele-profile-bio-label{
  display:block;
  color:#cbd5e1;
  font-size:12px;
  font-weight:800;
  margin:0 0 6px;
}
.sp-hele-portal-profile-card textarea{
  width:100%;
  min-height:70px;
  resize:vertical;
  border-radius:14px;
  padding:10px 12px;
  color:#0f172a !important;
  background:#f8fafc !important;
  border:1px solid rgba(203,213,225,.85);
  box-shadow:none;
  font-size:13px;
  line-height:1.45;
}
.sp-hele-profile-save{
  margin-top:10px;
  border:0;
  border-radius:999px;
  padding:10px 16px;
  background:#f59e0b;
  color:#111827;
  font-weight:900;
  cursor:pointer;
}
.sp-hele-profile-save:hover{ filter:brightness(1.06); transform:translateY(-1px); }
.sp-hele-profile-notice{
  margin:0 auto 16px;
  max-width:1280px;
  padding:12px 16px;
  border-radius:14px;
  background:#dcfce7;
  color:#14532d;
  border:1px solid #86efac;
  font-weight:800;
}
.sp-hele-profile-error{
  background:#fee2e2;
  color:#7f1d1d;
  border-color:#fecaca;
}
@media (max-width: 1100px){
  .sp-hele-identity-hero{flex-direction:column !important; align-items:stretch !important;}
  .sp-hele-identity-right{justify-content:flex-start; flex-wrap:wrap;}
  .sp-hele-portal-profile-card{width:100%;}
}
@media (max-width: 720px){
  .sp-hele-identity-left{align-items:flex-start; flex-direction:column;}
  .sp-hele-portal-logo-wrap{width:74px; height:74px; min-width:74px; border-radius:20px;}
  .sp-hele-identity-hero{padding:22px !important;}
}

/* v3.2.4 Facebook-style portal profile header (Student / Teacher / Parent) */
.sp-hele-portal-profile-section{
  margin:0 auto 28px !important;
  width:min(100%, 1480px) !important;
}
.sp-hele-fb-profile-card{
  width:100% !important;
  overflow:hidden !important;
  border-radius:28px !important;
  background:#fff !important;
  border:1px solid rgba(226,232,240,.95) !important;
  box-shadow:0 28px 80px rgba(15,23,42,.16) !important;
  color:#0f172a !important;
  position:relative !important;
}
.sp-hele-fb-file{display:none!important;}
.sp-hele-fb-cover{
  min-height:260px !important;
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:32px !important;
  background-image:
    radial-gradient(circle at 15% 25%, rgba(96,165,250,.18), transparent 22%),
    radial-gradient(circle at 85% 30%, rgba(249,115,22,.22), transparent 20%),
    linear-gradient(120deg, #0f1f4d 0%, #312e81 52%, #ef6c32 120%) !important;
  background-size:cover !important;
  background-position:center !important;
}
.sp-hele-fb-cover:before{
  content:'📖  ✏️  🔬  🌍  α-b-c  ⭐';
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:space-around;
  color:rgba(255,255,255,.18);
  font-size:42px;
  letter-spacing:24px;
  pointer-events:none;
}
.sp-hele-fb-cover-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(15,23,42,.06), rgba(15,23,42,.18));
  pointer-events:none;
}
.sp-hele-fb-logo{
  position:relative; z-index:2;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  transform:translateY(-8px);
}
.sp-hele-fb-logo .sp-hele-portal-logo-wrap,
.sp-hele-fb-logo .sp-hele-portal-logo-img{
  width:auto!important;
  height:auto!important;
  max-width:360px!important;
  max-height:130px!important;
  border-radius:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.sp-hele-fb-logo .sp-hele-portal-logo-fallback{
  flex-direction:row!important;
  gap:24px!important;
  color:#fff!important;
  text-shadow:0 6px 20px rgba(0,0,0,.25);
}
.sp-hele-fb-logo .sp-hele-portal-logo-fallback span{
  width:112px!important;
  height:112px!important;
  font-size:48px!important;
  border-radius:30px!important;
  background:#fff!important;
  color:#f59e0b!important;
}
.sp-hele-fb-logo .sp-hele-portal-logo-fallback strong{
  max-width:none!important;
  font-size:46px!important;
  line-height:1.05!important;
}
.sp-hele-fb-cover-actions{
  position:absolute!important;
  z-index:3!important;
  right:28px!important;
  top:28px!important;
  display:flex!important;
  gap:12px!important;
  flex-wrap:wrap!important;
}
.sp-hele-fb-mini-btn,
.sp-hele-fb-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border-radius:12px!important;
  padding:12px 18px!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1!important;
  cursor:pointer!important;
  text-decoration:none!important;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease!important;
  white-space:nowrap!important;
}
.sp-hele-fb-mini-btn{
  background:rgba(15,23,42,.62)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.24)!important;
  backdrop-filter:blur(10px);
}
.sp-hele-fb-btn:hover,
.sp-hele-fb-mini-btn:hover{transform:translateY(-1px); filter:brightness(1.05);}
.sp-hele-fb-profile-body{
  position:relative!important;
  display:grid!important;
  grid-template-columns:180px 1fr auto!important;
  gap:26px!important;
  align-items:end!important;
  padding:0 36px 30px!important;
  min-height:174px!important;
}
.sp-hele-fb-avatar{
  width:172px!important;
  height:172px!important;
  border-radius:50%!important;
  margin-top:-82px!important;
  position:relative!important;
  z-index:4!important;
  display:block!important;
  cursor:pointer!important;
  background:#fff!important;
  border:7px solid #fff!important;
  box-shadow:0 18px 42px rgba(15,23,42,.22)!important;
  overflow:visible!important;
}
.sp-hele-fb-avatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  border-radius:50%!important;
}
.sp-hele-fb-avatar span{
  position:absolute!important;
  right:6px!important;
  bottom:8px!important;
  width:44px!important;
  height:44px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#0f172a!important;
  color:#fff!important;
  border:4px solid #fff!important;
  box-shadow:0 10px 22px rgba(15,23,42,.22)!important;
}
.sp-hele-fb-info{
  padding:24px 0 2px!important;
  min-width:0!important;
}
.sp-hele-fb-info h3{
  margin:0 0 6px!important;
  color:#0f172a!important;
  font-size:32px!important;
  line-height:1.1!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
}
.sp-hele-fb-role{
  display:inline-flex!important;
  margin:0 0 12px!important;
  color:#4f46e5!important;
  background:#eef2ff!important;
  border:1px solid #c7d2fe!important;
  border-radius:999px!important;
  padding:5px 10px!important;
  font-size:13px!important;
  font-weight:900!important;
}
.sp-hele-fb-info textarea{
  width:100%!important;
  max-width:680px!important;
  min-height:62px!important;
  resize:vertical!important;
  border:0!important;
  border-radius:14px!important;
  padding:10px 0!important;
  color:#334155!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:16px!important;
  line-height:1.5!important;
  outline:none!important;
}
.sp-hele-fb-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  padding-bottom:4px!important;
}
.sp-hele-fb-btn-light{
  color:#334155!important;
  background:#fff!important;
  border:1px solid #cbd5e1!important;
  box-shadow:0 8px 20px rgba(15,23,42,.06)!important;
}
.sp-hele-fb-btn-primary{
  color:#fff!important;
  background:linear-gradient(135deg, #4f46e5, #7c3aed)!important;
  border:0!important;
  box-shadow:0 14px 28px rgba(79,70,229,.25)!important;
}
.sp-hele-student-profile-section .sp-hele-fb-cover{background-image:linear-gradient(120deg,#0f1f4d 0%,#312e81 52%,#ef6c32 120%)!important;}
.sp-hele-teacher-profile-section .sp-hele-fb-cover{background-image:linear-gradient(120deg,#0f1f4d 0%,#115e59 58%,#22c55e 120%)!important;}
.sp-hele-parent-profile-section .sp-hele-fb-cover{background-image:linear-gradient(120deg,#1e1b4b 0%,#7e22ce 50%,#fb7185 120%)!important;}
.sp-hele-profile-continue{margin:16px 0 0 auto!important; width:max-content!important; display:flex!important;}
@media (max-width: 980px){
  .sp-hele-fb-cover{min-height:220px!important;}
  .sp-hele-fb-profile-body{grid-template-columns:130px 1fr!important; align-items:start!important;}
  .sp-hele-fb-actions{grid-column:1 / -1; justify-content:flex-start!important;}
  .sp-hele-fb-avatar{width:126px!important;height:126px!important;margin-top:-58px!important;border-width:5px!important;}
  .sp-hele-fb-info h3{font-size:26px!important;}
}
@media (max-width: 640px){
  .sp-hele-fb-profile-card{border-radius:22px!important;}
  .sp-hele-fb-cover{min-height:190px!important;padding:22px!important;}
  .sp-hele-fb-cover-actions{right:14px!important;top:14px!important;}
  .sp-hele-fb-mini-btn{padding:10px 12px!important;font-size:12px!important;}
  .sp-hele-fb-profile-body{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;padding:0 18px 24px!important;}
  .sp-hele-fb-avatar{margin-top:-56px!important;}
  .sp-hele-fb-actions{justify-content:center!important;}
  .sp-hele-fb-info textarea{text-align:center!important;}
}
