        /* ===== LOGIN OVERLAY ===== */
        .login-overlay {
            position: fixed;
            top: 0; left: 0;
            width: 100vw; height: 100vh;
            background: var(--bg-color);
            z-index: 2000;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: opacity 0.3s ease;
        }
        .login-overlay.hidden {
            opacity: 0;
            pointer-events: none;
        }
        .login-card {
            background: var(--sidebar-bg);
            border-radius: 12px;
            padding: 40px 32px;
            width: 400px;
            max-width: 90vw;
            text-align: center;
            box-shadow: 0 4px 24px rgba(0,0,0,0.4);
            transition: width 0.2s ease;
        }
        /* The picker needs room for a grid; the login steps don't. */
        .login-card.wide {
            width: 600px;
        }

