/* Sign-in pages in the Topographic Survey world. Classes the auth templates share:
   auth-form-title, auth-form-sub, divider-text, btn-google, form-group, form-label, form-input, btn btn-primary, two-col, message-*. */
html,body{margin:0;background:var(--mist);color:var(--ink);font-family:var(--f)}
*,*::before,*::after{box-sizing:border-box}
a{color:inherit}
.au-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.au-land{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(160deg,#F4F7FD 0%,#E0E9FA 40%,#C2D1F5 75%,#A3B1F1 100%);border-right:1px solid var(--line)}
.au-land-in{position:relative;z-index:1;min-height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:clamp(28px,4vw,56px)}
.au-pitch{max-width:34rem}
.au-pitch-h{font-size:clamp(2.2rem,3.8vw,3.6rem);margin:0 0 22px}
.au-list{list-style:none;margin:26px 0 0;padding:0;border-top:1px solid var(--line-2)}
.au-list li{padding:.8rem 0 .8rem 1.6rem;border-bottom:1px solid var(--line-2);color:var(--ink-2);position:relative;line-height:1.45}
.au-list li::before{content:'';position:absolute;left:0;top:1.05rem;width:11px;height:11px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%232343D6' stroke-width='1.6'%3E%3Cpath d='M8 2 14 13H2Z'/%3E%3C/svg%3E") center/contain no-repeat}
.au-note{margin:0;font-size:.9rem;color:var(--ink-2)}

.au-form-side{display:flex;flex-direction:column;justify-content:center;gap:22px;padding:clamp(24px,4vw,56px);max-width:600px;width:100%;margin:0 auto}
.au-top{display:flex;justify-content:space-between;align-items:center}
.au-back{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px var(--line-2);font-size:.9rem;font-weight:500;color:var(--ink-2);text-decoration:none;transition:background-color .25s var(--ease),color .25s var(--ease)}
.au-back:hover{background:#fff;color:var(--ink)}
.au-mlogo{display:none}
.au-card{border-radius:var(--r-xl);background:rgba(255,255,255,.86);box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),var(--shadow-lift);padding:clamp(24px,3.5vw,40px)}
.au-foot{margin:0;text-align:center;font-size:.84rem;color:var(--ink-3)}
.au-foot a{color:var(--ink-2);text-underline-offset:4px}

/* Shared form vocabulary */
.auth-form-title{margin:0 0 8px;font-size:clamp(1.7rem,2.4vw,2.1rem);font-weight:650;letter-spacing:-.035em;line-height:1.1;color:var(--ink)}
.auth-form-sub{margin:0 0 26px;font-size:.98rem;line-height:1.6;color:var(--ink-2)}
.auth-form-sub a,.auth-form-sub button{color:var(--cobalt-deep);font-weight:600;text-decoration:underline;text-decoration-color:rgba(47,91,255,.35);text-underline-offset:4px}
.auth-form-sub a:hover{text-decoration-color:var(--cobalt)}
.btn-google{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:.9rem 1rem;border:0;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line-2),0 8px 20px -14px rgba(11,21,52,.35);color:var(--ink);font:500 .98rem var(--f);cursor:pointer;transition:box-shadow .25s var(--ease),transform .25s var(--ease)}
.btn-google:hover{box-shadow:inset 0 0 0 1px var(--ink-3),0 14px 28px -16px rgba(11,21,52,.45);transform:translateY(-1px)}
.google-icon{width:18px;height:18px}
.divider-text{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--ink-3);font-size:.85rem}
.divider-text::before,.divider-text::after{content:'';flex:1;height:1px;background:var(--line-2)}
.form-group{display:grid;gap:7px;margin-bottom:16px}
.form-label{font-weight:600;font-size:.9rem;color:var(--ink)}
.form-input{width:100%;font:400 1rem var(--f);color:var(--ink);padding:.85rem 1rem;border:0;border-radius:var(--r-sm);background:#fff;box-shadow:inset 0 0 0 1px var(--line-2);transition:box-shadow .25s var(--ease)}
.form-input::placeholder{color:#6B7695}
.form-input:hover{box-shadow:inset 0 0 0 1px var(--ink-3)}
.form-input:focus{outline:0;box-shadow:inset 0 0 0 1.5px var(--cobalt),0 0 0 4px rgba(47,91,255,.15)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.btn.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:1rem 1.4rem;border:0;border-radius:999px;background:var(--act);background-size:140% 100%;color:#fff;font:600 1rem var(--f);cursor:pointer;box-shadow:0 1px 1px rgba(11,21,52,.12),0 14px 30px -12px rgba(47,91,255,.6);transition:background-position .5s var(--ease),transform .3s var(--ease);margin-top:6px}
.btn.btn-primary:hover{background-position:100% 0;transform:translateY(-1px)}
.btn.btn-primary:active{transform:scale(.98)}
.w-full{width:100%}
.message{padding:.8rem 1rem;border-radius:var(--r);margin-bottom:16px;font-size:.92rem;line-height:1.5;box-shadow:inset 0 0 0 1px var(--line-2);background:#fff}
.message-success{background:#E8EEFF;box-shadow:inset 0 0 0 1px rgba(35,67,214,.35);color:#1B2C7A}
.message-error{background:#FDECEC;box-shadow:inset 0 0 0 1px rgba(201,59,59,.35);color:#7A1B1B}
.message-warning,.message-info{background:#F4F6FB}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--cobalt);outline-offset:3px}

@media (max-width:900px){
  .au-shell{grid-template-columns:minmax(0,1fr)}
  .au-land{display:none}
  .au-mlogo{display:flex}
  .au-form-side{padding:20px 16px 32px;justify-content:flex-start}
  .two-col{grid-template-columns:1fr}
}
