.ex-auth-overlay{position:fixed;inset:0;z-index:2147483646;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.72);backdrop-filter:blur(14px)}.ex-auth-overlay.open{display:flex}.ex-auth-box{position:relative;width:min(410px,100%);padding:30px;border:1px solid rgba(212,168,32,.32);border-radius:22px;background:linear-gradient(145deg,#15130d,#09090b);box-shadow:0 30px 90px rgba(0,0,0,.58);color:#fff;text-align:center;font-family:'DM Sans',system-ui,sans-serif}.ex-auth-close{position:absolute;right:13px;top:12px;width:34px;height:34px;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.55);font-size:20px;cursor:pointer}.ex-auth-mark{width:48px;height:48px;margin:0 auto 14px;border:7px double #d4a820;border-radius:50%;box-shadow:0 0 24px rgba(212,168,32,.24)}.ex-auth-logo{display:block;width:52px;height:52px;max-width:52px;max-height:52px;min-width:52px;min-height:52px;margin:0 auto 14px;object-fit:contain;object-position:center;overflow:hidden;flex:0 0 52px}
.ex-auth-box h2{margin:0 0 7px;font:800 22px/1.2 Syne,system-ui,sans-serif}.ex-auth-box p{margin:0 0 22px;color:rgba(255,255,255,.48);font-size:13px;line-height:1.5}.ex-auth-google,.ex-auth-secondary{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 14px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.055);color:#fff;font-weight:750;cursor:pointer}.ex-auth-google:hover,.ex-auth-secondary:hover{background:rgba(255,255,255,.1)}.ex-auth-divider{display:flex;align-items:center;gap:10px;margin:16px 0;color:rgba(255,255,255,.32);font-size:11px}.ex-auth-divider::before,.ex-auth-divider::after{content:'';height:1px;flex:1;background:rgba(255,255,255,.11)}.ex-auth-switch{margin-top:16px;color:rgba(255,255,255,.42);font-size:12px}.ex-auth-switch button{border:0;background:none;color:#d4a820;font-weight:800;cursor:pointer}.ex-auth-legal{margin-top:18px;color:rgba(255,255,255,.28);font-size:11px}.ex-auth-legal a{color:rgba(212,168,32,.75)}.ex-auth-account{margin-bottom:12px}.ex-auth-error{min-height:18px;margin-top:12px!important;color:#fca5a5!important}
.ex-auth-continue,.ex-auth-account{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 14px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.055);color:#fff;font-weight:750;cursor:pointer}.ex-auth-continue{margin-top:10px;border-color:#d4a820;background:#d4a820;color:#141007}.ex-auth-label{display:block;margin:0 0 6px;text-align:left;color:rgba(255,255,255,.7);font-size:12px;font-weight:700}.ex-auth-input{box-sizing:border-box;width:100%;height:46px;padding:0 13px;border:1px solid rgba(255,255,255,.18);border-radius:12px;outline:none;background:rgba(255,255,255,.045);color:#fff;font:600 14px system-ui,sans-serif}.ex-auth-input:focus{border-color:#d4a820;box-shadow:0 0 0 3px rgba(212,168,32,.14)}.ex-auth-account{justify-content:flex-start;text-align:left}.ex-auth-account>img,.ex-auth-account>span:first-child{width:38px;height:38px;flex:0 0 38px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:rgba(212,168,32,.18);color:#d4a820;font-weight:900}.ex-auth-account>span:last-child{display:flex;min-width:0;flex-direction:column;gap:2px}.ex-auth-account strong,.ex-auth-account small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ex-auth-account small{color:rgba(255,255,255,.5);font-weight:500}.ex-auth-back{margin-top:10px;border:0;background:none;color:rgba(255,255,255,.65);font-weight:750;cursor:pointer}.ex-auth-box form{display:grid;gap:8px}.ex-auth-overlay.is-busy .ex-auth-box{cursor:progress}.ex-auth-box button:disabled,.ex-auth-box input:disabled{opacity:.55;cursor:wait}

.ex-auth-gis-host{width:100%;min-height:46px;display:flex;align-items:center;justify-content:center;overflow:hidden}.ex-auth-gis-host>div{max-width:100%!important}.ex-auth-google-loading{margin:0!important;padding:12px 8px;color:rgba(255,255,255,.55)!important;font-size:12px!important}.ex-auth-account-hint{cursor:default!important;pointer-events:none;background:rgba(255,255,255,.035)!important}

/* Group 1 accessibility and small-viewport hardening. */
body.ex-auth-modal-open{overflow:hidden;overscroll-behavior:none;touch-action:none}
.ex-auth-overlay{box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.ex-auth-box{box-sizing:border-box;max-height:calc(100dvh - max(32px,env(safe-area-inset-top) + env(safe-area-inset-bottom)));overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.ex-auth-close{width:44px;height:44px;right:8px;top:7px}
.ex-auth-box :focus-visible{outline:2px solid #f0cc60;outline-offset:3px}
.ex-auth-input{font-size:16px}
@media (max-width:480px){
  .ex-auth-overlay{align-items:flex-end;padding:12px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}
  .ex-auth-box{width:100%;max-height:min(88dvh,720px);padding:26px 20px 22px;border-radius:22px 22px 14px 14px}
}
@media (max-height:620px){
  .ex-auth-overlay{align-items:flex-start}
  .ex-auth-box{margin:auto 0;padding-top:24px;padding-bottom:20px}
  .ex-auth-mark{width:38px;height:38px;margin-bottom:10px;border-width:6px}
  .ex-auth-box p{margin-bottom:14px}
  .ex-auth-divider{margin:12px 0}
}
@media (prefers-reduced-motion:reduce){
  .ex-auth-overlay,.ex-auth-box,.ex-auth-box *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
