/* NEXT ALIGNERS: вход и регистрация (из DECENTRALIGN KZ). Theme accent is inherited from Astra. */
body.na-auth-page { background: #eaf0fe; background: color-mix(in srgb, var(--ast-global-color-0, #2C6AF4) 23%, #fff); }
body.na-auth-page #content > .ast-container { max-width: none; padding: 0; display: block; }
/* overflow: clip — орбита за краем экрана не даёт прокрутки. Переменные орбиты задаются здесь и наследуются слоем .na-auth-orbit.
   --na-orbit — радиус линии кольца: период градиента 148px, линия 146–147px, третья линия — 442.5px.
   --na-px/--na-py — параллакс, --na-tx/--na-ty — наклон осей (js/auth.js по движению мыши). */
body.na-auth-page #primary {
    position: relative; box-sizing: border-box; width: 100%; min-height: 100svh; margin: 0; padding: 132px 24px 112px; display: grid; grid-template-columns: minmax(0, 1fr); align-content: center; isolation: isolate;
    overflow: hidden; overflow: clip;
    --na-orbit: 442.5px; --na-orbit-y: 50%; --na-planet: 60px; --na-moon: 10px; --na-moon-orbit: 50px;
    --na-px: 0px; --na-py: 0px; --na-tx: 0deg; --na-ty: 0deg;
    /* Точка слева — ближний слой, смещается сильнее колец */
    background: radial-gradient(circle at calc(50% - 380px + var(--na-px) * 1.8) calc(50% + 195px + var(--na-py) * 1.8), var(--ast-global-color-0, #2C6AF4) 0 6px, transparent 7px);
}
/* Угол планеты на орбите; анимируется сам угол, поэтому transform ниже можно собирать из переменных.
   Без поддержки @property планета просто стоит на месте. */
@property --na-a { syntax: '<angle>'; inherits: true; initial-value: -20deg; }
/* Слой орбит (page-auth.php): плоскость с кольцами наклоняется в 3D, центр — форма. */
body.na-auth-page .na-auth-orbit {
    position: absolute; inset: 0; z-index: -1; pointer-events: none;
    perspective: 1400px; perspective-origin: 50% var(--na-orbit-y);
}
body.na-auth-page .na-auth-orbit-plane {
    position: absolute; left: 50%; top: var(--na-orbit-y); width: 0; height: 0;
    transform-style: preserve-3d;
    translate: var(--na-px) var(--na-py);
    transform: rotateX(var(--na-tx)) rotateY(var(--na-ty));
}
body.na-auth-page .na-auth-orbit-plane::before {
    content: ''; position: absolute; left: -1500px; top: -1500px; width: 3000px; height: 3000px;
    background: repeating-radial-gradient(circle at 50% 50%, transparent 0 145px, #41336b0a 146px 147px, transparent 148px);
}
/* Планета выносится на кольцо в наклонённой плоскости: rotate(a) translateX(R), затем поворачивается
   обратно — rotate(-a) и обратный наклон rotateY(-ty) rotateX(-tx). Спрайт всегда смотрит на зрителя
   и остаётся круглым. Последний rotate(a) ставит блик (слева в своих координатах) к центру, к форме. */
body.na-auth-page .na-auth-orbit-planet,
body.na-auth-page .na-auth-orbit-moon { position: absolute; left: 0; top: 0; border-radius: 50%; }
body.na-auth-page .na-auth-orbit-planet {
    width: var(--na-planet); height: var(--na-planet); margin: calc(var(--na-planet) / -2) 0 0 calc(var(--na-planet) / -2);
    transform: rotate(var(--na-a)) translateX(var(--na-orbit)) rotate(calc(var(--na-a) * -1))
        rotateY(calc(var(--na-ty) * -1)) rotateX(calc(var(--na-tx) * -1)) rotate(var(--na-a));
    background: radial-gradient(circle at 20% 50%, #fff 0, var(--ast-global-color-0, #2C6AF4) 30%, #1d4fd8 75%, #5830dc 100%);
    box-shadow: 18px 0 42px -10px color-mix(in srgb, var(--ast-global-color-0, #2C6AF4) 65%, transparent);
}
/* Спутник: тот же путь до планеты, затем свой оборот (15 за оборот планеты) в той же плоскости */
body.na-auth-page .na-auth-orbit-moon {
    --na-b: calc(var(--na-a) * 15 + 140deg);
    width: var(--na-moon); height: var(--na-moon); margin: calc(var(--na-moon) / -2) 0 0 calc(var(--na-moon) / -2);
    transform: rotate(var(--na-a)) translateX(var(--na-orbit)) rotate(calc(var(--na-a) * -1))
        rotate(var(--na-b)) translateX(var(--na-moon-orbit)) rotate(calc(var(--na-b) * -1))
        rotateY(calc(var(--na-ty) * -1)) rotateX(calc(var(--na-tx) * -1)) rotate(var(--na-a));
    background: radial-gradient(circle at 25% 50%, #fff 0, #d9cfff 35%, #8f73f7 100%);
    box-shadow: 0 2px 6px -1px color-mix(in srgb, var(--ast-global-color-0, #2C6AF4) 70%, transparent);
}
body.na-auth-page #masthead, body.na-auth-page .site-header, body.na-auth-page #ast-fixed-header, body.na-auth-page .elementor-location-header { display: none !important; }
body.na-auth-page #colophon, body.na-auth-page .site-footer { display: none; }
.na-auth, .na-auth * { box-sizing: border-box; }
.na-auth [hidden] { display: none !important; }
.na-auth {
    --na-accent: var(--ast-global-color-0, #2C6AF4);
    --na-ink: #1b1730;
    --na-link: #2a4f9e;
    --na-link: color-mix(in srgb, var(--na-accent) 50%, #252637);
    --na-muted: #646878;
    --na-line: #e3e5ec;
    --na-tint: #f3f2f8;
    --na-tint: color-mix(in srgb, var(--na-accent) 6%, white);
    display: block; width: 100%; max-width: 420px; min-height: 0; margin: 0 auto;
    padding: 0; background: #fff; border: 1px solid #ffffffb3; border-radius: 26px;
    box-shadow: 0 28px 64px -24px #28203f38, 0 3px 8px #28203f04;
    color: var(--na-ink); font-family: inherit; font-size: 14px; line-height: 1.6;
}
.na-auth a { color: var(--na-link); text-decoration: none; text-underline-offset: 4px; }
.na-auth a:hover { text-decoration: underline; }
.na-auth .na-auth-panel { display: flex; align-items: center; justify-content: center; min-width: 0; padding: 40px 36px 44px; }
.na-auth .na-auth-inner { width: 100%; min-width: 0; max-width: 480px; }
.na-auth .na-auth-tabs { display: flex; gap: 4px; padding: 5px; margin-bottom: 32px; border: 1px solid #edeef3; border-radius: 13px; background: #f5f6f9; }
.na-auth .na-auth-tabs a { display: flex; flex: 1; justify-content: center; align-items: center; min-width: 0; min-height: 44px; padding: 10px 12px; border-radius: 9px; color: var(--na-muted); font-size: 13px; font-weight: 500; line-height: 1.4; text-align: center; text-decoration: none; transition: background .18s, color .18s, box-shadow .18s; }
.na-auth .na-auth-tabs a:hover { color: var(--na-link); }
.na-auth .na-auth-tabs a[aria-current="page"], .na-auth[data-view="login"] .na-auth-tabs a[href="#login"], .na-auth[data-view="register"] .na-auth-tabs a[href="#register"] { background: #fff; color: var(--na-link); box-shadow: 0 2px 6px #2526370d, 0 0 0 1px #25263705; }
.na-auth header { margin-bottom: 30px; text-align: center; }
.na-auth header h1 { font-family: inherit; font-size: 27px; font-weight: 600; line-height: 1.25; letter-spacing: -.025em; margin: 0 0 12px; color: var(--na-ink); overflow-wrap: anywhere; }
.na-auth header p { margin: 0; font-size: 13px; line-height: 1.65; color: var(--na-muted); }
.na-auth .na-auth-form { display: grid; gap: 20px; margin: 0; }
.na-auth .na-auth-form label { display: flex; flex-direction: column; gap: 7px; font-weight: 600; font-size: 12px; color: #45495b; margin: 0; min-width: 0; }
.na-auth .na-auth-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.na-auth input:not([type="checkbox"]), .na-auth select { width: 100%; min-width: 0; height: 50px; border: 1px solid transparent; border-radius: 13px; background: var(--na-tint); color: var(--na-ink); padding: 12px 15px; font: inherit; font-size: 16px; font-weight: 400; outline: none; box-shadow: none; margin: 0; transition: border-color .18s, background .18s, box-shadow .18s; }
.na-auth input::placeholder { color: #828797; opacity: 1; font-size: 14px; }
.na-auth input:not([type="checkbox"]):hover, .na-auth select:hover { border-color: #b8bdcc; }
/* Text fields use one border/halo instead of an additional focus outline. */
.na-auth input:not([type="checkbox"]):focus, .na-auth select:focus { border-color: var(--na-accent); background: #fff; box-shadow: 0 0 0 3px var(--na-tint); }
.na-auth input:not([type="checkbox"]):focus-visible, .na-auth select:focus-visible { outline: none !important; }
.na-auth small { font-size: 12px; font-weight: 400; color: var(--na-muted); }
.na-auth .na-auth-password { position: relative; display: flex; align-items: center; min-width: 0; border: 1px solid var(--na-line); border-radius: 13px; background: var(--na-tint); transition: border-color .18s, box-shadow .18s; }
.na-auth .na-auth-password:hover { border-color: #b8bdcc; }
.na-auth .na-auth-password:focus-within { border-color: var(--na-accent); background: #fff; box-shadow: 0 0 0 3px var(--na-tint); }
.na-auth .na-auth-password input { flex: 1; width: 0; border: 0; background: transparent; height: 50px; }
/* Only the password wrapper draws the focus state, including the eye button. */
.na-auth .na-auth-password input:focus, .na-auth .na-auth-password input:focus-visible { border: 0; outline: none !important; background: transparent; box-shadow: none; }
.na-auth .na-auth-password button { position: relative; flex: 0 0 44px; align-self: stretch; margin: 3px; padding: 0; border: 0; background: transparent; color: var(--na-muted); font-size: 0; border-radius: 9px; cursor: pointer; }
.na-auth .na-auth-password button:hover { background: #fff; }
.na-auth .na-auth-password button[aria-pressed="true"]::after { content: ''; position: absolute; top: 50%; left: 12px; width: 21px; height: 1.5px; background: currentColor; transform: rotate(-45deg); }
.na-auth .na-auth-password-field { display: grid; gap: 7px; min-width: 0; }
.na-auth .na-auth-field-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 8px 12px; flex-wrap: wrap; }
.na-auth .na-auth-email { position: relative; display: block; }
.na-auth .na-auth-email input, .na-auth .na-auth-password input { padding-left: 42px; }
.na-auth .na-auth-email::before, .na-auth .na-auth-password::before { content: ''; position: absolute; left: 15px; top: 16px; width: 16px; height: 16px; background: #7c7593; pointer-events: none; }
.na-auth .na-auth-options { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; align-items: center; font-size: 12px; }
.na-auth .na-auth-options > a { display: inline-flex; align-items: center; justify-self: end; min-height: 44px; max-width: 100%; text-align: right; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.na-auth .na-auth-form .na-auth-check { flex-direction: row; align-items: flex-start; gap: 10px; font-weight: 400; font-size: 12px; line-height: 1.65; }
.na-auth .na-auth-options .na-auth-check { min-height: 36px; align-items: center; }
.na-auth .na-auth-check input { flex: 0 0 auto; accent-color: var(--na-link); width: 17px; height: 17px; margin: 2px 0 0; border-radius: 4px; }
.na-auth .na-auth-options .na-auth-check input { margin-top: 0; }
.na-auth .na-auth-form .na-auth-switch { min-width: 0; cursor: pointer; }
.na-auth .na-auth-switch > span { min-width: 0; overflow-wrap: anywhere; }
.na-auth .na-auth-options .na-auth-switch input[role="switch"] {
    -webkit-appearance: none; appearance: none; position: relative; display: inline-block;
    flex: 0 0 40px; width: 40px; height: 24px; padding: 0; margin: 0;
    border: 1px solid #b7bbc9; border-radius: 999px; background: #c6cad5;
    box-shadow: none; cursor: pointer; transition: background .18s, border-color .18s;
}
.na-auth .na-auth-options .na-auth-switch input[role="switch"]::before {
    content: ''; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px;
    border: 0; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px #25263726;
    transition: transform .18s;
}
.na-auth .na-auth-options .na-auth-switch input[role="switch"]:checked { background: var(--na-accent); border-color: var(--na-accent); }
.na-auth .na-auth-options .na-auth-switch input[role="switch"]:checked::before { transform: translateX(16px); }
.na-auth .na-auth-options .na-auth-switch input[role="switch"]:disabled { opacity: .6; cursor: wait; }

/* WooCommerce/Astra .button owns colors, typography, padding and radius. */
.na-auth .na-auth-submit { display: block; width: 100%; margin-top: 8px; }
.na-auth .na-auth-submit:disabled { opacity: .65; cursor: wait; }
.na-auth .na-auth-alert { background: #fff2f3; border: 1px solid #f2d3d7; color: #963247; padding: 14px 16px; border-radius: 11px; font-size: 13px; margin-bottom: 20px; overflow-wrap: anywhere; }
.na-auth .na-auth-alert.is-success { background: #eff8f2; border-color: #d4eadb; color: #33684c; }
.na-auth .na-auth-back { display: inline-flex; align-items: center; min-height: 44px; margin-top: 16px; font-size: 13px; }
.na-auth .na-auth-back::before { content: '←'; margin-right: 8px; }
.na-auth .na-auth-footnote { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; border-top: 1px solid #edeef3; padding-top: 22px; margin-top: 28px; color: var(--na-muted); font-size: 11px; text-align: center; }
.na-auth .na-auth-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.na-auth :where(a, button, input[type="checkbox"]):focus-visible { outline: 2px solid var(--na-link) !important; outline-offset: 3px; }
.na-auth-page-brand { display: flex; justify-content: center; max-width: 560px; margin: 0 auto 24px; text-decoration: none !important; }
body.na-auth-page .na-auth-page-brand { position: absolute; top: 32px; left: 32px; right: auto; max-width: 230px; margin: 0; justify-content: flex-start; align-items: center; gap: 10px; }
body.na-auth-page .na-auth-page-brand::before { content: ''; flex: 0 0 22px; height: 22px; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #fff, var(--ast-global-color-0, #2C6AF4) 35%, #1d4fd8 85%); }
body.na-auth-page .na-auth-footnote { position: absolute; bottom: 28px; left: 24px; right: 24px; border: 0; margin: 0; padding: 0; font-size: 11px; }
.na-auth-page-brand .na-auth-brand-image { display: block; width: auto; height: 32px; max-width: min(220px, 100%); object-fit: contain; }
.na-auth-page-brand .na-auth-brand-name { display: block; font-size: 16px; line-height: 1.2; letter-spacing: .015em; font-weight: 700; color: #1b1730; text-align: left; }
.na-auth-page-brand .na-auth-brand-name small { display: block; margin-top: 5px; font-size: 8px; letter-spacing: .38em; color: #73788a; }
.na-auth .na-auth-progress { margin: 0 0 20px; font-size: 13px; color: var(--na-link); }
.na-auth .na-auth-progress-track { position: fixed; z-index: 99999; top: 0; left: 0; width: 100%; height: 3px; overflow: hidden; background: var(--na-tint); }
.na-auth .na-auth-progress-track > span { display: block; width: 35%; height: 100%; background: var(--na-accent); animation: na-auth-progress 1.5s ease-in-out infinite; }
.na-auth.is-busy .na-auth-submit[disabled] { opacity: .85; }
.na-auth.is-busy .na-auth-submit[disabled]::after { content: ''; display: inline-block; width: 14px; height: 14px; margin-left: 10px; vertical-align: -2px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: na-auth-spin .75s linear infinite; }
.na-auth.is-busy [aria-disabled="true"] { cursor: wait; opacity: .6; }
@keyframes na-auth-progress { from { transform: translateX(-110%); } to { transform: translateX(400%); } }
@keyframes na-auth-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .na-auth *, .na-auth *::before, .na-auth *::after { transition: none !important; }
    .na-auth .na-auth-progress-track > span, .na-auth.is-busy .na-auth-submit[disabled]::after { animation: none; }
}
@media (max-width: 600px) {
    body.na-auth-page #primary { padding: 104px 18px 94px; }
    body.na-auth-page .na-auth-page-brand { top: 24px; left: 24px; right: 24px; max-width: none; justify-content: center; }
    /* Кольца реже (период 225px, линия 131–132px): планета идёт по второй линии — 356.5px */
    body.na-auth-page #primary { --na-orbit: 356.5px; --na-orbit-y: 45%; --na-planet: 36px; --na-moon: 7px; --na-moon-orbit: 30px; background: none; }
    body.na-auth-page .na-auth-orbit-plane::before { background: repeating-radial-gradient(circle at 50% 50%, transparent 0 130px, #41336b0a 131px 132px, transparent 133px 225px); }
    body.na-auth-page .na-auth-orbit-planet { box-shadow: 10px 0 24px -8px color-mix(in srgb, var(--ast-global-color-0, #2C6AF4) 65%, transparent); }
    body.na-auth-page .na-auth-footnote { bottom: 24px; left: 18px; right: 18px; font-size: 10px; }
    .na-auth { border-radius: 24px; }
    .na-auth .na-auth-panel { padding: 32px 26px 36px; }
    .na-auth .na-auth-row { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    /* «Зарегистрироваться» длиннее, чем в DEC KZ: не упираемся в край вкладки */
    .na-auth .na-auth-tabs a { padding-right: 6px; padding-left: 6px; font-size: 12.5px; }
    .na-auth header h1 { font-size: 25px; }
}
@media (max-width: 360px) {
    body.na-auth-page #primary { padding-right: 12px; padding-left: 12px; }
    .na-auth .na-auth-panel { padding: 30px 22px; }
}

.na-auth .na-auth-email::before { -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22m3%207%209%206%209-6%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22m3%207%209%206%209-6%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }

.na-auth .na-auth-password::before { -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%2210%22%20width%3D%2214%22%20height%3D%2211%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%2010V7a4%204%200%200%201%208%200v3%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%2210%22%20width%3D%2214%22%20height%3D%2211%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%2010V7a4%204%200%200%201%208%200v3%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }

.na-auth .na-auth-password button::before { content: ''; display: block; width: 18px; height: 18px; margin: auto; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%2012s3.5-7%2010-7%2010%207%2010%207-3.5%207-10%207S2%2012%202%2012Z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%2012s3.5-7%2010-7%2010%207%2010%207-3.5%207-10%207S2%2012%202%2012Z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }

.na-auth[data-view="register"] { max-width: 560px; }

/* Registration keeps the same field order as the supplied CLICKALIGNERS reference. */
.na-auth[data-view="register"] .na-auth-tabs { display: none; }
.na-auth .na-auth-register-back { margin: -8px 0 20px; }
.na-auth .na-auth-required { margin-left: 4px; color: #bd354b; }


/* Motion stays local to account entry and preserves native WooCommerce colors. */
@media (prefers-reduced-motion: no-preference) {
    .na-auth { animation: na-auth-arrive .55s cubic-bezier(.22, 1, .36, 1); }
    body.na-auth-page .na-auth-orbit { animation: na-auth-orbit 90s linear infinite; }
    .na-auth .na-auth-alert:not([hidden]) { animation: na-auth-notice .24s ease-out; }
    .na-auth .na-auth-submit { transition: transform .22s ease, box-shadow .22s ease, opacity .22s ease; }
    .na-auth .na-auth-submit:not(:disabled):active { transform: translateY(1px) scale(.99); }
    .na-auth .na-auth-password button { transition: background-color .22s ease, color .22s ease; }
    .na-auth .na-auth-back::before { transition: transform .22s ease; }
    .na-auth .na-auth-back:hover::before { transform: translateX(-3px); }
    .na-auth input:not([type="checkbox"]), .na-auth select, .na-auth .na-auth-password {
        transition-duration: .24s;
        transition-timing-function: ease;
    }
    .na-auth .na-auth-options .na-auth-switch input[role="switch"]::before { transition: transform .26s cubic-bezier(.22, 1, .36, 1); }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
    .na-auth .na-auth-submit:not(:disabled):hover { transform: translateY(-2px); box-shadow: 0 8px 18px -10px var(--na-accent); }
    .na-auth .na-auth-submit:not(:disabled):active { transform: translateY(1px) scale(.99); }
}
.na-auth.is-changing-view > .na-auth-panel { max-height: 100%; overflow: hidden; align-items: flex-start; }
@keyframes na-auth-arrive { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
/* Полный оборот планеты по кольцу (угол --na-a, спутник считает свой угол от него) */
@keyframes na-auth-orbit { from { --na-a: -20deg; } to { --na-a: 340deg; } }
@keyframes na-auth-notice { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }

/* A short stagger makes each form settle without delaying interaction. */
@media (prefers-reduced-motion: no-preference) {
    .na-auth [data-auth-panel]:not([hidden]) > header {
        animation: na-auth-content-in .44s cubic-bezier(.22, 1, .36, 1) backwards;
    }
    .na-auth [data-auth-panel]:not([hidden]) .na-auth-form > :not(.na-auth-honeypot) {
        animation: na-auth-content-in .44s cubic-bezier(.22, 1, .36, 1) backwards;
        animation-delay: 35ms;
    }
    .na-auth [data-auth-panel]:not([hidden]) .na-auth-form > :nth-child(2) { animation-delay: 65ms; }
    .na-auth [data-auth-panel]:not([hidden]) .na-auth-form > :nth-child(3) { animation-delay: 95ms; }
    .na-auth [data-auth-panel]:not([hidden]) .na-auth-form > :nth-child(n+4) { animation-delay: 125ms; }
    .na-auth [data-auth-panel]:not([hidden]) .na-auth-form > .na-auth-submit { animation-name: na-auth-action-in; }
    .na-auth .na-auth-password { transition-property: border-color, background-color, box-shadow; }
    .na-auth .na-auth-email::before, .na-auth .na-auth-password::before { transition: background-color .24s ease; }
    .na-auth .na-auth-email:focus-within::before, .na-auth .na-auth-password:focus-within::before { background-color: var(--na-link); }
    .na-auth .na-auth-options .na-auth-switch input[role="switch"] { transition: background-color .28s ease, border-color .28s ease; }
    .na-auth .na-auth-options .na-auth-switch input[role="switch"]::before { transition-duration: .32s; }
    .na-auth a { transition: color .24s ease, text-decoration-color .24s ease; }
    .na-auth .na-auth-tabs a { transition: background-color .28s ease, color .24s ease, box-shadow .28s ease; }
}
@keyframes na-auth-content-in {
    from { opacity: 0; transform: translateY(7px); }
    to { opacity: 1; transform: translateY(0); }
}
/* Opacity alone lets the submit button keep its hover/press transform. */
@keyframes na-auth-action-in { from { opacity: 0; } to { opacity: 1; } }

/* ===== Стиль nextaligners.ru: Montserrat, #2c6af4, серые карточки #f9f9f9, кнопки-таблетки, маскоты ===== */
body.na-auth-page { background: #fff; }
/* !important: тема Astra обнуляет padding у #primary более сильным селектором */
body.na-auth-page #primary { background: none; padding: 104px 32px 84px !important; font-family: "Montserrat", sans-serif; }
body.na-auth-page .na-auth-orbit { display: none; }
body.na-auth-page .na-auth-page-brand::before { display: none; }

.na-auth-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; width: 100%; max-width: 520px; margin: 0 auto; }

.na-auth-visual { position: relative; min-height: 600px; overflow: hidden; border-radius: 24px; background: #2c6af4 linear-gradient(160deg, #4a82f7, #1f4fd6); color: #fff; }
.na-auth-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 72% 50%; }
.na-auth-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(12, 34, 110, .78), rgba(12, 34, 110, 0) 58%); }
.na-auth-visual-text { position: absolute; z-index: 1; left: 32px; right: 32px; bottom: 32px; }
.na-auth-visual-chip { display: inline-flex; align-items: center; height: 30px; padding: 0 14px; margin-bottom: 16px; border-radius: 999px; background: rgba(255, 255, 255, .18); backdrop-filter: blur(6px); font-size: 12px; font-weight: 500; }
.na-auth-visual-text h2 { margin: 0 0 10px; color: #fff; font-size: 30px; font-weight: 500; line-height: 1.2; letter-spacing: -.01em; }
.na-auth-visual-text p { max-width: 440px; margin: 0; color: rgba(255, 255, 255, .86); font-size: 14px; line-height: 1.6; }

.na-auth-layout .na-auth {
    --na-accent: #2c6af4; --na-link: #2c6af4; --na-ink: #343434; --na-muted: #999; --na-line: #e8e8e8; --na-tint: #fff;
    display: flex; align-items: center; max-width: none; margin: 0;
    background: #f9f9f9; border: 0; border-radius: 24px; box-shadow: none; color: #343434;
}
.na-auth-layout .na-auth[data-view="register"] { max-width: none; }
.na-auth-layout .na-auth .na-auth-panel { width: 100%; padding: 44px 48px; }
.na-auth-layout .na-auth .na-auth-inner { max-width: 440px; margin: 0 auto; }
.na-auth-layout .na-auth header { text-align: left; }
.na-auth-layout .na-auth header h1 { font-size: 28px; font-weight: 500; letter-spacing: -.01em; }
.na-auth-layout .na-auth header p { font-size: 14px; color: #999; }
.na-auth-layout .na-auth .na-auth-form label { color: #343434; font-weight: 500; font-size: 13px; }
.na-auth-layout .na-auth input:not([type="checkbox"]), .na-auth-layout .na-auth .na-auth-password { border: 1px solid #e8e8e8; border-radius: 12px; }
.na-auth-layout .na-auth .na-auth-password input { border: 0; }
.na-auth-layout .na-auth .na-auth-email::before, .na-auth-layout .na-auth .na-auth-password::before { background: #999; }
.na-auth-layout .na-auth input:not([type="checkbox"]):focus, .na-auth-layout .na-auth .na-auth-password:focus-within { border-color: #2c6af4; box-shadow: 0 0 0 3px rgba(44, 106, 244, .12); }

/* Вкладки — как переключатели-«таблетки» сайта */
.na-auth-layout .na-auth .na-auth-tabs { padding: 4px; border: 0; border-radius: 999px; background: #e8e8e8; }
.na-auth-layout .na-auth .na-auth-tabs a { border-radius: 999px; color: #343434; font-weight: 500; }
.na-auth-layout .na-auth .na-auth-tabs a[aria-current="page"],
.na-auth-layout .na-auth[data-view="login"] .na-auth-tabs a[href="#login"] { background: #fff; color: #343434; box-shadow: 0 2px 6px rgba(0, 0, 0, .06); }

/* Кнопка — как «Читать» / «Оформить заказ» на сайте */
.na-auth-layout .na-auth .na-auth-submit { height: 48px; padding: 0 24px; border: 0; border-radius: 999px; background: #2c6af4 !important; color: #fff !important; font-size: 14px; font-weight: 500; line-height: 48px; transition: background .2s ease; }
.na-auth-layout .na-auth .na-auth-submit:not(:disabled):hover { background: #769ef8 !important; }

.na-auth-layout .na-auth .na-auth-options .na-auth-switch input[role="switch"]:checked { background: #2c6af4; border-color: #2c6af4; }

/* Логотип в левом верхнем углу */
body.na-auth-page .na-auth-page-brand { max-width: none; }
.na-auth-page-brand .na-auth-brand-image { width: auto; height: 44px; max-width: 180px; }

.na-auth-layout .na-auth .na-auth-privacy-note { margin: 0; color: #999; font-size: 12px; line-height: 1.5; }

/* Кнопка под формой и подвал */
.na-auth-old-cabinet { justify-self: center; display: flex; align-items: center; justify-content: center; padding: 7px 20px; border: 1px solid #2c6af4; border-radius: 22px; background: #2c6af4; color: #fff !important; font-size: 12.5px; font-weight: 500; line-height: 1.3; text-align: center; text-decoration: none !important; transition: background .2s ease, color .2s ease; }
.na-auth-old-cabinet:hover { background: #fff; color: #2c6af4 !important; }
/* Тема задаёт #footer_copy 26px жирным синим */
.na-auth-page-footer #footer_copy { color: #999 !important; font-size: 12px !important; font-weight: 400 !important; line-height: 1.4 !important; }
.na-auth-page-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 16px; margin-top: 8px; color: #999; font-size: 12px; }
body.na-auth-page .na-auth-page-footer { position: absolute; left: 24px; right: 24px; bottom: 20px; margin: 0; }
.na-auth-privacy { display: inline-flex; align-items: center; height: 34px; padding: 0 16px; border-radius: 17px; background: #f9f9f9; color: #343434 !important; font-size: 12px; font-weight: 500; text-decoration: none !important; transition: background .2s ease; }
.na-auth-privacy:hover { background: #e8e8e8; }

@media (max-width: 960px) {
    .na-auth-visual { min-height: 220px; }
    .na-auth-visual img { object-position: 75% 45%; }
    .na-auth-visual-text { left: 22px; right: 22px; bottom: 20px; }
    .na-auth-visual-text h2 { font-size: 20px; margin: 0; }
    .na-auth-visual-text p, .na-auth-visual-chip { display: none; }
}
@media (max-width: 600px) {
    body.na-auth-page #primary { padding: 84px 16px 112px !important; }
    body.na-auth-page .na-auth-page-brand { top: 20px; left: 16px; right: auto; justify-content: flex-start; }
    .na-auth-page-brand .na-auth-brand-image { height: 38px; }
    body.na-auth-page .na-auth-page-footer { left: 16px; right: 16px; }
    .na-auth-visual { min-height: 170px; border-radius: 20px; }
    .na-auth-layout .na-auth { border-radius: 20px; }
    .na-auth-layout .na-auth .na-auth-panel { padding: 28px 20px 32px; }
    .na-auth-layout .na-auth header h1 { font-size: 24px; }
}
