.settings-shell {
    width: 100%;
    margin: 0;
    padding: 0;
    --settings-layout-gap: var(--section-shell-gap, 18px);
    display: grid;
    gap: var(--settings-layout-gap);
    align-content: start;
}

.settings-hero-panel,
.settings-card,
.settings-banner {
    border: 1px solid rgba(63, 55, 48, 0.12);
    background: rgba(255, 255, 255, 0.8);
    box-shadow: 0 24px 44px rgba(70, 56, 42, 0.08);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.settings-hero-panel {
    padding: 32px;
    border-radius: 28px;
}

.settings-eyebrow,
.settings-card-label,
.settings-metrics dt {
    font-size: 0.78rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #6d645c;
}

.settings-title,
.settings-card-title {
    font-family: 'Newsreader', serif;
    font-weight: 600;
    color: #2f2924;
}

.settings-title {
    margin: 10px 0 12px;
    font-size: clamp(2.4rem, 4.8vw, 4.4rem);
    line-height: 0.95;
}

.settings-copy,
.settings-card-copy,
.settings-metrics dd,
.settings-list,
.settings-action-copy {
    margin: 0;
    font-size: 1rem;
    line-height: 1.6;
    color: #554d47;
}

/* Use shared settings layouts for card pages: settings-grid for the default two-column site pattern, settings-stack for single-column admin/detail surfaces. */
.settings-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    gap: var(--settings-layout-gap);
}

.facilitator-public-presence-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
}

/* Pack Settings cards into empty vertical space (masonry-style columns). */
.settings-facilitator-cards-grid {
    display: block;
    column-count: 2;
    column-gap: 20px;
    column-fill: balance;
    width: 100%;
}

.settings-facilitator-cards-grid > .settings-facilitator-card-slot,
.settings-facilitator-cards-grid > .settings-card,
.settings-facilitator-cards-grid > form.settings-facilitator-card-slot {
    display: inline-block;
    width: 100%;
    margin: 0 0 20px;
    min-width: 0;
    vertical-align: top;
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
}

.settings-facilitator-cards-grid > .settings-hidden-post-form {
    display: none !important;
}

.settings-grid > .settings-card-migrations {
    grid-column: 1 / -1;
}

.settings-admin-left-stack {
    display: grid;
    gap: var(--settings-layout-gap);
    align-content: start;
    min-width: 0;
}

.settings-admin-cache-card {
    padding: 22px 24px;
}

.settings-admin-cache-card .settings-metrics {
    margin-top: 16px;
    gap: 12px;
}

.settings-admin-cache-card .settings-actions-compact {
    margin-top: 16px;
}

.settings-admin-cache-details {
    margin-top: 14px;
}

.settings-admin-cache-details > summary {
    cursor: pointer;
    font-size: 0.94rem;
    font-weight: 600;
    color: #4a3f36;
    list-style: none;
}

.settings-admin-cache-details > summary::-webkit-details-marker {
    display: none;
}

.settings-admin-cache-details > summary::before {
    content: '+ ';
    color: #8d7b68;
}

.settings-admin-cache-details[open] > summary::before {
    content: '− ';
}

.settings-admin-cache-details .settings-list {
    margin-top: 10px;
    gap: 6px;
    font-size: 0.94rem;
}

.settings-migration-banners {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}

.settings-migration-banners .settings-banner {
    flex: 1 1 calc(50% - 6px);
    min-width: min(100%, 280px);
    margin: 0;
}

.settings-migration-banners .settings-banner[hidden] {
    display: none;
}

.settings-migration-summary-table {
    width: 100%;
    margin-top: 20px;
    border-collapse: collapse;
    font-size: 0.92rem;
}

.settings-migration-summary-table th,
.settings-migration-summary-table td {
    padding: 10px 14px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid rgba(36, 31, 28, 0.1);
}

.settings-migration-summary-table th {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(36, 31, 28, 0.62);
}

.settings-migration-summary-table td {
    font-weight: 600;
    color: rgba(36, 31, 28, 0.92);
    word-break: break-word;
}

.settings-actions.settings-migration-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.settings-actions.settings-migration-actions .settings-action-copy {
    flex: 1 1 100%;
    margin: 0;
}

@media (max-width: 720px) {
    .settings-actions.settings-migration-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .settings-actions.settings-migration-actions .settings-button {
        width: 100%;
    }
}

.settings-migration-applied-group {
    margin-top: 14px;
    border: 1px solid rgba(63, 55, 48, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.55);
    overflow: hidden;
}

.settings-migration-applied-group summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    cursor: pointer;
    font-size: 0.92rem;
    font-weight: 600;
    color: #2f2924;
    list-style: none;
}

.settings-migration-applied-group summary::-webkit-details-marker {
    display: none;
}

.settings-migration-applied-group summary::after {
    content: '+';
    font-size: 1.1rem;
    line-height: 1;
    color: #6d645c;
}

.settings-migration-applied-group[open] summary::after {
    content: '−';
}

.settings-migration-applied-group[open] summary {
    border-bottom: 1px solid rgba(63, 55, 48, 0.12);
}

.settings-migration-table-nested {
    margin: 0;
}

.settings-migration-table-nested tbody tr:last-child td {
    border-bottom: none;
}

.settings-migration-table-wrap {
    overflow-x: auto;
    margin-top: 18px;
}

.settings-migration-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95rem;
}

.settings-migration-table th,
.settings-migration-table td {
    padding: 10px 12px;
    border-bottom: 1px solid rgba(63, 55, 48, 0.12);
    text-align: left;
    vertical-align: top;
}

.settings-migration-table th {
    font-size: 0.78rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #6d645c;
}

.settings-migration-table tbody tr[data-migration-status="pending"] {
    background: rgba(255, 247, 223, 0.35);
}

.settings-migration-status {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.settings-migration-status.is-applied {
    background: rgba(243, 248, 241, 0.95);
    color: #2f5a3a;
}

.settings-migration-status.is-pending {
    background: rgba(255, 247, 223, 0.95);
    color: #6f5520;
}

.settings-migration-status.is-checksum_mismatch,
.settings-migration-status.is-ledger_only {
    background: rgba(252, 243, 240, 0.95);
    color: #7a3b31;
}

.settings-stack {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--settings-layout-gap);
}

.settings-card {
    padding: 28px;
    border-radius: 28px;
}

.settings-banner {
    padding: 16px 18px;
    border-radius: 22px;
}

.settings-banner.is-success {
    background: rgba(243, 248, 241, 0.9);
}

.settings-banner.is-error {
    background: rgba(252, 243, 240, 0.94);
}

.settings-banner.is-warning {
    background: rgba(255, 247, 223, 0.95);
    border-color: rgba(183, 145, 62, 0.2);
    color: #6f5520;
}

.settings-banner-link,
.pages-banner-link {
    color: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

button.settings-banner-link {
    display: inline;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    font: inherit;
}

.settings-card-primary {
    grid-row: span 2;
    background: linear-gradient(180deg, rgba(250, 247, 243, 0.94), rgba(255, 255, 255, 0.84));
}

.settings-card-title {
    margin: 10px 0 10px;
    font-size: 2rem;
}

.settings-metrics {
    display: grid;
    gap: 16px;
    margin: 24px 0 0;
}

.settings-metrics-compact {
    margin-top: 18px;
}

.settings-metrics dd {
    margin-top: 4px;
}

.settings-actions {
    display: grid;
    gap: 12px;
    margin-top: 24px;
}

.settings-toggle-row {
    margin-top: 22px;
}

.settings-app-sound-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin-top: 22px;
}

.settings-app-sound-toggle {
    min-width: 0;
}

.settings-app-sound-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36px;
    gap: 6px;
    align-items: center;
    min-width: 0;
}

.settings-app-sound-select {
    min-height: 50px;
    padding: 0 10px;
    font-size: 0.82rem;
}

@media (max-width: 760px) {
    .settings-app-sound-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

.settings-field-group {
    display: grid;
    gap: 14px;
    margin-top: 22px;
}

.settings-field {
    display: grid;
    gap: 8px;
}

.facilitator-public-presence-grid .account-slug-feedback,
.settings-facilitator-cards-grid .account-slug-feedback {
    min-height: 1.4rem;
    font-size: 0.94rem;
    line-height: 1.45;
    color: #6d645c;
}

.facilitator-public-presence-grid .account-slug-feedback[data-tone="success"],
.settings-facilitator-cards-grid .account-slug-feedback[data-tone="success"] {
    color: #275034;
}

.facilitator-public-presence-grid .account-slug-feedback[data-tone="error"],
.settings-facilitator-cards-grid .account-slug-feedback[data-tone="error"] {
    color: #8a3d32;
}

.facilitator-public-presence-grid .account-slug-suggestions,
.settings-facilitator-cards-grid .account-slug-suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.facilitator-public-presence-grid .account-slug-suggestion,
.settings-facilitator-cards-grid .account-slug-suggestion {
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(126, 104, 84, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: #554d47;
    font: inherit;
    font-size: 0.84rem;
    cursor: pointer;
}

.settings-field-label {
    font-size: 0.78rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #6d645c;
}

.settings-select {
    width: 100%;
    min-height: 50px;
    padding: 0 16px;
    border: 1px solid rgba(126, 104, 84, 0.18);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.9);
    color: #2f2924;
    font: inherit;
}

.settings-input {
    width: 100%;
    min-height: 50px;
    padding: 0 16px;
    border: 1px solid rgba(126, 104, 84, 0.18);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.9);
    color: #2f2924;
    font: inherit;
}

.settings-select:focus-visible {
    outline: 2px solid rgba(126, 104, 84, 0.28);
    outline-offset: 2px;
}

.settings-input:focus-visible {
    outline: 2px solid rgba(126, 104, 84, 0.28);
    outline-offset: 2px;
}

.media-upload-field {
    gap: 12px;
}

.events-media-upload-row {
    grid-column: span 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
}

.events-media-upload-stack {
    display: grid;
    gap: 14px;
    align-content: start;
}

.events-media-upload-row .media-upload-dropzone {
    grid-template-columns: minmax(88px, 112px) minmax(0, 1fr);
    gap: 12px;
    min-height: 0;
    padding: 12px 14px;
    align-items: center;
}

.events-media-upload-row .media-upload-preview {
    min-height: 88px;
    aspect-ratio: 1 / 1;
    border-radius: 14px;
}

.events-media-upload-row .media-upload-preview-empty {
    padding: 10px;
    font-size: 0.82rem;
    line-height: 1.35;
}

.events-media-upload-row .media-upload-copy {
    font-size: 0.92rem;
}

.media-upload-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.media-upload-dropzone {
    display: grid;
    grid-template-columns: minmax(120px, 180px) minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    min-height: 168px;
    padding: 16px;
    border: 1px dashed rgba(126, 104, 84, 0.28);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(249, 244, 236, 0.9));
    cursor: pointer;
    transition: border-color 140ms ease, background-color 140ms ease, transform 140ms ease;
}

.media-upload-dropzone:hover,
.media-upload-dropzone:focus-visible,
.media-upload-dropzone.is-dragover {
    border-color: rgba(126, 104, 84, 0.56);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 236, 225, 0.92));
    outline: none;
    transform: translateY(-1px);
}

.media-upload-preview {
    position: relative;
    min-height: 132px;
    border-radius: 18px;
    background: rgba(230, 221, 211, 0.58);
    display: grid;
    place-items: center;
    overflow: hidden;
}

.media-upload-preview-clear {
    position: absolute;
    top: 6px;
    right: 6px;
    z-index: 3;
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: rgba(20, 16, 12, 0.62);
    color: #fff;
    cursor: pointer;
    transition: background-color 140ms ease, transform 140ms ease;
}

.media-upload-preview-clear:hover,
.media-upload-preview-clear:focus-visible {
    background: rgba(20, 16, 12, 0.82);
    outline: none;
    transform: scale(1.05);
}

.media-upload-preview-clear-icon {
    width: 14px;
    height: 14px;
    display: block;
}

.media-upload-preview.has-image {
    background: rgba(240, 232, 222, 0.9);
}

.media-upload-preview-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.media-upload-preview-empty {
    padding: 18px;
    text-align: center;
    color: #6d645c;
    line-height: 1.5;
}

.media-upload-copy {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.media-upload-copy strong {
    color: #2f2924;
    font-size: 1rem;
}

.media-upload-copy span {
    color: #6d645c;
    line-height: 1.55;
}

[data-media-upload-message][data-tone='error'] {
    color: #9b3d2e;
}

[data-media-upload-message][data-tone='success'] {
    color: #356b45;
}

[data-media-upload-message][data-tone='info'] {
    color: #5d544c;
}

.settings-actions-inline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 0;
}

.settings-def-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 10px;
}

.settings-def-head h3 {
    margin: 0;
    font-size: 1.05rem;
}

.settings-def-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.settings-def-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.settings-def-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px;
    align-items: center;
}

.settings-def-row.is-category {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) auto auto;
}

.settings-def-row.is-touchpoint {
    grid-template-columns: minmax(0, 1fr) minmax(6.5rem, 0.55fr) auto auto;
}

.settings-def-row .settings-def-label,
.settings-def-row .settings-def-extra-field {
    min-width: 0;
    width: 100%;
}

.settings-def-active {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    white-space: nowrap;
    font-size: 0.82rem;
    color: #6d645c;
    cursor: pointer;
}

.settings-def-active .settings-toggle-input {
    position: absolute;
}

.settings-def-active .settings-toggle-track {
    width: 40px;
    height: 24px;
    padding: 3px;
}

.settings-def-active .settings-toggle-thumb {
    width: 16px;
    height: 16px;
}

.settings-def-active .settings-toggle-input:checked + .settings-toggle-track .settings-toggle-thumb {
    margin-left: auto;
    transform: none;
}

.settings-def-delete {
    flex: 0 0 auto;
}

.settings-def-delete.events-icon-button {
    width: 32px;
    height: 32px;
    font-size: 1.15rem;
    line-height: 1;
}

.settings-def-extra {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
    padding: 0 0 4px;
}

.settings-def-extra[hidden] {
    display: none !important;
}

.settings-def-extra .settings-input,
.settings-def-extra textarea {
    min-width: 0;
    width: 100%;
}

.settings-def-extra textarea {
    min-height: 2.6rem;
    resize: vertical;
}

.settings-def-foot {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
}

.settings-def-empty {
    margin: 0;
}

@media (max-width: 720px) {
    .settings-def-row.is-category,
    .settings-def-row.is-touchpoint {
        grid-template-columns: minmax(0, 1fr) auto auto;
    }

    .settings-def-row.is-category .settings-def-extra-field,
    .settings-def-row.is-touchpoint .settings-def-extra-field {
        grid-column: 1 / -1;
        order: 2;
    }

    .settings-def-extra {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .media-upload-dropzone {
        grid-template-columns: minmax(0, 1fr);
    }
}

.settings-time-grid {
    display: grid;
    gap: 14px;
    margin-top: 22px;
}

.settings-time-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) repeat(3, minmax(0, 148px));
    gap: 12px;
    align-items: end;
}

.settings-day-section-alarm-field {
    min-width: 0;
}

.settings-day-section-alarm-controls {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) 36px;
    gap: 6px;
    align-items: center;
    min-width: 0;
}

.settings-day-section-alarm-input {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: #7e6854;
    flex-shrink: 0;
}

.settings-day-section-alarm-sound {
    width: 100%;
    min-width: 0;
    min-height: 50px;
    padding: 0 10px;
    font-size: 0.82rem;
}

.settings-day-section-alarm-preview {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 50px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(126, 104, 84, 0.18);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.9);
    color: #5c524a;
    cursor: pointer;
}

.settings-day-section-alarm-preview svg {
    width: 16px;
    height: 16px;
}

.settings-day-section-alarm-preview:hover,
.settings-day-section-alarm-preview:focus-visible {
    border-color: rgba(126, 104, 84, 0.34);
    color: #2f2924;
    outline: none;
}

.settings-day-section-alarm-preview:focus-visible {
    outline: 2px solid rgba(126, 104, 84, 0.28);
    outline-offset: 2px;
}

.settings-day-section-alarm-preview:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.settings-time-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.settings-time-copy strong {
    font-size: 1rem;
    color: #2f2924;
}

.settings-time-copy span {
    color: #6d645c;
    font-size: 0.92rem;
}

.settings-toggle {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px;
    align-items: center;
    cursor: pointer;
}

.settings-toggle-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
    opacity: 0;
    pointer-events: none;
}

.settings-toggle-track {
    position: relative;
    box-sizing: border-box;
    flex-shrink: 0;
    width: 58px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    padding: 4px;
    border: 1px solid rgba(126, 104, 84, 0.18);
    border-radius: 999px;
    background: rgba(217, 210, 203, 0.7);
    transition: background-color 140ms ease, border-color 140ms ease;
}

.settings-toggle-thumb {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 6px 12px rgba(70, 56, 42, 0.14);
    transition: margin-left 140ms ease;
}

.settings-toggle-input:checked + .settings-toggle-track {
    border-color: rgba(126, 104, 84, 0.28);
    background: linear-gradient(180deg, rgba(226, 214, 202, 0.92), rgba(214, 198, 183, 0.88));
}

.settings-toggle-input:checked + .settings-toggle-track .settings-toggle-thumb {
    margin-left: auto;
    transform: none;
}

.settings-toggle-input:focus-visible + .settings-toggle-track {
    outline: 2px solid rgba(126, 104, 84, 0.34);
    outline-offset: 2px;
}

.settings-toggle-copy {
    display: grid;
    gap: 4px;
}

.settings-toggle-copy strong {
    font-size: 1rem;
    color: #2f2924;
}

.settings-toggle-copy span {
    color: #6d645c;
}

.settings-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 18px;
    border: 1px solid rgba(126, 104, 84, 0.22);
    border-radius: 999px;
    background: #2f2924;
    color: #faf7f3;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    transition: transform 140ms ease, opacity 140ms ease, background-color 140ms ease;
}

.settings-button-link {
    min-height: 42px;
    font-size: 0.74rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
}

.settings-button:hover,
.settings-button:focus-visible {
    transform: translateY(-1px);
    opacity: 0.96;
    outline: none;
}

.settings-button:disabled {
    cursor: not-allowed;
    opacity: 0.84;
    transform: none;
}

.settings-button.is-busy:disabled {
    cursor: progress;
}

.settings-button-secondary {
    background: #554d47;
}

.settings-button-compact {
    min-height: 34px;
    padding: 6px 14px;
    font-size: 0.88rem;
}

.settings-migration-action-cell {
    width: 1%;
    white-space: nowrap;
}

.settings-inline-form {
    margin: 0;
}

.settings-list {
    display: grid;
    gap: 10px;
    padding-left: 18px;
    margin-top: 18px;
}

.users-grid {
    grid-template-columns: minmax(0, 1fr);
}

.users-card-list {
    overflow: visible;
}

.users-card-list-primary {
    background: linear-gradient(180deg, rgba(250, 247, 243, 0.94), rgba(255, 255, 255, 0.84));
}

.users-table-wrap {
    margin-top: 16px;
    overflow-x: auto;
}

.users-sort-form {
    display: flex;
    align-items: end;
    gap: 12px;
    margin-top: 16px;
}

.users-sort-field {
    min-width: min(280px, 100%);
    display: grid;
    gap: 8px;
}

.users-directory {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    margin-top: 16px;
    border-top: 1px solid rgba(126, 104, 84, 0.14);
}

.users-directory-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 14px;
}

.users-directory-pagination-range {
    color: rgba(70, 56, 44, 0.78);
    font-size: 0.92rem;
}

.users-directory-pagination-links {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
}

.users-directory-header,
.users-directory-card {
    display: grid;
    grid-template-columns:
        minmax(120px, 1.1fr)
        minmax(130px, 1.1fr)
        minmax(200px, 1.5fr)
        minmax(118px, 0.85fr)
        minmax(110px, 1fr)
        minmax(210px, 1.3fr)
        30px;
    gap: 12px;
}

.users-directory-card.is-focus-target {
    box-shadow: 0 0 0 2px rgba(74, 103, 65, 0.45);
}

.users-directory-header {
    align-items: end;
    padding: 9px 4px 8px;
    border-bottom: 1px solid rgba(126, 104, 84, 0.18);
    color: #766a60;
    font-size: 0.66rem;
    font-weight: 650;
    letter-spacing: 0.12em;
    line-height: 1.2;
    text-transform: uppercase;
}

.users-sort-header {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    max-width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.users-sort-header:hover,
.users-sort-header:focus-visible {
    color: #3a3129;
    outline: none;
}

.users-sort-header.is-active {
    color: #3a3129;
}

.users-sort-indicator {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    opacity: 0.32;
}

.users-sort-header:hover .users-sort-indicator,
.users-sort-header:focus-visible .users-sort-indicator,
.users-sort-header.is-active .users-sort-indicator {
    opacity: 0.9;
}

.users-sort-arrow {
    width: 0;
    height: 0;
    border-left: 3.5px solid transparent;
    border-right: 3.5px solid transparent;
}

.users-sort-arrow.is-up {
    border-bottom: 4px solid currentColor;
}

.users-sort-arrow.is-down {
    border-top: 4px solid currentColor;
}

.users-sort-header.is-asc .users-sort-arrow.is-down,
.users-sort-header.is-desc .users-sort-arrow.is-up {
    opacity: 0.28;
}

.users-directory-card {
    align-items: center;
    padding: 6px 4px;
    border-bottom: 1px solid rgba(126, 104, 84, 0.14);
    overflow: visible;
}

.users-directory-card:has(.users-other-access[open]) {
    /* Keep the expand row full-bleed; center alignment shrink-wraps that row. */
    align-items: stretch;
    z-index: 6;
    position: relative;
}

.users-directory-card:has(.users-other-access[open]) > :not(.users-other-access-body) {
    align-self: center;
}

.users-directory-top,
.users-directory-pills,
.users-package-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
}

.users-directory-top {
    justify-content: space-between;
    flex-wrap: nowrap;
}

.users-directory-identity {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.users-directory-email {
    min-width: 0;
    color: #4e443d;
    font-size: 0.8rem;
    line-height: 1.25;
    word-break: break-word;
}

.users-directory-package {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    min-width: 0;
}

.users-package-form,
.users-package-readonly {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    min-width: 0;
    margin: 0;
}

.users-package-field {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.users-directory-package .users-role-label,
.users-directory-package .users-package-track-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    color: #6d645c;
}

.users-directory-package .users-package-track-icon svg {
    display: block;
    width: 14px;
    height: 14px;
}

.users-package-select {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 28px;
}

.users-package-save {
    flex: 0 0 auto;
    min-height: 28px;
    padding: 0 10px;
}

.users-package-readonly {
    align-items: center;
}

.users-directory-pills {
    gap: 6px;
}

.users-role-pill {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(236, 229, 219, 0.78);
    color: #4f463f;
    font-size: 0.74rem;
    font-weight: 600;
    line-height: 1.1;
}

.users-directory-effective-access {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
    margin-top: 2px;
}

.users-access-label {
    display: block;
    color: #6d645c;
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.1;
    text-transform: uppercase;
}

.users-section-access-matrix {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    min-width: 0;
}

.users-section-access-pill {
    display: inline-flex;
    align-items: center;
    min-height: 18px;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(236, 229, 219, 0.55);
    color: #8a8076;
    font-size: 0.66rem;
    font-weight: 600;
    line-height: 1.1;
    white-space: nowrap;
}

.users-section-access-pill.is-on {
    background: rgba(221, 240, 225, 0.9);
    color: #32543d;
}

.users-directory-meta {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #6d645c;
    font-size: 0.66rem;
    line-height: 1.2;
}

.users-directory-meta-separator {
    color: #aa9d92;
}

.users-other-access {
    display: contents;
}

/*
 * Chrome 131+ wraps details children in ::details-content { display: block },
 * which breaks display:contents participation in the parent card grid.
 * Restore contents so .users-other-access-body can span grid-column 1 / -1.
 */
.users-other-access[open]::details-content {
    display: contents;
}

.users-other-access > summary {
    grid-column: 7;
    justify-self: end;
    position: relative;
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(126, 104, 84, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.7);
    align-items: center;
    cursor: pointer;
    list-style: none;
    color: #5a4c41;
    font-size: 0.9rem;
    font-weight: 650;
    line-height: 1;
}

.users-other-access > summary span::before {
    content: "+";
}

.users-other-access[open] > summary span:not(.users-other-access-count)::before {
    content: "−";
}

.users-other-access-count {
    position: absolute;
    top: -6px;
    right: -7px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 999px;
    background: #5a4c41;
    color: #fffaf4;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(70, 56, 42, 0.18);
}

.users-other-access-count::before {
    content: none !important;
}

.users-other-access > summary::-webkit-details-marker {
    display: none;
}

.users-other-access-body {
    /* Participates in .users-directory-card grid via details { display: contents }. */
    grid-column: 1 / -1;
    justify-self: stretch;
    align-self: stretch;
    position: relative;
    z-index: 5;
    box-sizing: border-box;
    width: auto;
    min-width: 0;
    max-width: none;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    margin: 6px 0 4px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.users-other-access-heading {
    color: #766a60;
    font-size: 0.66rem;
    font-weight: 650;
    letter-spacing: 0.12em;
    line-height: 1.2;
    text-transform: uppercase;
}

.users-other-access-panels {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    align-items: stretch;
    gap: 10px 12px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.users-other-access-panel {
    display: grid;
    gap: 10px;
    min-width: 0;
    width: auto;
    max-width: none;
    padding: 12px 14px;
    border: 1px solid rgba(126, 104, 84, 0.18);
    border-radius: 14px;
    background: rgba(255, 253, 250, 0.98);
    box-shadow: 0 8px 20px rgba(70, 56, 42, 0.08);
    overflow: visible;
}

.users-other-access-main,
.users-other-access-library,
.users-other-access-sanctuary,
.users-other-access-addons {
    min-width: 0;
    max-width: none;
}

.users-other-access-panels:not(:has(.users-other-access-library)):not(:has(.users-other-access-sanctuary)):not(:has(.users-other-access-addons)),
.users-other-access-panels:not(:has(.users-other-access-main)) {
    grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 900px) {
    .users-directory {
        gap: 12px;
        border-top: 0;
    }

    .users-directory-header {
        display: none;
    }

    .users-directory-card {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        padding: 12px 14px;
        border: 1px solid rgba(126, 104, 84, 0.14);
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.82);
        box-shadow: 0 8px 18px rgba(88, 71, 53, 0.05);
    }

    .users-directory-pills::before {
        content: "Roles";
        flex-basis: 100%;
        color: #766a60;
        font-size: 0.66rem;
        font-weight: 650;
        letter-spacing: 0.12em;
        text-transform: uppercase;
    }

    .users-directory-membership:not(:empty)::before {
        content: "Membership";
        flex-basis: 100%;
        color: #766a60;
        font-size: 0.66rem;
        font-weight: 650;
        letter-spacing: 0.12em;
        text-transform: uppercase;
    }

    .users-other-access > summary {
        grid-column: 1;
        justify-self: end;
    }

    .users-other-access-body {
        grid-column: 1 / -1;
        margin-top: 10px;
    }

    .users-other-access-panels {
        grid-template-columns: minmax(0, 1fr);
    }

    .users-other-access-main,
    .users-other-access-library,
    .users-other-access-sanctuary,
    .users-other-access-addons {
        max-width: none;
        min-width: 0;
    }

    .users-other-access-subscriptions,
    .users-products-cell,
    .users-library-tags-cell,
    .users-package-addons-cell,
    .users-sanctuary-cell {
        max-width: none;
        min-width: 0;
    }

    .users-directory-package .users-role-label,
    .users-directory-package .users-package-track-icon {
        display: inline-flex;
    }
}

/* Facilitator User Progress is kept here as well as its page stylesheet so the
   SPA and direct section loads always receive the critical grid layout. */
.user-progress-shell,
.user-progress-list,
.user-progress-row {
    display: grid;
}

.user-progress-shell {
    gap: 16px;
}

.user-progress-list {
    gap: 12px;
}

.user-progress-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.user-progress-filters {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(145px, 180px));
    align-items: center;
    gap: 10px;
}

.user-progress-filters .admin-list-search,
.user-progress-filter-field {
    display: flex;
    width: 100%;
    min-width: 0;
}

.user-progress-filters .admin-list-search-input,
.user-progress-select {
    width: 100%;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
}

.user-progress-row {
    gap: 14px;
    padding: 16px;
}

.user-progress-row.is-stale {
    border-color: rgba(166, 124, 82, 0.22);
}

.user-progress-row-head,
.user-progress-identity,
.user-progress-course-pill-head,
.user-progress-course-pill-meta,
.user-progress-total-summary {
    display: flex;
    align-items: center;
}

.user-progress-row-head,
.user-progress-course-pill-head,
.user-progress-course-pill-meta,
.user-progress-total-summary {
    justify-content: space-between;
}

.user-progress-row-head {
    gap: 14px;
}

.user-progress-identity {
    gap: 10px;
    min-width: 0;
}

.user-progress-avatar {
    display: grid;
    place-items: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    color: #493d34;
    background: rgba(232, 224, 214, 0.82);
    border: 1px solid rgba(126, 104, 84, 0.14);
    font-weight: 800;
}

.user-progress-identity-copy,
.user-progress-activity,
.user-progress-course-pills,
.user-progress-course-pill {
    display: grid;
}

.user-progress-identity-copy {
    gap: 2px;
    min-width: 0;
}

.user-progress-name {
    color: #352c25;
    font-size: 0.98rem;
}

.user-progress-email {
    color: #6d645c;
    font-size: 0.82rem;
    overflow-wrap: anywhere;
}

.user-progress-status-pill,
.user-progress-journey-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    font-weight: 800;
    text-transform: uppercase;
    white-space: nowrap;
}

.user-progress-status-pill {
    min-height: 22px;
    padding: 0 9px;
    font-size: 0.68rem;
    letter-spacing: 0.08em;
}

.user-progress-status-on_track {
    background: rgba(214, 233, 219, 0.75);
    color: #385848;
}

.user-progress-status-needs_attention,
.user-progress-status-not_started {
    background: rgba(255, 239, 214, 0.9);
    color: #7a5530;
}

.user-progress-status-complete {
    background: rgba(220, 232, 255, 0.88);
    color: #35507a;
}

.user-progress-activity {
    gap: 3px;
    color: #6d645c;
    font-size: 0.76rem;
    text-align: right;
}

.user-progress-activity.is-warning {
    color: #7a5530;
}

.user-progress-boxes {
    display: grid;
    grid-template-columns: repeat(5, minmax(150px, 1fr));
    gap: 12px;
    min-width: 0;
    overflow-x: auto;
    padding-bottom: 3px;
}

.user-progress-box {
    display: grid;
    align-content: start;
    gap: 9px;
    min-width: 150px;
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.62);
    border: 1px solid rgba(126, 104, 84, 0.12);
}

.user-progress-course-pills {
    gap: 7px;
}

.user-progress-course-pill {
    gap: 5px;
    padding: 8px 9px;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(126, 104, 84, 0.11);
}

.user-progress-course-pill.is-journey {
    border-color: rgba(112, 92, 159, 0.34);
    background: rgba(241, 237, 250, 0.92);
}

.user-progress-course-pill-head {
    align-items: flex-start;
    gap: 6px;
}

.user-progress-course-pill-head strong {
    min-width: 0;
    color: #352c25;
    font-size: 0.72rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.user-progress-journey-badge {
    flex: 0 0 auto;
    min-height: 17px;
    padding: 0 5px;
    color: #604b88;
    background: rgba(221, 211, 241, 0.95);
    font-size: 0.52rem;
    letter-spacing: 0.06em;
}

.user-progress-course-pill-meta,
.user-progress-total-summary {
    gap: 7px;
    color: #7a7068;
    font-size: 0.67rem;
}

.user-progress-course-pill-meta b,
.user-progress-total-summary strong {
    color: #352c25;
}

.user-progress-total-box {
    background: rgba(255, 248, 226, 0.76);
}

.user-progress-bar {
    display: block;
    width: 100%;
    height: 4px;
    border-radius: 999px;
    background: rgba(126, 104, 84, 0.14);
    overflow: hidden;
}

.user-progress-bar-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(90, 140, 110, 0.85), rgba(72, 118, 168, 0.9));
}

@media (max-width: 1000px) {
    .user-progress-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .user-progress-boxes {
        grid-template-columns: repeat(5, minmax(165px, 1fr));
    }
}

@media (max-width: 720px) {
    .user-progress-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .user-progress-row-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .user-progress-activity {
        text-align: left;
    }
}

@media (max-width: 520px) {
    .user-progress-filters {
        grid-template-columns: 1fr;
    }
}

.users-other-access-block {
    display: grid;
    gap: 4px;
    flex: 0 1 auto;
    min-width: 0;
}

.users-other-access-subscriptions {
    min-width: 0;
    max-width: none;
}

.users-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 980px;
}

.users-interest-table {
    min-width: 980px;
}

.users-interest-table .users-interest-status-col {
    min-width: 7.5rem;
    white-space: nowrap;
}

.users-table th,
.users-table td {
    padding: 6px 10px;
    border-bottom: 1px solid rgba(126, 104, 84, 0.12);
    text-align: left;
    vertical-align: middle;
}

.users-table th {
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #6d645c;
}

.users-table td {
    color: #2f2924;
}

.users-name-cell {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.users-name-cell strong {
    font-size: 0.9rem;
    line-height: 1.15;
}

.users-name-link {
    color: inherit;
    text-decoration: none;
}

.users-name-link:hover,
.users-name-link:focus-visible {
    text-decoration: underline;
}

.users-name-cell span {
    font-size: 0.74rem;
    line-height: 1.05;
    color: #6d645c;
}

.users-status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 0 8px;
    border-radius: 999px;
    background: rgba(226, 214, 202, 0.42);
    color: #4e443d;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: capitalize;
    line-height: 1;
    white-space: nowrap;
}

.users-status-pill-active {
    background: rgba(221, 240, 225, 0.9);
    color: #32543d;
}

.users-status-pill-requested {
    background: rgba(255, 244, 214, 0.95);
    color: #6f5520;
}

.users-status-pill-pending {
    background: rgba(245, 236, 228, 0.95);
    color: #6a5b4f;
}

.users-status-pill-sent {
    background: rgba(221, 235, 255, 0.95);
    color: #2f4f78;
}

.users-status-pill-signed_up {
    background: rgba(221, 240, 225, 0.9);
    color: #32543d;
}

.users-role-form {
    margin: 0;
}

.users-impersonation-form {
    display: inline-flex;
}

@media (max-width: 760px) {
    .settings-time-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

.users-role-field {
    display: grid;
    gap: 8px;
}

.users-role-label {
    font-size: 0.7rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #6d645c;
}

.users-role-select {
    min-height: 32px;
    width: 100%;
    padding: 0 10px;
    border: 1px solid rgba(126, 104, 84, 0.18);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.88);
    color: #2f2924;
    font-size: 0.92rem;
    line-height: 1.1;
}

.users-role-select:focus-visible {
    outline: 2px solid rgba(126, 104, 84, 0.28);
    outline-offset: 2px;
}

.users-role-checklist {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 10px;
}

.users-role-option {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid rgba(126, 104, 84, 0.14);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.72);
    color: #2f2924;
    font-size: 0.88rem;
}

.users-role-option input {
    margin: 0;
}

/* Agent Mode per-user toggle pill */
.users-agent-form {
    display: inline-flex;
    margin: 0;
}

.users-directory-membership {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    min-height: 26px;
}

.users-membership-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 26px;
    padding: 0 10px;
    border: 1px solid rgba(126, 104, 84, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.7);
    color: #9a8e84;
    font-size: 0.73rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
}

.users-membership-pill.is-on {
    border-color: rgba(86, 138, 112, 0.34);
    background: rgba(228, 244, 234, 0.92);
    color: #2f5a43;
}

.users-membership-pill-icon {
    display: inline-flex;
    width: 12px;
    height: 12px;
    flex: 0 0 auto;
}

.users-membership-pill-icon svg {
    width: 12px;
    height: 12px;
    display: block;
}

.users-agent-toggle {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 26px;
    padding: 0 10px;
    border: 1px solid rgba(126, 104, 84, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.7);
    color: #9a8e84;
    font-size: 0.73rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    cursor: pointer;
    white-space: nowrap;
    transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.users-agent-toggle:hover,
.users-agent-toggle:focus-visible {
    border-color: rgba(126, 104, 84, 0.3);
    background: rgba(255, 255, 255, 0.95);
    color: #3a3129;
    outline: none;
}

.users-agent-toggle.is-on {
    border-color: rgba(86, 138, 112, 0.34);
    background: rgba(228, 244, 234, 0.92);
    color: #2f5a43;
}

.users-agent-toggle.is-on:hover,
.users-agent-toggle.is-on:focus-visible {
    background: rgba(208, 236, 218, 0.98);
    border-color: rgba(86, 138, 112, 0.48);
    color: #1e4230;
}

.users-agent-toggle-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
    flex-shrink: 0;
    opacity: 0.45;
}

.users-agent-toggle.is-on .users-agent-toggle-dot {
    opacity: 1;
}

.users-subscription-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.users-subscription-pill {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(236, 229, 219, 0.72);
    color: #4f463f;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.2;
}

.users-subscription-empty {
    color: #6d645c;
    font-size: 0.82rem;
}

.users-products-cell {
    min-width: 0;
    max-width: none;
    flex: none;
    vertical-align: top;
    overflow: visible;
}

.users-library-tags-cell {
    min-width: 0;
    max-width: none;
}

.users-products-form {
    display: grid;
    gap: 4px;
    margin: 0;
}

.users-products-picker-wrap {
    position: relative;
    min-width: 0;
    overflow: visible;
}

.users-sanctuary-form {
    display: grid;
    gap: 6px;
    margin: 0;
}

.users-sanctuary-picker-wrap {
    display: grid;
    gap: 6px;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto;
    align-items: end;
}

.users-sanctuary-picker-wrap .users-package-field {
    display: grid;
    gap: 0;
    margin: 0;
    min-width: 0;
}

.users-sanctuary-picker-wrap .users-role-select {
    width: 100%;
    min-width: 0;
}

.users-sanctuary-picker-wrap .users-package-save {
    white-space: nowrap;
}

.users-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 700px) {
    .users-sanctuary-picker-wrap {
        grid-template-columns: minmax(0, 1fr);
    }
}

.users-products-paid-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.users-products-paid-pill {
    background: rgba(221, 235, 255, 0.72);
    color: #2f4f78;
}

.users-products-form .events-membership-picker-pills .users-products-paid-pill,
.users-sanctuary-cell .users-products-paid-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.2;
}

.users-sanctuary-remove-form {
    display: inline-flex;
    margin: 0;
}

.users-sanctuary-cell .users-subscription-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.users-package-addons-cell .users-products-picker-wrap {
    position: relative;
    min-width: 0;
    overflow: visible;
}

.users-products-form .events-membership-picker {
    min-width: 0;
    gap: 4px;
}

.users-products-form .events-tag-picker {
    min-width: 0;
    gap: 6px;
}

.users-products-form .events-membership-picker-control {
    position: relative;
    overflow: visible;
}

.users-products-form .events-membership-picker-search {
    min-height: 34px;
    padding: 6px 34px 6px 12px;
    font-size: 0.86rem;
}

.users-products-form .events-membership-picker-pills {
    gap: 4px;
}

.users-products-form .events-membership-picker > .events-membership-picker-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0;
}

.users-products-form .events-membership-picker > .events-membership-picker-pills:not(:has([data-events-membership-pill]))::before {
    content: none;
}

.users-products-form .events-membership-pill {
    font-size: 0.78rem;
}

/* Hashtag picker matches memberships: search on top, selected pills below. */
.users-library-tags-cell .users-products-picker-wrap {
    position: relative;
    min-width: 0;
    overflow: visible;
}

.users-library-tags-cell .events-tag-stacked-picker {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.users-library-tags-cell .events-tag-stacked-picker .events-membership-picker-control {
    position: relative;
    overflow: visible;
}

.users-library-tags-cell .events-tag-stacked-picker .events-membership-picker-search {
    width: 100%;
    min-width: 0;
    min-height: 34px;
    margin: 0;
    padding: 6px 34px 6px 12px;
    border: 1px solid rgba(126, 104, 84, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: none;
    font-size: 0.86rem;
}

.users-library-tags-cell .events-tag-stacked-picker .events-membership-picker-search:focus,
.users-library-tags-cell .events-tag-stacked-picker .events-membership-picker-search:focus-visible {
    outline: none;
    border-color: rgba(126, 104, 84, 0.28);
    box-shadow: 0 0 0 3px rgba(224, 210, 190, 0.28);
}

.users-library-tags-cell .events-tag-stacked-picker .events-membership-picker-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    width: 100%;
    max-width: none;
    margin: 0;
    min-height: 1.2em;
}

.users-library-tags-cell .events-tag-stacked-picker .events-membership-picker-pills:empty,
.users-library-tags-cell .events-tag-stacked-picker .events-membership-picker-pills:not(:has([data-events-tag-pill])) {
    display: flex;
}

.users-library-tags-cell .events-tag-stacked-picker .events-membership-picker-pills:not(:has([data-events-tag-pill]))::before {
    content: "None";
    color: #6d645c;
    font-size: 0.82rem;
    line-height: 1.2;
}

.users-library-tags-cell .events-membership-pill[data-events-tag-pill] {
    gap: 5px;
    min-height: 28px;
    padding: 4px 5px 4px 9px;
    border: 1px solid rgba(126, 104, 84, 0.2);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #2f2924;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1;
}

.users-library-tags-cell .events-membership-pill[data-events-tag-pill] .events-membership-pill-remove {
    width: 18px;
    height: 18px;
    background: rgba(126, 104, 84, 0.12);
    color: #6d4f47;
}

.users-library-tags-cell .events-membership-pill[data-events-tag-pill] .events-membership-pill-meta {
    font-size: 0.7rem;
    font-weight: 500;
    color: #6d645c;
    white-space: nowrap;
}

.users-library-tags-cell .events-membership-pill[data-events-tag-pill].is-unmatched {
    border-color: rgba(176, 96, 48, 0.45);
    background: rgba(255, 244, 230, 0.96);
}

.users-library-tags-cell .events-membership-pill[data-events-tag-pill].is-unmatched .events-membership-pill-meta {
    color: #9a4f1f;
}

.users-library-tags-cell .users-products-submit {
    position: absolute;
    top: 5px;
    right: 4px;
    bottom: auto;
    z-index: 3;
}

.users-library-tags-cell .events-tag-picker-no-results[hidden] {
    display: none !important;
}

.users-products-submit {
    position: absolute;
    top: 5px;
    right: 4px;
    z-index: 3;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(126, 104, 84, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    color: #5a4c41;
    box-shadow: 0 4px 10px rgba(70, 56, 42, 0.08);
    cursor: pointer;
    transition: transform 120ms ease, border-color 120ms ease, background-color 120ms ease, color 120ms ease;
}

.users-products-submit svg {
    width: 13px;
    height: 13px;
}

.users-products-submit:hover,
.users-products-submit:focus-visible {
    outline: none;
    transform: translateY(1px);
    border-color: rgba(126, 104, 84, 0.28);
    background: rgba(244, 237, 230, 0.98);
    color: #2f2924;
}

.users-products-form .events-membership-picker-menu.is-open,
.users-products-form .events-tag-picker .events-membership-picker-menu.is-open {
    z-index: 2600;
}

.events-admin-form .events-membership-picker-menu.is-open,
.events-admin-form .events-tag-picker .events-membership-picker-menu.is-open,
.courses-form .events-membership-picker-menu.is-open,
.courses-form .events-tag-picker .events-membership-picker-menu.is-open {
    z-index: 2600;
}

body > .events-membership-picker-menu.is-open:not([data-events-places-picker-menu]) {
    position: fixed !important;
    z-index: 3200 !important;
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    max-height: min(50vh, 280px);
    overflow-y: auto;
}

.users-impersonate-button {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(126, 104, 84, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: #5a4c41;
    box-shadow: 0 6px 14px rgba(88, 71, 53, 0.06);
    cursor: pointer;
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.users-impersonate-button svg {
    width: 15px;
    height: 15px;
}

.users-impersonate-button:hover,
.users-impersonate-button:focus-visible {
    border-color: rgba(126, 104, 84, 0.28);
    background: rgba(255, 255, 255, 0.98);
    color: #342a23;
    transform: translateY(-1px);
    outline: none;
}

.users-impersonate-button.is-active {
    border-color: rgba(86, 138, 112, 0.28);
    background: rgba(228, 244, 234, 0.92);
    color: #2f5a43;
    box-shadow: 0 12px 26px rgba(79, 126, 103, 0.12);
}

.users-impersonate-button:disabled {
    opacity: 0.52;
    cursor: default;
    transform: none;
    box-shadow: none;
}

.products-icon-badge {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(229, 220, 212, 0.72);
    color: #554d47;
}

.admin-author-heading,
.products-card-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.attribution-author-badge {
    display: inline-flex;
    flex: 0 0 auto;
}

.attribution-author-badge .attribution-identity-face {
    width: 38px;
    height: 38px;
    font-size: 0.92rem;
}

.products-icon-badge svg {
    width: 18px;
    height: 18px;
    display: block;
    fill: currentColor;
}

.products-card-heading {
    display: flex;
    align-items: center;
    gap: 12px;
}

.admin-author-heading .settings-card-title,
.products-card-heading .settings-card-title {
    margin-top: 0;
}

.products-meta-stack {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.products-visibility-toggle-group {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.products-link-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.products-card-link {
    min-height: 30px;
    padding: 0 12px;
    border-color: #181513;
    background: #181513;
    color: #fffaf5;
    font-size: 0.7rem;
    letter-spacing: 0.12em;
}

.products-card-link:hover,
.products-card-link:focus-visible {
    background: #26211d;
}

.products-inline-pill {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: #5b514a;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.admin-section-primary-action {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    flex: 0 0 auto;
}

.settings-hero-panel .settings-hero-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
}

.settings-hero-panel.events-hero-panel.settings-hero-panel--with-toolbar {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 18px;
}

.settings-hero-panel--with-toolbar .settings-title {
    margin-bottom: 0;
}

.admin-hero-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    border-radius: 0;
}

.admin-hero-toolbar.admin-list-filters,
.admin-hero-toolbar .admin-list-filters {
    justify-content: flex-end;
}

.admin-hero-toolbar .admin-list-search-input,
.admin-hero-toolbar .admin-list-filter-chip:not(.is-active),
.admin-hero-toolbar .admin-list-sort-select,
.admin-hero-toolbar .products-inline-pill:not(.is-active) {
    background-color: rgba(126, 104, 84, 0.12);
    border-color: rgba(126, 104, 84, 0.18);
}

.admin-hero-toolbar .admin-list-search-input:hover,
.admin-hero-toolbar .admin-list-search-input:focus-visible,
.admin-hero-toolbar .admin-list-filter-chip:not(.is-active):hover,
.admin-hero-toolbar .admin-list-filter-chip:not(.is-active):focus-visible,
.admin-hero-toolbar .admin-list-sort-select:hover,
.admin-hero-toolbar .admin-list-sort-select:focus-visible,
.admin-hero-toolbar .products-inline-pill:not(.is-active):hover,
.admin-hero-toolbar .products-inline-pill:not(.is-active):focus-visible {
    background-color: rgba(126, 104, 84, 0.2);
    border-color: rgba(38, 33, 29, 0.28);
}

.admin-list-filters-bar {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 8px;
}

.admin-list-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    margin: 0;
}

.admin-list-search {
    display: inline-flex;
    align-items: center;
    margin: 0;
}

.admin-list-search-input {
    width: 9.5rem;
    min-height: 26px;
    padding: 0 10px;
    border: 1px solid rgba(126, 104, 84, 0.14);
    border-radius: 999px;
    background: #fff;
    color: #26211d;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.admin-list-search-input::placeholder {
    color: rgba(38, 33, 29, 0.45);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.admin-list-search-input:hover,
.admin-list-search-input:focus-visible {
    border-color: rgba(38, 33, 29, 0.28);
    outline: none;
}

.admin-list-sort {
    display: inline-flex;
    align-items: center;
    margin: 0;
}

.admin-list-sort-select {
    min-height: 26px;
    padding: 0 28px 0 10px;
    border: 1px solid rgba(126, 104, 84, 0.14);
    border-radius: 999px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2326211d' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 8px center;
    background-size: 10px;
    color: #26211d;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    appearance: none;
    cursor: pointer;
}

.admin-list-sort-select:hover,
.admin-list-sort-select:focus-visible {
    border-color: rgba(38, 33, 29, 0.28);
    outline: none;
}

.admin-list-filter-chip {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 10px;
    border: 1px solid rgba(126, 104, 84, 0.14);
    border-radius: 999px;
    background: #fff;
    color: #26211d;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.admin-list-filter-chip:hover,
.admin-list-filter-chip:focus-visible {
    border-color: rgba(38, 33, 29, 0.28);
    outline: none;
}

.admin-list-filter-chip.is-active {
    background: #26211d;
    border-color: #26211d;
    color: #fff;
}

.admin-list-filter-chip-reveal {
    background: rgba(168, 162, 156, 0.32);
    border-color: rgba(140, 134, 128, 0.35);
    color: #5c5853;
}

.admin-list-filter-chip-reveal:hover,
.admin-list-filter-chip-reveal:focus-visible {
    border-color: rgba(92, 88, 83, 0.45);
    background: rgba(168, 162, 156, 0.46);
}

.admin-list-filter-chip-reveal.is-active {
    background: #6f6a65;
    border-color: #6f6a65;
    color: #f4f1ed;
}

@media (max-width: 720px) {
    .admin-list-filters-bar {
        justify-content: stretch;
    }

    .admin-list-filters {
        justify-content: flex-start;
    }

    .admin-list-search-input {
        width: 7.5rem;
    }

    .admin-hero-toolbar,
    .admin-hero-toolbar.admin-list-filters,
    .admin-hero-toolbar .admin-list-filters {
        justify-content: flex-end;
    }
}

[data-admin-list-item].is-filtered-out,
[data-admin-list-filter-empty].is-filtered-out {
    display: none !important;
}

.admin-list-filter-empty {
    border-style: dashed;
}

.events-admin-list--filtered {
    margin-top: 0;
}

.products-type-chooser {
    margin: 0;
    padding: 0;
    border: 0;
}

.products-author-host-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: start;
}

@media (max-width: 720px) {
    .products-author-host-row {
        grid-template-columns: 1fr;
    }
}

.products-type-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.products-type-option {
    position: relative;
    display: grid;
    gap: 6px;
    padding: 14px 16px;
    border-radius: 22px;
    border: 1px solid rgba(126, 104, 84, 0.14);
    background: rgba(255, 255, 255, 0.74);
    cursor: pointer;
    transition: border-color 140ms ease, box-shadow 140ms ease, background-color 140ms ease, transform 140ms ease;
}

.products-type-option:hover,
.products-type-option:focus-within {
    transform: translateY(-1px);
    border-color: rgba(126, 104, 84, 0.32);
    box-shadow: 0 14px 24px rgba(70, 56, 42, 0.08);
}

.products-type-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.products-type-option:has(input:checked) {
    border-color: rgba(126, 104, 84, 0.58);
    background: linear-gradient(180deg, rgba(255, 250, 245, 0.96), rgba(242, 232, 224, 0.88));
    box-shadow: 0 18px 28px rgba(70, 56, 42, 0.1);
}

.products-type-option-label {
    color: #2f2924;
    font-size: 0.94rem;
    font-weight: 700;
}

.products-type-option-copy {
    color: #6a6159;
    font-size: 0.82rem;
    line-height: 1.5;
}

.products-field-note {
    display: grid;
    gap: 8px;
}

.products-type-group-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.products-type-group {
    display: grid;
    gap: 8px;
    flex: 1 1 180px;
}

.products-type-group-label {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #9c8e83;
}

.products-type-options-auto {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
}

.products-type-options.bundles-type-options {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.product-form-field-grid {
    align-items: center;
}

.product-form-field-handle {
    cursor: grab;
    color: #9c8e83;
    font-size: 0.9rem;
    letter-spacing: -0.08em;
    user-select: none;
    padding: 0 4px;
}

.product-form-field-row.is-dragging {
    opacity: 0.55;
}

.product-form-field-row.is-drop-target {
    border-color: rgba(126, 104, 84, 0.45);
}

.product-form-heading h3 {
    margin: 0.5rem 0 0.25rem;
    font-size: 1.05rem;
}

.product-form-option-list {
    display: grid;
    gap: 8px;
}

.product-form-option {
    display: flex;
    align-items: center;
    gap: 8px;
}

.product-form-checkbox-wrap {
    width: fit-content;
}

.product-form-member-shell {
    display: grid;
    gap: 14px;
}

.product-form-confirmation {
    margin: 0;
    color: #4a433c;
    line-height: 1.55;
}

.product-form-file-dropzone {
    position: relative;
    display: grid;
    gap: 8px;
    place-items: center;
    min-height: 108px;
    padding: 16px 14px;
    border: 1.5px dashed rgba(126, 104, 84, 0.42);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.06);
    color: inherit;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.product-form-file-dropzone.is-dragover {
    border-color: rgba(212, 184, 132, 0.9);
    background: rgba(212, 184, 132, 0.12);
}

.product-form-file-dropzone-copy {
    display: grid;
    gap: 4px;
    pointer-events: none;
}

.product-form-file-dropzone-copy strong {
    font-size: 0.95rem;
    font-weight: 650;
}

.product-form-file-dropzone-copy span {
    font-size: 0.82rem;
    opacity: 0.82;
}

.product-form-file-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.product-form-file-status {
    pointer-events: none;
}

.bundles-type-option {
    min-height: 96px;
    align-content: center;
    text-align: center;
}

.products-field-note .settings-action-copy {
    margin: 0;
}

.purchases-stack {
    display: grid;
    gap: 20px;
}

.purchases-hero-panel {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.purchases-hero-copy {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.purchases-archive-controls {
    flex: 0 0 auto;
    padding-top: 4px;
}

.purchases-archive-controls .planner-archive-toggle {
    position: relative;
    width: 34px;
    height: 34px;
    display: inline-grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(63, 55, 48, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #4f453d;
    cursor: pointer;
    transition: transform 140ms ease, border-color 140ms ease, background 140ms ease, color 140ms ease, opacity 140ms ease;
}

.purchases-archive-controls .planner-archive-toggle:hover,
.purchases-archive-controls .planner-archive-toggle:focus-visible {
    outline: none;
    transform: translateY(-1px);
}

.purchases-archive-controls .planner-archive-toggle.is-open {
    background: rgba(209, 164, 124, 0.16);
    border-color: rgba(126, 104, 84, 0.28);
    color: #2f2924;
}

.purchases-archive-controls .planner-archive-toggle.is-empty {
    opacity: 0.45;
}

.purchases-archive-controls .planner-archive-toggle[disabled] {
    cursor: not-allowed;
    transform: none;
}

.purchases-archive-controls .planner-archive-toggle-icon {
    width: 18px;
    height: 18px;
}

.purchases-archive-controls .planner-archive-toggle-count {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 999px;
    background: #d1a47c;
    color: #2f2924;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.96);
}

.purchases-archive-controls .planner-archive-toggle.is-empty .planner-archive-toggle-count {
    opacity: 0.7;
}

.purchases-archive-button {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid rgba(63, 55, 48, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #4f453d;
    cursor: pointer;
    transition: transform 140ms ease, border-color 140ms ease, background 140ms ease, color 140ms ease;
}

.purchases-archive-button:hover,
.purchases-archive-button:focus-visible {
    outline: none;
    transform: translateY(-1px);
    background: rgba(209, 164, 124, 0.16);
    border-color: rgba(126, 104, 84, 0.28);
    color: #2f2924;
}

.purchases-archive-panel {
    display: grid;
    gap: 12px;
    margin-top: 4px;
}

.purchases-archive-panel[hidden] {
    display: none !important;
}

.purchases-archive-items {
    display: grid;
    gap: 12px;
}

.purchases-archived-item {
    padding: 16px 18px;
    border-radius: 20px;
    border: 1px solid rgba(126, 104, 84, 0.14);
    background: rgba(255, 255, 255, 0.84);
}

.purchases-archived-item-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.purchases-archived-item-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.purchases-archived-item-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.purchases-archived-item-title {
    margin: 0;
    color: #2f2924;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
}

.purchases-archived-item-meta {
    margin: 0;
    color: rgba(47, 41, 36, 0.62);
    font-size: 0.88rem;
    line-height: 1.4;
}

.purchases-archived-item-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.purchases-archived-item-actions .planner-icon-button {
    width: 34px;
    height: 34px;
    display: inline-grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(63, 55, 48, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #4f453d;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    transition: transform 140ms ease, border-color 140ms ease, background 140ms ease, color 140ms ease;
}

.purchases-archived-item-actions .planner-icon-button:hover,
.purchases-archived-item-actions .planner-icon-button:focus-visible {
    outline: none;
    transform: translateY(-1px);
    background: rgba(209, 164, 124, 0.16);
    border-color: rgba(126, 104, 84, 0.28);
    color: #2f2924;
}

.purchases-card-list {
    display: grid;
    gap: 20px;
}

.purchases-purchase-card {
    display: grid;
    gap: 20px;
}

.purchases-purchase-card.is-membership-inactive .purchases-progress-pills,
.purchases-purchase-card.is-membership-inactive .purchases-summary-panel-access-info {
    display: none;
}

.purchases-reactivate-wrap {
    display: grid;
    gap: 8px;
}

.purchases-reactivate-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 3.5rem;
    padding: 0.95rem 1.5rem;
    border-radius: 999px;
    background: #111111;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.purchases-reactivate-cta:hover,
.purchases-reactivate-cta:focus-visible {
    background: #000000;
    box-shadow: 0 18px 34px rgba(17, 17, 17, 0.18);
    transform: translateY(-1px);
    outline: none;
}

.purchases-reactivate-cta:focus-visible {
    outline: 2px solid rgba(17, 17, 17, 0.24);
    outline-offset: 2px;
}

.purchases-progress-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.purchases-progress-pill {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid rgba(47, 41, 36, 0.18);
    background: #2f2924;
    color: #fff;
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: transform 140ms ease, background-color 140ms ease, border-color 140ms ease;
}

.purchases-progress-pill.is-completed {
    background: #4a3f36;
}

.purchases-progress-pill:hover,
.purchases-progress-pill:focus-visible {
    outline: none;
    transform: translateY(-1px);
    background: #4a3f36;
    border-color: rgba(47, 41, 36, 0.28);
}

.purchases-card-meta {
    align-items: center;
}

.purchases-hover-info-pill {
    display: inline-flex;
    align-items: center;
}

.purchases-hover-info-pill .field-info-hover-trigger.products-inline-pill {
    cursor: default;
}

.purchases-hover-info-pill .field-info-popover-panel[hidden] {
    display: none !important;
}

.field-info-hover-only {
    display: inline-flex;
    align-items: center;
    pointer-events: none;
}

.field-info-hover-trigger {
    cursor: default;
    pointer-events: auto;
}

.field-info-popover-panel.is-hover-open {
    animation: field-info-popover-in 0.16s ease;
}

.field-info-popover-panel.is-hover-open[data-placement='top'] {
    animation-name: field-info-popover-in-top;
}

.purchases-empty-state {
    margin: 0;
    color: #6d645c;
}

.purchases-stat-copy {
    display: block;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.purchases-summary-panel {
    display: grid;
    gap: 10px;
    padding: 22px 26px;
    border-radius: 24px;
    border: 1px solid rgba(126, 104, 84, 0.14);
    background: rgba(255, 255, 255, 0.84);
}

.purchases-purchase-card > .purchases-summary-panel-access-info {
    padding: 8px 16px;
    gap: 2px;
}

.purchases-purchase-card > .purchases-summary-panel-access-info .events-stat-label {
    line-height: 1.2;
}

.purchases-purchase-card > .purchases-summary-panel-access-info .purchases-summary-copy {
    line-height: 1.45;
}

.purchases-purchase-card > .purchases-summary-panel-access-info .purchases-summary-copy :is(p, ul, ol):first-child {
    margin-top: 0;
}

.purchases-purchase-card > .purchases-summary-panel-access-info .purchases-summary-copy :is(p, ul, ol):last-child {
    margin-bottom: 0;
}

.purchases-summary-copy {
    color: #2f2924;
    font-size: 1rem;
    line-height: 1.7;
}

.purchases-summary-copy a {
    color: #9f6335;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
}

.purchases-event-cta-list {
    display: grid;
    gap: 0.85rem;
    margin-top: 1rem;
}

.purchases-event-cta-wrap {
    display: grid;
    gap: 0.45rem;
}

.purchases-event-cta-meta {
    display: grid;
    gap: 0.12rem;
}

.purchases-event-cta-title {
    color: rgba(20, 24, 32, 0.92);
    font-size: 0.95rem;
    font-weight: 600;
}

.purchases-event-cta-date {
    color: rgba(20, 24, 32, 0.62);
    font-size: 0.83rem;
}

.purchases-event-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.7rem 1.2rem;
    border-radius: 999px;
    background: #111111;
    color: #ffffff;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-decoration: none;
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.purchases-event-cta.is-inline {
    min-height: 2.2rem;
    padding: 0.55rem 1rem;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
}

.purchases-event-cta:hover,
.purchases-event-cta:focus-visible {
    background: #000000;
    box-shadow: 0 16px 30px rgba(17, 17, 17, 0.16);
    transform: translateY(-1px);
}

.purchases-event-cta:focus-visible {
    outline: 2px solid rgba(17, 17, 17, 0.24);
    outline-offset: 2px;
}

.purchases-summary-copy a:hover,
.purchases-summary-copy a:focus-visible {
    color: #7c4b23;
}

.purchases-summary-panel-access {
    margin-top: 2px;
}

.purchases-summary-panel-history {
    margin-top: 2px;
}

.purchases-invoice-history {
    display: grid;
    gap: 12px;
}

.purchases-invoice-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid rgba(126, 104, 84, 0.12);
    background: rgba(255, 255, 255, 0.76);
}

.purchases-invoice-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 28px;
    color: #5f544c;
    font-size: 0.94rem;
    font-weight: 400;
    line-height: 1.5;
    flex: 1 1 320px;
    min-width: min(320px, 100%);
    overflow-wrap: anywhere;
}

.purchases-invoice-summary span {
    white-space: nowrap;
}

.purchases-invoice-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.purchases-invoice-link {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(126, 104, 84, 0.16);
    background: rgba(255, 255, 255, 0.9);
    color: #2f2924;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
}

.purchases-invoice-link:hover,
.purchases-invoice-link:focus-visible {
    outline: none;
    border-color: rgba(126, 104, 84, 0.24);
    background: rgba(250, 247, 243, 0.96);
}

.purchases-detail-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.purchases-detail-item {
    display: grid;
    gap: 6px;
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid rgba(126, 104, 84, 0.12);
    background: rgba(255, 255, 255, 0.76);
}

.purchases-detail-item-access {
    grid-column: 1 / -1;
}

.purchases-detail-label {
    color: #7a6e64;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.purchases-detail-value {
    color: #2f2924;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.purchases-receipt-menu {
    position: relative;
}

.purchases-receipt-toggle {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid rgba(126, 104, 84, 0.16);
    background: rgba(255, 255, 255, 0.82);
    color: #5b514a;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.purchases-receipt-toggle::-webkit-details-marker {
    display: none;
}

.purchases-receipt-toggle:hover,
.purchases-receipt-toggle:focus-visible {
    outline: none;
    background: rgba(255, 255, 255, 0.96);
    border-color: rgba(126, 104, 84, 0.26);
}

.purchases-receipt-dots {
    font-size: 0.9rem;
    letter-spacing: 0.08em;
    transform: translateY(-1px);
}

.purchases-receipt-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    min-width: 152px;
    display: grid;
    gap: 8px;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(126, 104, 84, 0.14);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 16px 40px rgba(56, 44, 35, 0.12);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity 160ms ease, transform 160ms ease;
    z-index: 5;
}

.purchases-receipt-menu[open] .purchases-receipt-dropdown {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.purchases-receipt-link {
    display: block;
    padding: 8px 10px;
    border-radius: 12px;
    background: rgba(250, 247, 243, 0.9);
    color: #2f2924;
    font-size: 0.84rem;
    font-weight: 600;
    text-decoration: none;
}

.purchases-receipt-form {
    margin: 0;
}

.purchases-receipt-button {
    width: 100%;
    border: 0;
    text-align: left;
    cursor: pointer;
    font: inherit;
}

.purchases-receipt-button:disabled {
    opacity: 0.6;
    cursor: wait;
}

.purchases-receipt-link:hover,
.purchases-receipt-link:focus-visible {
    outline: none;
    background: rgba(242, 235, 228, 0.98);
}

.purchases-summary-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.purchases-membership-card,
.purchases-history-card {
    display: grid;
    gap: 16px;
}

.purchases-membership-head {
    display: grid;
    gap: 12px;
}

.purchases-offer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.purchases-offer-button {
    min-height: 32px;
    padding: 0 12px;
    border-color: #2f2924;
    background: #181513;
    color: #fffaf5;
    font-size: 0.72rem;
    letter-spacing: 0.1em;
}

.purchases-offer-button:hover,
.purchases-offer-button:focus-visible {
    background: #26211d;
}

.purchases-membership-list {
    display: grid;
    gap: 12px;
}

.purchases-membership-item {
    display: grid;
    gap: 4px;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(126, 104, 84, 0.12);
}

.purchases-membership-meta {
    color: #6d645c;
    font-size: 0.84rem;
}

.purchases-empty {
    color: #6d645c;
}


/* ── Stripe account badge ── */
.settings-card-label-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.settings-card-label-row > .settings-card-label {
    margin-bottom: 0;
}

.settings-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 9px;
    border-radius: 99px;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: rgba(109, 100, 92, 0.1);
    color: #6d645c;
    border: 1px solid rgba(109, 100, 92, 0.16);
}

.settings-badge-primary {
    background: rgba(50, 84, 61, 0.09);
    color: #32543d;
    border-color: rgba(50, 84, 61, 0.18);
}

.settings-badge-live {
    background: rgba(26, 86, 219, 0.08);
    color: #1a56db;
    border-color: rgba(26, 86, 219, 0.18);
}

.settings-badge-connected {
    padding: 4px 12px;
    font-size: 0.78rem;
    letter-spacing: 0.1em;
    background: rgba(15, 125, 97, 0.12);
    color: #0f7d61;
    border-color: rgba(15, 125, 97, 0.28);
}

/* ── Integration cards (Settings → API connections) ── */
.settings-integration-card.is-connected {
    background: rgba(236, 245, 239, 0.95);
    border-color: rgba(50, 84, 61, 0.18);
}

.settings-integration-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.settings-integration-card-head .settings-card-title {
    margin: 0;
}

.settings-pipeline-token-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.settings-pipeline-token-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.settings-pipeline-token-row-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.settings-pipeline-token-name {
    font-size: 0.98rem;
}

.settings-pipeline-token-meta,
.settings-pipeline-token-mask {
    margin: 0;
    font-size: 0.875rem;
    color: #7a6f65;
}

.settings-pipeline-token-created {
    margin: 0 0 14px;
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(15, 125, 97, 0.08);
}

.settings-pipeline-token-copy-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 8px;
}

.settings-pipeline-token-copy-input {
    flex: 1 1 220px;
    min-width: 0;
}

.settings-api-create-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 0 0 14px;
}

.settings-api-create-row .events-input {
    flex: 1 1 160px;
    min-width: 140px;
    margin: 0;
}

.settings-api-create-scopes {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
    white-space: nowrap;
}

.settings-api-create-scopes label {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    font-size: 0.92rem;
}

.settings-api-create-row .settings-button {
    flex: 0 0 auto;
    margin-left: auto;
    white-space: nowrap;
}

.settings-integration-actions {
    margin-top: 14px;
    justify-content: flex-start;
}

.settings-integration-actions .settings-button-compact,
.settings-integration-actions .events-danger-button {
    min-height: 42px;
}

.settings-shell > .settings-facilitator-cards-grid {
    display: block;
    column-count: 2;
    column-gap: 20px;
    column-fill: balance;
    width: 100%;
}

@media (max-width: 900px) {
    .settings-shell > .settings-facilitator-cards-grid,
    .settings-facilitator-cards-grid {
        column-count: 1;
    }
}

/* ── Secondary account note ── */
.settings-secondary-account-note {
    font-size: 0.875rem;
    color: #7a6f65;
    margin-top: 6px;
}

/* ── Account ID line in right column ── */
.settings-account-id-copy {
    font-size: 0.8rem;
    color: #8a7c70;
    font-family: ui-monospace, monospace;
    margin-bottom: 10px;
}

.settings-membership-save-actions {
    justify-content: center;
    margin: 18px 0 6px;
}

.settings-membership-save-actions + .settings-api-key-form-toggle {
    margin-top: 14px;
}

/* ── API key account expand form ── */
.settings-api-key-form-toggle {
    margin-top: 14px;
    border: 1px solid rgba(63, 55, 48, 0.1);
    border-radius: 14px;
    overflow: hidden;
}

.settings-api-key-form-summary {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 600;
    color: #3d342e;
    list-style: none;
    user-select: none;
    background: rgba(250, 247, 243, 0.8);
    transition: background 0.15s ease;
}

.settings-api-key-form-summary::-webkit-details-marker { display: none; }

.settings-api-key-form-summary::before {
    content: '+';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgba(109, 100, 92, 0.12);
    font-size: 0.85rem;
    flex-shrink: 0;
    transition: transform 0.15s ease, background 0.15s ease;
}

details[open] .settings-api-key-form-summary::before {
    content: '−';
    background: rgba(126, 104, 84, 0.18);
}

.settings-api-key-form-summary:hover {
    background: rgba(243, 238, 232, 0.9);
}

.settings-api-key-form {
    padding: 16px;
    border-top: 1px solid rgba(63, 55, 48, 0.08);
    background: rgba(255, 255, 255, 0.6);
}

/* ── Membership empty state ── */
.settings-membership-empty {
    display: grid;
    gap: 6px;
    padding: 12px 0 4px;
}

.settings-membership-empty .settings-action-copy {
    font-size: 0.875rem;
}

/* ── Membership product list ── */
.settings-membership-list-scroll {
    max-height: 320px;
    overflow-y: auto;
    margin-top: 10px;
}

.settings-membership-empty-compact {
    padding-top: 0;
    margin-bottom: 4px;
}

.settings-membership-account-card:not(.is-showing-all-products) .settings-membership-row.is-membership-extended-only {
    display: none;
}

.settings-membership-list {
    list-style: none;
    margin: 10px 0 0;
    padding: 0;
    display: grid;
    gap: 0;
    border: 1px solid rgba(63, 55, 48, 0.1);
    border-radius: 14px;
    overflow: hidden;
}

.settings-membership-row {
    padding: 12px 14px;
    border-bottom: 1px solid rgba(63, 55, 48, 0.07);
    background: rgba(255, 255, 255, 0.5);
    transition: background 0.15s ease;
}

.settings-membership-row:last-child {
    border-bottom: none;
}

.settings-membership-row.is-enabled {
    background: rgba(243, 248, 241, 0.7);
}

.settings-membership-row-main {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

/* compact toggle (no label text) */
.settings-membership-toggle {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    padding-top: 2px;
    cursor: pointer;
}

.settings-membership-toggle .settings-toggle-track {
    width: 42px;
    height: 24px;
}

.settings-membership-toggle .settings-toggle-thumb {
    width: 16px;
    height: 16px;
}

.settings-membership-toggle .settings-toggle-input:checked + .settings-toggle-track .settings-toggle-thumb {
    margin-left: auto;
    transform: none;
}

/* product info column */
.settings-membership-row-info {
    display: grid;
    gap: 2px;
    flex: 1 1 0;
    min-width: 0;
}

.settings-membership-name {
    font-size: 0.9rem;
    color: #2f2924;
    font-weight: 600;
    line-height: 1.3;
}

.settings-membership-prices {
    font-size: 0.8rem;
    color: #6d645c;
    line-height: 1.3;
}

.settings-membership-desc {
    font-size: 0.78rem;
    color: #8a7c70;
    line-height: 1.4;
}

.settings-membership-package-field {
    min-width: 180px;
}

.settings-membership-package-readonly {
    margin: 0;
    font-weight: 600;
    color: #2f2924;
}

.users-save-button {
    min-width: 78px;
    min-height: 32px;
    padding: 0 12px;
}

.users-interest-card {
    display: grid;
    gap: 18px;
    background: linear-gradient(180deg, rgba(250, 247, 243, 0.94), rgba(255, 255, 255, 0.84));
}

.users-interest-metrics {
    grid-template-columns: repeat(2, minmax(0, 220px));
}

.users-interest-package-form,
.users-interest-send-form {
    display: grid;
    gap: 14px;
}

.users-interest-package-form {
    max-width: 520px;
}

.users-interest-package-field-inline {
    display: grid;
    gap: 8px;
}

.users-interest-package-inline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.users-interest-package-inline .users-role-select {
    flex: 1 1 220px;
    min-width: 0;
}

.users-interest-package-save {
    min-height: 34px;
    padding: 0 12px;
    font-size: 0.82rem;
    white-space: nowrap;
}

.users-interest-package-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.users-interest-package-field {
    display: grid;
    gap: 8px;
}

.users-interest-package-field-single {
    max-width: 420px;
}

.users-interest-send-form-inline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    margin: 0;
}

.users-interest-reason-filters {
    margin: 0;
    padding: 0;
    border: 0;
    display: grid;
    gap: 8px;
}

.users-interest-send-form-inline .users-interest-reason-filters {
    display: flex;
    align-items: center;
    min-width: 0;
}

.users-interest-reason-filters legend {
    padding: 0;
}

.users-interest-reason-filter-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    align-items: center;
}

.users-interest-reason-filter-option {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #2f2924;
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
}

.users-interest-reason-filter-count {
    font-style: normal;
    color: #766a60;
    font-weight: 600;
}

.users-interest-bulk-send {
    min-height: 30px;
    padding: 0 12px;
    font-size: 0.78rem;
    white-space: nowrap;
}

.users-interest-filter-apply {
    min-height: 30px;
    padding: 0 10px;
    font-size: 0.78rem;
    white-space: nowrap;
}

.users-interest-package-actions {
    margin-top: 0;
}

.users-interest-list-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 46px;
    padding: 8px 16px;
    border: 1px solid rgba(126, 104, 84, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.76);
}

.users-interest-list-bar-label {
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #2f2924;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    text-align: left;
}

.users-interest-toggle-actions {
    display: flex;
    flex: 1 1 auto;
    justify-content: flex-end;
    align-items: center;
    min-width: 0;
}

.users-interest-disclosure {
    display: grid;
    gap: 14px;
}

.users-interest-disclosure > .events-visually-hidden {
    position: absolute;
}

.users-interest-toggle-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    min-height: 32px;
    padding: 0 10px;
    border-radius: 999px;
    background: #2f2924;
    color: #faf7f3;
    font-size: 0.86rem;
    flex: 0 0 auto;
}

.users-interest-empty,
.users-interest-filter-hint {
    margin-top: 4px;
}

.users-interest-table-wrap {
    margin-top: 4px;
}

.users-interest-table-wrap.is-filtered-empty {
    display: none;
}

.users-interest-table tr[data-users-interest-row].is-filtered-out,
.users-interest-table tr[data-users-interest-row][hidden] {
    display: none !important;
}

.users-interest-table {
    min-width: 780px;
}

.users-interest-select-col {
    width: 52px;
    white-space: nowrap;
}

.users-interest-select-cell {
    width: 52px;
    vertical-align: middle;
    text-align: center;
}

.users-interest-select-all-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    font-size: 0.78rem;
    font-weight: 600;
    color: #6d635a;
    cursor: pointer;
    user-select: none;
}

.users-interest-select-all-label input,
.users-interest-row-select {
    width: 15px;
    height: 15px;
    margin: 0;
    accent-color: #8a4b3d;
    cursor: pointer;
}

.users-interest-row-select:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.users-interest-delete-col {
    width: 40px;
}

.users-interest-delete-cell,
.users-interest-actions-cell {
    width: auto;
    vertical-align: middle;
}

.users-interest-actions-col {
    width: 1%;
    white-space: nowrap;
}

.users-interest-row-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.users-interest-row-create-form,
.users-interest-row-delete-form {
    margin: 0;
}

.users-interest-row-create,
.users-interest-row-copy-link,
.users-interest-row-open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 8px;
    border: 0;
    border-radius: 8px;
    background: rgba(74, 103, 65, 0.12);
    color: #3f5a38;
    font: inherit;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
}

.users-interest-row-copy-link {
    background: rgba(47, 41, 36, 0.08);
    color: #2f2924;
}

.users-interest-row-create:hover,
.users-interest-row-create:focus-visible,
.users-interest-row-copy-link:hover,
.users-interest-row-copy-link:focus-visible,
.users-interest-row-open:hover,
.users-interest-row-open:focus-visible {
    background: rgba(74, 103, 65, 0.2);
    outline: none;
}

.users-interest-row-copy-link:hover,
.users-interest-row-copy-link:focus-visible {
    background: rgba(47, 41, 36, 0.14);
}

.users-interest-row-copy-link.is-copied {
    background: rgba(74, 103, 65, 0.18);
    color: #3f5a38;
}

.users-interest-row-copy-link:disabled,
.users-interest-row-copy-link.is-busy {
    cursor: progress;
    opacity: 0.85;
}

a.users-interest-user-link {
    text-decoration: none;
}

a.users-interest-user-link:hover,
a.users-interest-user-link:focus-visible {
    filter: brightness(0.96);
    outline: none;
}

.users-interest-row-delete {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #9a8f84;
    cursor: pointer;
}

.users-interest-row-delete svg {
    width: 15px;
    height: 15px;
    pointer-events: none;
}

.users-interest-row-delete:hover,
.users-interest-row-delete:focus-visible {
    color: #8a4b3d;
    background: rgba(155, 86, 78, 0.1);
    outline: none;
}

.users-interest-confirm-modal {
    z-index: 4200;
}

.users-interest-confirm-copy {
    display: grid;
    gap: 12px;
}

.users-interest-confirm-list {
    margin: 0;
    padding-left: 1.2em;
    display: grid;
    gap: 6px;
    color: #554d47;
    font-size: 0.95rem;
    line-height: 1.45;
}

.users-interest-confirm-actions {
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.events-shell {
    display: grid;
    gap: var(--settings-layout-gap);
}

.events-hero-panel {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}

.events-hero-copy {
    flex: 1 1 auto;
    min-width: 0;
}

.events-hero-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
    gap: 12px;
}

.automation-admin-audience-group {
    flex-wrap: wrap;
    gap: 8px;
}

.automation-admin-audience-label {
    margin: 0;
    line-height: 1;
}

.events-create-card,
.events-admin-card {
    background: linear-gradient(180deg, rgba(250, 247, 243, 0.94), rgba(255, 255, 255, 0.86));
}

.events-modal[hidden] {
    display: none !important;
}

.events-modal {
    position: fixed;
    inset: 0;
    z-index: 1500;
    display: grid;
    place-items: center;
    padding: 28px 18px;
    overflow: hidden;
}

body[data-events-create-modal-open='true'] {
    overflow: hidden;
}

body[data-events-create-modal-open='true'] .app-content {
    overflow: hidden;
}

body[data-nav-mode='attached'] .events-modal {
    padding-left: calc(min(300px, 100vw - 32px) + 36px);
}

.events-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(55, 41, 28, 0.2);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.events-modal-dialog {
    position: relative;
    z-index: 1;
    width: min(980px, calc(100vw - 40px));
    max-height: calc(100dvh - 56px);
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    display: grid;
    gap: 22px;
    box-shadow: 0 28px 80px rgba(34, 24, 15, 0.18);
}

.events-modal-dialog::-webkit-scrollbar {
    width: 0;
    height: 0;
}

body[data-nav-mode='attached'] .events-modal-dialog {
    width: min(980px, calc(100vw - min(300px, 100vw - 32px) - 56px));
}

.events-modal-close {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.78);
    color: #554d47;
    font: inherit;
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
}

.events-modal-close:hover,
.events-modal-close:focus-visible {
    outline: none;
    transform: translateY(-1px);
}

.events-admin-list {
    display: grid;
    gap: var(--settings-layout-gap);
}

.events-admin-card {
    display: grid;
    gap: 18px;
    align-content: start;
}

.events-admin-panel[hidden] {
    display: none !important;
}

.events-admin-card.is-highlighted {
    border-color: rgba(126, 104, 84, 0.32);
    box-shadow: 0 30px 50px rgba(70, 56, 42, 0.12);
}

.events-admin-card-head,
.events-admin-card-meta,
.events-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.events-admin-card-head {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}

.events-admin-card-head > :first-child {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
}

.events-admin-card-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex: 1 1 320px;
    width: auto;
    max-width: 100%;
    min-width: 0;
    margin-left: auto;
    box-sizing: border-box;
}

.events-admin-card-meta > .events-status-pill,
.events-admin-card-meta > .products-inline-pill,
.events-admin-card-meta > .events-icon-button,
.events-admin-card-meta > .events-icon-action-form,
.events-admin-card-meta > .events-admin-visibility-group,
.events-admin-card-meta > .events-admin-visibility-pill,
.events-admin-card-meta > .admin-public-page-link,
.events-admin-card-meta > .settings-button,
.events-admin-card-meta > form {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
}

.events-admin-card-meta > .t28-facepile {
    flex: 0 0 auto;
    min-width: 0;
    max-width: 100%;
}

.events-admin-card-end-tools {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    margin-left: auto;
    min-width: 0;
}

.events-admin-card-end-tools .events-admin-visibility-footer {
    margin-left: 0;
}

.events-admin-card-end-tools .t28-facepile-photo,
.events-admin-card-end-tools .t28-facepile-photo img,
.events-admin-card-end-tools .t28-facepile img,
.events-admin-card-meta .t28-facepile-photo,
.events-admin-card-meta .t28-facepile-photo img,
.events-admin-card-meta .t28-facepile img {
    border-radius: 50% !important;
    overflow: hidden;
    object-fit: cover !important;
}

.events-actions {
    justify-content: space-between;
}

.admin-public-page-link {
    gap: 6px;
}

.admin-public-page-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.admin-public-page-icon svg {
    width: 14px;
    height: 14px;
    display: block;
}

.settings-card-title-with-docs {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.settings-provider-docs-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    flex: 0 0 auto;
    border: 1px solid rgba(126, 104, 84, 0.16);
    border-radius: 8px;
    background: rgba(229, 220, 212, 0.55);
    color: #554d47;
    text-decoration: none;
    transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
}

.settings-provider-docs-link:hover,
.settings-provider-docs-link:focus-visible {
    background: rgba(229, 220, 212, 0.92);
    border-color: rgba(126, 104, 84, 0.28);
    color: #2f2924;
    outline: none;
}

.settings-provider-docs-link .admin-public-page-icon svg {
    width: 15px;
    height: 15px;
}

.events-card-visibility-form {
    margin: 0;
    padding: 6px 8px;
    border: 1px solid rgba(126, 104, 84, 0.12);
    border-radius: 999px;
    background: rgba(226, 224, 220, 0.72);
}

.events-icon-action-form {
    margin: 0;
}

.events-icon-button {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(126, 104, 84, 0.16);
    border-radius: 999px;
    background: rgba(229, 220, 212, 0.72);
    color: #554d47;
    cursor: pointer;
    transition: transform 140ms ease, background-color 140ms ease, color 140ms ease;
}

.events-icon-button svg {
    width: 18px;
    height: 18px;
    display: block;
    fill: currentColor;
}

.events-icon-button:hover,
.events-icon-button:focus-visible {
    outline: none;
    transform: translateY(-1px);
    background: rgba(222, 239, 227, 0.92);
    color: #32543d;
}

.events-icon-button:disabled {
    cursor: default;
    opacity: 0.6;
    transform: none;
}

.events-quick-toggle {
    display: inline-grid;
    grid-template-columns: auto auto;
    gap: 10px;
    align-items: center;
    position: relative;
}

.events-quick-toggle.events-quick-toggle-solo {
    grid-template-columns: 1fr;
}

.events-quick-toggle .settings-toggle-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    pointer-events: auto;
    cursor: pointer;
    z-index: 1;
    clip: auto;
    clip-path: none;
}

.events-quick-toggle .settings-toggle-track {
    position: relative;
    z-index: 0;
}

.events-quick-toggle .settings-toggle-track {
    width: 50px;
    height: 28px;
}

.events-quick-toggle .settings-toggle-thumb {
    width: 18px;
    height: 18px;
}

.events-quick-toggle .settings-toggle-input:checked + .events-quick-toggle-icon + .settings-toggle-track {
    border-color: rgba(50, 84, 61, 0.28);
    background: linear-gradient(180deg, rgba(198, 225, 206, 0.96), rgba(170, 206, 182, 0.92));
}

.events-quick-toggle .settings-toggle-input:checked + .events-quick-toggle-icon + .settings-toggle-track .settings-toggle-thumb {
    margin-left: auto;
    transform: none;
}

.events-quick-toggle .settings-toggle-input:checked + .events-quick-toggle-icon {
    color: #32543d;
    background: rgba(222, 239, 227, 0.92);
}

.events-admin-visibility-group {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    width: auto;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 4px 6px;
    border: 1px solid rgba(126, 104, 84, 0.12);
    border-radius: 999px;
    background: rgba(226, 224, 220, 0.72);
    transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}

.events-admin-visibility-group:has(.settings-toggle-input:checked) {
    border-color: rgba(50, 84, 61, 0.22);
    background: rgba(222, 239, 227, 0.92);
    color: #32543d;
}

.events-admin-visibility-group:has(.settings-toggle-input:checked) .events-quick-toggle-icon {
    color: #32543d;
    background: rgba(255, 255, 255, 0.55);
}

.events-admin-visibility-group .events-quick-toggle-solo .settings-toggle-input:checked + .settings-toggle-track {
    border-color: rgba(50, 84, 61, 0.28);
    background: linear-gradient(180deg, rgba(198, 225, 206, 0.96), rgba(170, 206, 182, 0.92));
}

.events-admin-visibility-group > .events-admin-visibility-icon-info {
    position: relative;
    z-index: 2;
    flex: 0 0 auto;
}

.events-admin-visibility-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: auto;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    margin: 0;
    padding: 4px 6px 4px 4px;
    border: 1px solid rgba(126, 104, 84, 0.12);
    border-radius: 999px;
    background: rgba(226, 224, 220, 0.72);
    transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}

.events-admin-visibility-pill:has(.settings-toggle-input:checked) {
    border-color: rgba(50, 84, 61, 0.22);
    background: rgba(222, 239, 227, 0.92);
    color: #32543d;
}

.events-admin-visibility-pill .events-admin-visibility-icon-info {
    position: relative;
    z-index: 2;
    flex: 0 0 auto;
}

.events-admin-visibility-pill .events-quick-toggle {
    flex: 0 0 auto;
}

.events-admin-visibility-pill .events-quick-toggle-solo .settings-toggle-input:checked + .settings-toggle-track {
    border-color: rgba(50, 84, 61, 0.28);
    background: linear-gradient(180deg, rgba(198, 225, 206, 0.96), rgba(170, 206, 182, 0.92));
}

.events-admin-visibility-group .events-card-visibility-form {
    padding: 0;
    border: 0;
    background: transparent;
    flex: 0 1 auto;
    min-width: 0;
}

.events-card-visibility-form-plain {
    padding: 0;
    border: 0;
    background: transparent;
}

.events-quick-toggle .settings-toggle-input:focus-visible + .events-quick-toggle-icon + .settings-toggle-track {
    outline: 2px solid rgba(126, 104, 84, 0.34);
    outline-offset: 2px;
}

.events-quick-toggle-icon {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(229, 220, 212, 0.72);
    color: #554d47;
    transition: background-color 140ms ease, color 140ms ease;
}

.events-admin-visibility-pill:has(.settings-toggle-input:checked) .events-quick-toggle-icon {
    color: #32543d;
    background: rgba(255, 255, 255, 0.55);
}

.events-quick-toggle-icon svg {
    width: 16px;
    height: 16px;
    display: block;
    fill: currentColor;
}

.events-quick-toggle-icon-stroke svg {
    fill: none;
    stroke: currentColor;
}

.events-admin-visibility-icon-info .field-info-hover-trigger {
    cursor: help;
}

.settings-hover-tip {
    position: relative;
}

.settings-hover-tip::after {
    content: none;
    display: none;
}

.events-quick-toggle.is-disabled {
    cursor: default;
    opacity: 0.72;
}

.events-notice-board-control {
    gap: 6px;
}

.events-notice-board-control .events-quick-toggle-icon {
    flex: 0 0 auto;
}

.events-admin-upsell-control .events-notice-board-size-select {
    width: auto;
    min-width: 108px;
    max-width: 180px;
}

.events-notice-board-size-form,
.events-notice-board-size-label {
    display: contents;
}

.events-notice-board-size-select {
    min-width: 0;
    width: 74px;
    height: 28px;
    padding: 0 22px 0 8px;
    border: 1px solid rgba(126, 104, 84, 0.16);
    border-radius: 999px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 242, 235, 0.94))
        no-repeat right 8px center / 10px 6px;
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath fill='%23554d47' d='M1 1.25 5 4.75 9 1.25'/%3E%3C/svg%3E"),
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 242, 235, 0.94));
    color: #3f3832;
    font-family: inherit;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    appearance: none;
    cursor: pointer;
}

.events-notice-board-size-select:focus-visible {
    outline: 2px solid rgba(126, 104, 84, 0.34);
    outline-offset: 2px;
}

.events-admin-control-cluster {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    max-width: 100%;
    min-width: 0;
}

.events-admin-control-cluster .field-info {
    display: inline-flex;
}

.events-admin-control-cluster > .events-quick-toggle-icon {
    flex: 0 0 auto;
}

.events-quick-toggle-solo .settings-toggle-input:checked + .settings-toggle-track {
    border-color: rgba(126, 104, 84, 0.28);
    background: linear-gradient(180deg, rgba(226, 214, 202, 0.92), rgba(214, 198, 183, 0.88));
}

.events-admin-visibility-pill .events-quick-toggle-solo .settings-toggle-input:checked + .settings-toggle-track {
    border-color: rgba(50, 84, 61, 0.28);
    background: linear-gradient(180deg, rgba(198, 225, 206, 0.96), rgba(170, 206, 182, 0.92));
}

.events-quick-toggle-solo .settings-toggle-input:checked + .settings-toggle-track .settings-toggle-thumb {
    margin-left: auto;
    transform: none;
}

.events-quick-toggle-solo .settings-toggle-input:focus-visible + .settings-toggle-track {
    outline: 2px solid rgba(126, 104, 84, 0.34);
    outline-offset: 2px;
}

.events-admin-toggle-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: -6px;
    padding: 8px 10px;
    border: 1px solid rgba(126, 104, 84, 0.12);
    border-radius: 18px;
    background: rgba(226, 224, 220, 0.72);
}

.events-admin-toggle-wrap-plain {
    justify-content: flex-start;
    padding: 0;
    border: 0;
    background: transparent;
}

.events-admin-visibility-footer {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    margin-left: auto;
    min-width: 0;
}

.events-admin-visibility-footer .events-admin-visibility-pill {
    gap: 4px;
    padding: 2px 4px 2px 3px;
}

.events-admin-visibility-footer .events-quick-toggle .settings-toggle-track {
    width: 30px;
    height: 16px;
    padding: 2px;
}

.events-admin-visibility-footer .events-quick-toggle .settings-toggle-thumb {
    width: 12px;
    height: 12px;
}

.events-admin-visibility-footer .events-quick-toggle .settings-toggle-input:checked + .events-quick-toggle-icon + .settings-toggle-track .settings-toggle-thumb,
.events-admin-visibility-footer .events-quick-toggle-solo .settings-toggle-input:checked + .settings-toggle-track .settings-toggle-thumb {
    margin-left: auto;
    transform: none;
}

.events-admin-visibility-footer .events-admin-visibility-icon-info .field-info-hover-trigger,
.events-admin-visibility-footer .events-quick-toggle-icon {
    width: 18px;
    height: 18px;
}

.events-admin-visibility-footer .events-quick-toggle-icon svg,
.events-admin-visibility-footer .events-admin-visibility-icon-info svg {
    width: 11px;
    height: 11px;
}

/* Compact Personal + Company surface toggles in card meta (slightly larger for easier tapping). */
.events-admin-surface-visibility {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
}

.events-admin-surface-visibility .events-admin-visibility-pill {
    gap: 6px;
    padding: 4px 6px 4px 5px;
}

.events-admin-surface-visibility .events-quick-toggle .settings-toggle-track {
    width: 38px;
    height: 22px;
    padding: 3px;
}

.events-admin-surface-visibility .events-quick-toggle .settings-toggle-thumb {
    width: 16px;
    height: 16px;
}

.events-admin-surface-visibility .events-quick-toggle .settings-toggle-input:checked + .events-quick-toggle-icon + .settings-toggle-track .settings-toggle-thumb,
.events-admin-surface-visibility .events-quick-toggle-solo .settings-toggle-input:checked + .settings-toggle-track .settings-toggle-thumb {
    margin-left: auto;
    transform: none;
}

.events-admin-surface-visibility .events-admin-visibility-icon-info .field-info-hover-trigger,
.events-admin-surface-visibility .events-quick-toggle-icon {
    width: 20px;
    height: 20px;
}

.events-admin-surface-visibility .events-quick-toggle-icon svg,
.events-admin-surface-visibility .events-admin-visibility-icon-info svg {
    width: 14px;
    height: 14px;
}

.events-admin-toggle {
    min-height: 34px;
    padding: 0 14px 0 11px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #9f6d42;
    display: inline-flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
    font: inherit;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(70, 56, 42, 0.1);
}

.events-admin-toggle:hover,
.events-admin-toggle:focus-visible {
    outline: none;
    transform: translateY(-1px);
}

.events-admin-toggle-icon {
    display: inline-block;
    font-size: 1.6rem;
    line-height: 1;
    transform: translateY(-1px);
}

.events-admin-toggle-copy {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
}

.events-admin-toggle-compact {
    min-height: 32px;
    padding: 0 12px 0 10px;
    box-shadow: none;
}

.events-admin-panel {
    display: grid;
    gap: 18px;
}

.events-past-events-panel {
    margin-top: 4px;
}

.events-past-events-copy,
.events-past-events-empty {
    margin: 0;
}

.events-past-events-list {
    display: grid;
    gap: 12px;
}

.events-past-event-card {
    display: grid;
    gap: 12px;
    padding: 16px 18px;
    border-radius: 22px;
    border: 1px solid rgba(126, 104, 84, 0.12);
    background: rgba(255, 255, 255, 0.58);
}

.events-past-event-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.events-past-event-meta {
    display: grid;
    gap: 4px;
    min-width: 180px;
}

.events-past-event-meta strong {
    color: #352c25;
    font-size: 0.98rem;
}

.events-past-event-count {
    min-width: 90px;
}

.events-past-event-money {
    min-width: 150px;
}

.events-past-attendees-panel {
    gap: 12px;
}

.events-past-attendees-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}

.events-past-attendee {
    display: grid;
    gap: 2px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid rgba(126, 104, 84, 0.1);
    background: rgba(255, 255, 255, 0.82);
}

.events-past-attendee-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.events-past-attendee-badges {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: wrap;
}

.events-past-attendee-name {
    color: #352c25;
    font-weight: 700;
}

.events-past-attendee-access {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(214, 233, 219, 0.75);
    color: #385848;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
}

.events-past-attendee-access.is-positive {
    background: rgba(198, 228, 255, 0.9);
    color: #1f4f73;
}

.courtesy-replay-run-card + .courtesy-replay-run-card {
    margin-top: 14px;
}

.events-past-attendee-money {
    background: rgba(255, 247, 222, 0.88);
    color: #77552c;
}

.events-past-attendee-registered {
    background: rgba(232, 236, 244, 0.88);
    color: #4d5568;
    letter-spacing: 0.04em;
    text-transform: none;
    font-weight: 700;
}

.events-past-attendee-country {
    background: rgba(255, 255, 255, 0.96);
    color: #352c25;
    letter-spacing: 0;
    text-transform: none;
    font-size: 0.95rem;
    font-weight: 400;
    padding: 0 8px;
    cursor: help;
}

.events-past-attendee-email {
    color: #6d645c;
    font-size: 0.92rem;
    overflow-wrap: anywhere;
}

.events-past-attendee-meta {
    color: #8a8178;
    font-size: 0.84rem;
}

.events-past-attendee-message {
    margin: 8px 0 0;
    color: #2f2924;
    font-size: 0.92rem;
    line-height: 1.45;
    white-space: normal;
}

.events-past-attendee-resend {
    margin: 10px 0 0;
}

.events-donation-thank-you-resend {
    min-height: 34px;
    padding: 6px 12px;
    font-size: 0.84rem;
}

.events-donation-thank-you-builder {
    margin-top: 0;
}

.events-donation-thank-you-toggle {
    align-items: flex-start;
}

.events-donation-thank-you-toggle .events-access-option-copy {
    display: grid;
    gap: 4px;
}

.events-admin-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.events-admin-stats-has-visitors {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
}

.events-admin-stats-primary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    flex: 1 1 320px;
}

.events-admin-stats-visitors {
    display: grid;
    grid-template-columns: repeat(3, minmax(88px, 1fr));
    gap: 12px;
    margin-left: auto;
}

/* 5-column weekly breakdown replacing Total/Unique/Today for Events */
.events-admin-stats-weekly {
    display: grid;
    grid-template-columns: repeat(5, minmax(72px, 1fr));
    gap: 12px;
    margin-left: auto;
}

/* 5-column funnel week boxes (Week 1–4 + 28) */
.events-admin-stats-funnel,
.events-admin-stats-event-funnel,
.events-admin-stats-product-funnel {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    overflow: visible;
}

.events-admin-stats-funnel > div,
.events-admin-stats-event-funnel > div,
.events-admin-stats-product-funnel > div {
    overflow: visible;
}

.events-admin-funnel-metrics {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 4px;
    margin-top: 4px;
    font-size: 0.72rem;
    line-height: 1.3;
    color: inherit;
    overflow: visible;
}

.events-admin-funnel-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    min-width: 0;
}

.events-admin-funnel-earned {
    flex: 0 0 auto;
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.events-admin-funnel-metric {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    max-width: 100%;
}

.events-admin-funnel-metric.is-hover-tip .events-admin-funnel-metric-trigger {
    cursor: pointer;
}

.events-admin-funnel-metric-hint {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.events-admin-funnel-metric-hover-tip {
    position: fixed;
    z-index: 2050;
    min-width: 180px;
    max-width: min(300px, calc(100vw - 24px));
    padding: 8px 10px;
    border-radius: 10px;
    background: #fff;
    color: #1f2937;
    border: 1px solid rgba(20, 24, 33, 0.12);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.14);
    pointer-events: none;
}

.events-admin-funnel-metric-hover-tip .events-admin-funnel-metric-hover-copy {
    display: block;
    font-size: 0.66rem;
    line-height: 1.35;
    opacity: 0.92;
    margin-bottom: 6px;
    white-space: normal;
}

.events-admin-funnel-metric-hover-tip .events-admin-funnel-metric-hover-members:not(:empty) {
    display: block;
    padding-top: 2px;
    border-top: 1px solid rgba(20, 24, 33, 0.08);
}

.events-admin-funnel-metric-hover-hint {
    display: block;
    margin-top: 6px;
    font-size: 0.62rem;
    opacity: 0.65;
}

.events-admin-funnel-people-popover {
    position: fixed;
    z-index: 2100;
    width: min(320px, calc(100vw - 24px));
    border-radius: 12px;
    background: rgba(255, 252, 248, 0.98);
    color: #1f2937;
    border: 1px solid rgba(126, 104, 84, 0.16);
    box-shadow: 0 14px 30px rgba(70, 56, 42, 0.18);
}

.events-admin-funnel-people-popover-head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px 8px;
    border-bottom: 1px solid rgba(20, 24, 33, 0.08);
}

.events-admin-funnel-people-popover-title {
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.events-admin-funnel-people-popover-count {
    font-size: 0.82rem;
    font-weight: 700;
    opacity: 0.85;
}

.events-admin-funnel-people-popover-close {
    margin-left: auto;
    appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 1.2rem;
    line-height: 1;
    cursor: pointer;
    opacity: 0.65;
    padding: 0 2px;
}

.events-admin-funnel-people-popover-close:hover,
.events-admin-funnel-people-popover-close:focus-visible {
    opacity: 1;
}

.events-admin-funnel-people-popover-body {
    padding: 8px 12px 12px;
}

.events-admin-funnel-metric-hover {
    position: absolute;
    left: 0;
    top: calc(100% + 4px);
    z-index: 30;
    min-width: 180px;
    max-width: min(280px, 72vw);
    padding: 8px 10px;
    border-radius: 10px;
    background: #fff;
    color: #1f2937;
    border: 1px solid rgba(20, 24, 33, 0.12);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.14);
    pointer-events: auto;
}

.events-admin-funnel-metric.is-hover-open .events-admin-funnel-metric-hover {
    display: block;
}

.events-admin-funnel-metric-hover-copy {
    display: block;
    font-size: 0.66rem;
    line-height: 1.35;
    opacity: 0.92;
    margin-bottom: 6px;
}

.events-admin-funnel-metric-hover-members:not([hidden]) {
    display: block;
    padding-top: 2px;
    border-top: 1px solid rgba(20, 24, 33, 0.08);
}

.events-admin-funnel-people-heads.is-hover-tip {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px;
}

.events-admin-funnel-person.is-hover-tip-person {
    display: inline-flex;
    margin-left: -4px;
    position: relative;
    z-index: 1;
}

.events-admin-funnel-person.is-hover-tip-person:first-child {
    margin-left: 0;
}

.events-admin-funnel-person.is-hover-tip-person:hover,
.events-admin-funnel-person.is-hover-tip-person:focus-visible {
    z-index: 3;
}

.events-admin-funnel-person-avatar.is-hover-tip {
    width: 24px;
    height: 24px;
    border-radius: 999px;
    overflow: hidden;
    border: 1.5px solid #fff;
    background: #d8dde6;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 1px rgba(20, 24, 33, 0.08);
}

.events-admin-funnel-person-avatar.is-hover-tip img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.events-admin-funnel-people-overflow.is-hover-tip {
    margin-left: 4px;
    font-size: 0.68rem;
    font-weight: 600;
    opacity: 0.75;
}

.events-admin-funnel-metric-trigger {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    cursor: default;
    text-align: left;
}

.events-admin-funnel-metric.is-people .events-admin-funnel-metric-trigger {
    cursor: pointer;
}

.events-admin-funnel-metric.is-people .events-admin-funnel-metric-trigger:hover strong,
.events-admin-funnel-metric.is-people .events-admin-funnel-metric-trigger:focus-visible strong {
    text-decoration: underline;
}

.events-admin-funnel-metric-trigger strong {
    font-size: 0.86rem;
    font-weight: 700;
}

.events-admin-funnel-people {
    width: min(220px, 70vw);
    margin-top: 2px;
}

.events-admin-funnel-people-toolbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 4px;
}

.events-admin-funnel-people-toggle {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    font-size: 0.65rem;
    text-decoration: underline;
    color: inherit;
    cursor: pointer;
    opacity: 0.75;
}

.events-admin-funnel-people-heads {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.events-admin-funnel-person {
    display: inline-flex;
    margin-left: -6px;
    position: relative;
    z-index: 1;
}

.events-admin-funnel-person:first-child {
    margin-left: 0;
}

.events-admin-funnel-person-avatar {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    overflow: hidden;
    border: 1.5px solid #fff;
    background: #d8dde6;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 1px rgba(20, 24, 33, 0.08);
}

.events-admin-funnel-person-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.events-admin-funnel-person-fallback {
    font-size: 0.62rem;
    font-weight: 700;
    color: #334155;
}

.events-admin-funnel-people-overflow {
    margin-left: 4px;
    font-size: 0.68rem;
    font-weight: 600;
    opacity: 0.7;
}

.events-admin-funnel-people-list {
    display: grid;
    gap: 4px;
    max-height: 140px;
    overflow: auto;
}

.events-admin-funnel-person-row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 2px 6px;
    font-size: 0.68rem;
    line-height: 1.25;
    color: inherit;
    text-decoration: none;
}

.events-admin-funnel-person-row.has-avatar {
    grid-template-columns: auto auto 1fr;
    align-items: center;
}

.events-admin-funnel-person-row.has-avatar .events-admin-funnel-person-avatar.is-inline,
.events-admin-funnel-person-row.has-avatar .events-admin-funnel-person-avatar.is-hover-tip {
    grid-column: 1;
    grid-row: 1 / span 2;
}

.events-admin-funnel-person-row .events-admin-funnel-person-flag {
    grid-row: span 2;
    align-self: center;
}

.events-admin-funnel-person-name {
    font-weight: 600;
}

.events-admin-funnel-person-email {
    opacity: 0.75;
    word-break: break-all;
}

.events-admin-funnel-person-source,
.events-admin-funnel-person-ip {
    grid-column: 2 / -1;
    opacity: 0.78;
    word-break: break-word;
}

.events-admin-funnel-person-source {
    font-size: 0.64rem;
}

.events-admin-funnel-person-ip {
    font-size: 0.64rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.events-admin-funnel-person-row.has-avatar .events-admin-funnel-person-name,
.events-admin-funnel-person-row.has-avatar .events-admin-funnel-person-source,
.events-admin-funnel-person-row.has-avatar .events-admin-funnel-person-email,
.events-admin-funnel-person-row.has-avatar .events-admin-funnel-person-ip {
    grid-column: 3 / -1;
}

.events-admin-funnel-person-row.has-avatar .events-admin-funnel-person-flag {
    grid-column: 2;
}

.events-admin-funnel-person-avatar.is-popover {
    width: 24px;
    height: 24px;
}

.events-admin-funnel-people-empty {
    font-size: 0.68rem;
    opacity: 0.75;
    line-height: 1.35;
}

.events-admin-funnel-people-loading,
.events-admin-funnel-people-overflow-row {
    font-size: 0.68rem;
    opacity: 0.7;
}

.events-admin-funnel-sep {
    opacity: 0.45;
}

.events-admin-stats-funnel > div,
.events-admin-stats-event-funnel > div,
.events-admin-stats-product-funnel > div {
    min-width: 0;
}

.archive-funnel-list {
    display: grid;
    gap: 16px;
    margin-top: 16px;
}

.archive-funnel-card {
    display: grid;
    gap: 10px;
}

.archive-funnel-card-title {
    margin: 0;
    font-size: 1.05rem;
}

.archive-funnel-card-meta {
    margin: 0;
    font-size: 0.85rem;
    opacity: 0.7;
}

/* 7-column full-width layout for Products (legacy fallback) */
.events-admin-stats-product-full {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 12px;
}

/* 8-column full-width layout for Events */
.events-admin-stats-event-full {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 12px;
}

/* 5-column bundle activity layout (uploads + completions per week) */
.courses-admin-stats-weekly {
    width: 100%;
    margin-left: 0;
}

.courses-admin-stats-wrap {
    display: grid;
    gap: 10px;
}

.courses-admin-stats-caption {
    margin: 0;
}

.events-admin-stat-sub {
    font-size: 0.78rem;
    line-height: 1.35;
    color: rgba(109, 100, 92, 0.88);
}

.courses-admin-click-count {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    cursor: pointer;
}

.courses-admin-click-count[tabindex="-1"] {
    cursor: default;
}

.courses-admin-stats-weekly .events-admin-funnel-metric {
    display: grid;
    gap: 2px;
}

/* Greyed-out weeks outside the current 28-day cycle week */
.events-admin-stat-muted {
    opacity: 0.45;
}

/* Current week in the 28-day cycle */
.events-admin-stat-current-week {
    background: rgba(255, 255, 255, 0.86) !important;
    border-color: rgba(126, 104, 84, 0.18) !important;
    opacity: 1;
}

/* Accent box for 28-day total */
.events-admin-stat-accent {
    background: rgba(255, 255, 255, 0.86) !important;
    border-color: rgba(126, 104, 84, 0.18) !important;
}

/* Earned box with a green tint */
.events-admin-stat-earned {
    background: rgba(16, 130, 100, 0.06) !important;
    border-color: rgba(16, 130, 100, 0.14) !important;
}

.events-admin-stat-earned strong {
    color: #065f46;
}

.events-admin-stat-earned.events-admin-stat-free {
    background: rgba(255, 255, 255, 0.5) !important;
    border-color: rgba(126, 104, 84, 0.1) !important;
    opacity: 0.72;
}

.events-admin-stat-earned.events-admin-stat-free strong {
    color: rgba(109, 100, 92, 0.78);
    font-weight: 600;
    letter-spacing: 0.04em;
}

.events-admin-stat-donation {
    background: rgba(120, 80, 180, 0.06) !important;
    border-color: rgba(120, 80, 180, 0.14) !important;
}

.events-admin-stat-donation strong {
    color: #5b21b6;
}

.events-admin-stats > div,
.events-admin-stats-primary > div,
.events-admin-stats-visitors > div,
.events-admin-stats-weekly > div,
.events-admin-stats-product-full > div,
.events-admin-stats-event-full > div,
.events-admin-stats-funnel > div,
.events-admin-stats-event-funnel > div,
.events-admin-stats-product-funnel > div,
.courses-admin-stats-weekly > div {
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.62);
    border: 1px solid rgba(126, 104, 84, 0.12);
}

.events-stat-label,
.events-field-label {
    font-size: 0.74rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #6d645c;
}

.events-field-label-row {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    width: fit-content;
    max-width: 100%;
}

.events-field-label-row > .events-field-label:not(label),
.events-field-label-row > span.events-field-label {
    cursor: default;
}

.events-field-label-row > label.events-field-label {
    cursor: pointer;
}

label.events-field-label {
    cursor: pointer;
}

.account-card-title-row,
.settings-card-title-row,
.billing-card-title-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.account-card-title-row .account-card-title,
.settings-card-title-row .settings-card-title,
.billing-card-title-row .billing-card-title {
    margin-top: 10px;
    margin-bottom: 10px;
}

.field-info {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    width: fit-content;
    pointer-events: none;
}

.field-info-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    min-width: 18px;
    min-height: 18px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #8a7c70;
    cursor: pointer;
    line-height: 0;
    flex: 0 0 auto;
    overflow: hidden;
    pointer-events: auto;
    transition: color 0.15s ease, transform 0.15s ease;
}

.field-info-trigger:hover,
.field-info-trigger:focus-visible {
    color: #4f4741;
    outline: none;
    transform: translateY(-1px);
}

.field-info-icon-svg {
    width: 16px;
    height: 16px;
    display: block;
}

.field-info-popover-panel {
    position: fixed;
    inset: auto;
    margin: 0;
    width: min(280px, calc(100vw - 32px));
    max-width: min(280px, calc(100vw - 32px));
    padding: 12px 14px;
    border: 0;
    border-radius: 14px;
    outline: 1px solid rgba(126, 104, 84, 0.16);
    background: rgba(255, 252, 248, 0.98);
    box-shadow: 0 14px 30px rgba(70, 56, 42, 0.14);
    color: #554d47;
    font-size: 0.92rem;
    line-height: 1.5;
    letter-spacing: normal;
    text-transform: none;
    white-space: pre-line;
}

.field-info-popover-panel:has(.field-info-popover-stack) {
    white-space: normal;
}

.field-info-popover-stack {
    display: grid;
    gap: 8px;
}

.field-info-popover-stack p {
    margin: 0;
}

.field-info-popover-links {
    display: grid;
    gap: 4px;
}

.field-info-popover-link-form {
    margin: 0;
}

.field-info-popover-link {
    display: inline;
    padding: 0;
    border: 0;
    background: none;
    color: #32543d;
    font: inherit;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

.field-info-popover-link:hover,
.field-info-popover-link:focus-visible {
    color: #244232;
}

.field-info-popover-panel:popover-open {
    animation: field-info-popover-in 0.16s ease;
}

.field-info-popover-panel[data-placement='top']:popover-open {
    animation-name: field-info-popover-in-top;
}

.field-info-popover-panel.field-info-popover-fallback {
    position: fixed;
    z-index: 12000;
    margin: 0;
    display: block;
    pointer-events: auto;
}

body > .field-info-popover-panel.field-info-popover-fallback:not([hidden]) {
    position: fixed !important;
    z-index: 12000 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

.field-info-popover-panel.field-info-popover-fallback[hidden] {
    display: none !important;
}

@keyframes field-info-popover-in {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes field-info-popover-in-top {
    from {
        opacity: 0;
        transform: translateY(4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.events-reminder-builder-title-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.events-reminder-builder-title-row .events-reminder-builder-title {
    margin: 0;
}

.events-access-group-inline-copy:has(> .field-info:only-child) {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: start;
    justify-self: end;
    min-height: 0;
    width: fit-content;
    padding: 10px 12px;
}

.events-access-group-inline-copy .field-info {
    margin-top: 0;
}

.events-admin-form {
    display: grid;
    gap: 16px;
}

.events-product-form-footer-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin-top: 4px;
}

.events-product-delete-form {
    display: block;
    margin: 0;
}

.events-product-form-footer-save,
.events-product-form-footer-delete {
    margin: 0;
}

.events-action-group {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.events-admin-grid-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
}

.products-description-access-row {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
    min-width: 0;
}

.products-description-access-row:has([data-product-field="membership"]:not([hidden])) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.events-field {
    display: grid;
    gap: 8px;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.events-field[hidden] {
    display: none !important;
}

.events-recurrence-subfield {
    margin-top: 4px;
}

.events-field-span-2 {
    grid-column: span 2;
}

.events-form-row-3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.events-toggle-wrap {
    align-content: start;
}

.events-admin-grid-form > .events-field > .settings-toggle,
.events-admin-grid-form .events-field .settings-toggle {
    min-height: auto;
    align-self: start;
    width: fit-content;
    max-width: 100%;
}

.events-sequential-mode-field {
    align-self: start;
    align-content: start;
}

.events-sequential-mode-field .settings-toggle {
    width: min(100%, 720px);
}

.events-admin-grid-form > .events-field.events-toggle-wrap > .settings-toggle.events-date-mode-toggle {
    min-height: 100%;
}

.events-date-mode-toggle .settings-toggle-copy strong {
    font-size: 0.95rem;
}

.events-date-mode-toggle .settings-toggle-copy span {
    color: #6d645c;
    font-size: 0.85rem;
    line-height: 1.4;
}

.events-access-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.events-collaborator-picker {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.events-tag-picker {
    display: grid;
    gap: 8px;
}

.events-tag-combo-picker {
    display: block;
    gap: 0;
    min-width: 0;
    width: 100%;
}

.events-tag-combo-picker-shell {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    min-width: 0;
    width: 100%;
    min-height: 42px;
    padding: 4px 10px;
    border: 1px solid rgba(126, 104, 84, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    box-sizing: border-box;
}

.events-tag-combo-picker-shell:focus-within {
    border-color: rgba(126, 104, 84, 0.32);
    box-shadow: 0 0 0 4px rgba(224, 210, 190, 0.32);
}

.events-tag-combo-picker .events-membership-picker-pills {
    display: flex;
    flex: 0 1 auto;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0;
    max-width: 100%;
    min-width: 0;
}

.events-tag-combo-picker .events-membership-picker-pills:empty {
    display: none;
}

.events-tag-combo-picker .events-membership-pill {
    max-width: 100%;
    min-width: 0;
}

.events-tag-combo-picker .events-membership-picker-search {
    flex: 1 1 120px;
    min-width: 120px;
    width: auto;
    min-height: 32px;
    margin: 0;
    padding: 0 4px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.events-tag-combo-picker .events-membership-picker-search:focus,
.events-tag-combo-picker .events-membership-picker-search:focus-visible {
    outline: none;
    border: 0;
    box-shadow: none;
}

.events-tag-combo-picker .events-tag-picker-no-results {
    margin: 6px 0 0;
}

.events-tag-combo-picker .events-membership-picker-menu {
    left: 0;
    right: 0;
}

.events-guest-collaborator-picker {
    display: grid;
    gap: 8px;
}

.events-guest-collaborator-shares {
    display: grid;
    gap: 8px;
}

.events-guest-collaborator-shares:empty {
    display: none;
}

.events-guest-collaborator-shares .events-collaborator-option-with-share {
    grid-template-columns: minmax(0, 1fr) 92px;
    cursor: default;
}

.events-membership-picker {
    display: grid;
    gap: 8px;
}

.events-membership-picker-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.events-membership-picker-pills:empty {
    display: none;
}

.events-membership-picker.is-unavailable .events-input {
    background: rgba(244, 237, 230, 0.8);
    color: #8a7c70;
    cursor: not-allowed;
    opacity: 1;
}

.automation-flow-builder {
    display: grid;
    gap: 12px;
}

.automation-flow-builder-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.automation-flow-match-field {
    min-width: 220px;
    margin: 0;
}

.automation-criteria-picker {
    margin-top: 4px;
}

.automation-flow-match-preview {
    margin: 0;
}

.automation-flow-rules {
    display: grid;
    gap: 10px;
}

.automation-flow-rule-card {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(36, 31, 28, 0.08);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.72);
}

.automation-flow-rule-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.automation-flow-rule-pill {
    max-width: 100%;
}

.automation-flow-rule-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.automation-flow-rule-fields .events-field-span-2 {
    grid-column: 1 / -1;
}

.automation-flow-summary {
    margin-top: 6px;
}

.automation-card-meta-summary {
    margin: 0;
    font-size: 0.88rem;
    color: rgba(79, 74, 69, 0.78);
    white-space: nowrap;
    max-width: min(100%, 28rem);
    overflow: hidden;
    text-overflow: ellipsis;
}

.automation-card-targets {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.automation-card-target-pill {
    font-size: 0.78rem;
    min-height: 26px;
    padding: 2px 10px;
}

.automation-admin-stats-full {
    width: 100%;
    max-width: none;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}

.automation-admin-stats-upsell > div {
    position: relative;
    overflow: visible;
    min-height: 72px;
}

.automation-upsell-stat-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    margin-top: 4px;
}

.automation-upsell-stat-metric {
    position: relative;
    display: inline-flex;
}

.automation-upsell-stat-trigger {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    cursor: default;
}

.automation-upsell-stat-metric.is-people .automation-upsell-stat-trigger {
    cursor: pointer;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-underline-offset: 3px;
}

.automation-upsell-stat-sends {
    display: block;
    margin-top: 4px;
    font-size: 0.72rem;
    opacity: 0.72;
}

.automation-upsell-people-tip {
    position: absolute;
    z-index: 40;
    left: 0;
    top: calc(100% + 6px);
    min-width: 180px;
    max-width: 260px;
    padding: 10px;
    border-radius: 12px;
    border: 1px solid rgba(47, 41, 36, 0.12);
    background: #fffdf9;
    box-shadow: 0 12px 28px rgba(47, 41, 36, 0.14);
    font-size: 0.82rem;
    line-height: 1.35;
}

.automation-upsell-people-tip[hidden] {
    display: none !important;
}

.automation-upsell-people-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 8px;
}

.automation-upsell-people-row:last-child {
    margin-bottom: 0;
}

.automation-upsell-people-avatar {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    object-fit: cover;
    background: rgba(47, 41, 36, 0.08);
    flex: 0 0 auto;
}

.automation-upsell-people-avatar.is-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 600;
}

.automation-upsell-people-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.automation-upsell-people-empty,
.automation-upsell-people-loading {
    opacity: 0.75;
}

.automation-admin-card.events-admin-card {
    gap: 8px;
    padding: 18px 20px;
    grid-auto-rows: min-content;
}

.automation-admin-card > template {
    display: none !important;
}

.automation-admin-card .events-admin-card-head {
    align-items: flex-start;
}

.automation-admin-card .settings-card-title {
    margin: 6px 0 4px;
    font-size: 2rem;
    line-height: 1.15;
}

.automation-admin-card .settings-card-copy {
    margin-top: 4px;
    line-height: 1.4;
}

.automation-courtesy-run-form {
    display: inline-flex;
    align-items: center;
}

.automation-courtesy-run-button {
    white-space: nowrap;
}

.automation-courtesy-status-pill.is-live {
    font-weight: 600;
}

.automation-courtesy-run-stat {
    white-space: nowrap;
}

.automation-courtesy-replay-panel .automation-offer-grid {
    margin-top: 0.75rem;
}

.automation-admin-card .automation-card-targets {
    margin-top: 6px;
}

.automation-admin-card .events-admin-stats-weekly > div {
    padding: 8px 10px;
    border-radius: 14px;
}

.automation-origin-pill.is-system {
    background: rgba(168, 162, 156, 0.38);
    color: #4f4a45;
    letter-spacing: 0.14em;
}

.automation-origin-pill.is-campaign {
    background: rgba(255, 255, 255, 0.88);
    color: #6d645c;
    border: 1px solid rgba(126, 104, 84, 0.18);
}

.automation-admin-stats-compact {
    margin-top: 12px;
    margin-bottom: 4px;
    grid-template-columns: repeat(5, minmax(52px, 1fr));
    gap: 8px;
    max-width: 360px;
}

.automation-admin-stats-compact > div {
    padding: 8px 8px 7px;
    min-height: 0;
}

.automation-admin-stats-compact .events-stat-label {
    font-size: 0.68rem;
    letter-spacing: 0.08em;
}

.automation-admin-stats-compact strong {
    font-size: 1rem;
}

@media (max-width: 720px) {
    .automation-flow-builder-head,
    .automation-flow-rule-fields {
        grid-template-columns: 1fr;
        display: grid;
    }

    .automation-flow-match-field {
        min-width: 0;
    }

    .automation-admin-stats-compact,
    .automation-admin-stats-full {
        max-width: none;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .automation-admin-stats-full .events-admin-stat-accent {
        grid-column: 1 / -1;
    }

    .automation-card-meta-summary {
        white-space: normal;
        max-width: 100%;
    }
}

.events-membership-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 5px 4px 9px;
    border-radius: 999px;
    border: 1px solid rgba(126, 104, 84, 0.2);
    background: rgba(255, 255, 255, 0.92);
    font-size: 0.8rem;
    font-weight: 600;
    color: #2f2924;
    line-height: 1;
}

.events-membership-pill-meta {
    font-size: 0.72rem;
    font-weight: 500;
    color: #6d645c;
    white-space: nowrap;
}

.events-membership-pill.is-unmatched {
    border-color: rgba(176, 96, 48, 0.45);
    background: rgba(255, 244, 230, 0.96);
}

.events-membership-pill.is-unmatched .events-membership-pill-meta {
    color: #9a4f1f;
}

.events-membership-pill-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: rgba(126, 104, 84, 0.12);
    color: #6d4f47;
    cursor: pointer;
    font-size: 0.8rem;
    line-height: 1;
}

.events-membership-pill-remove:hover,
.events-membership-pill-remove:focus-visible {
    outline: none;
    background: rgba(126, 104, 84, 0.22);
}

.events-membership-picker-control {
    position: relative;
}

.events-membership-picker-menu {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 40;
    display: none;
    gap: 4px;
    max-height: 220px;
    overflow: auto;
    padding: 6px;
    border: 1px solid rgba(126, 104, 84, 0.18);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.99);
    box-shadow: 0 16px 32px rgba(70, 56, 42, 0.14);
}

.events-membership-picker-menu.is-open {
    display: grid;
}

.events-places-picker .events-membership-picker-menu:not(.is-open) {
    display: none;
}

.events-places-picker .events-membership-picker-menu.is-open,
body > .events-membership-picker-menu.is-open[data-events-places-picker-menu] {
    position: fixed !important;
    z-index: 2600 !important;
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-height: min(50vh, 360px);
    overflow-y: auto;
    pointer-events: auto;
    background: rgba(255, 255, 255, 0.99);
    box-shadow: 0 16px 32px rgba(70, 56, 42, 0.14);
}

.events-places-picker .events-membership-picker-option-copy {
    gap: 4px;
}

.events-places-picker .events-membership-picker-option-copy span:last-child {
    font-size: 0.76rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #8a7c70;
}

.events-admin-grid-form .events-places-picker,
.events-access-group-body .events-places-picker {
    min-width: 0;
}

.events-membership-picker-option {
    display: grid;
    width: 100%;
    padding: 8px 10px;
    border: 1px solid transparent;
    border-radius: 11px;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font: inherit;
    text-align: left;
    transition: background 100ms ease, border-color 100ms ease;
}

.events-membership-picker-option:hover,
.events-membership-picker-option:focus-visible {
    outline: none;
    border-color: rgba(126, 104, 84, 0.18);
    background: rgba(244, 237, 230, 0.9);
}

.events-membership-picker-option-copy {
    display: grid;
    gap: 2px;
}

.events-membership-picker-option-copy strong {
    color: #2f2924;
    font-size: 0.87rem;
}

.events-membership-picker-option-copy span {
    color: #6d645c;
    font-size: 0.77rem;
    line-height: 1.3;
}

.events-membership-picker-option.is-message {
    cursor: default;
    pointer-events: none;
    color: #6d645c;
}

.events-membership-picker-option.is-message:hover,
.events-membership-picker-option.is-message:focus-visible {
    background: transparent;
    border-color: transparent;
}

.events-membership-picker-option.is-message .events-membership-picker-option-copy {
    font-size: 0.86rem;
    line-height: 1.45;
}

.events-membership-picker-option.is-create {
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
}

.events-places-create-icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: rgba(219, 199, 171, 0.28);
    color: #594634;
    flex: 0 0 auto;
}

.events-places-create-icon {
    width: 16px;
    height: 16px;
    display: block;
}

.events-membership-picker-no-results {
    margin: 0;
    padding: 8px 10px;
}

.events-access-group.is-disabled .events-membership-pill {
    opacity: 0.65;
}

.events-access-group.is-disabled [data-events-access-group-controls] .events-membership-picker {
    pointer-events: none;
}

.events-collaborator-option {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 14px 15px;
    border: 1px solid rgba(126, 104, 84, 0.14);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.82);
    cursor: pointer;
}

.events-collaborator-option-copy {
    display: grid;
    gap: 4px;
}

.events-collaborator-option-copy strong {
    font-size: 0.95rem;
    color: #2f2924;
}

.events-collaborator-option-copy span {
    color: #6d645c;
    font-size: 0.85rem;
    line-height: 1.4;
}

.events-collaborator-option:has(.events-access-checkbox:checked) {
    border-color: rgba(126, 104, 84, 0.3);
    background: rgba(244, 237, 230, 0.9);
    box-shadow: 0 12px 24px rgba(70, 56, 42, 0.08);
}

.events-collaborator-option-with-share {
    grid-template-columns: auto minmax(0, 1fr) 92px;
    align-items: center;
}

.events-collaborator-share-field {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.events-collaborator-share-label {
    color: #6d645c;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.events-collaborator-share-input {
    min-height: 38px;
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
}

.events-collaborator-status-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.events-collaborator-status-pill {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border: 1px solid rgba(126, 104, 84, 0.14);
    border-radius: 18px;
    background: rgba(250, 246, 241, 0.86);
}

.events-collaborator-status-pill strong {
    font-size: 0.92rem;
    color: #2f2924;
}

.events-collaborator-status-pill span {
    color: #6d645c;
    font-size: 0.82rem;
    line-height: 1.35;
}

.events-access-groups {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    margin-top: 10px;
}

/* span 2 inside a 1-col Access grid creates an implicit 2nd column and crushes siblings */
.events-access-groups > .events-field-span-2,
.events-access-groups > .events-access-presentation-field {
    grid-column: 1 / -1;
}

.events-access-group {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid rgba(126, 104, 84, 0.14);
    border-radius: 26px;
    background: rgba(250, 246, 241, 0.82);
    box-shadow: 0 12px 24px rgba(70, 56, 42, 0.04);
    transition: border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease, opacity 140ms ease;
}

.events-access-group.is-active {
    border-color: rgba(126, 104, 84, 0.24);
    background: rgba(250, 246, 241, 0.92);
    box-shadow: 0 18px 30px rgba(70, 56, 42, 0.07);
}

.events-access-group.is-disabled {
    background: rgba(247, 243, 238, 0.72);
}

.events-access-group-shared {
    grid-column: 1 / -1;
}

.events-access-group-shared .events-access-group-note {
    margin: -4px 0 0;
}

.events-access-group-shared .events-access-stream-link-fields {
    margin-top: 2px;
}

.events-access-group-toggle {
    margin: 0;
}

.events-access-group-header-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 14px;
    align-items: start;
}

.events-access-group-header-row > * {
    min-width: 0;
}

.events-access-group-header-field {
    align-content: start;
}

.events-access-group-body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
}

.events-access-group-body--with-upsell {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 1fr);
}

.events-access-group-main {
    display: grid;
    gap: 14px;
    min-width: 0;
    align-content: start;
}

.events-access-group-side {
    display: grid;
    gap: 14px;
    min-width: 0;
    align-content: start;
}

.events-access-group-body--with-upsell > .events-access-group-main,
.events-access-group-body--with-upsell > .events-access-group-side,
.events-access-group-body--with-upsell > .events-rsvp-upsell-row {
    grid-column: auto;
    min-width: 0;
}

.events-access-group-body--with-upsell > .events-rsvp-upsell-row {
    margin-top: 0;
}

.events-access-group-side > .events-rsvp-upsell-row,
.events-access-group-side > .events-online-upsell-row {
    margin-top: 0;
    grid-column: auto;
    width: 100%;
}

.events-in-person-venue-block {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    width: 100%;
    padding-top: 14px;
    margin-top: 2px;
    border-top: 1px solid rgba(120, 96, 75, 0.12);
}

.events-access-group-side > .events-in-person-venue-block {
    margin-top: 0;
}

.events-access-group-side .events-in-person-venue-row {
    grid-template-columns: minmax(0, 1fr);
}

.events-in-person-venue-row .events-places-picker {
    min-width: 0;
}

.events-in-person-venue-find-field {
    min-width: 0;
}

.events-in-person-venue-row .events-membership-picker-control,
.events-in-person-venue-row .events-membership-picker-search {
    width: 100%;
}

.events-in-person-venue-show-field {
    align-content: start;
}

.events-in-person-venue-show-option {
    margin: 0;
    min-height: 100%;
}

.events-access-group-body-single {
    grid-template-columns: minmax(0, 1fr);
}

.events-access-group-kicker {
    font-size: 0.78rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #6d645c;
}

.events-access-group-note {
    margin: 0;
    grid-column: 1 / -1;
}

.events-access-group-inline-copy {
    display: grid;
    gap: 8px;
    align-content: center;
    min-height: 100%;
    padding: 14px 15px;
    border: 1px solid rgba(126, 104, 84, 0.14);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.82);
}

.events-access-group-inline-copy .settings-action-copy {
    margin: 0;
}

.events-access-group-body > .events-field-span-2,
.events-access-group-body > .events-places-picker.events-field-span-2,
.events-access-group-body > .events-membership-row,
.events-access-group-body > .events-online-price-row,
.events-access-group-body > .events-rsvp-upsell-row,
.events-access-group-body > .events-in-person-donation-row,
.events-access-group-body > .events-rsvp-donation-row,
.events-access-group-body > .events-in-person-price-row,
.events-access-group-body > .events-in-person-venue-block,
.events-access-group-body > .product-timed-discount-tier-list,
.events-access-group-body > .product-timed-discount-offer-row,
.events-access-group-body > [data-events-access-group-controls],
.events-access-shared-field {
    grid-column: 1 / -1;
}

.events-access-group-body--with-upsell > .events-rsvp-upsell-row {
    grid-column: auto;
}

.events-access-group-body > [data-events-access-group-controls] {
    display: contents;
}

.events-access-group-header-row .events-access-shared-field {
    grid-column: auto;
}

.events-access-stream-link-fields {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(6.5rem, 0.65fr) minmax(6.5rem, 0.65fr) minmax(6.5rem, 0.65fr);
    gap: 12px;
    align-items: start;
}

@media (max-width: 900px) {
    .events-access-stream-link-fields {
        grid-template-columns: minmax(0, 1fr) minmax(7rem, 0.5fr);
    }

    .events-access-stream-opens-field,
    .events-access-stream-closes-field {
        grid-column: span 1;
    }
}

.events-access-stream-link-fields > .events-field {
    margin: 0;
}

.events-access-group.is-disabled .events-field-label,
.events-access-group.is-disabled .events-access-group-kicker,
.events-access-group.is-disabled .events-access-option-copy strong,
.events-access-group.is-disabled .events-access-option-copy span,
.events-access-group.is-disabled .settings-action-copy {
    color: #8a7c70;
}

.events-access-group.is-disabled .events-input,
.events-access-group.is-disabled .events-select,
.events-access-group.is-disabled .events-textarea,
.events-access-group.is-disabled .events-access-group-inline-copy {
    background: rgba(244, 237, 230, 0.8);
    color: #8a7c70;
}

.events-access-group.is-disabled .events-access-shared-field.is-active .events-field-label {
    color: #6d645c;
}

.events-access-group.is-disabled .events-access-shared-field.is-active .events-input,
.events-access-group.is-disabled .events-access-shared-field.is-active .events-select,
.events-access-group.is-disabled .events-access-shared-field.is-active .events-textarea {
    background: rgba(255, 255, 255, 0.9);
    color: #2f2924;
}

.events-access-option {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 14px 15px;
    border: 1px solid rgba(126, 104, 84, 0.14);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.82);
    cursor: pointer;
}

.events-access-checkbox {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    accent-color: #8b6443;
}

.events-access-option-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.events-access-option-copy strong {
    font-size: 0.95rem;
    color: #2f2924;
}

.events-access-option-copy span {
    color: #6d645c;
    font-size: 0.85rem;
    line-height: 1.4;
}

.events-access-option:has(.events-access-checkbox:checked) {
    border-color: rgba(126, 104, 84, 0.3);
    background: rgba(244, 237, 230, 0.9);
    box-shadow: 0 12px 24px rgba(70, 56, 42, 0.08);
}

.events-field-helper {
    display: block;
    margin-top: 8px;
}

.events-membership-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
}

.events-membership-product-field,
.events-membership-intro-field {
    align-content: start;
}

.events-membership-intro-toggle {
    min-height: 100%;
}

.events-online-price-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
    width: 100%;
    grid-column: 1 / -1;
}

.events-online-price-row > .events-field,
.events-online-price-row > label.events-field {
    width: 100%;
}

.events-online-price-row .events-access-option {
    width: 100%;
    min-height: 100%;
}

.events-in-person-price-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
    width: 100%;
}

.events-in-person-price-row--compact {
    grid-template-columns: minmax(0, 1fr) minmax(7.5rem, 9.5rem);
    align-items: start;
}

.events-in-person-price-row--compact > .events-in-person-qr-hide-field {
    grid-column: 1 / -1;
}

.events-in-person-price-row--compact .events-in-person-price-value-field {
    align-content: start;
}

.events-in-person-price-row--compact .events-access-option {
    min-height: 0;
}

.events-in-person-donation-row,
.events-rsvp-donation-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
    width: 100%;
    grid-column: 1 / -1;
}

.events-membership-donation-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.events-in-person-donation-row > .events-field,
.events-in-person-donation-row > label.events-field,
.events-rsvp-donation-row > .events-field,
.events-rsvp-donation-row > label.events-field {
    width: 100%;
}

.events-in-person-donation-row .events-access-option,
.events-rsvp-donation-row .events-access-option {
    width: 100%;
    min-height: 100%;
}

.events-in-person-donation-free-field,
.events-in-person-donation-toggle-field,
.events-in-person-donation-value-field,
.events-rsvp-donation-free-field,
.events-rsvp-donation-toggle-field,
.events-rsvp-donation-value-field {
    align-content: start;
    min-width: 0;
}

.events-in-person-donation-field.is-disabled,
.events-rsvp-donation-field.is-disabled {
    opacity: 0.55;
}

.events-online-price-free-field,
.events-online-donation-field,
.events-online-price-value-field,
.events-online-upsell-toggle-field,
.events-online-upsell-product-field,
.events-online-upsell-title-prefix-field,
.events-online-upsell-pitch-field,
.events-rsvp-upsell-pledge-field {
    align-content: start;
    min-width: 0;
}

.events-online-upsell-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
    margin-top: 14px;
    width: 100%;
    grid-column: 1 / -1;
}

.events-access-group-body--with-upsell > .events-online-upsell-row {
    margin-top: 0;
    grid-column: auto;
    align-content: start;
}

.events-online-upsell-toggle-field {
    grid-column: 1 / -1;
}

.events-rsvp-upsell-controls {
    display: contents;
}

.events-online-upsell-row > .events-field,
.events-online-upsell-row > label.events-field,
.events-rsvp-upsell-controls > .events-field,
.events-rsvp-upsell-controls > label.events-field {
    width: 100%;
}

.events-online-upsell-row .events-access-option {
    width: 100%;
    min-height: 100%;
}

.events-online-upsell-option {
    min-height: 100%;
}

.events-online-upsell-toggle-field {
    opacity: 1;
}

.events-rsvp-upsell-controls,
.events-rsvp-upsell-controls .events-rsvp-upsell-product-field,
.events-rsvp-upsell-controls .events-rsvp-upsell-title-prefix-field,
.events-rsvp-upsell-controls .events-rsvp-upsell-pitch-field,
.events-rsvp-upsell-controls .events-rsvp-upsell-pledge-field {
    opacity: 1 !important;
    pointer-events: auto !important;
}

.events-rsvp-upsell-controls .events-input,
.events-rsvp-upsell-controls .events-membership-picker-search,
.events-rsvp-upsell-controls .events-product-upsell-picker {
    opacity: 1 !important;
    pointer-events: auto !important;
}

.events-rsvp-upsell-controls .events-input,
.events-rsvp-upsell-controls .events-membership-picker-search {
    background: rgba(255, 255, 255, 0.9) !important;
    color: #2f2924 !important;
    cursor: text !important;
}

.events-access-group.is-disabled .events-rsvp-upsell-controls .events-input,
.events-access-group.is-disabled .events-rsvp-upsell-controls .events-membership-picker-search,
.events-access-group.is-disabled .events-rsvp-upsell-field .events-rsvp-upsell-controls .events-input,
.events-access-group.is-disabled .events-rsvp-upsell-field .events-rsvp-upsell-controls .events-membership-picker-search {
    background: rgba(255, 255, 255, 0.9) !important;
    color: #2f2924 !important;
    pointer-events: auto !important;
    opacity: 1 !important;
}

.events-access-group.is-disabled [data-events-access-group-controls] .events-rsvp-upsell-controls .events-membership-picker,
.events-access-group.is-disabled .events-rsvp-upsell-controls .events-product-upsell-picker {
    pointer-events: auto !important;
    opacity: 1 !important;
}

.events-product-upsell-picker .events-membership-picker-pills {
    display: grid;
    gap: 6px;
}

.events-product-upsell-picker .events-membership-pill {
    width: 100%;
    justify-content: space-between;
}

.events-online-upsell-product-field .events-product-upsell-picker {
    width: 100%;
}

.events-product-upsell-picker.is-disabled {
    pointer-events: none;
    opacity: 0.65;
}

.events-rsvp-upsell-controls .events-product-upsell-picker.is-disabled {
    pointer-events: auto !important;
    opacity: 1 !important;
}

.events-rsvp-upsell-pledge-list {
    display: grid;
    gap: 10px;
}

.events-rsvp-upsell-pledge-row {
    display: grid;
    gap: 6px;
}

.events-rsvp-upsell-pledge-row-label {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(47, 41, 36, 0.72);
}

.events-rsvp-upsell-product-copy-field {
    align-content: start;
    min-width: 0;
    grid-column: 1 / -1;
}

.events-rsvp-upsell-controls .events-rsvp-upsell-product-copy-field {
    opacity: 1 !important;
    pointer-events: auto !important;
}

.events-rsvp-upsell-product-copy-list {
    display: grid;
    gap: 8px;
}

.events-rsvp-upsell-product-copy-row {
    display: grid;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid rgba(47, 41, 36, 0.12);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.55);
}

.events-rsvp-upsell-product-copy-row.is-inline {
    grid-template-columns: minmax(9rem, 0.9fr) minmax(8rem, 0.85fr) minmax(12rem, 1.6fr);
    align-items: end;
    gap: 10px;
}

.events-rsvp-upsell-product-copy-heading {
    margin: 0;
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.25;
    color: rgba(47, 41, 36, 0.88);
    align-self: center;
    padding-bottom: 0.15rem;
}

.events-rsvp-upsell-product-copy-row.is-inline .events-field {
    margin: 0;
    min-width: 0;
}

.events-rsvp-upsell-product-copy-row.is-inline .events-field-label {
    margin-bottom: 4px;
}

.events-rsvp-upsell-pledge-field.is-nested {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(47, 41, 36, 0.1);
}

.events-rsvp-upsell-pledge-field.is-nested .events-field-label {
    margin-bottom: 8px;
}

@media (max-width: 900px) {
    .events-rsvp-upsell-product-copy-row.is-inline {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .events-rsvp-upsell-product-copy-heading {
        align-self: start;
        padding-bottom: 0;
    }
}

.events-in-person-price-toggle-field,
.events-in-person-price-value-field {
    align-content: start;
}

.events-online-price-free-option {
    min-height: 100%;
}

.events-online-donation-option {
    min-height: 100%;
}

.events-in-person-price-toggle-option {
    min-height: 100%;
}

.events-online-price-field.is-free .events-input {
    background: rgba(244, 237, 230, 0.8);
    color: #8a7c70;
}

.events-online-price-field.has-suggested-donation .events-input,
.events-online-price-field.has-suggested-donation .events-input:disabled {
    background: rgba(255, 255, 255, 0.9);
    color: #2f2924;
    cursor: text;
}

.events-in-person-price-field.is-disabled .events-input {
    background: rgba(244, 237, 230, 0.8);
    color: #8a7c70;
}

.events-online-price-field .events-input:disabled {
    cursor: not-allowed;
    opacity: 1;
}

.events-in-person-price-field .events-input:disabled {
    cursor: not-allowed;
    opacity: 1;
}

.events-input,
.events-select,
.events-textarea {
    width: 100%;
    border: 1px solid rgba(126, 104, 84, 0.18);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.9);
    color: #2f2924;
    font: inherit;
    padding: 12px 14px;
}

.events-textarea {
    min-height: 150px;
    resize: vertical;
}

.events-reminders-field {
    gap: 14px;
}

.events-reminder-builder {
    padding: 18px;
    border: 1px solid rgba(126, 104, 84, 0.14);
    border-radius: 26px;
    background: rgba(250, 246, 241, 0.82);
}

.events-reminders-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.events-reminder-builder-title {
    margin: 4px 0 0;
    font-family: 'Newsreader', serif;
    font-size: 1.45rem;
    line-height: 1.1;
    color: #2f2924;
}

.events-reminder-builder .handshakes-section-label {
    font-size: 0.78rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #6d645c;
}

.events-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.events-reminders-copy,
.events-reminders-warning {
    margin: 6px 0 0;
}

.events-reminder-list-shell {
    padding: 2px 0 0;
}

.events-reminder-list {
    display: grid;
    gap: 12px;
}

.events-reminder-row {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid rgba(126, 104, 84, 0.14);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 12px 24px rgba(70, 56, 42, 0.04);
}

.events-reminder-row-header {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 12px;
}

.events-reminder-row-title {
    font-size: 1rem;
    font-weight: 600;
    color: #2f2924;
}

.events-reminder-row-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.events-reminder-row-grid-compact.product-form-field-grid {
    grid-template-columns: auto minmax(120px, 0.7fr) minmax(220px, 2.6fr) auto auto;
    align-items: center;
}

.events-reminder-row-grid-compact.product-form-field-grid .events-reminder-inline-text {
    min-width: 0;
}

.events-comments-visibility-field {
    margin-bottom: 4px;
}

.events-comments-visibility-toggle {
    margin-top: 0;
}

.events-reminder-cta-toggle,
.events-reminder-facilitator-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 10px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.72);
    color: #4f4034;
    font-size: 0.86rem;
    font-weight: 700;
    white-space: nowrap;
}

.events-reminder-row-grid-compact > * {
    min-width: 0;
}

.events-reminder-inline-field {
    gap: 0;
}

.events-reminder-inline-text,
.events-reminder-row-actions {
    min-width: 0;
}

.events-reminder-inline-field .events-input,
.events-reminder-inline-field .events-select {
    min-height: 48px;
}

.events-reminder-inline-text .events-input {
    width: 100%;
}

.events-reminder-row-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.events-reminder-row-actions .events-danger-button {
    width: 100%;
}

.events-reminder-add {
    white-space: nowrap;
}

.automation-flow-builder-panel {
    display: grid;
    gap: 18px;
    margin-top: 14px;
    padding: 26px 24px 22px;
    border: 1px solid rgba(126, 104, 84, 0.14);
    border-radius: 26px;
    background: rgba(255, 252, 247, 0.82);
}

.automation-message-flow-section {
    display: grid;
    gap: 12px;
    grid-column: 1 / -1;
}

.automation-flow-builder-panel[hidden] {
    display: none !important;
}

.automation-step-channel-toggles {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    justify-content: flex-end;
}

.automation-step-channel-chip.settings-toggle {
    min-height: 24px;
    gap: 6px;
    padding: 2px 8px 2px 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 4px 10px rgba(70, 56, 42, 0.06);
}

.automation-step-channel-chip .settings-toggle-track {
    width: 36px;
    height: 20px;
    padding: 2px;
}

.automation-step-channel-chip .settings-toggle-thumb {
    width: 14px;
    height: 14px;
    box-shadow: 0 3px 8px rgba(70, 56, 42, 0.12);
}

.automation-step-channel-chip .settings-toggle-input:checked + .settings-toggle-track .settings-toggle-thumb {
    margin-left: auto;
    transform: none;
}

.automation-step-channel-chip .settings-toggle-copy {
    font-size: 0.72rem;
    line-height: 1.1;
}

.automation-step-channel-chip .settings-toggle-copy strong {
    font-weight: 600;
}

.automation-flow-builder-panel .events-reminders-header {
    margin-bottom: 4px;
    gap: 16px;
}

.automation-flow-builder-panel .handshakes-section-label {
    margin: 0 0 8px;
}

.automation-flow-builder-panel .events-reminder-builder-title {
    margin: 0;
}

.automation-flow-builder-panel .events-reminder-builder-title-row {
    margin: 0 0 8px;
}

.automation-flow-builder-panel .settings-action-copy {
    margin: 0;
    max-width: 42rem;
    line-height: 1.45;
}

.automation-flow-builder-panel .events-reminder-list-shell {
    padding-top: 6px;
}

.automation-flow-list {
    display: grid;
    gap: 14px;
}

.automation-flow-step {
    position: relative;
    display: grid;
    gap: 16px;
    padding: 22px 22px 20px;
    margin: 0;
}

.automation-flow-step .events-reminder-row-header {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2px;
}

.automation-flow-connector {
    display: grid;
    grid-template-columns: minmax(24px, 1fr) auto auto minmax(24px, 1fr);
    align-items: center;
    gap: 10px;
    padding: 8px 10px 4px;
    color: #7a6a5c;
}

.automation-hub-section {
    padding: 14px 0 4px;
    border-top: 1px solid rgba(126, 104, 84, 0.14);
}

.automation-hub-section:first-child,
.automation-campaign-form-grid > .automation-hub-section:nth-child(3) {
    border-top: 0;
    padding-top: 0;
}

.automation-target-mode-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 8px 0 12px;
}

.automation-target-mode-option {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 8px 14px;
    border: 1px solid rgba(126, 104, 84, 0.28);
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(255, 252, 247, 0.95), rgba(246, 239, 230, 0.9));
    cursor: pointer;
}

.automation-target-mode-option:has(input:checked) {
    border-color: rgba(96, 74, 52, 0.55);
    box-shadow: inset 0 0 0 1px rgba(96, 74, 52, 0.2);
}

.automation-target-picker {
    margin-top: 8px;
}

.automation-offer-panel {
    background: linear-gradient(165deg, rgba(255, 250, 242, 0.95), rgba(240, 230, 216, 0.55));
    border: 1px solid rgba(126, 104, 84, 0.16);
    border-radius: 14px;
    padding: 14px 16px 8px;
}

.automation-offer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.automation-product-offer-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0 12px;
}

@media (max-width: 720px) {
    .automation-offer-grid {
        grid-template-columns: 1fr;
    }
}

.automation-flow-connector-line {
    height: 1px;
    background: linear-gradient(90deg, rgba(126, 104, 84, 0.05), rgba(126, 104, 84, 0.35), rgba(126, 104, 84, 0.05));
}

.automation-flow-connector-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: rgba(255, 252, 247, 0.95);
    border: 1px solid rgba(126, 104, 84, 0.18);
    box-shadow: 0 6px 14px rgba(70, 56, 42, 0.06);
    color: #5c4a3c;
    font-size: 0.95rem;
    line-height: 1;
}

.automation-flow-connector-label {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255, 248, 238, 0.95);
    border: 1px solid rgba(126, 104, 84, 0.16);
    color: #5f4d3f;
    font-size: 0.74rem;
    font-weight: 650;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.automation-flow-step-grid {
    grid-template-columns: auto minmax(90px, 0.55fr) minmax(110px, 0.7fr) minmax(160px, 1.4fr) minmax(180px, 1.8fr) auto;
}

.automation-flow-step-grid.is-on-registration {
    grid-template-columns: auto minmax(180px, 1.5fr) minmax(220px, 2fr) auto;
}

.automation-flow-step .events-reminder-row-actions .events-danger-button {
    width: auto;
    min-width: 5.5rem;
    padding-left: 14px;
    padding-right: 14px;
}

.automation-step-comment-toggle {
    margin-left: 4px;
}

.automation-step-comment-toggle input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #4f4034;
}

@media (max-width: 900px) {
    .automation-flow-step-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .automation-flow-step-grid.is-on-registration {
        grid-template-columns: minmax(0, 1fr);
    }

    .automation-flow-connector {
        grid-template-columns: minmax(16px, 1fr) auto auto minmax(16px, 1fr);
        gap: 8px;
    }
}

.events-input:focus,
.events-select:focus,
.events-textarea:focus {
    outline: none;
    border-color: rgba(126, 104, 84, 0.32);
    box-shadow: 0 0 0 4px rgba(224, 210, 190, 0.32);
}

.events-status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    background: rgba(229, 220, 212, 0.72);
    color: #554d47;
}

.events-status-pill.is-live {
    background: rgba(222, 239, 227, 0.92);
    color: #32543d;
}

.events-status-pill.is-draft {
    background: rgba(245, 232, 222, 0.92);
    color: #7a5b42;
}

.events-status-pill.is-cancelled {
    background: rgba(255, 236, 233, 0.96);
    color: #8a3d34;
}

.events-admin-toggle-danger {
    border-color: rgba(157, 92, 83, 0.28);
    background: rgba(255, 245, 243, 0.96);
    color: #8a3d34;
}

.events-admin-toggle-danger:hover,
.events-admin-toggle-danger:focus-visible {
    outline: none;
    transform: translateY(-1px);
    border-color: rgba(157, 92, 83, 0.42);
}

.events-admin-toggle-danger .events-admin-toggle-icon {
    color: #8a3d34;
}

.events-cancel-modal-actions {
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.events-cancel-modal-actions-right {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    margin-left: auto;
}

.events-cancel-modal-occurrence {
    margin-top: 8px;
}

.events-cancel-pause-listing-button {
    margin-right: auto;
}

.events-cancel-event-button {
    min-height: 32px;
    padding: 0 14px;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.events-cancel-modal-dialog .events-actions {
    justify-content: flex-end;
    gap: 12px;
}

.events-danger-form {
    margin: 0;
}

.events-danger-button {
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid rgba(157, 92, 83, 0.24);
    border-radius: 999px;
    background: rgba(255, 245, 243, 0.96);
    color: #8a3d34;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.events-danger-button:hover,
.events-danger-button:focus-visible {
    outline: none;
    transform: translateY(-1px);
}

@media (max-width: 900px) {
    .settings-grid {
        grid-template-columns: 1fr;
    }

    .settings-card-primary {
        grid-row: auto;
    }

    .users-grid {
        grid-template-columns: 1fr;
    }

    .events-hero-panel {
        align-items: flex-start;
        flex-direction: column;
    }

    .events-hero-actions {
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .automation-admin-audience-group {
        flex-wrap: wrap;
    }

    .events-admin-card-meta {
        justify-content: flex-start;
        margin-left: 0;
    }

    .events-admin-stats,
    .events-admin-grid-form {
        grid-template-columns: 1fr 1fr;
    }

    .events-admin-stats-has-visitors {
        flex-direction: column;
        align-items: stretch;
    }

    .events-admin-stats-primary,
    .events-admin-stats-visitors {
        grid-template-columns: 1fr 1fr;
    }

    .events-admin-stats-visitors {
        margin-left: 0;
    }

    .events-admin-stats-weekly {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        margin-left: 0;
    }

    .courses-admin-stats-weekly {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .events-admin-stats-product-full {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .events-admin-stats-event-full {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .events-admin-stats-funnel,
    .events-admin-stats-event-funnel,
    .events-admin-stats-product-funnel {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .events-past-event-meta {
        min-width: 0;
    }

    .purchases-detail-grid {
        grid-template-columns: 1fr;
    }

    .events-access-options {
        grid-template-columns: 1fr;
    }

    .events-collaborator-picker {
        grid-template-columns: 1fr;
    }

    .events-access-groups {
        grid-template-columns: 1fr;
    }

    .events-access-group-header-row {
        grid-template-columns: 1fr;
    }

    .events-access-stream-link-fields {
        grid-template-columns: 1fr;
    }

    .events-access-group-body {
        grid-template-columns: 1fr;
    }

    .events-membership-row {
        grid-template-columns: 1fr;
    }

    .events-online-price-row {
        grid-template-columns: 1fr;
    }

    .events-online-upsell-row {
        grid-template-columns: 1fr;
    }

    .events-in-person-price-row {
        grid-template-columns: 1fr;
    }

    .product-qr-pricing-row {
        grid-template-columns: 1fr;
    }

    .product-timed-discount-header-row {
        grid-template-columns: 1fr;
    }

    .product-included-memberships-row {
        grid-template-columns: 1fr;
    }

    .product-timed-discount-offer-row {
        grid-template-columns: 1fr;
    }

    .product-timed-discount-tier-list {
        grid-column: auto;
    }

    .product-timed-discount-tier-row {
        grid-template-columns: 1fr;
    }

    .events-in-person-donation-row,
    .events-rsvp-donation-row {
        grid-template-columns: 1fr;
    }

    .events-in-person-venue-row {
        grid-template-columns: 1fr;
    }

    .events-reminder-row-grid,
    .events-reminder-row-grid-compact {
        grid-template-columns: 1fr 1fr;
    }

    .events-reminder-row-grid-compact.product-form-field-grid {
        grid-template-columns: auto minmax(0, 1fr) minmax(0, 2fr);
    }

    .purchases-summary-grid {
        grid-template-columns: 1fr;
    }

    .settings-facilitator-cards-grid {
        column-count: 1;
    }

    .products-type-options {
        grid-template-columns: 1fr;
    }

    .products-type-options.bundles-type-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .settings-hero-panel,
    .settings-card {
        padding: 22px;
        border-radius: 22px;
    }

    .settings-eyebrow {
        display: block;
        width: 100%;
        padding: 0 56px;
        text-align: center;
    }

    .settings-card-title {
        font-size: 1.7rem;
    }

    .users-table th,
    .users-table td {
        padding: 6px 8px;
    }

    .users-directory {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .users-directory-card {
        padding: 12px;
        border-radius: 14px;
    }

    .users-package-readonly {
        align-items: stretch;
    }

    .users-package-field,
    .users-package-select {
        width: 100%;
    }

    .users-sort-form {
        flex-direction: column;
        align-items: stretch;
    }

    .users-role-checklist {
        grid-template-columns: 1fr;
    }

    .users-role-select,
    .users-save-button {
        min-height: 30px;
    }

    .users-interest-package-grid {
        grid-template-columns: 1fr;
    }

    .users-interest-metrics {
        grid-template-columns: 1fr;
    }

    .users-interest-list-bar {
        align-items: stretch;
        flex-direction: column;
        padding: 12px 16px;
        border-radius: 20px;
    }

    .users-interest-toggle-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .users-interest-send-form-inline {
        width: 100%;
    }

    .users-interest-toggle-count {
        align-self: flex-end;
    }

    .events-modal {
        padding: 18px 12px;
    }

    body[data-nav-mode='attached'] .events-modal {
        padding-left: 12px;
    }

    .events-modal-dialog,
    body[data-nav-mode='attached'] .events-modal-dialog {
        width: min(860px, calc(100vw - 24px));
        max-height: calc(100dvh - 36px);
    }

    .events-admin-stats,
    .events-admin-grid-form {
        grid-template-columns: 1fr;
    }

    .products-description-access-row {
        grid-template-columns: 1fr;
    }

    .events-admin-stats-primary,
    .events-admin-stats-visitors {
        grid-template-columns: 1fr;
    }

    .events-admin-stats-weekly {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-left: 0;
    }

    .courses-admin-stats-weekly {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .events-admin-stats-product-full,
    .events-admin-stats-event-full {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .events-admin-stats-funnel,
    .events-admin-stats-event-funnel,
    .events-admin-stats-product-funnel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .events-past-event-head {
        align-items: stretch;
    }

    .events-admin-toggle-compact {
        width: 100%;
    }

    .events-reminders-header {
        display: grid;
    }

    .events-reminder-row-header,
    .events-reminder-row-grid,
    .events-reminder-row-grid-compact {
        grid-template-columns: 1fr;
        display: grid;
    }

    .events-reminder-row-grid-compact.product-form-field-grid {
        grid-template-columns: 1fr;
    }

    .events-reminder-row-actions {
        justify-content: flex-start;
    }

    .events-field-span-2 {
        grid-column: auto;
    }

    .events-media-upload-row {
        grid-template-columns: 1fr;
    }

    .events-form-row-3 {
        grid-template-columns: 1fr;
    }

}

.settings-theme-form {
    display: grid;
    gap: 16px;
}

.settings-theme-picker-row {
    display: grid;
    grid-template-columns: auto minmax(120px, 160px) minmax(180px, 1fr);
    gap: 16px;
    align-items: end;
}

.settings-theme-picker {
    display: grid;
    gap: 8px;
}

.settings-theme-color-input {
    width: 72px;
    height: 48px;
    padding: 4px;
    border: 1px solid rgba(63, 55, 48, 0.16);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.92);
    cursor: pointer;
}

.settings-theme-preview {
    display: grid;
    gap: 10px;
    padding: 14px 16px;
    border-radius: 20px;
    border: 1px solid rgba(63, 55, 48, 0.12);
    background: rgba(255, 255, 255, 0.72);
}

.settings-theme-preview-swatch {
    display: block;
    width: 100%;
    height: 28px;
    border-radius: 999px;
    background: var(--public-theme, #2f5b49);
}

.settings-theme-preview-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--public-theme, #2f5b49);
    color: #fffaf4;
    font-weight: 600;
}

@media (max-width: 820px) {
    .settings-theme-picker-row {
        grid-template-columns: 1fr;
    }

    .settings-migration-banners .settings-banner {
        flex-basis: 100%;
    }
}
/* ── Connect config disclosure (dev-only debug info) ── */
.settings-connect-config-disclosure {
    margin-top: 10px;
    border: 1px solid rgba(63, 55, 48, 0.08);
    border-radius: 10px;
    overflow: hidden;
}

.settings-connect-config-summary {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 500;
    color: #9e9089;
    list-style: none;
}

.settings-connect-config-summary::-webkit-details-marker { display: none; }
.settings-connect-config-summary::marker { display: none; }

.settings-connect-config-summary:hover {
    background: rgba(243, 238, 232, 0.7);
    color: #7e6854;
}

.settings-connect-config-body {
    padding: 12px 16px;
    border-top: 1px solid rgba(63, 55, 48, 0.07);
    background: rgba(255, 255, 255, 0.5);
}

.settings-connect-config-links {
    display: grid;
    gap: 4px;
    margin-top: 4px;
}

.settings-connect-config-link-form {
    margin: 0;
}

.settings-connect-config-link {
    display: inline;
    padding: 0;
    border: 0;
    background: none;
    color: #32543d;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

.settings-connect-config-link:hover,
.settings-connect-config-link:focus-visible {
    color: #244232;
}

.settings-connect-start-form {
    display: grid;
    gap: 12px;
    width: 100%;
    max-width: 420px;
    margin-top: 12px;
}

.settings-connect-country-field {
    margin: 0;
}

.facilitator-stripe-payout-card {
    position: relative;
    width: 100%;
    padding: 18px 86px 20px 20px;
}

.facilitator-stripe-payout-card.is-connected {
    background: rgba(236, 245, 239, 0.95);
    border: 1px solid rgba(50, 84, 61, 0.14);
}

.settings-card-icon-toolbar {
    position: absolute;
    top: 14px;
    right: 14px;
    left: auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    z-index: 1;
}

.settings-card-icon-toolbar .events-icon-action-form {
    margin: 0;
}

.settings-membership-account-card {
    position: relative;
}

.settings-membership-account-card-head {
    width: 100%;
}

.settings-membership-account-card-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    flex-shrink: 0;
}

.settings-membership-show-all-toggle {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.settings-membership-show-all-control {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.settings-membership-show-all-toggle .settings-toggle-track {
    width: 36px;
    height: 20px;
}

.settings-membership-show-all-toggle .settings-toggle-thumb {
    width: 14px;
    height: 14px;
}

.settings-membership-show-all-toggle .settings-toggle-input:checked + .settings-toggle-track .settings-toggle-thumb {
    margin-left: auto;
    transform: none;
}

.settings-membership-account-remove-button {
    flex-shrink: 0;
}

.settings-hidden-post-form {
    display: none;
}

.facilitator-stripe-payout-card .events-icon-button,
.settings-membership-account-card .events-icon-button {
    width: 28px;
    height: 28px;
}

.facilitator-stripe-payout-card .events-icon-button svg,
.settings-membership-account-card .events-icon-button svg {
    width: 14px;
    height: 14px;
    display: block;
    fill: none;
    stroke: currentColor;
}

.facilitator-stripe-payout-card-body {
    width: 100%;
}

.facilitator-stripe-payout-card-body .settings-card-label {
    margin: 0;
}

.facilitator-stripe-payout-card-body .settings-card-title {
    margin: 8px 0 0;
    font-size: 1.85rem;
    line-height: 1.15;
}

.facilitator-stripe-payout-card-actions {
    margin-top: 12px;
}

.facilitator-stripe-payout-card-actions .settings-button {
    min-height: 36px;
    padding: 8px 14px;
    font-size: 0.9rem;
}

/* Blog admin form — core layout (settings.css loads even when blog.css is missing on deploy) */
.blog-post-form {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
}

.blog-post-form svg {
    flex-shrink: 0;
}

.blog-title-input {
    width: 100%;
    font-family: 'Newsreader', 'Georgia', serif;
    font-size: clamp(22px, 3.5vw, 30px);
    font-weight: 400;
    color: #31241d;
    border: none;
    outline: none;
    background: transparent;
    padding: 0;
    line-height: 1.3;
}

.blog-title-input::placeholder {
    color: #c5b8b0;
}

.blog-slug-preview {
    margin-top: 6px;
    font-size: 12px;
    color: #9b8e86;
    font-family: 'SFMono-Regular', 'Consolas', monospace;
}

.blog-form-section-cover .media-upload-field {
    margin-top: 4px;
}

.blog-editor-toolbar {
    display: flex;
    align-items: center;
    gap: 2px;
    flex-wrap: wrap;
    padding: 8px 10px;
    background: #faf8f6;
    border: 1px solid #e8e1da;
    border-bottom: none;
    border-radius: 8px 8px 0 0;
}

.blog-toolbar-group {
    display: flex;
    gap: 2px;
}

.blog-toolbar-sep {
    width: 1px;
    height: 20px;
    background: #e0d8d2;
    margin: 0 4px;
    align-self: center;
}

.blog-toolbar-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 30px;
    height: 30px;
    padding: 0 6px;
    background: none;
    border: none;
    border-radius: 5px;
    font-size: 13px;
    color: #6d5f57;
    cursor: pointer;
    white-space: nowrap;
}

.blog-toolbar-btn svg {
    width: 15px;
    height: 15px;
}

.blog-toolbar-ai-btn {
    font-size: 12px;
    font-weight: 500;
    color: #0f7d61;
    padding: 0 10px;
}

.blog-editor-area {
    min-height: 280px;
    border: 1px solid #e8e1da;
    border-radius: 0 0 8px 8px;
    padding: 20px 24px;
    background: #fff;
    cursor: text;
}

.blog-editor-area:empty::before {
    content: 'Start writing…';
    color: #c5b8b0;
    font-family: 'Newsreader', 'Georgia', serif;
    font-size: 16px;
    line-height: 1.75;
}

.blog-editor-prosemirror {
    outline: none;
    min-height: 220px;
    font-size: 16px;
    line-height: 1.75;
    color: #31241d;
    font-family: 'Newsreader', 'Georgia', serif;
}

.blog-form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-top: 20px;
    border-top: 1px solid #e8e1da;
    flex-wrap: wrap;
}

.blog-form-actions-left,
.blog-form-actions-right {
    display: flex;
    align-items: center;
    gap: 10px;
}

.blog-ai-modal[hidden] {
    display: none !important;
}

.blog-ai-loading[hidden],
.blog-ai-results[hidden],
.blog-ai-error-msg[hidden] {
    display: none !important;
}

.blog-ai-result-value,
.blog-ai-suggestion-value {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.blog-ai-suggestion-row {
    grid-template-columns: minmax(0, 140px) minmax(0, 1fr) auto;
    min-width: 0;
}

.events-modal-dialog.blog-create-dialog {
    width: min(820px, calc(100vw - 40px));
}

.product-price-points-toolbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
}

.product-price-points-toolbar-copy {
    flex: 1 1 auto;
    min-width: 0;
}

.product-price-points-toolbar .product-price-point-add {
    flex: 0 0 auto;
    margin-top: 0;
}

.product-price-points-list {
    display: grid;
    gap: 8px;
}

.product-price-point-row {
    border: 1px solid rgba(126, 104, 84, 0.16);
    border-radius: 14px;
    padding: 8px 10px;
    background: rgba(255, 252, 247, 0.72);
}

.product-price-point-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.7fr) minmax(0, 0.95fr) minmax(0, 1.2fr) auto;
    gap: 8px 10px;
    align-items: end;
}

.product-price-point-tags {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(126, 104, 84, 0.12);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px 10px;
    align-items: start;
}

.product-price-point-tags .events-field-label {
    margin-bottom: 6px;
}

.product-price-point-field-hashtags {
    min-width: 0;
}

.product-price-point-badge-icon-control {
    display: flex;
    align-items: center;
    gap: 10px;
}

.product-price-point-badge-icon-control .events-select-compact {
    flex: 1 1 auto;
    min-width: 0;
}

.product-price-point-badge-icon-preview {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: 2px solid #FFCC00;
    color: #FFCC00;
    background: rgba(255, 252, 247, 0.95);
    flex: 0 0 auto;
}

.product-price-point-badge-icon-preview .t28-presence-badge-icon {
    width: 16px;
    height: 16px;
    stroke: #FFCC00;
}

.product-price-point-field-badge-icon {
    margin-bottom: 0;
}

.product-price-point-upsell {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(126, 104, 84, 0.12);
    display: grid;
    grid-template-columns: minmax(140px, 0.9fr) minmax(0, 1.4fr) minmax(0, 0.75fr) minmax(0, 1.2fr);
    gap: 10px 12px;
    align-items: end;
}

.is-field-error {
    border-radius: 14px;
    padding: 12px;
    border: 1px solid rgba(176, 92, 74, 0.28);
    background: rgba(176, 92, 74, 0.06);
}

.product-price-point-upsell.is-field-error {
    border-radius: 14px;
    padding: 12px;
    margin-left: -12px;
    margin-right: -12px;
    border: 1px solid rgba(176, 92, 74, 0.28);
    background: rgba(176, 92, 74, 0.06);
}

.product-price-point-upsell-controls {
    display: contents;
}

.product-price-point-upsell:not(.is-upsell-checked) .product-price-point-upsell-controls > * {
    display: none;
}

.product-price-point-upsell .events-rsvp-upsell-toggle-field,
.product-price-point-upsell .events-rsvp-upsell-product-field,
.product-price-point-upsell .events-rsvp-upsell-title-prefix-field,
.product-price-point-upsell .events-rsvp-upsell-pitch-field {
    margin: 0;
    min-width: 0;
}

.product-price-point-upsell .product-price-point-upsell-toggle {
    min-height: 42px;
    align-items: center;
}

.product-price-point-upsell .product-price-point-upsell-toggle .events-access-option-copy {
    gap: 0;
}

.events-product-single-picker {
    display: block;
    gap: 0;
    min-width: 0;
    width: 100%;
}

.events-product-single-picker-shell {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    width: 100%;
    min-height: 42px;
    padding: 4px 10px;
    border: 1px solid rgba(126, 104, 84, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    box-sizing: border-box;
}

.events-product-single-picker-shell:focus-within {
    border-color: rgba(126, 104, 84, 0.32);
    box-shadow: 0 0 0 4px rgba(224, 210, 190, 0.32);
}

.events-product-single-picker .events-membership-picker-pills {
    display: flex;
    flex: 0 1 auto;
    flex-wrap: nowrap;
    gap: 4px;
    margin: 0;
    max-width: 62%;
    min-width: 0;
}

.events-product-single-picker .events-membership-picker-pills:empty {
    display: none;
}

.events-product-single-picker .events-membership-pill {
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.events-product-single-picker .events-membership-picker-search {
    flex: 1 1 auto;
    min-width: 72px;
    width: auto;
    min-height: 32px;
    margin: 0;
    padding: 0 4px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.events-product-single-picker .events-membership-picker-search:focus,
.events-product-single-picker .events-membership-picker-search:focus-visible {
    outline: none;
    border: 0;
    box-shadow: none;
}

.events-product-single-picker .events-membership-picker-no-results {
    margin: 6px 0 0;
}

.events-product-single-picker .events-membership-picker-menu {
    left: 0;
    right: 0;
}

@media (max-width: 1100px) {
    .product-price-point-upsell {
        grid-template-columns: 1fr 1fr;
    }

    .product-price-point-upsell .events-rsvp-upsell-toggle-field {
        grid-column: 1 / -1;
    }

    .events-access-group-header-row,
    .events-access-group-body,
    .events-access-group-body--with-upsell,
    .events-membership-row {
        grid-template-columns: 1fr;
    }

    .events-access-group-body--with-upsell > .events-online-upsell-row {
        margin-top: 14px;
    }

    .events-online-price-row,
    .events-online-upsell-row,
    .events-in-person-price-row,
    .events-in-person-price-row--compact,
    .events-in-person-donation-row,
    .events-rsvp-donation-row {
        grid-template-columns: 1fr;
    }

    .events-online-upsell-toggle-field {
        grid-column: 1 / -1;
    }
}

@media (max-width: 720px) {
    .product-price-point-upsell {
        grid-template-columns: 1fr;
    }

    .events-product-single-picker .events-membership-picker-pills {
        max-width: 55%;
    }
}

.product-price-point-field {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.product-price-point-field .events-field-label {
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    cursor: default;
}

.product-price-point-field .field-info-trigger {
    pointer-events: auto;
}

.events-input-compact,
.events-select-compact {
    min-height: 34px;
    padding: 6px 10px;
    font-size: 0.88rem;
}

.product-price-point-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    align-self: end;
    padding-bottom: 1px;
}

.product-price-point-default-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    white-space: nowrap;
}

.product-price-point-default-toggle .settings-toggle-copy {
    font-size: 0.78rem;
    font-weight: 600;
    color: rgba(74, 49, 8, 0.82);
}

.product-price-point-default-toggle .settings-toggle-track {
    flex-shrink: 0;
}

.product-price-point-remove {
    border: 0;
    background: transparent;
    color: #8a5a44;
    font-size: 0.78rem;
    cursor: pointer;
    padding: 4px 0;
    white-space: nowrap;
}

.product-price-points-section .settings-banner {
    margin-bottom: 14px;
}

.product-qr-pricing-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
}

.product-qr-pricing-row > * {
    min-width: 0;
}

.product-timed-discount-header-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
}

.product-included-memberships-group {
    width: 100%;
    grid-column: 1 / -1;
}

.product-included-memberships-group > .product-included-memberships-row,
.product-included-memberships-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
    align-items: start;
}

.product-included-memberships-row > * {
    min-width: 0;
}

.product-included-memberships-col {
    display: grid;
    gap: 8px;
    align-content: start;
}

.product-included-memberships-col .events-field-label-row .events-field-label {
    white-space: normal;
    line-height: 1.35;
}

.product-timed-discount-header-row > * {
    min-width: 0;
}

.product-timed-discount-toggle-field .events-access-option {
    margin: 0;
}

.product-timed-discount-status-field .product-timed-discount-status-display {
    align-self: start;
    padding: 10px 12px;
    border: 1px solid rgba(126, 104, 84, 0.14);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
    font-size: 0.88rem;
    line-height: 1.45;
    color: #5f564f;
}

.product-timed-discount-controls {
    display: grid;
    gap: 14px;
}

.product-timed-discount-ribbon-row {
    width: 100%;
}

.product-timed-discount-on-close-field {
    margin: 0;
    padding: 0;
    border: 0;
    min-width: 0;
}

.product-timed-discount-on-close-options {
    width: 100%;
}

.product-timed-discount-on-close-options .events-access-option {
    align-items: flex-start;
}

.product-timed-discount-ribbon-toggle {
    align-self: end;
}

.product-timed-discount-offer-row {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr) minmax(0, 0.8fr);
    gap: 14px;
    align-items: start;
}

.product-timed-discount-offer-row > * {
    min-width: 0;
}

.product-timed-discount-welcome-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
}

.product-timed-discount-welcome-controls:has([data-product-timed-discount-welcome-amount]:not([hidden])) {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 0.65fr);
}

.product-timed-discount-tier-list {
    display: grid;
    gap: 10px;
    grid-column: 2 / -1;
}

.product-timed-discount-tier-row {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.8fr);
    gap: 14px;
    align-items: end;
}

.product-timed-discount-tier-include-option {
    margin: 0;
}

.product-timed-discount-offer-row > [data-product-timed-discount-preview] {
    grid-column: 1 / -1;
    margin: 0;
}

.product-timed-discount-tier-offer {
    margin: 0;
}

.product-price-points-migration-banner {
    font-size: 0.92rem;
}

@media (max-width: 960px) {
    .product-price-points-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .product-price-points-toolbar .product-price-point-add {
        align-self: flex-end;
    }

    .product-price-point-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-price-point-field-label,
    .product-price-point-field-access,
    .product-price-point-actions {
        grid-column: 1 / -1;
    }

    .product-price-point-tags {
        grid-template-columns: 1fr;
    }
}

.coins-ticket-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.coins-subscription-ticket-card {
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    padding: 22px 20px 18px;
    background:
        linear-gradient(145deg, rgba(255, 244, 214, 0.96), rgba(247, 223, 163, 0.92)),
        linear-gradient(180deg, #fff8e8 0%, #f2d38b 100%);
    border: 1px solid rgba(164, 118, 34, 0.28);
    box-shadow: 0 18px 40px rgba(120, 86, 18, 0.12);
}

.coins-subscription-ticket-notch {
    position: absolute;
    top: 50%;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--settings-shell-bg, #f7f2ea);
    transform: translateY(-50%);
}

.coins-subscription-ticket-notch-left {
    left: -9px;
}

.coins-subscription-ticket-notch-right {
    right: -9px;
}

.coins-subscription-ticket-kicker {
    display: block;
    font-size: 0.72rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(92, 62, 12, 0.72);
}

.coins-subscription-ticket-title {
    display: block;
    margin-top: 6px;
    font-size: 1.15rem;
    color: #5c3b0b;
}

.coins-subscription-ticket-copy,
.coins-subscription-ticket-meta {
    color: rgba(74, 49, 8, 0.82);
    line-height: 1.5;
}

.coins-subscription-ticket-meta {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin: 14px 0;
    font-size: 0.84rem;
}

.coins-subscription-ticket-button {
    width: 100%;
}

.brands-name-cell {
    display: flex;
    align-items: center;
    gap: 12px;
}

.brands-type-cell {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
}

.brands-listing-logo {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    object-fit: cover;
    flex: 0 0 auto;
}

.brands-row-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.brands-inline-edit-toggle {
    position: relative;
}

.brands-inline-edit-toggle.is-open {
    border-color: rgba(60, 48, 36, 0.35);
    background: rgba(248, 243, 236, 0.96);
}

.brands-inline-edit-count {
    position: absolute;
    top: -0.35rem;
    right: -0.35rem;
    min-width: 1.1rem;
    height: 1.1rem;
    padding: 0 0.25rem;
    border-radius: 999px;
    background: #3c3024;
    color: #fff;
    font-size: 0.65rem;
    line-height: 1.1rem;
    text-align: center;
    font-weight: 600;
}

.brands-listing-summary-row.is-expanded {
    background: rgba(248, 243, 236, 0.55);
}

.brands-inline-edit-row > td {
    padding: 0;
    border-top: 0;
    background: rgba(248, 243, 236, 0.42);
}

.brands-inline-edit-row[hidden] {
    display: none;
}

.brands-inline-edit-body {
    padding: 1rem 1.1rem 1.2rem;
    border-top: 1px solid rgba(60, 48, 36, 0.1);
}

.brands-inline-edit-heading {
    margin: 0 0 0.85rem;
    font-size: 0.95rem;
    font-weight: 650;
    color: #3c3024;
}

.brands-inline-edit-body .events-admin-grid-form {
    margin-bottom: 1rem;
}

.brands-delete-form {
    margin: 0;
}

.brands-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 6px;
    font-size: 0.95rem;
    color: #3f3a35;
}

.brands-checkbox-label input {
    margin-top: 3px;
}

.brands-add-listing-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.brands-action-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.brands-action-icon svg,
.brands-shell .events-icon-button svg {
    width: 18px;
    height: 18px;
    display: block;
    fill: none;
    stroke: currentColor;
}

.brands-shell .events-icon-button.brands-icon-button-danger {
    color: #9f2f2f;
    border-color: rgba(159, 47, 47, 0.18);
    background: rgba(255, 244, 244, 0.92);
}

.brands-shell .events-icon-button.brands-icon-button-danger:hover,
.brands-shell .events-icon-button.brands-icon-button-danger:focus-visible {
    color: #7f1d1d;
    background: rgba(254, 226, 226, 0.96);
}

.users-table tr.is-highlighted {
    background: rgba(219, 199, 171, 0.18);
}

.brands-owner-selected {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0 0 0.65rem;
    padding: 0.65rem 0.8rem;
    border: 1px solid rgba(60, 48, 36, 0.16);
    border-radius: 0.55rem;
    background: rgba(248, 243, 236, 0.88);
}

.brands-owner-selected[hidden] {
    display: none;
}

.brands-owner-selected-label {
    font-size: 0.92rem;
    color: #3c3024;
}

.brands-owner-clear {
    flex-shrink: 0;
}

.brands-owner-results {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-top: 0.5rem;
    max-height: 14rem;
    overflow: auto;
}

.brands-owner-results[hidden] {
    display: none;
}

.brands-owner-result {
    display: block;
    width: 100%;
    text-align: left;
    border: 1px solid rgba(60, 48, 36, 0.14);
    border-radius: 0.45rem;
    background: #fff;
    color: #3c3024;
    padding: 0.55rem 0.7rem;
    cursor: pointer;
}

.brands-owner-result:hover,
.brands-owner-result:focus-visible {
    border-color: rgba(60, 48, 36, 0.35);
    background: rgba(248, 243, 236, 0.7);
}

.brands-owner-result-meta {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.8rem;
    color: rgba(60, 48, 36, 0.68);
}

.brands-owner-empty {
    margin: 0.35rem 0 0;
    font-size: 0.85rem;
    color: rgba(60, 48, 36, 0.68);
}

.brands-admins-selected,
.brands-owners-selected,
[data-brands-owners-selected] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0 0 0.65rem;
    min-height: 0.25rem;
}

.brands-admin-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    max-width: 100%;
    padding: 0.35rem 0.45rem 0.35rem 0.65rem;
    border: 1px solid rgba(60, 48, 36, 0.16);
    border-radius: 999px;
    background: rgba(248, 243, 236, 0.88);
    color: #3c3024;
    font-size: 0.88rem;
}

.brands-admin-chip-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.brands-admin-chip-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: rgba(60, 48, 36, 0.72);
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
}

.brands-admin-chip-remove:hover,
.brands-admin-chip-remove:focus-visible {
    background: rgba(60, 48, 36, 0.1);
    color: #3c3024;
}

.company-members-group-title {
    margin: 1.25rem 0 0.55rem;
    font-size: 0.82rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(60, 48, 36, 0.62);
}

.company-teams-stack {
    gap: 0.85rem;
}

.company-teams-sales-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.company-teams-sales-scoreboard {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(70, 56, 42, 0.1);
}

.company-teams-sales-scoreboard.is-sticky {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #fff;
    padding-top: 0.25rem;
}

.company-teams-sales-all-amount {
    margin: 0.15rem 0 0;
    font-size: clamp(1.75rem, 3vw, 2.4rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: rgba(35, 28, 22, 0.95);
    line-height: 1.1;
}

.company-teams-sales-cycle-meta {
    margin: 0.35rem 0 0;
}

.company-teams-sales-week-toggle {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.company-teams-sales-week-button {
    appearance: none;
    border: 1px solid rgba(70, 56, 42, 0.16);
    background: #fff;
    color: rgba(35, 28, 22, 0.78);
    border-radius: 999px;
    padding: 0.35rem 0.75rem;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
}

.company-teams-sales-week-button.is-active,
.company-teams-sales-week-button:hover,
.company-teams-sales-week-button:focus-visible {
    border-color: rgba(70, 56, 42, 0.42);
    background: rgba(70, 56, 42, 0.06);
    color: rgba(35, 28, 22, 0.95);
    outline: none;
}

.company-teams-sales-categories {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.company-teams-sales-category {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding: 0.75rem 0 0;
    border-top: 1px solid rgba(70, 56, 42, 0.08);
}

.company-teams-sales-category:first-child {
    border-top: 0;
    padding-top: 0;
}

.company-teams-sales-category-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
}

.company-teams-sales-category-title {
    margin: 0;
    font-size: 1.05rem;
}

.company-teams-sales-category-total {
    margin: 0;
    font-weight: 700;
    color: rgba(35, 28, 22, 0.92);
}

.company-teams-sales-product-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.company-teams-sales-product-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.35rem 0.55rem;
    border-radius: 10px;
    background: rgba(70, 56, 42, 0.03);
}

.company-teams-sales-product-title {
    margin: 0;
    font-size: 0.92rem;
    color: rgba(35, 28, 22, 0.88);
}

.company-teams-sales-product-amount {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 650;
    white-space: nowrap;
}

.company-teams-group {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.company-teams-list {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.company-teams-shell .company-teams-strip.pages-card,
.company-teams-shell .company-teams-strip.handshakes-card,
.company-teams-shell .company-teams-strip.my-handshakes-list-card {
    cursor: default;
    gap: 0;
    min-height: 48px;
    padding: 8px 12px;
    border-radius: 16px;
    background: #ffffff !important;
    background-image: none !important;
    box-shadow: 0 1px 2px rgba(70, 56, 42, 0.05);
}

.company-teams-shell .company-teams-strip .my-handshakes-list-card-row {
    min-height: 32px;
    align-items: center;
}

.company-teams-shell .company-teams-strip .my-handshakes-list-card-title {
    margin: 0;
    font-size: 1.15rem;
    line-height: 1.2;
}

.company-teams-strip-aside {
    gap: 6px;
    align-items: center;
}

.company-teams-inherit-form {
    margin: 0;
}

.company-teams-shell .company-teams-inherit-form.events-admin-visibility-pill {
    min-height: 30px;
    padding: 2px 6px;
    gap: 4px;
}

.company-teams-role-form {
    margin: 0;
}

.company-teams-role-select {
    min-width: 6.5rem;
    max-width: 8.5rem;
    min-height: 30px !important;
    height: 30px;
    padding: 0 1.6rem 0 0.55rem !important;
    font-size: 0.78rem !important;
    line-height: 1.1;
    border-radius: 999px;
}

.company-teams-role-pill {
    min-height: 30px;
    padding: 0 0.7rem;
    display: inline-flex;
    align-items: center;
    font-size: 0.78rem;
}

.company-teams-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(139, 64, 55, 0.22);
    border-radius: 999px;
    background: rgba(255, 241, 239, 0.95);
    color: #8b4037;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
}

.company-teams-icon-button:hover,
.company-teams-icon-button:focus-visible {
    outline: none;
    background: rgba(255, 232, 228, 0.98);
    transform: translateY(-1px);
}

.company-teams-remove-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.55rem;
    margin-top: 0.35rem;
}

.company-teams-shell .company-teams-remove-dialog {
    width: min(420px, calc(100vw - 40px));
    padding: 18px 18px 16px;
    gap: 10px;
    background: #ffffff !important;
    background-image: none !important;
}

.company-members-showcase-form {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    font-size: 0.8rem;
}

.company-members-search-field {
    min-width: min(100%, 16rem);
    margin: 0;
}

.company-teams-invite-role-field {
    display: block;
    max-width: 16rem;
    margin: 0;
}

.company-teams-shell .events-modal-dialog.settings-card,
.company-teams-shell .events-modal-dialog.settings-card-primary,
.company-teams-shell .events-modal-dialog.events-create-card {
    width: min(480px, calc(100vw - 40px));
    padding: 18px 18px 16px;
    gap: 10px;
    border-radius: 22px;
    background: #ffffff !important;
    background-image: none !important;
}

.company-teams-shell .events-modal-dialog .settings-card-label {
    margin: 0;
}

.company-teams-shell .events-modal-dialog .settings-card-title {
    margin: 0;
}

.company-teams-shell .events-modal-dialog .settings-card-copy {
    margin: 0 0 2px;
}

.company-teams-shell .events-modal-dialog .events-field {
    margin: 0;
}

.company-teams-shell .events-modal-dialog .events-field-label {
    margin-bottom: 0.3rem;
}

.company-teams-shell .events-modal-close {
    top: 12px;
    right: 12px;
    width: 34px;
    height: 34px;
    font-size: 1.35rem;
}

.company-teams-shell .events-modal-dialog .settings-action-copy,
.company-teams-shell .events-modal-dialog .company-members-invite-results {
    margin: 0;
}

.company-members-invite-results {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin: 0.75rem 0 0;
}

.company-members-invite-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.65rem 0.8rem;
    border: 1px solid rgba(60, 48, 36, 0.14);
    border-radius: 0.55rem;
    background: rgba(248, 243, 236, 0.55);
}

.company-members-invite-meta {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.8rem;
    color: rgba(60, 48, 36, 0.68);
}

.company-teams-pending-registration-meta {
    font-size: 0.8rem;
    color: rgba(60, 48, 36, 0.68);
    white-space: nowrap;
}

.users-directory-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    justify-content: flex-end;
}
/* Company Settings: two packed columns so cards stack without row holes */
.company-settings-split {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    width: 100%;
}

.company-settings-column {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.company-settings-column .facilitator-settings-slot,
.company-settings-column .settings-facilitator-card-slot,
.company-settings-column form.settings-facilitator-card-slot {
    width: 100%;
    margin: 0;
}

.company-settings-split > .settings-card {
    margin-top: 0;
    min-width: 0;
}

.company-settings-split > .company-ops-mirror {
    display: contents;
}

.company-settings-split > .company-ops-mirror > .settings-hero-panel {
    display: none;
}

.company-settings-split > .company-ops-mirror > .settings-card {
    margin-top: 0;
    min-width: 0;
}

.package-apps-settings-card {
    margin-top: 20px;
}

.package-apps-catalog {
    margin-top: 1rem;
}

.package-apps-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 14px;
}

.package-apps-card {
    min-width: 0;
    position: relative;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.72);
}

button.package-apps-card {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

.package-apps-card.is-clickable:hover,
.package-apps-card.is-clickable:focus-visible {
    border-color: rgba(40, 40, 40, 0.45);
    box-shadow: 0 10px 24px rgba(40, 36, 30, 0.08);
}

.package-apps-card.is-owned {
    border-color: rgba(92, 130, 92, 0.35);
}

.package-apps-card.is-selected:not(.is-owned) {
    border-color: rgba(40, 40, 40, 0.45);
    box-shadow: 0 10px 24px rgba(40, 36, 30, 0.08);
}

.package-apps-card-select {
    display: block;
    cursor: pointer;
}

.package-apps-card-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.package-apps-card-body {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 16px;
}

.package-apps-card-kicker,
.package-apps-card-state {
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #6d645c;
}

.package-apps-card-title {
    font-size: 1.05rem;
    line-height: 1.25;
}

.package-apps-card-price {
    font-size: 0.92rem;
    color: #3d3832;
}

.package-apps-card-copy {
    font-size: 0.86rem;
    line-height: 1.4;
    color: #6d645c;
}

.package-apps-card-includes-label {
    margin-top: 0.35rem;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6d645c;
}

.package-apps-card-includes {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.package-apps-chip {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(40, 36, 30, 0.06);
    font-size: 0.75rem;
}

.package-apps-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 1rem;
}

.package-apps-summary-copy {
    margin: 0;
    font-size: 0.92rem;
    color: #3d3832;
}

.package-apps-account-section .package-apps-catalog {
    margin-top: 0.75rem;
}

.company-settings-heading {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.company-settings-heading-copy {
    min-width: 0;
}

.company-settings-heading-copy .settings-card-title {
    margin: 4px 0 0;
}

.company-settings-logo {
    position: relative;
    flex: 0 0 64px;
    width: 64px;
    gap: 0;
}

.company-settings-logo .media-upload-dropzone {
    display: block;
    width: 64px;
    height: 64px;
    min-height: 0;
    padding: 0;
    border-radius: 16px;
    grid-template-columns: none;
    gap: 0;
}

.company-settings-logo .media-upload-dropzone:hover,
.company-settings-logo .media-upload-dropzone:focus-visible,
.company-settings-logo .media-upload-dropzone.is-dragover {
    transform: none;
}

.company-settings-logo .media-upload-preview {
    width: 100%;
    height: 100%;
    min-height: 0;
    border-radius: 16px;
}

.company-settings-logo .media-upload-preview-image {
    object-fit: cover;
}

.company-settings-logo .media-upload-preview-empty {
    padding: 0;
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
}

.company-settings-logo .media-upload-preview-empty svg {
    width: 22px;
    height: 22px;
    color: #6d645c;
}

.company-settings-logo .media-upload-preview-clear {
    width: 20px;
    height: 20px;
    top: 4px;
    right: 4px;
    opacity: 0;
}

.company-settings-logo .media-upload-dropzone:hover .media-upload-preview-clear,
.company-settings-logo .media-upload-dropzone:focus-within .media-upload-preview-clear {
    opacity: 1;
}

.company-settings-logo.is-readonly .media-upload-dropzone {
    cursor: default;
    pointer-events: none;
}

.company-ops-mirror {
    width: 100%;
}

.company-ops-mirror .settings-facilitator-cards-grid,
.company-ops-mirror .facilitator-settings-grid {
    margin-top: 0;
}

@media (max-width: 900px) {
    .company-settings-split {
        flex-direction: column;
    }
}

.attribution-identity-field {
    position: relative;
    z-index: 6;
    overflow: visible;
}

.attribution-identity-picker {
    position: relative;
    overflow: visible;
}

.attribution-identity-picker[data-disabled="true"] {
    pointer-events: none;
}

.attribution-identity-picker.is-open,
.attribution-identity-picker[open] {
    z-index: 80;
}

.events-admin-card:has(.attribution-identity-picker.is-open),
.events-admin-card:has(.attribution-identity-picker[open]),
.courses-list-card:has(.attribution-identity-picker.is-open),
.courses-list-card:has(.attribution-identity-picker[open]),
.handshakes-card:has(.attribution-identity-picker.is-open),
.handshakes-card:has(.attribution-identity-picker[open]),
.settings-card:has(.attribution-identity-picker.is-open),
.settings-card:has(.attribution-identity-picker[open]) {
    overflow: visible;
}

.attribution-identity-toggle,
.attribution-identity-option {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin: 0;
    padding: 10px 14px;
    border: 1px solid rgba(126, 104, 84, 0.18);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.78);
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

summary.attribution-identity-toggle {
    list-style: none;
}

summary.attribution-identity-toggle::-webkit-details-marker {
    display: none;
}

.attribution-identity-toggle[disabled] {
    cursor: default;
    opacity: 0.72;
}

.attribution-identity-caret {
    margin-left: auto;
    width: 8px;
    height: 8px;
    border-right: 2px solid #6d645c;
    border-bottom: 2px solid #6d645c;
    transform: rotate(45deg);
    translate: 0 -2px;
}

.attribution-identity-picker.is-open .attribution-identity-caret,
.attribution-identity-picker[open] .attribution-identity-caret {
    transform: rotate(-135deg);
    translate: 0 2px;
}

.attribution-identity-face {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex: 0 0 auto;
    overflow: hidden;
    border-radius: 999px;
    background: #111;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 700;
}

.attribution-identity-face-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.attribution-identity-face.is-system {
    background: #fff6ea;
    color: #1c1410;
    box-shadow: inset 0 0 0 1px rgba(70, 56, 42, 0.18);
    padding: 5px;
    box-sizing: border-box;
}

.attribution-identity-face.is-system .attribution-identity-face-image {
    object-fit: contain;
}

.attribution-identity-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.attribution-identity-copy strong {
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6d645c;
}

.attribution-identity-copy span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 1rem;
}

.attribution-identity-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    z-index: 90;
    display: none;
    gap: 8px;
    padding: 8px;
    border: 1px solid rgba(126, 104, 84, 0.16);
    border-radius: 18px;
    background: #fffaf4;
    box-shadow: 0 18px 32px rgba(70, 56, 42, 0.12);
}

.attribution-identity-picker.is-open .attribution-identity-menu,
.attribution-identity-picker[open] .attribution-identity-menu {
    display: grid;
}

.attribution-identity-menu[hidden] {
    display: none !important;
}

.company-readonly-banner-host {
    width: 100%;
    padding: 18px 18px 0;
}

.company-readonly-banner-host:empty {
    display: none;
}

body[data-company-readonly="1"] [data-events-open-create-modal],
body[data-company-readonly="1"] [data-automation-open-create-modal] {
    display: none !important;
}

body[data-company-readonly="1"] .media-card-x,
body[data-company-readonly="1"] .media-lightbox-delete {
    display: none !important;
}

.attribution-identity-option.is-selected {
    box-shadow: inset 0 0 0 1px rgba(70, 52, 110, 0.28);
}

.attribution-identity-empty {
    margin: 0;
    padding: 8px 10px;
    color: #6d645c;
    font-size: 0.92rem;
}

/* Physical product menu editor */
.physical-menu-editor {
    display: grid;
    gap: 14px;
    margin-top: 12px;
}

.physical-menu-categories {
    display: grid;
    gap: 12px;
}

.physical-menu-category-head,
.physical-menu-item {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto;
    gap: 10px;
    align-items: end;
}

.physical-menu-items {
    display: grid;
    gap: 8px;
    margin: 10px 0;
}

@media (max-width: 720px) {
    .physical-menu-category-head,
    .physical-menu-item {
        grid-template-columns: 1fr;
    }
}
