| * { |
| margin: 0; |
| padding: 0; |
| box-sizing: border-box; |
| } |
|
|
| body { |
| font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', |
| 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', |
| sans-serif; |
| -webkit-font-smoothing: antialiased; |
| -moz-osx-font-smoothing: grayscale; |
| background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); |
| min-height: 100vh; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| padding: 20px; |
| } |
|
|
| .container { |
| width: 100%; |
| max-width: 450px; |
| } |
|
|
| .auth-container { |
| background: white; |
| border-radius: 16px; |
| box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); |
| overflow: hidden; |
| animation: slideUp 0.5s ease-out; |
| } |
|
|
| @keyframes slideUp { |
| from { |
| opacity: 0; |
| transform: translateY(30px); |
| } |
| to { |
| opacity: 1; |
| transform: translateY(0); |
| } |
| } |
|
|
| .auth-header { |
| background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); |
| color: white; |
| padding: 40px 30px 30px; |
| text-align: center; |
| position: relative; |
| } |
|
|
| .auth-lang-switch { |
| position: absolute; |
| top: 16px; |
| right: 16px; |
| padding: 6px 12px; |
| background: rgba(255, 255, 255, 0.15); |
| border: 1px solid rgba(255, 255, 255, 0.25); |
| border-radius: 8px; |
| color: white; |
| font-size: 13px; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| } |
|
|
| .auth-lang-switch:hover { |
| background: rgba(255, 255, 255, 0.25); |
| } |
|
|
| .auth-header h1 { |
| font-size: 28px; |
| font-weight: 600; |
| margin-bottom: 30px; |
| letter-spacing: 0.5px; |
| } |
|
|
| .tab-buttons { |
| display: flex; |
| gap: 10px; |
| background: rgba(255, 255, 255, 0.2); |
| border-radius: 10px; |
| padding: 5px; |
| } |
|
|
| .tab-btn { |
| flex: 1; |
| padding: 12px 20px; |
| border: none; |
| background: transparent; |
| color: rgba(255, 255, 255, 0.7); |
| font-size: 16px; |
| font-weight: 500; |
| cursor: pointer; |
| border-radius: 8px; |
| transition: all 0.3s ease; |
| } |
|
|
| .tab-btn:hover { |
| color: white; |
| background: rgba(255, 255, 255, 0.1); |
| } |
|
|
| .tab-btn.active { |
| background: white; |
| color: #667eea; |
| font-weight: 600; |
| } |
|
|
| .form-container { |
| display: none; |
| padding: 40px 30px; |
| animation: fadeIn 0.3s ease-in; |
| } |
|
|
| .form-container.active { |
| display: block; |
| } |
|
|
| @keyframes fadeIn { |
| from { |
| opacity: 0; |
| } |
| to { |
| opacity: 1; |
| } |
| } |
|
|
| .form-group { |
| margin-bottom: 24px; |
| } |
|
|
| .form-group label { |
| display: block; |
| margin-bottom: 8px; |
| color: #333; |
| font-weight: 500; |
| font-size: 14px; |
| } |
|
|
| .form-group input, |
| .form-group select { |
| width: 100%; |
| padding: 14px 16px; |
| border: 2px solid #e0e0e0; |
| border-radius: 8px; |
| font-size: 15px; |
| transition: all 0.3s ease; |
| background: #f9f9f9; |
| font-family: inherit; |
| } |
|
|
| .form-group input:focus, |
| .form-group select:focus { |
| outline: none; |
| border-color: #667eea; |
| background-color: white; |
| box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1); |
| } |
|
|
| .form-group input::placeholder { |
| color: #999; |
| } |
|
|
| .password-field { |
| position: relative; |
| } |
|
|
| .password-field input { |
| padding-right: 48px; |
| } |
|
|
| .password-toggle { |
| position: absolute; |
| right: 10px; |
| top: 50%; |
| transform: translateY(-50%); |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| width: 32px; |
| height: 32px; |
| border: none; |
| border-radius: 6px; |
| background: transparent; |
| color: #888; |
| cursor: pointer; |
| transition: color 0.2s ease, background-color 0.2s ease; |
| } |
|
|
| .password-toggle:hover { |
| color: #667eea; |
| background: rgba(102, 126, 234, 0.08); |
| } |
|
|
| .password-toggle svg { |
| width: 20px; |
| height: 20px; |
| } |
|
|
| .password-toggle .icon-eye-off { |
| display: none; |
| } |
|
|
| .password-toggle.is-visible .icon-eye { |
| display: none; |
| } |
|
|
| .password-toggle.is-visible .icon-eye-off { |
| display: block; |
| } |
|
|
| .form-group select { |
| cursor: pointer; |
| appearance: none; |
| background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23667eea' d='M6 9L1 4h10z'/%3E%3C/svg%3E"); |
| background-repeat: no-repeat; |
| background-position: right 16px center; |
| padding-right: 40px; |
| } |
|
|
| .form-group select:hover { |
| border-color: #d0d0d0; |
| } |
|
|
| .form-group select option { |
| padding: 10px; |
| background: white; |
| } |
|
|
| .btn { |
| width: 100%; |
| padding: 14px; |
| border: none; |
| border-radius: 8px; |
| font-size: 16px; |
| font-weight: 600; |
| cursor: pointer; |
| transition: all 0.3s ease; |
| text-transform: uppercase; |
| letter-spacing: 0.5px; |
| } |
|
|
| .btn-primary { |
| background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); |
| color: white; |
| } |
|
|
| .btn-primary:hover { |
| transform: translateY(-2px); |
| box-shadow: 0 8px 20px rgba(102, 126, 234, 0.4); |
| } |
|
|
| .btn-primary:active { |
| transform: translateY(0); |
| } |
|
|
| .btn-primary:disabled { |
| opacity: 0.6; |
| cursor: not-allowed; |
| transform: none; |
| } |
|
|
| .message { |
| margin-top: 16px; |
| padding: 12px 16px; |
| border-radius: 8px; |
| font-size: 14px; |
| text-align: center; |
| display: none; |
| animation: slideDown 0.3s ease-out; |
| } |
|
|
| @keyframes slideDown { |
| from { |
| opacity: 0; |
| transform: translateY(-10px); |
| } |
| to { |
| opacity: 1; |
| transform: translateY(0); |
| } |
| } |
|
|
| .message.show { |
| display: block; |
| } |
|
|
| .message.success { |
| background: #d4edda; |
| color: #155724; |
| border: 1px solid #c3e6cb; |
| } |
|
|
| .message.error { |
| background: #f8d7da; |
| color: #721c24; |
| border: 1px solid #f5c6cb; |
| } |
|
|
| .message.info { |
| background: #d1ecf1; |
| color: #0c5460; |
| border: 1px solid #bee5eb; |
| } |
|
|
| .demo-hint { |
| margin-top: 12px; |
| font-size: 13px; |
| color: #666; |
| text-align: center; |
| line-height: 1.5; |
| } |
|
|
| |
| @media (max-width: 480px) { |
| .auth-header { |
| padding: 30px 20px 20px; |
| } |
|
|
| .auth-header h1 { |
| font-size: 24px; |
| margin-bottom: 20px; |
| } |
|
|
| .form-container { |
| padding: 30px 20px; |
| } |
|
|
| .tab-btn { |
| padding: 10px 16px; |
| font-size: 14px; |
| } |
| } |
|
|