/*-----------------carregamento ia----------*/
.g-loading-overlay{
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .22);
    backdrop-filter: blur(2px);
    display: flex;              /* ATIVO (sem JS) */
    align-items: center;
    justify-content: center;
    z-index: 9999;
  }

  .g-loading-card{
    width: min(420px, calc(100% - 32px));
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(0,0,0,.18);
    padding: 18px 18px 16px;
    font-family: Arial, sans-serif;
    color: #0f172a;
  }

  .g-loading-row{
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .g-spinner{
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: 4px solid #e5e7eb;
    border-top-color: #4285F4; /* azul Google */
    animation: gspin .9s linear infinite;
    flex: 0 0 auto;
  }

  @keyframes gspin{
    to { transform: rotate(360deg); }
  }

  .g-loading-title{
    font-size: 15px;
    font-weight: 700;
    margin: 0;
    line-height: 1.2;
  }

  .g-loading-sub{
    font-size: 13px;
    margin: 4px 0 0;
    color: #475569;
  }

  .g-bar{
    height: 4px;
    background: #e5e7eb;
    border-radius: 999px;
    overflow: hidden;
    margin-top: 14px;
  }

  .g-bar > i{
    display: block;
    height: 100%;
    width: 40%;
    background: #34A853; /* verde Google */
    border-radius: 999px;
    animation: gbar 1.2s ease-in-out infinite;
  }

  @keyframes gbar{
    0%   { transform: translateX(-120%); }
    50%  { transform: translateX(120%); }
    100% { transform: translateX(120%); }
  }

  @media (prefers-reduced-motion: reduce){
    .g-spinner, .g-bar > i{ animation: none; }
  }
