/* Parent account: Billing, Students, and Account share the dashboard card language. */
.math-parent-dashboard-shell[data-parent-section="account"] .math-parent-layout,
.math-parent-dashboard-shell[data-parent-section="account"] .math-parent-workspace {
    min-height: 100svh;
}

.math-parent-account {
    width: min(100%, 72rem);
    padding-bottom: clamp(2rem, 6vw, 5rem);
}

.math-parent-account-tabs {
    width: min(100%, 41rem);
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.math-parent-account-panel[hidden] { display: none !important; }

.math-parent-billing-status {
    display: flex;
    min-height: 12rem;
    padding: clamp(1.4rem, 2.4vw, 2.5rem);
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.math-parent-billing-status small,
.math-parent-card-heading small,
.math-parent-account-panel-heading small {
    color: var(--parent-color-text-subtle);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .065em;
    text-transform: uppercase;
}

.math-parent-billing-status h2,
.math-parent-account-panel-heading h2 {
    margin: .35rem 0 .65rem;
    color: var(--parent-color-text);
    font-size: clamp(1.65rem, 1.2rem + 1.15vw, 2.5rem);
    letter-spacing: -.035em;
    line-height: 1.08;
}

.math-parent-billing-status h2 span.is-active { color: #82ff82; }
.math-parent-billing-status h2 span.is-payment-pending { color: #ffcf4c; }
.math-parent-billing-status h2 span:is(.is-expired, .is-cancelled, .is-suspended) { color: #ff7373; }
.math-parent-billing-status p,
.math-parent-account-panel-heading p,
.math-parent-billing-card > p,
.math-parent-account-card > p { margin: 0; color: var(--parent-color-text-muted); line-height: 1.55; }

.math-parent-billing-plan {
    display: grid;
    min-width: 10rem;
    gap: .3rem;
    padding: 1.1rem 1.2rem;
    border: 1px solid var(--parent-border-default);
    border-radius: 1rem;
    background: rgba(7, 12, 56, .33);
}

.math-parent-billing-plan strong { color: #82ff82; font-size: clamp(1.25rem, 1rem + .7vw, 1.75rem); }
.math-parent-billing-plan span { color: var(--parent-color-text); font-weight: 700; }
.math-parent-billing-plan small { color: var(--parent-color-text-muted); letter-spacing: 0; text-transform: none; }

.math-parent-billing-card,
.math-parent-account-card {
    margin-top: 1rem;
    padding: clamp(1.25rem, 2vw, 1.75rem);
}

.math-parent-card-heading,
.math-parent-account-panel-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.math-parent-card-heading h2 { margin: .32rem 0 .85rem; color: var(--parent-color-text); font-size: clamp(1.2rem, 1rem + .5vw, 1.65rem); line-height: 1.15; }

.math-parent-status-chip {
    display: inline-flex;
    padding: .42rem .65rem;
    align-items: center;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    color: var(--parent-color-text-muted);
    font-size: .75rem;
    font-weight: 800;
    white-space: nowrap;
}

.math-parent-status-chip.is-active { border-color: rgba(130,255,130,.42); color: #82ff82; }
.math-parent-status-chip.is-pending { border-color: rgba(255,207,76,.42); color: #ffcf4c; }

.math-parent-payment-reference {
    display: grid;
    width: fit-content;
    margin: 1.15rem 0;
    gap: .35rem;
    padding: .8rem 1rem;
    border: 1px dashed rgba(130,255,130,.4);
    border-radius: .85rem;
    background: rgba(130,255,130,.06);
}

.math-parent-payment-reference small { color: var(--parent-color-text-muted); }
.math-parent-payment-reference strong { color: #82ff82; font-size: 1.1rem; letter-spacing: .08em; }
.math-parent-billing-confirmed { margin-top: 1rem !important; color: #82ff82 !important; font-weight: 700; }

.math-parent-inline-form { display: flex; margin-top: 1rem; align-items: flex-end; gap: .75rem; }
.math-parent-inline-form label { display: grid; flex: 1; gap: .45rem; color: var(--parent-color-text); font-size: .86rem; font-weight: 700; }
.math-parent-inline-form input {
    min-height: 2.8rem;
    padding: .6rem .75rem;
    border: 1px solid var(--parent-border-default);
    border-radius: .7rem;
    background: rgba(7, 12, 56, .45);
    color: var(--parent-color-text);
    font: inherit;
}

.math-parent-payment-methods { display: grid; margin-top: 1rem; gap: .75rem; }
.math-parent-payment-methods label { display: flex; padding: .9rem 1rem; align-items: flex-start; gap: .75rem; border: 1px solid var(--parent-border-default); border-radius: .85rem; background: rgba(7, 12, 56, .3); cursor: pointer; }
.math-parent-payment-methods label:has(input:checked) { border-color: #82ff82; background: rgba(130,255,130,.08); }
.math-parent-payment-methods input { margin-top: .25rem; accent-color: #82ff82; }
.math-parent-payment-methods span { display: grid; gap: .15rem; }
.math-parent-payment-methods strong { color: var(--parent-color-text); }
.math-parent-payment-methods small { color: var(--parent-color-text-muted); line-height: 1.4; }

.math-parent-primary-action,
.math-parent-secondary-action {
    display: inline-flex;
    min-height: 2.8rem;
    padding: .6rem 1rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(130,255,130,.55);
    border-radius: .75rem;
    background: linear-gradient(135deg, rgba(55,185,113,.9), rgba(166,74,214,.88));
    color: #fff !important;
    font: inherit;
    font-size: .9rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none !important;
    cursor: pointer;
    transition: transform var(--parent-duration-fast) var(--parent-ease-standard), filter var(--parent-duration-fast) var(--parent-ease-standard);
}

.math-parent-secondary-action { border-color: var(--parent-border-default); background: rgba(255,255,255,.07); }
.math-parent-primary-action:hover,
.math-parent-secondary-action:hover { filter: brightness(1.12); transform: translateY(-1px); }
.math-parent-primary-action:focus-visible,
.math-parent-secondary-action:focus-visible { outline: 3px solid #82ff82; outline-offset: 3px; }

.math-parent-account-facts { display: grid; margin: 1.1rem 0 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; }
.math-parent-account-facts div { min-width: 0; padding: .8rem; border-radius: .75rem; background: rgba(6, 12, 58, .28); }
.math-parent-account-facts dt { color: var(--parent-color-text-subtle); font-size: .75rem; font-weight: 700; }
.math-parent-account-facts dd { margin: .3rem 0 0; color: var(--parent-color-text); font-weight: 750; overflow-wrap: anywhere; }
.math-parent-empty-state { color: var(--parent-color-text-muted); }
.math-parent-control-message { min-height: 1.25rem; margin: .8rem 0 0; color: #82ff82; font-size: .85rem; }

.math-parent-account-panel-heading { margin-bottom: 1.4rem; }
.math-parent-account-panel-heading p { max-width: 38rem; }
.math-parent-student-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.math-parent-student-card { display: grid; min-height: 9rem; padding: 1.15rem; grid-template-columns: auto 1fr; align-items: center; gap: .85rem 1rem; }
.math-parent-student-card.is-selected { border-color: rgba(130,255,130,.52); }
.math-parent-student-card h3 { margin: 0 0 .3rem; color: var(--parent-color-text); font-size: 1.15rem; }
.math-parent-student-card p { margin: 0; color: var(--parent-color-text-muted); font-size: .88rem; }
.math-parent-student-card span:not(.math-parent-avatar) { display: block; margin-top: .45rem; color: #82ff82; font-size: .75rem; font-weight: 800; }
.math-parent-student-card a { grid-column: 2; width: fit-content; color: #82ff82; font-size: .85rem; font-weight: 800; text-underline-offset: .2em; }
.math-parent-student-add { display: grid; min-height: 9rem; padding: 1.15rem; place-content: center; justify-items: center; border: 1px dashed var(--parent-border-default); border-radius: 1.5rem; color: var(--parent-color-text); text-align: center; text-decoration: none; transition: border-color var(--parent-duration-fast) var(--parent-ease-standard), background var(--parent-duration-fast) var(--parent-ease-standard); }
.math-parent-student-add:hover { border-color: #82ff82; background: rgba(130,255,130,.06); }
.math-parent-student-add span { color: #82ff82; font-size: 2rem; line-height: 1; }.math-parent-student-add strong { margin-top: .35rem; }.math-parent-student-add small { margin-top: .25rem; color: var(--parent-color-text-muted); }

.math-parent-account-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.math-parent-account-card:nth-child(3),
.math-parent-account-card:last-child { grid-column: 1 / -1; }
.math-parent-account-actions { display: flex; margin-top: 1rem; align-items: center; gap: 1rem; }
.math-parent-text-action { color: #82ff82 !important; font-weight: 800; text-underline-offset: .2em; }
.math-parent-account-form { display: grid; margin-top: .65rem; gap: .75rem; }
.math-parent-account-form label { display: grid; gap: .35rem; color: var(--parent-color-text-muted); font-size: .8rem; font-weight: 750; }
.math-parent-account-form :is(input, select) { min-width: 0; min-height: 2.75rem; padding: .58rem .7rem; border: 1px solid var(--parent-border-default); border-radius: .7rem; background: rgba(7, 12, 56, .45); color: var(--parent-color-text); font: inherit; }
.math-parent-account-form :is(input, select):focus { border-color: #82ff82; outline: 2px solid rgba(130,255,130,.25); outline-offset: 1px; }
.math-parent-account-form .math-parent-secondary-action { width: fit-content; margin-top: .1rem; }
.math-parent-delete-details { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--parent-border-soft); }
.math-parent-delete-details summary { color: #ff8585; font-weight: 800; cursor: pointer; }
.math-parent-delete-details p { margin-top: .8rem; }
.math-parent-delete-confirm { display: flex; margin: .9rem 0; align-items: flex-start; gap: .5rem; color: var(--parent-color-text-muted); font-size: .85rem; line-height: 1.4; }
.math-parent-danger-action { min-height: 2.8rem; padding: .6rem 1rem; border: 1px solid rgba(255,115,115,.65); border-radius: .75rem; background: rgba(158, 47, 67, .32); color: #fff; font: inherit; font-size: .9rem; font-weight: 800; cursor: pointer; }
.math-parent-danger-action:disabled { cursor: not-allowed; opacity: .48; }

@media (max-width: 820px) {
    .math-parent-billing-status { align-items: flex-start; flex-direction: column; gap: 1rem; }
    .math-parent-account-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .math-parent-account { width: 100%; }
    .math-parent-account-tabs { width: 100%; }
    .math-parent-account-tabs button { font-size: .92rem; }
    .math-parent-inline-form { align-items: stretch; flex-direction: column; }
    .math-parent-student-grid,
    .math-parent-account-grid { grid-template-columns: 1fr; }
    .math-parent-account-card:last-child { grid-column: auto; }
    .math-parent-account-panel-heading { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 420px) {
    .math-parent-account-facts { grid-template-columns: 1fr; }
    .math-parent-account-actions { align-items: stretch; flex-direction: column; }
}
