/* US Stock Desk — mandatory sign-in gate */
html.auth-locked body { overflow: hidden; }
#authGate { display: none; position: fixed; inset: 0; z-index: 9999; background: rgba(8,11,18,0.92); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); align-items: center; justify-content: center; padding: 20px; }
html.auth-locked #authGate { display: flex; }

#authGate .auth-card { background: #10151F; border: 1px solid #202938; border-radius: 14px; padding: 34px 30px; max-width: 360px; width: 100%; text-align: center; font-family: 'Inter', system-ui, -apple-system, sans-serif; box-shadow: 0 20px 60px rgba(0,0,0,0.5); }
#authGate .auth-brand { font-family: 'IBM Plex Mono', monospace; font-weight: 700; font-size: 1.15rem; margin-bottom: 20px; letter-spacing: 0.01em; }
#authGate .auth-brand .b-hot { color: #4C8DFF; }
#authGate .auth-brand .b-dim { color: #8B95A7; }
#authGate h2 { color: #F5F7FA; font-size: 1.15rem; font-weight: 700; margin: 0 0 8px; letter-spacing: -0.01em; }
#authGate p.auth-sub { color: #8B95A7; font-size: 0.85rem; margin: 0 0 24px; line-height: 1.55; }

.auth-btn { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; padding: 11px 16px; margin-bottom: 10px; border-radius: 8px; font-weight: 600; font-size: 0.87rem; text-decoration: none; border: 1px solid #202938; box-sizing: border-box; transition: opacity .15s, transform .1s; font-family: 'Inter', system-ui, sans-serif; }
.auth-btn:last-of-type { margin-bottom: 0; }
.auth-btn:hover { opacity: 0.85; }
.auth-btn:active { transform: scale(0.98); }
.auth-btn-google { background: #FFFFFF; color: #1F1F1F; border-color: #dadce0; }
.auth-btn-x { background: #000000; color: #FFFFFF; border-color: #000000; }
.auth-btn svg { width: 18px; height: 18px; flex-shrink: 0; }

#authGate .auth-legal { margin-top: 20px; font-size: 0.7rem; color: #5C6577; line-height: 1.5; }
#authGate .auth-legal a { color: #8B95A7; text-decoration: none; }
#authGate .auth-legal a:hover { color: #F5F7FA; text-decoration: underline; }

#authUserChip { display: flex; align-items: center; gap: 8px; font-family: 'IBM Plex Mono', monospace; font-size: 0.76rem; color: #8B95A7; }
#authUserChip[hidden] { display: none; }
.auth-avatar { width: 22px; height: 22px; border-radius: 50%; display: block; background: #202938; }
.auth-name { max-width: 110px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.auth-signout { color: #8B95A7; text-decoration: none; border: 1px solid #202938; border-radius: 6px; padding: 6px 10px; font-weight: 600; }
.auth-signout:hover { color: #F5F7FA; border-color: #4C8DFF; background: #151C28; }
