.login-page { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 70vh; padding: 60px 20px; width: 100%; max-width: 500px; margin: 0 auto; } .login-at-logo { font-size: 5rem; font-weight: 800; color: var(--accent); margin-bottom: 24px; line-height: 1; } .login-logo-img { width: 80px; height: 80px; margin-bottom: 24px; object-fit: contain; } .login-heading { font-size: 1.5rem; font-weight: 600; margin-bottom: 32px; display: flex; align-items: center; gap: 10px; text-align: center; line-height: 1.4; } .login-help-btn { background: none; border: none; color: var(--text-tertiary); cursor: pointer; padding: 4px; display: flex; align-items: center; transition: color 0.15s; flex-shrink: 0; } .login-help-btn:hover { color: var(--accent); } .login-help-text { background: var(--bg-elevated); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 16px 20px; margin-bottom: 24px; font-size: 0.95rem; color: var(--text-secondary); line-height: 1.6; text-align: center; } .login-help-text code { background: var(--bg-tertiary); padding: 2px 8px; border-radius: var(--radius-sm); font-size: 0.9rem; } .login-form { display: flex; flex-direction: column; gap: 16px; width: 100%; } .login-input-wrapper { position: relative; } .login-input { width: 100%; padding: 14px 16px; background: var(--bg-elevated); border: 1px solid var(--border); border-radius: var(--radius-md); color: var(--text-primary); font-size: 1rem; transition: border-color 0.15s, box-shadow 0.15s; } .login-input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15); } .login-input::placeholder { color: var(--text-tertiary); } .login-suggestions { position: absolute; top: calc(100% + 4px); left: 0; right: 0; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md); box-shadow: var(--shadow-lg); overflow: hidden; z-index: 100; } .login-suggestion { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 16px; background: transparent; border: none; cursor: pointer; text-align: left; transition: background 0.1s; } .login-suggestion:hover, .login-suggestion.selected { background: var(--bg-elevated); } .login-suggestion-avatar { width: 40px; height: 40px; border-radius: var(--radius-full); background: linear-gradient(135deg, var(--accent), #a855f7); display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; font-size: 0.875rem; font-weight: 600; color: white; } .login-suggestion-avatar img { width: 100%; height: 100%; object-fit: cover; } .login-suggestion-info { display: flex; flex-direction: column; min-width: 0; } .login-suggestion-name { font-weight: 600; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .login-suggestion-handle { font-size: 0.875rem; color: var(--text-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .login-error { padding: 12px 16px; background: rgba(239, 68, 68, 0.1); border: 1px solid rgba(239, 68, 68, 0.3); border-radius: var(--radius-md); color: #ef4444; font-size: 0.875rem; } .login-legal { font-size: 0.75rem; color: var(--text-tertiary); line-height: 1.5; margin-top: 16px; } .login-brand { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 24px; } .login-brand-icon { width: 48px; height: 48px; background: linear-gradient(135deg, var(--accent), #a855f7); border-radius: var(--radius-lg); display: flex; align-items: center; justify-content: center; font-size: 1.75rem; font-weight: 800; color: white; } .login-brand-name { font-size: 1.75rem; font-weight: 700; } .login-avatar { width: 72px; height: 72px; border-radius: var(--radius-full); background: linear-gradient(135deg, var(--accent), #a855f7); display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; font-weight: 700; font-size: 1.5rem; color: white; overflow: hidden; } .login-avatar img { width: 100%; height: 100%; object-fit: cover; } .login-avatar-large { width: 100px; height: 100px; border-radius: var(--radius-full); background: linear-gradient(135deg, var(--accent), #a855f7); display: flex; align-items: center; justify-content: center; margin-bottom: 20px; font-weight: 700; font-size: 2rem; color: white; overflow: hidden; } .login-avatar-large img { width: 100%; height: 100%; object-fit: cover; } .login-welcome { font-size: 1.5rem; font-weight: 600; margin-bottom: 32px; text-align: center; } .login-welcome-name { font-size: 1.25rem; font-weight: 600; margin-bottom: 24px; } .login-actions { display: flex; flex-direction: column; gap: 12px; width: 100%; } .login-btn { width: 100%; padding: 14px 24px; font-size: 1rem; font-weight: 600; } .login-submit { padding: 18px 32px; font-size: 1.1rem; font-weight: 600; }