/* Loading Screen Styles */
body {
  margin: 0;
  padding: 0;
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  position: fixed;
  width: 100%;
  height: 100%;
}

* {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.loading {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-direction: column !important;
  height: 100vh !important;
  width: 100vw !important;
  background-color: #08BBB7 !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 99999 !important;
  opacity: 1 !important;
}

.loading .logo-container {
  width: 200px;
  height: 200px;
  display: flex;
  justify-content: center;
  align-items: center;
  /* CORREÇÃO CRÍTICA: Esconder QUALQUER texto */
  overflow: hidden;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px !important;
}

.loading .logo-container img {
  max-width: 100%;
  max-height: 100%;
  opacity: 1;
  transition: opacity 0.3s ease;
  /* CORREÇÃO CRÍTICA: Esconder QUALQUER texto de fallback */
  color: transparent !important;
  font-size: 0 !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  line-height: 0 !important;
  /* Remover bordas que podem aparecer quando imagem falha */
  border: none !important;
  outline: none !important;
}

/* CORREÇÃO CRÍTICA: Esconder completamente se não carregar */
.loading .logo-container img:not([src]),
.loading .logo-container img[src=""],
.loading .logo-container img[src*="undefined"],
.loading .logo-container img[src*="null"],
.loading .logo-container img:not([src*=".svg"]),
.loading .logo-container img[alt] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
}

/* CORREÇÃO: Só mostrar se SVG válido */
.loading .logo-container img[src*=".svg"]:not([src=""]):not([src*="undefined"]):not([src*="null"]) {
  display: block !important;
}

/* CORREÇÃO CRÍTICA: Esconder texto de qualquer pseudo-elemento */
.loading .logo-container img::before,
.loading .logo-container img::after {
  display: none !important;
  content: "" !important;
}

/* CORREÇÃO: Esconder texto de fallback do navegador */
.loading .logo-container img[alt]::before {
  display: none !important;
}

/* CORREÇÃO CRÍTICA: Esconder QUALQUER texto que apareça */
.loading .logo-container::before,
.loading .logo-container::after {
  display: none !important;
  content: "" !important;
}

/* CORREÇÃO FINAL: Se a imagem falhar, esconder o container inteiro */
.loading .logo-container:has(img:not([src*=".svg"])),
.loading .logo-container:has(img[src=""]),
.loading .logo-container:has(img:not([src])) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  width: 0 !important;
}

/* FALLBACK para navegadores que não suportam :has() */
@supports not selector(:has(*)) {
  .loading .logo-container img:not([src*=".svg"]) + *,
  .loading .logo-container img[src=""] + *,
  .loading .logo-container img:not([src]) + * {
    display: none !important;
  }
}

/* SVG Logo inline para melhor performance */
.loading .logo-container.svg-inline {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAwIiBoZWlnaHQ9IjEwNiIgdmlld0JveD0iMCAwIDMwMCAxMDYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik05Mi44MDQyIDQyLjczOEM5MS4yMzU2IDQxLjk3NDggODkuNjQ1NiA0MS41OTMyIDg4LjAyOTkgNDEuNTkzMkM4Ni4wMTEzIDQxLjU5MzIgODQuMTY0MiA0Mi4wODYzIDgyLjQ4ODUgNDMuMDcyNEM4MC44MTI3IDQ0LjA1ODUgNzkuNDkyNyA0NS40MTc3IDc4LjUyODUgNDcuMTU0MUM3Ny41NjQyIDQ4Ljg4NjMgNzcuMDg0MiA1MC43ODk5IDc3LjA4NDIgNTIuODU2NUM3Ny4wODQyIDU0LjkyMzEgNzcuNTY0MiA1Ni44MjY3IDc4LjUyODUgNTguNTU4OUM3OS40OTI3IDYwLjI5NTMgODAuODEyNyA2MS42NjMgODIuNDg4NSA2Mi42NjJDODQuMTY0MiA2My42NjUzIDg2LjAxMTMgNjQuMTY2OSA4OC4wMjk5IDY0LjE2NjlDODkuNTgxMyA2NC4xNjY5IDkxLjE0MTMgNjMuODE5NiA5Mi43MDk5IDYzLjExNjVDOTQuMjc4NSA2Mi40MTc2IDk1LjY2NyA2MS40NDQ0IDk2Ljg3OTkgNjAuMjA1M0wxMDAuNTU3IDY0LjQwMjdDOTguODQ3IDY2LjE4NjMgOTYuODYyNyA2Ny41OTI3IDk0LjU5NTYgNjguNjI2QzkyLjMyODUgNjkuNjU5MiA5MC4wMzEzIDcwLjE3OCA4Ny43MDQyIDcwLjE3OEM4NC41NjcgNzAuMTc4IDgxLjY5NTYgNjkuNDE0OCA3OS4wODk5IDY3Ljg4ODVDNzYuNDg0MiA2Ni4zNjIxIDc0LjQzMTMgNjQuMjg3IDcyLjk0NDIgNjEuNjU4OEM3MS40NTI3IDU5LjAzNDggNzAuNzA3IDU2LjEyNzkgNzAuNzA3IDUyLjk0NjVDNzAuNzA3IDQ5Ljc2NTIgNzEuNDY1NiA0Ni44NjY5IDcyLjk5MTMgNDQuMjZDNzQuNTEyNyA0MS42NTMyIDc2LjU4MjcgMzkuNTk5NSA3OS4yMDk5IDM4LjEwMzJDODEuODMyNyAzNi42MDY5IDg0Ljc0MjcgMzUuODYwOCA4Ny45Mzk5IDM1Ljg2MDhDOTAuMjY3IDM1Ljg2MDggOTIuNTUxMyAzNi4zNDEgOTQuNzg4NSAzNy4yOTI5Qzk3LjAyNTYgMzguMjQ0NyA5OC45MzI3IDM5LjU2OTUgMTAwLjUxOCA0MS4yNTQ1TDk2Ljg4NDIgNDUuOTMyMkM5NS43MzU2IDQ0LjU2NDUgOTQuMzc3IDQzLjQ5NjkgOTIuODA4NSA0Mi43MzM3TDkyLjgwNDIgNDIuNzM4WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTEwNS42ODQgMzQuMjg3MUgxMTEuNzM5VjY5LjcwMTlIMTA1LjY4NFYzNC4yODcxWiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTEyMy4xMzcgMzQuMjM5OUMxMjMuNzg4IDM0LjkzODggMTI0LjExNCAzNS44MzA2IDEyNC4xMTQgMzYuOTE1M0MxMjQuMTE0IDM4IDEyMy43ODggMzguODQwNCAxMjMuMTM3IDM5LjUzOTJDMTIyLjQ4NiA0MC4yMzgxIDEyMS42NjMgNDAuNTg5NyAxMjAuNjY4IDQwLjU4OTdDMTE5LjY3NCA0MC41ODk3IDExOC44NTEgNDAuMjQyNCAxMTguMiAzOS41MzkyQzExNy41NDggMzguODQwNCAxMTcuMjIzIDM3Ljk2NTcgMTE3LjIyMyAzNi45MTUzQzExNy4yMjMgMzUuODY0OSAxMTcuNTQ4IDM0Ljk0MyAxMTguMiAzNC4yMzk5QzExOC44NTEgMzMuNTQxIDExOS42NzQgMzMuMTg5NSAxMjAuNjY4IDMzLjE4OTVDMTIxLjY2MyAzMy4xODk1IDEyMi40ODYgMzMuNTQxIDEyMy4xMzcgMzQuMjM5OVpNMTE3LjY5IDQ0LjE2OTdIMTIzLjc0NlY2OS43MDYxSDExNy42OVY0NC4xNjk3WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTE1MS4xNjggNDYuNTc5NEMxNTIuODE0IDQ4LjM0NTggMTUzLjYzNyA1MC43MzgzIDE1My42MzcgNTMuNzYxVjY5LjcwMTlIMTQ3LjUzNFY1NS41NzQ2QzE0Ny41MzQgNTMuNzkxIDE0Ny4wMzcgNTIuMzg0NiAxNDYuMDQzIDUxLjM1MTRDMTQ1LjA0OCA1MC4zMTgxIDE0My42OTggNDkuNzk5MyAxNDEuOTkzIDQ5Ljc5OTNDMTM5Ljk3NCA0OS44MjkzIDEzOC4zODQgNTAuNTMyNSAxMzcuMjE4IDUxLjkwMDJDMTM2LjA1MyA1My4yNjc5IDEzNS40NyA1NS4wMTcyIDEzNS40NyA1Ny4xNTI0VjY5LjcwNjJIMTI5LjQxNFY0NC4xNjk4SDEzNS40N1Y0OC45NDE4QzEzNy4xNzUgNDUuNjY2MSAxNDAuMTU4IDQzLjk5NCAxNDQuNDE0IDQzLjkyOTdDMTQ3LjI2OCA0My45Mjk3IDE0OS41MjMgNDQuODEyOSAxNTEuMTY4IDQ2LjU3OTRaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMTY0LjA1NSAzNC4yMzk5QzE2NC43MDYgMzQuOTM4OCAxNjUuMDMyIDM1LjgzMDYgMTY1LjAzMiAzNi45MTUzQzE2NS4wMzIgMzggMTY0LjcwNiAzOC44NDA0IDE2NC4wNTUgMzkuNTM5MkMxNjMuNDA0IDQwLjIzODEgMTYyLjU4MSA0MC41ODk3IDE2MS41ODYgNDAuNTg5N0MxNjAuNTkyIDQwLjU4OTcgMTU5Ljc2OSA0MC4yNDI0IDE1OS4xMTggMzkuNTM5MkMxNTguNDY2IDM4Ljg0MDQgMTU4LjE0MSAzNy45NjU3IDE1OC4xNDEgMzYuOTE1M0MxNTguMTQxIDM1Ljg2NDkgMTU4LjQ2NiAzNC45NDMgMTU5LjExOCAzNC4yMzk5QzE1OS43NjkgMzMuNTQxIDE2MC41OTIgMzMuMTg5NSAxNjEuNTg2IDMzLjE4OTVDMTYyLjU4MSAzMy4xODk1IDE2My40MDQgMzMuNTQxIDE2NC4wNTUgMzQuMjM5OVpNMTU4LjYwOCA0NC4xNjk3SDE2NC42NjNWNjkuNzA2MUgxNTguNjA4VjQ0LjE2OTdaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMTgxLjg2NSA0OS40MTc1QzE3OS44NDcgNDkuNDE3NSAxNzguMjEgNTAuMTE2NCAxNzYuOTUgNTEuNTE4NEMxNzUuNjk0IDUyLjkyMDQgMTc1LjA2NCA1NC43MzQgMTc1LjA2NCA1Ni45NTkyQzE3NS4wNjQgNTkuMTg0NSAxNzUuNjk0IDYxLjA5NjcgMTc2Ljk1IDYyLjQ5NDRDMTc4LjIxIDYzLjg5NjQgMTc5Ljg0NyA2NC41OTUzIDE4MS44NjUgNjQuNTk1M0MxODQuODQ4IDY0LjU5NTMgMTg3LjA4MSA2My41OTIgMTg4LjU3MiA2MS41ODk3TDE5Mi4zNDQgNjQuNzg4MkMxOTEuMjI1IDY2LjQ0MzIgMTg5Ljc1MSA2Ny43MTY2IDE4Ny45MTcgNjguNjA4NEMxODYuMDg3IDY5LjUwMDIgMTgzLjk1NyA2OS45NDE4IDE4MS41MzUgNjkuOTQxOEMxNzkuMTE0IDY5Ljk0MTggMTc2LjkwMiA2OS40MDE2IDE3NC45OTEgNjguMzIxMUMxNzMuMDg0IDY3LjI0MDcgMTcxLjU5NyA2NS43MTg2IDE3MC41NDIgNjMuNzYzNUMxNjkuNDg0IDYxLjgwODQgMTY4Ljk2MSA1OS41NTc1IDE2OC45NjEgNTcuMDEwN0MxNjguOTYxIDU0LjQ2MzkgMTY5LjQ5NyA1Mi4xNTcyIDE3MC41NjggNTAuMTg1QzE3MS42NCA0OC4yMTI3IDE3My4xMzEgNDYuNjg2NCAxNzUuMDM4IDQ1LjYwMTZDMTc2Ljk0NSA0NC41MjEyIDE3OS4xNDQgNDMuOTgxIDE4MS42MyA0My45ODFDMTgzLjg5NyA0My45ODEgMTg1LjkyIDQ0LjM4ODMgMTg3LjcwNyA0NS4xOTg2QzE4OS40OSA0Ni4wMDkgMTkwLjk0MiA0Ny4xNjIzIDE5Mi4wNjEgNDguNjU4NkwxODguMzggNTIuMjM4N0MxODYuNzA0IDUwLjM2MDggMTg0LjUzMSA0OS40MjE4IDE4MS44NTcgNDkuNDIxOEwxODEuODY1IDQ5LjQxNzVaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMC4wMDQyODMzNiAzNi4yOTM5SDcuMTMxNDNMMTcuOTM1NyA1Ny44MjE1TDI4LjY0NTcgMzYuMjkzOUgzNS43NzI4VjY5LjcwNjVIMzAuMDQyOVY0NS43NDc5TDE5Ljg5IDY2LjI3MjJIMTUuODgyOEw1LjY4Mjg1IDQ1Ljc0NzlWNjkuNzA2NUgwVjM2LjI5MzlIMC4wMDQyODMzNloiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik01MS40MzM5IDc3LjY1MTRDNDkuOTg5NiA3OC43MTQ3IDQ4LjI3NTMgNzkuMjUwNyA0Ni4yODY4IDc5LjI1MDdDNDUuMDczOSA3OS4yNTA3IDQzLjk4MSA3OS4wNjYzIDQzLjAwMzkgNzguNzAxOUM0Mi4wMjY4IDc4LjMzNzQgNDEuMDUzOSA3Ny43NTQzIDQwLjA5MzkgNzYuOTU2OUw0Mi43MDM5IDcyLjIzMkM0My4yOTUzIDcyLjY3NzkgNDMuODM1MyA3My4wMDM4IDQ0LjMzMjUgNzMuMjA5NkM0NC44Mjk2IDczLjQxNTQgNDUuMzU2OCA3My41MjI2IDQ1LjkxODIgNzMuNTIyNkM0Ny41NjM5IDczLjUyMjYgNDguNzcyNSA3Mi42NjUxIDQ5LjU1MjUgNzAuOTQ1OEw1MC4yOTgyIDY5LjI3MzZMNDAuMDAzOSA0NC4xNjZINDYuMjkxMUw1My4zNzExIDYyLjczNTJMNTkuODQ2OCA0NC4xNjZINjUuOTQ5Nkw1NC43NzI1IDcyLjkwMDlDNTMuOTk2OCA3NS4wMDE3IDUyLjg4NjggNzYuNTgzOCA1MS40NDI1IDc3LjY0NzFMNTEuNDMzOSA3Ny42NTE0WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTI0OSAxMDMuNDc5QzI0OSAxMDQuODczIDI0Ny44NzMgMTA1Ljk5NiAyNDYuNDg0IDEwNS45OTZDMjQ1LjA5NiAxMDUuOTk2IDI0My45NjkgMTA0Ljg2OCAyNDMuOTY5IDEwMy40NzlDMjQzLjk2OSAxMDIuMDkgMjQ1LjA5NiAxMDAuOTYyIDI0Ni40ODQgMTAwLjk2MkMyNDcuODczIDEwMC45NjIgMjQ5IDEwMi4wOSAyNDkgMTAzLjQ3OVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yMzEuODEzIDk5LjM0MTdDMjMxLjgxMyAxMDEuOTE0IDIyOS43MyAxMDQuMDAyIDIyNy4xNTUgMTA0LjAwMkMyMjQuNTc5IDEwNC4wMDIgMjIyLjQ5NiAxMDEuOTE0IDIyMi40OTYgOTkuMzQxN0MyMjIuNDk2IDk2Ljc2OTIgMjI0LjU4MyA5NC42ODEyIDIyNy4xNTUgOTQuNjgxMkMyMjkuNzI2IDk0LjY4MTIgMjMxLjgxMyA5Ni43NjkyIDIzMS44MTMgOTkuMzQxN1oiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yMTIuNDU2IDgyLjYyMDRDMjEyLjQ1NiA4Ni40MDYzIDIwOS4zODcgODkuNDc2MSAyMDUuNjAzIDg5LjQ3NjFDMjAxLjgxOSA4OS40NzYxIDE5OC43NSA4Ni40MDYzIDE5OC43NSA4Mi42MjA0QzE5OC43NSA3OC44MzQ1IDIwMS44MTkgNzUuNzY0NiAyMDUuNjAzIDc1Ljc2NDZDMjA5LjM4NyA3NS43NjQ2IDIxMi40NTYgNzguODM0NSAyMTIuNDU2IDgyLjYyMDRaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMjIxLjc3MyA5My41ODc3QzIyMS43NzMgOTYuNzY5IDIxOS4xOTcgOTkuMzQ1OCAyMTYuMDE3IDk5LjM0NThDMjEyLjgzNyA5OS4zNDU4IDIxMC4yNjIgOTYuNzY5IDIxMC4yNjIgOTMuNTg3N0MyMTAuMjYyIDkwLjQwNjQgMjEyLjgzNyA4Ny44Mjk2IDIxNi4wMTcgODcuODI5NkMyMTkuMTk3IDg3LjgyOTYgMjIxLjc3MyA5MC40MDY0IDIyMS43NzMgOTMuNTg3N1oiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yNDAuODU3IDEwMi40MzNDMjQwLjg1NyAxMDQuNDAxIDIzOS4yNjMgMTA1Ljk5NiAyMzcuMjk2IDEwNS45OTZDMjM1LjMyOSAxMDUuOTk2IDIzMy43MzQgMTA0LjQwMSAyMzMuNzM0IDEwMi40MzNDMjMzLjczNCAxMDAuNDY1IDIzNS4zMjkgOTguODcwMSAyMzcuMjk2IDk4Ljg3MDFDMjM5LjI2MyA5OC44NzAxIDI0MC44NTcgMTAwLjQ2NSAyNDAuODU3IDEwMi40MzNaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMjQ3LjAyOSAwQzIyNi42MjQgMCAyMDguOTI0IDExLjU0NjMgMjAwLjA3NCAyOC40NTYySDIwNS43NzlDMjA1Ljc3OSAyOC40NTYyIDIwNS44MDQgMjguNDU2MiAyMDUuODE3IDI4LjQ1NjJDMjE0LjE4NyAxNC40Mjc1IDIyOS41MDQgNS4wMjQ5NCAyNDcuMDI0IDUuMDI0OTRDMjczLjUxIDUuMDI0OTQgMjk0Ljk4MSAyNi41MDU0IDI5NC45ODEgNTMuMDAyMUMyOTQuOTgxIDc5LjQ5ODkgMjczLjUxIDEwMC45NzkgMjQ3LjAyNCAxMDAuOTc5QzI0Ni43NSAxMDAuOTc5IDI0Ni40OCAxMDAuOTcxIDI0Ni4yMDYgMTAwLjk2NkMyNDYuMjgzIDEwMS40NDcgMjQ2LjMzNCAxMDEuOTM1IDI0Ni4zMzQgMTAyLjQzN0MyNDYuMzM0IDEwMy42OTMgMjQ2LjA3NyAxMDQuODkgMjQ1LjYxNCAxMDUuOTc0QzI0Ni4wODEgMTA1Ljk4NyAyNDYuNTUzIDEwNiAyNDcuMDI0IDEwNkMyNzYuMjgzIDEwNiAzMDAgODIuMjcyOSAzMDAgNTMuMDAyMUMzMDAgMjMuNzMxMyAyNzYuMjgzIDAuMDA0Mjc4NjEgMjQ3LjAyNCAwLjAwNDI3ODYxTDI0Ny4wMjkgMFoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yMTkuMzI1IDUzLjA0NDdDMjIxLjEwOCA1NC42MzU0IDIyMi4wMDQgNTYuNzE5MSAyMjIuMDA0IDU5LjI5NTlDMjIyLjAwNCA2MS4zOTY4IDIyMS40NzYgNjMuMjQ5IDIyMC40MTggNjQuODU2OEMyMTkuMzY0IDY2LjQ2NDYgMjE3Ljg1NSA2Ny43MjA5IDIxNS45MDEgNjguNjI5OEMyMTMuOTQ2IDY5LjUzNDUgMjExLjY2MiA2OS45ODkgMjA5LjA1NiA2OS45ODlDMjA2Ljg0OSA2OS45ODkgMjA0LjY3MiA2OS42NTAzIDIwMi41MTIgNjguOTY0M0MyMDAuMzUyIDY4LjI4MjUgMTk4LjUxNCA2Ny4zNjUgMTk2Ljk5MiA2Ni4yMjAzTDE5OS40NjEgNjEuMjU1M0MyMDAuNzY0IDYyLjM3MDEgMjAyLjIwOCA2My4yMjMzIDIwMy43OTQgNjMuODEwN0MyMDUuMzc1IDY0LjM5ODEgMjA2Ljk5MSA2NC42OTM5IDIwOC42MzYgNjQuNjkzOUMyMTAuOTA0IDY0LjY5MzkgMjEyLjY3OCA2NC4yMTggMjEzLjk2OCA2My4yNjE5QzIxNS4yNTggNjIuMzA1OCAyMTUuOTAxIDYxLjAxOTUgMjE1LjkwMSA1OS4zOTQ1QzIxNS45MDEgNTcuNzY5NiAyMTUuMjY2IDU2LjQ3NDggMjEzLjk4OSA1NS42MDAxQzIxMi43MTYgNTQuNzI1NSAyMTAuODk5IDU0LjI4ODEgMjA4LjU0MiA1NC4yODgxSDIwMy42MDVWNTAuNDIwOEwyMTIuMzYxIDQxLjczNDNIMTk4LjYyMUwxOTguNTc0IDM2LjI5MzVIMjIwLjM3MVY0MC4yNTUxTDIxMC40MDIgNTAuMDM5MkwyMTIuMTI1IDUwLjIyNzlDMjE1LjEzOCA1MC41MTUxIDIxNy41MzQgNTEuNDU0MSAyMTkuMzIxIDUzLjA0NDdIMjE5LjMyNVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yNDMuMjkxIDQxLjc1NTlDMjQyLjAzNSA0MS4zOTE1IDI0MC43NjcgNDEuMjA3MSAyMzkuNDk0IDQxLjIwNzFDMjM2LjU3NSA0MS4yMDcxIDIzNC4zNzcgNDIuMjEwNCAyMzIuOTAzIDQ0LjIxMjZDMjMxLjQyOCA0Ni4yMTkyIDIzMC43MzggNDguOTU0NiAyMzAuODMzIDUyLjQyMzJDMjMxLjY3MyA1MC45NjEyIDIzMi44MTMgNDkuODU1IDIzNC4yNTcgNDkuMTA0N0MyMzUuNzAxIDQ4LjM1ODYgMjM3LjQxNSA0Ny45ODEzIDIzOS40MDQgNDcuOTgxM0MyNDIuNjMxIDQ3Ljk4MTMgMjQ1LjE5NCA0OC45NTQ2IDI0Ny4wODggNTAuODkyNkMyNDguOTgzIDUyLjgzNDggMjQ5LjkzIDU1LjQyODcgMjQ5LjkzIDU4LjY3NDRDMjQ5LjkzIDYwLjk2MzkgMjQ5LjQ1IDYyLjk2MTkgMjQ4LjQ4NSA2NC42NjRDMjQ3LjUyMSA2Ni4zNjYyIDI0Ni4xNjMgNjcuNjc4MiAyNDQuNDEgNjguNkMyNDIuNjU3IDY5LjUyMTggMjQwLjYxMyA2OS45ODQ4IDIzOC4yODUgNjkuOTg0OEMyMzUuNTIxIDY5Ljk4NDggMjMzLjEzIDY5LjMzMzEgMjMxLjExMSA2OC4wMjk3QzIyOS4wOTMgNjYuNzI2MyAyMjcuNTUgNjQuODQ4NCAyMjYuNDc4IDYyLjQwMDJDMjI1LjQwNyA1OS45NDc4IDIyNC44NzEgNTcuMDIzNyAyMjQuODcxIDUzLjYxNTFDMjI0Ljg3MSA1MC4yMDY2IDIyNS40NTQgNDYuOTkwOSAyMjYuNjE1IDQ0LjMzMjdDMjI3Ljc4MSA0MS42NzQ0IDIyOS40MzUgMzkuNjI1IDIzMS41NzQgMzguMTc1OEMyMzMuNzE3IDM2LjczMDkgMjM2LjIzMyAzNi4wMDYzIDIzOS4xMjEgMzYuMDA2M0MyNDAuNzk3IDM2LjAwNjMgMjQyLjUyOCAzNi4yMzc5IDI0NC4zMTUgMzYuNjk2NkMyNDYuMTAzIDM3LjE1OTcgMjQ3LjY2MyAzNy43ODU3IDI0OC45OTUgMzguNTgzMUwyNDYuNjE3IDQzLjM1NTFDMjQ1LjY1NyA0Mi42NTYzIDI0NC41NDcgNDIuMTI0NiAyNDMuMjg3IDQxLjc1NTlIMjQzLjI5MVpNMjMzLjQzOCA1NC42MTg0QzIzMi4yNiA1NS43NjMyIDIzMS42ODUgNTcuMTgyMyAyMzEuNzE1IDU4Ljg2NzNDMjMxLjY4NSA1OS44MTkyIDIzMS45IDYwLjczNjcgMjMyLjM2NyA2MS42MTEzQzIzMi44MzQgNjIuNDg2IDIzMy41MzcgNjMuMjAyIDIzNC40ODQgNjMuNzU5NEMyMzUuNDMxIDY0LjMxNjcgMjM2LjYwMSA2NC41OTU0IDIzNy45OTggNjQuNTk1NEMyMzkuODYzIDY0LjU5NTQgMjQxLjM1NCA2NC4wNzI0IDI0Mi40NjggNjMuMDIxOUMyNDMuNTg3IDYxLjk3MTUgMjQ0LjE0NCA2MC41MDk0IDI0NC4xNDQgNTguNjMxNUMyNDQuMTQ0IDU2Ljg4MjIgMjQzLjYwOCA1NS40ODg4IDI0Mi41MzcgNTQuNDU1NUMyNDEuNDY1IDUzLjQyMjIgMjQwLjAxMyA1Mi45MDM0IDIzOC4xODMgNTIuOTAzNEMyMzYuMTk0IDUyLjkwMzQgMjM0LjYxMyA1My40Nzc5IDIzMy40MzQgNTQuNjIyN0wyMzMuNDM4IDU0LjYxODRaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMjc3LjUyOCA0MC4zOTY3QzI3OS45NDkgNDMuMzI1MSAyODEuMTYyIDQ3LjUyNjkgMjgxLjE2MiA1Mi45OTc3QzI4MS4xNjIgNTguNDY4NiAyNzkuOTU0IDYyLjYyMzIgMjc3LjUyOCA2NS41NTE2QzI3NS4xMDYgNjguNDc5OSAyNzEuNjQ0IDY5Ljk0MiAyNjcuMTQ0IDY5Ljk0MkMyNjIuNjQ0IDY5Ljk0MiAyNTkuMTgxIDY4LjQ3OTkgMjU2Ljc1OSA2NS41NTE2QzI1NC4zMzggNjIuNjIzMiAyNTMuMTI1IDU4LjQzODYgMjUzLjEyNSA1Mi45OTc3QzI1My4xMjUgNDcuNTU2OSAyNTQuMzM4IDQzLjMyNTEgMjU2Ljc1OSA0MC4zOTY3QzI1OS4xODEgMzcuNDY4NCAyNjIuNjQ0IDM2LjAwNjMgMjY3LjE0NCAzNi4wMDYzQzI3MS42NDQgMzYuMDA2MyAyNzUuMTA2IDM3LjQ2ODQgMjc3LjUyOCA0MC4zOTY3Wk0yNjEuNDA5IDQzLjk1MTFDMjYwLjE2NiA0NS44NzYyIDI1OS41NDUgNDguODkwMyAyNTkuNTQ1IDUyLjk5NzdDMjU5LjU0NSA1Ny4xMDUyIDI2MC4xNjYgNjAuMDc2NCAyNjEuNDA5IDYyLjAxODZDMjYyLjY1MiA2My45NjA5IDI2NC41NTkgNjQuOTI5OSAyNjcuMTM5IDY0LjkyOTlDMjY5LjcxOSA2NC45Mjk5IDI3MS42MjYgNjMuOTU2NiAyNzIuODY5IDYyLjAxODZDMjc0LjExMiA2MC4wNzY0IDI3NC43MzQgNTcuMDcwOSAyNzQuNzM0IDUyLjk5NzdDMjc0LjczNCA0OC45MjQ2IDI3NC4xMTIgNDUuODc2MiAyNzIuODY5IDQzLjk1MTFDMjcxLjYyNiA0Mi4wMjYgMjY5LjcxOSA0MS4wNjU2IDI2Ny4xMzkgNDEuMDY1NkMyNjQuNTU5IDQxLjA2NTYgMjYyLjY1MiA0Mi4wMzAzIDI2MS40MDkgNDMuOTUxMVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.loading .logo-container.svg-inline img {
  display: block;
  position: relative;
  z-index: 2;
}

.loading-spinner {
  width: 80px !important;
  height: 80px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.loading-spinner-css {
  width: 80px !important;
  height: 80px !important;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><circle fill="%23FFFFFF" stroke="%23FFFFFF" stroke-width="10" r="15" cx="40" cy="100"><animate attributeName="opacity" calcMode="spline" dur="4" values="1;0;1;" keySplines=".5 0 .5 1;.5 0 .5 1" repeatCount="indefinite" begin="-.4"></animate></circle><circle fill="%23FFFFFF" stroke="%23FFFFFF" stroke-width="10" r="15" cx="100" cy="100"><animate attributeName="opacity" calcMode="spline" dur="4" values="1;0;1;" keySplines=".5 0 .5 1;.5 0 .5 1" repeatCount="indefinite" begin="-.2"></animate></circle><circle fill="%23FFFFFF" stroke="%23FFFFFF" stroke-width="10" r="15" cx="160" cy="100"><animate attributeName="opacity" calcMode="spline" dur="4" values="1;0;1;" keySplines=".5 0 .5 1;.5 0 .5 1" repeatCount="indefinite" begin="0"></animate></circle></svg>') !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  will-change: transform !important;
  transform: translateZ(0) !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}

.loading-spinner img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  opacity: 1 !important;
  will-change: transform !important;
  transform: translateZ(0) !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
  -webkit-transform: translateZ(0) !important;
  -webkit-perspective: 1000 !important;
  perspective: 1000 !important;
}

.fade-out {
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

.loading-spinner-fallback {
  width: 80px;
  height: 80px;
  border: 4px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top: 4px solid #FFFFFF;
  display: none;
  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

@keyframes spin-fallback {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.flutter-view {
  overflow: hidden !important;
}

/* Splash Screen Styles */
html {
  height: 100%
}

body {
  margin: 0;
  min-height: 100%;
  background-color: #FFFFFF;
  background-size: 100% 100%;
}

.center {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.contain {
  display:block;
  width:100%; height:100%;
  object-fit: contain;
}

.stretch {
  display:block;
  width:100%; height:100%;
}

.cover {
  display:block;
  width:100%; height:100%;
  object-fit: cover;
}

.bottom {
  position: absolute;
  bottom: 0;
  left: 50%;
  -ms-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}

.bottomLeft {
  position: absolute;
  bottom: 0;
  left: 0;
}

.bottomRight {
  position: absolute;
  bottom: 0;
  right: 0;
}
