.intent-visitor-account{position:fixed;top:14px;right:18px;z-index:9500;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(77,231,199,.38);border-radius:999px;padding:10px 16px;background:linear-gradient(145deg,rgba(8,43,42,.96),rgba(8,25,31,.96));color:#dffcf4;font:700 13px/1.3 system-ui,sans-serif;letter-spacing:.01em;cursor:pointer;box-shadow:0 12px 34px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(14px)}
.intent-visitor-account__yandex{display:none;place-items:center;width:25px;height:25px;flex:0 0 auto;border-radius:50%;background:#fff;color:#f33;font-size:16px;font-weight:800;line-height:1}
.intent-visitor-account__mobile{display:none}
.intent-visitor-account:hover{border-color:#4de7c7;color:#fff;box-shadow:0 14px 38px rgba(0,0,0,.34),0 0 0 3px rgba(77,231,199,.09)}
.intent-visitor-dialog::backdrop{background:rgba(1,10,14,.22);backdrop-filter:blur(2px)}
.intent-visitor-dialog [hidden],.intent-visitor-account[hidden]{display:none!important}
.intent-visitor-account:focus-visible{outline:3px solid #4de7c7;outline-offset:3px}
.intent-workspace-nav{position:sticky;top:0;z-index:18;display:flex;gap:8px;max-width:100%;padding:10px 12px;margin:0 0 10px;overflow-x:auto;background:linear-gradient(180deg,rgba(5,24,29,.97),rgba(5,24,29,.82));border-bottom:1px solid rgba(77,231,199,.15);backdrop-filter:blur(14px);scrollbar-width:thin}
.intent-workspace-version{flex:0 0 auto;max-width:270px;min-height:34px;padding:7px 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid rgba(77,231,199,.2);border-radius:999px;background:rgba(255,255,255,.045);color:#a8c9c1;font:700 11px/1.2 system-ui,sans-serif;cursor:pointer}
.intent-workspace-version:hover{border-color:rgba(77,231,199,.5);color:#edfffa}
.intent-workspace-version[aria-current=page]{border-color:#42dfc0;background:rgba(49,218,190,.16);color:#eafff9;box-shadow:inset 0 0 0 1px rgba(66,223,192,.12)}
.intent-workspace-version.is-dive{border-style:dashed;color:#ccb5ef}
@media(max-width:767px){.intent-visitor-account{top:calc(76px + env(safe-area-inset-top));right:12px;min-height:36px;gap:6px;padding:5px 9px 5px 5px;font-size:11px;box-shadow:0 9px 24px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.08)}.intent-visitor-account__yandex{display:grid}.intent-visitor-account__desktop{display:none}.intent-visitor-account__mobile{display:inline}.intent-workspace-nav{padding:8px}.intent-workspace-version{max-width:220px}}

/* =========================================================
   INTENT VISITOR PROFILE · служебное
   Кнопки окна прячутся атрибутом hidden, а стили ниже задают им display:
   без этого правила в окне были бы видны все кнопки сразу.
   ========================================================= */
.intent-visitor-dialog button:disabled{opacity:.6;cursor:wait;transform:none}

/* =========================================================
   INTENT VISITOR PROFILE
   HTML-структура сохранена без изменений
   ========================================================= */

.intent-visitor-dialog {
    box-sizing: border-box;

    width: min(520px, calc(100vw - 28px));
    max-height: calc(100dvh - var(--intent-dialog-top, 16px) - 16px);

    margin: 0;
    padding: 34px 34px 24px;

    position: fixed;
    z-index: 999999;

    top: var(--intent-dialog-top, 50%);
    right: var(--intent-dialog-right, 24px);
    /* Окно открывается через showModal(): браузер сам тянет его ко всем
       краям. Без этого сброса оно прилипает к левому краю и вытягивается
       до низа экрана. */
    left: auto;
    bottom: auto;

    overflow: auto;

    color: #f3fbff;

    background:
        radial-gradient(
            520px 320px at 0% 0%,
            rgba(22, 218, 198, 0.11),
            transparent 58%
        ),
        radial-gradient(
            440px 300px at 100% 0%,
            rgba(125, 84, 255, 0.10),
            transparent 55%
        ),
        linear-gradient(
            145deg,
            rgba(7, 30, 33, 0.97) 0%,
            rgba(8, 24, 34, 0.98) 47%,
            rgba(12, 19, 40, 0.98) 100%
        );

    border: 1px solid rgba(76, 229, 215, 0.32);
    border-radius: 28px;

    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.55),
        0 0 0 1px rgba(255, 255, 255, 0.025) inset,
        0 0 55px rgba(21, 209, 195, 0.06);

    backdrop-filter: blur(30px) saturate(125%);
    -webkit-backdrop-filter: blur(30px) saturate(125%);

    font-family:
        Inter,
        "SF Pro Display",
        "SF Pro Text",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    scrollbar-width: thin;
    scrollbar-color:
        rgba(67, 221, 208, 0.28)
        transparent;
}

.intent-visitor-dialog::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;

    background:
        linear-gradient(
            110deg,
            rgba(87, 242, 224, 0.22),
            transparent 23%,
            transparent 72%,
            rgba(131, 91, 255, 0.18)
        );

    padding: 1px;

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);

    -webkit-mask-composite: xor;
    mask-composite: exclude;

    opacity: .65;
}

.intent-visitor-dialog::-webkit-scrollbar {
    width: 5px;
}

.intent-visitor-dialog::-webkit-scrollbar-track {
    background: transparent;
}

.intent-visitor-dialog::-webkit-scrollbar-thumb {
    background: rgba(66, 224, 208, 0.25);
    border-radius: 20px;
}


/* =========================
   CLOSE
   ========================= */

.intent-visitor-close {
    position: absolute;
    top: 20px;
    right: 20px;

    width: 38px;
    height: 38px;

    display: grid;
    place-items: center;

    padding: 0;

    border: 1px solid rgba(180, 220, 232, 0.13);
    border-radius: 50%;

    color: rgba(211, 236, 244, 0.66);
    background: rgba(135, 178, 200, 0.06);

    font-size: 30px;
    font-weight: 300;
    line-height: 1;

    cursor: pointer;

    transition:
        transform .2s ease,
        background .2s ease,
        color .2s ease,
        border-color .2s ease;
}

.intent-visitor-close:hover {
    transform: rotate(5deg) scale(1.04);

    color: #ffffff;
    border-color: rgba(85, 227, 213, 0.3);
    background: rgba(72, 220, 207, 0.10);
}


/* =========================
   EYEBROW
   ========================= */

.intent-visitor-eyebrow {
    display: block;

    margin: 0 54px 22px 0;

    color: #6de4da;

    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .18em;

    text-transform: uppercase;
}


/* =========================
   TITLE
   ========================= */

.intent-visitor-dialog h2 {
    position: relative;

    margin: 0 0 12px;
    padding-left: 32px;

    color: #f6fcff;

    font-size: clamp(30px, 3vw, 39px);
    font-weight: 760;
    line-height: 1.06;
    letter-spacing: -0.045em;
}

.intent-visitor-dialog h2::before {
    content: "";

    position: absolute;
    left: 3px;
    top: 50%;

    width: 12px;
    height: 12px;

    border-top: 2px solid #b754ff;
    border-right: 2px solid #b754ff;

    transform:
        translateY(-50%)
        rotate(45deg);

    filter:
        drop-shadow(0 0 8px rgba(185, 77, 255, 0.45));
}


/* =========================
   DESCRIPTION
   ========================= */

#intentVisitorDescription {
    margin: 0 0 22px;

    max-width: 420px;

    color: rgba(207, 229, 233, 0.72);

    font-size: 16px;
    font-weight: 450;
    line-height: 1.55;
    letter-spacing: -0.012em;
}


/* =========================
   CONSENT
   ========================= */

.intent-visitor-phone-consent {
    box-sizing: border-box;

    display: flex;
    align-items: center;
    gap: 12px;

    width: 100%;

    margin: 0 0 16px;
    padding: 14px 16px;

    border: 1px solid rgba(81, 214, 199, 0.22);
    border-radius: 17px;

    background:
        linear-gradient(
            120deg,
            rgba(83, 220, 204, 0.075),
            rgba(92, 129, 175, 0.045)
        );

    color: rgba(218, 238, 241, 0.8);

    font-size: 13.5px;
    font-weight: 520;
    line-height: 1.4;

    cursor: pointer;

    transition:
        border-color .2s ease,
        background .2s ease,
        transform .2s ease;
}

.intent-visitor-phone-consent:hover {
    border-color: rgba(81, 225, 210, 0.34);

    background:
        linear-gradient(
            120deg,
            rgba(83, 220, 204, 0.10),
            rgba(92, 129, 175, 0.06)
        );
}

.intent-visitor-phone-consent input {
    appearance: none;
    -webkit-appearance: none;

    flex: 0 0 auto;

    width: 21px;
    height: 21px;

    margin: 0;

    display: grid;
    place-items: center;

    border: 1px solid rgba(73, 225, 209, .45);
    border-radius: 6px;

    background: rgba(35, 127, 123, 0.15);

    cursor: pointer;

    transition: .18s ease;
}

.intent-visitor-phone-consent input::after {
    content: "";

    width: 8px;
    height: 4px;

    border-left: 2px solid #052d30;
    border-bottom: 2px solid #052d30;

    transform:
        rotate(-45deg)
        scale(0);

    transition: transform .16s ease;
}

.intent-visitor-phone-consent input:checked {
    border-color: #3ce3cf;

    background:
        linear-gradient(
            135deg,
            #55efd7,
            #20c6c5
        );

    box-shadow:
        0 0 17px rgba(46, 227, 209, 0.23);
}

.intent-visitor-phone-consent input:checked::after {
    transform:
        rotate(-45deg)
        scale(1);
}


/* =========================================================
   BUTTONS
   ========================================================= */

.intent-visitor-primary,
.intent-visitor-skip,
.intent-visitor-reset {
    font-family: inherit;
}


/* =========================
   PRIMARY YANDEX
   ========================= */

.intent-visitor-primary[data-auth-login] {
    position: relative;

    box-sizing: border-box;

    width: 100%;
    min-height: 62px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;

    margin: 0 0 10px;
    padding: 10px 52px 10px 18px;

    border: 1px solid rgba(115, 255, 243, 0.72);
    border-radius: 18px;

    color: #042c32;

    background:
        linear-gradient(
            105deg,
            #42dfca 0%,
            #24cfc9 49%,
            #18bace 100%
        );

    box-shadow:
        0 12px 28px rgba(12, 199, 191, 0.17),
        0 0 24px rgba(36, 231, 213, 0.10),
        inset 0 1px rgba(255, 255, 255, .23);

    font-size: 17px;
    font-weight: 780;
    letter-spacing: -0.025em;

    cursor: pointer;

    overflow: hidden;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        filter .18s ease;
}

.intent-visitor-primary[data-auth-login]::before {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            105deg,
            rgba(255, 255, 255, .14),
            transparent 34%,
            transparent 70%,
            rgba(255, 255, 255, .08)
        );

    pointer-events: none;
}

.intent-visitor-primary[data-auth-login]::after {
    content: "→";

    position: absolute;
    right: 20px;
    top: 50%;

    transform: translateY(-52%);

    font-size: 25px;
    font-weight: 400;

    opacity: .65;

    transition:
        right .18s ease,
        opacity .18s ease;
}

.intent-visitor-primary[data-auth-login]:hover {
    transform: translateY(-1px);

    filter: brightness(1.035);

    box-shadow:
        0 16px 34px rgba(12, 199, 191, 0.23),
        0 0 31px rgba(36, 231, 213, 0.15),
        inset 0 1px rgba(255, 255, 255, .3);
}

.intent-visitor-primary[data-auth-login]:hover::after {
    right: 17px;
    opacity: .9;
}


/* Yandex badge */

.intent-visitor-primary[data-auth-login] b {
    position: relative;
    z-index: 1;

    width: 36px;
    height: 36px;

    display: grid;
    place-items: center;

    flex: 0 0 auto;

    border-radius: 11px;

    color: #ff493f;
    background: #ffffff;

    font-size: 22px;
    font-weight: 800;
    line-height: 1;

    box-shadow:
        0 3px 10px rgba(0, 0, 0, .11);
}


/* =========================
   SECONDARY BUTTONS
   ========================= */

.intent-visitor-primary[data-auth-manager],
.intent-visitor-primary[data-auth-logout] {
    position: relative;

    box-sizing: border-box;

    width: 100%;
    min-height: 54px;

    display: flex;
    align-items: center;

    margin: 0 0 9px;
    padding: 0 48px 0 52px;

    border: 1px solid rgba(77, 214, 207, 0.19);
    border-radius: 16px;

    color: rgba(232, 246, 250, 0.89);

    background:
        linear-gradient(
            100deg,
            rgba(50, 168, 161, 0.075),
            rgba(60, 100, 145, 0.045)
        );

    box-shadow:
        inset 0 1px rgba(255, 255, 255, 0.025);

    font-size: 15px;
    font-weight: 660;
    letter-spacing: -0.015em;
    text-align: left;

    cursor: pointer;

    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease,
        color .18s ease;
}

.intent-visitor-primary[data-auth-manager]::after,
.intent-visitor-primary[data-auth-logout]::after {
    content: "→";

    position: absolute;
    right: 18px;
    top: 50%;

    transform: translateY(-51%);

    color: rgba(127, 214, 225, 0.63);

    font-size: 22px;
    font-weight: 300;

    transition:
        right .18s ease,
        color .18s ease;
}

.intent-visitor-primary[data-auth-manager]::before,
.intent-visitor-primary[data-auth-logout]::before {
    position: absolute;
    left: 18px;
    top: 50%;

    transform: translateY(-50%);

    width: 25px;

    color: rgba(175, 228, 235, 0.85);

    font-size: 19px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
}

.intent-visitor-primary[data-auth-manager]::before {
    content: "◉";
}

.intent-visitor-primary[data-auth-logout]::before {
    content: "↪";
}

.intent-visitor-primary[data-auth-manager]:hover,
.intent-visitor-primary[data-auth-logout]:hover {
    transform: translateY(-1px);

    color: #ffffff;

    border-color: rgba(79, 224, 213, 0.31);

    background:
        linear-gradient(
            100deg,
            rgba(50, 168, 161, 0.12),
            rgba(60, 100, 145, 0.075)
        );
}

.intent-visitor-primary[data-auth-manager]:hover::after,
.intent-visitor-primary[data-auth-logout]:hover::after {
    right: 15px;
    color: rgba(139, 237, 231, .9);
}


/* =========================
   RETURN TO SITE
   ========================= */

.intent-visitor-return {
    box-sizing: border-box;

    width: 100%;
    min-height: 50px;

    margin: 7px 0 8px;
    padding: 0 18px;

    border: 1px solid rgba(146, 188, 205, 0.14);
    border-radius: 15px;

    color: rgba(222, 237, 241, 0.75);

    background:
        rgba(131, 166, 188, 0.035);

    font-size: 14px;
    font-weight: 650;

    cursor: pointer;

    transition:
        color .18s ease,
        border-color .18s ease,
        background .18s ease;
}

.intent-visitor-return:hover {
    color: #f4fcff;

    border-color: rgba(100, 212, 205, 0.24);

    background:
        rgba(86, 189, 184, 0.07);
}


/* =========================
   RESET CACHE
   ========================= */

.intent-visitor-reset {
    display: block;

    margin: 13px auto 8px;
    padding: 6px 10px;

    border: 0;

    color: rgba(90, 205, 208, 0.61);
    background: transparent;

    font-size: 12.5px;
    font-weight: 560;

    cursor: pointer;

    transition:
        color .18s ease,
        opacity .18s ease;
}

.intent-visitor-reset::before {
    content: "↻";
    display: inline-block;
    margin-right: 7px;

    font-size: 16px;
    vertical-align: -1px;

    transition: transform .3s ease;
}

.intent-visitor-reset:hover {
    color: #56d9d7;
}

.intent-visitor-reset:hover::before {
    transform: rotate(-80deg);
}


/* =========================
   FINEPRINT
   ========================= */

.intent-visitor-fineprint {
    margin: 6px 0 0;

    color: rgba(159, 196, 199, 0.57);

    font-size: 11.5px;
    font-weight: 480;
    line-height: 1.45;

    text-align: center;
}

.intent-visitor-fineprint a {
    color: rgba(91, 222, 209, 0.8);

    text-decoration: none;

    transition: color .18s ease;
}

.intent-visitor-fineprint a:hover {
    color: #70f0e1;
}


/* =========================
   STATUS
   ========================= */

.intent-visitor-status {
    margin: 8px 0 0;

    color: rgba(123, 224, 213, 0.8);

    font-size: 12px;
    line-height: 1.4;

    text-align: center;
}

.intent-visitor-status:empty {
    display: none;
}


/* =========================
   FOCUS
   ========================= */

.intent-visitor-dialog button:focus-visible,
.intent-visitor-dialog input:focus-visible,
.intent-visitor-dialog a:focus-visible {
    outline: 2px solid rgba(81, 230, 216, .78);
    outline-offset: 3px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 760px) {

    .intent-visitor-dialog {
        width: min(460px, calc(100vw - 22px));

        left: 50%;
        right: auto;
        top: 50%;

        transform: translate(-50%, -50%);

        padding:
            28px
            22px
            20px;

        border-radius: 24px;
    }

    .intent-visitor-dialog h2 {
        font-size: 31px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 520px) {

    .intent-visitor-dialog {
        width: calc(100vw - 18px);
        max-height: calc(100dvh - 18px);

        padding:
            24px
            18px
            17px;

        border-radius: 22px;
    }

    .intent-visitor-close {
        top: 15px;
        right: 15px;

        width: 34px;
        height: 34px;

        font-size: 27px;
    }

    .intent-visitor-eyebrow {
        margin-bottom: 18px;

        font-size: 10px;
        letter-spacing: .16em;
    }

    .intent-visitor-dialog h2 {
        margin-bottom: 10px;
        padding-left: 26px;

        font-size: 27px;
    }

    .intent-visitor-dialog h2::before {
        width: 10px;
        height: 10px;
    }

    #intentVisitorDescription {
        margin-bottom: 17px;

        font-size: 14px;
        line-height: 1.5;
    }

    .intent-visitor-phone-consent {
        padding: 12px 13px;

        border-radius: 14px;

        font-size: 12px;
    }

    .intent-visitor-phone-consent input {
        width: 19px;
        height: 19px;
    }

    .intent-visitor-primary[data-auth-login] {
        min-height: 56px;

        padding-left: 13px;
        padding-right: 42px;

        border-radius: 15px;

        font-size: 15px;
    }

    .intent-visitor-primary[data-auth-login] b {
        width: 32px;
        height: 32px;

        border-radius: 9px;

        font-size: 20px;
    }

    .intent-visitor-primary[data-auth-manager],
    .intent-visitor-primary[data-auth-logout] {
        min-height: 49px;

        padding-left: 44px;

        border-radius: 14px;

        font-size: 13.5px;
    }

    .intent-visitor-primary[data-auth-manager]::before,
    .intent-visitor-primary[data-auth-logout]::before {
        left: 14px;

        font-size: 17px;
    }

    .intent-visitor-return {
        min-height: 46px;
    }

    .intent-visitor-reset {
        margin-top: 9px;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .intent-visitor-dialog *,
    .intent-visitor-dialog *::before,
    .intent-visitor-dialog *::after {
        transition: none !important;
    }
}
