/* Standalone AI Efficiency Advisor app shell (aiea.consuit.ch) */

.aiea-app {
    margin: 0;
    min-height: 100vh;
    background:
        radial-gradient(1200px 600px at 10% -10%, rgba(29, 79, 145, 0.12), transparent 60%),
        linear-gradient(180deg, #f5f8fc 0%, #eef3f8 45%, #f7fafc 100%);
    color: #0f2a44;
}

.aiea-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1.25rem;
    background: rgba(255, 255, 255, 0.92);
    border-bottom: 1px solid #d7e2ee;
    position: sticky;
    top: 0;
    z-index: 50;
    backdrop-filter: blur(8px);
}

.aiea-topbar__brand {
    font-weight: 700;
    font-size: 1.05rem;
    color: #0f2a44;
    text-decoration: none;
}

.aiea-topbar__website {
    font-size: 0.9rem;
    color: #1d4f91;
    text-decoration: none;
}

.aiea-main {
    padding: 1rem 0 3rem;
}

.aiea-account-deleted-notice {
    max-width: 1120px;
    margin: 0 auto 1.25rem;
    padding: 1rem 1.25rem;
    border-radius: 8px;
    background: #e8f5e9;
    border: 1px solid #a5d6a7;
    color: #1b5e20;
}

.aiea-account-deleted-notice p {
    margin: 0.35rem 0;
}

.aiea-account-deleted-notice--fixed {
    position: fixed;
    top: 1rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10050;
    width: min(560px, calc(100vw - 2rem));
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

.aiea-container {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 1rem;
}

/* ---- Live app mode: Advisor UI is the root (no marketing intermediate) ---- */
html.aiea-scroll-ok,
html.aiea-scroll-ok body.aiea-app--live {
    height: 100%;
    max-height: 100dvh;
}

body.aiea-app--live {
    /* Document itself does not scroll; the Advisor panel body scrolls */
    overflow: hidden;
    background: #0a192f;
    /* Never use position:fixed body lock in live app — it breaks mobile swipe scroll */
    position: static !important;
    top: auto !important;
    width: 100% !important;
}

body.aiea-app--live .aiea-topbar {
    display: none;
}

/* Boot / auth resolve: never flash public tier marketing before customer routing */
body.aiea-app--live.aiea-app--auth-pending .advisor-fab .aiea-marketing-rail,
body.aiea-app--live .advisor-fab.advisor-fab--boot .aiea-marketing-rail {
    display: none !important;
}

body.aiea-app--live.aiea-app--auth-pending .advisor-fab__panel-body {
    visibility: hidden;
}

body.aiea-app--live.aiea-app--auth-pending .advisor-fab__panel-body .aiea-onboard,
body.aiea-app--live.aiea-app--auth-pending .advisor-fab__panel-body .aiea-analysis-dash,
body.aiea-app--live.aiea-app--auth-pending .advisor-fab__panel-body .aiea-customer-hub {
    visibility: visible;
}

body.aiea-app--live.aiea-app--auth-pending:has(.aiea-onboard) .advisor-fab__panel-body,
body.aiea-app--live.aiea-app--auth-pending:has(.aiea-analysis-dash) .advisor-fab__panel-body,
body.aiea-app--live.aiea-app--auth-pending:has(.aiea-customer-hub) .advisor-fab__panel-body {
    visibility: visible;
}

body.aiea-app--live.aiea-app--auth-pending:has(#advisorFabChat:not([hidden])) .advisor-fab__panel-body,
body.aiea-app--live.aiea-app--auth-pending:has(.aiea-advisor-fallback:not([hidden])) .advisor-fab__panel-body,
body.aiea-app--live.aiea-app--auth-pending .advisor-fab__panel-body .aiea-advisor-fallback:not([hidden]),
body.aiea-app--live.aiea-app--auth-pending .advisor-fab__panel-body #advisorFabChat:not([hidden]) {
    visibility: visible;
}

.aiea-advisor-fallback {
    padding: 1.25rem 1rem 2rem;
    max-width: 36rem;
    margin: 0 auto;
    color: #0f2a44;
}

.aiea-advisor-fallback__card {
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    padding: 1.25rem 1.35rem;
    box-shadow: 0 6px 24px rgba(15, 42, 68, 0.08);
}

.aiea-advisor-fallback__title {
    margin: 0 0 0.65rem;
    font-size: 1.15rem;
}

.aiea-advisor-fallback__body {
    margin: 0 0 0.75rem;
    line-height: 1.45;
}

.aiea-advisor-fallback__cid {
    margin: 0 0 1rem;
    font-size: 0.82rem;
    color: #64748b;
}

.aiea-advisor-fallback__actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.aiea-advisor-fallback__btn {
    border: 2px solid #2563eb;
    border-radius: 8px;
    padding: 0.55rem 0.85rem;
    font-weight: 700;
    cursor: pointer;
    background: #fff;
    color: #0f2a44;
}

.aiea-advisor-fallback__btn--primary {
    background: #2563eb;
    color: #fff;
}

.aiea-advisor-fallback__link {
    display: block;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
}

body.aiea-app--live .aiea-main,
body.aiea-app--live .aiea-main[hidden] {
    display: none !important;
}

/*
 * Workspace deep links (#workspace/…) must be visible on the live shell.
 * Marketing chrome stays hidden; FAB pricing is covered by the workspace.
 */
html.aiea-scroll-ok body.aiea-app--live.aiea-app--workspace {
    height: auto;
    max-height: none;
}

body.aiea-app--live.aiea-app--workspace {
    overflow: auto;
    background:
        radial-gradient(1200px 600px at 10% -10%, rgba(29, 79, 145, 0.12), transparent 60%),
        linear-gradient(180deg, #f5f8fc 0%, #eef3f8 45%, #f7fafc 100%);
    color: #0f2a44;
}

body.aiea-app--live.aiea-app--workspace .aiea-topbar {
    display: flex;
}

body.aiea-app--live.aiea-app--workspace .aiea-main,
body.aiea-app--live.aiea-app--workspace .aiea-main[hidden] {
    display: block !important;
}

body.aiea-app--live.aiea-app--workspace .aiea-container > *:not(#advisor-workspace) {
    display: none !important;
}

body.aiea-app--live.aiea-app--workspace #advisor-workspace {
    display: block !important;
    margin: 0;
    min-height: calc(100dvh - 5rem);
}

body.aiea-app--live.aiea-app--workspace .advisor-fab {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

body.aiea-app--live .advisor-fab {
    position: fixed;
    inset: 0;
    right: 0;
    bottom: 0;
    z-index: 2000;
    width: 100%;
    height: 100%;
    height: 100dvh;
    max-height: 100dvh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    touch-action: pan-y;
}

/* Launcher chip not needed — app is already open */
body.aiea-app--live .advisor-fab__btn {
    display: none !important;
}

body.aiea-app--live .advisor-fab.is-open .advisor-fab__panel,
body.aiea-app--live .advisor-fab__panel,
body.aiea-app--live .advisor-fab__panel[hidden] {
    display: flex !important;
    flex-direction: column !important;
    position: absolute !important;
    inset: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    border-radius: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    visibility: visible !important;
    overflow: hidden !important;
    touch-action: pan-y;
}

/* Primary scroll: panel-body (tier landing, hub, etc.). Wizard scrolls only in legacy chat/onboarding paths. */
body.aiea-app--live .advisor-fab__panel-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
    outline: none;
}

body.aiea-app--live .advisor-fab:not(.advisor-fab--registration-form):not(.advisor-fab--tiers):not(:has(#advisorFabWizard .aiea-onboard)) #advisorFabWizard {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
    outline: none;
}

/* Chat mode: transcript scrolls inside webchat-root — never the whole chat host */
body.aiea-app--live .advisor-fab--chat #advisorFabChat,
body.aiea-app--live .advisor-fab--chat .advisor-webchat-host {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
}

body.aiea-app--live .advisor-fab--chat .advisor-webchat-root {
    flex: 1 1 auto !important;
    min-height: clamp(160px, 38vh, 420px) !important;
    overflow: hidden !important;
}

body.aiea-app--live .advisor-fab--chat .advisor-webchat-host {
    min-height: 100dvh;
    min-height: 100vh;
}

body.aiea-app--live .advisor-fab--chat .advisor-webchat-host .webchat__basic-transcript {
    padding-bottom: calc(var(--aiea-composer-height, 72px) + env(safe-area-inset-bottom, 0px) + 16px) !important;
}

body.aiea-app--live .advisor-fab--chat .advisor-fab__panel-body {
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
}

body.aiea-app--live .advisor-fab--chat #advisorFabChat:not([hidden]) {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

body.aiea-app--live .advisor-fab--chat .advisor-webchat-host .webchat__basic-webchat {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
}

.advisor-webchat-host .aiea-active-question {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    order: 1;
}

.advisor-webchat-host .aiea-choice-question {
    flex: 0 0 auto;
    width: 100%;
    box-sizing: border-box;
    padding: 0.5rem 0.65rem calc(0.65rem + env(safe-area-inset-bottom, 0px));
    background: #fff;
}

.advisor-webchat-host .aiea-choice-question__prompt {
    margin: 0 0 0.65rem;
    white-space: pre-wrap;
    line-height: 1.45;
    font-size: 0.92rem;
    color: #0f2a44;
    font-weight: 600;
}

.advisor-webchat-host .advisor-choice-bar__prompt {
    margin: 0 0 0.65rem;
    padding: 0 0.15rem;
    white-space: pre-wrap;
    line-height: 1.45;
    font-size: 0.92rem;
    color: #0f2a44;
    font-weight: 600;
}

.consuit-active-scroll-highlight {
    outline: 2px solid rgba(14, 116, 144, 0.45);
    outline-offset: 3px;
    border-radius: 6px;
    transition: outline-color 0.35s ease, background-color 0.35s ease;
    background-color: rgba(14, 116, 144, 0.06);
}

@media (prefers-reduced-motion: reduce) {
    .consuit-active-scroll-highlight {
        transition: none;
    }
}

.advisor-webchat-host .aiea-choice-question__error {
    color: #b91c1c;
    font-weight: 600;
    margin: 0 0 0.5rem;
}

body.aiea-app--live .advisor-fab--chat .advisor-choice-shell--language-gate {
    max-height: none !important;
    overflow: visible !important;
}

.advisor-choice-shell--in-composer {
    flex-shrink: 0 !important;
    border-top: 1px solid #e2e8f0;
    background: #fff;
}

body.aiea-app--live .advisor-fab--chat .advisor-choice-shell .aiea-bar-handle {
    display: none !important;
}

.advisor-webchat-host .webchat__basic-transcript {
    order: 0;
    flex: 1 1 auto !important;
    min-height: 0 !important;
}

.advisor-webchat-host .webchat__send-box {
    order: 2;
    flex-shrink: 0 !important;
}

.advisor-choice-shell--language-gate .aiea-bar-handle {
    display: none !important;
}

.advisor-choice-shell--language-gate .advisor-choice-bar--language-gate .advisor-choice-bar__row {
    flex-direction: column !important;
    align-items: stretch !important;
}

.advisor-choice-shell--language-gate .advisor-choice-bar--language-gate .advisor-choice-bar__btn--radio {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-height: 48px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
}

body.aiea-app--live .advisor-fab--chat .advisor-choice-shell--language-gate .advisor-choice-bar--language-gate {
    max-height: none !important;
    overflow: visible !important;
}

body.aiea-app--live .advisor-fab--chat .advisor-choice-bar {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    align-content: flex-start !important;
    gap: 0.75rem !important;
    max-height: none !important;
    padding: 0.5rem 0.65rem 0.65rem !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
}

body.aiea-app--live .advisor-fab--chat .advisor-choice-bar--language-gate {
    flex-direction: column !important;
    align-items: stretch !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    padding: 0.45rem 0.55rem 0.55rem !important;
    gap: 0.45rem !important;
}

body.aiea-app--live .advisor-fab--chat .advisor-choice-bar--language-gate .advisor-choice-bar__row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.4rem !important;
    width: 100% !important;
}

body.aiea-app--live .advisor-fab--chat .advisor-choice-bar--language-gate .advisor-choice-bar__btn--check,
body.aiea-app--live .advisor-fab--chat .advisor-choice-bar--language-gate .advisor-choice-bar__btn--confirm,
body.aiea-app--live .advisor-fab--chat .advisor-choice-bar--language-gate .advisor-choice-bar__btn--skip {
    min-height: 44px !important;
    min-width: 44px !important;
    flex: 1 1 calc(50% - 0.25rem) !important;
    max-width: 100% !important;
    white-space: normal !important;
    justify-content: center !important;
}

body.aiea-app--live .advisor-fab--chat .advisor-choice-bar--language-gate .advisor-choice-bar__btn--confirm,
body.aiea-app--live .advisor-fab--chat .advisor-choice-bar--language-gate .advisor-choice-bar__btn--skip {
    flex: 1 1 100% !important;
}

body.aiea-app--live .advisor-fab--chat .advisor-choice-shell:not([hidden]) {
    display: block !important;
    flex-shrink: 0 !important;
}

body.aiea-app--live .advisor-fab--chat .advisor-choice-bar__hint {
    flex: 0 0 100% !important;
    margin-bottom: 0.1rem !important;
    font-size: 0.65rem !important;
    line-height: 1.2 !important;
}

body.aiea-app--live .advisor-fab--chat .advisor-choice-bar__choices {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 8px 10px !important;
    width: 100% !important;
    min-width: 0 !important;
}

body.aiea-app--live .advisor-fab--chat .advisor-choice-bar__confirm-row {
    display: flex !important;
    width: 100% !important;
    margin-top: 0.25rem !important;
}

body.aiea-app--live .advisor-fab--chat .advisor-choice-bar:not(.advisor-choice-bar--language-gate) .advisor-choice-bar__choices .advisor-choice-bar__btn,
body.aiea-app--live .advisor-fab--chat .advisor-choice-bar__confirm-row .advisor-choice-bar__btn--confirm {
    display: flex !important;
    width: auto !important;
    flex: 1 1 auto !important;
    min-width: min(9.5rem, 46%) !important;
    max-width: 100% !important;
    min-height: 44px !important;
    height: auto !important;
    padding: 12px 16px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    text-align: left !important;
    align-items: center !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
    border-radius: 12px !important;
    flex: none !important;
    max-width: 100% !important;
}

body.aiea-app--live .advisor-fab--chat .advisor-choice-bar__label {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

body.aiea-app--live .advisor-fab--chat .advisor-choice-shell--in-composer {
    display: block !important;
    visibility: visible !important;
    max-height: none !important;
    overflow: visible !important;
}

body.aiea-app--live .advisor-fab--chat .advisor-choice-shell--in-composer .advisor-choice-bar {
    display: flex !important;
    flex-direction: column !important;
}

body.aiea-app--live .advisor-fab--chat .advisor-choice-bar--compact,
body.aiea-app--live .advisor-fab--chat .advisor-choice-bar--dense {
    max-height: none !important;
    overflow: visible !important;
}

body.aiea-app--live .advisor-fab--chat .advisor-choice-bar--multi .advisor-choice-bar__btn--check {
    white-space: normal;
}

body.aiea-app--live .advisor-fab--chat .advisor-webchat-root .webchat__basic-transcript {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: contain;
    scroll-padding-top: 0.5rem;
}

body.aiea-app--live .advisor-fab--chat .advisor-webchat-root .webchat__basic-transcript__activity.is-latest-bot-question {
    position: sticky;
    top: 0;
    z-index: 2;
    background: linear-gradient(180deg, #f8fafc 85%, rgba(248, 250, 252, 0));
}

body.aiea-app--live .advisor-fab--chat .advisor-webchat-root .webchat__bubble:not(.webchat__bubble--from-user) .consuit-agent-question,
body.aiea-app--live .advisor-fab--chat .advisor-webchat-root .webchat__bubble:not(.webchat__bubble--from-user).consuit-agent-question {
    color: #1e40af !important;
    font-weight: 700;
    background: linear-gradient(180deg, rgba(219, 234, 254, 0.95) 0%, rgba(239, 246, 255, 0.88) 100%);
    border-radius: 6px;
    padding: 0.12rem 0.4rem;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

body.aiea-app--live .advisor-fab--chat .advisor-webchat-root .webchat__basic-transcript__activity.is-latest-bot-question .consuit-agent-question {
    color: #1d4ed8 !important;
    background: linear-gradient(180deg, rgba(191, 219, 254, 0.98) 0%, rgba(219, 234, 254, 0.92) 100%);
}

/* Keep top chrome above scrolling body so EN/DE + Settings stay clickable */
body.aiea-app--live .advisor-fab__panel-header {
    position: relative;
    z-index: 60;
    pointer-events: auto;
    flex: 0 0 auto;
}

body.aiea-app--live .advisor-fab__header-actions,
body.aiea-app--live .advisor-fab__header-controls,
body.aiea-app--live .advisor-fab__lang,
body.aiea-app--live .advisor-fab__lang-btn,
body.aiea-app--live .advisor-fab__demo,
body.aiea-app--live .advisor-fab__demo-wrap,
body.aiea-app--live .advisor-fab__faq,
body.aiea-app--live .advisor-fab__pwa-install,
body.aiea-app--live .advisor-fab__support,
body.aiea-app--live .advisor-fab__settings,
body.aiea-app--live .advisor-fab__auth-shell .aiea-bar-toggle--auth {
    position: relative;
    z-index: 61;
    pointer-events: auto;
    cursor: pointer;
}

body.aiea-app--live .advisor-fab__footer-shell,
body.aiea-app--live .advisor-fab__footer,
body.aiea-app--live .advisor-fab__footer-btn {
    position: relative;
    z-index: 55;
    pointer-events: auto;
}

/* Onboarding: scroll documents inside wizard body, not the outer wizard host */
body.aiea-app--live .advisor-fab__expand {
    display: none !important;
}

/* Customer hub: hide FORTSCHRITT + footer nav — keep auth bar + tile menu only */
body.aiea-app--live #advisorFabProgress[data-hub-suppressed="true"],
body.aiea-app--live #advisorFabFooterShell[data-hub-suppressed="true"],
body.aiea-app--live .advisor-fab--customer-hub .advisor-fab__progress,
body.aiea-app--live .advisor-fab--customer-hub .advisor-fab__footer-shell,
body.aiea-app--live .advisor-fab--customer-hub #advisorFabFooter,
body.aiea-app--live .advisor-fab--customer-hub #advisorFabChat,
body.aiea-app--live .advisor-fab--customer-hub .advisor-upgrade-prompt,
body.aiea-app--live .advisor-fab--customer-hub .aiea-bar-handle--auth,
body.aiea-app--live .advisor-fab--customer-hub .aiea-bar-toggle--auth,
body.aiea-app--live .advisor-fab:has(.aiea-customer-hub) .advisor-fab__progress,
body.aiea-app--live .advisor-fab:has(.aiea-customer-hub) .advisor-fab__footer-shell,
body.aiea-app--live .advisor-fab:has(.aiea-customer-hub) #advisorFabFooter,
body.aiea-app--live .advisor-fab:has(.aiea-customer-hub) .aiea-bar-handle--auth,
body.aiea-app--live .advisor-fab:has(.aiea-customer-hub) .aiea-bar-toggle--auth {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

body.aiea-app--live .advisor-fab--customer-hub .advisor-fab__panel {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: 100dvh;
}

body.aiea-app--live .advisor-fab--customer-hub .advisor-fab__panel-body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    padding: 0;
}

body.aiea-app--live .advisor-fab--customer-hub #advisorFabWizard,
body.aiea-app--live .advisor-fab--customer-hub .advisor-fab__panel-body {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    flex: 1 1 auto;
    min-height: 0;
}

body.aiea-app--live .advisor-fab--customer-hub #advisorFabWizard:has(.aiea-customer-hub__panel) {
    display: block !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    align-content: flex-start;
}

body.aiea-app--live .advisor-fab--customer-hub .aiea-customer-hub {
    flex: 1 1 auto;
    min-height: min(100%, 100dvh);
    justify-content: center;
    padding: max(1rem, env(safe-area-inset-top, 0px)) 1rem max(1.25rem, env(safe-area-inset-bottom, 0px));
}

/* Sub-panels (training, mail, …): top-aligned scroll — never clip form header / course picker */
body.aiea-app--live .advisor-fab--customer-hub .aiea-customer-hub.aiea-customer-hub__panel {
    justify-content: flex-start;
    align-self: stretch;
    width: 100%;
    min-height: auto;
    padding-top: max(0.5rem, env(safe-area-inset-top, 0px));
    padding-bottom: max(1.5rem, env(safe-area-inset-bottom, 0px));
}

body.aiea-app--live .advisor-fab--onboarding:not(.advisor-fab--registration-form):not(.advisor-fab--guided):not(:has(#advisorFabWizard .aiea-guided-assessment)):not(:has(#advisorFabWizard [data-guided-assessment])) #advisorFabWizard {
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
}

body.aiea-app--live .advisor-fab--guided:not(.advisor-fab--registration-form) #advisorFabWizard {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    max-height: none !important;
    touch-action: pan-y;
}

/*
 * Public tier landing (hero + pricing cards): long page scrolls here.
 * Tier select adds advisor-fab--tiers; must win over onboarding overflow:hidden above.
 */
body.aiea-app--live .advisor-fab--tiers #advisorFabWizard {
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    touch-action: auto;
}

body.aiea-app--live .advisor-fab--tiers .advisor-fab__panel-body {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    min-height: 0 !important;
    flex: 1 1 auto;
    touch-action: pan-y;
    overscroll-behavior-y: contain;
}

body.aiea-app--live .advisor-fab--onboarding .onboarding-wizard,
body.aiea-app--live .advisor-fab--onboarding .onboarding-wizard__shell,
body.aiea-app--live .advisor-fab--onboarding .onboarding-wizard__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/*
 * Keep FORTSCHRITT visible during PreQ onboarding — not during post-OTP registration
 * (styles.css hides progress on mobile).
 */
body.aiea-app--live .advisor-fab--onboarding:not(.advisor-fab--customer-hub):not(.advisor-fab--registration-form) .advisor-fab__progress,
body.aiea-app--live .advisor-fab--onboarding:not(.advisor-fab--customer-hub):not(.advisor-fab--registration-form) .advisor-fab__auth-bar {
    display: block !important;
}

/* Post-OTP registration: assessment chrome hidden — form + header only */
body.aiea-app--live #advisorFabProgress[data-registration-suppressed="true"],
body.aiea-app--live #advisorFabFooterShell[data-registration-suppressed="true"],
body.aiea-app--live #aieaSiteFooter[data-registration-suppressed="true"],
body.aiea-app--live .advisor-fab--registration-form .advisor-fab__progress,
body.aiea-app--live .advisor-fab--registration-form .advisor-fab__footer-shell,
body.aiea-app--live .advisor-fab--registration-form #advisorFabFooter,
body.aiea-app--live .advisor-fab--registration-form #aieaSiteFooter,
body.aiea-app--live .advisor-fab--registration-form .aiea-bar-toggle--progress,
body.aiea-app--live .advisor-fab--registration-form .aiea-bar-toggle--footer,
body.aiea-app--live .advisor-fab:has(#advisorFabWizard .aiea-onboard) .advisor-fab__progress,
body.aiea-app--live .advisor-fab:has(#advisorFabWizard .aiea-onboard) .advisor-fab__footer-shell,
body.aiea-app--live .advisor-fab:has(#advisorFabWizard .aiea-onboard) #advisorFabFooter,
body.aiea-app--live .advisor-fab:has(#advisorFabWizard .aiea-onboard) #aieaSiteFooter {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/*
 * Post-OTP registration (.aiea-onboard): one vertical scroll on panel-body.
 * PreQ onboarding keeps nested flex + internal scroll; do not mix the two models.
 */
body.aiea-app--live .advisor-fab--registration-form .advisor-fab__panel,
body.aiea-app--live .advisor-fab:has(#advisorFabWizard .aiea-onboard) .advisor-fab__panel {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: 100dvh;
    overflow: hidden;
}

body.aiea-app--live .advisor-fab--registration-form .advisor-fab__panel-body,
body.aiea-app--live .advisor-fab:has(#advisorFabWizard .aiea-onboard) .advisor-fab__panel-body {
    display: block !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
    scroll-padding-bottom: max(1.5rem, env(safe-area-inset-bottom, 0px));
    padding: 0;
}

body.aiea-app--live .advisor-fab--registration-form .aiea-onboarding-stage,
body.aiea-app--live .advisor-fab:has(#advisorFabWizard .aiea-onboard) .aiea-onboarding-stage,
body.aiea-app--live .advisor-fab--registration-form .aiea-onboarding-stage__main,
body.aiea-app--live .advisor-fab:has(#advisorFabWizard .aiea-onboard) .aiea-onboarding-stage__main {
    display: block !important;
    flex: none !important;
    min-height: auto !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

body.aiea-app--live .advisor-fab--registration-form #advisorFabWizard,
body.aiea-app--live .advisor-fab:has(#advisorFabWizard .aiea-onboard) #advisorFabWizard {
    display: block !important;
    overflow: visible !important;
    flex: none !important;
    min-height: auto !important;
    height: auto !important;
    max-height: none !important;
    touch-action: pan-y;
}

body.aiea-app--live .advisor-fab--registration-form .aiea-bar-toggle,
body.aiea-app--live .advisor-fab:has(#advisorFabWizard .aiea-onboard) .aiea-bar-toggle,
body.aiea-app--live .advisor-fab--registration-form .aiea-bar-handle,
body.aiea-app--live .advisor-fab:has(#advisorFabWizard .aiea-onboard) .aiea-bar-handle {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
}

/* Hub must win even if onboarding class was left on by mistake */
body.aiea-app--live .advisor-fab--customer-hub .advisor-fab__progress,
body.aiea-app--live .advisor-fab.advisor-fab--customer-hub.advisor-fab--onboarding .advisor-fab__progress,
body.aiea-app--live .advisor-fab:has(.aiea-customer-hub) .advisor-fab__progress {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
}

body.aiea-app--live .advisor-fab--onboarding .onboarding-wizard__body {
    position: relative;
}

body.aiea-app--live .advisor-fab--onboarding .onboarding-wizard__body .advisor-chat-privacy-gate {
    position: relative;
    inset: auto;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0.5rem 0.75rem 1rem;
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

body.aiea-app--live .advisor-fab__panel-body {
    position: relative;
    z-index: 1;
}

body.aiea-app--live .advisor-fab--privacy-view .advisor-fab__progress {
    flex: 1 1 auto;
    min-height: 0;
    display: flex !important;
    flex-direction: column;
}

body.aiea-app--live .advisor-fab--privacy-view #advisorFabPrivacyPanel {
    flex: 1 1 auto;
    min-height: 0;
}

/* Tier / public start: hide Advisor chrome (progress, footer, chat) until intentional start */
body.aiea-app--live .advisor-fab--tiers .advisor-fab__footer,
body.aiea-app--live .advisor-fab--tiers .advisor-fab__footer-shell,
body.aiea-app--live .advisor-fab--tiers .advisor-fab__progress,
body.aiea-app--live .advisor-fab--tiers .advisor-fab__footer[hidden],
body.aiea-app--live .advisor-fab--tiers .advisor-fab__footer-shell[hidden],
body.aiea-app--live .advisor-fab--tiers .advisor-fab__progress[hidden] {
    display: none !important;
}

body.aiea-app--live .advisor-fab--tiers #advisorFabChat,
body.aiea-app--live .advisor-fab--tiers #advisorFabChat[hidden],
body.aiea-app--live .advisor-fab--tiers #advisorFabFrame,
body.aiea-app--live .advisor-fab--tiers #advisorFabFrame[hidden] {
    display: none !important;
}

/* Public start host visible before JS mounts tier cards — do not make wizard the scroll container */
body.aiea-app--live .advisor-fab--tiers #advisorFabWizard,
body.aiea-app--live .advisor-fab--tiers #advisorFabWizard[hidden] {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    overflow: visible !important;
}
.advisor-marketing-cta {
    margin: 0 0 2.5rem;
    padding: 1.5rem 1.25rem;
    border: 1px solid #d7e2ee;
    border-radius: 12px;
    background: linear-gradient(135deg, #f7fafc, #eef4fb);
}

.advisor-marketing-cta__account,
.advisor-marketing-cta__prices,
.advisor-marketing-cta__note {
    color: #3a4f66;
    line-height: 1.45;
}

.advisor-marketing-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 1rem 0 0.75rem;
}

@media (max-width: 900px) {
    .advisor-pricing__grid,
    .advisor-tier-start__cards {
        grid-template-columns: 1fr !important;
    }
    .aiea-topbar {
        flex-wrap: wrap;
    }
}

@media (max-width: 420px) {
    .advisor-plan-card__cta,
    .advisor-plan-card__details {
        width: 100%;
    }
    .advisor-marketing-cta__actions .btn {
        width: 100%;
        text-align: center;
    }
}

html, body.aiea-app {
    overflow-x: hidden;
}

/* Korrekt / Nicht korrekt validation choices — subtle emphasis at list start */
.advisor-choice-bar__btn--correct-positive {
    background: rgba(34, 139, 69, 0.1);
    border-color: rgba(34, 139, 69, 0.38);
    color: #1a5c36;
    box-shadow: 0 2px 8px rgba(34, 139, 69, 0.12);
}

.advisor-choice-bar__btn--correct-positive:hover:not(:disabled) {
    background: rgba(34, 139, 69, 0.16);
    border-color: rgba(34, 139, 69, 0.5);
    color: #144a2b;
}

.advisor-choice-bar__btn--correct-negative {
    background: rgba(180, 83, 9, 0.1);
    border-color: rgba(180, 83, 9, 0.38);
    color: #7c3d12;
    box-shadow: 0 2px 8px rgba(180, 83, 9, 0.12);
}

.advisor-choice-bar__btn--correct-negative:hover:not(:disabled) {
    background: rgba(180, 83, 9, 0.16);
    border-color: rgba(180, 83, 9, 0.5);
    color: #5c2e0e;
}

.advisor-choice-bar__btn--check.advisor-choice-bar__btn--correct-positive.is-selected {
    background: rgba(34, 139, 69, 0.22);
    border-color: rgba(34, 139, 69, 0.55);
}

.advisor-choice-bar__btn--check.advisor-choice-bar__btn--correct-negative.is-selected {
    background: rgba(180, 83, 9, 0.22);
    border-color: rgba(180, 83, 9, 0.55);
}

/* Demo dropdown: one vertical stack when open; never override [hidden]. */
body.aiea-app--live .advisor-fab__demo-menu[hidden] {
    display: none !important;
}

body.aiea-app--live .advisor-fab__demo-menu:not([hidden]) {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: min(17.5rem, calc(100vw - 16px)) !important;
    max-width: min(17.5rem, calc(100vw - 16px)) !important;
    box-sizing: border-box !important;
}

/* Demo menu open: hide header chevron so it does not overlap menu items */
body.aiea-app--live.aiea-demo-menu-open .aiea-bar-toggle--top,
body.aiea-app--live.aiea-demo-menu-open #advisorFabTopToggle {
    visibility: hidden !important;
    pointer-events: none !important;
}

body.aiea-app--live .advisor-fab__demo-item {
    display: flex !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

/* Mobile Demo dropdown: override relative positioning so the menu anchors
   to the wider header-actions row and stays fully readable. */
@media (max-width: 768px) {
    body.aiea-app--live .advisor-fab__panel-header {
        padding-top: max(0.28rem, env(safe-area-inset-top, 0px));
        padding-bottom: 0.28rem;
        gap: 0.28rem;
    }

    body.aiea-app--live .advisor-fab__header-tagline,
    body.aiea-app--live .advisor-fab__subtitle {
        display: none !important;
    }

    body.aiea-app--live .advisor-fab__panel.is-bar-top-collapsed .advisor-fab__panel-header,
    body.aiea-app--live .is-bar-top-collapsed .advisor-fab__panel-header {
        padding-top: max(0.2rem, env(safe-area-inset-top, 0px));
        padding-bottom: 0.2rem;
    }

    body.aiea-app--live .advisor-fab__header-controls {
        flex-direction: row;
        align-items: center;
        gap: 0.35rem;
    }
}

@media (max-width: 640px) {
    body.aiea-app--live .advisor-fab__panel-header,
    body.aiea-app--live .advisor-fab__header-actions {
        position: relative;
        overflow: visible;
    }

    body.aiea-app--live .advisor-fab__demo-wrap {
        position: static;
    }

    body.aiea-app--live .advisor-fab__demo-menu {
        left: 0;
        right: auto;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        width: min(17.5rem, calc(100vw - 16px)) !important;
        max-width: min(17.5rem, calc(100vw - 16px)) !important;
        z-index: 120;
    }

    body.aiea-app--live .advisor-fab__demo-item {
        width: 100% !important;
        max-width: none !important;
    }
}

.advisor-webchat-host .aiea-doc-upload-shell--chat {
    flex-shrink: 0;
    padding: 0.35rem 0.5rem 0.25rem;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}
.advisor-webchat-host .aiea-doc-upload-shell--chat[data-doc-upload-dismissed="1"] {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}
.advisor-webchat-host .aiea-doc-upload-shell--chat .aiea-doc-upload__toolbar {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.advisor-webchat-host .aiea-doc-upload-shell--chat .aiea-doc-upload__pick {
    min-height: 40px;
    font-size: 0.82rem;
}
.advisor-webchat-host .aiea-doc-upload-shell--chat .aiea-doc-upload__list {
    max-height: 140px;
    overflow-y: auto;
}

.aiea-acmt-credit-card {
    margin: 0.75rem 0 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(0, 30, 80, 0.12);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.96);
    font-size: 0.88rem;
}
.aiea-acmt-credit-card__bar {
    font-family: ui-monospace, monospace;
    font-size: 0.75rem;
    margin: 0.35rem 0;
    letter-spacing: 0.02em;
}
