/* Auth Pages - Dark Theme Overhaul Using global variables from custom.css */ html, body { height: 100%; margin: 0; font-family: var(--body-font); /* The background is set by the body rule in custom.css */ } .auth-wrapper { display: flex; min-height: 100vh; width: 100%; background-color: var(--background-color); } .auth-bg { flex: 1; background: url('https://images.pexels.com/photos/193902/pexels-photo-193902.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2') no-repeat center center; background-size: cover; position: relative; display: none; /* Hide on small screens */ } @media (min-width: 992px) { .auth-bg { display: flex; align-items: center; justify-content: center; } } .auth-bg::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); z-index: 1; } .auth-bg-content { position: relative; z-index: 2; text-align: center; padding: 40px; max-width: 450px; color: var(--white-color); } .auth-bg-content h1 { font-size: 2.5rem; font-weight: 700; margin-bottom: 1rem; text-shadow: 1px 1px 8px rgba(0,0,0,0.7); } .auth-bg-content p { font-size: 1.1rem; line-height: 1.6; } .auth-form-wrapper { flex-grow: 1; /* Take up all space on mobile */ display: flex; align-items: center; justify-content: center; padding: 30px; } @media (min-width: 992px) { .auth-form-wrapper { flex: 1; flex-grow: 0; } } .auth-form-container { max-width: 420px; width: 100%; } .auth-form-container .form-header h2 { font-size: 1.8rem; font-weight: 700; color: var(--heading-color); margin-bottom: 0.5rem; } .auth-form-container .form-header p { color: var(--text-color); margin-bottom: 2rem; opacity: 0.8; } .form-group { position: relative; margin-bottom: 1.5rem; } .auth-form-wrapper .form-control { height: 52px; background-color: var(--surface-color); border: 1px solid var(--border-color); color: var(--text-color); border-radius: 8px; padding: 0 20px; font-size: 0.95rem; transition: all 0.3s ease; } .auth-form-wrapper .form-control:focus { border-color: var(--primary-color); background-color: var(--surface-color); box-shadow: 0 0 0 0.25rem rgba(192, 160, 128, 0.2); } .auth-form-wrapper .btn-primary { background-color: var(--primary-color); border-color: var(--primary-color); color: var(--heading-color); height: 50px; font-size: 1rem; font-weight: 600; border-radius: 8px; transition: all 0.3s ease; } .auth-form-wrapper .btn-primary:hover { background-color: var(--secondary-color); border-color: var(--secondary-color); } .auth-footer { text-align: center; margin-top: 1.5rem; font-size: 0.9rem; color: var(--text-color); } .auth-footer a { color: var(--primary-color); font-weight: 600; } .auth-footer a:hover { text-decoration: underline; } .alert { border-radius: 8px; background-color: var(--surface-color); color: var(--text-color); border: 1px solid var(--border-color); } .alert-danger { background-color: rgba(220, 53, 69, 0.15); border-color: rgba(220, 53, 69, 0.5); color: #f8d7da; } .separator { display: flex; align-items: center; text-align: center; color: var(--text-color); opacity: 0.6; } .separator::before, .separator::after { content: ''; flex: 1; border-bottom: 1px solid var(--border-color); } .separator:not(:empty)::before { margin-right: .5em; } .separator:not(:empty)::after { margin-left: .5em; } .btn-google { background-color: var(--surface-color); border: 1px solid var(--border-color); color: var(--text-color); transition: all 0.3s ease; } .btn-google:hover { background-color: var(--background-color); border-color: var(--text-color); } .btn-google:disabled { opacity: 0.5; cursor: not-allowed; }