/* assets/css/auth.css
   Split canvas for sign-in, sign-up and sign-out.

   The left panel is not decoration. It carries the one claim the product has to
   land before someone will type an email address: their current numbers are
   wrong in two directions at once. A gradient and a logo would waste the most
   valuable space on the page. */

.auth-shell{display:grid;grid-template-columns:1fr;min-height:100vh;}

/* ---------- left canvas ---------- */
.auth-canvas{
  display:none;position:relative;overflow:hidden;
  background:linear-gradient(158deg,#2E1065 0%,#4C1D95 45%,#5B21B6 100%);
  color:#EDE9FE;padding:44px 40px;flex-direction:column;justify-content:space-between;
}
.auth-canvas::after{
  /* Faint grid: the texture of a log file, not an abstract flourish. */
  content:'';position:absolute;inset:0;opacity:.10;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);
  background-size:44px 44px;
}
.auth-canvas > *{position:relative;z-index:1;}

.ac-brand{display:flex;align-items:center;gap:10px;}
.ac-brand-mark{width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;}
.ac-brand-mark svg{width:16px;height:16px;stroke:#DDD6FE;}
.ac-brand-name{font-family:var(--font-display);font-weight:600;font-size:17px;color:#fff;}

.ac-lede{font-family:var(--font-display);font-size:30px;line-height:1.18;font-weight:600;
  letter-spacing:-.02em;color:#fff;max-width:15ch;margin-bottom:14px;}
.ac-sub{font-size:14.5px;line-height:1.6;color:#C4B5FD;max-width:40ch;}

/* The proof device: two bars, same traffic, different readings. */
.ac-proof{margin-top:30px;border:1px solid rgba(255,255,255,.16);border-radius:14px;
  padding:18px;background:rgba(0,0,0,.16);}
.ac-proof-title{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;
  letter-spacing:.09em;color:#A78BFA;margin-bottom:14px;}
.ac-meter{margin-bottom:15px;}
.ac-meter:last-child{margin-bottom:0;}
.ac-meter-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;}
.ac-meter-name{font-size:12.5px;color:#DDD6FE;}
.ac-meter-val{font-family:var(--font-mono);font-size:12px;color:#fff;}
.ac-track{height:7px;border-radius:100px;background:rgba(255,255,255,.13);overflow:hidden;display:flex;}
.ac-seg{height:100%;}
.ac-note{font-family:var(--font-mono);font-size:10.5px;color:#A78BFA;margin-top:7px;}

.ac-quote{border-left:2px solid rgba(255,255,255,.28);padding-left:15px;}
.ac-quote p{font-size:13.5px;line-height:1.65;color:#DDD6FE;font-style:italic;margin-bottom:7px;}
.ac-quote cite{font-family:var(--font-mono);font-size:10.5px;color:#A78BFA;font-style:normal;}

.ac-verified{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:100px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  font-family:var(--font-mono);font-size:10.5px;color:#DDD6FE;}
.ac-verified svg{width:13px;height:13px;}
.ac-verified a{color:#fff;text-decoration:underline;text-underline-offset:2px;}

/* ---------- right form ---------- */
.auth-form-side{display:flex;align-items:center;justify-content:center;
  padding:34px 22px;background:var(--ink);}
.auth-box{width:100%;max-width:392px;}
.auth-mobile-brand{display:flex;align-items:center;gap:9px;margin-bottom:28px;}
@media(min-width:960px){.auth-mobile-brand{display:none;}}

.auth-h1{font-family:var(--font-display);font-size:25px;font-weight:600;
  letter-spacing:-.02em;margin-bottom:7px;}
.auth-lede{font-size:14px;color:var(--text-secondary);margin-bottom:26px;line-height:1.55;}

.field{margin-bottom:15px;}
.field label{display:block;font-size:12.5px;font-weight:500;color:var(--text-secondary);margin-bottom:6px;}
.field input{width:100%;background:var(--surface-raised);border:1px solid var(--hairline);
  border-radius:var(--radius-md);padding:11px 13px;color:var(--text-primary);
  font-family:var(--font-body);font-size:14.5px;}
.field input::placeholder{color:var(--text-muted);}
.field input:focus{border-color:var(--amber);outline:none;
  box-shadow:0 0 0 3px var(--amber-dim);}
.field input[aria-invalid="true"]{border-color:var(--coral);}
.field-hint{font-size:11.5px;color:var(--text-muted);margin-top:6px;line-height:1.45;}
.field-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;}
.field-row a{font-size:12px;color:var(--amber);}

.auth-btn{width:100%;background:var(--amber);color:#fff;border:none;
  border-radius:var(--radius-md);padding:12px;font-size:14.5px;font-weight:600;
  cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;}
.auth-btn:hover{filter:brightness(1.07);}
.auth-btn:disabled{opacity:.55;cursor:not-allowed;}
.auth-btn.secondary{background:var(--surface-raised);color:var(--text-primary);
  border:1px solid var(--hairline);}
.auth-btn.danger{background:var(--coral);}

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

.google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;
  background:var(--surface-raised);border:1px solid var(--hairline);border-radius:var(--radius-md);
  padding:11px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;}
.google-btn:hover{background:var(--surface-hover);}
.google-btn svg{width:17px;height:17px;}

.auth-alt{text-align:center;font-size:13.5px;color:var(--text-secondary);margin-top:22px;}
.auth-alt a{color:var(--amber);font-weight:500;}

.auth-msg{display:flex;gap:10px;padding:11px 13px;border-radius:var(--radius-md);
  font-size:13px;line-height:1.5;margin-bottom:18px;}
.auth-msg svg{flex:0 0 auto;margin-top:1px;width:15px;height:15px;}
.auth-msg.error{background:var(--coral-dim);color:var(--coral);}
.auth-msg.ok{background:var(--teal-dim);color:var(--teal);}
.auth-msg.info{background:var(--amber-dim);color:var(--amber);}

.auth-legal{font-size:11.5px;color:var(--text-muted);line-height:1.55;margin-top:18px;text-align:center;}
.auth-legal a{color:var(--text-secondary);text-decoration:underline;text-underline-offset:2px;}

.keep-row{display:flex;align-items:flex-start;gap:9px;margin:4px 0 18px;}
.keep-row input{width:15px;height:15px;margin-top:2px;accent-color:var(--amber);flex:0 0 auto;}
.keep-row label{font-size:12.5px;color:var(--text-secondary);line-height:1.45;}
.keep-row .sub{display:block;color:var(--text-muted);font-size:11.5px;margin-top:2px;}

.auth-theme{position:absolute;top:18px;right:18px;z-index:3;}

@media (min-width:960px){
  .auth-shell{grid-template-columns:1.05fr 1fr;}
  .auth-canvas{display:flex;}
}
