﻿* {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Inter', sans-serif;
            font-weight: 300;
        }

        body {
            background-color: #131c29;
            color: #eef2f6;
            line-height: 1.4;
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 16px;
            -webkit-tap-highlight-color: transparent;
        }

        .auth-container {
            width: 100%;
            max-width: 440px;
            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;
        }

        @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;
        }

        .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;
        }

        .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;
        }

        /* Социальные сети */
        .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; }

        /* Дополнительно */
        .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: 480px) {
            body {
                padding: 12px;
                align-items: flex-start;
            }

            .auth-card {
                padding: 24px 16px;
            }

            .logo {
                font-size: 1.8rem;
            }

            .social-buttons {
                flex-direction: column;
            }

            .code-input {
                width: 40px;
                height: 48px;
                font-size: 1.2rem;
            }
        }

        /* Анимация загрузки */
        .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;
        }
