.snap-cohort-privacy-center {
    --snap-cohort-privacy-accent: var(--snap-cohort-accent, #4055d6);
    --snap-cohort-privacy-accent-dark: var(--snap-cohort-accent-dark, #26369d);
    --snap-cohort-privacy-border: var(--snap-cohort-border, #dce0ea);
    --snap-cohort-privacy-ink: var(--snap-cohort-ink, #18202f);
    --snap-cohort-privacy-muted: var(--snap-cohort-muted, #60697b);
    --snap-cohort-privacy-notice-ink: color-mix(
        in srgb,
        var(--snap-cohort-link, var(--snap-cohort-privacy-accent-dark)) 72%,
        #111827 28%
    );
    --snap-cohort-privacy-surface: var(--snap-cohort-surface, #fff);
    --snap-cohort-privacy-soft: color-mix(in srgb, var(--snap-cohort-privacy-surface) 94%, var(--snap-cohort-privacy-ink) 6%);
    color: var(--snap-cohort-privacy-ink);
    container-type: inline-size;
    display: grid;
    gap: clamp(18px, 3cqi, 28px);
    margin-block: 24px;
    min-width: 0;
}

.snap-cohort-privacy-center *,
.snap-cohort-privacy-center *::before,
.snap-cohort-privacy-center *::after {
    box-sizing: border-box;
}

.snap-cohort-privacy-center :where(button, a, input):focus-visible {
    outline: 3px solid #ffbf47;
    outline-offset: 3px;
}

.snap-cohort-privacy-center__hero,
.snap-cohort-privacy-center--guest {
    background:
        radial-gradient(circle at 92% 10%, rgba(64, 85, 214, .14), transparent 28%),
        linear-gradient(135deg, var(--snap-cohort-privacy-surface) 0%, var(--snap-cohort-privacy-soft) 100%);
    border: 1px solid var(--snap-cohort-privacy-border);
    border-radius: 20px;
    box-shadow: 0 2px 3px rgba(23, 30, 50, .04), 0 18px 48px rgba(23, 30, 50, .07);
    overflow: hidden;
    position: relative;
}

.snap-cohort-privacy-center__hero {
    align-items: center;
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
    padding: clamp(24px, 5cqi, 48px);
}

.snap-cohort-privacy-center__hero::after {
    border: 28px solid rgba(64, 85, 214, .045);
    border-radius: 50%;
    content: "";
    height: 180px;
    pointer-events: none;
    position: absolute;
    right: -70px;
    top: -75px;
    width: 180px;
}

.snap-cohort-privacy-center__hero :is(h2, h3, h4),
.snap-cohort-privacy-center--guest :is(h2, h3, h4) {
    color: var(--snap-cohort-privacy-ink);
    font-size: clamp(1.75rem, 4cqi, 2.65rem);
    letter-spacing: -.035em;
    line-height: 1.08;
    margin: 0 0 12px;
}

.snap-cohort-privacy-center--align-center :is(.snap-cohort-privacy-center__intro, .snap-cohort-privacy-center__hero-copy) {
    text-align: center;
}

.snap-cohort-privacy-center--align-center .snap-cohort-privacy-center__guest-layout {
    justify-items: center;
    text-align: center;
}

.snap-cohort-privacy-center__hero-copy > p:last-child,
.snap-cohort-privacy-center--guest p,
.snap-cohort-privacy-center__action-copy > p,
.snap-cohort-privacy-center__notice p {
    color: var(--snap-cohort-privacy-muted);
    line-height: 1.65;
    margin: 0;
}

.snap-cohort-privacy-center__secure-pill {
    align-items: center;
    background: #e9f8ee;
    border: 1px solid #bfe8ca;
    border-radius: 999px;
    color: #11672a;
    display: inline-flex;
    font-size: .76rem;
    font-weight: 750;
    gap: 6px;
    margin-bottom: 20px;
    padding: 6px 10px;
}

.snap-cohort-privacy-center__identity {
    align-items: center;
    background: color-mix(in srgb, var(--snap-cohort-privacy-surface) 90%, transparent);
    border: 1px solid var(--snap-cohort-privacy-border);
    border-radius: 16px;
    box-shadow: 0 12px 32px rgba(23, 30, 50, .07);
    display: grid;
    gap: 14px 12px;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 18px;
    position: relative;
    z-index: 1;
}

.snap-cohort-privacy-center__identity > span {
    align-items: center;
    background: linear-gradient(135deg, var(--snap-cohort-privacy-accent), #7b61e8);
    border-radius: 13px;
    color: #fff;
    display: flex;
    font-size: 1.25rem;
    font-weight: 800;
    height: 48px;
    justify-content: center;
    text-transform: uppercase;
    width: 48px;
}

.snap-cohort-privacy-center__identity div {
    display: grid;
    min-width: 0;
}

.snap-cohort-privacy-center__identity small {
    color: var(--snap-cohort-privacy-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.snap-cohort-privacy-center__identity a {
    color: var(--snap-cohort-privacy-accent-dark);
    font-size: .84rem;
    font-weight: 700;
    grid-column: 1 / -1;
    justify-self: start;
}

.snap-cohort-privacy-center__status {
    border-radius: 10px;
    margin: -12px 0 -10px;
    min-height: 24px;
    padding: 0 4px;
}

.snap-cohort-privacy-center__status:empty {
    display: none;
}

.snap-cohort-privacy-center__status[data-kind="working"] {
    color: var(--snap-cohort-privacy-accent-dark);
}

.snap-cohort-privacy-center__status[data-kind="success"] {
    background: #effaf2;
    color: #11672a;
    padding: 12px 14px;
}

.snap-cohort-privacy-center__status[data-kind="error"] {
    background: #fff1f1;
    color: #9f2024;
    padding: 12px 14px;
}

.snap-cohort-privacy-center__actions {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.snap-cohort-privacy-center__actions article {
    align-items: flex-start;
    background: var(--snap-cohort-privacy-surface);
    border: 1px solid var(--snap-cohort-privacy-border);
    border-radius: 16px;
    display: flex;
    gap: 16px;
    padding: clamp(20px, 3cqi, 28px);
}

.snap-cohort-privacy-center__action-icon {
    align-items: center;
    border-radius: 12px;
    display: flex;
    flex: 0 0 44px;
    font-size: 1.25rem;
    font-weight: 800;
    height: 44px;
    justify-content: center;
}

.snap-cohort-privacy-center__action-icon.is-export {
    background: #edf0ff;
    color: var(--snap-cohort-privacy-accent-dark);
}

.snap-cohort-privacy-center__action-icon.is-erasure {
    background: #fff0f0;
    color: #a52a2f;
}

.snap-cohort-privacy-center__action-copy {
    display: grid;
    flex: 1;
    gap: 16px;
    min-width: 0;
}

.snap-cohort-privacy-center__action-copy > div:first-child {
    align-items: start;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
}

.snap-cohort-privacy-center__action-copy :is(h3, h4, h5),
.snap-cohort-privacy-center__section-heading :is(h3, h4, h5),
.snap-cohort-privacy-center__history-card :is(h3, h4, h5) {
    color: var(--snap-cohort-privacy-ink);
    font-size: 1.05rem;
    line-height: 1.35;
    margin: 0;
}

.snap-cohort-privacy-center__action-copy .snap-cohort-button {
    justify-self: start;
}

.snap-cohort-privacy-center__request-badge,
.snap-cohort-privacy-center__availability,
.snap-cohort-privacy-center__section-heading > span {
    background: var(--snap-cohort-privacy-soft);
    border-radius: 999px;
    color: var(--snap-cohort-privacy-muted);
    font-size: .72rem;
    font-weight: 700;
    padding: 5px 9px;
    white-space: nowrap;
}

.snap-cohort-privacy-center__request-badge.is-active {
    background: #fff6d8;
    color: #795500;
}

.snap-cohort-privacy-center button:disabled {
    cursor: not-allowed;
    opacity: .58;
}

.snap-cohort-privacy-center__lower-grid {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
}

.snap-cohort-privacy-center__inventory,
.snap-cohort-privacy-center__history-card,
.snap-cohort-privacy-center__notice,
.snap-cohort-privacy-center__error {
    background: var(--snap-cohort-privacy-surface);
    border: 1px solid var(--snap-cohort-privacy-border);
    border-radius: 16px;
}

.snap-cohort-privacy-center__inventory {
    overflow: hidden;
}

.snap-cohort-privacy-center__section-heading,
.snap-cohort-privacy-center__card-heading {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.snap-cohort-privacy-center__section-heading {
    background: var(--snap-cohort-privacy-soft);
    border-bottom: 1px solid var(--snap-cohort-privacy-border);
    padding: 20px 22px;
}

.snap-cohort-privacy-center__inventory ul,
.snap-cohort-privacy-center__history {
    list-style: none;
    margin: 0;
    padding: 0;
}

.snap-cohort-privacy-center__inventory li {
    align-items: center;
    border-bottom: 1px solid #eceef3;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    padding: 16px 22px;
}

.snap-cohort-privacy-center__inventory li:last-child {
    border-bottom: 0;
}

.snap-cohort-privacy-center__inventory li p {
    color: var(--snap-cohort-privacy-muted);
    font-size: .85rem;
    line-height: 1.5;
    margin: 4px 0 0;
}

.snap-cohort-privacy-center__inventory li > span {
    color: var(--snap-cohort-privacy-muted);
    flex: 0 0 175px;
    font-size: .76rem;
    line-height: 1.4;
    text-align: right;
}

.snap-cohort-privacy-center__histories {
    display: grid;
    gap: 18px;
}

.snap-cohort-privacy-center__history-card {
    padding: 18px;
}

.snap-cohort-privacy-center__account-card dl,
.snap-cohort-privacy-center__account-card dd {
    margin: 0;
}

.snap-cohort-privacy-center__account-card dl {
    border-top: 1px solid #eceef3;
    display: grid;
    gap: 10px;
    margin-top: 10px;
    padding-top: 14px;
}

.snap-cohort-privacy-center__account-card dl > div,
.snap-cohort-privacy-center__preferences li {
    align-items: start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.snap-cohort-privacy-center__account-card dt,
.snap-cohort-privacy-center__preferences span {
    color: var(--snap-cohort-privacy-muted);
}

.snap-cohort-privacy-center__account-card dd,
.snap-cohort-privacy-center__preferences strong {
    font-size: .8rem;
    text-align: right;
}

.snap-cohort-privacy-center__preferences {
    border-top: 1px solid #eceef3;
    display: grid;
    gap: 10px;
    list-style: none;
    margin: 14px 0 0;
    padding: 14px 0 0;
}

.snap-cohort-privacy-center__card-heading > span {
    align-items: center;
    display: flex;
    height: 28px;
    justify-content: center;
    min-width: 28px;
}

.snap-cohort-privacy-center__history {
    margin-top: 10px;
}

.snap-cohort-privacy-center__history li {
    align-items: center;
    border-top: 1px solid #eceef3;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto 8px;
    padding: 12px 0;
}

.snap-cohort-privacy-center__history li > span:first-child {
    display: grid;
}

.snap-cohort-privacy-center__history small,
.snap-cohort-privacy-center__history time,
.snap-cohort-privacy-center__empty-copy {
    color: var(--snap-cohort-privacy-muted);
    font-size: .76rem;
}

.snap-cohort-privacy-center__dot {
    background: #8c929d;
    border-radius: 50%;
    height: 8px;
    width: 8px;
}

.snap-cohort-privacy-center__dot.is-completed {
    background: #16833a;
}

.snap-cohort-privacy-center__dot.is-failed,
.snap-cohort-privacy-center__dot.is-verification_failed {
    background: #b32d2e;
}

.snap-cohort-privacy-center__empty-copy {
    border-top: 1px solid #eceef3;
    margin: 10px 0 0;
    padding-top: 14px;
}

.snap-cohort-privacy-center__notice {
    align-items: start;
    background: var(--snap-cohort-privacy-soft);
    display: grid;
    gap: 6px 16px;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 16px 18px;
}

.snap-cohort-privacy-center__notice strong {
    color: var(--snap-cohort-privacy-notice-ink);
}

body.snap-cohort-theme-dark .snap-cohort-privacy-center {
    --snap-cohort-privacy-notice-ink: color-mix(
        in srgb,
        var(--snap-cohort-link, var(--snap-cohort-privacy-accent-dark)) 82%,
        #fff 18%
    );
}

.snap-cohort-privacy-center__dialog {
    background: var(--snap-cohort-privacy-surface);
    border: 0;
    border-radius: 18px;
    box-shadow: 0 24px 80px rgba(12, 18, 36, .28);
    color: var(--snap-cohort-privacy-ink);
    max-width: min(520px, calc(100vw - 32px));
    padding: clamp(22px, 5vw, 34px);
}

.snap-cohort-privacy-center__dialog::backdrop {
    background: rgba(15, 20, 34, .6);
    backdrop-filter: blur(3px);
}

.snap-cohort-privacy-center__dialog-icon {
    align-items: center;
    background: #fff0f0;
    border-radius: 12px;
    color: #a52a2f;
    display: flex;
    font-size: 1.35rem;
    font-weight: 850;
    height: 46px;
    justify-content: center;
    margin-bottom: 16px;
    width: 46px;
}

.snap-cohort-privacy-center__dialog h3 {
    font-size: 1.35rem;
    margin: 0 0 10px;
}

.snap-cohort-privacy-center__dialog > p {
    color: var(--snap-cohort-privacy-muted);
    line-height: 1.6;
}

.snap-cohort-privacy-center__confirmation {
    align-items: flex-start;
    background: var(--snap-cohort-privacy-soft);
    border-radius: 10px;
    display: flex;
    gap: 10px;
    line-height: 1.5;
    margin-block: 20px;
    padding: 14px;
}

.snap-cohort-privacy-center__confirmation input {
    flex: 0 0 auto;
    height: 20px;
    margin-top: 1px;
    width: 20px;
}

.snap-cohort-privacy-center__dialog-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.snap-cohort-privacy-center__danger {
    background: #b32d2e;
    border-color: #b32d2e;
}

.snap-cohort-privacy-center__danger:hover,
.snap-cohort-privacy-center__danger:focus-visible {
    background: #8f1f21;
    border-color: #8f1f21;
}

.snap-cohort-privacy-center__loading,
.snap-cohort-privacy-center__error {
    align-items: center;
    display: flex;
    gap: 12px;
    min-height: 160px;
    padding: 28px;
}

.snap-cohort-privacy-center__error {
    align-items: flex-start;
    flex-direction: column;
}

.snap-cohort-privacy-center__spinner {
    animation: snap-cohort-privacy-spin .8s linear infinite;
    border: 3px solid #d9ddea;
    border-radius: 50%;
    border-top-color: var(--snap-cohort-privacy-accent);
    height: 24px;
    width: 24px;
}

.snap-cohort-privacy-center--guest {
    padding: clamp(24px, 5cqi, 42px);
}

.snap-cohort-privacy-center__guest-layout {
    align-items: center;
    display: grid;
    gap: 20px;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.snap-cohort-privacy-center__guest-layout > div {
    min-width: 0;
}

.snap-cohort-privacy-center__guest-icon {
    align-items: center;
    background: #edf0ff;
    border-radius: 16px;
    display: flex;
    font-size: 1.4rem;
    height: 58px;
    justify-content: center;
    width: 58px;
}

.snap-cohort-privacy-center--flat .snap-cohort-privacy-center__hero,
.snap-cohort-privacy-center--flat.snap-cohort-privacy-center--guest,
.snap-cohort-privacy-center--flat .snap-cohort-privacy-center__actions article,
.snap-cohort-privacy-center--flat .snap-cohort-privacy-center__inventory,
.snap-cohort-privacy-center--flat .snap-cohort-privacy-center__history-card,
.snap-cohort-privacy-center--flat .snap-cohort-privacy-center__notice {
    border-radius: 8px;
    box-shadow: none;
}

.snap-cohort-privacy-center--flat .snap-cohort-privacy-center__hero,
.snap-cohort-privacy-center--flat.snap-cohort-privacy-center--guest {
    background: var(--snap-cohort-privacy-surface);
}

.snap-cohort-privacy-center--compact {
    gap: 14px;
}

.snap-cohort-privacy-center--compact .snap-cohort-privacy-center__hero,
.snap-cohort-privacy-center--compact.snap-cohort-privacy-center--guest {
    border-radius: 14px;
    padding: 20px;
}

.snap-cohort-privacy-center--compact .snap-cohort-privacy-center__hero :is(h2, h3, h4),
.snap-cohort-privacy-center--compact.snap-cohort-privacy-center--guest :is(h2, h3, h4) {
    font-size: clamp(1.45rem, 3cqi, 2rem);
}

.snap-cohort-privacy-center--compact .snap-cohort-privacy-center__actions,
.snap-cohort-privacy-center--compact .snap-cohort-privacy-center__lower-grid,
.snap-cohort-privacy-center--compact .snap-cohort-privacy-center__histories {
    gap: 12px;
}

.snap-cohort-privacy-center--compact .snap-cohort-privacy-center__actions article,
.snap-cohort-privacy-center--compact .snap-cohort-privacy-center__history-card {
    padding: 16px;
}

@keyframes snap-cohort-privacy-spin {
    to { transform: rotate(360deg); }
}

@container (max-width: 760px) {
    .snap-cohort-privacy-center__hero,
    .snap-cohort-privacy-center__actions,
    .snap-cohort-privacy-center__lower-grid {
        grid-template-columns: 1fr;
    }

    .snap-cohort-privacy-center__identity {
        max-width: 420px;
    }
}

@container (max-width: 520px) {
    .snap-cohort-privacy-center__actions article,
    .snap-cohort-privacy-center__guest-layout {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .snap-cohort-privacy-center__actions article {
        flex-direction: column;
    }

    .snap-cohort-privacy-center__inventory li,
    .snap-cohort-privacy-center__notice {
        align-items: flex-start;
        flex-direction: column;
        grid-template-columns: 1fr;
    }

    .snap-cohort-privacy-center__inventory li > span {
        flex-basis: auto;
        text-align: left;
    }

    .snap-cohort-privacy-center__dialog-actions .snap-cohort-button,
    .snap-cohort-privacy-center--guest .snap-cohort-button {
        width: 100%;
    }

    .snap-cohort-privacy-center__account-card dl > div,
    .snap-cohort-privacy-center__preferences li {
        align-items: start;
        flex-direction: column;
        gap: 4px;
    }

    .snap-cohort-privacy-center__account-card dd,
    .snap-cohort-privacy-center__preferences strong {
        text-align: left;
    }
}

@media (prefers-reduced-motion: reduce) {
    .snap-cohort-privacy-center__spinner {
        animation-duration: 1.8s;
    }
}

@media (forced-colors: active) {
    .snap-cohort-privacy-center__secure-pill,
    .snap-cohort-privacy-center__request-badge,
    .snap-cohort-privacy-center__availability {
        border: 1px solid currentColor;
    }
}
