        /* ══════════════════════════════════════════════
           LOGIN MODAL
        ══════════════════════════════════════════════ */
        .login-modal-overlay {
            position: fixed; inset: 0;
            background: rgba(0,0,0,0.6);
            backdrop-filter: blur(6px);
            z-index: 9998;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 1rem;
        }
        .login-modal-overlay.active { display: flex; }

        .login-modal-box {
            background: white;
            border-radius: 24px;
            padding: 2.5rem;
            width: 100%;
            max-width: 420px;
            box-shadow: 0 24px 80px rgba(0,0,0,0.25);
            position: relative;
            animation: popIn 0.4s cubic-bezier(.34,1.56,.64,1);
        }
        .login-modal-close {
            position: absolute; top: 1.2rem; right: 1.2rem;
            background: #f0f0f0; border: none; border-radius: 50%;
            width: 34px; height: 34px; display: flex; align-items: center; justify-content: center;
            cursor: pointer; font-size: 1rem; color: #555;
            transition: all 0.25s ease;
        }
        .login-modal-close:hover { background: #e0e0e0; }
        .login-modal-logo {
            display: flex; align-items: center; gap: 0.7rem;
            justify-content: center; margin-bottom: 1.4rem;
        }
        .login-field-group { margin-bottom: 1rem; }
        .login-field-group label {
            display: block; font-size: 0.82rem; font-weight: 700;
            color: #444; margin-bottom: 0.4rem;
        }
        .login-field-group input {
            width: 100%; padding: 0.8rem 1rem;
            border: 1.5px solid #e0e0e0; border-radius: 12px;
            font-family: 'Manrope', sans-serif; font-size: 0.9rem;
            outline: none; transition: all 0.25s ease; background: #fafafa;
        }
        .login-field-group input:focus {
            border-color: #e8a838;
            background: white;
            box-shadow: 0 0 0 3px rgba(232,168,56,0.12);
        }
        .login-submit-btn {
            width: 100%; padding: 0.9rem;
            background: linear-gradient(135deg, var(--primary-green), #3d6b20);
            color: white; border: none; border-radius: 50px;
            font-weight: 800; font-size: 1rem; cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0 6px 20px rgba(45,80,22,0.25);
            display: flex; align-items: center; justify-content: center; gap: 0.5rem;
        }
        .login-submit-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(45,80,22,0.35); }
        .login-submit-btn:disabled { opacity: 0.7; cursor: not-allowed; transform: none; box-shadow: 0 6px 20px rgba(45,80,22,0.2); }

        /* Inline alert inside the login modal */
        .login-alert {
            border-radius: 12px; padding: 0.7rem 0.9rem; margin-bottom: 1rem;
            font-size: 0.85rem; font-weight: 600; line-height: 1.35;
            border: 1px solid transparent;
        }
        .login-alert-danger  { background: #fdecec; color: #b42318; border-color: #f5c6c2; }
        .login-alert-success { background: #eaf6ec; color: #1d6b2c; border-color: #bfe3c6; }
        .login-alert-warning { background: #fff6e6; color: #9a6a00; border-color: #f3dca5; }

        /* Coming-soon state (off-taker & agent portals) */
        .login-coming-soon { text-align: center; padding: 0.5rem 0.25rem 0.25rem; }
        .login-coming-soon i {
            font-size: 2.6rem; color: #e8a838;
            display: inline-block; margin-bottom: 0.6rem;
        }
        .login-coming-soon h4 {
            font-size: 1.05rem; font-weight: 800; color: #222; margin-bottom: 0.5rem;
        }
        .login-coming-soon p {
            font-size: 0.88rem; color: #777; line-height: 1.5; margin-bottom: 1.3rem;
        }

