
        /* main waiting card container */
        .waiting-body {
            min-height: 100vh;
            background: linear-gradient(145deg, #f6f9fc 0%, #eef2f5 100%);
            font-family: 'Segoe UI', 'Roboto', 'Helvetica Neue', sans-serif;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 1.5rem;
        }
        .waiting-container {
            background: rgba(255, 255, 255, 0.85);
            backdrop-filter: blur(2px);
            border-radius: 2.5rem;
            padding: 2.5rem 2rem;
            box-shadow: 0 25px 45px -12px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
            text-align: center;
            width: 100%;
            max-width: 380px;
            transition: all 0.3s ease;
            border: 1px solid rgba(255,255,255,0.6);
        }

        /* spinner ring area */
        .spinner-wrapper {
            display: flex;
            justify-content: center;
            margin-bottom: 1.8rem;
        }

        .loader-spinner {
            width: 70px;
            height: 70px;
            position: relative;
        }

        .loader-spinner .ring {
            position: absolute;
            width: 100%;
            height: 100%;
            border-radius: 50%;
            border: 4px solid transparent;
            border-top-color: #3b82f6;
            border-right-color: #60a5fa;
            border-bottom-color: #93c5fd;
            animation: spin 1.2s cubic-bezier(0.53, 0.21, 0.29, 0.67) infinite;
        }

        .loader-spinner .ring:nth-child(2) {
            width: 85%;
            height: 85%;
            top: 7.5%;
            left: 7.5%;
            border-top-color: #8b5cf6;
            border-right-color: #a78bfa;
            border-bottom-color: #c4b5fd;
            border-left-color: transparent;
            animation-duration: 1.8s;
            animation-direction: reverse;
        }

        .loader-spinner .ring:nth-child(3) {
            width: 55%;
            height: 55%;
            top: 22.5%;
            left: 22.5%;
            border-top-color: #ec489a;
            border-right-color: #f472b6;
            border-bottom-color: #fbcfe8;
            animation-duration: 1s;
            animation-timing-function: ease-in-out;
        }

        @keyframes spin {
            0% {
                transform: rotate(0deg);
            }
            100% {
                transform: rotate(360deg);
            }
        }

        /* pulsing dots / secondary indicator */
        .waiting-dots {
            display: flex;
            justify-content: center;
            gap: 0.5rem;
            margin: 1.5rem 0 1rem;
        }

        .dot {
            width: 8px;
            height: 8px;
            background-color: #3b82f6;
            border-radius: 50%;
            opacity: 0.5;
            animation: pulseDot 1.2s infinite ease-in-out;
        }

        .dot:nth-child(1) {
            animation-delay: 0s;
            background-color: #3b82f6;
        }
        .dot:nth-child(2) {
            animation-delay: 0.2s;
            background-color: #8b5cf6;
        }
        .dot:nth-child(3) {
            animation-delay: 0.4s;
            background-color: #ec489a;
        }

        @keyframes pulseDot {
            0%, 100% {
                transform: scale(0.8);
                opacity: 0.4;
            }
            50% {
                transform: scale(1.3);
                opacity: 1;
            }
        }

        /* message text */
        .waiting-message {
            font-size: 1.3rem;
            font-weight: 500;
            color: #1e293b;
            letter-spacing: -0.2px;
            margin-top: 0.25rem;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.3rem;
            flex-wrap: wrap;
        }

        .waiting-message span {
            background: linear-gradient(135deg, #1e293b, #334155);
            background-clip: text;
            -webkit-background-clip: text;
            color: transparent;
        }

        .sub-message {
            font-size: 0.85rem;
            color: #5b6e8c;
            margin-top: 0.7rem;
            font-weight: 400;
            border-top: 1px solid #e2e8f0;
            padding-top: 1rem;
            display: inline-block;
        }

        /* optional subtle pulse on container */
        @keyframes softGlow {
            0% {
                box-shadow: 0 25px 45px -12px rgba(0, 0, 0, 0.15);
            }
            50% {
                box-shadow: 0 30px 50px -12px rgba(59, 130, 246, 0.2);
            }
            100% {
                box-shadow: 0 25px 45px -12px rgba(0, 0, 0, 0.15);
            }
        }

        .waiting-container {
            animation: softGlow 2.2s infinite ease;
        }

        /* responsive tweaks */
        @media (max-width: 480px) {
            .waiting-container {
                padding: 2rem 1.5rem;
                max-width: 320px;
            }
            .waiting-message {
                font-size: 1.1rem;
            }
            .loader-spinner {
                width: 55px;
                height: 55px;
            }
        }
