/* ==========================================================================
   Meridian CRM — Auth Screens
   ========================================================================== */
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;}
.auth-visual{
  background:radial-gradient(circle at 20% 20%,var(--brand-teal-600),var(--brand-teal-900) 70%);
  position:relative;overflow:hidden;padding:var(--sp-9);display:flex;flex-direction:column;justify-content:space-between;color:#fff;
}
.auth-visual::before{
  content:"";position:absolute;inset:0;opacity:.5;
  background-image:radial-gradient(circle,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:26px 26px;
}
.auth-visual-content{position:relative;z-index:1;}
.auth-quote{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:600;line-height:1.35;max-width:460px;}
.auth-quote span{color:var(--gold-400);}
.auth-stats{display:flex;gap:var(--sp-8);position:relative;z-index:1;}
.auth-stats div b{display:block;font-family:var(--font-display);font-size:var(--fs-3xl);}
.auth-stats div span{font-size:var(--fs-xs);color:#B7D6CB;}
.auth-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:6px 14px;border-radius:99px;font-size:var(--fs-xs);font-weight:600;margin-bottom:var(--sp-6);position:relative;z-index:1;width:fit-content;}

.auth-form-col{display:flex;align-items:center;justify-content:center;padding:var(--sp-6);}
.auth-box{width:100%;max-width:400px;}
.auth-box .brand{padding:0 0 var(--sp-7);}
.auth-box .brand-name{color:var(--text);}
.auth-title{font-size:var(--fs-2xl);font-weight:700;margin-bottom:6px;}
.auth-sub{color:var(--text-muted);font-size:var(--fs-sm);margin-bottom:var(--sp-6);}
.auth-sub a{color:var(--primary);font-weight:600;}
.auth-divider{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-5) 0;color:var(--text-faint);font-size:var(--fs-2xs);}
.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--border);}
.auth-foot-link{text-align:center;margin-top:var(--sp-6);font-size:var(--fs-sm);color:var(--text-muted);}
.auth-foot-link a{color:var(--primary);font-weight:600;}
.role-select-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.role-option{border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--sp-3);cursor:pointer;font-size:var(--fs-xs);font-weight:600;text-align:center;transition:all var(--dur-fast);}
.role-option:hover{border-color:var(--primary);}
.role-option.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);}
.strength-meter{display:flex;gap:4px;margin-top:8px;}
.strength-meter span{height:4px;flex:1;border-radius:2px;background:var(--border);}
.demo-btn-row{display:flex;flex-direction:column;gap:10px;}
.demo-login-btn{border-style:dashed;}
.demo-login-btn:hover{border-style:solid;background:var(--primary-soft);}
.verify-banner{background:var(--warning-soft);border:1px solid var(--warning);color:var(--amber-600);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-xs);display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-4);}

@media (max-width:900px){
  .auth-shell{grid-template-columns:1fr;}
  .auth-visual{display:none;}
}
