form { width: 100%; } form .input-group { margin-bottom: 1.125rem; } form .input-group label { display: block; font-size: 0.625rem; color: var(--color-muted); margin-bottom: 0.375rem; letter-spacing: 0.0625rem; text-transform: uppercase; font-weight: 600; } form .input-group input { width: 100%; background: var(--surface); border: 1px solid rgba(180, 180, 180, 0.2); color: var(--color-text); padding: 0.875rem 1rem; border-radius: 0.625rem; font-size: 0.95rem; font-family: 'Roboto', sans-serif; transition: all 150ms ease; box-sizing: border-box; } form .input-group input:focus { outline: none; border-color: var(--green); background: var(--surface-2); box-shadow: 0 0 8px rgba(46, 232, 138, 0.2); } form .input-group input::placeholder { color: var(--color-muted); opacity: 0.6; } /* Input Icon Container */ form .input-icon { position: relative; display: flex; align-items: center; } form .input-icon input { padding-right: 2.5rem; } form .input-icon .icon { position: absolute; right: 1rem; color: var(--color-muted); cursor: pointer; transition: color 150ms ease; flex-shrink: 0; } form .input-icon .icon:hover { color: var(--green); } /* Password Checklist */ .password-checklist { background: rgba(46, 232, 138, 0.05); border: 1px solid rgba(46, 232, 138, 0.2); border-radius: 0.625rem; padding: 1rem; margin-top: 0.5rem; font-size: 0.8125rem; line-height: 1.5; } .password-checklist div { margin-bottom: 0.375rem; transition: color 200ms ease; } .password-checklist div:last-child { margin-bottom: 0; } /* Error Text */ form .error-text { color: var(--color-danger); font-size: 0.875rem; margin-bottom: 1.125rem; animation: fadeInUp 0.4s ease-out forwards; } .error-text--animated { animation: fadeInUp 0.4s ease-out forwards; } @keyframes fadeInUp { from { opacity: 0; transform: translateY(0.5rem); } to { opacity: 1; transform: translateY(0); } } /* Form Actions */ .form-actions { margin-top: 2rem; } .form-actions .full-width-btn { width: 100%; padding: 0.875rem; font-size: 1.375rem; font-weight: 600; } .form-actions .disabled-btn { opacity: 0.8; cursor: default; } /* Loader Animation */ .loader-icon-animation { animation: spin 3s linear infinite; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* Light Theme Overrides */ html[data-theme='light'] form .input-group input { background: var(--surface); border-color: var(--color-border); color: var(--color-text); } html[data-theme='light'] form .input-group input:focus { background: var(--surface-2); border-color: var(--green); } html[data-theme='light'] form .input-group input::placeholder { color: #9ca3af; } html[data-theme='light'] form .input-icon .icon { color: #6b7280; } html[data-theme='light'] form .input-icon .icon:hover { color: var(--green); } html[data-theme='light'] .password-checklist { background: rgba(46, 232, 138, 0.08); border-color: rgba(46, 232, 138, 0.3); color: #374151; } html[data-theme='light'] form .error-text { color: #b91c1c; } /* Autofill Styling */ form input:-webkit-autofill, form input:-webkit-autofill:hover, form input:-webkit-autofill:focus, form input:-webkit-autofill:active { -webkit-box-shadow: 0 0 0 62.5rem var(--surface-2) inset; box-shadow: 0 0 0 62.5rem var(--surface-2) inset; -webkit-text-fill-color: var(--color-text); caret-color: var(--color-text); transition: background-color 5000s ease-in-out 0s; }