/* Okoshko Motion Foundation: shared, opt-in, CSS-first primitives. */

:is(.ok-motion-fade, .ok-motion-enter, .ok-motion-list-enter, .ok-motion-slide, .ok-motion-scale)[data-ok-motion] {
    animation: ok-motion-enter var(--motion-standard) var(--ease-enter) both;
}

[data-ok-motion].ok-motion-fade {
    animation-name: ok-motion-fade;
}

[data-ok-motion].ok-motion-slide {
    animation-name: ok-motion-slide;
}

[data-ok-motion].ok-motion-scale {
    animation-name: ok-motion-scale;
}

[data-ok-motion-state="exit"].ok-motion-exit {
    opacity: 0;
    transform: translateY(var(--motion-distance-sm));
    transition:
        opacity var(--motion-fast) var(--ease-exit),
        transform var(--motion-fast) var(--ease-exit);
}

.ok-motion-press {
    transition: transform var(--motion-instant) var(--ease-standard);
}

.ok-motion-press:active {
    transform: scale(var(--scale-card-pressed));
}

.ok-motion-helper.is-awake{animation:ok-helper var(--motion-slow) var(--ease-enter)}
@keyframes ok-helper{50%{transform:translateY(-4px) rotate(2deg)}}

@keyframes ok-motion-enter {
    from {
        opacity: 0;
        transform: translateY(var(--motion-distance-md)) scale(var(--motion-scale-enter));
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes ok-motion-fade {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes ok-motion-slide {
    from { transform: translateY(var(--motion-distance-md)); }
    to { transform: none; }
}

@keyframes ok-motion-scale {
    from { transform: scale(var(--motion-scale-enter)); }
    to { transform: none; }
}

dialog:is(.ok-motion-modal, .ok-motion-sheet, [data-ok-motion]) {
    opacity: 0;
    transform: translateY(var(--motion-distance-md)) scale(var(--motion-scale-enter));
    transition:
        opacity var(--motion-modal) var(--ease-exit),
        transform var(--motion-modal) var(--ease-exit),
        overlay var(--motion-modal),
        display var(--motion-modal);
    transition-behavior: allow-discrete;
}

dialog:is(.ok-motion-modal, .ok-motion-sheet, [data-ok-motion])[open] {
    opacity: 1;
    transform: none;
}

dialog:is(.ok-motion-modal, .ok-motion-sheet, [data-ok-motion])::backdrop {
    opacity: 0;
    transition: opacity var(--motion-modal) var(--ease-exit);
}

dialog:is(.ok-motion-modal, .ok-motion-sheet, [data-ok-motion])[open]::backdrop {
    opacity: 1;
}

@starting-style {
    dialog:is(.ok-motion-modal, .ok-motion-sheet, [data-ok-motion])[open] {
        opacity: 0;
        transform: translateY(var(--motion-distance-md)) scale(var(--motion-scale-enter));
    }

    dialog:is(.ok-motion-modal, .ok-motion-sheet, [data-ok-motion])[open]::backdrop {
        opacity: 0;
    }
}

.ok-motion-success[data-ok-motion="success"] {
    animation: ok-motion-success-enter var(--motion-emphasis) var(--ease-emphasized) both;
}

@keyframes ok-motion-success-enter {
    from {
        opacity: 0.72;
        transform: translateY(var(--motion-distance-md)) scale(var(--motion-scale-enter));
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.ok-motion-nav {
    --ok-motion-nav-column: 1;
    --ok-motion-nav-indicator-size: 46px;
    --ok-motion-nav-indicator-raise: 11.5px;
    --ok-motion-nav-travel-x: 0px;
    --ok-motion-nav-inactive-color: var(--redesign-color-text-muted);
    --ok-motion-nav-active-color: var(--redesign-color-calm-green-strong);
    isolation: isolate;
    overflow: visible !important;
}

.ok-motion-nav[data-ok-motion-active-index="2"] { --ok-motion-nav-column: 2; }
.ok-motion-nav[data-ok-motion-active-index="3"] { --ok-motion-nav-column: 3; }
.ok-motion-nav[data-ok-motion-active-index="4"] { --ok-motion-nav-column: 4; }

.ok-motion-nav > .ok-motion-nav__indicator {
    z-index: 0;
    grid-row: 1;
    grid-column: var(--ok-motion-nav-column);
    align-self: center;
    justify-self: center;
    width: var(--ok-motion-nav-indicator-size);
    height: var(--ok-motion-nav-indicator-size);
    border-radius: var(--radius-pill);
    border: 1px solid var(--redesign-color-green-border);
    background: var(--redesign-color-green-surface);
    box-shadow:
        0 8px 18px rgba(42, 75, 38, 0.13),
        0 2px 6px rgba(42, 75, 38, 0.08);
    pointer-events: none;
    scale: 1;
    transform: translate3d(
        var(--ok-motion-nav-travel-x),
        calc(-1 * var(--ok-motion-nav-indicator-raise)),
        0
    );
    transition: transform var(--motion-nav-travel) var(--ease-standard);
    animation: none;
}

/* MPA arrival fallback only; guarded links remain authoritative. */
.ok-motion-nav[data-ok-motion-state="arriving"] > .ok-motion-nav__indicator {
    animation: ok-motion-nav-indicator-arrival var(--motion-nav-travel) var(--ease-standard);
}
@keyframes ok-motion-nav-indicator-arrival {
    from { transform: translate3d(var(--ok-motion-nav-arrival-x), calc(-1 * var(--ok-motion-nav-indicator-raise)), 0); }
    to { transform: translate3d(0, calc(-1 * var(--ok-motion-nav-indicator-raise)), 0); }
}

.ok-motion-nav[data-ok-motion-state="traveling"] > .ok-motion-nav__indicator {
    animation: ok-motion-nav-indicator-travel var(--motion-nav-travel) var(--ease-standard);
}

.ok-motion-nav:not([data-ok-motion-active-index]) > .ok-motion-nav__indicator {
    visibility: hidden;
    animation: none;
}

.ok-motion-nav > .ok-motion-nav__item {
    z-index: 1;
    grid-row: 1;
    min-height: 44px !important;
    color: var(--ok-motion-nav-inactive-color) !important;
    background: transparent !important;
    transition:
        color var(--motion-fast) var(--ease-standard),
        background-color var(--motion-fast) var(--ease-standard),
        transform var(--motion-instant) var(--ease-standard);
}

.ok-motion-nav > .ok-motion-nav__item:nth-of-type(1) { grid-column: 1; }
.ok-motion-nav > .ok-motion-nav__item:nth-of-type(2) { grid-column: 2; }
.ok-motion-nav > .ok-motion-nav__item:nth-of-type(3) { grid-column: 3; }
.ok-motion-nav > .ok-motion-nav__item:nth-of-type(4) { grid-column: 4; }

body.page-beauty.page-pwa-client.client-pwa-app-shell > nav.pwa-bottom-nav.ok-motion-nav > a.ok-motion-nav__item:not([aria-current="page"]),
body.page-beauty.page-pwa-client.client-pwa-app-shell > nav.pwa-bottom-nav.ok-motion-nav > a.ok-motion-nav__item:not(.is-active):not([aria-current="page"]) > :is(svg, .pwa-bottom-nav__label) {
    color: var(--ok-motion-nav-inactive-color) !important;
}

body.page-beauty.page-pwa-client.client-pwa-app-shell > nav.pwa-bottom-nav.ok-motion-nav > a.ok-motion-nav__item.is-active::before,
body.admin-page.admin-app.page-pwa-master.master-pwa-app-shell > nav.pwa-master-bottom-nav.ok-motion-nav > a.ok-motion-nav__item[aria-current="page"]::before {
    content: none !important;
    background: transparent !important;
}

body.admin-page.admin-app.page-pwa-master.master-pwa-app-shell > nav.pwa-master-bottom-nav.ok-motion-nav > a.ok-motion-nav__item {
    background: transparent !important;
}

:is(body.page-beauty.page-pwa-client.client-pwa-app-shell, body.admin-page.admin-app.page-pwa-master.master-pwa-app-shell)
> :is(nav.pwa-bottom-nav, nav.pwa-master-bottom-nav).ok-motion-nav
> a.ok-motion-nav__item[data-ok-motion-nav-target][data-ok-motion-nav-item],
:is(body.page-beauty.page-pwa-client.client-pwa-app-shell, body.admin-page.admin-app.page-pwa-master.master-pwa-app-shell)
> :is(nav.pwa-bottom-nav, nav.pwa-master-bottom-nav).ok-motion-nav
> a.ok-motion-nav__item[data-ok-motion-nav-target][data-ok-motion-nav-item]
> :is(svg, .pwa-bottom-nav__label, .pwa-master-bottom-nav__label) {
    color: var(--ok-motion-nav-active-color) !important;
}

:is(body.page-beauty.page-pwa-client.client-pwa-app-shell, body.admin-page.admin-app.page-pwa-master.master-pwa-app-shell)
> :is(nav.pwa-bottom-nav, nav.pwa-master-bottom-nav).ok-motion-nav[data-ok-motion-state="traveling"]
> a.ok-motion-nav__item:is(.is-active, [aria-current="page"]):not([data-ok-motion-nav-target]),
:is(body.page-beauty.page-pwa-client.client-pwa-app-shell, body.admin-page.admin-app.page-pwa-master.master-pwa-app-shell)
> :is(nav.pwa-bottom-nav, nav.pwa-master-bottom-nav).ok-motion-nav[data-ok-motion-state="traveling"]
> a.ok-motion-nav__item:is(.is-active, [aria-current="page"]):not([data-ok-motion-nav-target])
> :is(svg, .pwa-bottom-nav__label, .pwa-master-bottom-nav__label) {
    color: var(--ok-motion-nav-inactive-color) !important;
    font-weight: 600;
}

.ok-motion-nav > .ok-motion-nav__item > svg {
    position: relative;
    z-index: 1;
    overflow: visible;
    transform-origin: center;
}

.ok-motion-nav > .ok-motion-nav__item > :is(.pwa-bottom-nav__label, .pwa-master-bottom-nav__label) {
    position: relative;
    z-index: 1;
    font-weight: 600;
    transition:
        color var(--motion-fast) var(--ease-standard),
        font-weight var(--motion-fast) var(--ease-standard);
}

.ok-motion-nav > .ok-motion-nav__item:is([aria-current="page"], .is-active, [data-ok-motion-nav-target]) {
    color: var(--ok-motion-nav-active-color) !important;
}

.ok-motion-nav > .ok-motion-nav__item:is([aria-current="page"], .is-active, [data-ok-motion-nav-target]) > :is(svg, .pwa-bottom-nav__label, .pwa-master-bottom-nav__label) {
    color: var(--ok-motion-nav-active-color) !important;
}

.ok-motion-nav > .ok-motion-nav__item:is([aria-current="page"], .is-active, [data-ok-motion-nav-target]) > :is(.pwa-bottom-nav__label, .pwa-master-bottom-nav__label) {
    font-weight: 700;
}

.ok-motion-nav .ok-motion-nav-icon__fill {
    fill: transparent !important;
    transition:
        fill var(--motion-fast) var(--ease-standard) var(--motion-nav-fill-delay),
        stroke var(--motion-fast) var(--ease-standard) var(--motion-nav-fill-delay);
}

.ok-motion-nav [data-ok-motion-nav-item="services"] .ok-motion-nav-icon__fill {
    stroke: currentColor;
    stroke-width: 0.65;
    stroke-linejoin: round;
}

.ok-motion-nav > .ok-motion-nav__item:is([aria-current="page"], .is-active, [data-ok-motion-nav-target]) .ok-motion-nav-icon__fill {
    fill: currentColor !important;
}

.ok-motion-nav > .ok-motion-nav__item:is([aria-current="page"], .is-active, [data-ok-motion-nav-target]) .ok-motion-nav-icon__detail {
    stroke: var(--redesign-color-surface-card);
}

.ok-motion-nav[data-ok-motion-state="traveling"] > .ok-motion-nav__item:is([aria-current="page"], .is-active):not([data-ok-motion-nav-target]) .ok-motion-nav-icon__fill {
    fill: transparent !important;
    transition-delay: 0ms;
}

.ok-motion-nav[data-ok-motion-state="traveling"] > .ok-motion-nav__item:is([aria-current="page"], .is-active):not([data-ok-motion-nav-target]) .ok-motion-nav-icon__detail {
    stroke: currentColor;
}

.ok-motion-nav .pwa-chat-nav-badge {
    z-index: 3;
}

.ok-motion-nav > .ok-motion-nav__item:focus-visible {
    outline: 3px solid var(--redesign-color-calm-green);
    outline-offset: -3px;
}

.ok-motion-nav > .ok-motion-nav__item:active {
    transform: scale(var(--scale-button-pressed));
}

.ok-motion-nav > .ok-motion-nav__item:is([aria-current="page"], .is-active) > svg {
    transform: translateY(calc(-1 * var(--motion-distance-sm)));
    animation: ok-motion-nav-icon-enter var(--motion-standard) var(--ease-enter) both;
}

.ok-motion-nav > .ok-motion-nav__item[data-ok-motion-nav-target] > svg {
    transform: translateY(calc(-1 * var(--motion-distance-sm)));
    animation: ok-motion-nav-icon-enter var(--motion-emphasis) var(--ease-emphasized) both;
}

.ok-motion-nav [data-ok-motion-nav-item="chat"] { --ok-motion-nav-icon-animation: ok-motion-nav-icon-chat; }
.ok-motion-nav :is([data-ok-motion-nav-item="services"], [data-ok-motion-nav-item="schedule"]) { --ok-motion-nav-icon-animation: ok-motion-nav-icon-open; }
.ok-motion-nav [data-ok-motion-nav-item="masters"] { --ok-motion-nav-icon-animation: ok-motion-nav-icon-heart; }
.ok-motion-nav [data-ok-motion-nav-item="profile"] { --ok-motion-nav-icon-animation: ok-motion-nav-icon-profile; }
.ok-motion-nav [data-ok-motion-nav-item="accounting"] { --ok-motion-nav-icon-animation: ok-motion-nav-icon-accounting; }

.ok-motion-nav > .ok-motion-nav__item:is([aria-current="page"], .is-active, [data-ok-motion-nav-target]) > svg {
    animation-name: var(--ok-motion-nav-icon-animation, ok-motion-nav-icon-enter);
}

.ok-motion-nav > .ok-motion-nav__item:is([aria-current="page"], .is-active) > :is(.pwa-bottom-nav__label, .pwa-master-bottom-nav__label) {
    animation: ok-motion-nav-label-enter var(--motion-fast) var(--ease-enter) both;
}

.ok-motion-nav > .ok-motion-nav__item[data-ok-motion-nav-target] > :is(.pwa-bottom-nav__label, .pwa-master-bottom-nav__label) {
    animation: ok-motion-nav-label-enter var(--motion-fast) var(--ease-enter) var(--motion-nav-fill-delay) both;
}

@keyframes ok-motion-nav-indicator-enter {
    from {
        opacity: 0.35;
        transform: translate3d(0, calc(-1 * var(--motion-distance-sm)), 0) scale(var(--motion-scale-enter));
    }

    to {
        opacity: 1;
        transform: translate3d(
            var(--ok-motion-nav-travel-x),
            calc(-1 * var(--ok-motion-nav-indicator-raise)),
            0
        );
    }
}

@keyframes ok-motion-nav-indicator-travel {
    0%, 100% { scale: 1; }
    48% { scale: 1.04 0.97; }
    76% { scale: 0.99 1.01; }
}

@keyframes ok-motion-nav-icon-chat {
    0% { opacity: 0.76; transform: translateY(0) rotate(-4deg); }
    65% { opacity: 1; transform: translateY(calc(-1 * var(--motion-distance-sm))) rotate(2deg); }
    100% { opacity: 1; transform: translateY(calc(-1 * var(--motion-distance-sm))) rotate(0); }
}

@keyframes ok-motion-nav-icon-open {
    0% { opacity: 0.76; transform: translateY(calc(-1 * var(--motion-distance-sm))) scale(0.9); }
    70% { opacity: 1; transform: translateY(calc(-1 * var(--motion-distance-sm))) scale(1.06); }
    100% { opacity: 1; transform: translateY(calc(-1 * var(--motion-distance-sm))) scale(1); }
}

@keyframes ok-motion-nav-icon-heart {
    0%, 100% { opacity: 1; transform: translateY(calc(-1 * var(--motion-distance-sm))) scale(1); }
    45% { opacity: 1; transform: translateY(calc(-1 * var(--motion-distance-sm))) scale(1.08); }
}

@keyframes ok-motion-nav-icon-profile {
    0% { opacity: 0.72; transform: translateY(0); }
    100% { opacity: 1; transform: translateY(calc(-1 * var(--motion-distance-sm))); }
}

@keyframes ok-motion-nav-icon-accounting {
    0% { opacity: 0.76; transform: translate3d(-2px, calc(-1 * var(--motion-distance-sm)), 0); }
    100% { opacity: 1; transform: translate3d(0, calc(-1 * var(--motion-distance-sm)), 0); }
}

@keyframes ok-motion-nav-icon-enter {
    from {
        opacity: 0.72;
        transform: none;
    }

    to {
        opacity: 1;
        transform: translateY(calc(-1 * var(--motion-distance-sm)));
    }
}

@keyframes ok-motion-nav-label-enter {
    from { opacity: 0.72; }
    to { opacity: 1; }
}

:is(
    .client-nav,
    .client-mobile-nav,
    .sidebar-nav-admin,
    .admin-app-menu__panel
) > a {
    transition:
        color var(--motion-fast) var(--ease-standard),
        background-color var(--motion-fast) var(--ease-standard),
        transform var(--motion-fast) var(--ease-standard);
}

@media (hover: hover) and (pointer: fine) {
    :is(
        .client-nav,
        .client-mobile-nav,
        .sidebar-nav-admin,
        .admin-app-menu__panel
    ) > a:not([aria-current="page"]):is(:hover, :focus-visible) {
        transform: translateY(calc(-1 * var(--motion-distance-sm)));
    }
}

/* Accepted-document arrival. Critical text/CTA never depends on animation. */
[data-ok-booking-step][data-ok-step-direction] :is(.booking-services-main, .booking-time-content, .booking-confirm-card) {
    animation: ok-motion-booking-step var(--motion-standard) var(--ease-enter);
}
[data-ok-booking-step][data-ok-step-direction="back"] {
    --ok-step-offset: calc(-1 * var(--redesign-motion-distance-step));
}
@keyframes ok-motion-booking-step {
    from { opacity: .85; transform: translateX(var(--ok-step-offset, var(--redesign-motion-distance-step))); }
    to { opacity: 1; transform: none; }
}
[data-ok-booking-step] :is([data-slot-option], [data-quick-date], .js-service-card) {
    transition: transform var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard);
}
[data-ok-booking-step] :is([data-slot-option], [data-quick-date], .js-service-card):active {
    transform: scale(var(--redesign-scale-card-pressed));
}
[data-ok-success-key][data-ok-celebrate] .my-booking-status-icon {
    animation: ok-motion-verified-success var(--redesign-motion-expressive) var(--ease-emphasized);
}
@keyframes ok-motion-verified-success {
    0% { transform: scale(.94); }
    45% { transform: scale(1.06); }
    100% { transform: none; }
}

:root {
    --redesign-mascot-inline-size: 112px;
    --redesign-mascot-aspect: 272 / 320;
    --motion-bloom: 900ms;
    --motion-mascot-gaze: 140ms;
    --motion-mascot-idle-pause: 5200ms;
    --motion-mascot-idle-burst: 1240ms;
}
.ok-motion-flower { display: block; inline-size: 70px; block-size: 80px; color: var(--redesign-color-calm-green-strong); pointer-events: none; }
.ok-motion-flower__leaf { fill: var(--redesign-color-calm-green-strong); }
.ok-motion-flower__petal { fill: var(--redesign-color-green-surface); stroke: var(--redesign-color-green-border); stroke-width: 1; }
.ok-motion-flower__bud { fill: var(--redesign-color-calm-green-strong); transform-origin: 50px 44px; }
.ok-motion-flower__stem { transform-origin: 50px 105px; }
.ok-motion-flower__leaf--left { transform-origin: 49px 86px; }
.ok-motion-flower__leaf--right { transform-origin: 49px 77px; }
.ok-motion-flower__bloom { transform-origin: 50px 44px; }
[data-ok-celebrate] .ok-motion-flower__stem { animation: ok-flower-grow calc(var(--motion-bloom) * .3) var(--ease-enter) both; }
[data-ok-celebrate] .ok-motion-flower__leaf { animation: ok-flower-grow calc(var(--motion-bloom) * .35) var(--ease-enter) calc(var(--motion-bloom) * .18) both; }
[data-ok-celebrate] .ok-motion-flower__bud { animation: ok-flower-open calc(var(--motion-bloom) * .3) var(--ease-enter) calc(var(--motion-bloom) * .35) both; }
[data-ok-celebrate] .ok-motion-flower__petal { transform-origin: 50px 44px; animation: ok-flower-open calc(var(--motion-bloom) * .5) var(--ease-emphasized) calc(var(--motion-bloom) * .5) both; }
@keyframes ok-flower-grow { from { transform: scaleY(.02); } to { transform: scaleY(1); } }
@keyframes ok-flower-open { from { scale: .04; } to { scale: 1; } }
.ok-motion-notice { display: grid; grid-template-columns: 70px 1fr; align-items: center; gap: var(--redesign-space-3,12px); border-radius: var(--redesign-radius-card,24px); padding: var(--redesign-space-3,12px); background: var(--redesign-color-green-surface); margin-block-end: var(--redesign-space-3,12px); }
.ok-motion-notice p { margin: 0; font-weight: 600; color: var(--redesign-color-calm-green-strong); }
/* Shared intrinsic art row. */
.ok-motion-result-art { display: flex; align-items: center; justify-content: center; gap: var(--redesign-space-2,8px); max-inline-size: 100%; margin-inline: auto; }
.ok-motion-result-art > .ok-mascot { margin: 0; }
.ok-motion-result-art > .ok-motion-flower { flex: none; inline-size: 56px; block-size: 64px; }
.ok-mascot {
    display: block;
    position: relative;
    inline-size: var(--redesign-mascot-inline-size);
    aspect-ratio: var(--redesign-mascot-aspect);
    flex: none;
    margin: 0 auto var(--redesign-space-2, 8px);
    pointer-events: none;
    user-select: none;
}
.ok-mascot::before {
    content: "";
    position: absolute;
    inset: 0;
    background: none center bottom / contain no-repeat;
    transform-origin: 50% 92%;
    transform: translate3d(var(--ok-mascot-react-x, 0px), calc(var(--ok-mascot-react-y, 0px) + var(--ok-mascot-idle-rise, 0px)), 0) rotate(calc(var(--ok-mascot-react-tilt, 0deg) + var(--ok-mascot-idle-tilt, 0deg))) scaleY(var(--ok-mascot-idle-breath, 1));
    transition: transform var(--ok-mascot-reaction-duration, var(--motion-mascot-gaze)) var(--ease-standard);
}
[data-ok-mascot="CALM"]::before,
[data-ok-mascot="AUTH"]::before,
[data-ok-auth-state="IDLE"] [data-ok-mascot="AUTH"]::before {
    background-image: url("mascot/b-mint-velvet/v1/calm-fullbody.webp");
}
[data-ok-mascot="INPUT"]::before,
[data-ok-auth-state="IDENTIFIER_FOCUS"] [data-ok-mascot="AUTH"]::before {
    background-image: url("mascot/b-mint-velvet/v1/input-fullbody.webp");
}
[data-ok-mascot="SUCCESS"]::before {
    background-image: url("mascot/b-mint-velvet/v1/success-fullbody.webp");
}
[data-ok-mascot="PASSWORD"]::before,
[data-ok-auth-state="PASSWORD_HIDDEN"] [data-ok-mascot="AUTH"]::before,
[data-ok-auth-state="PASSWORD_VISIBLE"] [data-ok-mascot="AUTH"]::before,
[data-ok-auth-state="OTP_FOCUS"] [data-ok-mascot="AUTH"]::before {
    background-image: url("mascot/b-mint-velvet/v1/password-fullbody.webp");
    animation: none !important;
    transform: none !important;
    transition: none !important;
}
[data-ok-success-key][data-ok-celebrate] [data-ok-mascot="SUCCESS"]::before {
    animation: ok-motion-verified-success var(--redesign-motion-expressive) var(--ease-emphasized);
}
/* Complete static states; OTP is private focus, not success. */
body.page-beauty.client-auth-page .client-auth-card[data-ok-auth] .client-auth-icon {
    display: none;
}
@media (max-height: 600px) {
    [data-ok-auth] .ok-mascot { --redesign-mascot-inline-size: 72px; }
}
@media (forced-colors: active) {
    .ok-mascot::before { background-image: none !important; animation: none !important; }
}

/* Auth adapter emits only semantic focus/submission state, never input data. */
body.admin-auth .auth-card.auth-card-wide[data-ok-auth] { overflow: clip; }
[data-ok-auth] label:focus-within {
    transition: background-color var(--motion-fast) var(--ease-standard);
    background-color: var(--redesign-color-bg-soft, #EEF5E8);
}
[data-ok-auth] [data-ok-password-toggle] {
    min-height: 44px;
    margin-block-start: var(--redesign-space-2, 8px);
}

/* Premium route arrival is not a purchase or trial activation acknowledgement. */
[data-ok-premium-state="PAYWALL_ENTER"] > .master-premium-content,
[data-ok-premium-state="PLAN_SELECTED"] > .master-premium-content {
    animation: ok-motion-content-enter var(--motion-standard) var(--ease-enter);
}
@keyframes ok-motion-content-enter {
    from { opacity: .85; transform: translateY(var(--motion-distance-sm)); }
    to { opacity: 1; transform: none; }
}

/* Verified result text is visible immediately; no typewriter/progress fiction. */
[data-ok-ai-state="result"][data-ok-ai-arrival] .money-rep-ai-analysis-section,
[data-ok-assistant-presentation] [data-ok-ai-arrival="received"] {
    animation: ok-motion-result-enter var(--motion-fast) var(--ease-enter);
}
@keyframes ok-motion-result-enter {
    from { opacity: .85; }
    to { opacity: 1; }
}
[data-ok-ai-state="loading"] [data-ai-report-status] {
    animation: ok-motion-result-enter var(--motion-fast) var(--ease-enter);
}

@media (prefers-reduced-motion: reduce) {
    /* Rotation groups are static anatomy; only their children are animated. */
    .ok-motion-flower * { animation: none !important; transition: none !important; scale: 1 !important; }
    .ok-motion-flower :is(.ok-motion-flower__stem,.ok-motion-flower__leaf) { transform: none !important; }
    .ok-mascot::before { animation: none !important; transition: none !important; transform: none !important; }
    :is([data-ok-motion], .ok-motion-modal, .ok-motion-sheet),
    :is([data-ok-motion], .ok-motion-modal, .ok-motion-sheet) *,
    :is(.ok-motion-press, .ok-motion-helper) {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }

    dialog:is(.ok-motion-modal, .ok-motion-sheet, [data-ok-motion])::backdrop {
        transition: none !important;
    }

    [data-ok-booking-step] :is([data-slot-option], [data-quick-date], .js-service-card):active,
    .ok-motion-press:active,
    [data-ok-motion-state="exit"].ok-motion-exit,
    .ok-motion-nav > .ok-motion-nav__item:active,
    dialog:is(.ok-motion-modal, .ok-motion-sheet, [data-ok-motion])[open] {
        transform: none !important;
    }

    /* Static selected geometry is not motion: retain the accepted icon centre
       while removing its animation. */
    .ok-motion-nav > .ok-motion-nav__item:is([aria-current="page"], .is-active) > svg {
        transform: translateY(calc(-1 * var(--motion-distance-sm))) !important;
    }

    .ok-motion-nav > .ok-motion-nav__indicator {
        scale: 1 !important;
        transform: translate3d(
            var(--ok-motion-nav-travel-x),
            calc(-1 * var(--ok-motion-nav-indicator-raise)),
            0
        ) !important;
    }

    :is(
        .client-nav,
        .client-mobile-nav,
        .sidebar-nav-admin,
        .admin-app-menu__panel
    ) > a {
        transition: none !important;
    }
}
