/* Asset: scanio_membership.css */

        .membershipCheckoutDialog {
            width: min(620px, calc(100% - 32px));
            max-height: calc(100dvh - 32px);
            padding: 0;
            border: 1px solid rgba(14, 123, 67, .15);
            border-radius: 28px;
            color: var(--ink, #17251c);
            background: #fffcf5;
            box-shadow: 0 28px 90px rgba(0, 0, 0, .25);
        }
        .membershipCheckoutDialog::backdrop { background: rgba(15, 35, 24, .6); }
        .membershipCheckoutContent { padding: 28px; }
        .membershipCheckoutHeading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
        .membershipCheckoutEyebrow { color: #0e7b43; font-size: 11px; font-weight: 900; letter-spacing: .13em; }
        .membershipCheckoutHeading h2 { margin: 5px 0 0; font-size: 28px; letter-spacing: -.04em; }
        .membershipCheckoutContent > p { color: var(--muted, #65746a); font-size: 14px; line-height: 1.5; }
        .membershipCheckoutPlans { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
        .membershipCheckoutPlan {
            display: flex; flex-direction: column; align-items: flex-start; gap: 12px;
            padding: 22px 18px; border: 1px solid #c9ddcc; border-radius: 20px;
            background: #f0f8ed; color: #193e29; text-align: left; font: inherit; cursor: pointer;
        }
        .membershipCheckoutPlan:last-child { background: #fffaf0; }
        .membershipCheckoutPlanTitle { font-size: 15px; font-weight: 850; }
        .membershipCheckoutPlan strong { font-size: 24px; letter-spacing: -.03em; }
        .membershipCheckoutPlan > span:not(.membershipCheckoutPlanTitle) { font-size: 13px; line-height: 1.5; }
        .membershipCheckoutPlan b { margin-top: auto; padding-top: 8px; color: #0e7b43; font-size: 13px; }
        .membershipCheckoutPlan:hover:not(:disabled) { border-color: #0e7b43; }
        .membershipCheckoutPlan:focus-visible { outline: 3px solid #0e7b43; outline-offset: 3px; }
        .membershipCheckoutPlan:disabled { cursor: wait; opacity: .55; }
        #membershipCheckoutRetry[hidden] { display: none; }
        .membershipCheckoutContent .membershipCheckoutFooter { margin-bottom: 0; font-size: 12px; text-align: center; }
        @media (max-width: 520px) {
            .membershipCheckoutContent { padding: 22px 18px; }
            .membershipCheckoutPlans { grid-template-columns: 1fr; }
            .membershipCheckoutPlan { gap: 8px; padding: 18px; }
        }

        [data-billing-action][hidden] {
            display: none !important;
        }

        .membershipPaywallTop {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 19px 20px;
            background: linear-gradient(145deg, #0d4830, #0e7b43);
            color: #fff
        }

        .membershipPaywallTop span {
            font-size: 10px;
            font-weight: 950;
            letter-spacing: .13em
        }

        .membershipPaywallTop .close {
            background: rgba(255, 255, 255, .15)
        }

        .membershipPaywallBody {
            padding: 22px
        }

        .membershipPaywallBody h2 {
            margin: 0;
            font-size: 26px;
            letter-spacing: -.05em
        }

        .membershipPaywallBody > p {
            margin: 9px 0 16px;
            color: var(--muted);
            font-size: 13px;
            font-weight: 700;
            line-height: 1.45
        }

        .membershipPlanCompare {
            display: grid;
            gap: 8px;
            margin: 0 0 17px
        }

        .membershipPlanCompare > div {
            padding: 12px;
            border-radius: 15px;
            background: #f6f0e5
        }

        .membershipPlanCompare > div:last-child {
            background: rgba(183, 255, 106, .2);
            border: 1px solid rgba(14, 123, 67, .18)
        }

        .membershipPlanCompare b, .membershipPlanCompare span {
            display: block
        }

        .membershipPlanCompare b {
            font-size: 12px
        }

        .membershipPlanCompare span {
            margin-top: 3px;
            color: var(--muted);
            font-size: 10px;
            font-weight: 700
        }

        .membershipPaywallDismiss {
            display: block;
            width: 100%;
            margin-top: 11px;
            border: 0;
            background: transparent;
            color: var(--muted);
            font-size: 11px;
            font-weight: 850
        }
    
