/* ==================================================
   EF-100A — Event Workspace Shell
   ================================================== */

html.eventflow-workspace-open,
body.eventflow-workspace-open {
    overflow: hidden !important;
}

.eventflow-workspace[hidden] {
    display: none !important;
}

.eventflow-workspace {
    inset: 0;
    position: fixed;
    z-index: 999999;
}

.eventflow-workspace__backdrop {
    backdrop-filter: blur(7px);
    background: rgba(15, 23, 42, .68);
    inset: 0;
    opacity: 0;
    position: absolute;
    transition: opacity .18s ease;
}

.eventflow-workspace__dialog {
    background: #ffffff;
    border-radius: 22px;
    box-shadow:
        0 32px 90px rgba(15, 23, 42, .30);
    display: flex;
    flex-direction: column;
    height: min(900px, calc(100vh - 48px));
    left: 50%;
    max-width: 1440px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    top: 50%;
    transform:
        translate(-50%, -48%) scale(.985);
    transition:
        opacity .18s ease,
        transform .18s ease;
    width: min(1440px, calc(100vw - 48px));
}

.eventflow-workspace.is-open
.eventflow-workspace__backdrop {
    opacity: 1;
}

.eventflow-workspace.is-open
.eventflow-workspace__dialog {
    opacity: 1;
    transform:
        translate(-50%, -50%) scale(1);
}

.eventflow-workspace__topbar {
    align-items: center;
    background: #ffffff;
    border-bottom: 1px solid #eaecf0;
    display: flex;
    flex: 0 0 auto;
    gap: 20px;
    justify-content: space-between;
    min-height: 76px;
    padding: 14px 20px 14px 26px;
}

.eventflow-workspace__eyebrow,
.eventflow-workspace__registration-kicker {
    color: #667085;
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .10em;
    line-height: 1.2;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.eventflow-workspace__title {
    color: #101828;
    font-size: 20px;
    font-weight: 750;
    line-height: 1.25;
    margin: 0;
}

.eventflow-workspace__close {
    align-items: center;
    background: #f2f4f7;
    border: 0;
    border-radius: 999px;
    color: #344054;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 28px;
    height: 42px;
    justify-content: center;
    line-height: 1;
    padding: 0 0 3px;
    width: 42px;
}

.eventflow-workspace__close:hover {
    background: #e4e7ec;
    color: #101828;
}

.eventflow-workspace__close:focus-visible,
.eventflow-workspace__submit:focus-visible,
.eventflow-workspace__secondary-button:focus-visible {
    outline: 3px solid #84adff;
    outline-offset: 2px;
}

.eventflow-workspace__body {
    display: grid;
    flex: 1 1 auto;
    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(390px, .75fr);
    min-height: 0;
}

.eventflow-workspace__information,
.eventflow-workspace__registration {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.eventflow-workspace__information {
    background: #f8fafc;
    padding: 0;
}

.eventflow-workspace__registration {
    background: #ffffff;
    border-left: 1px solid #eaecf0;
    padding: 32px;
}

.eventflow-workspace__information
.eventflow-event-layout {
    max-width: none !important;
}

.eventflow-workspace__information
.eventflow-public__container {
    max-width: none !important;
    padding: 0 !important;
    width: 100% !important;
}

.eventflow-workspace__information
.eventflow-event-sidebar,
.eventflow-workspace__information
.eventflow-event-facts {
    display: none !important;
}

.eventflow-workspace__information
.eventflow-event-main {
    width: 100% !important;
}

.eventflow-workspace__information
.eventflow-event-hero {
    border-radius: 0 !important;
    margin: 0 !important;
}

.eventflow-workspace__information
.eventflow-event-description,
.eventflow-workspace__information
.eventflow-event-information,
.eventflow-workspace__information
.eventflow-event-venue,
.eventflow-workspace__information
.eventflow-related-events {
    margin-left: 24px;
    margin-right: 24px;
}

.eventflow-workspace__registration-header {
    border-bottom: 1px solid #eaecf0;
    margin-bottom: 24px;
    padding-bottom: 20px;
}

.eventflow-workspace__registration-header h3,
.eventflow-workspace__registration-state h3,
.eventflow-workspace__success h3 {
    color: #101828;
    font-size: clamp(24px, 2vw, 32px);
    letter-spacing: -.025em;
    line-height: 1.1;
    margin: 0;
}

.eventflow-workspace__registration-header p,
.eventflow-workspace__registration-state p,
.eventflow-workspace__success p {
    color: #667085;
    font-size: 15px;
    line-height: 1.6;
    margin: 10px 0 0;
}

.eventflow-workspace__form {
    display: block;
}

.eventflow-workspace__form
.eventflow-public-form__grid {
    gap: 16px;
}

.eventflow-workspace__form
.eventflow-public-form__field {
    min-width: 0;
}

.eventflow-workspace__form
input:not([type="checkbox"]):not([type="radio"]),
.eventflow-workspace__form
select,
.eventflow-workspace__form
textarea {
    box-sizing: border-box;
    width: 100%;
}

.eventflow-workspace__submit,
.eventflow-workspace__secondary-button {
    align-items: center;
    border-radius: 10px;
    cursor: pointer;
    display: inline-flex;
    font-size: 16px;
    font-weight: 750;
    justify-content: center;
    min-height: 50px;
    padding: 12px 20px;
}

.eventflow-workspace__submit {
    background:
        var(
            --eventflow-primary,
            #175cd3
        );
    border: 1px solid
        var(
            --eventflow-primary,
            #175cd3
        );
    color: #ffffff;
    margin-top: 22px;
    width: 100%;
}

.eventflow-workspace__submit:hover {
    filter: brightness(.94);
}

.eventflow-workspace__submit:disabled {
    cursor: wait;
    opacity: .65;
}

.eventflow-workspace__secondary-button {
    background: #ffffff;
    border: 1px solid #d0d5dd;
    color: #344054;
    margin-top: 22px;
}

.eventflow-workspace__form-alert {
    background: #fef3f2;
    border: 1px solid #fecdca;
    border-radius: 10px;
    color: #b42318;
    font-size: 14px;
    margin-bottom: 18px;
    padding: 12px 14px;
}

.eventflow-workspace__field-error {
    color: #b42318;
    font-size: 12px;
    font-weight: 650;
    margin: 6px 0 0;
}

.eventflow-workspace__form
[aria-invalid="true"] {
    border-color: #f04438 !important;
    box-shadow:
        0 0 0 3px rgba(240, 68, 56, .10);
}

.eventflow-workspace__registration-state,
.eventflow-workspace__success {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 320px;
}

.eventflow-workspace__success-icon {
    align-items: center;
    background: #ecfdf3;
    border-radius: 999px;
    color: #027a48;
    display: inline-flex;
    font-size: 28px;
    font-weight: 800;
    height: 56px;
    justify-content: center;
    margin-bottom: 20px;
    width: 56px;
}

.eventflow-workspace__loading {
    align-items: center;
    color: #667085;
    display: flex;
    gap: 12px;
    justify-content: center;
    min-height: 240px;
    padding: 32px;
}

.eventflow-workspace__spinner {
    animation:
        eventflow-workspace-spin
        .8s linear infinite;
    border: 3px solid #e4e7ec;
    border-radius: 999px;
    border-top-color: #175cd3;
    display: inline-block;
    height: 24px;
    width: 24px;
}

.eventflow-workspace__honeypot {
    height: 1px;
    left: -9999px;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

@keyframes eventflow-workspace-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 1050px) {
    .eventflow-workspace__dialog {
        border-radius: 18px;
        height: calc(100vh - 24px);
        width: calc(100vw - 24px);
    }

    .eventflow-workspace__body {
        grid-template-columns:
            minmax(0, 1.2fr)
            minmax(340px, .8fr);
    }

    .eventflow-workspace__registration {
        padding: 26px 22px;
    }
}

@media (max-width: 760px) {
    .eventflow-workspace__dialog {
        border-radius: 0;
        height: 100vh;
        width: 100vw;
    }

    .eventflow-workspace__topbar {
        min-height: 66px;
        padding:
            calc(10px + env(safe-area-inset-top))
            14px
            10px
            18px;
    }

    .eventflow-workspace__body {
        display: block;
        overflow-y: auto;
    }

    .eventflow-workspace__information,
    .eventflow-workspace__registration {
        overflow: visible;
    }

    .eventflow-workspace__registration {
        border-left: 0;
        border-top: 1px solid #eaecf0;
        padding:
            28px
            20px
            calc(34px + env(safe-area-inset-bottom));
    }

    .eventflow-workspace__information
    .eventflow-event-description,
    .eventflow-workspace__information
    .eventflow-event-information,
    .eventflow-workspace__information
    .eventflow-event-venue,
    .eventflow-workspace__information
    .eventflow-related-events {
        margin-left: 14px;
        margin-right: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .eventflow-workspace__backdrop,
    .eventflow-workspace__dialog,
    .eventflow-workspace__spinner {
        animation: none;
        transition: none;
    }
}

/* /EF-100A */

/* ==================================================
   EF-100B — Workspace Streamlining & Visual Polish
   ================================================== */

/*
 * The Workspace owns registration on the right.
 * Remove duplicate registration/calendar actions from the
 * event-information hero so the left side stays informational.
 */
.eventflow-workspace__information
.eventflow-event-hero__actions {
    display: none !important;
}

/*
 * Keep the hero focused and compact inside the Workspace.
 */
.eventflow-workspace__information
.eventflow-event-hero__inner {
    min-height: 0 !important;
    padding:
        clamp(28px, 4vw, 52px)
        clamp(24px, 4vw, 48px) !important;
}

.eventflow-workspace__information
.eventflow-event-hero__content {
    max-width: 780px;
}

.eventflow-workspace__information
.eventflow-event-hero__title {
    font-size:
        clamp(30px, 4vw, 52px) !important;
    line-height: 1.02 !important;
    margin-bottom: 12px !important;
}

.eventflow-workspace__information
.eventflow-event-hero__subtitle {
    font-size:
        clamp(16px, 1.6vw, 20px) !important;
    line-height: 1.45 !important;
    max-width: 700px;
}

/*
 * Metadata stays easy to scan without dominating the overlay.
 */
.eventflow-workspace__information
.eventflow-event-hero__meta {
    gap: 8px !important;
    margin-top: 18px !important;
}

.eventflow-workspace__information
.eventflow-event-hero__pill {
    font-size: 13px !important;
    min-height: 34px;
    padding: 7px 11px !important;
}

.eventflow-workspace__information
.eventflow-event-hero__offerings {
    gap: 7px !important;
    margin-top: 12px !important;
}

.eventflow-workspace__information
.eventflow-event-hero__offering {
    font-size: 12px !important;
    padding: 6px 10px !important;
}

/*
 * Capacity/countdown remains useful but becomes secondary.
 */
.eventflow-workspace__information
.eventflow-event-hero__signals {
    margin-top: 18px !important;
}

/*
 * Turn the informational sections into a clean vertical reading
 * experience rather than a collection of large landing-page cards.
 */
.eventflow-workspace__information
.eventflow-event-description,
.eventflow-workspace__information
.eventflow-event-information,
.eventflow-workspace__information
.eventflow-event-venue,
.eventflow-workspace__information
.eventflow-related-events {
    border-radius: 14px !important;
    box-shadow: none !important;
    margin-bottom: 18px !important;
    margin-left: 22px !important;
    margin-right: 22px !important;
}

.eventflow-workspace__information
.eventflow-event-description {
    margin-top: 22px !important;
    padding:
        clamp(22px, 3vw, 34px) !important;
}

.eventflow-workspace__information
.eventflow-event-information,
.eventflow-workspace__information
.eventflow-event-venue {
    padding:
        clamp(22px, 3vw, 32px) !important;
}

/*
 * Venue map should feel integrated, not like a second hero.
 */
.eventflow-workspace__information
.eventflow-event-venue__map {
    border-radius: 10px !important;
    max-height: 280px;
    overflow: hidden;
}

.eventflow-workspace__information
.eventflow-event-venue__map iframe {
    min-height: 240px !important;
}

/*
 * The registration panel is the action area.
 */
.eventflow-workspace__registration {
    background: #ffffff;
    box-shadow:
        -18px 0 40px rgba(15, 23, 42, .035);
    padding:
        clamp(28px, 3vw, 42px);
}

.eventflow-workspace__registration-header {
    margin-bottom: 26px;
    padding-bottom: 22px;
}

.eventflow-workspace__registration-header h3 {
    font-size:
        clamp(26px, 2.5vw, 36px);
}

.eventflow-workspace__registration-header p {
    max-width: 440px;
}

/*
 * Keep registration fields easy to scan and comfortably sized.
 */
.eventflow-workspace__form
.eventflow-public-form__grid {
    gap: 18px !important;
}

.eventflow-workspace__form
label {
    color: #344054;
    font-weight: 650;
}

.eventflow-workspace__form
input:not([type="checkbox"]):not([type="radio"]),
.eventflow-workspace__form
select,
.eventflow-workspace__form
textarea {
    border-radius: 9px !important;
    min-height: 46px;
}

.eventflow-workspace__form
textarea {
    min-height: 108px;
}

/*
 * Make the primary registration action unmistakable.
 */
.eventflow-workspace__submit {
    box-shadow:
        0 7px 16px rgba(23, 92, 211, .18);
    min-height: 54px;
    transition:
        filter .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}

.eventflow-workspace__submit:hover {
    box-shadow:
        0 10px 22px rgba(23, 92, 211, .22);
    transform: translateY(-1px);
}

/*
 * Reduce the top chrome. The content should be the star.
 */
.eventflow-workspace__topbar {
    min-height: 68px;
    padding: 11px 16px 11px 24px;
}

.eventflow-workspace__eyebrow {
    display: none;
}

.eventflow-workspace__title {
    font-size: 18px;
    max-width: min(70vw, 760px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.eventflow-workspace__close {
    height: 38px;
    width: 38px;
}

/*
 * Desktop proportions: information gets more breathing room while
 * registration stays comfortably readable.
 */
@media (min-width: 1180px) {
    .eventflow-workspace__body {
        grid-template-columns:
            minmax(0, 1.55fr)
            minmax(410px, .72fr);
    }

    .eventflow-workspace__dialog {
        max-width: 1500px;
        width:
            min(
                1500px,
                calc(100vw - 54px)
            );
    }
}

/*
 * On tablet, preserve two columns but give the form enough width.
 */
@media (
    min-width: 761px
) and (
    max-width: 1179px
) {
    .eventflow-workspace__body {
        grid-template-columns:
            minmax(0, 1.08fr)
            minmax(360px, .92fr);
    }
}

/*
 * Mobile becomes one continuous, app-like reading flow:
 * event information followed immediately by registration.
 */
@media (max-width: 760px) {
    .eventflow-workspace__information
    .eventflow-event-hero__inner {
        padding: 28px 18px !important;
    }

    .eventflow-workspace__information
    .eventflow-event-hero__title {
        font-size:
            clamp(28px, 9vw, 38px) !important;
    }

    .eventflow-workspace__information
    .eventflow-event-description,
    .eventflow-workspace__information
    .eventflow-event-information,
    .eventflow-workspace__information
    .eventflow-event-venue,
    .eventflow-workspace__information
    .eventflow-related-events {
        border-radius: 12px !important;
        margin-left: 10px !important;
        margin-right: 10px !important;
    }

    .eventflow-workspace__registration {
        box-shadow: none;
        padding:
            30px
            18px
            calc(
                38px
                + env(safe-area-inset-bottom)
            );
    }

    .eventflow-workspace__title {
        max-width: calc(100vw - 92px);
    }
}

/*
 * Cards are now visually clickable as complete Workspace launchers.
 */
[data-eventflow-workspace-card] {
    cursor: pointer;
}

/* /EF-100B */

/* ==================================================
   EF-100C.1 — Section-Based Workspace
   ================================================== */

.eventflow-workspace__information
.eventflow-event-layout {
    display: block !important;
}

.eventflow-workspace__information
.eventflow-event-main {
    display: block !important;
    min-width: 0;
    width: 100% !important;
}

.eventflow-workspace__information
[data-eventflow-event-region="sidebar"][hidden],
.eventflow-workspace__information
[data-eventflow-event-region="after_layout"][hidden] {
    display: none !important;
}

.eventflow-workspace__section-nav {
    background:
        rgba(248, 250, 252, .96);
    border-bottom:
        1px solid #e4e7ec;
    position: sticky;
    top: 0;
    z-index: 15;
}

.eventflow-workspace__section-tabs {
    display: flex;
    gap: 4px;
    overflow-x: auto;
    overscroll-behavior-inline:
        contain;
    padding:
        10px 20px 9px;
    scrollbar-width: none;
}

.eventflow-workspace__section-tabs::-webkit-scrollbar {
    display: none;
}

.eventflow-workspace__section-tab {
    appearance: none;
    background: transparent;
    border: 0;
    border-radius: 9px;
    color: #667085;
    cursor: pointer;
    flex: 0 0 auto;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    min-height: 38px;
    padding: 10px 14px;
    transition:
        background .14s ease,
        color .14s ease,
        box-shadow .14s ease;
}

.eventflow-workspace__section-tab:hover {
    background: #ffffff;
    color: #344054;
}

.eventflow-workspace__section-tab[
    aria-selected="true"
] {
    background: #ffffff;
    box-shadow:
        0 1px 3px
        rgba(16, 24, 40, .10);
    color:
        var(
            --eventflow-primary,
            #175cd3
        );
}

.eventflow-workspace__section-tab:focus-visible {
    outline:
        3px solid #84adff;
    outline-offset: 1px;
}

.eventflow-workspace__section-panels {
    padding:
        22px
        22px
        30px;
}

.eventflow-workspace__section-panel[hidden] {
    display: none !important;
}

.eventflow-workspace__section-panel {
    animation:
        eventflow-workspace-panel-in
        .16s ease;
}

.eventflow-workspace__section-panel
.eventflow-workspace-section-source {
    margin: 0 0 18px;
}

.eventflow-workspace__section-panel
.eventflow-workspace-section-source:last-child {
    margin-bottom: 0;
}

.eventflow-workspace__section-panel
.eventflow-event-facts,
.eventflow-workspace__section-panel
.eventflow-event-description,
.eventflow-workspace__section-panel
.eventflow-event-information,
.eventflow-workspace__section-panel
.eventflow-event-venue,
.eventflow-workspace__section-panel
.eventflow-related-events {
    margin:
        0 !important;
    width: auto !important;
}

.eventflow-workspace__section-panel
.eventflow-event-facts {
    display: block !important;
}

@keyframes eventflow-workspace-panel-in {
    from {
        opacity: 0;
        transform:
            translateY(3px);
    }

    to {
        opacity: 1;
        transform:
            translateY(0);
    }
}

@media (max-width: 760px) {
    .eventflow-workspace__section-tabs {
        padding:
            9px 12px 8px;
    }

    .eventflow-workspace__section-tab {
        min-height: 36px;
        padding:
            9px 12px;
    }

    .eventflow-workspace__section-panels {
        padding:
            16px
            10px
            24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .eventflow-workspace__section-panel {
        animation: none;
    }
}

/* /EF-100C.1 */

/* ==================================================
   EF-100C.2 — Registration State Polish
   ================================================== */

.eventflow-workspace__registration-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.eventflow-workspace__status-badge,
.eventflow-workspace__capacity {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    min-height: 28px;
    padding: 7px 10px;
    text-transform: uppercase;
}

.eventflow-workspace__status-badge {
    background: #ecfdf3;
    color: #027a48;
}

.eventflow-workspace__status-badge.is-limited,
.eventflow-workspace__status-badge.is-waitlist {
    background: #fffaeb;
    color: #b54708;
}

.eventflow-workspace__capacity {
    background: #f2f4f7;
    color: #475467;
}

.eventflow-workspace__registration-state {
    align-items: flex-start;
    justify-content: center;
    min-height: 100%;
    padding-bottom: 70px;
}

.eventflow-workspace__state-icon {
    align-items: center;
    background: #f2f4f7;
    border-radius: 999px;
    color: #475467;
    display: inline-flex;
    font-size: 26px;
    font-weight: 800;
    height: 56px;
    justify-content: center;
    margin-bottom: 22px;
    width: 56px;
}

.eventflow-workspace__registration-state.is-sold-out
.eventflow-workspace__state-icon,
.eventflow-workspace__registration-state.is-closed
.eventflow-workspace__state-icon {
    background: #fef3f2;
    color: #b42318;
}

.eventflow-workspace__registration-state.is-completed
.eventflow-workspace__state-icon {
    background: #f2f4f7;
    color: #344054;
}

.eventflow-workspace__form-alert:focus {
    outline: none;
}

.eventflow-workspace__form
.eventflow-public-form__section {
    border: 0;
    margin: 0 0 24px;
    padding: 0;
}

.eventflow-workspace__form
.eventflow-public-form__section-title {
    color: #101828;
    font-size: 16px;
    font-weight: 750;
    margin-bottom: 14px;
}

.eventflow-workspace__form
.eventflow-workspace__field-error {
    align-items: flex-start;
    display: flex;
    gap: 5px;
}

.eventflow-workspace__form
.eventflow-workspace__field-error::before {
    content: "!";
    font-weight: 900;
}

.eventflow-workspace__success {
    min-height: 100%;
    padding-bottom: 70px;
}

@media (max-width: 760px) {
    .eventflow-workspace__registration-state,
    .eventflow-workspace__success {
        min-height: 280px;
        padding-bottom: 20px;
    }
}

/* /EF-100C.2 */

/* ==================================================
   EF-101B.2D — Live Workspace Designer Tokens
   ================================================== */

.eventflow-workspace__backdrop {
    backdrop-filter:
        blur(
            var(
                --eventflow-workspace-backdrop-blur,
                7px
            )
        ) !important;

    background:
        color-mix(
            in srgb,
            var(
                --eventflow-workspace-backdrop-color,
                #0f172a
            )
            calc(
                var(
                    --eventflow-workspace-backdrop-opacity,
                    .68
                )
                * 100%
            ),
            transparent
        ) !important;
}

.eventflow-workspace__dialog {
    border-radius:
        var(
            --eventflow-workspace-radius,
            22px
        ) !important;

    box-shadow:
        var(
            --eventflow-workspace-shadow,
            0 32px 90px rgba(15, 23, 42, .30)
        ) !important;

    max-width:
        var(
            --eventflow-workspace-max-width,
            1440px
        ) !important;

    width:
        min(
            var(
                --eventflow-workspace-max-width,
                1440px
            ),
            calc(100vw - 48px)
        ) !important;
}

.eventflow-workspace__body {
    grid-template-columns:
        minmax(0, 1fr)
        minmax(
            340px,
            var(
                --eventflow-workspace-registration-width,
                420px
            )
        ) !important;
}

.eventflow-workspace__information {
    background:
        var(
            --eventflow-workspace-information-background,
            #f8fafc
        ) !important;
}

.eventflow-workspace__registration {
    background:
        var(
            --eventflow-workspace-registration-background,
            #ffffff
        ) !important;

    border-left-color:
        var(
            --eventflow-workspace-divider-color,
            #eaecf0
        ) !important;
}

.eventflow-workspace__section-tab {
    border-radius:
        var(
            --eventflow-workspace-tab-radius,
            9px
        ) !important;
}

.eventflow-workspace__section-tab[
    aria-selected="true"
] {
    color:
        var(
            --eventflow-workspace-tab-active-color,
            var(
                --eventflow-primary,
                #175cd3
            )
        ) !important;
}

/*
 * Mobile remains intentionally full-screen.
 * Desktop shell tokens should not create awkward
 * card-like margins on narrow devices.
 */
@media (max-width: 760px) {
    .eventflow-workspace__dialog {
        border-radius: 0 !important;
        max-width: none !important;
        width: 100vw !important;
    }

    .eventflow-workspace__body {
        display: block !important;
    }

    .eventflow-workspace__registration {
        border-left: 0 !important;

        border-top:
            1px solid
            var(
                --eventflow-workspace-divider-color,
                #eaecf0
            ) !important;
    }
}

/* /EF-101B.2D */

/* ==================================================
   EF-101C.2B — Workspace Registration Form Tokens
   ================================================== */

.eventflow-workspace__registration {
    padding:
        var(
            --eventflow-workspace-form-panel-padding,
            32px
        ) !important;
}

.eventflow-workspace__form
.eventflow-public-form__grid {
    gap:
        var(
            --eventflow-workspace-form-field-gap,
            18px
        ) !important;
}

.eventflow-workspace__form
.eventflow-public-form__field {
    margin-bottom: 0 !important;
}

.eventflow-workspace__form
.eventflow-public-form__label {
    color:
        var(
            --eventflow-workspace-form-label-color,
            #344054
        ) !important;

    font-size:
        var(
            --eventflow-workspace-form-label-size,
            14px
        ) !important;

    font-weight:
        var(
            --eventflow-workspace-form-label-weight,
            650
        ) !important;
}

.eventflow-workspace__form
.eventflow-public-form__required {
    color:
        var(
            --eventflow-workspace-form-required-color,
            #b42318
        ) !important;
}

.eventflow-workspace__form
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.eventflow-workspace__form
select,
.eventflow-workspace__form
textarea {
    background:
        var(
            --eventflow-workspace-form-input-background,
            #ffffff
        ) !important;

    border-color:
        var(
            --eventflow-workspace-form-input-border,
            #d0d5dd
        ) !important;

    border-radius:
        var(
            --eventflow-workspace-form-input-radius,
            9px
        ) !important;

    border-width:
        var(
            --eventflow-workspace-form-input-border-width,
            1px
        ) !important;

    color:
        var(
            --eventflow-workspace-form-input-text,
            #101828
        ) !important;

    min-height:
        var(
            --eventflow-workspace-form-input-height,
            46px
        ) !important;

    padding:
        var(
            --eventflow-workspace-form-input-padding,
            10px 12px
        ) !important;
}

.eventflow-workspace__form
textarea {
    min-height:
        calc(
            var(
                --eventflow-workspace-form-input-height,
                46px
            )
            * 2.5
        ) !important;
}

.eventflow-workspace__form
input::placeholder,
.eventflow-workspace__form
textarea::placeholder {
    color:
        var(
            --eventflow-workspace-form-placeholder,
            #98a2b3
        ) !important;
}

.eventflow-workspace__form
input:not([type="checkbox"]):not([type="radio"]):focus,
.eventflow-workspace__form
select:focus,
.eventflow-workspace__form
textarea:focus {
    border-color:
        var(
            --eventflow-workspace-form-focus-color,
            #175cd3
        ) !important;

    box-shadow:
        var(
            --eventflow-workspace-form-focus-shadow,
            0 0 0 3px rgba(23, 92, 211, .12)
        ) !important;

    outline: none !important;
}

.eventflow-workspace__form
.eventflow-public-form__help,
.eventflow-workspace__form
.eventflow-public-form__constraint {
    color:
        var(
            --eventflow-workspace-form-help-color,
            #667085
        ) !important;
}

.eventflow-workspace__form
.eventflow-public-form__choice input[type="checkbox"],
.eventflow-workspace__form
.eventflow-public-form__choice input[type="radio"] {
    accent-color:
        var(
            --eventflow-workspace-form-choice-accent,
            #175cd3
        ) !important;
}

.eventflow-workspace__form
.eventflow-public-form__field--error
input:not([type="checkbox"]):not([type="radio"]),
.eventflow-workspace__form
.eventflow-public-form__field--error
select,
.eventflow-workspace__form
.eventflow-public-form__field--error
textarea {
    border-color:
        var(
            --eventflow-workspace-form-error-border,
            #fecdca
        ) !important;
}

.eventflow-workspace__form
.eventflow-public-form__error,
.eventflow-workspace__field-error {
    color:
        var(
            --eventflow-workspace-form-error-color,
            #b42318
        ) !important;
}

.eventflow-workspace__form-alert {
    background:
        var(
            --eventflow-workspace-form-error-background,
            #fef3f2
        ) !important;

    border-color:
        var(
            --eventflow-workspace-form-error-border,
            #fecdca
        ) !important;

    color:
        var(
            --eventflow-workspace-form-error-color,
            #b42318
        ) !important;
}

.eventflow-workspace__submit {
    background:
        var(
            --eventflow-workspace-form-submit-background,
            #175cd3
        ) !important;

    border-radius:
        var(
            --eventflow-workspace-form-submit-radius,
            10px
        ) !important;

    box-shadow:
        var(
            --eventflow-workspace-form-submit-shadow,
            0 7px 16px rgba(23, 92, 211, .18)
        ) !important;

    color:
        var(
            --eventflow-workspace-form-submit-text,
            #ffffff
        ) !important;

    min-height:
        var(
            --eventflow-workspace-form-submit-height,
            54px
        ) !important;
}

.eventflow-workspace__submit:hover:not(:disabled),
.eventflow-workspace__submit:focus-visible:not(:disabled) {
    background:
        var(
            --eventflow-workspace-form-submit-hover,
            #1849a9
        ) !important;
}

.eventflow-workspace__registration
.eventflow-registration-completion,
.eventflow-workspace__registration
.eventflow-workspace__success,
.eventflow-workspace__registration
[data-eventflow-registration-success] {
    background:
        var(
            --eventflow-workspace-form-success-background,
            #ecfdf3
        ) !important;

    color:
        var(
            --eventflow-workspace-form-success-color,
            #027a48
        ) !important;
}

/* /EF-101C.2B */

/* ==================================================
   EF-111-R1A — Workspace Completion Calendar Action
   ================================================== */

.eventflow-workspace__success-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin-top: 24px;
}

.eventflow-workspace__success-actions
.eventflow-workspace__secondary-button {
    margin: 0;
}

.eventflow-workspace__calendar-button {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    text-decoration: none !important;
}

.eventflow-workspace__calendar-button:hover,
.eventflow-workspace__calendar-button:focus,
.eventflow-workspace__calendar-button:active,
.eventflow-workspace__calendar-button:visited {
    text-decoration: none !important;
}

@media (max-width: 560px) {
    .eventflow-workspace__success-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .eventflow-workspace__success-actions
    .eventflow-workspace__secondary-button {
        box-sizing: border-box;
        justify-content: center;
        width: 100%;
    }
}

/* /EF-111-R1A */


/* ==========================================================
   EF-119B - CANONICAL WORKSPACE SCROLLING
   ----------------------------------------------------------
   There is one Workspace shell for every launch source.

   Desktop / tablet:
   - fixed top bar
   - one natural wheel / trackpad scroll surface
   - no nested left/right scroll traps

   Mobile:
   - same continuous vertical scroll model
   ========================================================== */

.eventflow-workspace {
    pointer-events: auto;
}

.eventflow-workspace__dialog {
    display: flex !important;
    flex-direction: column !important;

    height:
        min(
            900px,
            calc(100dvh - 32px)
        ) !important;

    max-height:
        calc(100dvh - 32px) !important;

    overflow: hidden !important;
}

.eventflow-workspace__topbar {
    flex: 0 0 auto !important;
}

.eventflow-workspace__body {
    display: grid !important;
    flex: 1 1 auto !important;

    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(390px, .75fr) !important;

    min-height: 0 !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;

    overscroll-behavior-y: auto !important;

    pointer-events: auto !important;

    scrollbar-gutter: stable;

    touch-action: pan-y;

    -webkit-overflow-scrolling: touch;
}

.eventflow-workspace__information,
.eventflow-workspace__registration {
    height: auto !important;
    min-height: min-content !important;

    overflow: visible !important;

    pointer-events: auto !important;

    scrollbar-gutter: auto;
}

.eventflow-workspace__section-nav {
    position: sticky !important;
    top: 0 !important;
    z-index: 20 !important;
}

@media (max-width: 760px) {
    .eventflow-workspace__dialog {
        height: 100dvh !important;
        max-height: 100dvh !important;
        width: 100vw !important;
    }

    .eventflow-workspace__body {
        display: block !important;

        grid-template-columns: none !important;

        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    .eventflow-workspace__information,
    .eventflow-workspace__registration {
        overflow: visible !important;
    }
}

/* /EF-119B */



/* ==========================================================
   EF-119C - CANONICAL WORKSPACE DIALOG SCROLL
   ----------------------------------------------------------
   Correction to EF-119B.

   The dialog itself is the single vertical scroll container.
   This avoids grid/flex sizing preventing the inner body from
   establishing a usable overflow area.

   Applies identically to:
   - Event Tile popup
   - Event Detail Register popup
   ========================================================== */


/* ----------------------------------------------------------
   DIALOG = THE SCROLL CONTAINER
   ---------------------------------------------------------- */

.eventflow-workspace__dialog {
    display: flex !important;
    flex-direction: column !important;

    height:
        min(
            900px,
            calc(100dvh - 32px)
        ) !important;

    max-height:
        calc(100dvh - 32px) !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;

    overscroll-behavior-y: contain !important;

    scrollbar-gutter: stable;

    touch-action: pan-y;

    -webkit-overflow-scrolling: touch;
}


/* ----------------------------------------------------------
   STICKY TOP BAR
   ---------------------------------------------------------- */

.eventflow-workspace__topbar {
    flex: 0 0 auto !important;

    position: sticky !important;
    top: 0 !important;

    z-index: 100 !important;
}


/* ----------------------------------------------------------
   BODY EXPANDS NATURALLY INSIDE THE DIALOG
   ---------------------------------------------------------- */

.eventflow-workspace__body {
    display: grid !important;

    flex: 0 0 auto !important;

    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(390px, .75fr) !important;

    min-height: auto !important;

    overflow: visible !important;

    pointer-events: auto !important;

    touch-action: auto !important;
}


/* ----------------------------------------------------------
   CHILD PANES ARE NOT SCROLL CONTAINERS
   ---------------------------------------------------------- */

.eventflow-workspace__information,
.eventflow-workspace__registration {
    height: auto !important;

    min-height: 0 !important;

    overflow: visible !important;

    overscroll-behavior: auto !important;

    pointer-events: auto !important;

    scrollbar-gutter: auto !important;

    touch-action: auto !important;
}


/* ----------------------------------------------------------
   SECTION NAV REMAINS VISIBLE UNDER TOP BAR
   ---------------------------------------------------------- */

.eventflow-workspace__section-nav {
    position: sticky !important;

    top:
        var(
            --eventflow-workspace-sticky-offset,
            76px
        ) !important;

    z-index: 90 !important;
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 760px) {
    .eventflow-workspace__dialog {
        height: 100dvh !important;
        max-height: 100dvh !important;

        overflow-x: hidden !important;
        overflow-y: auto !important;

        width: 100vw !important;
    }


    .eventflow-workspace__body {
        display: block !important;

        grid-template-columns: none !important;
    }


    .eventflow-workspace__section-nav {
        top:
            var(
                --eventflow-workspace-sticky-offset-mobile,
                66px
            ) !important;
    }
}


/* /EF-119C */


/* ==========================================================
   EF-119C - CANONICAL WORKSPACE DIALOG SCROLL
   ----------------------------------------------------------
   Correction to EF-119B.

   The dialog itself is the single vertical scroll container.
   This avoids grid/flex sizing preventing the inner body from
   establishing a usable overflow area.

   Applies identically to:
   - Event Tile popup
   - Event Detail Register popup
   ========================================================== */


/* ----------------------------------------------------------
   DIALOG = THE SCROLL CONTAINER
   ---------------------------------------------------------- */

.eventflow-workspace__dialog {
    display: flex !important;
    flex-direction: column !important;

    height:
        min(
            900px,
            calc(100dvh - 32px)
        ) !important;

    max-height:
        calc(100dvh - 32px) !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;

    overscroll-behavior-y: contain !important;

    scrollbar-gutter: stable;

    touch-action: pan-y;

    -webkit-overflow-scrolling: touch;
}


/* ----------------------------------------------------------
   STICKY TOP BAR
   ---------------------------------------------------------- */

.eventflow-workspace__topbar {
    flex: 0 0 auto !important;

    position: sticky !important;
    top: 0 !important;

    z-index: 100 !important;
}


/* ----------------------------------------------------------
   BODY EXPANDS NATURALLY INSIDE THE DIALOG
   ---------------------------------------------------------- */

.eventflow-workspace__body {
    display: grid !important;

    flex: 0 0 auto !important;

    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(390px, .75fr) !important;

    min-height: auto !important;

    overflow: visible !important;

    pointer-events: auto !important;

    touch-action: auto !important;
}


/* ----------------------------------------------------------
   CHILD PANES ARE NOT SCROLL CONTAINERS
   ---------------------------------------------------------- */

.eventflow-workspace__information,
.eventflow-workspace__registration {
    height: auto !important;

    min-height: 0 !important;

    overflow: visible !important;

    overscroll-behavior: auto !important;

    pointer-events: auto !important;

    scrollbar-gutter: auto !important;

    touch-action: auto !important;
}


/* ----------------------------------------------------------
   SECTION NAV REMAINS VISIBLE UNDER TOP BAR
   ---------------------------------------------------------- */

.eventflow-workspace__section-nav {
    position: sticky !important;

    top:
        var(
            --eventflow-workspace-sticky-offset,
            76px
        ) !important;

    z-index: 90 !important;
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 760px) {
    .eventflow-workspace__dialog {
        height: 100dvh !important;
        max-height: 100dvh !important;

        overflow-x: hidden !important;
        overflow-y: auto !important;

        width: 100vw !important;
    }


    .eventflow-workspace__body {
        display: block !important;

        grid-template-columns: none !important;
    }


    .eventflow-workspace__section-nav {
        top:
            var(
                --eventflow-workspace-sticky-offset-mobile,
                66px
            ) !important;
    }
}


/* /EF-119C */


/* ==========================================================
   EF-119E - MODAL PAGE SCROLL LOCK
   ----------------------------------------------------------
   Defensive CSS companion to the JavaScript page freeze.
   The Workspace dialog remains the active scroll surface.
   ========================================================== */

html.eventflow-workspace-open,
body.eventflow-workspace-open {
    overscroll-behavior: none !important;
}

.eventflow-workspace {
    overscroll-behavior: contain !important;
}

.eventflow-workspace__dialog {
    overscroll-behavior-y: contain !important;
}

/* /EF-119E */
