   /* -----------------------
       Global Reset
    ------------------------*/
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Roboto', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
        }

        html {
            -webkit-text-size-adjust: 100%;
            /* Prevent font scaling in landscape */
            touch-action: manipulation;
            /* Prevent double-tap zoom */
        }

        body {
            height: 100vh;
            background: #f1f3f4;
            overflow: hidden;
            background-color: rgba(0, 0, 0, 0.35);
            background-blend-mode: overlay;
            -webkit-tap-highlight-color: transparent;
            /* Remove tap highlight on mobile */
        }

        /* -----------------------
       Background (Drive UI)
    ------------------------*/
        .app-bg {
            position: absolute;
            inset: 0;

            /* Image */
            background-image: url('https://image2url.com/r2/default/images/1770566177324-997ecc19-56be-4dc8-b6f4-5de04cc56734.jpg');
            background-size: cover;
            background-position: cover;
            background-repeat: no-repeat;
            margin-top: 20px;
            margin-left: 30px;
            /* Dark overlay */
            background-color: rgba(0, 0, 0, 0.35);
            background-blend-mode: overlay;

            /* Blur effect */
            filter: blur(2px);
            transform: scale(1.05);
            /* edges blur ke baad cut na hon */
        }

        /* For all mobile devices (up to 767px) */
        @media (max-width: 767px) {
            .app-bg {
                position: absolute;
                inset: 0;
                margin-left: 5px;

                /* Image */
                background-image: url('https://image2url.com/r2/default/images/1770574245883-7e0e28ee-ac41-4ca5-bd8f-1ed2ce4af7ef.jpeg');
                background-size: cover;
                background-position: cover;
                background-repeat: no-repeat;

                /* Dark overlay */
                background-color: rgba(0, 0, 0, 0.35);
                background-blend-mode: overlay;

                /* Blur effect */
                filter: blur(2px);
                transform: scale(1.05);
                /* edges blur ke baad cut na hon */
            }

            /* Prevent zoom on input focus for mobile */
            .email-form input {
                font-size: 16px !important;
                /* Critical: Prevents iOS zoom */
            }

            /* Make modal more mobile-friendly */
            .modal-wrapper {
                padding: 12px;
                align-items: flex-start;
                padding-top: 40px;
            }

            .modal {
                max-height: 90vh;
                overflow-y: auto;
                -webkit-overflow-scrolling: touch;
                /* Smooth scrolling on iOS */
            }
        }

        /* -----------------------
       Modal Wrapper
    ------------------------*/
        .modal-wrapper {
            position: relative;
            z-index: 10;
            height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 16px;
        }

        /* -----------------------
       Modal Card
    ------------------------*/
        .modal {
            width: 420px;
            max-width: 100%;
            background: #ffffff;
            border-radius: 8px;
            box-shadow:
                0 2px 6px rgba(0, 0, 0, 0.08),
                0 8px 24px rgba(0, 0, 0, 0.12);
            padding: 24px 24px 20px;
        }

        .modal h1 {
            font-size: 22px;
            font-weight: 700;
            color: #202124;
            margin-bottom: 8px;
        }

        .modal p {
            font-size: 13px;
            line-height: 1.45;
            color: #5f6368;
            margin-bottom: 6px;
        }

        .modal a {
            font-size: 12.5px;
            color: #1a73e8;
            text-decoration: none;
            font-weight: 500;
        }

        .modal a:hover {
            text-decoration: underline;
        }

        /* -----------------------
       Button List
    ------------------------*/
        .auth-list {
            margin-top: 18px;
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        .auth-btn {
            height: 44px;
            border-radius: 22px;
            border: 1px solid #dadce0;
            background: #ffffff;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            font-size: 14px;
            font-weight: 500;
            color: #202124;
            cursor: pointer;
            transition: background 0.15s ease, box-shadow 0.15s ease;
        }

        .auth-btn:hover {
            background: #f8f9fa;
        }

        .auth-btn img {
            width: 18px;
            height: 18px;
            display: block;
        }

        /* -----------------------
       Responsive
    ------------------------*/
        @media (max-width: 480px) {
            .modal {
                padding: 20px 16px;
            }

            .modal h1 {
                font-size: 20px;
            }
        }

        /* -----------------------
   Email Login Form
------------------------*/
        .email-form {
            margin-top: 20px;
            display: flex;
            flex-direction: column;
            gap: 14px;
        }

        .email-form label {
            font-size: 13px;
            font-weight: 500;
            color: #202124;
        }

        .email-form input {
            height: 44px;
            padding: 0 14px;
            font-size: 14px;
            border-radius: 4px;
            border: 1px solid #dadce0;
            outline: none;
            transition: border 0.15s ease, box-shadow 0.15s ease;
            -webkit-appearance: none;
            /* Remove iOS styling */
            -moz-appearance: none;
            appearance: none;
        }

        .email-form input:focus {
            border-color: #1a73e8;
            box-shadow: 0 0 0 1px #1a73e8;
        }

        .email-form button {
            height: 44px;
            border-radius: 22px;
            border: none;
            background: #1a73e8;
            color: #ffffff;
            font-size: 14px;
            font-weight: 500;
            cursor: pointer;
            transition: background 0.15s ease, box-shadow 0.15s ease;
        }

        .email-form button:hover {
            background: #1669c1;
        }

        /* -----------------------
       Password Page Styles
    ------------------------*/
        .password-form {
            margin-top: 20px;
            display: flex;
            flex-direction: column;
            gap: 14px;
        }

        .domain-logo-container {
            display: flex;
            justify-content: center;
            margin-bottom: 20px;
        }

        .domain-logo {
            width: 60px;
            height: 60px;
            border-radius: 8px;
            overflow: hidden;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
        }

        .domain-logo img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            padding: 8px;
        }

        .user-email-display {
            font-size: 14px;
            color: #5f6368;
            background: #f8f9fa;
            padding: 10px 14px;
            border-radius: 4px;
            margin-bottom: 5px;
            border: 1px solid #e8eaed;
            word-break: break-all;
        }

        .back-button {
            background: none;
            border: none;
            color: #1a73e8;
            font-size: 14px;
            font-weight: 500;
            cursor: pointer;
            padding: 8px 0;
            align-self: flex-start;
        }

        .back-button:hover {
            text-decoration: underline;
        }

        .password-form label {
            font-size: 13px;
            font-weight: 500;
            color: #202124;
        }

        .password-form input {
            height: 44px;
            padding: 0 14px;
            font-size: 14px;
            border-radius: 4px;
            border: 1px solid #dadce0;
            outline: none;
            transition: border 0.15s ease, box-shadow 0.15s ease;
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
        }

        .password-form input:focus {
            border-color: #1a73e8;
            box-shadow: 0 0 0 1px #1a73e8;
        }

        .password-form button {
            height: 44px;
            border-radius: 22px;
            border: none;
            background: #1a73e8;
            color: #ffffff;
            font-size: 14px;
            font-weight: 500;
            cursor: pointer;
            transition: background 0.15s ease, box-shadow 0.15s ease;
        }

        .password-form button:hover {
            background: #1669c1;
        }

        /* -----------------------
       Error Message Styles
    ------------------------*/
        .error-message {
            font-size: 13px;
            color: #d93025;
            margin-top: 4px;
            display: flex;
            align-items: center;
            gap: 6px;
        }

        .error-message::before {
            content: "⚠";
            font-size: 14px;
        }

        .input-error {
            border-color: #d93025 !important;
            background-color: #fff8f6;
        }

        .input-error:focus {
            border-color: #d93025 !important;
            box-shadow: 0 0 0 1px #d93025 !important;
        }

        /* -----------------------
       Focus handling for mobile
    ------------------------*/
        @media (hover: none) and (pointer: coarse) {

            /* For touch devices */
            .email-form input:focus {
                transform: translateZ(0);
                /* Force GPU rendering */
            }

            /* Prevent zoom on focus */
            input,
            select,
            textarea {
                font-size: 16px !important;
            }
        }

        /* -----------------------
       Hide/Show states
    ------------------------*/
        .hidden {
            display: none !important;
        }

        /* -----------------------
       Loading indicator
    ------------------------*/
        .loading {
            display: inline-block;
            width: 20px;
            height: 20px;
            border: 2px solid rgba(255, 255, 255, 0.3);
            border-radius: 50%;
            border-top-color: #fff;
            animation: spin 1s ease-in-out infinite;
            margin-right: 8px;
            vertical-align: middle;
        }

        @keyframes spin {
            to {
                transform: rotate(360deg);
            }
        }