.login { display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 1rem; background: #f5f5f5; } .card { width: 100%; max-width: 28rem; padding: 2rem; border-radius: 1rem; background: #ffffff; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15); } .title { margin: 0 0 0.5rem; font-size: 1.875rem; font-weight: 700; color: #111; text-align: center; } .subtitle { margin: 0 0 1.5rem; color: #666; text-align: center; } .tabs { display: flex; gap: 0.25rem; margin-bottom: 1.25rem; padding: 0.25rem; border-radius: 0.625rem; background: #f0f0f0; } .tab { flex: 1; padding: 0.5rem 0.75rem; border: none; border-radius: 0.375rem; font-size: 0.875rem; font-weight: 600; color: #666; background: transparent; cursor: pointer; transition: background 0.2s, color 0.2s; } .tab:hover { color: #333; } .tabActive { color: #111; background: #ffffff; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12); } .optional { font-weight: 400; color: #999; } .form { display: flex; flex-direction: column; gap: 1rem; } .label { display: flex; flex-direction: column; gap: 0.375rem; font-size: 0.875rem; font-weight: 500; color: #444; } .input { padding: 0.75rem 1rem; border: 1px solid #ccc; border-radius: 0.5rem; font-size: 1rem; color: #111; background: #fafafa; transition: border-color 0.2s, box-shadow 0.2s; } .input:focus { outline: none; border-color: #888; box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08); } .button { padding: 0.75rem 1rem; border: none; border-radius: 0.5rem; font-size: 1rem; font-weight: 600; color: #ffffff; background: #111; cursor: pointer; transition: background 0.2s; } .button:hover:not(:disabled) { background: #333; } .button:disabled { opacity: 0.6; cursor: not-allowed; } .error { margin: 0; padding: 0.5rem 0.75rem; border-radius: 0.5rem; font-size: 0.8125rem; color: #b00020; background: #fde7ea; text-align: center; }