/* FORJA pre-launch: conversion-first login, responsive and accessible.
   Scope restricted to auth screen; no changes to session handling. */
.auth-screen{
  background:
    radial-gradient(ellipse at 10% 10%,rgba(255,83,31,.12),transparent 44%),
    radial-gradient(ellipse at 95% 100%,rgba(255,83,31,.045),transparent 35%),
    #08090b;
  padding:clamp(16px,2.2vw,36px);
  overflow-x:hidden;
}
.auth-shell{
  width:min(1340px,100%);
  min-height:min(780px,calc(100dvh - 48px));
  grid-template-columns:minmax(0,1.08fr) minmax(400px,.83fr);
  border:1px solid #ffffff17;
  border-radius:26px;
  background:#101115;
  box-shadow:0 36px 100px #0009,0 0 0 1px #ffffff05 inset;
}
.auth-branding{
  padding:clamp(36px,5.3vw,76px);
  background:
    radial-gradient(ellipse at 72% 57%,rgba(255,90,36,.14),transparent 47%),
    linear-gradient(136deg,#191410,#120f0f 44%,#0e1013);
}
.auth-branding:before{
  width:570px;height:570px;right:-290px;bottom:-230px;
  border:1px solid rgba(255,97,40,.28);
  box-shadow:0 0 0 85px rgba(255,97,40,.035),0 0 0 173px rgba(255,97,40,.027);
}
.auth-branding .brand{
  font-size:clamp(1.45rem,2.25vw,2rem);
  letter-spacing:.14em;
}
.auth-branding>div>.auth-hero-kicker{
  width:fit-content;
  margin-top:clamp(44px,6vh,85px);
  padding:9px 13px;
  border:1px solid rgba(255,98,46,.35);
  border-radius:999px;
  background:rgba(255,91,35,.08);
  font-size:.69rem;
  font-weight:850;
  color:#ffb091;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.auth-branding h1{
  font-size:clamp(3rem,5.4vw,5.7rem);
  max-width:670px;
  margin:24px 0 23px;
  line-height:1.015;
  letter-spacing:-.057em;
  text-wrap:balance;
}
.auth-branding h1 em{color:#ff6035}
.auth-branding>div>p{color:#bec0c5;font-size:1.04rem;line-height:1.65;max-width:520px}
.auth-proof{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:34px}
.auth-proof div{
  border:1px solid rgba(255,255,255,.13);
  border-radius:15px;
  background:rgba(255,255,255,.035);
  padding:16px 13px;
}
.auth-proof b{font-size:.82rem;color:#f6f6f6}
.auth-proof small{display:block;margin-top:7px;line-height:1.4;color:#a2a5ad;font-size:.73rem}
.auth-quote{color:#9e9fa4;line-height:1.5;letter-spacing:.02em;text-transform:none;font-size:.83rem}
.auth-panel{
  padding:clamp(28px,5vw,76px);
  background:
    radial-gradient(ellipse at 100% 0,rgba(255,83,31,.045),transparent 38%),
    linear-gradient(160deg,#15161a,#0e1013 70%);
}
.auth-box{width:min(420px,100%)}
.auth-form-eyebrow{
  display:block;
  margin:0 0 11px;
  color:#ff9e72;
  font-size:.71rem;
  font-weight:850;
  line-height:1.3;
  text-transform:uppercase;
  letter-spacing:.16em;
}
.auth-box h2{font-size:clamp(1.85rem,2.6vw,2.4rem);line-height:1.13;letter-spacing:-.045em}
.auth-box>.auth-copy{font-size:.93rem;line-height:1.55;color:#aeb1b9;margin:12px 0 27px}
.auth-tabs{border-color:#30343d;background:#0b0d10;padding:5px;margin-bottom:20px}
.auth-tabs button{min-height:43px;cursor:pointer}
.auth-tabs button.active{background:#24262d;color:#fff;box-shadow:0 2px 10px #0006}
.auth-box .field{margin:13px 0}
.auth-box .field label{color:#d4d5db;font-size:.85rem;font-weight:750}
.auth-box .field input{
  width:100%;
  min-height:52px;
  margin-top:0;
  background:#101217;
  color:#fff;
  border:1px solid #41454e;
  border-radius:12px;
  padding:13px 16px;
  font-size:1rem;
}
.auth-box .field input::placeholder{color:#9096a0;opacity:1}
.auth-box .field input:hover{border-color:#727782}
.auth-box .field input:focus-visible{
  outline:2px solid #ff6b3f;
  outline-offset:2px;
  box-shadow:0 0 0 4px #ff4d241c;
}
.auth-box .google-btn{
  min-height:52px;
  border-radius:12px;
  font-size:.94rem;
  font-weight:800;
  cursor:pointer;
}
.auth-submit{
  min-height:54px;
  background:linear-gradient(120deg,#ff6538,#f4481d);
  color:#1b0e08;
  border-color:transparent;
  border-radius:12px;
  font-size:1rem;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 9px 25px rgba(244,72,29,.16);
}
.auth-submit:hover{filter:brightness(1.07)}
.auth-submit:disabled{opacity:.6;cursor:wait;filter:none}
.auth-submit:focus-visible,.auth-box .google-btn:focus-visible,.auth-tabs button:focus-visible{
  outline:3px solid #ffa37e;
  outline-offset:3px;
}
.auth-security{line-height:1.5;color:#afb0b5}
.auth-plan-hint{color:#b3b6bf;gap:18px}
.auth-plan-hint strong{color:#fafafa}
.auth-mobile-brand{letter-spacing:.14em}
@media (min-width:861px) and (max-height:740px){
  .auth-shell{min-height:0}
  .auth-hero-kicker{margin-top:28px}
  .auth-branding{padding:34px}
  .auth-branding h1{font-size:clamp(2.8rem,4.9vw,4.8rem);margin:20px 0}
  .auth-proof{margin-top:24px}
  .auth-panel{padding:28px 45px}
}
@media (max-width:860px){
  .auth-screen{
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(26px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
    min-height:100dvh;
  }
  .auth-shell{
    width:min(480px,100%);
    min-height:0;
    display:block;
    overflow:visible;
    background:transparent;
    border:0;
    box-shadow:none;
  }
  .auth-branding{display:none}
  .auth-panel{
    display:block;
    width:100%;
    background:transparent;
    padding:clamp(10px,4vh,44px) 0 12px;
  }
  .auth-box{width:100%;margin:0 auto}
  .auth-box .auth-mobile-brand{
    display:block;
    margin:0 0 clamp(24px,5vh,36px);
    font-size:1.75rem;
  }
  .auth-box h2{font-size:clamp(1.9rem,6.3vw,2.3rem)}
  .auth-box>.auth-copy{margin:10px 0 23px}
  .auth-plan-hint{flex-direction:row;margin-top:22px;font-size:.76rem}
}
@media (max-width:480px){
  .auth-screen{padding-inline:18px}
  .auth-panel{padding-top:16px}
  .auth-box .auth-mobile-brand{margin-bottom:24px}
  .auth-box .auth-copy{font-size:.89rem;margin-bottom:20px}
  .auth-tabs{margin-bottom:16px}
  .auth-security{font-size:.75rem;margin-top:13px}
  .auth-plan-hint{display:none}
}
@media (max-height:540px) and (max-width:860px){
  .auth-panel{padding-top:8px}
  .auth-box .auth-mobile-brand{margin-bottom:12px}
  .auth-box>.auth-copy{margin-bottom:12px}
}
@media (prefers-reduced-motion:reduce){
  .auth-box .field input,.auth-submit{transition:none}
}
