/* ─── AUTH ─── */
#auth-view{
  display:flex;justify-content:center;align-items:center;
  min-height:100dvh;background:var(--bg);overflow:hidden;
  padding:env(safe-area-inset-top) 20px env(safe-area-inset-bottom);
}
.auth-loader{
  display:none;align-items:center;justify-content:center;
  width:64px;height:64px;border-radius:50%;
  animation:authIn .22s ease both;
}
.auth-loader span{
  width:34px;height:34px;border-radius:50%;
  border:3px solid #e9e3d8;border-top-color:var(--t1);
  animation:authSpin .72s linear infinite;
}
.remember-login-boot #auth-view .auth-loader{display:flex}
.remember-login-boot #auth-view .container{display:none}
@keyframes authSpin{to{transform:rotate(360deg)}}
.container{
  width:100%;max-width:370px;text-align:center;padding:24px 30px;
  animation:authIn .32s ease both;
}
@keyframes authIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
#status-msg{height:20px;font-size:15px;font-weight:600;margin-bottom:30px;color:#5f6f85;transition:.2s}
.indicator-container{
  display:flex;justify-content:center;gap:13px;
  min-height:21px;margin-bottom:48px;align-items:center;
}
.dot-symbol{
  width:15px;height:15px;border-radius:50%;background:var(--t1);
  animation:dotAppear .2s ease-out both;
}
@keyframes dotAppear{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}
@keyframes authShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}
.shake{animation:authShake .3s}
.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.key{
  background:#f8f9fa;border-radius:50%;aspect-ratio:1;
  display:flex;justify-content:center;align-items:center;
  font-size:28px;font-weight:600;cursor:pointer;user-select:none;
  border:1px solid #e2e8f0;color:var(--t1);touch-action:manipulation;
  transition:background .1s,transform .18s cubic-bezier(0.34,1.6,0.64,1);
}
.key:active{background:#e9ecef;transform:scale(0.92)}
.key.func{background:transparent;border:none;color:#667085;font-size:19px;font-weight:600}
.key.func:active{background:rgba(0,0,0,.05);transform:scale(0.92)}
