.signin-body{
  display:block;
  min-height:100vh;

  background:
    radial-gradient(120% 90% at 20% 0%,  #e9ece4 0%, transparent 60%),
    radial-gradient(120% 90% at 85% 20%, #dfe4dc 0%, transparent 55%),
    radial-gradient(140% 120% at 50% 100%, #cdd4c9 0%, transparent 70%),
    #e4e7e0;
}

.simbar{
  background:var(--crimson); color:#fff; text-align:center;
  font-family:var(--sans); font-weight:700; font-size:11.5px;
  letter-spacing:.14em; text-transform:uppercase;
  padding:8px 16px; line-height:1.4;
}
.simbar[hidden]{display:none}

.appbar{
  background:linear-gradient(#fbfbfa, #f2f2f0);
  border-bottom:1px solid #e3e3e0;
  padding:22px 20px 20px; text-align:center;
}
.appbar__icon{display:block; margin:0 auto 10px; color:var(--ink-soft)}
.appbar p{
  margin:0; font-family:var(--sans); font-size:14px; color:var(--ink-mute);
}

.signin-main{
  display:flex; flex-direction:column; align-items:center;
  padding:44px 18px 60px;
}
.signin-card{
  width:100%; max-width:406px; background:var(--white);
  border-radius:6px; box-shadow:0 2px 4px rgba(30,30,30,.08), 0 12px 32px rgba(30,30,30,.10);

}

.signin-card__hd{
  display:flex; align-items:center; justify-content:center; gap:11px;
  padding:26px 24px 24px; border-bottom:1px solid #e6e6e4;
  border-radius:6px 6px 0 0;
}
.brandmark{display:block; color:var(--crimson); flex-shrink:0}
.brandtype{
  font-family:var(--serif); font-size:25px; font-weight:500;
  letter-spacing:.055em; color:#3f3f3f; line-height:1;
}
.brandtype b{font-family:var(--sans); font-weight:700; color:var(--crimson);
  letter-spacing:.02em}

.signin-card__bd{padding:28px 32px 30px}

.step h1{
  font-family:var(--sans); font-size:25px; font-weight:500; color:#2b2b2b;
  margin:0 0 22px; letter-spacing:-.01em;
}

.fld{display:block; margin-bottom:6px}
.fld > span{
  display:block; font-family:var(--sans); font-size:14px; font-weight:700;
  color:#3f3f3f; margin-bottom:7px;
}
.fld select,
.fld input{
  width:100%; padding:11px 12px; font-family:var(--sans); font-size:15px;
  border:1px solid #c9c9c9; border-radius:4px; background:var(--white);
  color:var(--ink); min-height:44px;
}
.fld input:focus{outline:2px solid #5a7fb8; outline-offset:0; border-color:#5a7fb8}

.combo{position:relative}
.combo__btn{
  width:100%; text-align:left; min-height:44px; padding:11px 38px 11px 12px;
  font-family:var(--sans); font-size:15px; color:var(--ink);
  background:var(--white); border:1px solid #c9c9c9; border-radius:4px;
  cursor:pointer; line-height:1.35;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23555' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 13px center;
}
.combo__btn:focus-visible{outline:2px solid #5a7fb8; outline-offset:0; border-color:#5a7fb8}
.combo__btn[aria-expanded="true"]{border-color:#5a7fb8}
.combo__val{display:block}
.combo__val.placeholder{color:#8a8a86}
.combo__val small{display:block; font-size:12.5px; color:var(--ink-mute); margin-top:2px}

.combo__list{
  position:absolute; z-index:30; top:calc(100% + 4px); left:0; right:0;
  margin:0; padding:4px; list-style:none;
  background:var(--white); border:1px solid #c2c2be; border-radius:4px;
  box-shadow:0 6px 22px rgba(30,30,30,.18);

  max-height:372px; overflow-y:auto; -webkit-overflow-scrolling:touch;
}
.combo__list[hidden]{display:none}

.combo__opt{
  display:flex; gap:11px; align-items:center;
  padding:9px 11px; border-radius:3px; cursor:pointer;
}
.combo__opt:hover,
.combo__opt.active{background:#f2f4f7}
.combo__opt[aria-selected="true"]{background:#eef1f6}
.combo__av{
  width:32px; height:32px; border-radius:50%; flex-shrink:0;
  background:var(--parchment); border:1px solid #dcdcda;
  display:grid; place-items:center;
  font-family:var(--sans); font-weight:700; font-size:12px; color:var(--ink-soft);
}
.combo__b{flex:1; min-width:0}
.combo__n{font-family:var(--sans); font-weight:600; font-size:14.5px; color:var(--ink)}

.combo__e{font-family:var(--sans); font-size:12.5px; color:var(--ink-mute);
  margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.combo__tag{
  display:inline-block; font-family:var(--sans); font-size:9.5px; font-weight:700;
  letter-spacing:.09em; text-transform:uppercase; border:1px solid currentColor;
  border-radius:2px; padding:0 5px; margin-left:6px; color:var(--indigo);
  vertical-align:1px;
}
.combo__tag.staff{color:var(--saffron)}
.fld input:disabled{background:#f0f0ee; color:var(--ink-mute); cursor:not-allowed}

.fld__hint{
  margin:9px 0 0; font-size:12.5px; line-height:1.5; color:var(--ink-mute);
}

.fld__hint:empty{display:none}

.pbtn{
  display:block; width:100%; text-align:center; box-sizing:border-box;
  margin-top:20px; padding:12px 16px; min-height:46px;
  background:var(--crimson); color:#fff; border:1px solid var(--crimson);
  border-radius:4px; font-family:var(--sans); font-size:15px; font-weight:600;
  cursor:pointer; text-decoration:none; line-height:1.4;
}
.pbtn:hover:not(:disabled){background:var(--crimson-dark); border-color:var(--crimson-dark)}
.pbtn:disabled{background:#cfa4ab; border-color:#cfa4ab; cursor:not-allowed}
.pbtn--link{border-bottom:1px solid var(--crimson)}

.linkstack{list-style:none; margin:22px 0 0; padding:0}
.linkstack li{margin-bottom:14px}
.linkstack li:last-child{margin-bottom:0}
.linkstack a{
  font-family:var(--sans); font-size:14px; font-weight:400; color:var(--crimson);
  border-bottom:none;
}
.linkstack a:hover{text-decoration:underline}

.chosen{
  display:flex; align-items:center; gap:11px; padding:10px 12px;
  background:#fafafa; border:1px solid #e6e6e4; border-radius:4px;
  margin-bottom:20px;
}
.chosen__av{
  width:30px; height:30px; border-radius:50%; background:var(--white);
  border:1px solid #dcdcda; display:grid; place-items:center; flex-shrink:0;
  font-family:var(--sans); font-weight:700; font-size:11.5px; color:var(--ink-soft);
}
.chosen__n{font-family:var(--sans); font-weight:600; font-size:14px}

.chosen__e{font-family:var(--sans); font-size:12.5px; color:var(--ink-mute)}

.pushlead{margin:0 0 16px; font-size:14px; color:var(--ink-soft); line-height:1.5}
.pushnum{
  font-family:var(--sans); font-weight:700; font-size:40px; line-height:1;
  color:var(--crimson); text-align:center; letter-spacing:.06em;
  padding:20px 0 24px; border:1px solid #e6e6e4; border-radius:4px;
  background:#fafafa; margin-bottom:20px;
}

.signin-foot{
  max-width:406px; margin:22px auto 0; font-size:11.5px; line-height:1.6;
  color:#6f7269; text-align:center;
}

@media (prefers-reduced-motion:reduce){*{transition:none!important; animation:none!important}}

.fld__hint--err{font-weight:600; color:var(--ink-soft)}

#unlockForm{margin-top:16px}
