/* =============================================
   Login V2 – Matching Landing V2 design
   ============================================= */
*{box-sizing:border-box;margin:0;padding:0}

.login-v2-body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  background:#0a0a0a;color:#fff;overflow-x:hidden;min-height:100vh;
  -webkit-font-smoothing:antialiased;
  display:flex;flex-direction:column;
}

/* =============================================
   NAVBAR (reused from v2)
   ============================================= */
.v2-nav{position:fixed;top:0;left:0;right:0;z-index:9999;padding:0 2.5rem;background:rgba(10,10,10,.85)}
.v2-nav-inner{max-width:1320px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px}
.v2-nav-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none}
.v2-nav-logo-icon{width:28px;height:28px}
.v2-nav-logo-text{font-weight:700;font-size:1.125rem;color:#fff;letter-spacing:-.02em}
.v2-nav-logo-accent{font-weight:400;opacity:.7}
.v2-nav-links{display:flex;gap:2rem}
.v2-nav-links a{font-size:.875rem;font-weight:400;color:#9ca3af;text-decoration:none;transition:color .2s}
.v2-nav-links a:hover{color:#fff}
.v2-nav-actions{display:flex;gap:.625rem}
.v2-nav-btn{display:inline-flex;align-items:center;padding:.5rem 1.25rem;font-size:.8125rem;font-weight:500;font-family:inherit;border-radius:6px;text-decoration:none;cursor:pointer;transition:all .2s}
.v2-nav-btn--outline{border:1px solid #4b5563;color:#e5e7eb;background:transparent}
.v2-nav-btn--outline:hover{border-color:#6b7280;background:rgba(255,255,255,.05)}
.v2-nav-btn--filled{background:#fff;color:#0a0a0a;border:1px solid #fff}
.v2-nav-btn--filled:hover{background:#e5e7eb}
.v2-nav-mobile-toggle{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:4px}
.v2-nav-mobile-toggle span{display:block;width:20px;height:1.5px;background:#fff;transition:all .2s}
.v2-nav-mobile-menu{display:none;flex-direction:column;padding:1rem 2.5rem 1.5rem;gap:.75rem;background:#111;border-top:1px solid #222}
.v2-nav-mobile-menu a{font-size:.875rem;color:#9ca3af;text-decoration:none}
.v2-nav-mobile-actions{display:flex;gap:.5rem;margin-top:.5rem}

@media(max-width:768px){
  .v2-nav{padding:0 1.25rem}
  .v2-nav-links,.v2-nav-actions{display:none}
  .v2-nav-mobile-toggle{display:flex}
  .v2-nav-mobile-menu.open{display:flex}
}

/* =============================================
   LOGIN FORM
   ============================================= */
.login-v2-main{
  flex:1;display:flex;align-items:center;justify-content:center;
  padding:5rem 1.5rem 3rem;
}

.login-v2-card{
  width:100%;max-width:400px;
}

.login-v2-logo{
  display:flex;justify-content:center;margin-bottom:2rem;
}
.login-v2-logo img{width:48px;height:48px}

.login-v2-header{text-align:center;margin-bottom:2rem}
.login-v2-header h1{
  font-weight:500;font-size:1.75rem;color:#fff;
  letter-spacing:-.02em;margin-bottom:.375rem;
}
.login-v2-header p{font-size:.875rem;color:#6b7280;font-weight:400}

.login-v2-form{display:flex;flex-direction:column;gap:.875rem}

/* Flash messages */
.login-v2-flash{margin-bottom:.5rem}
.login-v2-flash-msg{
  padding:.75rem 1rem;border-radius:6px;font-size:.8125rem;
  font-weight:400;text-align:center;
}
.login-v2-flash-msg.error{
  background:rgba(239,68,68,.1);color:#ef4444;border:1px solid rgba(239,68,68,.2);
}
.login-v2-flash-msg.success{
  background:rgba(34,197,94,.1);color:#22c55e;border:1px solid rgba(34,197,94,.2);
}

/* Inputs */
.login-v2-input{
  width:100%;padding:.75rem 1rem;
  background:#111;border:1px solid #222;border-radius:6px;
  font-size:.875rem;color:#fff;font-family:inherit;font-weight:400;
  transition:border-color .2s,box-shadow .2s;
}
.login-v2-input:focus{
  outline:none;border-color:rgba(91,108,240,.45);box-shadow:0 0 0 3px rgba(91,108,240,.08);
}
.login-v2-input::placeholder{color:#4b5563;font-weight:400}

/* Password group */
.login-v2-pw-group{position:relative;display:flex;align-items:center}
.login-v2-pw-group .login-v2-input{padding-right:3.5rem}
.login-v2-show-btn{
  position:absolute;right:.75rem;
  background:none;border:none;color:#6b7280;
  font-size:.75rem;font-weight:500;font-family:inherit;
  cursor:pointer;transition:color .2s;padding:.25rem;
}
.login-v2-show-btn:hover{color:#e5e7eb}

/* Forgot password */
.login-v2-forgot{
  text-align:right;margin-top:-.25rem;
}
.login-v2-forgot a{
  font-size:.75rem;color:#6b7280;text-decoration:none;
  transition:color .2s;
}
.login-v2-forgot a:hover{color:#e5e7eb}

/* Submit button */
.login-v2-submit{
  background:#fff;color:#0a0a0a;border:1px solid #fff;
  padding:.75rem;border-radius:6px;
  font-size:.875rem;font-weight:500;font-family:inherit;
  cursor:pointer;transition:all .2s;margin-top:.25rem;
}
.login-v2-submit:hover{background:#e5e7eb;box-shadow:0 4px 20px rgba(91,108,240,.15)}
.login-v2-submit:active{transform:scale(.98);transition-duration:.1s}

/* Divider */
.login-v2-divider{
  text-align:center;position:relative;margin:.375rem 0;
}
.login-v2-divider::before,.login-v2-divider::after{
  content:'';position:absolute;top:50%;width:45%;height:1px;background:#222;
}
.login-v2-divider::before{left:0}
.login-v2-divider::after{right:0}
.login-v2-divider span{
  background:#0a0a0a;padding:0 .75rem;color:#4b5563;
  font-size:.75rem;font-weight:400;
}

/* Google button */
.login-v2-google{
  display:flex;align-items:center;justify-content:center;gap:.625rem;
  width:100%;padding:.75rem;
  background:transparent;border:1px solid #222;border-radius:6px;
  font-size:.8125rem;font-weight:400;font-family:inherit;
  color:#6b7280;cursor:not-allowed;transition:all .2s;
}

/* Bottom links */
.login-v2-bottom{
  text-align:center;margin-top:1.5rem;
  font-size:.75rem;color:#4b5563;
}
.login-v2-bottom a{color:#6b7280;text-decoration:none;transition:color .2s}
.login-v2-bottom a:hover{color:#e5e7eb}
.login-v2-bottom-sep{margin:0 .625rem;color:#222}

/* =============================================
   FOOTER (minimal v2 style)
   ============================================= */
.login-v2-footer{
  border-top:1px solid #1a1a1a;padding:1.5rem 2rem;
  text-align:center;font-size:.75rem;color:#4b5563;
}
.login-v2-footer a{color:#6b7280;text-decoration:none;transition:color .2s}
.login-v2-footer a:hover{color:#e5e7eb}
.login-v2-footer-sep{margin:0 .5rem;color:#222}

/* =============================================
   RESPONSIVE
   ============================================= */
@media(max-width:480px){
  .login-v2-main{padding:5rem 1rem 2rem}
  .login-v2-header h1{font-size:1.5rem}
}
