.manager-flow-shell {
    width: min(100% - 32px, 850px);
    margin: 0 auto 48px;
}

.manager-choice-panel {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(63, 48, 145, 0.1);
    border-radius: 24px;
    padding: 32px 28px;
    margin-bottom: 28px;
    box-shadow: 0 20px 40px rgba(63, 48, 145, 0.03);
}

.manager-flow-kicker {
    color: #FF338A;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 1px;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.manager-choice-panel h2 {
    color: #151126;
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 24px;
}

.manager-choice-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.manager-choice-card {
    align-items: flex-start;
    background: #ffffff;
    border: 1px solid #e9e6ee;
    border-radius: 18px;
    color: #151126;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    font-family: inherit;
    gap: 8px;
    min-height: 120px;
    padding: 20px 24px;
    text-align: left;
    text-decoration: none;
    transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
}

.manager-choice-card:hover,
.manager-choice-card:focus-visible {
    border-color: #FF338A;
    box-shadow: 0 10px 24px rgba(255, 51, 138, 0.12);
    transform: translateY(-3px);
    outline: none;
}

.manager-choice-card:active {
    transform: translateY(-1px) scale(0.98);
}

.manager-choice-card strong {
    font-size: 1.15rem;
    font-weight: 800;
    transition: color 300ms ease;
}

.manager-choice-card span {
    color: #6B7280;
    font-size: 0.85rem;
    line-height: 1.5;
    transition: color 300ms ease;
}

.manager-choice-card.is-active {
    background: linear-gradient(135deg, #3F3091 0%, #FF338A 100%);
    border-color: transparent;
    color: #ffffff;
    box-shadow: 0 12px 30px rgba(63, 48, 145, 0.25);
    transform: translateY(-3px);
}

.manager-choice-card.is-active strong {
    color: #ffffff;
}

.manager-choice-card.is-active span {
    color: rgba(255, 255, 255, 0.85);
}

.morganizer-form-theme .manager-choice-card {
    border-radius: 18px;
    border-color: #e9e6ee;
    box-shadow: none;
}

.morganizer-form-theme .manager-choice-card:hover,
.morganizer-form-theme .manager-choice-card:focus-visible {
    border-color: #FF338A;
    box-shadow: 0 10px 24px rgba(255, 51, 138, 0.12);
}

.morganizer-form-theme .manager-choice-card.is-active {
    background: linear-gradient(135deg, #3F3091 0%, #FF338A 100%);
    border-color: transparent;
    box-shadow: 0 12px 30px rgba(63, 48, 145, 0.25);
}

.manager-single-panel,
.manager-registration-form {
    scroll-margin-top: 24px;
}

.manager-single-panel {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(63, 48, 145, 0.12);
    border-radius: var(--morganizer-radius-card, 14px);
    margin-bottom: 24px;
    overflow: hidden;
}

.manager-single-frame {
    border: 0;
    display: block;
    height: 1px;
    overflow: hidden;
    width: 100%;
}

.manager-participants {
    display: grid;
    gap: 18px;
}

.manager-participant-card {
    border: 1px solid rgba(63, 48, 145, 0.14);
    border-radius: var(--morganizer-radius-card, 14px);
    overflow: hidden;
    padding: 0;
    transition: border-color 180ms ease, background-color 180ms ease;
}

.morganizer-form-theme .manager-participant-card {
    border-color: #e9e6ee;
    border-radius: var(--morganizer-radius-card, 14px);
    background: var(--color-form-surface, #fffdf7);
}

.morganizer-form-theme .manager-participant-card.is-open {
    background: var(--color-form-surface, #fffdf7);
    border-color: #3f3091;
}

.manager-participant-header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    padding: 14px 16px;
}

.manager-participant-card.is-open .manager-participant-header {
    border-bottom: 1px solid rgba(63, 48, 145, 0.18);
}

.manager-participant-card [data-participant-body] {
    background: var(--color-form-surface, #fffdf7);
    padding: 2px 0 18px;
}

.manager-participant-header h3 {
    color: #151126;
    font-size: 1rem;
    font-weight: 700;
    margin: 0;
}

.manager-add-button,
.manager-remove-button {
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    font-family: inherit;
    font-weight: 800;
    min-height: 44px;
}

.morganizer-form-theme .manager-add-button,
.morganizer-form-theme .manager-remove-button {
    border-radius: var(--morganizer-radius-control, 8px);
}

.manager-add-button {
    background: #15803d;
    color: #ffffff;
    margin: 18px auto 26px;
    padding: 12px 28px;
    display: block;
    text-align: center;
}

.morganizer-form-theme .manager-add-button {
    background: #15803d;
}

.manager-remove-button {
    background: rgba(21, 17, 38, 0.08);
    color: #151126;
    padding: 8px 12px;
}

.manager-remove-button[data-remove-participant] {
    background: #b91c1c;
    color: #ffffff;
}

.manager-remove-button[data-remove-class],
.manager-participant-card .remove-file-button {
    background: #fee2e2;
    color: #991b1b;
}

.manager-upload-section input[type="file"],
.manager-participant-card input[type="file"] {
    background: var(--color-field-surface, #fffefa);
    border: 1px solid rgba(21, 17, 38, 0.18);
    border-radius: var(--morganizer-radius-control, 8px);
    color: #151126;
    padding: 12px;
    width: 100%;
}

.manager-participant-card .visually-hidden-file,
.manager-upload-section .visually-hidden-file {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.manager-payment-summary {
    border: 0;
    margin: 8px 0 24px;
}

.manager-registration-form {
    padding-bottom: 96px;
}

.manager-payment-sticky {
    align-items: center;
    background: #3f3091;
    border-radius: var(--morganizer-radius-card, 14px);
    bottom: 16px;
    box-shadow: 0 12px 28px rgba(63, 48, 145, 0.22);
    color: #fff;
    display: grid;
    gap: 4px 12px;
    grid-template-columns: 1fr auto;
    margin: 0 0 20px;
    padding: 14px 16px;
    position: sticky;
    text-decoration: none;
    z-index: 10;
}

.manager-payment-sticky-total {
    font-size: 1.1rem;
    font-weight: 800;
    text-align: right;
}

.manager-payment-sticky-action {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.78rem;
    grid-column: 1 / -1;
}

.manager-payment-sticky:focus-visible {
    outline: 3px solid #ff339a;
    outline-offset: 3px;
}

@media (min-width: 960px) {
    .manager-payment-sticky {
        margin-left: auto;
        max-width: 360px;
    }
}

.manager-payment-summary h3 {
    margin: 0 0 16px;
}

.manager-payment-row,
.manager-bank-account {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.manager-bank-account {
    flex-wrap: wrap;
    margin-top: 16px;
}

.manager-payment-summary p {
    color: #4f4a5f;
    margin: 16px 0 0;
}

.manager-capacity {
    color: #4f4a5f;
    margin: 0 0 20px;
}

[data-participant-body][hidden],
[data-vehicle-panel][hidden] {
    display: none;
}

.manager-participant-accordion {
    align-items: flex-start;
    background: transparent;
    border: 0;
    color: #151126;
    cursor: pointer;
    display: flex;
    flex: 1;
    flex-direction: column;
    font: inherit;
    gap: 3px;
    min-height: 44px;
    padding: 4px 40px 4px 0;
    position: relative;
    text-align: left;
}

.manager-participant-title {
    color: #3f3091;
    font-size: 0.78rem;
    font-weight: 700;
}

.manager-participant-name {
    font-size: 1rem;
    font-weight: 700;
}

.manager-participant-accordion small {
    color: #4f4a5f;
    font-size: 0.78rem;
    font-weight: 500;
}

.manager-participant-status {
    border-radius: var(--morganizer-radius-pill, 999px);
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 800;
    margin-top: 3px;
    padding: 4px 8px;
}

.manager-participant-status.is-complete {
    background: #dcfce7;
    color: #166534;
}

.manager-participant-status.is-incomplete {
    background: #ffedd5;
    color: #9a3412;
}

.manager-participant-chevron {
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    height: 10px;
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-70%) rotate(45deg);
    transition: transform 180ms ease;
    width: 10px;
}

.manager-participant-accordion[aria-expanded="true"] .manager-participant-chevron {
    transform: translateY(-30%) rotate(225deg);
}

.manager-participant-accordion:focus-visible,
.manager-vehicle-tabs button:focus-visible {
    outline: 3px solid rgba(63, 48, 145, 0.24);
    outline-offset: 2px;
}

.manager-class-list {
    display: grid;
    gap: 18px;
    margin-top: 18px;
    padding-inline: 32px;
}

.manager-class-entry {
    border-top: 1px solid #e9e6ee;
    padding-top: 18px;
}

.manager-class-header {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) minmax(140px, 180px) auto;
}

.manager-class-header label {
    color: #151126;
    display: grid;
    font-size: 0.85rem;
    font-weight: 600;
    gap: 7px;
}

.manager-class-header select {
    appearance: none;
    background-color: var(--color-field-surface, #fffefa);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%233f3091' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-position: right 16px center;
    background-repeat: no-repeat;
    border: 1.5px solid rgba(63, 48, 145, 0.16);
    border-radius: var(--morganizer-radius-control, 8px);
    color: #171528;
    font: inherit;
    font-size: 0.95rem;
    min-height: 48px;
    padding: 12px 42px 12px 16px;
    width: 100%;
}

.manager-class-header select:hover {
    border-color: rgba(63, 48, 145, 0.45);
}

.manager-class-header select:focus {
    background-color: var(--color-field-surface, #fffefa);
    border-color: #3f3091;
    box-shadow: 0 0 0 4px rgba(63, 48, 145, 0.1);
    outline: 0;
}

.manager-class-header select:disabled {
    background-color: #f2f0f6;
    color: #6d6878;
    cursor: not-allowed;
}

.manager-ticket-toolbar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin: 8px 0 10px;
}

.manager-ticket-toolbar small {
    color: #4f4a5f;
    flex-basis: 100%;
    font-size: 0.76rem;
}

.manager-vehicle-tabs button {
    min-height: 44px;
}

.manager-vehicle-tabs {
    display: flex;
    gap: 6px;
    margin-bottom: 14px;
    overflow-x: auto;
}

.manager-vehicle-tabs button {
    background: #f2f0f6;
    border: 1px solid transparent;
    border-radius: var(--morganizer-radius-control, 8px);
    color: #4f4a5f;
    cursor: pointer;
    flex: 0 0 auto;
    font: inherit;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 8px 12px;
}

.manager-vehicle-tabs button[aria-selected="true"] {
    background: var(--color-field-surface, #fffefa);
    border-color: #3f3091;
    color: #3f3091;
}

.manager-add-class {
    background: #3f3091;
    margin-bottom: 4px;
    display: block;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.morganizer-form-theme .manager-add-class {
    background: #3f3091;
}

.manager-participant-card .photo-preview:not([hidden]) {
    display: block;
}

.manager-upload-section {
    padding-top: 0;
}

.manager-upload-section .upload-area {
    width: 100%;
}

.file-error {
    color: #b91c1c;
    font-size: 0.82rem;
    font-weight: 700;
    margin-top: 8px;
}

[aria-invalid="true"].file-action-button,
[data-manager-upload-area][aria-invalid="true"] {
    box-shadow: 0 0 0 3px rgba(185, 28, 28, 0.2);
    outline: 2px solid #b91c1c;
    outline-offset: 2px;
}

.manager-review-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
}

.manager-review-summary span {
    background: #f7f6f9;
    border-radius: var(--morganizer-radius-control, 8px);
    color: #151126;
    padding: 10px 14px;
}

.manager-step-actions {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-top: 24px;
    padding: 0 32px;
}

.manager-step-actions .submit-btn {
    margin: 0;
    width: 100%;
}

.manager-registration-form button:disabled {
    cursor: not-allowed;
    opacity: 0.48;
}

@media (max-width: 640px) {
    .manager-flow-shell {
        width: min(100% - 20px, 850px);
    }

    .manager-participant-card,
    .manager-class-entry,
    .manager-participant-card .form-input-container {
        min-width: 0;
    }

    .manager-choice-panel {
        padding: 16px;
    }

    .manager-participant-header {
        align-items: flex-start;
        flex-direction: row;
    }

    .manager-participant-card .form-row {
        display: block;
        padding: 16px 20px;
        width: 100%;
    }

    .manager-participant-card .form-label {
        flex: 0 0 100%;
        margin-bottom: 8px;
        padding-right: 0;
        width: 100%;
    }

    .manager-participant-card .form-input-container {
        flex: 0 0 100%;
        max-width: 100%;
        width: 100%;
    }

    .manager-participant-card .form-input-container input:not(.visually-hidden-file),
    .manager-participant-card .form-input-container select,
    .manager-participant-card .file-action-button {
        max-width: 100%;
        width: 100%;
    }

    .manager-class-list {
        padding-inline: 20px;
    }

    .manager-vehicle-panel .form-row {
        padding-inline: 0;
    }

    .manager-class-header {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .manager-step-actions {
        background: rgba(255, 255, 255, 0.96);
        bottom: 0;
        margin-inline: -16px;
        padding: 12px 16px;
        position: sticky;
        z-index: 2;
    }

    .manager-step-actions .submit-btn {
        flex: 1;
    }

    .manager-step-actions .submit-btn {
        width: 100%;
    }
}
