/* Account actions share the same shape and states across profile and checkout pages. */
:is(.cabinet-overview, .checkout, .role-switch, .roster-dialog, .email-prefs-page, .popup) :is(
    .overview-button, .family-button, .assignment-button, .notify-button, .account-button,
    .subscription-button, .subscription-access-card__actions a, .certificate-action,
    .settings-secondary, .role-switch__stay, .roster-dialog__button, .checkout__button,
    .progress-filters__actions button, .analytics-filters__actions button,
    .olympiad-filters__actions button, .olympiad-report, .overview-scope__controls button,
    .show-all-btn button, .show-all-btn a, .profile-task-stat--item > .overview-stat-action
) {
    box-sizing: border-box;
    min-height: 44px;
    padding-inline: 16px;
    border: 1px solid var(--account-action-border, #a6bcb0);
    border-radius: 999px;
    background: var(--account-action-bg, #fff);
    color: var(--account-action-ink, #205f48);
    text-align: center;
    text-decoration: none;
    text-transform: none;
    letter-spacing: normal;
    white-space: normal;
    overflow-wrap: anywhere;
}

:is(.cabinet-overview, .checkout, .role-switch, .roster-dialog, .email-prefs-page, .popup) :is(
    .overview-button:not(.overview-stat-action), .family-button--primary,
    .assignment-button--primary, .notify-button--primary, .certificate-action--primary,
    .roster-dialog__button--primary, .checkout__button--primary, .account-button--primary,
    .progress-filters__actions button, .analytics-filters__actions button,
    .olympiad-filters__actions button, .overview-scope__controls button
) {
    --account-action-bg: #205f48;
    --account-action-border: #205f48;
    --account-action-ink: #fff;
    --account-action-hover: #174a38;
}

:is(.cabinet-overview, .roster-dialog) :is(.family-button--quiet, .assignment-button--quiet) {
    --account-action-border: #d7b9b3;
    --account-action-ink: #7a3830;
    --account-action-hover: #f9ebe8;
}

.cabinet-overview .subscription-button--danger {
    --account-action-bg: #96382c;
    --account-action-border: #96382c;
    --account-action-ink: #fff;
    --account-action-hover: #7a2b22;
}

@media (hover: hover) {
    :is(.cabinet-overview, .checkout, .role-switch, .roster-dialog, .email-prefs-page, .popup) :is(
        .overview-button, .family-button, .assignment-button, .notify-button, .account-button,
        .subscription-button, .subscription-access-card__actions a, .certificate-action,
        .settings-secondary, .role-switch__stay, .roster-dialog__button, .checkout__button,
        .progress-filters__actions button, .analytics-filters__actions button,
        .olympiad-filters__actions button, .olympiad-report, .overview-scope__controls button,
        .show-all-btn button, .show-all-btn a, .profile-task-stat--item > .overview-stat-action
    ):hover:not(:disabled, [aria-disabled="true"]) {
        background: var(--account-action-hover, #e7f2eb);
        color: var(--account-action-ink, #205f48);
        text-decoration: none;
    }
}

:is(.cabinet-overview, .checkout, .role-switch, .roster-dialog, .email-prefs-page, .popup) :is(
    .overview-button, .family-button, .assignment-button, .notify-button, .account-button,
    .subscription-button, .subscription-access-card__actions a, .certificate-action,
    .settings-secondary, .role-switch__stay, .roster-dialog__button, .checkout__button,
    .progress-filters__actions button, .analytics-filters__actions button,
    .olympiad-filters__actions button, .olympiad-report, .overview-scope__controls button,
    .show-all-btn button, .show-all-btn a, .profile-task-stat--item > .overview-stat-action
):focus-visible {
    outline: 2px solid #205f48;
    outline-offset: 3px;
    text-decoration: none;
}

.checkout .checkout__button:disabled {
    opacity: .65;
    cursor: wait;
}
