/* Emorla — Auth Merkezi ortak tasarım sistemi
   Tüm /auth/* sayfaları bu dosyayı paylaşır. Marka tipografisi ve
   renk tokenları ana sayfa/chat ile aynı sistemden geliyor. */

:root{
  --cream:#F7F4EE;
  --cream-2:#EFEBE1;
  --ink:#1D1B27;
  --ink-dim:#5C586E;
  --ink-faint:#8A85A0;
  --line:#E4E0D5;
  --white:#FFFFFF;
  --violet:#6C5CE7;
  --violet-2:#8B7CF0;
  --violet-soft:#EFEBFC;
  --error:#B3432B;
  --error-soft:#FBEDE8;
  --success:#3D5A4C;
  --success-soft:#E9F0EC;
  --font-head:'Manrope', sans-serif;
  --font-body:'Inter', sans-serif;
  --radius:14px;
  --shadow-card: 0 24px 60px -30px rgba(29,27,39,0.22);
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  min-height:100vh;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--font-body);
  display:flex;
  flex-direction:column;
}
a{ color:inherit; }

/* ---- top brand bar ---- */
.top-brand{
  position:relative;
  z-index:5;
  padding:22px clamp(20px,4vw,40px);
}
.top-brand a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  font-family:var(--font-head);
  font-weight:700;
  font-size:18px;
  color:var(--ink);
}
.top-brand .mark{
  width:28px; height:28px; border-radius:8px;
  background:linear-gradient(135deg,var(--violet),var(--violet-2));
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-family:var(--font-head); font-weight:700; font-size:15px;
  flex-shrink:0;
}

/* ---- centered auth area ---- */
.auth-wrap{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px 20px 60px;
}
.card{
  width:100%;
  max-width:400px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-card);
  padding:34px 30px 28px;
}
.card h1{
  font-family:var(--font-head);
  font-weight:700;
  font-size:21px;
  margin:0 0 6px;
  letter-spacing:-0.01em;
}
.card .lede{
  color:var(--ink-dim);
  font-size:14px;
  line-height:1.5;
  margin:0 0 24px;
}

/* ---- fields ---- */
label{
  display:block;
  font-size:13px;
  font-weight:600;
  color:var(--ink-dim);
  margin:16px 0 6px;
}
label:first-of-type{ margin-top:0; }
input[type="email"],
input[type="password"],
input[type="text"]{
  width:100%;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:14.5px;
  font-family:var(--font-body);
  outline:none;
  background:var(--white);
  color:var(--ink);
}
input:focus{ border-color:var(--violet); box-shadow:0 0 0 3px var(--violet-soft); }
input::placeholder{ color:var(--ink-faint); }

/* ---- buttons ---- */
.btn{
  width:100%;
  padding:12px 16px;
  border-radius:10px;
  border:1px solid transparent;
  font-family:var(--font-body);
  font-weight:600;
  font-size:14.5px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-decoration:none;
}
.btn-primary{
  background:linear-gradient(135deg,var(--violet),var(--violet-2));
  color:#fff;
  margin-top:22px;
}
.btn-primary:hover{ filter:brightness(1.05); }
.btn-primary:disabled{ opacity:.6; cursor:not-allowed; filter:none; }
.btn-google{
  background:var(--white);
  border-color:var(--line);
  color:var(--ink);
}
.btn-google:hover{ border-color:var(--ink-faint); }
.btn-google svg{ width:17px; height:17px; flex-shrink:0; }

.divider{
  display:flex; align-items:center; gap:12px;
  margin:20px 0;
  color:var(--ink-faint);
  font-size:12.5px;
}
.divider::before, .divider::after{
  content:''; flex:1; height:1px; background:var(--line);
}

/* ---- helper links ---- */
.helper-row{
  display:flex;
  justify-content:space-between;
  margin-top:14px;
  font-size:13px;
}
.helper-row button, .helper-row a{
  background:none; border:none; padding:0; cursor:pointer;
  color:var(--violet); font-size:13px; font-family:var(--font-body);
  text-decoration:none;
}
.helper-row button:hover, .helper-row a:hover{ text-decoration:underline; }

.footer-line{
  margin-top:22px;
  text-align:center;
  font-size:13.5px;
  color:var(--ink-dim);
}
.footer-line a{ color:var(--violet); text-decoration:none; font-weight:600; }
.footer-line a:hover{ text-decoration:underline; }

.legal-note{
  margin-top:18px;
  text-align:center;
  font-size:12px;
  line-height:1.6;
  color:var(--ink-faint);
}
.legal-note a{ color:var(--ink-dim); text-decoration:underline; }

/* ---- messages ---- */
.msg{
  font-size:13.5px;
  padding:11px 13px;
  border-radius:9px;
  margin-top:16px;
  display:none;
  line-height:1.5;
}
.msg.error{ background:var(--error-soft); color:var(--error); display:block; }
.msg.success{ background:var(--success-soft); color:var(--success); display:block; }

.verified-banner{
  display:none;
  align-items:center;
  gap:9px;
  background:var(--success-soft);
  color:var(--success);
  font-weight:600;
  font-size:13.5px;
  padding:9px 15px 9px 9px;
  border-radius:999px;
  margin-bottom:20px;
  width:fit-content;
}
.verified-banner .icon{
  width:20px; height:20px; border-radius:50%;
  background:var(--success); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:12px; flex-shrink:0;
}

/* ---- checkbox row (register) ---- */
.check-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:16px;
}
.check-row input[type="checkbox"]{
  margin-top:2px;
  width:16px; height:16px;
  accent-color:var(--violet);
  flex-shrink:0;
}
.check-row .check-label{
  font-size:12.5px;
  color:var(--ink-dim);
  line-height:1.5;
}
.check-row .info-icon{
  position:relative;
  display:inline-flex;
  width:14px; height:14px;
  border-radius:50%;
  background:var(--line);
  color:var(--ink-dim);
  font-size:10px;
  align-items:center;
  justify-content:center;
  cursor:help;
  margin-left:4px;
  font-weight:700;
}
.check-row .info-icon .tip{
  display:none;
  position:absolute;
  bottom:20px;
  left:50%;
  transform:translateX(-50%);
  width:230px;
  background:var(--ink);
  color:#fff;
  font-size:11.5px;
  line-height:1.5;
  padding:10px 12px;
  border-radius:8px;
  z-index:10;
}
.check-row .info-icon:hover .tip{ display:block; }

/* ---- account recovery options ---- */
.recovery-options{ display:flex; flex-direction:column; gap:10px; margin-top:18px; }
.recovery-option{
  width:100%;
  text-align:left;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--white);
  cursor:pointer;
  font-family:var(--font-body);
  font-size:14px;
  color:var(--ink);
}
.recovery-option:hover{ border-color:var(--violet); background:var(--violet-soft); }
.recovery-answer{
  display:none;
  margin-top:16px;
  padding:14px 16px;
  background:var(--cream-2);
  border-radius:10px;
  font-size:13.5px;
  line-height:1.6;
  color:var(--ink-dim);
}
.recovery-answer.show{ display:block; }
.recovery-answer a.btn{ margin-top:12px; }

/* ---- collapsible "diğer seçenekler" (kept generic/unused now, forgot-password) ---- */
.expand-toggle{
  background:none; border:none; color:var(--ink-dim); font-size:13px;
  cursor:pointer; padding:0; margin-top:14px; display:flex; align-items:center; gap:6px;
}

@media (max-width: 420px){
  .card{ padding:28px 22px 24px; }
}
