/* TestTartásŐr - hitelesítési oldalak (bejelentkezés/regisztráció/fiók) */

.auth-page{
  min-height:100vh;
  display:flex; flex-direction:column;
}
.auth-main{
  flex:1;
  display:flex; align-items:center; justify-content:center;
  padding:140px 24px 60px;
  position:relative;
}
.auth-main::before{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(600px 400px at 50% 0%, rgba(251,146,60,0.09), transparent 65%);
  pointer-events:none;
}
.auth-wrapper{ width:100%; max-width:420px; position:relative; z-index:1; }

.auth-eyebrow{
  display:flex; justify-content:center; margin-bottom:18px;
}

.auth-card{
  background:var(--card-bg); border:1px solid var(--border); border-radius:20px;
  padding:36px 32px;
  box-shadow:0 30px 60px -30px rgba(0,0,0,0.6);
}
.auth-title{ font-family:var(--font-display); font-weight:700; font-size:26px; text-align:center; margin-bottom:8px; }
.auth-subtitle{ font-size:14px; color:var(--text-muted); text-align:center; margin-bottom:28px; }

.field{ margin-bottom:16px; }
.field label{ display:block; font-size:12.5px; font-weight:600; color:var(--text-muted); margin-bottom:7px; }
.field input{
  width:100%; background:var(--card-bg-alt); border:1px solid var(--border);
  border-radius:10px; padding:12px 14px; font-family:var(--font-body); font-size:14.5px;
  color:var(--text-main); outline:none; transition:border-color .18s ease, box-shadow .18s ease;
}
.field input::placeholder{ color:var(--text-dim); }
.field input:focus{ border-color:var(--accent); box-shadow:0 0 0 3px rgba(251,146,60,0.15); }
.field-hint{ font-size:11.5px; color:var(--text-dim); margin-top:6px; }

.field-code input{
  text-align:center; letter-spacing:0.5em; font-family:var(--font-mono); font-size:20px; font-weight:600;
}

.form-error{
  display:none;
  background:rgba(248,113,113,0.1); border:1px solid rgba(248,113,113,0.3); color:var(--danger);
  font-size:13px; border-radius:10px; padding:11px 14px; margin-bottom:16px;
}
.form-error.show{ display:block; }
.form-success{
  display:none;
  background:rgba(52,211,153,0.1); border:1px solid rgba(52,211,153,0.3); color:var(--success);
  font-size:13px; border-radius:10px; padding:11px 14px; margin-bottom:16px;
}
.form-success.show{ display:block; }

.device-limit-row{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  background:var(--card-bg-alt); border:1px solid var(--border); border-radius:8px;
  padding:10px 12px; margin-top:8px;
}
.device-limit-row span{ font-size:13px; font-weight:600; color:var(--text-main); }
.device-limit-revoke-btn{
  font-family:var(--font-body); font-size:11px; font-weight:600; color:var(--text-muted);
  background:transparent; border:1px solid var(--border); border-radius:6px;
  padding:6px 10px; cursor:pointer; white-space:nowrap; transition:border-color .18s ease, color .18s ease;
}
.device-limit-revoke-btn:hover{ border-color:var(--accent); color:var(--accent); }

.auth-submit{ width:100%; margin-top:6px; }
.auth-links{ display:flex; justify-content:space-between; margin-top:18px; font-size:13px; }
.auth-links a{ color:var(--text-muted); transition:color .18s ease; }
.auth-links a:hover{ color:var(--accent); }
.auth-links.center{ justify-content:center; }

.auth-switch{
  text-align:center; margin-top:24px; font-size:13.5px; color:var(--text-muted);
}
.auth-switch a{ color:var(--accent); font-weight:600; }
.auth-switch a:hover{ color:var(--accent-hover); }

.auth-back{
  display:inline-flex; align-items:center; gap:6px; font-size:13px; color:var(--text-muted);
  margin-bottom:22px; transition:color .18s ease;
}
.auth-back:hover{ color:var(--accent); }
.auth-back svg{ width:14px; height:14px; }

.spinner{
  display:inline-block; width:15px; height:15px; border-radius:50%;
  border:2px solid rgba(26,16,5,0.35); border-top-color:#1a1005;
  animation:spin .7s linear infinite; margin-right:8px; vertical-align:-2px;
}
@keyframes spin{ to{ transform:rotate(360deg); } }
.btn[disabled]{ opacity:0.7; cursor:default; pointer-events:none; }

/* --- Fiók (account) oldal --- */
.account-card-row{ display:flex; align-items:center; gap:16px; margin-bottom:24px; }
.account-avatar{
  width:56px; height:56px; border-radius:16px; background:var(--accent-soft);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:700; font-size:22px; color:var(--accent);
  flex-shrink:0;
}
.account-name{ font-family:var(--font-display); font-weight:600; font-size:18px; }
.account-email{ font-size:13px; color:var(--text-muted); }
.verified-badge{
  display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:600; color:var(--success);
  background:rgba(52,211,153,0.1); border:1px solid rgba(52,211,153,0.25); border-radius:999px;
  padding:4px 10px; margin-top:6px;
}
.account-section-title{ font-size:13px; font-weight:600; color:var(--text-main); margin:26px 0 14px; }
.logout-btn{ width:100%; border-color:var(--danger) !important; color:var(--danger) !important; }
.logout-btn:hover{ background:rgba(248,113,113,0.08); }

/* ===== V2 ===== */
.auth-card{ border-radius:32px !important; background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.025)) !important; border:1px solid var(--border) !important; padding:38px 34px !important; box-shadow:0 50px 100px -50px rgba(0,0,0,.9), 0 0 120px -60px rgba(255,150,64,.4); backdrop-filter:blur(14px); }
.auth-title{ font-size:30px !important; letter-spacing:-.04em !important; }
.field input,.field select,.field textarea{ border-radius:16px !important; background:rgba(255,255,255,.045) !important; border:1px solid var(--border) !important; padding:14px 16px !important; font-size:15px; transition:border-color .2s, box-shadow .2s, background .2s; }
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--accent) !important; box-shadow:0 0 0 4px rgba(255,150,64,.16); background:rgba(255,255,255,.06) !important; }
.auth-submit{ height:52px; font-size:16px; }
.auth-eyebrow{ font-family:var(--font-body); }

.consent-row{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.5;color:var(--text-muted);cursor:pointer;margin:4px 0 14px}
.consent-row input{margin-top:3px;width:16px;height:16px;flex:none;accent-color:var(--accent,#6c8cff)}
.consent-row a{color:var(--accent,#6c8cff);text-decoration:underline}
