.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; } .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; } .note { margin-top: 1rem; font-size: 0.75rem; color: #888; text-align: center; }