/* Sign-in / registration / password pages (Liner auth layout, emerald) */
.auth-shell { --em: #059669; --em-dark: #047857; font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif; color: #334155; min-height: 100vh; background: #fff; }
.auth-shell a { color: var(--em); }
.auth-split { display: flex; min-height: 100vh; }
.auth-form-col { flex: 1 1 50%; display: flex; align-items: center; justify-content: center; padding: 2.5rem 1.25rem; }
.auth-form-inner { width: 100%; max-width: 440px; }
.auth-brand img { max-height: 42px; max-width: 200px; }
.auth-title { font-size: 2rem; font-weight: 800; color: #0f172a; letter-spacing: -.02em; margin: 0 0 .35rem; }
.auth-sub { color: #64748b; font-size: 14.5px; margin-bottom: 1.5rem; }
.auth-brand-col { flex: 1 1 50%; position: relative; overflow: hidden; background: linear-gradient(150deg, #047857 0%, #059669 55%, #10b981 100%); color: #fff; align-items: center; justify-content: center; padding: 3rem; }
.auth-blob { position: absolute; border-radius: 50%; background: rgba(255,255,255,.08); }
.auth-blob-1 { width: 300px; height: 300px; top: 18%; left: 10%; } .auth-blob-2 { width: 380px; height: 380px; bottom: 6%; right: 6%; }
.auth-brand-inner { position: relative; max-width: 460px; }
.auth-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: .9rem; margin-bottom: 1.75rem; }
.auth-tile { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); border-radius: 14px; padding: 1.1rem .5rem; text-align: center; backdrop-filter: blur(4px); }
.auth-tile i { font-size: 1.5rem; display: block; margin-bottom: .5rem; color: #d1fae5; }
.auth-tile b { display: block; font-size: 14px; } .auth-tile span { font-size: 11.5px; opacity: .8; }
.auth-brand-inner h2 { color: #fff; font-size: 2rem; font-weight: 800; line-height: 1.2; margin-bottom: .75rem; }
.auth-brand-inner p { color: rgba(255,255,255,.85); font-size: 14px; }
.auth-checks { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1rem; font-size: 13.5px; }
.auth-checks i { width: 26px; height: 26px; border-radius: 50%; background: #34d399; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; margin-right: .45rem; }
/* centered card (verification, confirm password) */
.auth-centered { background: #f8fafc; display: flex; align-items: center; justify-content: center; padding: 2rem 1rem; }
.auth-center-wrap { width: 100%; max-width: 440px; }
.auth-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 2rem 1.5rem; box-shadow: 0 1px 2px rgb(15 23 42 / .05); }
.auth-card .auth-title { font-size: 1.6rem; }
.auth-icon { width: 64px; height: 64px; border-radius: 50%; background: #d1fae5; color: var(--em); display: flex; align-items: center; justify-content: center; font-size: 1.6rem; margin: 0 auto 1rem; }
.auth-back { display: block; text-align: center; margin-top: 1.25rem; font-size: 13px; color: #64748b !important; }
/* the existing form fields, restyled */
.auth-shell form { padding: 0 !important; width: 100%; }
.auth-shell label, .auth-shell .fw-bold.text-dark { font-weight: 500 !important; color: #1e293b !important; font-size: 13px !important; }
.auth-shell .theme-input, .auth-shell input.form-control, .auth-shell select { width: 100%; height: 44px; border: 1px solid #e2e8f0 !important; border-radius: 10px !important; padding: 0 .9rem; font-size: 14px; background: #fff; color: #0f172a; box-shadow: none; }
.auth-shell .theme-input:focus, .auth-shell input.form-control:focus { border-color: #34d399 !important; box-shadow: 0 0 0 3px rgb(16 185 129 / .15) !important; outline: 0; }
.auth-shell .check-password { position: relative; }
.auth-shell .check-password .eye { position: absolute; right: .9rem; top: 50%; transform: translateY(-50%); color: #94a3b8; cursor: pointer; }
.auth-shell .input-field label + .check-password .eye, .auth-shell .input-field .check-password .eye { top: 22px; }
.auth-shell .btn-primary { background: var(--em) !important; border-color: var(--em) !important; height: 46px; border-radius: 10px !important; font-weight: 600; width: 100%; margin-top: .5rem !important; }
.auth-shell .btn-primary:hover { background: var(--em-dark) !important; border-color: var(--em-dark) !important; }
.auth-shell .google-btn, .auth-shell .btn-outline { border: 1px solid #e2e8f0 !important; border-radius: 10px; height: 44px; display: flex !important; align-items: center; justify-content: center; color: #334155 !important; background: #fff; }
.auth-shell .google-btn img { width: 18px; }
.auth-shell .theme-checkbox input:checked + .checkbox-field { background: var(--em); border-color: var(--em); }
.auth-shell .alert { border-radius: 10px; font-size: 13.5px; }
.auth-shell .mt-4 { margin-top: 1rem !important; } .auth-shell .row.g-4.mt-3 { margin-top: .5rem !important; }
.auth-shell .auth-divider { display: flex; align-items: center; gap: .75rem; color: #94a3b8; font-size: 12.5px; margin: 1.25rem 0 .75rem; }
.auth-shell .auth-divider::before, .auth-shell .auth-divider::after { content: ''; flex: 1; height: 1px; background: #e2e8f0; }
@media (max-width: 575.98px) { .auth-title { font-size: 1.6rem; } .auth-form-col { padding: 2rem 1rem; align-items: flex-start; } }
