body.login-page { margin:0; padding:0; background:#1c1c1c; color:#ededed; font-family:'Inter', sans-serif; min-height:100vh; }
.auth-container { display:flex; min-height:100vh; }
.auth-left { flex:0 0 50%; max-width:50%; display:grid; grid-template-rows:1fr auto; padding:2rem clamp(1.5rem,4vw,3rem); border-right:1px solid #2e2e2e; overflow-y:auto; box-sizing:border-box; }
.auth-main { align-self:center; justify-self:center; width:min(100%,540px); display:grid; gap:1rem; padding:1rem 0; }
.auth-panel-logo { display:flex; justify-content:center; margin-bottom:1.4rem; }
.auth-panel-logo img { height:46px; width:auto; max-width:100%; }
.auth-back-under { display:flex; justify-content:center; }
.auth-page-back { margin:0 !important; transform:none !important; }
.auth-page-back:hover, .auth-page-back:focus { transform:none !important; }
.auth-form-wrapper { width:100%; display:flex; flex-direction:column; justify-content:center; padding:1.6rem; border:1px solid rgba(62,207,142,0.22); border-radius:10px; background:rgba(35,35,35,0.62); box-shadow:0 18px 48px rgba(0,0,0,0.22); box-sizing:border-box; }
.auth-form-wrapper h1 { font-size:1.75rem; font-weight:500; color:#ededed; margin-bottom:0.25rem; }
.auth-form-wrapper .auth-subtitle { color:#a0a0a0; font-size:0.9rem; margin-bottom:1.5rem; }
.auth-form-wrapper > h1,
.auth-form-wrapper > .auth-subtitle { text-align:center; }

.auth-form .form-row { display: flex; gap: 1rem; margin-bottom: 0.75rem; }
.auth-form .form-group { flex: 1; }
.auth-form label { display: block; font-size: 0.8rem; font-weight: 500; color: #ededed; margin-bottom: 0.25rem; }
.auth-form input, .auth-form select { width: 100%; padding: 0.55rem 0.75rem; background: transparent; border: 1px solid #2e2e2e; border-radius: 6px; color: #ededed; font-size: 0.85rem; font-family: inherit; outline: none; transition: border-color 0.2s; box-sizing: border-box; }
.auth-form select { background: #1c1c1c; color: #ededed; color-scheme: dark; }
.auth-form select option { background: #1c1c1c; color: #ededed; }
.auth-form select option:checked { background: #1E90FF; color: #ffffff; }
.auth-form select option:disabled { color: #777777; }
.auth-form input:focus, .auth-form select:focus { border-color: #3ECF8E; }
.auth-form input:disabled, .auth-form select:disabled { opacity: 0.5; cursor: not-allowed; }
.required-marker, .password-label-required, .password-policy-marker { color:#3ECF8E; font-weight:700; }
.required-marker, .password-label-required { font-size:0.75em; vertical-align:super; }
.required-fields-note { margin-bottom:0.25rem; }
.required-fields-note + .password-policy-note { margin-top:0; }

.privacy-checkbox-group { margin: 1rem 0; display: flex; flex-direction: column; gap: 0.55rem; }
.privacy-checkbox-group label { display: flex; align-items: flex-start; gap: 0.55rem; font-size: 0.75rem; font-weight: 400; color: #c8c8c8; cursor: pointer; line-height:1.45; }
.privacy-checkbox-group input { width: auto; margin-top: 0.15rem; }
.privacy-checkbox-group .checkbox-text { display:block; min-width:0; }
.privacy-checkbox-group a { color: #3ECF8E; text-decoration: underline; white-space:nowrap; }

.auth-form .submit-btn { width: 100%; padding: 0.65rem; background: #3ECF8E; color: #1c1c1c; border: 1px solid transparent; border-radius: 6px; font-size: 0.9rem; font-weight: 600; cursor: pointer; transition: all 0.2s; font-family: inherit; margin-top: 0.5rem; }
.auth-form .submit-btn:hover:not(:disabled) { background: #30A46C; transform: translateY(-1px); }
.auth-form button#register-submit:disabled,
.auth-form button#register-submit[aria-disabled="true"],
.auth-form button#register-submit:disabled:hover,
.auth-form button#register-submit:disabled:focus { background:#2a2a2a !important; border-color:#3a3a3a !important; color:#b8b8b8 !important; cursor:not-allowed !important; opacity:1 !important; transform:none !important; box-shadow:none !important; }

.auth-recaptcha-field { width:100%; min-height:1px; display:flex; justify-content:center; margin:0 0 0.5rem; overflow:hidden; }
.auth-recaptcha-field .g-recaptcha { width:304px; height:78px; margin:0; transform:scale(var(--insygro-recaptcha-scale, 1)); transform-origin:50% 0; }

.auth-form .auth-links { text-align: center; margin-top: 1rem; font-size: 0.85rem; color: #a0a0a0; }
.auth-form .auth-links a { color: #ededed; text-decoration: underline; }
.auth-footer { width:min(100%,540px); margin:0 auto; font-size:0.72rem; color:#777; text-align:center; padding-top:1rem; }

.error-alert { background:rgba(239,68,68,0.1); border:1px solid rgba(239,68,68,0.3); border-radius:6px; padding:0.75rem 1rem; margin-bottom:1rem; color:#fca5a5; font-size:0.8rem; }
.success-alert { background:rgba(62,207,142,0.1); border:1px solid rgba(62,207,142,0.3); border-radius:6px; padding:0.75rem 1rem; margin-bottom:1rem; color:#3ECF8E; font-size:0.8rem; }
.error-message { color: #fca5a5; font-size: 0.7rem; margin-top: 0.2rem; }

.auth-right { flex:1; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:3rem; background: #1c1c1c; }
.testimonial { max-width:500px; }
.testimonial-quote-mark { font-size:5rem; line-height:1; color:#2e2e2e; font-family:Georgia,serif; margin-bottom:-1rem; }
.testimonial-text { font-size:1.75rem; font-weight:400; color:#ededed; line-height:1.4; margin-bottom:1.5rem; }
.testimonial-author { display:flex; align-items:center; gap:0.75rem; }
.testimonial-avatar { width:40px; height:40px; border-radius:50%; object-fit:cover; filter:grayscale(100%); }
.testimonial-name { color:#a0a0a0; font-size:0.9rem; }

@media (max-width:1024px) {
    .auth-left { flex: 0 0 100%; max-width: 100%; border-right: none; }
    .auth-right { display: none; }
    .auth-main,
    .auth-form-wrapper,
    .auth-footer { width:100%; max-width:540px; }
}

@media (max-width:640px) {
    .auth-left { padding:1.25rem; }
    .auth-main { padding:0.5rem 0; }
    .auth-form-wrapper { padding:1.25rem; }
    .auth-form .form-row { flex-direction:column; gap:0.75rem; }
    .auth-form .form-group[style] { flex:1 1 auto !important; }
    .auth-recaptcha-field { width:100%; }
}
