/* CurioSpark v7.58 — Family Portal learner manager + purchase history */
.fp-manager-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1rem;margin:1rem 0}.fp-manager-card{min-width:0;padding:1.15rem;border:1px solid rgba(95,37,121,.15);border-radius:1.35rem;background:#fff;box-shadow:0 12px 28px rgba(45,24,64,.05)}.fp-manager-card--learners{background:linear-gradient(145deg,#fffdf8,#fdfaff)}.fp-manager-card--purchases{background:linear-gradient(145deg,#fdfaff,#fbf8ff)}.fp-manager-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.fp-manager-head h2{margin:.15rem 0 .42rem;color:#431258;font:750 clamp(1.4rem,2.4vw,2rem)/1.08 Fraunces,Georgia,serif}.fp-manager-head p{margin:.2rem 0;color:#695d74;line-height:1.5}.fp-manager-head .button{flex:0 0 auto}.fp-learner-list{display:grid;gap:.65rem;margin-top:1rem}.fp-learner-card{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:.9rem 1rem;border:1px solid rgba(95,37,121,.13);border-radius:1rem;background:rgba(255,255,255,.78)}.fp-learner-card h3{margin:.12rem 0;font:800 1.05rem/1.2 Inter,system-ui,sans-serif;color:#4a1766}.fp-learner-card p{margin:.2rem 0;color:#67576e;font-size:.9rem}.fp-learner-card small{color:#84758d;font-size:.8rem}.fp-family-actions{margin-top:.8rem}.fp-editor-slot{margin-top:1rem}.fp-learner-form{display:grid;gap:.85rem;padding:1rem;border:1px solid rgba(95,37,121,.17);border-radius:1.05rem;background:#fff}.fp-form-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.fp-form-heading h3{margin:.12rem 0;color:#431258;font:750 1.3rem/1.1 Fraunces,Georgia,serif}.fp-form-note{margin:0;color:#65566d;font-size:.9rem}.fp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.fp-form-grid label{display:grid;gap:.35rem;color:#4d1c67;font-size:.87rem;font-weight:800}.fp-form-grid label span{color:#82718b;font-size:.77rem;font-weight:650}.fp-form-grid label.full{grid-column:1 / -1}.fp-form-grid input,.fp-form-grid select,.fp-form-grid textarea{width:100%;box-sizing:border-box;border:1px solid rgba(95,37,121,.23);border-radius:.75rem;padding:.7rem .78rem;background:#fff;color:#321143;font:500 .95rem/1.35 Inter,system-ui,sans-serif}.fp-form-grid textarea{min-height:78px;resize:vertical}.fp-form-grid input:focus,.fp-form-grid select:focus,.fp-form-grid textarea:focus{outline:3px solid rgba(255,202,31,.32);border-color:#e5b81a}.fp-form-actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}.fp-form-actions [data-fp-learner-save-status]{font-size:.88rem;font-weight:700;color:#6f6078}.fp-form-actions [data-fp-learner-save-status].is-error{color:#9d2740}.fp-quiet-button{border:0;background:transparent;padding:.2rem;color:#572174;font:700 .9rem/1.2 Inter,system-ui,sans-serif;text-decoration:underline;cursor:pointer}.fp-purchase-list{display:grid;gap:.7rem;margin-top:1rem}.fp-purchase-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:start;padding:.95rem 1rem;border:1px solid rgba(95,37,121,.13);border-radius:1rem;background:rgba(255,255,255,.78)}.fp-purchase-card h3{margin:.12rem 0;color:#4a1766;font:800 1rem/1.25 Inter,system-ui,sans-serif}.fp-purchase-card p{margin:.22rem 0;color:#6a5a72;font-size:.87rem}.fp-purchase-meta{display:grid;gap:.48rem;justify-items:end;text-align:right;color:#39104f}.fp-purchase-meta strong{font:750 1.05rem/1 Fraunces,Georgia,serif}.fp-status-pill{display:inline-flex;align-items:center;padding:.28rem .52rem;border-radius:999px;font-size:.76rem;font-weight:850;white-space:nowrap}.fp-status-pill.good{background:#eaf6eb;color:#24713f}.fp-status-pill.warn{background:#fff0ca;color:#8d5b00}.fp-status-pill.neutral{background:#eee9f1;color:#5f5069}.fp-purchase-attention{color:#926019!important;font-weight:750}.fp-payhip-help{margin-top:1rem;border-top:1px solid rgba(95,37,121,.12);padding-top:.85rem;color:#67576e;font-size:.9rem}.fp-payhip-help summary{cursor:pointer;color:#4b1768;font-weight:850}.fp-payhip-help ol{margin:.65rem 0 0;padding-left:1.15rem;display:grid;gap:.42rem;line-height:1.45}.fp-empty-card,.fp-manager-loading,.fp-manager-error{margin-top:1rem;padding:1rem;border:1px dashed rgba(95,37,121,.28);border-radius:1rem;background:#fffcf4;color:#62546a}.fp-empty-card strong,.fp-manager-error strong{color:#45145f}.fp-empty-card p,.fp-manager-error p{margin:.4rem 0 .8rem;line-height:1.45}@media(max-width:900px){.fp-manager-grid{grid-template-columns:1fr}.fp-manager-head{flex-direction:column}.fp-manager-head .button{width:100%;justify-content:center}}@media(max-width:600px){.fp-manager-card{padding:1rem}.fp-learner-card{align-items:flex-start;flex-direction:column}.fp-learner-card .button{width:100%;justify-content:center}.fp-form-grid{grid-template-columns:1fr}.fp-form-grid label.full{grid-column:auto}.fp-purchase-card{grid-template-columns:1fr}.fp-purchase-meta{justify-items:start;text-align:left;grid-auto-flow:column;justify-content:start;align-items:center}.fp-form-actions .button{width:100%;justify-content:center}}

/* v7.60.1 — read-only annual payment arrangement card for families */
.fp-payment-plan-card{display:grid;gap:.85rem;background:linear-gradient(145deg,#fffdf5,#faf5ff)}
.fp-payment-plan-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}
.fp-payment-plan-card h2{margin:.18rem 0 .35rem}.fp-payment-plan-card p{margin:.3rem 0;color:#695d74}
.fp-plan-status{display:inline-flex;align-items:center;justify-content:center;padding:.42rem .65rem;border-radius:999px;font-size:.77rem;font-weight:900;white-space:nowrap}
.fp-plan-status.good{background:#e8f4ea;color:#28714d}.fp-plan-status.warn{background:#fff0c9;color:#875800}.fp-plan-status.bad{background:#fde5e5;color:#9a2331}
.fp-plan-progress{height:.66rem;border-radius:999px;overflow:hidden;background:#eee4f4}.fp-plan-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5f2579,#a667b8)}
.fp-plan-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.fp-plan-facts div{padding:.68rem;border:1px solid rgba(95,37,121,.14);border-radius:.75rem;background:#fff}.fp-plan-facts strong{display:block;color:#401358;font-size:1rem}.fp-plan-facts span{display:block;margin-top:.16rem;color:#796885;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.fp-payment-plan-card .button-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.1rem}.fp-payment-plan-card .button{margin:0}
@media(max-width:600px){.fp-payment-plan-head{align-items:flex-start;flex-direction:column}.fp-plan-facts{grid-template-columns:1fr}.fp-payment-plan-card .button{width:100%;justify-content:center}}


/* v7.60.2 — Family Portal enrollment helper visual repair
   Restores the composed card layout for the guided enrollment steps. */
.fp-enrollment-helper{
  margin:1rem 0 1.15rem;
  padding:clamp(1rem,2.4vw,1.5rem);
  border:1px solid rgba(95,37,121,.16);
  border-radius:1.4rem;
  background:linear-gradient(135deg,#fffdf7 0%,#fff 45%,#f9f2ff 100%);
  box-shadow:0 14px 34px rgba(58,25,74,.07);
}
.fp-enrollment-helper-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}
.fp-enrollment-helper h2{
  margin:.18rem 0 .45rem;
  color:#431258;
  font:750 clamp(1.75rem,3vw,2.55rem)/1.02 Fraunces,Georgia,serif;
  letter-spacing:-.025em;
}
.fp-enrollment-helper-head > div > p:not(.eyebrow){
  max-width:48rem;
  margin:0;
  color:#695d74;
  line-height:1.55;
}
.fp-progress-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:2rem;
  padding:.38rem .7rem;
  border:1px solid rgba(95,37,121,.16);
  border-radius:999px;
  background:#f3ebf8;
  color:#5f2579;
  font-size:.8rem;
  font-weight:900;
  white-space:nowrap;
}
.fp-progress-badge.is-ready{
  border-color:rgba(42,119,74,.18);
  background:#e9f6ea;
  color:#267044;
}
.fp-enrollment-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.7rem;
  margin:1.1rem 0 .9rem;
}
.fp-enrollment-step{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:.7rem;
  min-width:0;
  padding:.9rem;
  border:1px solid rgba(95,37,121,.13);
  border-radius:1rem;
  background:rgba(255,255,255,.8);
}
.fp-enrollment-step.is-complete{
  border-color:rgba(39,111,71,.21);
  background:linear-gradient(145deg,#f4fbf4,#fff);
}
.fp-enrollment-step-number{
  display:grid;
  place-items:center;
  width:1.85rem;
  height:1.85rem;
  flex:0 0 auto;
  border-radius:50%;
  background:#ffcc2e;
  color:#431258;
  font-size:.88rem;
  font-weight:950;
  line-height:1;
}
.fp-enrollment-step.is-complete .fp-enrollment-step-number{
  background:#dff2e2;
  color:#267044;
}
.fp-enrollment-step h3{
  margin:.06rem 0 .3rem;
  color:#44145e;
  font:800 1rem/1.22 Inter,system-ui,sans-serif;
}
.fp-enrollment-step p{
  margin:0;
  color:#695d74;
  font-size:.88rem;
  line-height:1.45;
}
.fp-text-link,.fp-text-button{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  width:max-content;
  max-width:100%;
  margin-top:.58rem;
  padding:0;
  border:0;
  background:transparent;
  color:#592072;
  font:800 .88rem/1.35 Inter,system-ui,sans-serif;
  text-decoration:underline;
  text-underline-offset:.18em;
  cursor:pointer;
}
.fp-text-link:hover,.fp-text-button:hover{color:#3f1056}
.fp-checkout-return{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:1rem;
  padding:.88rem 1rem;
  border:1px solid rgba(151,99,8,.18);
  border-radius:1rem;
  background:#fff8df;
  color:#69531f;
}
.fp-checkout-return strong{display:block;color:#6d4a00;margin-bottom:.16rem}
.fp-checkout-return p{margin:0;font-size:.9rem;line-height:1.45}
.fp-enrollment-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding-top:.15rem;
}
.fp-enrollment-footer p{
  max-width:52rem;
  margin:0;
  color:#67586f;
  font-size:.92rem;
  line-height:1.5;
}
.fp-enrollment-footer .button{flex:0 0 auto;margin:0}
@media(max-width:980px){
  .fp-enrollment-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .fp-enrollment-helper{padding:1rem;border-radius:1.1rem}
  .fp-enrollment-helper-head,.fp-enrollment-footer,.fp-checkout-return{align-items:stretch;flex-direction:column}
  .fp-progress-badge{align-self:flex-start}
  .fp-enrollment-steps{grid-template-columns:1fr}
  .fp-enrollment-step{padding:.85rem}
  .fp-enrollment-footer .button,.fp-checkout-return .button{width:100%;justify-content:center}
}


/* v7.60.5 — Put the safe “Already paid?” recovery link beside progress, not in a duplicate status card. */
.fp-enrollment-helper-tools{
  display:flex;
  flex:0 0 auto;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:.55rem;
}
.fp-enrollment-helper-tools .button{margin:0;white-space:nowrap}
.fp-payment-recovery-button{font-size:.8rem}
@media(max-width:640px){
  .fp-enrollment-helper-tools{align-self:stretch;justify-content:flex-start}
  .fp-enrollment-helper-tools .button{width:auto}
}
/* CurioSpark v7.64 — workshop payment plans */
.fp-workshop-plan-card{margin-top:1rem}.fp-workshop-plan-list{display:grid;gap:.75rem}.fp-workshop-plan-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;border:1px solid rgba(95,37,121,.16);border-radius:16px;padding:1rem;background:#fffdfa}.fp-workshop-plan-row h3{margin:.15rem 0 .35rem}.fp-workshop-plan-row p{margin:.1rem 0;color:#66566e}.fp-workshop-plan-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.55rem;min-width:12rem}.fp-workshop-plan-actions .button{white-space:nowrap}@media(max-width:640px){.fp-workshop-plan-row{flex-direction:column;align-items:flex-start}.fp-workshop-plan-actions{align-items:flex-start;min-width:0;width:100%}.fp-workshop-plan-actions .button{width:100%}}

/* v7.72.3: show that the sibling reduction has already been applied to the plan. */
.fp-workshop-plan-discount { max-width:42rem; margin:.55rem 0 0; color:#26714d; font-size:.86rem; font-weight:650; line-height:1.45; }
.fp-workshop-plan-discount strong { color:#1d5f3f; }

/* CurioSpark v9.5.1 — email deep-link destination states. */
.fp-email-link-status{margin:0 0 1rem;padding:.8rem 1rem;border:1px solid #d9c7e2;border-radius:12px;background:#fbf7fc;color:#4a3154;font-weight:650;line-height:1.45}
.fp-email-link-status.is-good{border-color:#b9d7c6;background:#f3faf6;color:#245f3d}
.fp-email-link-status.is-warn{border-color:#e6c98b;background:#fff9eb;color:#765215}
.fp-email-deep-link-focus{outline:3px solid #d8ad32;outline-offset:4px;scroll-margin-top:8rem}
@media (max-width:430px){.fp-email-link-status{padding:.75rem .85rem}.fp-email-deep-link-focus{scroll-margin-top:6.5rem}}

/* v9.6.2 — Family Portal programs clarity
   Groups current registrations by learner and uses precise, parent-facing status language. */
.fp-manager-card--programs{overflow:hidden}
.fp-program-list{display:grid;gap:1.35rem;margin-top:1.1rem}
.fp-program-learner-group{min-width:0}
.fp-program-learner-group + .fp-program-learner-group{padding-top:.15rem}
.fp-program-learner-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:0 0 .62rem;border-bottom:1px solid rgba(95,37,121,.18)}
.fp-program-learner-head .eyebrow{margin:0 0 .18rem}
.fp-program-learner-head h3{margin:0;color:#431258;font:750 clamp(1.25rem,2.2vw,1.65rem)/1.08 Fraunces,Georgia,serif;letter-spacing:-.015em;overflow-wrap:anywhere}
.fp-program-learner-head>span{flex:0 0 auto;color:#75667d;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.fp-program-rows{display:grid}
.fp-program-status-card{min-width:0;padding:.9rem 0;border-bottom:1px solid rgba(95,37,121,.11);background:transparent;box-shadow:none}
.fp-program-status-card:last-child{border-bottom:0;padding-bottom:.1rem}
.fp-program-status-title{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;min-width:0}
.fp-program-status-title h4{min-width:0;margin:0;color:#45145f;font:800 1rem/1.3 Inter,system-ui,sans-serif;overflow-wrap:anywhere}
.fp-program-status-title .fp-status-pill{flex:0 0 auto;max-width:min(15rem,52%);justify-content:center;white-space:normal;text-align:center;line-height:1.2}
.fp-program-status-detail{max-width:58ch;margin:.38rem 0 0;color:#66556f;font-size:.9rem;line-height:1.48}
.fp-program-status-meta{margin:.48rem 0 0;color:#817389;font-size:.76rem;line-height:1.35}
.fp-program-status-meta span{font-weight:800;color:#675770}
.fp-manager-card--programs .fp-empty-card{margin-bottom:0}
@media(max-width:600px){
  .fp-program-list{gap:1.15rem}
  .fp-program-learner-head{align-items:flex-start}
  .fp-program-status-card{padding:.82rem 0}
  .fp-program-status-title{display:grid;gap:.48rem}
  .fp-program-status-title .fp-status-pill{justify-self:start;max-width:100%}
  .fp-program-status-detail{font-size:.88rem}
}


/* v9.6.3.1 — Family Portal cumulative status delivery compatibility refresh */

/* v9.6.4 — Family Portal priority, enrollment prominence, and payment-plan clarity. */
.fp-programs-primary{margin:1rem 0 1.15rem;border-color:rgba(95,37,121,.24);border-left:5px solid #5f2579;background:linear-gradient(135deg,#fff 0%,#fffdf8 52%,#fbf5ff 100%);box-shadow:0 16px 36px rgba(65,25,80,.07);scroll-margin-top:7rem}
.fp-programs-primary>.fp-manager-head{align-items:center}
.fp-programs-primary>.fp-manager-head h2{font-size:clamp(1.75rem,3.2vw,2.55rem)}
.fp-program-overview{display:flex;flex-wrap:wrap;gap:.55rem;margin:.95rem 0 .25rem}
.fp-program-overview>span{display:inline-flex;align-items:baseline;gap:.3rem;min-height:2.25rem;padding:.46rem .72rem;border:1px solid rgba(95,37,121,.14);border-radius:999px;background:#f7f0fa;color:#5f5069;font-size:.8rem;font-weight:750}
.fp-program-overview strong{color:#431258;font-size:1rem}
.fp-program-overview .is-review{border-color:rgba(160,105,4,.2);background:#fff7dc;color:#765215}
.fp-priority-payments{margin:1rem 0 1.15rem;padding:clamp(1rem,2.2vw,1.35rem);border:1px solid rgba(172,111,0,.24);border-left:5px solid #e5a600;border-radius:1.25rem;background:linear-gradient(135deg,#fffaf0,#fff 62%,#fbf5ff);box-shadow:0 12px 30px rgba(82,53,0,.06)}
.fp-priority-payments.is-upcoming{border-color:rgba(95,37,121,.2);border-left-color:#8a56a0;background:linear-gradient(135deg,#fcf8ff,#fff)}
.fp-priority-payments-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.fp-priority-payments-head h2{margin:.15rem 0 .4rem;color:#431258;font:750 clamp(1.55rem,2.7vw,2.2rem)/1.05 Fraunces,Georgia,serif}
.fp-priority-payments-head p{max-width:50rem;margin:0;color:#695d74;line-height:1.5}
.fp-priority-payment-list{display:grid;gap:.7rem;margin-top:1rem}
.fp-priority-payment-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.9rem 1rem;border:1px solid rgba(95,37,121,.14);border-radius:1rem;background:#fff}
.fp-priority-payment-row h3{margin:.12rem 0 .28rem;color:#45145f;font:800 1.05rem/1.25 Inter,system-ui,sans-serif}
.fp-priority-payment-row p{margin:.15rem 0;color:#6b5a72;font-size:.88rem;line-height:1.4}
.fp-priority-payment-action{display:grid;justify-items:end;gap:.48rem;min-width:13rem;text-align:right}
.fp-priority-payment-action>strong{color:#431258;font:750 1.45rem/1 Fraunces,Georgia,serif;font-variant-numeric:tabular-nums}
.fp-priority-payment-action .button{margin:0;min-height:44px}
.fp-workshop-plan-card--primary{margin:1rem 0 1.15rem;scroll-margin-top:7rem}
.fp-workshop-plan-card--primary>.fp-manager-head{margin-bottom:.9rem}
.fp-workshop-plan-row{align-items:stretch}
.fp-workshop-plan-row.is-payable{border-color:rgba(157,102,0,.28);background:linear-gradient(135deg,#fffaf0,#fff)}
.fp-workshop-plan-copy{min-width:0;flex:1}
.fp-plan-next-payment{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.2rem .75rem;align-items:baseline;margin:.65rem 0 .45rem;padding:.72rem .8rem;border-left:4px solid #5f2579;background:#f8f2fb}
.fp-plan-next-payment>span{grid-column:1;color:#6b5873;font-size:.76rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.fp-plan-next-payment>strong{grid-column:1;color:#431258;font:750 clamp(1.35rem,2.4vw,1.8rem)/1 Fraunces,Georgia,serif;font-variant-numeric:tabular-nums}
.fp-plan-next-payment>small{grid-column:2;grid-row:1 / span 2;align-self:center;color:#5f5068;font-size:.88rem;font-weight:750;line-height:1.35}
.fp-plan-remaining{margin:.35rem 0 0!important;color:#71617a!important;font-size:.82rem!important;line-height:1.45!important}
.fp-plan-remaining strong{color:#52345d}
.fp-plan-availability{max-width:15rem;margin:.05rem 0 0!important;color:#75667d!important;font-size:.78rem!important;line-height:1.4!important;text-align:right}
.fp-workshop-plan-actions .button{min-height:44px}
.fp-enrollment-complete{margin:1.2rem 0 0;border-top:1px solid rgba(95,37,121,.16);border-bottom:1px solid rgba(95,37,121,.16);background:rgba(255,255,255,.58)}
.fp-enrollment-complete>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.9rem .15rem;cursor:pointer;list-style:none;color:#431258}
.fp-enrollment-complete>summary::-webkit-details-marker{display:none}
.fp-enrollment-complete-check{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#e5f5e8;color:#267044;font-weight:950}
.fp-enrollment-complete-copy{display:grid;gap:.15rem;min-width:0}
.fp-enrollment-complete-copy strong{font:800 1rem/1.2 Inter,system-ui,sans-serif}
.fp-enrollment-complete-copy small{color:#75667d;font-size:.8rem;line-height:1.35}
.fp-enrollment-complete-action{color:#5f2579;font-size:.82rem;font-weight:850;text-decoration:underline;text-underline-offset:.18em}
.fp-enrollment-complete-body{padding:0 2.95rem 1rem;color:#695d74}
.fp-enrollment-complete-body p{margin:0 0 .65rem;line-height:1.5}
.fp-enrollment-complete-body .button-row{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}
.fp-enrollment-complete-body .button,.fp-enrollment-complete-body .fp-text-link{margin:0}
@media(max-width:700px){
  .fp-priority-payments-head{flex-direction:column}
  .fp-priority-payments-head .button{width:100%;justify-content:center}
  .fp-priority-payment-row{grid-template-columns:1fr}
  .fp-priority-payment-action{justify-items:start;min-width:0;width:100%;text-align:left}
  .fp-priority-payment-action .button{width:100%;justify-content:center}
  .fp-workshop-plan-row{gap:.8rem}
  .fp-plan-next-payment{grid-template-columns:1fr}
  .fp-plan-next-payment>span,.fp-plan-next-payment>strong,.fp-plan-next-payment>small{grid-column:1;grid-row:auto}
  .fp-plan-availability{text-align:left;max-width:none}
}
@media(max-width:520px){
  .fp-programs-primary{border-left-width:4px;padding:1rem}
  .fp-program-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .fp-program-overview>span{justify-content:center;border-radius:.85rem;text-align:center}
  .fp-program-overview>span:last-child:nth-child(odd){grid-column:1 / -1}
  .fp-enrollment-complete>summary{grid-template-columns:auto minmax(0,1fr)}
  .fp-enrollment-complete-action{grid-column:2}
  .fp-enrollment-complete-body{padding:0 0 1rem}
  .fp-enrollment-complete-body .button{width:100%;justify-content:center}
}



/* v9.6.5 — Family Portal registration details and class schedule clarity. */
.fp-programs-head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem;flex:0 0 auto}
.fp-programs-head-actions .button{margin:0}
.fp-program-schedule{display:grid;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:.5rem;margin:.72rem 0 .15rem}
.fp-program-schedule>div{min-width:0;padding:.62rem .7rem;border:1px solid rgba(95,37,121,.12);border-radius:.8rem;background:linear-gradient(145deg,#fbf7fd,#fff);box-shadow:none}
.fp-program-schedule>div.is-pending{border-style:dashed;background:#fffdf8}
.fp-program-schedule dt{margin:0 0 .18rem;color:#796781;font-size:.68rem;font-weight:900;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}
.fp-program-schedule dd{margin:0;color:#421257;font-size:.86rem;font-weight:800;line-height:1.35;overflow-wrap:anywhere}
.fp-program-schedule>div.is-pending dd{color:#826d45;font-weight:750}
.fp-program-status-detail{margin-top:.62rem}
@media(max-width:900px){
  .fp-programs-primary>.fp-manager-head{align-items:stretch}
  .fp-programs-head-actions{width:100%;justify-content:stretch}
  .fp-programs-head-actions .button{flex:1 1 12rem;width:auto;justify-content:center}
}
@media(max-width:520px){
  .fp-programs-head-actions{display:grid;grid-template-columns:1fr}
  .fp-programs-head-actions .button{width:100%}
  .fp-program-schedule{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}
  .fp-program-schedule>div{padding:.58rem .62rem}
  .fp-program-schedule dd{font-size:.82rem}
  .fp-program-schedule>div:nth-child(n+3){grid-column:1 / -1}
}
