.auth-locked .layout,
.auth-locked #drawer,
.auth-locked #scrim,
.auth-locked #modal,
.auth-locked #toast { display:none!important; }

.auth-gate { position:fixed; inset:0; z-index:100; display:flex; align-items:flex-end; justify-content:center; padding:16px 20px; overflow:hidden; isolation:isolate; background:#eef2ed; }
.auth-city { position:absolute; inset:0; z-index:-2; background:url('../assets/ui/city-preview.jpg') center center / cover no-repeat; pointer-events:none; }
.auth-wash { position:absolute; inset:0; z-index:-1; background:rgba(255,255,255,.58); backdrop-filter:blur(1px); pointer-events:none; }
.auth-card { width:360px; max-width:100%; max-height:calc(100dvh - 32px); display:flex; flex-direction:column; padding:24px; border-radius:22px; background:rgba(255,255,255,.97); border:1px solid rgba(255,255,255,.95); box-shadow:0 12px 48px rgba(31,51,40,.16),0 2px 6px rgba(31,51,40,.04); }
.auth-brand { margin:0 0 18px; color:var(--green); font-size:23px; font-weight:800; line-height:1.15; letter-spacing:-.8px; flex:none; }
.auth-card .app-view { height:auto; min-height:0; overflow-y:auto; animation:none; }
.auth-card .app-head { display:none; }
.auth-card .app-body { padding:0; overflow:visible; gap:14px; }
.auth-card .account-hero { text-align:left; padding:0; }
.auth-card .account-hero>span { display:none; }
.auth-card .account-hero h2 { font-size:18px; letter-spacing:-.4px; margin-bottom:5px; }
.auth-card .account-hero p { font-size:12px; }
.auth-card .account-form { gap:12px; }
.auth-card .account-form .field { font-size:12px; }
.auth-card .account-form input { height:42px; border-radius:10px; background:#fff; font-size:16px; }
.auth-card .account-password { border-radius:10px; }
.auth-card .account-hint { font-size:11px; }
.auth-card .account-tabs { border-radius:11px; background:#f0f2ef; }
.auth-card .account-tabs button { padding:8px 5px; border-radius:8px; font-size:12px; }
.auth-card .p-btn { height:42px; border-radius:10px; font-size:14px; }
.auth-card .account-interests label { padding:10px; border-radius:10px; }
.auth-card .account-interests input { height:auto; }

@media(max-width:600px) {
  .auth-gate { padding:12px 16px; }
  .auth-card { width:360px; padding:22px; max-height:calc(100dvh - 24px); border-radius:20px; }
  .auth-city { background-position:52% center; }
}
@media(max-height:520px) {
  .auth-gate { padding:10px 16px; }
  .auth-card { max-height:calc(100dvh - 20px); padding:18px; }
  .auth-brand { margin-bottom:12px; font-size:21px; }
}

.auth-brand img { display:block; width:96px; height:auto; margin:0 auto; }
