* {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Inter', sans-serif;
            font-weight: 300;
        }

        body.auth-page {
            background-color: #0b1220;
            color: #eef2f6;
            line-height: 1.45;
            min-height: 100vh;
            min-height: 100dvh;
            margin: 0;
            padding: 0;
            display: block;
            -webkit-tap-highlight-color: transparent;
        }

        .auth-ref-banner {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 12px 14px;
            margin-bottom: 14px;
            border-radius: 12px;
            background: rgba(72, 132, 255, 0.12);
            border: 1px solid rgba(72, 132, 255, 0.28);
            font-size: 0.85rem;
            color: #b6cdf5;
        }

        .auth-ref-banner i {
            color: #6ba3ff;
            font-size: 1.1rem;
        }

        .auth-ref-banner strong {
            color: #eef2f6;
        }

        .auth-page__bg {
            position: fixed;
            inset: 0;
            z-index: 0;
            background:
                radial-gradient(ellipse 80% 50% at 10% 0%, #4884ff22 0%, transparent 55%),
                radial-gradient(ellipse 60% 40% at 90% 100%, #3acf6b14 0%, transparent 50%),
                linear-gradient(165deg, #0b1220 0%, #131c29 45%, #0f1722 100%);
            pointer-events: none;
        }

        .auth-shell {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: minmax(260px, 380px) minmax(320px, 480px);
            gap: clamp(24px, 4vw, 48px);
            max-width: 980px;
            margin: 0 auto;
            min-height: 100vh;
            min-height: 100dvh;
            align-items: center;
            padding: clamp(20px, 4vw, 40px) 20px;
        }

        .auth-brand {
            display: flex;
            flex-direction: column;
            gap: 20px;
        }

        .auth-logo {
            display: inline-flex;
            align-items: center;
            text-decoration: none;
            font-size: 2rem;
            font-weight: 600;
            color: #fff;
        }

        .auth-logo .logo-brand { font-size: 2rem; line-height: 1.1; }
        .auth-logo .logo-go { color: #3acf6b; font-weight: 700; }
        .auth-logo .logo-script { color: #fff; font-weight: 500; }
        .auth-logo .site-logo-img {
            max-height: 52px;
            width: auto;
            display: block;
        }

        .auth-brand__tagline {
            font-size: 0.95rem;
            line-height: 1.55;
            opacity: 0.82;
            margin: 0;
            max-width: 340px;
        }

        .auth-benefits {
            list-style: none;
            margin: 0;
            padding: 0;
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

        .auth-benefits li {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            font-size: 0.88rem;
            opacity: 0.9;
            line-height: 1.4;
        }

        .auth-benefits i {
            color: #4884ff;
            margin-top: 2px;
            width: 18px;
            text-align: center;
        }

        .auth-back-link {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: #8aa9ff;
            text-decoration: none;
            font-size: 0.88rem;
            font-weight: 500;
            margin-top: 8px;
            transition: 0.2s;
        }

        .auth-back-link:hover { color: #b8d0ff; }

        .auth-main {
            width: 100%;
        }

        .auth-alert {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            padding: 12px 16px;
            border-radius: 14px;
            margin-bottom: 14px;
            font-size: 0.88rem;
            line-height: 1.4;
        }

        .auth-alert--error {
            background: #ff475718;
            border: 1px solid #ff475750;
            color: #ffb4b4;
        }

        .auth-alert--success {
            background: #3acf6b18;
            border: 1px solid #3acf6b50;
            color: #b8f5d0;
        }

        .auth-card__head {
            text-align: center;
            margin-bottom: 22px;
        }

        .auth-card__title {
            font-size: 1.35rem;
            font-weight: 600;
            margin: 0 0 6px;
        }

        .auth-card__sub {
            margin: 0;
            font-size: 0.88rem;
            opacity: 0.7;
        }

        .auth-card__footer {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            justify-content: center;
            margin-top: 20px;
            padding-top: 18px;
            border-top: 1px solid #ffffff10;
        }

        .auth-card__footer a {
            font-size: 0.78rem;
            color: #8aa9ff;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 6px 12px;
            border-radius: 999px;
            border: 1px solid #ffffff12;
            transition: 0.2s;
        }

        .auth-card__footer a:hover {
            background: #4884ff18;
            border-color: #4884ff44;
        }

        .auth-checkbox a {
            color: #8aa9ff;
            text-decoration: underline;
            text-underline-offset: 2px;
        }

        .form-row--login { margin-bottom: 8px; }

        .form-row--login-between {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            flex-wrap: wrap;
        }

        .auth-forgot-link {
            font-size: 0.82rem;
            color: #60a5fa;
            text-decoration: none;
            white-space: nowrap;
        }

        .auth-forgot-link:hover {
            color: #93c5fd;
            text-decoration: underline;
        }

        .auth-container {
            width: 100%;
            max-width: 520px;
            margin: 0 auto;
        }

        /* Логотип */
        .logo-wrapper {
            text-align: center;
            margin-bottom: 28px;
        }

        .logo {
            font-size: 2rem;
            font-weight: 350;
            color: #fff;
            text-decoration: none;
            display: inline-block;
        }

        .logo span {
            color: #4884ff;
            font-weight: 200;
        }

        /* Карточка */
        .auth-card {
            background: #1a2533;
            border-radius: 28px;
            padding: 32px 24px;
            border: 1px solid #ffffff08;
            box-shadow: 0 20px 40px -12px #00000060;
            animation: slideUp 0.3s;
            backdrop-filter: blur(8px);
        }

        @keyframes slideUp {
            from { transform: translateY(20px); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }

        /* Табы */
        .auth-tabs {
            display: flex;
            gap: 4px;
            background: #0f1722;
            padding: 4px;
            border-radius: 40px;
            margin-bottom: 28px;
        }

        .auth-tab {
            flex: 1;
            padding: 12px;
            background: transparent;
            border: none;
            color: #9aabbf;
            border-radius: 30px;
            cursor: pointer;
            font-size: 0.95rem;
            transition: 0.2s;
        }

        .auth-tab.active {
            background: #4884ff;
            color: white;
        }

        /* Форма */
        .auth-form {
            display: block;
        }

        .auth-form.hidden {
            display: none;
        }

        .hidden {
            display: none !important;
        }

        .form-group {
            margin-bottom: 18px;
        }

        .form-label {
            display: block;
            margin-bottom: 6px;
            font-size: 0.85rem;
            opacity: 0.8;
        }

        .input-wrapper {
            position: relative;
        }

        .input-icon {
            position: absolute;
            left: 14px;
            top: 50%;
            transform: translateY(-50%);
            color: #7f8fa0;
            font-size: 1rem;
        }

        .form-input {
            width: 100%;
            background: #0f1722;
            border: 1px solid #ffffff15;
            border-radius: 14px;
            padding: 14px 16px 14px 44px;
            color: white;
            font-size: 0.95rem;
            outline: none;
            transition: 0.2s;
        }

        .form-input:focus {
            border-color: #4884ff;
        }

        .password-toggle {
            position: absolute;
            right: 14px;
            top: 50%;
            transform: translateY(-50%);
            color: #7f8fa0;
            cursor: pointer;
            font-size: 1rem;
            background: none;
            border: none;
            width: 24px;
            height: 24px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }
        .password-toggle:hover { color: #b7c9df; }

        .form-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 18px;
        }

        .checkbox-label {
            display: flex;
            align-items: center;
            gap: 8px;
            cursor: pointer;
            font-size: 0.85rem;
        }

        .checkbox-label input {
            width: 18px;
            height: 18px;
            accent-color: #4884ff;
            cursor: pointer;
        }

        .forgot-link {
            color: #4884ff;
            text-decoration: none;
            font-size: 0.85rem;
            transition: 0.2s;
        }

        .forgot-link:hover {
            text-decoration: underline;
        }

        /* Кнопка */
        .btn-primary {
            width: 100%;
            background: #4884ff;
            color: white;
            border: none;
            padding: 16px;
            border-radius: 40px;
            font-size: 1rem;
            font-weight: 400;
            cursor: pointer;
            transition: 0.2s;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            margin-bottom: 20px;
        }

        .btn-primary:hover {
            background: #3d6ed9;
            transform: scale(1.02);
        }

        .btn-primary:disabled {
            opacity: 0.6;
            cursor: not-allowed;
            transform: none;
        }
        .auth-inline-note {
            font-size: 0.78rem;
            opacity: 0.68;
            margin: -4px 0 14px;
            display: flex;
            align-items: center;
            gap: 6px;
        }
        .field-hint {
            margin-top: 6px;
            font-size: 0.74rem;
            opacity: 0.68;
            line-height: 1.35;
        }
        .auth-checkbox {
            margin: 4px 0 14px;
            align-items: flex-start;
        }
        .auth-checkbox span {
            line-height: 1.35;
            opacity: 0.88;
        }

        /* Социальные сети */
        .social-section {
            text-align: center;
        }

        .social-text {
            font-size: 0.8rem;
            opacity: 0.6;
            margin-bottom: 16px;
            position: relative;
        }

        .social-text::before,
        .social-text::after {
            content: '';
            position: absolute;
            top: 50%;
            width: 30%;
            height: 1px;
            background: #ffffff15;
        }

        .social-text::before {
            left: 0;
        }

        .social-text::after {
            right: 0;
        }

        .social-buttons {
            display: flex;
            gap: 12px;
            justify-content: center;
        }

        .social-btn {
            flex: 1;
            background: #0f1722;
            border: 1px solid #ffffff15;
            border-radius: 14px;
            padding: 12px;
            color: #eef2f6;
            text-decoration: none;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            font-size: 0.9rem;
            transition: 0.2s;
            cursor: pointer;
        }

        .social-btn:hover {
            background: #1a2533;
            border-color: #4884ff40;
        }

        .social-btn i {
            font-size: 1.2rem;
        }

        .social-btn.google i { color: #ea4335; }
        .social-btn.telegram i { color: #26a5e4; }
        .social-btn.vk i { color: #0077ff; }
        .social-btn.yandex i { color: #ff4d4d; }
        .social-section.hidden { display: none; }

        /* Дополнительно */
        .auth-footer {
            text-align: center;
            margin-top: 20px;
            font-size: 0.85rem;
        }

        .auth-footer a {
            color: #4884ff;
            text-decoration: none;
        }

        .error-message {
            color: #ff4757;
            font-size: 0.8rem;
            margin-top: 6px;
            display: none;
        }

        .error-message.show {
            display: block;
        }

        .success-message {
            color: #3acf6b;
            font-size: 0.8rem;
            margin-top: 6px;
            display: none;
        }

        .success-message.show {
            display: block;
        }

        /* Требования к паролю */
        .password-requirements {
            margin-top: 8px;
            font-size: 0.75rem;
            opacity: 0.7;
        }

        .requirement {
            display: flex;
            align-items: center;
            gap: 6px;
            margin-bottom: 4px;
        }

        .requirement.valid {
            color: #3acf6b;
        }

        .requirement i {
            font-size: 0.7rem;
        }

        /* Сила пароля */
        .password-strength {
            margin-top: 8px;
        }

        .strength-bar {
            height: 4px;
            background: #0f1722;
            border-radius: 2px;
            margin-top: 6px;
            overflow: hidden;
        }

        .strength-fill {
            height: 100%;
            width: 0%;
            transition: 0.3s;
            border-radius: 2px;
        }

        .strength-fill.weak { width: 33%; background: #ff4757; }
        .strength-fill.medium { width: 66%; background: #ffb83d; }
        .strength-fill.strong { width: 100%; background: #3acf6b; }

        .strength-text {
            font-size: 0.75rem;
            margin-top: 4px;
        }

        /* Капча */
        .captcha-wrapper {
            display: flex;
            align-items: center;
            gap: 10px;
            margin: 16px 0;
        }

        .captcha-box {
            background: #0f1722;
            border: 1px solid #ffffff15;
            border-radius: 12px;
            padding: 12px 16px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: monospace;
            font-size: 1.4rem;
            letter-spacing: 8px;
            color: #4884ff;
            flex: 1;
        }

        .captcha-refresh {
            width: 44px;
            height: 44px;
            background: #0f1722;
            border: 1px solid #ffffff15;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #4884ff;
            cursor: pointer;
            font-size: 1.2rem;
        }

        /* 2FA */
        .twofa-section {
            margin: 16px 0;
            padding: 16px;
            background: #0f1722;
            border-radius: 14px;
        }

        .twofa-title {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 12px;
            font-weight: 400;
        }

        .code-inputs {
            display: flex;
            gap: 8px;
            justify-content: center;
        }

        .code-input {
            width: 48px;
            height: 56px;
            background: #1a2533;
            border: 1px solid #ffffff15;
            border-radius: 12px;
            text-align: center;
            font-size: 1.5rem;
            color: white;
            outline: none;
        }

        .code-input:focus {
            border-color: #4884ff;
        }

        /* Toast */
        .toast {
            position: fixed;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background: #1e2a3af0;
            backdrop-filter: blur(12px);
            border-radius: 30px;
            padding: 10px 20px;
            z-index: 300;
            border: 1px solid #4884ff60;
            opacity: 0;
            transition: 0.3s;
            pointer-events: none;
            font-size: 0.85rem;
            white-space: nowrap;
        }

        .toast.show {
            opacity: 1;
        }

        /* Модалка 2FA */
        .modal-overlay {
            position: fixed;
            inset: 0;
            background: #000000b0;
            backdrop-filter: blur(4px);
            z-index: 200;
            display: none;
            align-items: center;
            justify-content: center;
        }

        .modal {
            background: #1a2533;
            border-radius: 24px;
            padding: 28px;
            max-width: 400px;
            width: 90%;
            border: 1px solid #4884ff;
        }

        .modal-title {
            font-weight: 400;
            font-size: 1.3rem;
            margin-bottom: 16px;
            text-align: center;
        }

        /* Адаптация */
        @media (max-width: 900px) {
            .auth-shell {
                grid-template-columns: 1fr;
                max-width: 480px;
                align-items: flex-start;
                padding-top: 24px;
            }

            .auth-brand {
                text-align: center;
                align-items: center;
            }

            .auth-brand__tagline { max-width: none; }
            .auth-benefits { text-align: left; max-width: 360px; }
        }

        @media (max-width: 480px) {
            .auth-shell { padding: 16px 12px 28px; }

            .auth-card {
                padding: 24px 16px;
            }

            .auth-logo .logo-brand,
            .auth-logo { font-size: 1.65rem; }

            .social-buttons {
                flex-direction: column;
            }

            .code-input {
                width: 40px;
                height: 48px;
                font-size: 1.2rem;
            }

            .auth-card__footer { flex-direction: column; align-items: stretch; }
            .auth-card__footer a { justify-content: center; }
        }

        /* Анимация загрузки */
        .spinner {
            display: inline-block;
            width: 20px;
            height: 20px;
            border: 2px solid #ffffff30;
            border-top-color: white;
            border-radius: 50%;
            animation: spin 0.8s linear infinite;
        }

        @keyframes spin {
            to { transform: rotate(360deg); }
        }

        /* Согласие */
        .agree-text {
            font-size: 0.75rem;
            opacity: 0.7;
            text-align: center;
            margin-top: 16px;
        }

        .agree-text a {
            color: #4884ff;
            text-decoration: none;
        }
