/* Sign-in gate: covers the dashboard until the person is signed in and has filled in their details */
.auth-gate { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 18px;
    background: rgba(8, 8, 10, .62); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); transition: opacity .4s, visibility .4s; }
.auth-gate.hide { opacity: 0; visibility: hidden; pointer-events: none; }
.auth-box { width: min(92vw, 380px); text-align: center; padding: 30px 24px; border-radius: 18px; background: #0e0e0e; color: #fff;
    border: 1px solid var(--t-base, #e01b24); box-shadow: 0 14px 50px rgba(0, 0, 0, .6), 0 0 30px rgba(var(--t-base-rgb, 224, 27, 36), .25); font-family: system-ui, sans-serif; }
.auth-logo { font-size: 34px; color: var(--t-base, #e01b24); margin-bottom: 6px; }
.auth-box h1 { margin: 0 0 8px; font-size: 24px; }
.auth-box p { margin: 0 0 18px; color: #bbb; font-size: 14px; line-height: 1.5; }
#authBtn { display: inline-flex; align-items: center; gap: 10px; padding: 12px 22px; border-radius: 999px; border: 0; cursor: pointer;
    background: #fff; color: #222; font: 600 15px system-ui, sans-serif; }
#authBtn:hover { filter: brightness(.92); }
#authBtn[hidden] { display: none; }
