.account-menu-wrap{position:relative}.account-pill{border:0;background:rgba(255,255,255,.72);cursor:pointer;font:inherit;text-align:left}.account-menu-chevron{margin-left:10px;color:#6b7280}.account-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:90;width:220px;padding:8px;border:1px solid rgba(25,35,58,.1);border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 20px 60px rgba(18,31,61,.18);backdrop-filter:blur(20px)}.account-menu button{display:block;width:100%;padding:12px 14px;border:0;border-radius:12px;background:transparent;text-align:left;font:600 14px Manrope,sans-serif;color:#263247;cursor:pointer}.account-menu button:hover{background:#f2f5fb}.account-menu button:last-child{color:#9b3a46;border-top:1px solid #edf0f5;margin-top:5px;border-radius:0 0 12px 12px}

.account-page{width:min(100%,1120px);margin:0 auto;padding:40px 0 104px}
.account-page-hero{display:flex;justify-content:space-between;gap:56px;align-items:flex-end;margin:12px 0 38px}
.account-page-hero-copy{max-width:760px}
.account-eyebrow,.account-panel-kicker{display:block;color:#4b50b6;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.account-eyebrow{margin-bottom:16px}
.account-page-hero h1{max-width:760px;margin:0 0 16px;color:#172238;font-size:clamp(46px,5vw,72px);font-weight:750;line-height:.96;letter-spacing:-.058em}
.account-page-hero p{max-width:640px;margin:0;color:#677389;font-size:17px;line-height:1.62}
.account-membership-badge{display:flex;align-items:center;gap:12px;min-width:178px;padding:16px 18px;border:1px solid rgba(47,49,146,.11);border-radius:22px;background:rgba(255,255,255,.82);box-shadow:0 16px 46px rgba(24,38,74,.07);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.account-membership-dot{width:10px;height:10px;flex:0 0 auto;border-radius:999px;background:#20a464;box-shadow:0 0 0 5px rgba(32,164,100,.1)}
.account-membership-badge span:not(.account-membership-dot){display:block;color:#778197;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.account-membership-badge strong{display:block;margin-top:3px;color:#172238;font-size:18px;font-weight:800}

.account-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.account-panel{padding:30px;border:1px solid rgba(26,40,70,.085);border-radius:30px;background:rgba(255,255,255,.78);box-shadow:0 18px 56px rgba(28,45,85,.055);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.account-panel h2{margin:9px 0 14px;color:#202b40;font-size:30px;font-weight:750;line-height:1.08;letter-spacing:-.04em}
.account-panel p{font-size:15px;line-height:1.62;color:var(--muted)}
.account-panel-intro{max-width:520px;margin:-2px 0 22px!important}
.account-detail-row{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-top:1px solid rgba(26,40,70,.075);font-size:14px}.account-detail-row span{color:#758096}.account-detail-row strong{color:#172238;font-weight:700;overflow-wrap:anywhere}
.account-email-row{margin-top:20px}

.account-profile-form{margin-top:22px}
.account-profile-form label{display:grid;gap:8px}
.account-profile-form label>span{color:#3d485c;font-size:12px;font-weight:800}
.account-name-edit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.account-name-edit-row input{width:100%;min-height:50px;padding:0 15px;border:1px solid rgba(25,38,67,.11);border-radius:15px;outline:0;background:#f9fafc;color:#172238;font:650 14px Manrope,sans-serif;transition:border-color 160ms ease,box-shadow 160ms ease,background 160ms ease}
.account-name-edit-row input:focus{border-color:rgba(79,70,229,.38);background:#fff;box-shadow:0 0 0 4px rgba(79,70,229,.075)}
.account-name-edit-row button{min-width:78px;padding:0 17px;border:0;border-radius:15px;background:#182957;color:#fff;font:750 13px Manrope,sans-serif;box-shadow:0 10px 22px rgba(24,41,87,.15);cursor:pointer;transition:transform 160ms ease,box-shadow 160ms ease,opacity 160ms ease}
.account-name-edit-row button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 28px rgba(24,41,87,.19)}
.account-name-edit-row button:disabled{opacity:.6;cursor:default}
.account-profile-form small{color:#8992a3;font-size:11px;line-height:1.45}

.account-billing-panel{background:linear-gradient(145deg,#14234f 0%,#243f88 100%);color:#fff;box-shadow:0 24px 62px rgba(24,48,111,.16)}
.account-billing-panel h2{color:#fff}.account-billing-panel p,.account-billing-panel small{color:rgba(255,255,255,.76)}.account-billing-panel .account-panel-kicker{color:#d8dcff}.account-billing-panel .compass-primary-btn{margin:8px 0 12px;background:#fff;color:#17306f;box-shadow:0 10px 26px rgba(0,0,0,.11)}
.account-student-panel{grid-column:1/-1}.account-toggle-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid rgba(26,40,70,.075)}.account-toggle-row span{display:grid;gap:5px}.account-toggle-row small{color:var(--muted);line-height:1.45}.account-toggle-row input{width:22px;height:22px;accent-color:#4f46e5}
.account-page #dashboard-family-access{display:block!important;margin:0;padding:0;border:0;background:transparent;box-shadow:none}.account-page #dashboard-family-access .dashboard-family-access-inner{padding:0}
.account-student-panel-primary{position:relative;overflow:hidden;padding:34px;background:linear-gradient(145deg,rgba(249,250,255,.98),rgba(242,245,255,.92));border-color:rgba(74,83,217,.13);box-shadow:0 24px 70px rgba(42,58,120,.08)}
.account-student-panel-primary:before{content:"";position:absolute;right:-90px;top:-120px;width:280px;height:280px;border-radius:999px;background:radial-gradient(circle,rgba(102,91,238,.12),rgba(102,91,238,0) 70%);pointer-events:none}
.account-student-panel-primary>p{max-width:760px;margin-bottom:24px}.account-student-panel-primary #dashboard-family-access{position:relative;z-index:1}.account-student-panel-primary .dashboard-family-access-visual{min-height:150px}
.account-student-panel-primary .dashboard-family-access-heading>div,.account-student-panel-primary #dashboard-family-access-description{display:none}.account-student-panel-primary .dashboard-family-access-heading{justify-content:flex-end}.account-student-panel-primary .dashboard-family-invite-form{margin-top:4px}
.compass-toast-root{position:fixed;right:24px;bottom:24px;z-index:220;display:grid;gap:10px;pointer-events:none}.compass-toast{min-width:280px;max-width:440px;padding:14px 17px;border:1px solid rgba(255,255,255,.18);border-radius:16px;color:#fff;background:#17223f;box-shadow:0 20px 55px rgba(16,24,40,.24);font:700 13px/1.5 Manrope,sans-serif;opacity:0;transform:translateY(8px);transition:opacity 160ms ease,transform 160ms ease}.compass-toast.success{background:#11623f}.compass-toast.error{background:#982b24}.compass-toast.show{opacity:1;transform:translateY(0)}

@media(max-width:800px){.account-page-grid{grid-template-columns:1fr}.account-page-hero{display:grid;gap:22px}.account-membership-badge{width:max-content}.account-student-panel{grid-column:auto}.account-page{padding:24px 18px 100px}.account-page-hero h1{font-size:clamp(42px,12vw,58px)}}
@media(max-width:600px){.account-student-panel-primary{padding:24px 20px}.account-panel{padding:24px 20px;border-radius:26px}.account-name-edit-row{grid-template-columns:1fr}.account-name-edit-row button{min-height:48px}.compass-toast-root{left:12px;right:12px;bottom:88px}.compass-toast{min-width:0;max-width:none}}

/* Parent account polish: connected-note clipping + premium membership card */
.account-student-panel-primary .dashboard-family-access-copy{
  overflow:visible!important;
}
.account-student-panel-primary .dashboard-family-access-message{
  position:relative;
  width:auto!important;
  max-width:100%!important;
  margin:16px 0 0!important;
  padding:0 8px!important;
  overflow:visible!important;
  text-indent:0!important;
  transform:none!important;
  color:#68758b;
  font-size:12px;
  font-weight:650;
  line-height:1.55;
}

.account-billing-panel{
  position:relative;
  overflow:hidden;
  min-height:100%;
  padding:30px;
  border:1px solid rgba(47,49,146,.10);
  background:
    radial-gradient(circle at 92% 2%,rgba(91,82,226,.10),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.96),rgba(248,249,255,.94));
  color:#172238;
  box-shadow:0 22px 64px rgba(35,48,95,.08);
}
.account-billing-panel:after{
  content:"";
  position:absolute;
  right:-72px;
  bottom:-88px;
  width:210px;
  height:210px;
  border:1px solid rgba(79,70,229,.08);
  border-radius:999px;
  pointer-events:none;
}
.account-billing-topline{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:28px;
}
.account-billing-mark{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border:1px solid rgba(79,70,229,.10);
  border-radius:16px;
  background:linear-gradient(145deg,#f2f3ff,#e7e9ff);
  box-shadow:0 12px 26px rgba(65,61,170,.10);
}
.account-billing-mark svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:#4649ad;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.account-billing-status{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:32px;
  padding:0 12px;
  border:1px solid rgba(22,163,74,.12);
  border-radius:999px;
  background:#f0faf4;
  color:#247a4d;
  font-size:11px;
  font-weight:800;
}
.account-billing-status i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#25a866;
  box-shadow:0 0 0 4px rgba(37,168,102,.10);
}
.account-billing-panel .account-panel-kicker{position:relative;z-index:1;color:#565ab8}
.account-billing-panel h2{
  position:relative;
  z-index:1;
  max-width:430px;
  margin:9px 0 13px;
  color:#18233a;
  font-size:32px;
}
.account-billing-panel p{
  position:relative;
  z-index:1;
  max-width:480px;
  margin:0;
  color:#69758a;
  font-size:15px;
  line-height:1.62;
}
.account-billing-action-row{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid rgba(29,42,75,.08);
}
.account-billing-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:0 18px;
  border:0;
  border-radius:15px;
  background:#172957;
  color:#fff;
  font:750 13px Manrope,sans-serif;
  box-shadow:0 12px 26px rgba(23,41,87,.16);
  cursor:pointer;
  transition:transform 160ms ease,box-shadow 160ms ease,background 160ms ease;
}
.account-billing-button:hover{
  transform:translateY(-1px);
  background:#1d346f;
  box-shadow:0 16px 32px rgba(23,41,87,.20);
}
.account-billing-button svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.account-billing-action-row>span{
  color:#8490a3;
  font-size:11px;
  font-weight:700;
}

@media(max-width:600px){
  .account-billing-panel{padding:24px 20px}
  .account-billing-topline{margin-bottom:22px}
  .account-billing-panel h2{font-size:28px}
  .account-billing-action-row{align-items:stretch}
  .account-billing-button{width:100%}
}
