/* Authentication pages — companion to the version 3 public design system. */
body.auth-page{
  min-height:100vh;
  background:var(--bg-soft);
  color:var(--text);
}
.auth-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(360px,.9fr) minmax(520px,1.1fr);
}
.auth-context{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:clamp(38px,5vw,76px);
  color:#dbe7ff;
  background:
    linear-gradient(180deg,rgba(8,18,38,.32),rgba(8,18,38,.92)),
    url(colorado-evening.webp) center/cover no-repeat,
    var(--navy);
}
.auth-context::after{
  content:"";
  position:absolute;
  z-index:-1;
  width:440px;
  height:440px;
  right:-220px;
  bottom:-190px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018);
}
.auth-context-copy{max-width:570px;margin:auto 0}
.auth-context h1{
  max-width:660px;
  color:#fff;
  font-size:clamp(42px,5vw,68px);
  line-height:1.02;
  letter-spacing:-.05em;
}
.auth-context-copy>p{
  max-width:550px;
  margin-top:24px;
  color:#c7d2e7;
  font-size:18px;
  line-height:1.7;
}
.auth-context-points{
  display:grid;
  gap:13px;
  margin:34px 0 0;
  padding:0;
  list-style:none;
  color:#eef4ff;
  font-size:15px;
  font-weight:550;
}
.auth-context-points li{display:flex;align-items:center;gap:11px}
.auth-context-points .icon{width:18px;height:18px;color:#82a6ff}
.auth-context-note{
  display:flex;
  align-items:center;
  gap:10px;
  color:#b5c4df;
  font-size:13px;
  font-weight:550;
  letter-spacing:.01em;
}
.auth-context-note .icon{width:18px;height:18px;color:#82a6ff}
.auth-panel{
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:clamp(28px,4vw,56px);
  background:#fff;
}
.auth-panel-top{
  width:min(520px,100%);
  margin:0 auto;
}
.auth-panel-top .brand img{width:38px;height:38px}
.auth-panel-inner{
  width:min(520px,100%);
  margin:auto;
  padding:58px 0 36px;
}
.auth-panel-inner.auth-panel-wide{width:min(660px,100%)}
.auth-card-header{margin-bottom:32px}
.auth-card-header .small-label{color:var(--accent);margin-bottom:12px}
.auth-card-header h1{
  font-size:clamp(34px,4vw,48px);
  letter-spacing:-.045em;
}
.auth-card-header p{margin-top:13px;color:var(--muted);font-size:16px;line-height:1.65}
.auth-form{display:grid;gap:19px}
.auth-field{display:grid;gap:8px}
.auth-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.auth-field label{
  color:var(--ink);
  font-size:13px;
  line-height:1.3;
  font-weight:650;
  letter-spacing:-.005em;
}
.auth-field input{
  width:100%;
  min-height:50px;
  border:1px solid var(--line-2);
  border-radius:10px;
  padding:12px 14px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:16px;
  line-height:1.4;
  transition:border-color .15s,box-shadow .15s,background .15s;
}
.auth-field input::placeholder{color:#94a3b8}
.auth-field input:focus{outline:0;border-color:#7ea0ff;box-shadow:0 0 0 4px rgba(29,78,216,.12)}
.auth-field input[readonly]{background:var(--bg-soft);color:var(--muted)}
.auth-hint{font-size:12.5px;line-height:1.5;color:var(--muted)}
.auth-submit{width:100%;justify-content:center;min-height:51px;margin-top:5px}
.auth-submit .icon{width:18px;height:18px}
.auth-alert{
  display:flex;
  gap:11px;
  align-items:flex-start;
  margin:0 0 22px;
  padding:13px 15px;
  border:1px solid;
  border-radius:10px;
  font-size:14px;
  line-height:1.55;
}
.auth-alert[hidden]{display:none}
.auth-alert .icon{width:18px;height:18px;margin-top:2px}
.auth-alert-error{border-color:#f2c4c4;background:var(--red-soft);color:#8d1d1d}
.auth-alert-success{border-color:#b9decf;background:var(--green-soft);color:#096747}
.auth-alert a{font-weight:650;color:inherit;text-decoration:underline;text-underline-offset:2px}
.auth-links{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:25px;
  padding-top:23px;
  border-top:1px solid var(--line);
  font-size:14px;
}
.auth-links a{font-weight:600}
.auth-links a:last-child{text-align:right}
.auth-footer{
  width:min(660px,100%);
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px 18px;
  margin:0 auto;
  padding-top:24px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:12.5px;
}
.auth-footer-links{display:flex;gap:18px}
.auth-footer a{color:var(--muted)}
.auth-footer a:hover{color:var(--accent)}
.auth-back-home{display:inline-flex;align-items:center;gap:7px;margin-top:22px;font-size:13px;font-weight:600}
.auth-back-home .icon{width:16px;height:16px;transform:rotate(180deg)}

@media (max-width:980px){
  .auth-shell{grid-template-columns:minmax(300px,.72fr) minmax(480px,1.28fr)}
  .auth-context{padding:40px}
  .auth-context h1{font-size:44px}
  .auth-context-points{display:none}
}
@media (max-width:760px){
  .auth-shell{display:block;min-height:100vh}
  .auth-context{display:none}
  .auth-panel{min-height:100vh;padding:24px clamp(20px,6vw,42px)}
  .auth-panel-inner{padding:64px 0 42px}
}
@media (max-width:520px){
  .auth-panel-inner{padding-top:48px}
  .auth-field-row{grid-template-columns:1fr}
  .auth-links{align-items:flex-start;flex-direction:column}
  .auth-links a:last-child{text-align:left}
  .auth-footer{align-items:flex-start;flex-direction:column}
}
