body.login-page { --auth-accent:#3ECF8E; --auth-accent-dark:#30A46C; --auth-accent-rgb:62,207,142; margin:0; padding:0; background:#1c1c1c; color:#ededed; font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; min-height:100vh; }
body.login-page.auth-mode-partner { --auth-accent:#1E90FF; --auth-accent-dark:#1875d1; --auth-accent-rgb:30,144,255; }
body.login-page.auth-mode-admin { --auth-accent:#FF4500; --auth-accent-dark:#d63a00; --auth-accent-rgb:255,69,0; }
.auth-container { display:flex; min-height:100vh; }
.auth-left { flex:0 0 45%; max-width:45%; display:grid; grid-template-rows:1fr auto; padding:2rem clamp(1.5rem,4vw,3rem); border-right:1px solid #2e2e2e; box-sizing:border-box; }
.auth-main { align-self:center; justify-self:center; width:min(100%,430px); display:grid; gap:1rem; }
.auth-panel-logo { display:flex; justify-content:center; margin-bottom:1.6rem; }
.auth-panel-logo img { height:46px; width:auto; max-width:100%; }
.auth-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0.4rem; padding:0.25rem; margin:-0.2rem 0 1.35rem; border:1px solid #2e2e2e; border-radius:8px; background:rgba(255,255,255,0.03); }
.auth-tab { min-height:38px; border:1px solid transparent; border-radius:6px; background:transparent; color:#a0a0a0; font:600 0.86rem/1.2 inherit; cursor:pointer; transition:background-color 0.18s ease,border-color 0.18s ease,color 0.18s ease; }
.auth-tab:hover, .auth-tab:focus { color:#ededed; border-color:#3a3a3a; outline:none; }
.auth-tab.active { color:#ffffff; background:var(--auth-accent); border-color:rgba(var(--auth-accent-rgb),0.72); }
body.login-page.auth-mode-client .auth-tab.active { color:#07100c; }
.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 { align-self:center; justify-self:center; width:min(100%,430px); max-width:430px; display:flex; flex-direction:column; justify-content:center; padding:2rem; border:1px solid rgba(var(--auth-accent-rgb),0.45); border-radius:10px; background:rgba(35,35,35,0.62); box-shadow:0 18px 48px rgba(var(--auth-accent-rgb),0.13); 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:2rem; }
.auth-tabs + h1,
#auth-subtitle { text-align:center; }
.auth-form label { display:block; font-size:0.85rem; font-weight:500; color:#ededed; margin-bottom:0.35rem; }
.auth-form input[type="email"], .auth-form input[type="password"], .auth-form input[type="text"] { width:100%; padding:0.6rem 0.75rem; background:transparent; border:1px solid #2e2e2e; border-radius:6px; color:#ededed; font-size:0.9rem; font-family:inherit; margin-bottom:1rem; outline:none; transition:border-color 0.2s; box-sizing:border-box; }
.auth-form input:focus { border-color:var(--auth-accent); box-shadow:0 0 0 2px rgba(var(--auth-accent-rgb),0.14); }
.auth-form input::placeholder { color:#555; }
.auth-form .submit-btn { width:100%; padding:0.65rem; background:var(--auth-accent); color:#ffffff; border:1px solid rgba(var(--auth-accent-rgb),0.72); border-radius:6px; font-size:0.9rem; font-weight:700; cursor:pointer; transition:background 0.2s,border-color 0.2s; font-family:inherit; margin-top:0.5rem; }
body.login-page.auth-mode-client .auth-form .submit-btn { color:#1c1c1c; }
.auth-form .submit-btn:hover, .auth-form .submit-btn:focus { background:var(--auth-accent-dark); border-color:var(--auth-accent); outline:none; }
.auth-form .submit-btn:disabled,
.auth-form .submit-btn[aria-disabled="true"],
.auth-form .submit-btn:disabled:hover,
.auth-form .submit-btn:disabled:focus { background:#4a4a4a; border-color:#5b5b5b; color:#b8b8b8 !important; cursor:not-allowed; opacity:0.72; transform:none !important; box-shadow:none; }
body.login-page form.auth-form button#login-submit:disabled,
body.login-page form.auth-form button#login-submit[aria-disabled="true"],
body.login-page form.auth-form button#login-submit:disabled:hover,
body.login-page form.auth-form button#login-submit:disabled:focus { background:#2a2a2a !important; background-color:#2a2a2a !important; border-color:#3a3a3a !important; color:#b8b8b8 !important; cursor:not-allowed !important; opacity:1 !important; transform:none !important; box-shadow:none !important; }
.auth-noscript-note { margin:0.75rem 0; padding:0.7rem; border:1px solid #5b5b5b; border-radius:6px; color:#d6d6d6; font-size:0.8rem; line-height:1.45; }
.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-form .auth-links a:hover { color:#3ECF8E; }
.auth-footer { width:min(100%,430px); margin:0 auto; font-size:0.75rem; color:#555; padding-top:1.5rem; }
.auth-footer a { color:#a0a0a0; text-decoration:underline; display:inline-block; }
.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.85rem; }
.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.85rem; }
.auth-recaptcha-field { width:100%; height:78px; display:flex; justify-content:center; margin:1rem 0; overflow:hidden; }
.auth-recaptcha-field .g-recaptcha { width:304px; height:78px; margin:0; transform:scale(var(--insygro-recaptcha-scale, 1)); transform-origin:50% 0; }
.mfa-setup-box { display:grid; gap:0.85rem; justify-items:center; margin:0.5rem 0 1rem; text-align:center; }
.mfa-qr { width:190px; height:190px; display:grid; place-items:center; padding:0.75rem; border-radius:8px; background:#ffffff; box-sizing:border-box; }
.mfa-qr svg { width:100%; height:100%; display:block; }
.mfa-secret { width:100%; margin:0; padding:0.65rem; border:1px solid #2e2e2e; border-radius:6px; background:rgba(255,255,255,0.04); color:#ededed; font:700 0.9rem/1.45 "Courier New",monospace; letter-spacing:0; overflow-wrap:anywhere; box-sizing:border-box; }
.mfa-note { color:#a0a0a0; font-size:0.82rem; line-height:1.45; margin:0 0 1rem; }
.auth-right { flex:1; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:3rem; }
.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:contain; padding:6px; box-sizing:border-box; background:#2e2e2e; border:1px solid rgba(255,255,255,0.08); filter:grayscale(100%); }
.testimonial-name { color:#a0a0a0; font-size:0.9rem; }
@media (max-width:768px) {
    .auth-container { flex-direction:column; }
    .auth-left { flex:1; max-width:100%; border-right:none; padding:1.5rem; }
    .auth-right { display:none; }
    .auth-main,
    .auth-form-wrapper,
    .auth-footer { width:100%; max-width:430px; }
    .auth-form-wrapper { padding:1.35rem; }
    .auth-panel-logo img { height:42px; }
}
