/* ═══════════════════════════════════════════════════════════════
   Aretype Clean — auth.css
   Login / Signup — split-screen, monochrome, Aretype styleguide
   ═══════════════════════════════════════════════════════════════ */

.ac-auth-body {
  margin:0; font-family:var(--ac-font);
  background:var(--ac-surface-2); color:var(--ac-text);
  -webkit-font-smoothing:antialiased;
}
.ac-auth-body * { box-sizing:border-box; }

.ac-auth {
  min-height:100vh;
  display:flex; align-items:center; justify-content:center;
  padding:32px;
}
.ac-auth-card {
  width:100%; max-width:1040px;
  display:grid; grid-template-columns:1fr 1fr;
  background:#fff;
  border:1px solid var(--ac-border);
  border-radius:20px; overflow:hidden;
  box-shadow:0 40px 90px rgba(15,15,26,.14);
  min-height:620px;
}

/* ── Left panel ── */
.ac-auth-panel {
  position:relative;
  background:#1a1a20 center/cover no-repeat;
  display:flex; flex-direction:column; justify-content:space-between;
  padding:34px;
  color:#fff;
}
.ac-auth-panel-overlay {
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(10,10,15,.45) 0%, rgba(10,10,15,.15) 35%, rgba(10,10,15,.85) 100%);
}
.ac-auth-logo, .ac-auth-quote { position:relative; z-index:1; }
.ac-auth-logo {
  display:inline-flex; align-items:center; gap:10px;
  color:#fff !important; text-decoration:none !important;
  font-size:18px; font-weight:900; letter-spacing:.04em;
  align-self:flex-start;
}
.ac-auth-logo-mark {
  width:34px; height:34px; border-radius:9px;
  background:#fff; color:#0a0a0f;
  display:flex; align-items:center; justify-content:center;
  font-size:19px; font-weight:900; font-family:Georgia,serif; line-height:1;
}
.ac-auth-quote { margin:0; }
.ac-auth-quote blockquote {
  margin:0 0 16px;
  font-size:clamp(20px,2.4vw,27px); font-weight:800;
  letter-spacing:-.02em; line-height:1.3; color:#fff;
  text-wrap:balance;
}
.ac-auth-q-name { display:block; font-size:14px; font-weight:800; }
.ac-auth-q-role { display:block; font-size:12.5px; color:rgba(255,255,255,.7); margin-top:2px; }

/* ── Right form ── */
.ac-auth-form-wrap {
  display:flex; align-items:center; justify-content:center;
  padding:48px 56px;
}
.ac-auth-form-inner { width:100%; max-width:380px; }
.ac-auth-h {
  font-size:clamp(24px,2.6vw,28px);
  font-weight:900; color:var(--ac-text);
  letter-spacing:-.03em; line-height:1.2; margin:0 0 10px;
  text-wrap:balance;
}
.ac-auth-sub { font-size:13.5px; color:var(--ac-text-2); line-height:1.6; margin:0 0 28px; }

.ac-auth-alert {
  font-size:13px; line-height:1.5; font-weight:500;
  background:#fbeaea; color:#8a1f1f; border:1px solid #f0cccc;
  border-radius:10px; padding:12px 14px; margin-bottom:20px;
}
.ac-auth-alert a { color:inherit; font-weight:700; }

/* Floating-label-ish fields */
.ac-auth-field { position:relative; margin-bottom:14px; }
.ac-auth-field label {
  position:absolute; top:9px; left:16px;
  font-size:11px; font-weight:600; color:var(--ac-text-3);
  letter-spacing:.01em; pointer-events:none;
}
.ac-auth-field input {
  width:100%; font-family:var(--ac-font);
  font-size:14.5px; color:var(--ac-text);
  background:#fff;
  border:1.5px solid var(--ac-border); border-radius:11px;
  padding:26px 16px 11px;
  transition:border-color .18s, box-shadow .18s;
}
.ac-auth-field input::placeholder { color:transparent; }
.ac-auth-field input:focus {
  outline:none; border-color:var(--ac-accent);
  box-shadow:0 0 0 4px rgba(15,15,26,.08);
}

.ac-auth-forgot {
  display:inline-block; margin:2px 0 18px;
  font-size:12.5px; font-weight:700;
  color:var(--ac-accent) !important; text-decoration:none !important;
}
.ac-auth-forgot:hover { text-decoration:underline !important; }

/* Remember toggle */
.ac-auth-remember {
  display:flex; align-items:center; justify-content:space-between;
  font-size:13px; color:var(--ac-text-2); cursor:pointer;
  margin-bottom:22px;
}
.ac-auth-switch { position:relative; display:inline-flex; }
.ac-auth-switch input { position:absolute; opacity:0; width:0; height:0; }
.ac-auth-switch-track {
  width:42px; height:24px; border-radius:20px;
  background:var(--ac-border); position:relative; transition:background .2s;
}
.ac-auth-switch-track::after {
  content:''; position:absolute; top:3px; left:3px;
  width:18px; height:18px; border-radius:50%; background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.25); transition:transform .2s;
}
.ac-auth-switch input:checked + .ac-auth-switch-track { background:var(--ac-accent); }
.ac-auth-switch input:checked + .ac-auth-switch-track::after { transform:translateX(18px); }
.ac-auth-switch input:focus-visible + .ac-auth-switch-track { box-shadow:0 0 0 3px rgba(15,15,26,.18); }

.ac-auth-btn {
  width:100%; font-family:var(--ac-font);
  background:var(--ac-accent); color:#fff;
  font-size:15px; font-weight:700; letter-spacing:-.01em;
  border:none; border-radius:11px; padding:15px 24px;
  cursor:pointer;
  transition:background .2s, transform .15s, box-shadow .2s;
  box-shadow:0 8px 22px rgba(15,15,26,.22);
}
.ac-auth-btn:hover { background:var(--ac-accent-dark); transform:translateY(-1px); box-shadow:0 12px 30px rgba(15,15,26,.3); }
.ac-auth-btn:focus-visible { outline:2px solid var(--ac-accent); outline-offset:3px; }

.ac-auth-or {
  display:flex; align-items:center; gap:14px;
  margin:22px 0; color:var(--ac-text-3);
  font-size:11px; font-weight:700; letter-spacing:.1em;
}
.ac-auth-or::before, .ac-auth-or::after { content:''; flex:1; height:1px; background:var(--ac-border); }

.ac-auth-google {
  display:flex; align-items:center; justify-content:center; gap:10px;
  width:100%; padding:13px 24px;
  background:var(--ac-surface);
  border:1.5px solid var(--ac-border); border-radius:11px;
  font-size:14px; font-weight:700; color:var(--ac-text) !important;
  text-decoration:none !important;
  transition:border-color .2s, background .2s;
}
.ac-auth-google:hover { border-color:var(--ac-text-3); background:#fff; }

.ac-auth-legal { font-size:11.5px; color:var(--ac-text-3); line-height:1.5; margin:22px 0 10px; }
.ac-auth-legal a { color:var(--ac-text-2) !important; text-decoration:underline !important; }
.ac-auth-switch-link { font-size:13px; color:var(--ac-text-2); text-align:center; margin:18px 0 0; }
.ac-auth-switch-link a { color:var(--ac-accent) !important; font-weight:700; text-decoration:none !important; }
.ac-auth-switch-link a:hover { text-decoration:underline !important; }

/* ── Responsive ── */
@media (max-width:820px) {
  .ac-auth { padding:0; }
  .ac-auth-card {
    grid-template-columns:1fr; max-width:480px;
    border:none; border-radius:0; min-height:100vh; box-shadow:none;
  }
  .ac-auth-panel { min-height:240px; padding:28px; }
  .ac-auth-form-wrap { padding:40px 28px 56px; }
}
@media (max-width:480px) {
  .ac-auth-panel { min-height:200px; }
}
