#login { .container { flex: 1; display: flex; align-items: center; justify-content: center; padding: 2rem; } .login-card { background: white; border-radius: 24px; padding: 3rem; width: 100%; max-width: 440px; box-shadow: 0 20px 60px rgba(74, 74, 72, 0.08); border: 1px solid rgba(122, 155, 142, 0.1); } .login-header { text-align: center; margin-bottom: 2.5rem; } .login-title { font-size: 1.75rem; color: var(--color-text-primary); font-weight: 600; margin-bottom: 0.5rem; letter-spacing: -0.02em; } .login-subtitle { color: var(--color-text-secondary); font-size: 0.95rem; } .form-group { margin-bottom: 1.5rem; } label { display: block; margin-bottom: 0.5rem; color: var(--color-text-primary); font-size: 0.9rem; font-weight: 500; } input[type="text"], input[type="password"] { width: 100%; padding: 0.875rem 1rem; border: 2px solid var(--color-light-gray); border-radius: 12px; font-size: 1rem; color: var(--color-text-primary); background: var(--color-background); transition: all 0.2s ease; outline: none; } input[type="text"]:focus, input[type="password"]:focus { border-color: var(--color-primary); background: white; box-shadow: 0 0 0 4px rgba(122, 155, 142, 0.1); } input::placeholder { color: var(--color-medium-gray); } .login-button { width: 100%; padding: 1rem; background: var(--color-primary); color: white; border: none; border-radius: 12px; font-size: 1rem; font-weight: 600; cursor: pointer; transition: all 0.2s ease; margin-top: 0.5rem; } .login-button:hover { background: #6b8a7e; transform: translateY(-1px); box-shadow: 0 8px 20px rgba(122, 155, 142, 0.3); } .login-button:active { transform: translateY(0); } .form-footer { margin-top: 1.5rem; text-align: center; } .form-footer a { color: var(--color-primary); text-decoration: none; font-size: 0.9rem; font-weight: 500; transition: color 0.2s ease; } .form-footer a:hover { color: var(--color-accent); } .divider { display: flex; align-items: center; gap: 1rem; margin: 2rem 0; color: var(--color-medium-gray); font-size: 0.85rem; } .divider::before, .divider::after { content: ''; flex: 1; height: 1px; background: var(--color-light-gray); } @media (max-width: 640px) { .header { padding: 1.5rem 1.5rem; } .login-card { padding: 2rem 1.5rem; border-radius: 20px; } .login-title { font-size: 1.5rem; } } }