.page { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: var(--color-bg-page); padding: 20px; } .card { width: 100%; max-width: 420px; background: var(--color-bg-input-bar); border: 1px solid var(--color-border-input-bar); border-radius: 16px; padding: 40px 32px; } .title { font-size: 24px; font-weight: 600; color: var(--color-text-primary); text-align: center; margin-bottom: 4px; } .subtitle { font-size: 14px; color: var(--color-text-secondary); text-align: center; margin-bottom: 32px; } .form { display: flex; flex-direction: column; gap: 20px; } .field { display: flex; flex-direction: column; gap: 6px; } .label { font-size: 13px; color: var(--color-text-secondary); font-weight: 500; } .input { height: 44px; padding: 0 14px; background: rgba(255, 255, 255, 0.04); border: 1px solid var(--color-border-input-bar); border-radius: 10px; color: var(--color-text-primary); font-size: 14px; outline: none; transition: border-color 0.2s; } .input::placeholder { color: var(--color-text-disabled); } .input:focus { border-color: var(--color-primary); } .error { color: #ff4d4f; font-size: 13px; text-align: center; padding: 8px; background: rgba(255, 77, 79, 0.08); border-radius: 8px; } .submitBtn { height: 44px; background: var(--color-primary); color: #fff; border: none; border-radius: 10px; font-size: 15px; font-weight: 500; cursor: pointer; transition: opacity 0.2s; } .submitBtn:hover { opacity: 0.9; } .submitBtn:disabled { opacity: 0.5; cursor: not-allowed; } .switchLink { text-align: center; margin-top: 24px; font-size: 13px; color: var(--color-text-secondary); } .switchLink a { color: var(--color-primary); text-decoration: none; } .switchLink a:hover { text-decoration: underline; }