/* Auth Pages Styles - BRAVA KYC */
:root{
  --bg:#0b0d10;
  --card:#15191f;
  --ink:#e9eef5;
  --muted:#9fb0c1;
  --accent:#2bd673;
  --accent-ink:#0b2818;
  --danger:#ff5a5f;
  --warning:#ffb703;
  --input:#0f1318;
  --stroke:#232a33;
  --focus:#5cd89a;
  --radius:14px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,"Helvetica Neue","Arial",sans-serif;min-height:100vh}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

.auth-container{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:url('/brava-fondo.png') center center / cover no-repeat fixed;
  background-color:var(--bg);
}

.auth-box{
  background:var(--card);
  border:1px solid var(--stroke);
  border-radius:20px;
  padding:40px;
  width:100%;
  max-width:420px;
  box-shadow:0 20px 60px rgba(0,0,0,.4);
}

.auth-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-bottom:32px;
}

.auth-logo .logo{
  width:44px;
  height:44px;
  border-radius:12px;
  background:url('/brava-logo.png') center center / contain no-repeat;
  box-shadow:0 0 0 2px rgba(43,214,115,.2), 0 10px 24px rgba(0,0,0,.6);
}

.auth-logo h1{
  font-size:20px;
  margin:0;
}

.auth-title{
  text-align:center;
  margin:0 0 8px;
  font-size:24px;
}

.auth-subtitle{
  text-align:center;
  color:var(--muted);
  margin:0 0 28px;
  font-size:14px;
}

.form-group{
  margin-bottom:18px;
}

.form-group label{
  display:block;
  font-weight:600;
  margin-bottom:6px;
  font-size:14px;
}

.form-group input{
  width:100%;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid var(--stroke);
  background:var(--input);
  color:var(--ink);
  outline:none;
  font-size:15px;
  transition:border-color 0.2s;
}

.form-group input:focus{
  border-color:var(--focus);
}

.form-group input.error{
  border-color:var(--danger);
}

.form-group .error-text{
  color:var(--danger);
  font-size:12px;
  margin-top:6px;
  display:none;
}

.form-group .error-text.show{
  display:block;
}

.form-group .hint{
  color:var(--muted);
  font-size:12px;
  margin-top:6px;
}

.btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  padding:14px 16px;
  border-radius:12px;
  border:none;
  font-weight:700;
  font-size:15px;
  background:linear-gradient(180deg, var(--accent), #23a65d);
  color:#07170e;
  cursor:pointer;
  box-shadow:0 6px 20px rgba(43,214,115,.35), inset 0 1px 0 rgba(255,255,255,.3);
  transition:transform 0.1s, opacity 0.2s;
}

.btn:hover:not(:disabled){transform:translateY(-1px)}
.btn:active:not(:disabled){transform:translateY(0)}
.btn:disabled{opacity:0.5;cursor:not-allowed}

.btn.secondary{
  background:var(--input);
  color:var(--ink);
  border:1px solid var(--stroke);
  box-shadow:none;
}

.auth-links{
  text-align:center;
  margin-top:24px;
  font-size:14px;
  color:var(--muted);
}

.auth-links a{
  color:var(--accent);
  font-weight:600;
}

.auth-divider{
  display:flex;
  align-items:center;
  gap:16px;
  margin:24px 0;
  color:var(--muted);
  font-size:13px;
}

.auth-divider::before,
.auth-divider::after{
  content:'';
  flex:1;
  height:1px;
  background:var(--stroke);
}

/* Alert */
.alert{
  padding:12px 14px;
  border-radius:10px;
  margin-bottom:20px;
  font-size:14px;
  display:none;
}

.alert.show{display:block}

.alert.success{
  background:rgba(43,214,115,0.1);
  border:1px solid rgba(43,214,115,0.3);
  color:var(--accent);
}

.alert.error{
  background:rgba(255,90,95,0.1);
  border:1px solid rgba(255,90,95,0.3);
  color:var(--danger);
}

/* Loading */
.btn .spinner{
  width:18px;
  height:18px;
  border:2px solid rgba(0,0,0,.2);
  border-top-color:#07170e;
  border-radius:50%;
  animation:spin 0.8s linear infinite;
  display:none;
}

.btn.loading .spinner{display:block}
.btn.loading .btn-text{display:none}

@keyframes spin{
  to{transform:rotate(360deg)}
}

/* Password toggle */
.password-wrapper{
  position:relative;
}

.password-wrapper input{
  padding-right:44px;
}

.password-toggle{
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  background:none;
  border:none;
  color:var(--muted);
  cursor:pointer;
  padding:4px;
  font-size:18px;
}

.password-toggle:hover{
  color:var(--ink);
}

/* Responsive */
@media (max-width: 480px) {
  .auth-box{
    padding:28px 20px;
  }
  
  .auth-logo h1{
    font-size:18px;
  }
  
  .auth-title{
    font-size:20px;
  }
}
