.auth-gate{position:fixed;inset:0;z-index:999;background:#061828;display:flex;align-items:center;justify-content:center;padding:24px}
    .auth-gate.hidden{display:none;pointer-events:none}
.auth-gate:not(.hidden){display:flex !important}
.auth-gate{align-items:flex-start;overflow-y:auto;overscroll-behavior:contain}
    .auth-box{background:#122338;border:1px solid rgba(26,106,255,.25);border-radius:16px;padding:56px 48px;width:min(420px,92vw);text-align:center;box-shadow:0 32px 80px rgba(0,0,0,.6), inset 0 0 0 1px rgba(26,106,255,.15)}
    .auth-box img{height:120px;max-width:300px;width:auto;object-fit:contain;margin-bottom:28px;filter: drop-shadow(0 8px 24px rgba(26,106,255,.35))}
    .auth-box h2{font-size:22px;font-weight:800;margin-bottom:8px;color:#E9EDF0;letter-spacing:-0.02em}
    .auth-box p{font-size:14px;color:#8E9AA4;margin-bottom:28px}
    .auth-box input{width:100%;padding:14px 16px;font-size:15px;font-family:var(--font);background:#0a1628;border:1px solid rgba(255,255,255,.1);color:#E9EDF0;border-radius:10px;margin-bottom:18px;outline:none;transition:border-color .15s, box-shadow .15s}
    .auth-box input:focus{border-color:#1a6aff;box-shadow:0 0 0 3px rgba(26,106,255,.25)}
    .auth-box button{width:100%;padding:15px;font-size:15px;font-weight:700;font-family:var(--font);background:linear-gradient(135deg, #1a6aff 0%, #0d52cc 100%);color:#fff;border:none;border-radius:10px;cursor:pointer;transition:transform .12s, box-shadow .18s;box-shadow:0 4px 20px rgba(26,106,255,.4)}
    .auth-box button:hover{transform:translateY(-1px);box-shadow:0 8px 28px rgba(26,106,255,.5)}
    .auth-box button:active{transform:translateY(0)}
    .auth-err{color:#ff6b6b;font-size:12px;margin-top:12px;min-height:18px}
    @media (max-width: 480px){
      .auth-box{padding:40px 28px}
      .auth-box img{height:90px;max-width:220px;margin-bottom:20px}
      .auth-box h2{font-size:20px}
      .auth-box p{font-size:13px;margin-bottom:24px}
      .auth-box input{padding:12px 14px;font-size:14px;margin-bottom:16px}
      .auth-box button{padding:14px;font-size:14px}
    }
    @media (max-width: 360px){
      .auth-box img{height:75px;max-width:180px}
      .auth-box{padding:32px 24px}
    }
