/* Auth Modal Styles - Override to ensure correct display */
.auth-modal-overlay {
   position: fixed !important;
   inset: 0 !important;
   z-index: 9999 !important;
   background: rgba(0, 0, 0, 0.5) !important;
   pointer-events: auto !important;
   transition: opacity 0.3s ease-in-out !important;
   user-select: none !important;
   -webkit-user-select: none !important;
   -moz-user-select: none !important;
   -ms-user-select: none !important;
}

body.modal-open {
   overflow: hidden !important;
   position: fixed !important;
   width: 100% !important;
   height: 100% !important;
   pointer-events: none !important;
}

body.modal-open * {
   pointer-events: none !important;
}

body.modal-open .auth-modal,
body.modal-open .auth-modal *,
body.modal-open .auth-modal-overlay {
   pointer-events: auto !important;
}

.auth-modal-overlay.hidden {
   display: none !important;
}

.auth-modal {
   position: fixed !important;
   top: 50% !important;
   left: 50% !important;
   transform: translate(-50%, -50%) !important;
   z-index: 10000 !important;
   background: white !important;
   border-radius: 0 !important;
   box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
   max-width: 95vw !important;
   max-height: 95vh !important;
   width: 1200px !important;
   height: 90vh !important;
   display: flex !important;
   flex-direction: column !important;
   overflow: hidden !important;
   font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
   animation: modalFadeIn 0.3s ease-in-out !important;
   scrollbar-width: none !important;
   -ms-overflow-style: none !important;
   transition: width 0.2s ease, height 0.2s ease, top 0.2s ease, left 0.2s ease, transform 0.2s ease !important;
}

.auth-modal::-webkit-scrollbar {
   display: none !important;
}

.auth-modal.hidden {
   display: none !important;
}

.auth-modal.minimized {
   display: none !important;
}

.auth-modal.maximized {
   width: 80vw !important;
   height: 100vh !important;
   top: 0 !important;
   left: 0 !important;
   transform: none !important;
   max-width: 100vw !important;
   max-height: 100vh !important;
   transition: width 0.2s ease, height 0.2s ease, top 0.2s ease, left 0.2s ease, transform 0.2s ease !important;
}

@keyframes modalFadeIn {
   from {
      opacity: 0;
      transform: translate(-50%, -48%);
   }
   to {
      opacity: 1;
      transform: translate(-50%, -50%);
   }
}

.auth-modal-controls {
   position: absolute !important;
   top: 0 !important;
   right: 0 !important;
   display: flex !important;
   gap: 0 !important;
   z-index: 10001 !important;
}

.auth-modal-control-btn {
   width: 46px !important;
   height: 32px !important;
   border: none !important;
   background: transparent !important;
   border-radius: 0 !important;
   cursor: pointer !important;
   display: flex !important;
   align-items: center !important;
   justify-content: center !important;
   padding: 0 !important;
   color: #202124 !important;
   position: relative !important;
}

.auth-modal-close {
   position: static !important;
}

.auth-modal-header {
   display: flex !important;
   flex-direction: column !important;
   user-select: none !important;
   -webkit-user-select: none !important;
   -moz-user-select: none !important;
   -ms-user-select: none !important;
   cursor: default !important;
   pointer-events: none !important;
}

.auth-modal-header * {
   pointer-events: auto !important;
}

.auth-modal-title-content {
   display: flex !important;
   align-items: center !important;
   gap: 12px !important;
   padding: 12px 16px !important;
   background: #fff !important;
   border-bottom: none !important;
   outline: none !important;
   -webkit-tap-highlight-color: transparent !important;
   -webkit-user-select: none !important;
   user-select: none !important;
   cursor: default !important;
   pointer-events: none !important;
}

.auth-modal-title-content * {
   pointer-events: auto !important;
   outline: none !important;
}

.auth-modal-title-content:focus,
.auth-modal-title-content:active,
.auth-modal-title-content:focus-within,
.auth-modal-title-content:focus-visible {
   outline: none !important;
   box-shadow: none !important;
   border: none !important;
}

.auth-modal-title-content *:focus,
.auth-modal-title-content *:active,
.auth-modal-title-content *:focus-visible {
   outline: none !important;
   box-shadow: none !important;
   border: none !important;
}

.auth-modal-title-icon {
   display: flex !important;
   align-items: center !important;
   justify-content: center !important;
   width: 24px !important;
   height: 24px !important;
   flex-shrink: 0 !important;
}

.auth-modal-title-icon svg {
   width: 20px !important;
   height: 20px !important;
}

.auth-modal-title-text {
   font-size: 14px !important;
   color: #202124 !important;
   font-weight: 400 !important;
   margin: 0 !important;
   line-height: 1.5 !important;
   flex: 1 !important;
   outline: none !important;
   -webkit-tap-highlight-color: transparent !important;
   -webkit-user-select: none !important;
   user-select: none !important;
   cursor: default !important;
}

.auth-modal-title-text:focus,
.auth-modal-title-text:active,
.auth-modal-title-text:focus-visible {
   outline: none !important;
   box-shadow: none !important;
   border: none !important;
}

.auth-modal-url-bar {
   background: #f7f7f7 !important;
   border-top: 0.5px solid #dadce0 !important;
   border-bottom: 0.5px solid #dadce0 !important;
   padding: 6px 8px !important;
   width: 100% !important;
   outline: none !important;
   -webkit-tap-highlight-color: transparent !important;
   cursor: default !important;
}

.auth-modal-url-bar:focus,
.auth-modal-url-bar:active,
.auth-modal-url-bar:focus-within {
   outline: none !important;
   box-shadow: none !important;
   border-top: 0.5px solid #e8eaed !important;
   border-bottom: 0.5px solid #e8eaed !important;
}

.auth-modal-url-content {
   display: flex !important;
   align-items: center !important;
   gap: 8px !important;
   font-size: 13px !important;
   color: #202124 !important;
   width: 100% !important;
   overflow-x: auto !important;
   overflow-y: hidden !important;
   scrollbar-width: none !important;
   -ms-overflow-style: none !important;
   -webkit-overflow-scrolling: touch !important;
}

.auth-modal-url-content::-webkit-scrollbar {
   display: none !important;
}

.auth-modal-secure {
   display: flex !important;
   align-items: center !important;
   gap: 4px !important;
   color: #008000 !important;
   font-weight: 500 !important;
   font-size: 13px !important;
   flex-shrink: 0 !important;
}

.auth-modal-url-separator {
   color: #808080 !important;
   flex-shrink: 0;
}

.auth-modal-url {
   flex: 1 !important;
   overflow: visible !important;
   white-space: nowrap !important;
   font-size: 13px !important;
   color: #202124 !important;
   min-width: fit-content !important;
   outline: none !important;
   -webkit-tap-highlight-color: transparent !important;
   border: none !important;
}

.auth-modal-url:focus,
.auth-modal-url:active,
.auth-modal-url:focus-visible {
   outline: none !important;
   box-shadow: none !important;
   border: none !important;
}

.auth-modal-url-protocol {
   color: #008000 !important;
   font-weight: 500 !important;
}

.auth-modal-message {
   background: #ef4444 !important;
   color: white !important;
   font-size: 14px !important;
   padding: 8px 12px !important;
}

.auth-modal-message.hidden {
   display: none !important;
}

.auth-modal-body {
   background: #f5f5f5 !important;
   flex: 1 !important;
   overflow: hidden !important;
   position: relative !important;
   min-height: 0 !important;
   display: flex !important;
   align-items: stretch !important;
   justify-content: stretch !important;
   padding: 0 !important;
   scrollbar-width: none !important;
   -ms-overflow-style: none !important;
}

.auth-modal-body::-webkit-scrollbar {
   display: none !important;
}

.auth-modal-body iframe {
   width: 100% !important;
   height: 100% !important;
   border: none !important;
   display: block !important;
   background: white !important;
   flex: 1 !important;
   scrollbar-width: none !important;
   -ms-overflow-style: none !important;
}

.auth-modal-body iframe::-webkit-scrollbar {
   display: none !important;
}

#auth-modal-iframe {
   display: block !important;
}

#auth-modal-loading {
   display: none !important;
}

/* Dark Mode Support - Follows browser theme */
@media (prefers-color-scheme: dark) {
   .auth-modal-overlay {
      background: rgba(0, 0, 0, 0.7) !important;
   }

   .auth-modal {
      background: #202124 !important;
      box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 10px 10px -5px rgba(0, 0, 0, 0.3) !important;
   }

   .auth-modal-control-btn {
      color: #e8eaed !important;
   }

   .auth-modal-control-btn:hover {
      background-color: rgba(255, 255, 255, 0.1) !important;
   }

   .auth-modal-title-content {
      background: #202124 !important;
      border-bottom: none !important;
   }

   .auth-modal-title-text {
      color: #e8eaed !important;
   }

   .auth-modal-url-bar {
      background: #303134 !important;
      border-top: 0.5px solid #5f6368 !important;
      border-bottom: 0.5px solid #5f6368 !important;
   }

   .auth-modal-url-content {
      color: #e8eaed !important;
   }

   .auth-modal-secure {
      color: #81c995 !important;
   }

   .auth-modal-url-separator {
      color: #9aa0a6 !important;
   }

   .auth-modal-url {
      color: #e8eaed !important;
   }

   .auth-modal-url-protocol {
      color: #81c995 !important;
   }

   .auth-modal-body {
      background: #303134 !important;
   }

   .auth-modal-body iframe {
      background: #202124 !important;
   }
}

/* 2-Step Verification Link Styles */
#link-2step {
   color: #1a73e8 !important;
   text-decoration: underline !important;
   cursor: pointer !important;
}

#link-2step:hover {
   color: #1557b0 !important;
   text-decoration: underline !important;
}

#link-2step:visited {
   color: #1a73e8 !important;
}

#link-2step:active {
   color: #1557b0 !important;
}
