/* Grupo Gerenciado · design system · COPIA GERADA por ferramentas/sincronizar-design-system.php: nao edite aqui, edite design-system/gg.css */
@font-face {
  font-family:"Manrope"; font-style:normal; font-weight:200 800; font-display:block;
  src:url("fontes/manrope-latin-wght-normal.woff2") format("woff2-variations"),
      url("fontes/manrope-latin-wght-normal.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family:"Manrope"; font-style:normal; font-weight:200 800; font-display:block;
  src:url("fontes/manrope-latin-ext-wght-normal.woff2") format("woff2-variations"),
      url("fontes/manrope-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family:"Manrope Reserva"; src:local("Arial"), local("ArialMT");
  size-adjust:100.96%; ascent-override:105.58%; descent-override:29.71%; line-gap-override:0%;
}

:root {

  --gg-verde-100:#e8fbf5; --gg-verde-200:#c3f5e4; --gg-verde-300:#6fe8c3;
  --gg-verde-400:#20d9a1; --gg-verde-500:#17c291; --gg-verde-600:#0fa077; --gg-verde-700:#0b7a5a;

  --gg-profundo-950:#0b2232; --gg-profundo-900:#102b3f; --gg-profundo-850:#143249;
  --gg-profundo-800:#183a53; --gg-profundo-700:#1e4560; --gg-profundo-600:#27526f; --gg-profundo-500:#3a6583;

  --gg-cinza-100:#f5f8fa; --gg-cinza-200:#e3eaee; --gg-cinza-300:#c3d0da;
  --gg-cinza-400:#9fb2c1; --gg-cinza-500:#7c90a1; --gg-cinza-600:#566b7c; --gg-cinza-700:#3e5263;
  --gg-branco:#ffffff;

  --gg-azul:#4361ee; --gg-azul-texto:#3149c9; --gg-azul-claro:#9aabff;

  --gg-sucesso:#0fa077; --gg-sucesso-forte:#0b7a5a;
  --gg-atencao:#e8a33d; --gg-atencao-forte:#c9862a;
  --gg-erro:#e0574b;    --gg-erro-forte:#c4453a;

  --gg-grad-verde:linear-gradient(135deg,#4ce4b6 0%,#20d9a1 45%,#12b989 100%);
  --gg-grad-verde-v:linear-gradient(180deg,#4ce4b6 0%,#20d9a1 40%,#12b989 100%);
  --gg-grad-verde-h:linear-gradient(90deg,#12b989 0%,#20d9a1 60%,#4ce4b6 100%);
  --gg-grad-profundo:linear-gradient(135deg,#1e4560 0%,#102b3f 100%);
  --gg-grad-profundo-v:linear-gradient(180deg,#3a6583 0%,#183a53 100%);
  --gg-grad-sucesso-v:linear-gradient(180deg,#17c291 0%,#0b7a5a 100%);

  --gg-brilho-verde:0 0 0 1px rgba(32,217,161,.35), 0 10px 30px -8px rgba(32,217,161,.55);

  --gg-sans:"Manrope","Manrope Reserva",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;

  --gg-mono:ui-monospace,"SFMono-Regular","Cascadia Mono","Segoe UI Mono",Menlo,Consolas,monospace;

  --gg-t-2xs:.6875rem; --gg-t-xs:.75rem; --gg-t-sm:.8125rem; --gg-t-md:.875rem;
  --gg-t-texto:.9375rem;
  --gg-t-base:1rem;    --gg-t-lg:1.125rem; --gg-t-xl:1.375rem; --gg-t-2xl:1.625rem;
  --gg-t-3xl:2rem;     --gg-t-4xl:2.5rem;  --gg-t-5xl:3.5rem;  --gg-t-6xl:4.5rem;
  --gg-lh-tight:1.08; --gg-lh-snug:1.3; --gg-lh-base:1.5;
  --gg-ls-tight:-.025em; --gg-ls-snug:-.01em; --gg-ls-label:.08em;

  --gg-s-1:4px; --gg-s-2:8px; --gg-s-3:12px; --gg-s-4:16px; --gg-s-5:20px;
  --gg-s-6:24px; --gg-s-8:32px; --gg-s-10:40px; --gg-s-12:48px; --gg-s-16:64px;
  --gg-r-sm:6px; --gg-r-md:12px; --gg-r-lg:16px; --gg-r-xl:22px; --gg-r-pill:999px;
  --gg-card-r:22px;

  --gg-barra:14px; --gg-trilho:8px; --gg-trilho-fino:4px;

  --gg-g-verde:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 153.25 154.24'%3E%3Cpath fill='%2320d9a1' d='M30.05,111.94l-20.9,37.4c-2.2,5.13-.37,6.23,5.5,3.3l41.8-22-26.4-18.7Z'/%3E%3Cpath fill='none' stroke='%2320d9a1' stroke-width='30.8' stroke-linecap='round' stroke-linejoin='round' d='M125.75,39.34c-20.8-26.92-59.49-31.88-86.41-11.08-26.92,20.8-31.88,59.49-11.08,86.41,20.8,26.92,59.49,31.88,86.41,11.08,12.43-9.6,20.72-23.59,23.18-39.11h-57.2'/%3E%3C/svg%3E");
  --gg-g-profundo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 153.25 154.24'%3E%3Cpath fill='%23102b3f' d='M30.05,111.94l-20.9,37.4c-2.2,5.13-.37,6.23,5.5,3.3l41.8-22-26.4-18.7Z'/%3E%3Cpath fill='none' stroke='%23102b3f' stroke-width='30.8' stroke-linecap='round' stroke-linejoin='round' d='M125.75,39.34c-20.8-26.92-59.49-31.88-86.41-11.08-26.92,20.8-31.88,59.49-11.08,86.41,20.8,26.92,59.49,31.88,86.41,11.08,12.43-9.6,20.72-23.59,23.18-39.11h-57.2'/%3E%3C/svg%3E");

  --gg-check-azul:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23102b3f' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");

  --gg-r-bolha:12px 12px 12px 4px;
  --gg-r-bolha-lg:18px 18px 18px 6px;

  --gg-dur-1:140ms; --gg-dur-2:260ms; --gg-dur-3:520ms; --gg-dur-4:900ms;
  --gg-ease:cubic-bezier(.2,0,.1,1);
  --gg-ease-out:cubic-bezier(.22,1,.36,1);
  --gg-ease-spring:cubic-bezier(.34,1.4,.64,1);
  --gg-escalonar:55ms;

  --gg-sidebar-w:272px;
  --gg-sidebar-w-min:92px;
  --gg-topo-h:64px;
  --gg-conteudo-max:1280px;
  --gg-z-sticky:30; --gg-z-menu:60; --gg-z-modal:90; --gg-z-toast:100;

  --gg-canvas:var(--gg-cinza-100);
  --gg-sup-1:var(--gg-branco);
  --gg-sup-2:#f9fbfc;
  --gg-sup-3:var(--gg-cinza-200);
  --gg-sup-4:#d6e0e6;
  --gg-sidebar:var(--gg-branco);
  --gg-tinta:var(--gg-profundo-900);
  --gg-tinta-2:var(--gg-cinza-600);
  --gg-tinta-3:var(--gg-cinza-500);
  --gg-tinta-inv:var(--gg-cinza-100);

  --gg-linha:rgba(16,43,63,.11);
  --gg-linha-forte:rgba(16,43,63,.2);
  --gg-linha-sutil:rgba(16,43,63,.06);
  --gg-inset:inset 0 0 0 1px var(--gg-linha);
  --gg-acento:var(--gg-verde-400);
  --gg-acento-hover:var(--gg-verde-500);
  --gg-sobre-acento:var(--gg-profundo-900);
  --gg-acento-suave:rgba(32,217,161,.2);
  --gg-acento-texto:var(--gg-verde-700);
  --gg-link:var(--gg-azul);

  --gg-foco:var(--gg-verde-600);
  --gg-flutuante:0 12px 32px rgba(16,43,63,.14), 0 1px 2px rgba(16,43,63,.08);
  --gg-sucesso-suave:rgba(15,160,119,.14); --gg-sucesso-texto:#0a6e51;
  --gg-atencao-suave:rgba(232,163,61,.16); --gg-atencao-texto:#8a5a14;
  --gg-erro-suave:rgba(224,87,75,.14);     --gg-erro-texto:#a63a30;
  --gg-info-suave:rgba(67,97,238,.1);      --gg-info-texto:var(--gg-azul-texto);

  --gg-serie-1:var(--gg-profundo-900);
  --gg-serie-2:var(--gg-verde-500);
  --gg-serie-3:var(--gg-azul);
  --gg-serie-entrada:var(--gg-sucesso);
  --gg-serie-saida:var(--gg-profundo-600);
  --gg-serie-trilho:var(--gg-cinza-200);
  --gg-grade:rgba(16,43,63,.07);
  --gg-serie-grad:var(--gg-grad-profundo-v);
  --gg-serie-grad-h:linear-gradient(90deg,#183a53 0%,#3a6583 100%);
  --gg-spark-area:url(#g-area-profundo);
  --gg-halo:rgba(32,217,161,.08);

  --gg-card-grad:linear-gradient(135deg,#ffffff 0%,#fafcfd 100%);
  --gg-card-borda:rgba(16,43,63,.05);
  --gg-card-borda-hover:rgba(16,43,63,.1);
  --gg-card-inset:inset 0 0 0 1px var(--gg-card-borda);
  --gg-bevel:inset 0 1px 0 rgba(255,255,255,.9), inset 0 -1px 0 rgba(16,43,63,.035);
  --gg-sombra-ambiente:0 1px 2px rgba(16,43,63,.03), 0 10px 30px -10px rgba(16,43,63,.1);
  --gg-sombra-ambiente-hover:0 2px 6px rgba(16,43,63,.04), 0 18px 40px -14px rgba(16,43,63,.15);

  --gg-aurora:rgba(32,217,161,.14);
  --gg-bevel-topo:inset 0 1px 0 rgba(255,255,255,.85);
  --gg-auth-borda:linear-gradient(180deg, rgba(32,217,161,.5) 0%, rgba(16,43,63,.1) 40%, rgba(16,43,63,.06) 100%);
  color-scheme:light;
}

:root[data-theme="dark"], .gg-tema-escuro, .gg-sidebar, .gg-selecao, .gg-plano-card--destaque {
  --gg-canvas:var(--gg-profundo-900);
  --gg-sup-1:var(--gg-profundo-850);
  --gg-sup-2:var(--gg-profundo-800);
  --gg-sup-3:var(--gg-profundo-700);
  --gg-sup-4:var(--gg-profundo-600);
  --gg-sidebar:var(--gg-profundo-900);
  --gg-tinta:var(--gg-cinza-100);
  --gg-tinta-2:var(--gg-cinza-400);
  --gg-tinta-3:var(--gg-cinza-500);
  --gg-tinta-inv:var(--gg-profundo-900);
  --gg-linha:rgba(245,248,250,.12);
  --gg-linha-forte:rgba(245,248,250,.22);
  --gg-linha-sutil:rgba(245,248,250,.07);
  --gg-inset:inset 0 0 0 1px var(--gg-linha);
  --gg-acento:var(--gg-verde-400);
  --gg-acento-hover:var(--gg-verde-300);
  --gg-sobre-acento:var(--gg-profundo-900);
  --gg-acento-suave:rgba(32,217,161,.14);
  --gg-acento-texto:var(--gg-verde-400);
  --gg-link:var(--gg-azul-claro);
  --gg-foco:var(--gg-verde-400);
  --gg-flutuante:0 16px 40px rgba(3,14,22,.55), inset 0 0 0 1px rgba(245,248,250,.12);
  --gg-sucesso-suave:rgba(15,160,119,.2);  --gg-sucesso-texto:#5ce8bd;
  --gg-atencao-suave:rgba(232,163,61,.16); --gg-atencao-texto:#f0bf72;
  --gg-erro-suave:rgba(224,87,75,.16);     --gg-erro-texto:#f08c82;
  --gg-info-suave:rgba(67,97,238,.2);      --gg-info-texto:var(--gg-azul-claro);
  --gg-serie-1:var(--gg-verde-400);
  --gg-serie-2:var(--gg-cinza-400);
  --gg-serie-3:var(--gg-azul-claro);
  --gg-serie-entrada:var(--gg-sucesso);
  --gg-serie-saida:var(--gg-cinza-500);
  --gg-serie-trilho:var(--gg-profundo-700);
  --gg-grade:rgba(245,248,250,.08);
  --gg-serie-grad:linear-gradient(180deg,#4a7594 0%,#27526f 100%);
  --gg-serie-grad-h:var(--gg-grad-verde-h);
  --gg-spark-area:url(#g-area-verde);
  --gg-halo:rgba(32,217,161,.07);
  --gg-card-grad:linear-gradient(135deg,#17384f 0%,#133047 100%);
  --gg-card-borda:rgba(245,248,250,.07);
  --gg-card-borda-hover:rgba(245,248,250,.13);
  --gg-card-inset:inset 0 0 0 1px var(--gg-card-borda);
  --gg-bevel:inset 0 1px 0 rgba(245,248,250,.06), inset 0 -1px 0 rgba(3,14,22,.35);
  --gg-sombra-ambiente:0 1px 2px rgba(3,14,22,.3), 0 16px 40px -16px rgba(3,14,22,.7);
  --gg-sombra-ambiente-hover:0 2px 6px rgba(3,14,22,.35), 0 22px 48px -18px rgba(3,14,22,.8);
  --gg-aurora:rgba(32,217,161,.1);
  --gg-bevel-topo:inset 0 1px 0 rgba(245,248,250,.05);
  --gg-auth-borda:linear-gradient(180deg, rgba(32,217,161,.3) 0%, rgba(245,248,250,.1) 40%, rgba(245,248,250,.05) 100%);
  color-scheme:dark;
}

@media (prefers-color-scheme:dark) {
  :root:not([data-theme="light"]) {
    --gg-canvas:var(--gg-profundo-900);
    --gg-sup-1:var(--gg-profundo-850);
    --gg-sup-2:var(--gg-profundo-800);
    --gg-sup-3:var(--gg-profundo-700);
    --gg-sup-4:var(--gg-profundo-600);
    --gg-sidebar:var(--gg-profundo-900);
    --gg-tinta:var(--gg-cinza-100);
    --gg-tinta-2:var(--gg-cinza-400);
    --gg-tinta-3:var(--gg-cinza-500);
    --gg-tinta-inv:var(--gg-profundo-900);
    --gg-linha:rgba(245,248,250,.12);
    --gg-linha-forte:rgba(245,248,250,.22);
    --gg-linha-sutil:rgba(245,248,250,.07);
    --gg-inset:inset 0 0 0 1px var(--gg-linha);
    --gg-acento:var(--gg-verde-400);
    --gg-acento-hover:var(--gg-verde-300);
    --gg-sobre-acento:var(--gg-profundo-900);
    --gg-acento-suave:rgba(32,217,161,.14);
    --gg-acento-texto:var(--gg-verde-400);
    --gg-link:var(--gg-azul-claro);
    --gg-foco:var(--gg-verde-400);
    --gg-flutuante:0 16px 40px rgba(3,14,22,.55), inset 0 0 0 1px rgba(245,248,250,.12);
    --gg-sucesso-suave:rgba(15,160,119,.2);  --gg-sucesso-texto:#5ce8bd;
    --gg-atencao-suave:rgba(232,163,61,.16); --gg-atencao-texto:#f0bf72;
    --gg-erro-suave:rgba(224,87,75,.16);     --gg-erro-texto:#f08c82;
    --gg-info-suave:rgba(67,97,238,.2);      --gg-info-texto:var(--gg-azul-claro);
    --gg-serie-1:var(--gg-verde-400);
    --gg-serie-2:var(--gg-cinza-400);
    --gg-serie-3:var(--gg-azul-claro);
    --gg-serie-entrada:var(--gg-sucesso);
    --gg-serie-saida:var(--gg-cinza-500);
    --gg-serie-trilho:var(--gg-profundo-700);
    --gg-grade:rgba(245,248,250,.08);
    --gg-serie-grad:linear-gradient(180deg,#4a7594 0%,#27526f 100%);
    --gg-serie-grad-h:var(--gg-grad-verde-h);
    --gg-spark-area:url(#g-area-verde);
    --gg-halo:rgba(32,217,161,.07);
    --gg-card-grad:linear-gradient(135deg,#17384f 0%,#133047 100%);
    --gg-card-borda:rgba(245,248,250,.07);
    --gg-card-borda-hover:rgba(245,248,250,.13);
    --gg-card-inset:inset 0 0 0 1px var(--gg-card-borda);
    --gg-bevel:inset 0 1px 0 rgba(245,248,250,.06), inset 0 -1px 0 rgba(3,14,22,.35);
    --gg-sombra-ambiente:0 1px 2px rgba(3,14,22,.3), 0 16px 40px -16px rgba(3,14,22,.7);
    --gg-sombra-ambiente-hover:0 2px 6px rgba(3,14,22,.35), 0 22px 48px -18px rgba(3,14,22,.8);
    --gg-aurora:rgba(32,217,161,.1);
    --gg-bevel-topo:inset 0 1px 0 rgba(245,248,250,.05);
    --gg-auth-borda:linear-gradient(180deg, rgba(32,217,161,.3) 0%, rgba(245,248,250,.1) 40%, rgba(245,248,250,.05) 100%);
    color-scheme:dark;
  }
}

.gg-tema-claro {
  --gg-canvas:var(--gg-cinza-100); --gg-sup-1:var(--gg-branco); --gg-sup-2:#f9fbfc; --gg-sup-3:var(--gg-cinza-200); --gg-sup-4:#d6e0e6; --gg-sidebar:var(--gg-branco);
  --gg-tinta:var(--gg-profundo-900); --gg-tinta-2:var(--gg-cinza-600); --gg-tinta-3:var(--gg-cinza-500); --gg-tinta-inv:var(--gg-cinza-100);
  --gg-linha:rgba(16,43,63,.11); --gg-linha-forte:rgba(16,43,63,.2); --gg-linha-sutil:rgba(16,43,63,.06); --gg-inset:inset 0 0 0 1px var(--gg-linha);
  --gg-acento:var(--gg-verde-400); --gg-acento-hover:var(--gg-verde-500); --gg-sobre-acento:var(--gg-profundo-900); --gg-acento-suave:rgba(32,217,161,.2); --gg-acento-texto:var(--gg-verde-700); --gg-link:var(--gg-azul);
  --gg-foco:var(--gg-verde-600); --gg-flutuante:0 12px 32px rgba(16,43,63,.14), 0 1px 2px rgba(16,43,63,.08);
  --gg-sucesso-suave:rgba(15,160,119,.14); --gg-sucesso-texto:#0a6e51; --gg-atencao-suave:rgba(232,163,61,.16); --gg-atencao-texto:#8a5a14; --gg-erro-suave:rgba(224,87,75,.14); --gg-erro-texto:#a63a30; --gg-info-suave:rgba(67,97,238,.1); --gg-info-texto:var(--gg-azul-texto);
  --gg-serie-1:var(--gg-profundo-900); --gg-serie-2:var(--gg-verde-500); --gg-serie-3:var(--gg-azul); --gg-serie-entrada:var(--gg-sucesso); --gg-serie-saida:var(--gg-profundo-600); --gg-serie-trilho:var(--gg-cinza-200); --gg-grade:rgba(16,43,63,.07);
  --gg-serie-grad:var(--gg-grad-profundo-v); --gg-serie-grad-h:linear-gradient(90deg,#183a53 0%,#3a6583 100%); --gg-spark-area:url(#g-area-profundo); --gg-halo:rgba(32,217,161,.08);
  --gg-card-grad:linear-gradient(135deg,#ffffff 0%,#fafcfd 100%); --gg-card-borda:rgba(16,43,63,.05); --gg-card-borda-hover:rgba(16,43,63,.1); --gg-card-inset:inset 0 0 0 1px var(--gg-card-borda);
  --gg-bevel:inset 0 1px 0 rgba(255,255,255,.9), inset 0 -1px 0 rgba(16,43,63,.035); --gg-sombra-ambiente:0 1px 2px rgba(16,43,63,.03), 0 10px 30px -10px rgba(16,43,63,.1); --gg-sombra-ambiente-hover:0 2px 6px rgba(16,43,63,.04), 0 18px 40px -14px rgba(16,43,63,.15);
  --gg-aurora:rgba(32,217,161,.14); --gg-bevel-topo:inset 0 1px 0 rgba(255,255,255,.85);
  --gg-auth-borda:linear-gradient(180deg, rgba(32,217,161,.5) 0%, rgba(16,43,63,.1) 40%, rgba(16,43,63,.06) 100%);
  color-scheme:light;
}
.gg-tema-escuro, .gg-tema-claro { background:var(--gg-canvas); color:var(--gg-tinta); }

:root {
  --gg-btn-h:42px;  --gg-btn-h-sm:34px;  --gg-btn-h-lg:50px;
  --gg-btn-px:18px; --gg-btn-px-sm:14px; --gg-btn-px-lg:24px;
  --gg-campo-h:44px;
  --gg-card-p:var(--gg-s-6);
  --gg-tabela-py:14px;

  --gg-selo-h:1.375rem;
  --gg-moeda-seg:calc(var(--gg-t-sm) * 1.8 + var(--gg-s-3));
  --gg-vidro:rgba(16,43,63,.042);
  --gg-hover-tinta:var(--gg-verde-700);
}
:root[data-theme="dark"], .gg-tema-escuro, .gg-sidebar, .gg-selecao, .gg-plano-card--destaque { --gg-vidro:rgba(245,248,250,.055); --gg-hover-tinta:var(--gg-verde-300); }

:root { --gg-sidebar-fundo:linear-gradient(180deg,#16374f 0%,#102b3f 40%,#0d2536 100%); }
:root[data-theme="dark"] { --gg-sidebar-fundo:linear-gradient(180deg,#0f2a3d 0%,#0b2232 45%,#08192a 100%); }
@media (prefers-color-scheme:dark) { :root:not([data-theme="light"]) { --gg-sidebar-fundo:linear-gradient(180deg,#0f2a3d 0%,#0b2232 45%,#08192a 100%); } }
@media (prefers-color-scheme:dark) { :root:not([data-theme="light"]) { --gg-vidro:rgba(245,248,250,.055); --gg-hover-tinta:var(--gg-verde-300); } }
.gg-tema-claro { --gg-vidro:rgba(16,43,63,.042); --gg-hover-tinta:var(--gg-verde-700); }

.gg, .gg *, .gg *::before, .gg *::after { box-sizing:border-box; }

.gg [hidden], .gg[hidden] { display:none !important; }

body.gg { margin:0; }
.gg {
  font-family:var(--gg-sans); font-size:var(--gg-t-md); line-height:var(--gg-lh-base);
  color:var(--gg-tinta); background:var(--gg-canvas);
  letter-spacing:var(--gg-ls-snug);
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  font-variant-numeric:tabular-nums;
}
.gg img, .gg svg { max-width:100%; display:block; }

.gg a { text-decoration:none; }
.gg a:where(:not([class])) { color:inherit; }

:root {
  --gg-foco-cor:var(--gg-foco);
  --gg-foco-base:0 0 #0000;
}

:focus, :focus-visible, :focus-within, :focus-within > * {
  --gg-foco-anel:0 0 0 1px  color-mix(in srgb, var(--gg-foco-cor) 26%, transparent),
                 0 0 10px 2px color-mix(in srgb, var(--gg-foco-cor) 17%, transparent);
}

.gg :focus-visible:where(:not(dialog)) { outline:none; box-shadow:var(--gg-foco-base), var(--gg-foco-anel); }

.gg-btn--primario { --gg-foco-cor:var(--gg-acento); }
.gg-btn--secundario,
.gg-btn--escuro { --gg-foco-cor:var(--gg-tinta); }
.gg-btn--fantasma { --gg-foco-cor:var(--gg-tinta-2); }
.gg-btn--perigo,
.gg-btn--perigo-solido,
.gg-btn--perigo-fantasma { --gg-foco-cor:var(--gg-erro); }

.gg-input, .gg-select, .gg-textarea, .gg-input-grupo { --gg-foco-cor:var(--gg-tinta-2); }
.gg-check__caixa, .gg-switch__trilho { --gg-foco-cor:var(--gg-acento); }
.gg a:not([class]):focus-visible { border-radius:var(--gg-r-sm); }
.gg ::selection { background:var(--gg-acento); color:var(--gg-sobre-acento); }

:where(.gg button, .gg input, .gg select, .gg textarea) { font:inherit; letter-spacing:inherit; }
.gg button:where(:not([class])) { color:inherit; }
.gg hr, .gg-divisor { border:0; border-top:1px solid var(--gg-linha); margin:var(--gg-s-6) 0; }
@media (prefers-reduced-motion:reduce) {
.gg *, .gg *::before, .gg *::after { transition-duration:.01ms !important; animation-duration:.01ms !important; }
}

.gg-display { font-size:var(--gg-t-5xl); font-weight:800; line-height:1.02; letter-spacing:-.04em; margin:0; text-wrap:balance; }
.gg-h1 { font-size:var(--gg-t-3xl); font-weight:700; line-height:var(--gg-lh-tight); letter-spacing:-.03em; margin:0; text-wrap:balance; }
.gg-h2 { font-size:var(--gg-t-xl);  font-weight:700; line-height:1.2;  letter-spacing:-.022em; margin:0; }
.gg-h3 { font-size:var(--gg-t-lg);  font-weight:700; line-height:var(--gg-lh-snug);  letter-spacing:-.015em;  margin:0; }

.gg-lead { font-size:var(--gg-t-lg); line-height:1.55; color:var(--gg-tinta-2); margin:0; max-width:60ch; }
.gg-sub { font-size:var(--gg-t-texto); line-height:1.55; color:var(--gg-tinta-2); margin:var(--gg-s-1) 0 0; }
.gg-texto { font-size:var(--gg-t-texto); line-height:1.6; margin:0; }
.gg-apoio { font-size:var(--gg-t-sm); color:var(--gg-tinta-2); margin:0; }
.gg-mini { font-size:var(--gg-t-xs); color:var(--gg-tinta-3); margin:0; }
.gg-rotulo { font-weight:700;
  font-family:var(--gg-sans); font-size:var(--gg-t-2xs); letter-spacing:var(--gg-ls-label);
  text-transform:uppercase; color:var(--gg-tinta-2); margin:0;
}

.gg-rotulo:has(.gg-ico) { display:flex; align-items:center; gap:var(--gg-s-2); }
.gg-rotulo .gg-ico { width:16px; height:16px; flex:none; }
.gg-mono { font-family:var(--gg-mono); }

.gg-codigo {
  margin:0; padding:var(--gg-s-3) var(--gg-s-4); max-height:320px; overflow:auto; border-radius:var(--gg-r-md);
  background:var(--gg-sup-2); box-shadow:inset 0 0 0 1px var(--gg-linha-sutil);
  font-family:var(--gg-mono); font-size:var(--gg-t-xs); line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere;
}
.gg-num { font-variant-numeric:tabular-nums; }

.gg-valor { font-family:var(--gg-sans); font-variant-numeric:tabular-nums; font-weight:600; white-space:nowrap; }
.gg-valor--grande { font-family:var(--gg-sans); font-size:var(--gg-t-3xl); font-weight:700; letter-spacing:var(--gg-ls-tight); line-height:1.1; }
.gg-valor--xl { font-family:var(--gg-sans); font-size:var(--gg-t-4xl); font-weight:700; letter-spacing:var(--gg-ls-tight); line-height:1.05; }
.gg-valor--positivo { color:var(--gg-sucesso-texto); }
.gg-valor--negativo { color:var(--gg-erro-texto); }
.gg-valor small, .gg-valor--grande small, .gg-valor--xl small { font-size:.55em; font-weight:400; color:var(--gg-tinta-2); margin-right:.2em; vertical-align:baseline; }

.gg-shell {
  display:grid; grid-template-columns:var(--gg-sidebar-w) minmax(0,1fr); min-height:100vh;
  transition:grid-template-columns var(--gg-dur-3) var(--gg-ease-out);
}
.gg-shell--sem-sidebar { grid-template-columns:minmax(0,1fr); }
.gg-shell--recolhida { grid-template-columns:var(--gg-sidebar-w-min) minmax(0,1fr); }
.gg-shell__col { min-width:0; display:flex; flex-direction:column; }

.gg-sidebar {
  position:sticky; top:12px; z-index:var(--gg-z-sticky); height:calc(100vh - 24px); margin:12px 0 12px 12px;
  display:flex; flex-direction:column; min-width:0;
  padding:0 var(--gg-s-3) var(--gg-s-3);
  border-radius:var(--gg-card-r); isolation:isolate;
  background:var(--gg-sidebar-fundo); color:var(--gg-tinta);
  box-shadow:inset 0 0 0 1px rgba(245,248,250,.07), inset 0 1px 0 rgba(245,248,250,.07), 0 24px 48px -28px rgba(3,14,22,.6);
}

.gg-sidebar::before {
  content:""; position:absolute; inset:0 0 auto 0; height:300px; z-index:-1; pointer-events:none; border-radius:inherit;
  background:radial-gradient(280px 200px at 12% 0%, rgba(32,217,161,.17), transparent 72%);
}

.gg-sidebar__logo {
  display:flex; align-items:center; justify-content:space-between; gap:var(--gg-s-2);
  height:var(--gg-topo-h); padding:0 var(--gg-s-1) 0 var(--gg-s-3); margin-bottom:var(--gg-s-2); flex:none;
}
.gg-sidebar__logo img { height:26px; width:auto; }
.gg-sidebar__logo [data-simbolo] { display:none; height:30px; }
.gg-sidebar__recolher {
  width:30px; height:30px; border-radius:10px; border:0; flex:none; cursor:pointer; display:grid; place-items:center;
  background:rgba(245,248,250,.06); color:var(--gg-tinta-2); box-shadow:inset 0 0 0 1px rgba(245,248,250,.08);
  transition:background var(--gg-dur-1), color var(--gg-dur-1), transform var(--gg-dur-3) var(--gg-ease-spring);
}
.gg-sidebar__recolher .gg-ico { width:16px; height:16px; }
@media (hover: hover) {
.gg-sidebar__recolher:hover { background:rgba(32,217,161,.16); color:var(--gg-acento); }
}
.gg-sidebar__rolagem {
  flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden; scrollbar-width:none;
  margin:0 calc(-1 * var(--gg-s-3)); padding:0 var(--gg-s-3) var(--gg-s-2);

  -webkit-mask-image:linear-gradient(180deg, #000 calc(100% - 28px), transparent);
          mask-image:linear-gradient(180deg, #000 calc(100% - 28px), transparent);
}
.gg-sidebar__rolagem::-webkit-scrollbar { display:none; }
.gg-sidebar__grupo {
  font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap;
  color:var(--gg-tinta-3); padding:var(--gg-s-5) var(--gg-s-3) var(--gg-s-2);
}
.gg-sidebar__nav { display:flex; flex-direction:column; gap:3px; }
.gg-sidebar__item {
  position:relative; display:flex; align-items:center; gap:var(--gg-s-3); min-height:42px; padding:0 var(--gg-s-3);
  border-radius:var(--gg-r-md); color:var(--gg-tinta-2); font-size:var(--gg-t-md); font-weight:600; white-space:nowrap;
  transition:background var(--gg-dur-1) var(--gg-ease), color var(--gg-dur-1) var(--gg-ease), box-shadow var(--gg-dur-1) var(--gg-ease);
}
.gg-sidebar__item .gg-ico { color:var(--gg-tinta-3); transition:transform var(--gg-dur-2) var(--gg-ease-spring), color var(--gg-dur-1); }
@media (hover: hover) {
.gg-sidebar__item:not([aria-current="page"]):not(.ativo):hover { background:rgba(245,248,250,.06); color:var(--gg-tinta); }
.gg-sidebar__item:not([aria-current="page"]):not(.ativo):hover .gg-ico { color:var(--gg-tinta); transform:translateX(2px); }
}

.gg-sidebar__item::before {
  content:""; position:absolute; left:0; top:11px; bottom:11px; width:3px; border-radius:0 3px 3px 0;
  background:var(--gg-acento); box-shadow:0 0 12px rgba(32,217,161,.7);
  transform:scaleY(0); transition:transform var(--gg-dur-2) var(--gg-ease-out);
}

.gg-sidebar__item[aria-current="page"], .gg-sidebar__item.ativo {
  color:var(--gg-tinta); font-weight:700;
  background:linear-gradient(90deg, rgba(32,217,161,.2) 0%, rgba(32,217,161,.06) 100%);
  box-shadow:inset 0 0 0 1px rgba(32,217,161,.16);
}
.gg-sidebar__item[aria-current="page"] .gg-ico, .gg-sidebar__item.ativo .gg-ico { color:var(--gg-acento); }
.gg-sidebar__item[aria-current="page"]::before, .gg-sidebar__item.ativo::before { transform:scaleY(1); }
.gg-sidebar__contador {
  margin-left:auto; min-width:22px; height:20px; padding:0 7px; border-radius:var(--gg-r-pill);
  display:inline-grid; place-items:center; font-size:11px; font-weight:700; color:var(--gg-tinta); background:rgba(245,248,250,.1);
}
.gg-sidebar__contador--alerta { background:var(--gg-erro); color:#fff; }
.gg-sidebar__pe { margin-top:auto; padding-top:var(--gg-s-3); display:flex; flex-direction:column; gap:var(--gg-s-2); flex:none; }

.gg-conta { position:relative; flex:none; margin-bottom:var(--gg-s-2); }
.gg-conta__btn {
  display:flex; align-items:center; gap:var(--gg-s-3); width:100%; padding:10px 12px 10px 10px;
  border:0; border-radius:var(--gg-r-lg); cursor:pointer; text-align:left; color:inherit;
  background:linear-gradient(135deg, rgba(245,248,250,.08) 0%, rgba(245,248,250,.03) 100%);
  box-shadow:inset 0 0 0 1px rgba(245,248,250,.08), inset 0 1px 0 rgba(245,248,250,.06);
  transition:background var(--gg-dur-2) var(--gg-ease), box-shadow var(--gg-dur-2) var(--gg-ease);
}
@media (hover: hover) {
.gg-conta__btn:hover { background:rgba(245,248,250,.1); }
}
.gg-conta__btn[aria-expanded="true"] { background:rgba(245,248,250,.1); box-shadow:inset 0 0 0 1px rgba(32,217,161,.32); }
.gg-conta__foto { position:relative; flex:none; }
.gg-conta__foto .gg-avatar { width:38px; height:38px; font-size:var(--gg-t-sm); }

.gg-conta__estado {
  position:absolute; right:-2px; bottom:-2px; width:13px; height:13px; border-radius:50%;
  background:var(--gg-sucesso); box-shadow:0 0 0 2.5px var(--gg-sup-1);
}
.gg-conta__estado--aguardando { background:var(--gg-atencao); }
.gg-conta__estado--off { background:var(--gg-erro); }
.gg-conta__txt { min-width:0; flex:1; }
.gg-conta__n { display:block; font-weight:700; font-size:var(--gg-t-md); letter-spacing:var(--gg-ls-snug); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gg-conta__d { display:block; font-size:var(--gg-t-xs); color:var(--gg-tinta-2); margin-top:1px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-variant-numeric:tabular-nums; }
.gg-conta__seta { flex:none; width:16px; height:16px; color:var(--gg-tinta-3); transition:transform var(--gg-dur-2) var(--gg-ease-spring); }
.gg-conta__btn[aria-expanded="true"] .gg-conta__seta { transform:rotate(180deg); }
.gg-conta__menu { position:absolute; left:0; right:0; top:calc(100% + 8px); z-index:var(--gg-z-menu); animation:gg-sobe var(--gg-dur-2) var(--gg-ease-out); }
.gg-conta__menu[hidden] { display:none; }
.gg-conta__menu--inline { position:static; margin-top:8px; animation:none; }
.gg-conta__menu .gg-menu { min-width:0; }
.gg-conta__perfil { display:flex; flex-direction:column; align-items:center; text-align:center; gap:3px; padding:18px 10px 14px; }
.gg-conta__perfil .gg-conta__foto { margin-bottom:10px; }
.gg-conta__foto--lg .gg-avatar { width:64px; height:64px; font-size:var(--gg-t-lg); }
.gg-conta__foto--lg .gg-conta__estado { width:15px; height:15px; right:1px; bottom:1px; box-shadow:0 0 0 3px var(--gg-sup-1); }
.gg-conta__perfil-n { font-weight:700; font-size:var(--gg-t-base); letter-spacing:var(--gg-ls-snug); }
.gg-conta__perfil-d { font-size:var(--gg-t-sm); color:var(--gg-tinta-2); font-variant-numeric:tabular-nums; }
.gg-conta__chips { display:flex; gap:6px; flex-wrap:wrap; justify-content:center; margin-top:12px; }

.gg-plano {
  position:relative; overflow:hidden; isolation:isolate; display:flex; flex-direction:column; gap:10px;
  padding:14px; border-radius:var(--gg-r-lg);
  background:linear-gradient(160deg, rgba(32,217,161,.16) 0%, rgba(245,248,250,.04) 62%);
  box-shadow:inset 0 0 0 1px rgba(32,217,161,.2);
}
.gg-plano::after {
  content:""; position:absolute; right:-34px; bottom:-38px; width:110px; height:110px; z-index:-1; opacity:.18;
  background:var(--gg-g-verde) center / contain no-repeat; pointer-events:none;
}
.gg-plano__t { display:flex; justify-content:space-between; align-items:baseline; gap:8px; font-size:var(--gg-t-sm); font-weight:700; }
.gg-plano__t small { font-size:var(--gg-t-2xs); color:var(--gg-tinta-2); font-weight:600; letter-spacing:.04em; }
.gg-plano .gg-progresso { height:var(--gg-trilho-fino); }
.gg-plano__d { font-size:var(--gg-t-xs); color:var(--gg-tinta-2); line-height:1.45; }
.gg-plano .gg-btn { margin-top:2px; }

@media (min-width:861px) {
:is(.gg-shell--recolhida .gg-sidebar, .gg-sidebar--recolhida) { padding-inline:var(--gg-s-2); }
.gg-sidebar--recolhida { width:calc(var(--gg-sidebar-w-min) - 12px); }
:is(.gg-shell--recolhida .gg-sidebar, .gg-sidebar--recolhida) .gg-sidebar__logo { flex-direction:column; justify-content:center; height:auto; padding:var(--gg-s-4) 0 var(--gg-s-2); gap:var(--gg-s-3); }
:is(.gg-shell--recolhida .gg-sidebar, .gg-sidebar--recolhida) .gg-sidebar__logo [data-logo] { display:none; }
:is(.gg-shell--recolhida .gg-sidebar, .gg-sidebar--recolhida) .gg-sidebar__logo [data-simbolo] { display:block; }
:is(.gg-shell--recolhida .gg-sidebar, .gg-sidebar--recolhida) .gg-sidebar__recolher { transform:rotate(180deg); }
:is(.gg-shell--recolhida .gg-sidebar, .gg-sidebar--recolhida) :is(.gg-sidebar__contador, .gg-conta__txt, .gg-conta__seta, .gg-plano) { display:none; }
:is(.gg-shell--recolhida .gg-sidebar, .gg-sidebar--recolhida) .gg-sidebar__rolagem { margin:0 calc(-1 * var(--gg-s-2)); padding:0 var(--gg-s-2) var(--gg-s-2); }
:is(.gg-shell--recolhida .gg-sidebar, .gg-sidebar--recolhida) .gg-sidebar__grupo { font-size:0; padding:var(--gg-s-3) var(--gg-s-3); }
:is(.gg-shell--recolhida .gg-sidebar, .gg-sidebar--recolhida) .gg-sidebar__grupo::after { content:""; display:block; height:1px; background:rgba(245,248,250,.1); }
:is(.gg-shell--recolhida .gg-sidebar, .gg-sidebar--recolhida) .gg-sidebar__nav { align-items:center; }
:is(.gg-shell--recolhida .gg-sidebar, .gg-sidebar--recolhida) .gg-sidebar__item { justify-content:center; width:48px; height:48px; min-height:0; padding:0; gap:0; font-size:0; }
:is(.gg-shell--recolhida .gg-sidebar, .gg-sidebar--recolhida) .gg-sidebar__item .gg-ico { width:22px; height:22px; }
:is(.gg-shell--recolhida .gg-sidebar, .gg-sidebar--recolhida) .gg-sidebar__item::before { top:13px; bottom:13px; }
:is(.gg-shell--recolhida .gg-sidebar, .gg-sidebar--recolhida) .gg-sidebar__item:has(.gg-sidebar__contador)::after {
  content:""; position:absolute; top:11px; right:11px; width:8px; height:8px; border-radius:50%;
  background:var(--gg-acento); box-shadow:0 0 0 2px var(--gg-sup-1);
}
:is(.gg-shell--recolhida .gg-sidebar, .gg-sidebar--recolhida) .gg-sidebar__item:has(.gg-sidebar__contador--alerta)::after { background:var(--gg-erro); }
:is(.gg-shell--recolhida .gg-sidebar, .gg-sidebar--recolhida) .gg-conta { display:flex; justify-content:center; }
:is(.gg-shell--recolhida .gg-sidebar, .gg-sidebar--recolhida) .gg-conta__btn { width:auto; justify-content:center; padding:5px; border-radius:50%; background:none; box-shadow:none; }
:is(.gg-shell--recolhida .gg-sidebar, .gg-sidebar--recolhida) .gg-conta__btn[aria-expanded="true"] { box-shadow:0 0 0 2px rgba(32,217,161,.5); }

:is(.gg-shell--recolhida .gg-sidebar, .gg-sidebar--recolhida) .gg-conta__menu { left:calc(100% + 14px); right:auto; top:0; width:288px; }
:is(.gg-shell--recolhida .gg-sidebar, .gg-sidebar--recolhida) .gg-sidebar__pe { align-items:center; }
}

.gg-topo {
  position:sticky; top:0; z-index:var(--gg-z-sticky); height:var(--gg-topo-h); margin-top:12px;
  display:flex; align-items:center; gap:var(--gg-s-4); padding:0 var(--gg-s-8);
  background:color-mix(in srgb, var(--gg-canvas) 80%, transparent);
  -webkit-backdrop-filter:saturate(160%) blur(14px); backdrop-filter:saturate(160%) blur(14px);
}

.gg-topo .gg-topo__menu { display:none; }
.gg-topo__titulo { font-weight:700; font-size:var(--gg-t-base); letter-spacing:var(--gg-ls-snug); }

.gg-topo__migalhas { min-width:0; flex-wrap:nowrap; margin-right:auto; }
.gg-topo__migalhas span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gg-topo__busca { margin-left:auto; max-width:380px; flex:1; }
.gg-topo__busca .gg-input { border-radius:var(--gg-r-pill); background:var(--gg-sup-1); }
.gg-topo__acoes { display:flex; align-items:center; gap:var(--gg-s-2); }

.gg-btn--novidade { position:relative; overflow:visible; }
.gg-btn--novidade::after {
  content:""; position:absolute; top:7px; right:8px; width:8px; height:8px; border-radius:50%;
  background:var(--gg-acento); box-shadow:0 0 0 2px var(--gg-canvas);
}

.gg-conteudo { padding:var(--gg-s-6) var(--gg-s-8) var(--gg-s-12); max-width:var(--gg-conteudo-max); width:100%; }

.gg-pagina-cab { display:flex; align-items:flex-end; justify-content:space-between; gap:var(--gg-s-5); flex-wrap:wrap; margin-bottom:var(--gg-s-8); }
.gg-pagina-cab__txt { min-width:0; display:flex; flex-direction:column; gap:var(--gg-s-2); }
.gg-pagina-cab__voltar {
  display:inline-flex; align-items:center; gap:6px; width:fit-content; margin-bottom:var(--gg-s-1);
  font-size:var(--gg-t-sm); font-weight:600; color:var(--gg-tinta-2);
}
.gg-pagina-cab__voltar .gg-ico { width:16px; height:16px; transition:transform var(--gg-dur-2) var(--gg-ease-spring); }
@media (hover: hover) {
.gg-pagina-cab__voltar:hover { color:var(--gg-tinta); }
.gg-pagina-cab__voltar:hover .gg-ico { transform:translateX(-3px); }
}
.gg-pagina-cab__txt .gg-sub { margin:0; }
.gg-pagina-cab__acoes { display:flex; gap:var(--gg-s-2); flex-wrap:wrap; align-items:center; }

.gg-grade { display:grid; gap:var(--gg-s-4); }
.gg-grade--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.gg-grade--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.gg-grade--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.gg-grade--kpi { grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); }
.gg-grade--bento { grid-template-columns:repeat(12,minmax(0,1fr)); }
.gg-col-4 { grid-column:span 4; }
.gg-col-5 { grid-column:span 5; }
.gg-col-6 { grid-column:span 6; }
.gg-col-7 { grid-column:span 7; }
.gg-col-8 { grid-column:span 8; }
.gg-col-12 { grid-column:span 12; }
.gg-pilha { display:flex; flex-direction:column; gap:var(--gg-s-4); }
.gg-linha { display:flex; align-items:center; gap:var(--gg-s-3); flex-wrap:wrap; }
.gg-linha--entre { justify-content:space-between; }
.gg-linha--fim { justify-content:flex-end; }
@media (max-width:1100px) {
.gg-col-4, .gg-col-5, .gg-col-6, .gg-col-7, .gg-col-8 { grid-column:span 12; }
}
@media (max-width:900px) {
.gg-grade--4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:860px) {
.gg-shell, .gg-shell--recolhida { grid-template-columns:minmax(0,1fr); }
.gg-sidebar {
  position:fixed; inset:8px auto 8px 8px; height:auto; margin:0; width:min(300px, calc(100vw - 56px)); z-index:var(--gg-z-menu);
  transform:translateX(calc(-100% - 16px)); transition:transform var(--gg-dur-3) var(--gg-ease-out);
}
.gg-sidebar.aberta { transform:none; }
.gg-topo .gg-topo__menu { display:inline-flex; margin-left:calc(-1 * var(--gg-s-2)); }
.gg-topo { margin-top:0; padding:0 var(--gg-s-4); }
.gg-topo__migalhas > :not(:last-child) { display:none; }
.gg-conteudo { padding:var(--gg-s-5) var(--gg-s-4) var(--gg-s-10); }
.gg-grade--2, .gg-grade--3 { grid-template-columns:1fr; }
}
.gg-overlay { position:fixed; inset:0; background:rgba(11,34,50,.5); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); z-index:calc(var(--gg-z-menu) - 1); }

.gg-ico { width:20px; height:20px; flex:none; stroke:currentColor; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.gg-ico--sm { width:16px; height:16px; }
.gg-ico--lg { width:24px; height:24px; }

.gg-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:var(--gg-s-2);
  height:var(--gg-btn-h); padding:0 var(--gg-btn-px); border-radius:var(--gg-r-pill);
  font-size:var(--gg-t-md); font-weight:600; letter-spacing:var(--gg-ls-snug); white-space:nowrap;
  border:1px solid transparent; cursor:pointer; user-select:none; text-decoration:none; color:inherit;
  transition:background var(--gg-dur-1) var(--gg-ease), color var(--gg-dur-1) var(--gg-ease), border-color var(--gg-dur-1) var(--gg-ease),
             transform var(--gg-dur-2) var(--gg-ease-out), box-shadow var(--gg-dur-2) var(--gg-ease-out), opacity var(--gg-dur-2) var(--gg-ease-out);
  position:relative; overflow:hidden; isolation:isolate;
}

.gg-btn::before {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.38) 50%,transparent 70%);
  transform:translateX(-130%); transition:transform var(--gg-dur-3) var(--gg-ease-out);
}
@media (hover: hover) {
.gg-btn:hover::before { transform:translateX(130%); }
}
.gg-btn--secundario::before, .gg-btn--fantasma::before, .gg-btn--perigo::before { background:linear-gradient(115deg,transparent 30%,rgba(127,127,127,.14) 50%,transparent 70%); }
@media (hover: hover) {
.gg-btn:hover { transform:translateY(-1px); }
}
.gg-btn:active { transform:translateY(1px) scale(.985); transition-duration:70ms; }
.gg-btn:disabled, .gg-btn[aria-disabled="true"] { opacity:.45; cursor:not-allowed; transform:none; }
.gg-btn .gg-ico { width:18px; height:18px; }

.gg-btn--primario {
  color:var(--gg-sobre-acento);
  background:var(--gg-grad-verde); background-size:160% 160%; background-position:0% 50%;
  transition:background-position var(--gg-dur-3) var(--gg-ease-out), transform var(--gg-dur-2) var(--gg-ease-out), box-shadow var(--gg-dur-2) var(--gg-ease-out), opacity var(--gg-dur-2);
}
@media (hover: hover) {
.gg-btn--primario:hover { background-position:100% 50%; box-shadow:var(--gg-brilho-verde); }
}
.gg-btn--secundario { background:var(--gg-sup-1); color:var(--gg-tinta); border-color:var(--gg-linha-forte); }
@media (hover: hover) {
.gg-btn--secundario:hover { background:var(--gg-sup-3); border-color:var(--gg-tinta-3); }
}
.gg-btn--fantasma { background:transparent; color:var(--gg-tinta-2); }
@media (hover: hover) {
.gg-btn--fantasma:hover { background:var(--gg-sup-3); color:var(--gg-tinta); }
}
.gg-btn--escuro { background:var(--gg-tinta); color:var(--gg-canvas); }
@media (hover: hover) {
.gg-btn--escuro:hover { opacity:.88; }
}
.gg-btn--perigo { background:transparent; color:var(--gg-erro-texto); border-color:var(--gg-erro); }
@media (hover: hover) {
.gg-btn--perigo:hover { background:var(--gg-erro); color:#fff; }
}
.gg-btn--perigo-solido { background:var(--gg-erro); color:#fff; }
@media (hover: hover) {
.gg-btn--perigo-solido:hover { background:var(--gg-erro-forte); }
}
.gg-btn--sm { height:var(--gg-btn-h-sm); padding:0 var(--gg-btn-px-sm); font-size:var(--gg-t-sm); }
.gg-btn--lg { height:var(--gg-btn-h-lg); padding:0 var(--gg-btn-px-lg); font-size:var(--gg-t-base); }
.gg-btn--icone { width:var(--gg-btn-h); padding:0; }
.gg-btn--icone.gg-btn--sm { width:var(--gg-btn-h-sm); }
.gg-btn--bloco { width:100%; }

.gg-btn--carregando { color:transparent !important; pointer-events:none; position:relative; }
.gg-btn--carregando::after {
  content:""; position:absolute; width:16px; height:16px; border-radius:50%;
  border:2px solid currentColor; border-right-color:transparent;
  color:var(--gg-sobre-acento); animation:gg-gira .7s linear infinite;
}
.gg-btn--secundario.gg-btn--carregando::after, .gg-btn--fantasma.gg-btn--carregando::after { color:var(--gg-tinta); }
@keyframes gg-gira { to { transform:rotate(360deg); } }
.gg-btn-grupo { display:inline-flex; gap:var(--gg-s-2); flex-wrap:wrap; }

.gg-campo { display:flex; flex-direction:column; gap:6px; min-width:0; }
.gg-campo__rotulo { font-size:var(--gg-t-sm); font-weight:600; color:var(--gg-tinta); display:flex; gap:6px; align-items:baseline; }
.gg-campo__rotulo small { font-weight:400; color:var(--gg-tinta-3); }
.gg-campo__obrig { color:var(--gg-erro); }
.gg-campo__ajuda { font-size:var(--gg-t-xs); color:var(--gg-tinta-2); }
.gg-campo__erro { font-size:var(--gg-t-xs); color:var(--gg-erro-texto); display:flex; gap:6px; align-items:center; }
.gg-input, .gg-select, .gg-textarea {
  width:100%; min-height:var(--gg-campo-h); padding:0 var(--gg-s-4);
  background:var(--gg-sup-1); color:var(--gg-tinta); border:1px solid var(--gg-linha-forte);
  border-radius:var(--gg-r-md); font-size:var(--gg-t-md);
  box-shadow:0 0 0 0 transparent;
  transition:border-color var(--gg-dur-1) var(--gg-ease), box-shadow var(--gg-dur-2) var(--gg-ease-out), background var(--gg-dur-1) var(--gg-ease);
}
.gg-textarea { padding:var(--gg-s-3) var(--gg-s-4); min-height:96px; resize:vertical; line-height:var(--gg-lh-base); }

@media (pointer: coarse) {
.gg-input, .gg-select, .gg-textarea { font-size:var(--gg-t-base); }
}
.gg-input::placeholder, .gg-textarea::placeholder { color:var(--gg-tinta-3); }
@media (hover: hover) {
.gg-input:hover, .gg-select:hover, .gg-textarea:hover { border-color:var(--gg-tinta-3); }
}

.gg-input:focus, .gg-select:focus, .gg-textarea:focus { outline:none; border-color:var(--gg-foco-cor); box-shadow:var(--gg-foco-anel); }
.gg-input:disabled, .gg-select:disabled, .gg-textarea:disabled { background:var(--gg-sup-3); color:var(--gg-tinta-3); cursor:not-allowed; }
.gg-input[aria-invalid="true"], .gg-select[aria-invalid="true"], .gg-textarea[aria-invalid="true"] { border-color:var(--gg-erro); --gg-foco-cor:var(--gg-erro); }
.gg-input--mono { font-family:var(--gg-mono); }
.gg-select {
  appearance:none; padding-right:40px; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237c90a1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center;
}

.gg-input-grupo { position:relative; display:flex; align-items:center; }
.gg-input-grupo .gg-ico { position:absolute; left:14px; color:var(--gg-tinta-3); pointer-events:none; transition:color var(--gg-dur-1) var(--gg-ease); }
.gg-input-grupo:focus-within > .gg-ico { color:var(--gg-tinta); }
.gg-input-grupo .gg-input { padding-left:42px; }
.gg-input-grupo__prefixo {
  position:absolute; left:14px; font-family:var(--gg-sans); font-size:var(--gg-t-sm); color:var(--gg-tinta-2); pointer-events:none;
}
.gg-input-grupo--prefixo .gg-input { padding-left:44px; font-family:var(--gg-sans); }
.gg-input-grupo__atalho {
  display:none; position:absolute; right:12px; font-family:var(--gg-sans); font-size:var(--gg-t-2xs); color:var(--gg-tinta-3);
  border:1px solid var(--gg-linha); border-radius:var(--gg-r-sm); padding:2px 6px; pointer-events:none;
}

@media (pointer: fine) and (min-width: 861px) {
.gg-input-grupo__atalho { display:block; }
.gg-input-grupo:has(.gg-input-grupo__atalho) .gg-input { padding-right:68px; }
}
.gg-form-linha { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:var(--gg-s-4); }
.gg-form-acoes { display:flex; gap:var(--gg-s-2); justify-content:flex-end; padding-top:var(--gg-s-2); }

.gg-check { display:inline-flex; align-items:center; gap:10px; cursor:pointer; font-size:var(--gg-t-md); line-height:1.4; }
:is(.gg-check, .gg-opcao, .gg-switch, .gg-ajuste, .gg-checklist__item, .gg-dias label, .gg-cor, .gg-marca-linha) > input {
  position:absolute; opacity:0; width:1px; height:1px; margin:0; pointer-events:none;
}
.gg-check__caixa {
  width:20px; height:20px; border-radius:6px; flex:none; display:grid; place-items:center;
  border:1.5px solid var(--gg-linha-forte); background:var(--gg-sup-1);
  transition:background var(--gg-dur-1) var(--gg-ease), border-color var(--gg-dur-1) var(--gg-ease), box-shadow var(--gg-dur-2) var(--gg-ease-out);
}
.gg-check__caixa::after {
  content:""; width:5.5px; height:10px; margin-top:-2px;
  border:solid var(--gg-sobre-acento); border-width:0 2.2px 2.2px 0; border-radius:1px;
  transform:rotate(45deg) scale(0); transition:transform var(--gg-dur-2) var(--gg-ease-spring);
}
@media (hover: hover) {
label:hover > input:not(:checked):not(:disabled) + .gg-check__caixa { border-color:var(--gg-tinta-3); }
}
input:checked + .gg-check__caixa { background:var(--gg-acento); border-color:var(--gg-acento); box-shadow:0 3px 10px -3px rgba(32,217,161,.6); }
input:checked + .gg-check__caixa::after { transform:rotate(45deg) scale(1); }

input:indeterminate + .gg-check__caixa { background:var(--gg-acento); border-color:var(--gg-acento); }
input:indeterminate + .gg-check__caixa::after { width:10px; height:0; margin:0; border-width:0 0 2.2px 0; transform:none; }
input[type="radio"] + .gg-check__caixa { border-radius:50%; }
input[type="radio"] + .gg-check__caixa::after { width:8px; height:8px; margin:0; border:0; border-radius:50%; background:var(--gg-sobre-acento); transform:scale(0); }
input[type="radio"]:checked + .gg-check__caixa::after { transform:scale(1); }
input:focus-visible + .gg-check__caixa { box-shadow:var(--gg-foco-anel); }
input:disabled + .gg-check__caixa { opacity:.45; }
.gg-switch { display:inline-flex; align-items:center; gap:12px; cursor:pointer; font-size:var(--gg-t-md); }
.gg-switch__trilho {
  position:relative; flex:none; width:46px; height:26px; border-radius:var(--gg-r-pill);
  background:var(--gg-sup-4); box-shadow:inset 0 1px 2px rgba(16,43,63,.14);
  transition:background var(--gg-dur-2) var(--gg-ease), box-shadow var(--gg-dur-2) var(--gg-ease-out);
}
.gg-switch__trilho::after {
  content:""; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:var(--gg-r-pill);
  background:var(--gg-branco) center / 11px no-repeat; box-shadow:0 1px 3px rgba(3,14,22,.3), 0 0 0 .5px rgba(3,14,22,.06);
  transition:transform var(--gg-dur-2) var(--gg-ease-spring), width var(--gg-dur-1) var(--gg-ease);
}

label:active > input:not(:disabled) + .gg-switch__trilho::after { width:25px; }
input:checked + .gg-switch__trilho { background:var(--gg-acento); box-shadow:inset 0 1px 2px rgba(11,122,90,.35); }
input:checked + .gg-switch__trilho::after { transform:translateX(20px); background-image:var(--gg-check-azul); }
label:active > input:checked:not(:disabled) + .gg-switch__trilho::after { transform:translateX(15px); }
input:focus-visible + .gg-switch__trilho { box-shadow:var(--gg-foco-anel); }
input:disabled + .gg-switch__trilho { opacity:.45; }

button.gg-switch { background:none; border:0; padding:0; font:inherit; color:inherit; text-align:left; }
button.gg-switch[aria-checked="true"] > .gg-switch__trilho { background:var(--gg-acento); box-shadow:inset 0 1px 2px rgba(11,122,90,.35); }
button.gg-switch[aria-checked="true"] > .gg-switch__trilho::after { transform:translateX(20px); background-image:var(--gg-check-azul); }
button.gg-switch:active > .gg-switch__trilho::after { width:25px; }
button.gg-switch[aria-checked="true"]:active > .gg-switch__trilho::after { transform:translateX(15px); }
button.gg-switch:focus-visible { outline:none; }
button.gg-switch:focus-visible > .gg-switch__trilho { box-shadow:var(--gg-foco-anel); }

.gg-opcao {
  position:relative; display:flex; gap:var(--gg-s-3); align-items:flex-start; padding:var(--gg-s-4) var(--gg-s-5);
  border-radius:var(--gg-r-lg); background:var(--gg-sup-1); cursor:pointer;
  box-shadow:inset 0 0 0 1px var(--gg-linha), 0 1px 2px rgba(16,43,63,.04);
  transition:box-shadow var(--gg-dur-2) var(--gg-ease-out), background var(--gg-dur-1) var(--gg-ease);
}
@media (hover: hover) {
.gg-opcao:hover { box-shadow:inset 0 0 0 1px var(--gg-linha-forte), 0 8px 20px -12px rgba(16,43,63,.25); }
}
.gg-opcao:has(input:checked) {
  background:linear-gradient(135deg, var(--gg-acento-suave), transparent 70%), var(--gg-sup-1);
  box-shadow:inset 0 0 0 2px var(--gg-acento), 0 12px 26px -16px rgba(15,160,119,.55);
}
.gg-opcao:has(input:focus-visible) { box-shadow:inset 0 0 0 2px var(--gg-acento), var(--gg-foco-anel); }
.gg-opcao .gg-check__caixa { margin-top:1px; }
.gg-opcao__t { font-weight:700; }
.gg-opcao__d { font-size:var(--gg-t-sm); color:var(--gg-tinta-2); }
.gg-opcao__selo { position:absolute; top:-11px; right:16px; }

.gg-badge {
  display:inline-flex; align-items:center; gap:7px; height:26px; padding:0 11px;
  border-radius:var(--gg-r-pill); font-size:var(--gg-t-xs); font-weight:600; letter-spacing:.005em; white-space:nowrap;
  background:var(--gg-sup-3); color:var(--gg-tinta-2);
}

.gg-badge::before {
  content:""; width:7px; height:7px; border-radius:50%; flex:none; background:currentColor;
  box-shadow:0 0 0 3px color-mix(in srgb, currentColor 20%, transparent);
}
.gg-badge--sem-ponto::before { display:none; }

.gg-badge--vivo::before { animation:gg-pulso 1.8s var(--gg-ease) infinite; }
@keyframes gg-pulso {
  0%, 100% { box-shadow:0 0 0 3px color-mix(in srgb, currentColor 24%, transparent); }
  50%      { box-shadow:0 0 0 7px color-mix(in srgb, currentColor 0%, transparent); }
}
.gg-badge .gg-ico { width:14px; height:14px; margin-left:-2px; }
.gg-badge--sucesso { background:var(--gg-sucesso-suave); color:var(--gg-sucesso-texto); }
.gg-badge--atencao { background:var(--gg-atencao-suave); color:var(--gg-atencao-texto); }
.gg-badge--erro { background:var(--gg-erro-suave); color:var(--gg-erro-texto); }
.gg-badge--info { background:var(--gg-info-suave); color:var(--gg-info-texto); }
.gg-badge--acento { background:var(--gg-acento); color:var(--gg-sobre-acento); }
.gg-badge--escuro { background:var(--gg-tinta); color:var(--gg-canvas); }
.gg-badge--contorno { background:transparent; box-shadow:inset 0 0 0 1px var(--gg-linha-forte); }
.gg-badge--mono { font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:var(--gg-t-2xs); }
.gg-badge--sm { height:22px; padding:0 9px; gap:6px; font-size:var(--gg-t-2xs); }
.gg-badge--lg { height:30px; padding:0 14px; font-size:var(--gg-t-sm); }
.gg-delta { display:inline-flex; align-items:center; gap:4px; height:24px; padding:0 9px; border-radius:var(--gg-r-pill); font-size:var(--gg-t-xs); font-weight:700; white-space:nowrap; }
.gg-delta--alta { background:var(--gg-sucesso-suave); color:var(--gg-sucesso-texto); }
.gg-delta--baixa { background:var(--gg-erro-suave); color:var(--gg-erro-texto); }
.gg-delta--neutro { background:var(--gg-sup-3); color:var(--gg-tinta-2); }

.gg-chip {
  display:inline-flex; align-items:center; gap:7px; height:36px; padding:0 15px;
  border:0; border-radius:var(--gg-r-pill); cursor:pointer; white-space:nowrap;
  font-size:var(--gg-t-sm); font-weight:600; color:var(--gg-tinta-2); background:var(--gg-sup-1);
  box-shadow:inset 0 0 0 1px var(--gg-linha), 0 1px 2px rgba(16,43,63,.04);
  transition:background var(--gg-dur-1) var(--gg-ease), color var(--gg-dur-1) var(--gg-ease), box-shadow var(--gg-dur-2) var(--gg-ease-out),
             transform var(--gg-dur-2) var(--gg-ease-spring), padding var(--gg-dur-2) var(--gg-ease-out);
}
@media (hover: hover) {
.gg-chip:not([aria-pressed="true"]):not(.ativo):hover { color:var(--gg-tinta); box-shadow:inset 0 0 0 1px var(--gg-linha-forte), 0 6px 14px -8px rgba(16,43,63,.25); transform:translateY(-1px); }
}
.gg-chip:active { transform:scale(.96); }
.gg-chip .gg-ico { width:16px; height:16px; }
.gg-chip[aria-pressed="true"], .gg-chip.ativo {
  padding-left:9px; background:var(--gg-tinta); color:var(--gg-canvas);
  box-shadow:0 8px 18px -10px rgba(16,43,63,.7);
}
.gg-chip[aria-pressed="true"]::before, .gg-chip.ativo::before {
  content:""; width:20px; height:20px; border-radius:50%; flex:none;
  background:var(--gg-acento) var(--gg-check-azul) center / 12px no-repeat;
  animation:gg-pop var(--gg-dur-2) var(--gg-ease-spring);
}
.gg-chip__n {
  min-width:20px; height:20px; padding:0 6px; border-radius:var(--gg-r-pill); display:inline-grid; place-items:center;
  font-size:11px; font-weight:700; background:var(--gg-sup-3); color:var(--gg-tinta-2);
}
.gg-chip[aria-pressed="true"] .gg-chip__n, .gg-chip.ativo .gg-chip__n { background:color-mix(in srgb, var(--gg-canvas) 18%, transparent); color:inherit; }

.gg-chip--var { height:30px; padding:0 11px; font-size:var(--gg-t-xs); font-weight:700; color:var(--gg-acento-texto); background:var(--gg-acento-suave); box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gg-acento) 40%, transparent); }
.gg-chips { display:flex; gap:var(--gg-s-2); flex-wrap:wrap; }

.gg-etiqueta { display:inline-flex; align-items:center; gap:8px; font-size:var(--gg-t-sm); }
.gg-etiqueta__cor { width:10px; height:10px; border-radius:3px; flex:none; background:var(--cor, var(--gg-tinta-3)); }

.gg-etiqueta--pilula {
  height:26px; padding:0 11px 0 9px; border-radius:var(--gg-r-pill); font-size:var(--gg-t-xs); font-weight:700;
  background:color-mix(in srgb, var(--cor, var(--gg-tinta-3)) 15%, transparent);
  color:color-mix(in srgb, var(--cor, var(--gg-tinta-3)) 55%, var(--gg-tinta));
}
.gg-etiqueta--pilula .gg-etiqueta__cor { width:8px; height:8px; border-radius:50%; }

.gg-card {
  background:var(--gg-card-grad); border-radius:var(--gg-card-r);
  box-shadow:var(--gg-card-inset), var(--gg-bevel), var(--gg-sombra-ambiente);
  padding:var(--gg-card-p); min-width:0; position:relative;
  transition:box-shadow var(--gg-dur-2) var(--gg-ease-out), transform var(--gg-dur-2) var(--gg-ease-out);
}

.gg-card::before {
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:0;
  background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%), var(--gg-halo), transparent 72%);
  opacity:0; transition:opacity var(--gg-dur-4) var(--gg-ease-out);
}
@media (hover: hover) {
.gg-card:hover::before { opacity:1; }
.gg-card:hover { box-shadow:inset 0 0 0 1px var(--gg-card-borda-hover), var(--gg-bevel), var(--gg-sombra-ambiente-hover); }
}
.gg-card > * { position:relative; z-index:1; }
.gg-card--sem-pad { padding:0; overflow:hidden; }

.gg-card--folgado { padding:clamp(22px,4vw,40px); }
.gg-card__cab { display:flex; align-items:center; justify-content:space-between; gap:var(--gg-s-3); margin-bottom:var(--gg-s-5); }
.gg-card__cab .gg-h3 { display:flex; align-items:center; gap:var(--gg-s-2); }
.gg-card__cab .gg-apoio { margin-top:2px; }

.gg-card__ico {
  width:40px; height:40px; flex:none; display:grid; place-items:center; border-radius:var(--gg-r-bolha);
  background:var(--gg-acento-suave); color:var(--gg-acento-texto);
}
.gg-card__ico .gg-ico { width:20px; height:20px; }
.gg-card__titulo { display:flex; align-items:center; gap:var(--gg-s-3); min-width:0; }
.gg-card__pe { margin-top:var(--gg-s-5); padding-top:var(--gg-s-4); border-top:1px solid var(--gg-linha-sutil); display:flex; justify-content:space-between; align-items:center; gap:var(--gg-s-3); }

.gg-card__pe--acoes { justify-content:flex-start; flex-wrap:wrap; gap:var(--gg-s-2); }
.gg-form-botao { display:inline-flex; margin:0; }

.gg-lista-curta { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.gg-lista-curta > li { display:flex; align-items:center; justify-content:space-between; gap:var(--gg-s-3); padding:var(--gg-s-2) 0; border-bottom:1px solid var(--gg-linha-sutil); }
.gg-lista-curta > li:last-child { border-bottom:0; }
.gg-lista-curta > li > span:first-child { min-width:0; display:flex; flex-direction:column; }
.gg-card--interativo { cursor:pointer; }

a.gg-card { color:inherit; text-decoration:none; }
@media (hover: hover) {
.gg-card--interativo:hover { transform:translateY(-3px); }
}
.gg-card--interativo:active { transform:translateY(-1px); transition-duration:80ms; }

.gg-card--acento, .gg-card--escuro { overflow:hidden; isolation:isolate; }
.gg-card--acento::before, .gg-card--escuro::before { display:none; }
.gg-card--acento::after, .gg-card--escuro::after {
  content:""; position:absolute; z-index:0; pointer-events:none; right:-46px; bottom:-54px; width:190px; height:190px;
  background:var(--gg-g-profundo) center / contain no-repeat; opacity:.1;
}
.gg-card--escuro::after { background-image:var(--gg-g-verde); opacity:.95; right:-70px; bottom:-80px; width:210px; height:210px; }
.gg-card--sem-grafismo::after { display:none; }
.gg-card--acento {
  color:var(--gg-sobre-acento);
  background:radial-gradient(120% 140% at 100% 0%, rgba(255,255,255,.4) 0%, transparent 46%), var(--gg-grad-verde);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55), inset 0 0 0 1px rgba(11,122,90,.12), 0 20px 40px -24px rgba(15,160,119,.85);
}
.gg-card--acento .gg-rotulo, .gg-card--acento .gg-apoio, .gg-card--acento .gg-kpi__pe { color:rgba(16,43,63,.8); }
.gg-card--acento .gg-kpi__ico, .gg-card--acento .gg-card__ico { background:rgba(16,43,63,.12); color:var(--gg-sobre-acento); }

.gg-card--acento .gg-btn--escuro { background:var(--gg-profundo-900); color:var(--gg-cinza-100); }
.gg-card--escuro {
  color:var(--gg-cinza-100);
  background:radial-gradient(90% 120% at 100% 0%, rgba(32,217,161,.2) 0%, transparent 55%), linear-gradient(160deg,#1a3e57 0%,#102b3f 55%,#0b2232 100%);
  box-shadow:inset 0 1px 0 rgba(245,248,250,.08), inset 0 0 0 1px rgba(245,248,250,.08), 0 24px 48px -24px rgba(3,14,22,.7);
}
@media (hover: hover) {
.gg-card--escuro:hover { box-shadow:inset 0 1px 0 rgba(245,248,250,.1), inset 0 0 0 1px rgba(32,217,161,.3), 0 28px 56px -24px rgba(3,14,22,.8); }
.gg-card--acento:hover { box-shadow:inset 0 1px 0 rgba(255,255,255,.6), inset 0 0 0 1px rgba(11,122,90,.2), 0 26px 48px -24px rgba(15,160,119,.95); }
}
.gg-card--escuro .gg-rotulo, .gg-card--escuro .gg-apoio, .gg-card--escuro .gg-kpi__pe { color:var(--gg-cinza-400); }
.gg-card--escuro .gg-kpi__ico, .gg-card--escuro .gg-card__ico { background:rgba(32,217,161,.14); color:var(--gg-verde-400); }

.gg-kpi { display:flex; flex-direction:column; gap:var(--gg-s-2); }
.gg-kpi__cab { display:flex; align-items:center; justify-content:space-between; gap:var(--gg-s-2); margin-bottom:var(--gg-s-2); }
.gg-kpi__ico {
  width:38px; height:38px; border-radius:var(--gg-r-bolha); display:grid; place-items:center;
  background:var(--gg-sup-3); color:var(--gg-tinta-2);
  transition:background var(--gg-dur-2) var(--gg-ease-out), color var(--gg-dur-2), transform var(--gg-dur-2) var(--gg-ease-spring);
}
.gg-kpi__ico .gg-ico { width:19px; height:19px; }
@media (hover: hover) {
.gg-card:hover .gg-kpi__ico { background:var(--gg-acento-suave); color:var(--gg-acento-texto); transform:rotate(-6deg) scale(1.06); }
}
.gg-kpi__valor { font-size:var(--gg-t-3xl); font-weight:800; letter-spacing:-.035em; line-height:1.05; font-variant-numeric:tabular-nums; }
.gg-kpi__pe { display:flex; align-items:center; gap:var(--gg-s-2); font-size:var(--gg-t-xs); color:var(--gg-tinta-2); }

.gg-kpi .gg-kpi__spark { width:100%; height:40px; margin-top:var(--gg-s-2); }

.gg-tabela-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.gg-tabela { width:100%; border-collapse:collapse; font-size:var(--gg-t-md); }
.gg-tabela th {
  text-align:left; padding:12px var(--gg-s-4); font-size:var(--gg-t-2xs);
  letter-spacing:var(--gg-ls-label); text-transform:uppercase; font-weight:700; color:var(--gg-tinta-3);
  background:var(--gg-sup-2); border-bottom:1px solid var(--gg-linha-sutil); white-space:nowrap;
}
.gg-tabela td { padding:var(--gg-tabela-py) var(--gg-s-4); border-bottom:1px solid var(--gg-linha-sutil); vertical-align:middle; }
.gg-tabela tbody tr { transition:background var(--gg-dur-1) var(--gg-ease); }
@media (hover: hover) {
.gg-tabela tbody tr:hover { background:var(--gg-sup-2); }
}
.gg-tabela tbody tr:last-child td { border-bottom:0; }
.gg-tabela th.gg-num, .gg-tabela td.gg-num { text-align:right; }
.gg-tabela td.gg-num { font-variant-numeric:tabular-nums; font-weight:600; }

.gg-tabela th.gg-marca, .gg-tabela td.gg-marca { width:1%; padding-right:0; }
.gg-tabela .gg-marca .gg-check { display:flex; }
.gg-tabela tbody tr[aria-selected="true"] { background:color-mix(in srgb, var(--gg-acento) 9%, transparent); }
.gg-tabela tbody tr[aria-selected="true"] td:first-child { box-shadow:inset 3px 0 0 var(--gg-acento); }

.gg-tabela th.gg-acoes, .gg-tabela td.gg-acoes { text-align:right; width:1%; white-space:nowrap; }
.gg-tabela td.gg-acoes .gg-btn { opacity:.4; }

.gg-tabela td.gg-acoes .gg-btn:focus-visible { opacity:1; }
@media (hover: hover) {
.gg-tabela tbody tr:hover td.gg-acoes .gg-btn { opacity:1; }
}
@media (hover: none) {
.gg-tabela td.gg-acoes .gg-btn { opacity:1; }
}
.gg-tabela td.gg-principal { font-weight:600; }
.gg-tabela td .gg-apoio { display:block; margin-top:2px; }
.gg-tabela--compacta td { padding:9px var(--gg-s-3); }
.gg-tabela--compacta th { padding:9px var(--gg-s-3); }
.gg-tabela th[aria-sort] { cursor:pointer; }
.gg-tabela th[aria-sort]::after { content:" ↕"; opacity:.5; }
.gg-tabela th[aria-sort="ascending"]::after { content:" ↑"; opacity:1; color:var(--gg-acento-texto); }
.gg-tabela th[aria-sort="descending"]::after { content:" ↓"; opacity:1; color:var(--gg-acento-texto); }
.gg-tabela__pe { display:flex; align-items:center; justify-content:space-between; gap:var(--gg-s-3); padding:var(--gg-s-3) var(--gg-s-4); border-top:1px solid var(--gg-linha-sutil); font-size:var(--gg-t-sm); color:var(--gg-tinta-2); flex-wrap:wrap; }

.gg-lista__cab { display:flex; align-items:center; justify-content:space-between; gap:var(--gg-s-3); flex-wrap:wrap; padding:var(--gg-s-5) var(--gg-s-5) var(--gg-s-4); border-bottom:1px solid var(--gg-linha-sutil); }
.gg-lista__cab .gg-apoio { margin-top:2px; }
.gg-lista__acoes { display:flex; gap:var(--gg-s-2); flex-wrap:wrap; }

.gg-lista .gg-tabela-wrap + .gg-vazio { border-top:1px solid var(--gg-linha-sutil); padding-top:var(--gg-s-10); padding-bottom:var(--gg-s-10); }

.gg-tabela tbody tr.gg-tabela__apagada > td:not(.gg-acoes) { opacity:.55; }

.gg-so-cartao { display:none; }
@media (max-width:760px) {
.gg-tabela--cartao .gg-so-cartao { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.gg-tabela--cartao thead { display:none; }
.gg-tabela--cartao, .gg-tabela--cartao tbody { display:block; }
.gg-tabela--cartao tbody tr { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:var(--gg-s-3); row-gap:6px; padding:var(--gg-s-4); border-bottom:1px solid var(--gg-linha-sutil); }
.gg-tabela--cartao tbody tr:last-child { border-bottom:0; }

.gg-tabela--cartao td { display:block; grid-column:1 / -1; padding:0; border:0; }
.gg-tabela--cartao td.gg-principal, .gg-tabela--cartao td:first-child { grid-column:1; }
.gg-tabela--cartao td.gg-acoes { grid-column:2; grid-row:1; align-self:start; }
.gg-tabela--cartao td.gg-num { text-align:left; }
.gg-tabela--cartao td[data-rotulo] { font-size:var(--gg-t-sm); color:var(--gg-tinta-2); }
.gg-tabela--cartao td[data-rotulo]::before { content:attr(data-rotulo) " · "; font-weight:600; color:var(--gg-tinta-3); }

.gg-tabela--cartao td[data-rotulo] .gg-form-botao { vertical-align:middle; }
.gg-tabela--cartao .gg-so-largo { display:none; }
.gg-tabela--cartao tbody tr[aria-selected="true"] td:first-child { box-shadow:none; }
}
@media (pointer: coarse) {
.gg-tabela tbody tr[data-gg-registro] { cursor:pointer; }
}
.gg-tabela__toolbar { display:flex; align-items:center; gap:var(--gg-s-3); padding:var(--gg-s-4); border-bottom:1px solid var(--gg-linha-sutil); flex-wrap:wrap; }
.gg-tabela__toolbar .gg-input-grupo { flex:1; min-width:200px; max-width:340px; }

.gg-tabela__toolbar-fim { margin-left:auto; }

.gg-registro { display:grid; grid-template-columns:auto 1fr auto; gap:var(--gg-s-3); align-items:center; padding:var(--gg-s-3) 0; border-bottom:1px solid var(--gg-linha-sutil); }
.gg-registro:last-child { border-bottom:0; }
.gg-registro__ico { width:40px; height:40px; border-radius:var(--gg-r-bolha); background:var(--gg-vidro); box-shadow:inset 0 0 0 1px var(--gg-linha-sutil); display:grid; place-items:center; color:var(--gg-tinta-2); }
.gg-registro__t { font-weight:600; }
.gg-registro__d { font-size:var(--gg-t-xs); color:var(--gg-tinta-2); margin-top:2px; display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.gg-registro__v { text-align:right; }
.gg-registro__v .gg-apoio { display:block; }

.gg-tabs { display:flex; gap:var(--gg-s-6); border-bottom:1px solid var(--gg-linha); overflow-x:auto; scrollbar-width:none; }
.gg-tab {
  position:relative; display:inline-flex; align-items:center; gap:8px; padding:12px 2px 13px; white-space:nowrap;
  font-size:var(--gg-t-md); font-weight:600; color:var(--gg-tinta-2); border:0; background:none; cursor:pointer;
  transition:color var(--gg-dur-1) var(--gg-ease);
}
.gg-tab::after {
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:3px; border-radius:3px 3px 0 0;
  background:var(--gg-acento); transform:scaleX(0); transition:transform var(--gg-dur-2) var(--gg-ease-out);
}
@media (hover: hover) {
.gg-tab:hover { color:var(--gg-tinta); }
}
.gg-tab[aria-selected="true"] { color:var(--gg-tinta); font-weight:700; }
.gg-tab[aria-selected="true"]::after { transform:scaleX(1); }
.gg-tab .gg-chip__n { height:18px; min-width:18px; font-size:10.5px; }

a.gg-tab { text-decoration:none; }

.gg-aba { margin-top:var(--gg-s-6); }
.gg-segmento {
  display:inline-flex; gap:2px; padding:4px; border-radius:var(--gg-r-pill);
  background:var(--gg-vidro); box-shadow:inset 0 0 0 1px var(--gg-linha-sutil), inset 0 1px 2px rgba(16,43,63,.06);
}
.gg-segmento button {
  display:inline-flex; align-items:center; gap:6px; height:32px; padding:0 15px; border:0; background:none; cursor:pointer;
  border-radius:var(--gg-r-pill); font-size:var(--gg-t-sm); font-weight:600; color:var(--gg-tinta-2);
  transition:background var(--gg-dur-1) var(--gg-ease), color var(--gg-dur-1) var(--gg-ease), box-shadow var(--gg-dur-2) var(--gg-ease-out);
}
@media (hover: hover) {
.gg-segmento button:not([aria-pressed="true"]):hover { color:var(--gg-tinta); }
}
.gg-segmento button[aria-pressed="true"] {
  background:var(--gg-sup-1); color:var(--gg-tinta);
  box-shadow:0 1px 2px rgba(16,43,63,.1), 0 4px 12px -4px rgba(16,43,63,.2), inset 0 0 0 1px var(--gg-linha-sutil);
}

.gg-alerta {
  position:relative; display:flex; gap:var(--gg-s-3); align-items:flex-start; padding:14px 16px 14px 18px; overflow:hidden;
  border-radius:var(--gg-r-lg); font-size:var(--gg-t-md); background:var(--gg-sup-2); box-shadow:var(--gg-inset);
}

.gg-alerta::before {
  content:""; position:absolute; left:0; top:8px; bottom:8px; width:3px; border-radius:3px;
  background:linear-gradient(180deg, transparent 0, currentColor 26%, currentColor 74%, transparent 100%); opacity:.7;
}
.gg-alerta .gg-ico { width:18px; height:18px; margin-top:2px; flex:none; }
.gg-alerta__t { font-weight:700; display:block; }
.gg-alerta__d { color:var(--gg-tinta-2); font-size:var(--gg-t-sm); line-height:1.5; }

.gg-alerta__acao { display:block; width:fit-content; margin-top:8px; font-size:var(--gg-t-sm); font-weight:700;
                   color:inherit; text-decoration:underline; text-underline-offset:3px; }
.gg-alerta--sucesso { background:var(--gg-sucesso-suave); color:var(--gg-sucesso-texto); box-shadow:none; }
.gg-alerta--atencao { background:var(--gg-atencao-suave); color:var(--gg-atencao-texto); box-shadow:none; }
.gg-alerta--erro { background:var(--gg-erro-suave); color:var(--gg-erro-texto); box-shadow:none; }
.gg-alerta--info { background:var(--gg-info-suave); color:var(--gg-info-texto); box-shadow:none; }
.gg-alerta--sucesso .gg-alerta__d, .gg-alerta--atencao .gg-alerta__d, .gg-alerta--erro .gg-alerta__d, .gg-alerta--info .gg-alerta__d { color:inherit; opacity:.88; }
.gg-alerta__fechar { margin-left:auto; background:none; border:0; cursor:pointer; color:inherit; opacity:.6; padding:0; }
@media (hover: hover) {
.gg-alerta__fechar:hover { opacity:1; }
}

.gg-toasts { position:fixed; right:var(--gg-s-5); bottom:var(--gg-s-5); z-index:var(--gg-z-toast); display:flex; flex-direction:column; gap:var(--gg-s-2); width:min(390px, calc(100vw - 2 * var(--gg-s-5))); }
.gg-toast {
  position:relative; overflow:hidden; display:flex; align-items:center; gap:var(--gg-s-3);
  padding:14px 14px 14px 18px; border-radius:var(--gg-r-lg); font-size:var(--gg-t-sm); color:var(--gg-tinta);
  background:color-mix(in srgb, var(--gg-sup-1) 86%, transparent);
  -webkit-backdrop-filter:saturate(170%) blur(18px); backdrop-filter:saturate(170%) blur(18px);
  box-shadow:0 0 0 1px var(--gg-linha-sutil), var(--gg-flutuante);
  animation:gg-toast-entra var(--gg-dur-3) var(--gg-ease-spring);
}
.gg-toast::before {
  content:""; position:absolute; left:0; top:8px; bottom:8px; width:3px; border-radius:3px;
  background:linear-gradient(180deg, transparent 0, var(--gg-toast-cor, var(--gg-tinta-3)) 26%, var(--gg-toast-cor, var(--gg-tinta-3)) 74%, transparent 100%);
}
.gg-toast--sucesso { --gg-toast-cor:var(--gg-acento); }
.gg-toast--erro { --gg-toast-cor:var(--gg-erro); }
.gg-toast--atencao { --gg-toast-cor:var(--gg-atencao); }
.gg-toast__ico { width:34px; height:34px; flex:none; display:grid; place-items:center; border-radius:var(--gg-r-bolha); background:var(--gg-sup-3); color:var(--gg-tinta-2); }
.gg-toast__ico .gg-ico { width:18px; height:18px; }
.gg-toast--sucesso .gg-toast__ico { background:var(--gg-sucesso-suave); color:var(--gg-sucesso-texto); }
.gg-toast--erro .gg-toast__ico { background:var(--gg-erro-suave); color:var(--gg-erro-texto); }
.gg-toast--atencao .gg-toast__ico { background:var(--gg-atencao-suave); color:var(--gg-atencao-texto); }
.gg-toast__txt { flex:1; min-width:0; }
.gg-toast__t { display:block; font-weight:700; }
.gg-toast__d { display:block; font-size:var(--gg-t-xs); color:var(--gg-tinta-2); margin-top:1px; }
.gg-toast__fechar { flex:none; width:28px; height:28px; border:0; border-radius:50%; background:none; color:var(--gg-tinta-3); cursor:pointer; display:grid; place-items:center; }
@media (hover: hover) {
.gg-toast__fechar:hover { background:var(--gg-sup-3); color:var(--gg-tinta); }
}
.gg-toast__tempo { position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--gg-toast-cor, var(--gg-tinta-3)); opacity:.6; transform-origin:left; animation:gg-toast-tempo var(--gg-toast-dura, 5s) linear forwards; }
@media (hover: hover) {
.gg-toast:hover .gg-toast__tempo { animation-play-state:paused; }
}
.gg-toast--sai { opacity:0; transform:translateX(16px) scale(.98); transition:opacity var(--gg-dur-2) var(--gg-ease), transform var(--gg-dur-2) var(--gg-ease); }
@keyframes gg-toast-entra { from { opacity:0; transform:translateY(10px) scale(.97); } to { opacity:1; transform:none; } }
@keyframes gg-toast-tempo { to { transform:scaleX(0); } }
@keyframes gg-sobe { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }

.gg-modal-fundo {
  position:fixed; inset:0; z-index:var(--gg-z-modal); display:grid; place-items:center; padding:var(--gg-s-5);
  background:rgba(11,34,50,.5); -webkit-backdrop-filter:blur(6px) saturate(120%); backdrop-filter:blur(6px) saturate(120%);
  animation:gg-surge var(--gg-dur-2) var(--gg-ease);
}
dialog.gg-modal { border:0; margin:auto; }

dialog.gg-drawer { left:auto; margin:0; border:0; padding:0; height:auto; max-width:none; max-height:none; }
dialog.gg-drawer:not([open]) { display:none; }
dialog.gg-modal::backdrop, dialog.gg-drawer::backdrop { background:rgba(11,34,50,.5); -webkit-backdrop-filter:blur(6px) saturate(120%); backdrop-filter:blur(6px) saturate(120%); }

.gg-modal {
  position:relative; width:calc(100% - 32px); max-width:480px; max-height:calc(100vh - 40px); overflow:auto;
  padding:var(--gg-s-8) var(--gg-s-8) var(--gg-s-6); border-radius:var(--gg-r-xl);
  background:var(--gg-sup-1); color:var(--gg-tinta);
  box-shadow:0 0 0 1px var(--gg-linha-sutil), 0 40px 90px -30px rgba(3,14,22,.55), 0 12px 32px -12px rgba(3,14,22,.25);
  animation:gg-modal-entra var(--gg-dur-3) var(--gg-ease-spring);
}
@keyframes gg-modal-entra { from { opacity:0; transform:translateY(14px) scale(.96); } to { opacity:1; transform:none; } }
.gg-modal--largo { max-width:720px; }

.gg-modal--grande { max-width:980px; }
.gg-modal__fechar {
  position:absolute; top:16px; right:16px; width:34px; height:34px; border:0; border-radius:50%; cursor:pointer;
  display:grid; place-items:center; background:var(--gg-sup-3); color:var(--gg-tinta-2);
  transition:background var(--gg-dur-1), color var(--gg-dur-1), transform var(--gg-dur-2) var(--gg-ease-spring);
}
.gg-modal__fechar .gg-ico { width:16px; height:16px; }
@media (hover: hover) {
.gg-modal__fechar:hover { background:var(--gg-sup-4); color:var(--gg-tinta); transform:rotate(90deg); }
}
.gg-modal__ico {
  width:54px; height:54px; border-radius:50%; display:grid; place-items:center; margin:8px 0 var(--gg-s-6) 8px;
  background:var(--gg-sup-3); color:var(--gg-tinta-2);
  box-shadow:0 0 0 8px color-mix(in srgb, currentColor 9%, transparent), 0 0 0 17px color-mix(in srgb, currentColor 4%, transparent);
}
.gg-modal__ico .gg-ico { width:24px; height:24px; }
.gg-modal--perigo .gg-modal__ico { background:var(--gg-erro-suave); color:var(--gg-erro-texto); }
.gg-modal--sucesso .gg-modal__ico { background:var(--gg-sucesso-suave); color:var(--gg-sucesso-texto); }
.gg-modal--atencao .gg-modal__ico { background:var(--gg-atencao-suave); color:var(--gg-atencao-texto); }
.gg-modal--info .gg-modal__ico { background:var(--gg-info-suave); color:var(--gg-info-texto); }
.gg-modal__cab { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--gg-s-3); margin-bottom:var(--gg-s-2); padding-right:var(--gg-s-8); }
.gg-modal__txt { font-size:var(--gg-t-texto); line-height:1.55; color:var(--gg-tinta-2); margin:var(--gg-s-2) 0 0; }

.gg-modal__lista {
  list-style:none; margin:var(--gg-s-5) 0 0; padding:var(--gg-s-4); display:flex; flex-direction:column; gap:10px;
  border-radius:var(--gg-r-lg); background:var(--gg-sup-2); box-shadow:var(--gg-inset); font-size:var(--gg-t-sm);
}
.gg-modal__lista li { display:flex; gap:10px; align-items:flex-start; }
.gg-modal__lista .gg-ico { width:16px; height:16px; flex:none; margin-top:1px; color:var(--gg-tinta-3); }
.gg-modal--perigo .gg-modal__lista .gg-ico { color:var(--gg-erro); }
.gg-modal--sucesso .gg-modal__lista .gg-ico { color:var(--gg-sucesso); }
.gg-modal__confirma { margin-top:var(--gg-s-5); display:flex; flex-direction:column; gap:8px; }
.gg-modal__confirma label { font-size:var(--gg-t-sm); color:var(--gg-tinta-2); }
.gg-modal__confirma b { font-weight:700; color:var(--gg-tinta); background:var(--gg-sup-3); padding:1px 7px; border-radius:6px; letter-spacing:.02em; }
.gg-modal__pe { display:flex; justify-content:flex-end; gap:var(--gg-s-2); margin-top:var(--gg-s-8); }
@media (max-width:520px) {
.gg-modal { padding:var(--gg-s-6) var(--gg-s-5) var(--gg-s-5); }
.gg-modal__pe { flex-direction:column-reverse; }
.gg-modal__pe .gg-btn { width:100%; }
}

.gg-modal--form { max-width:36rem; max-height:min(90dvh, 48rem); padding:0; overflow:hidden; }

@media (min-width:641px) {
.gg-modal--form.gg-modal--largo { max-width:720px; }
.gg-modal--form.gg-modal--grande { max-width:980px; }
}
dialog.gg-modal--form[open] { display:flex; flex-direction:column; }
.gg-modal__form { display:flex; flex-direction:column; flex:1; min-height:0; margin:0; }
.gg-modal__topo { display:flex; align-items:center; justify-content:space-between; gap:var(--gg-s-3); padding:var(--gg-s-6) var(--gg-s-6) var(--gg-s-3); flex:none; }
.gg-modal__topo .gg-modal__fechar { position:static; flex:none; }
.gg-modal__rolagem { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:var(--gg-s-2) var(--gg-s-6) var(--gg-s-6); }
.gg-modal__rolagem > .gg-apoio { margin:0 0 var(--gg-s-4); }
.gg-modal__erro:not([hidden]) { margin-bottom:var(--gg-s-4); }
.gg-modal__campos { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--gg-s-4); }
.gg-modal__campos > .gg-campo--inteiro { grid-column:1 / -1; }
.gg-modal--form .gg-modal__pe { margin:0; padding:var(--gg-s-4) var(--gg-s-6); flex:none; align-items:center; border-top:1px solid var(--gg-linha-sutil); background:var(--gg-sup-2); }
.gg-modal__falta { margin-right:auto; font-size:var(--gg-t-xs); color:var(--gg-tinta-2); }
.gg-modal__falta--pisca { color:var(--gg-erro-texto); animation:gg-treme var(--gg-dur-3) var(--gg-ease); }
.gg-btn[aria-disabled="true"] { opacity:.5; cursor:not-allowed; box-shadow:none; transform:none; }

.gg-modo { border:0; margin:0; padding:0; min-width:0; }
.gg-modo:not([hidden]) { display:contents; }
.gg-modal__campos > .gg-modo > .gg-campo--inteiro { grid-column:1 / -1; }
@media (max-width:640px) {
dialog.gg-modal--form { width:100%; max-width:none; height:100%; max-height:none; margin:0; border-radius:0; }
.gg-modal__topo { padding-top:max(var(--gg-s-5), env(safe-area-inset-top)); }
.gg-modal__campos { grid-template-columns:minmax(0,1fr); }
.gg-modal--form .gg-modal__pe { flex-direction:row; flex-wrap:wrap; padding-bottom:max(var(--gg-s-4), env(safe-area-inset-bottom)); }
.gg-modal--form .gg-modal__pe .gg-btn { width:auto; flex:1; }
.gg-modal--form .gg-modal__falta { flex-basis:100%; margin:0 0 var(--gg-s-1); }
}

.gg-drawer {
  position:fixed; top:8px; right:8px; bottom:8px; width:min(460px, calc(100% - 16px)); z-index:var(--gg-z-modal);
  display:flex; flex-direction:column; background:var(--gg-sup-1); color:var(--gg-tinta); border-radius:var(--gg-r-xl);
  box-shadow:0 0 0 1px var(--gg-linha-sutil), 0 40px 90px -30px rgba(3,14,22,.55);
  animation:gg-gaveta-entra var(--gg-dur-3) var(--gg-ease-out);
}
.gg-drawer__cab { display:flex; align-items:center; justify-content:space-between; gap:var(--gg-s-3); padding:var(--gg-s-5) var(--gg-s-6); border-bottom:1px solid var(--gg-linha-sutil); }
.gg-drawer__corpo { flex:1; min-height:0; overflow-y:auto; padding:var(--gg-s-6); }
.gg-drawer__pe { display:flex; justify-content:flex-end; gap:var(--gg-s-2); padding:var(--gg-s-4) var(--gg-s-6); border-top:1px solid var(--gg-linha-sutil); }
@keyframes gg-gaveta-entra { from { opacity:0; transform:translateX(28px); } to { opacity:1; transform:none; } }

.gg-menu {
  min-width:220px; padding:6px; display:flex; flex-direction:column; gap:1px;
  background:var(--gg-sup-1); color:var(--gg-tinta); border-radius:var(--gg-r-lg);
  box-shadow:0 0 0 1px var(--gg-linha-sutil), var(--gg-flutuante);
}

.gg-menu--flutua { position:fixed; z-index:var(--gg-z-menu); animation:gg-sobe var(--gg-dur-2) var(--gg-ease-out); }
.gg-menu__rotulo { padding:10px 10px 4px; font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gg-tinta-3); }
.gg-menu__item {
  display:flex; align-items:center; gap:10px; min-height:38px; padding:0 10px; border-radius:10px; width:100%; text-align:left;
  font-size:var(--gg-t-md); font-weight:500; cursor:pointer; color:var(--gg-tinta); background:none; border:0;
  transition:background var(--gg-dur-1) var(--gg-ease), color var(--gg-dur-1) var(--gg-ease);
}
.gg-menu__item .gg-ico { width:18px; height:18px; color:var(--gg-tinta-3); transition:color var(--gg-dur-1); }
@media (hover: hover) {
.gg-menu__item:hover { background:var(--gg-vidro); }
.gg-menu__item:hover .gg-ico { color:var(--gg-tinta); }
}
.gg-menu__item--perigo { color:var(--gg-erro-texto); }
.gg-menu__item--perigo .gg-ico { color:inherit; }
@media (hover: hover) {
.gg-menu__item--perigo:hover { background:var(--gg-erro-suave); }
.gg-menu__item--perigo:hover .gg-ico { color:inherit; }
}
.gg-menu__sep { border-top:1px solid var(--gg-linha-sutil); margin:5px 4px; }
.gg-menu__atalho { margin-left:auto; font-size:var(--gg-t-2xs); font-weight:600; color:var(--gg-tinta-3); }

.gg-vazio { text-align:center; padding:var(--gg-s-12) var(--gg-s-6); display:flex; flex-direction:column; align-items:center; gap:var(--gg-s-3); }
.gg-vazio__ico {
  position:relative; width:64px; height:64px; margin:var(--gg-s-5) 0 var(--gg-s-4); display:grid; place-items:center;
  border-radius:var(--gg-r-bolha-lg); background:var(--gg-sup-1); color:var(--gg-acento-texto);
  box-shadow:inset 0 0 0 1px var(--gg-linha), 0 12px 28px -14px rgba(16,43,63,.3);
}
.gg-vazio__ico::before, .gg-vazio__ico::after {
  content:""; position:absolute; inset:-14px; border-radius:26px 26px 26px 10px; pointer-events:none;
  box-shadow:inset 0 0 0 1px var(--gg-linha-sutil);
}
.gg-vazio__ico::after { inset:-30px; border-radius:36px 36px 36px 14px; box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gg-linha-sutil) 55%, transparent); }
.gg-vazio__ico .gg-ico { width:28px; height:28px; }
.gg-vazio .gg-h3 { max-width:32ch; text-wrap:balance; }
.gg-vazio .gg-apoio { max-width:44ch; }
.gg-skeleton { background:linear-gradient(90deg,var(--gg-sup-3) 25%,var(--gg-sup-4) 50%,var(--gg-sup-3) 75%); background-size:200% 100%; animation:gg-brilho 1.4s ease infinite; border-radius:var(--gg-r-sm); height:14px; }
.gg-skeleton--linha { width:100%; }
.gg-skeleton--curta { width:40%; }
.gg-skeleton--valor { height:30px; width:55%; border-radius:var(--gg-r-md); }
@keyframes gg-brilho { 0% { background-position:200% 0; } 100% { background-position:-200% 0; } }
@keyframes gg-varre { to { transform:translateX(100%); } }
@keyframes gg-cresce { from { transform:scaleY(.35); } }
@keyframes gg-cresce-x { from { transform:scaleX(.25); } }
@keyframes gg-arco { from { stroke-dashoffset:314; } }
@keyframes gg-traca { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
@keyframes gg-surge { from { opacity:0; } }

.gg-progresso { height:var(--gg-trilho); border-radius:var(--gg-r-pill); background:var(--gg-serie-trilho); overflow:hidden; }
.gg-progresso > span { display:block; height:100%; border-radius:var(--gg-r-pill); background:var(--gg-serie-grad-h); transition:width var(--gg-dur-3) var(--gg-ease-out); position:relative; overflow:hidden; }
.gg-progresso--acento > span { background:var(--gg-grad-verde-h); }

.gg-progresso > span::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%); transform:translateX(-100%); animation:gg-varre 2.8s var(--gg-ease) 1.2s infinite; }
.gg-progresso--erro > span { background:var(--gg-erro); }
.gg-progresso--grosso { height:var(--gg-barra); }
.gg-uso { display:flex; flex-direction:column; gap:var(--gg-s-2); }
.gg-uso__cab { display:flex; justify-content:space-between; align-items:baseline; gap:var(--gg-s-3); }
.gg-uso__pe { display:flex; justify-content:space-between; font-size:var(--gg-t-xs); color:var(--gg-tinta-2); }

.gg-avatar { width:36px; height:36px; border-radius:50%; background:var(--gg-sup-3); color:var(--gg-tinta); display:grid; place-items:center; font-size:var(--gg-t-sm); font-weight:700; flex:none; overflow:hidden; letter-spacing:.01em; }
.gg-avatar img { width:100%; height:100%; object-fit:cover; }
.gg-avatar--sm { width:28px; height:28px; font-size:var(--gg-t-2xs); }
.gg-avatar--lg { width:52px; height:52px; font-size:var(--gg-t-base); }
.gg-avatar--acento { background:var(--gg-acento); color:var(--gg-sobre-acento); }
.gg-avatar--escuro { background:var(--gg-tinta); color:var(--gg-canvas); }
.gg-avatar--azul { background:var(--gg-info-suave); color:var(--gg-info-texto); }

.gg-avatar--grupo { border-radius:var(--gg-r-bolha); }
.gg-usuario { display:flex; align-items:center; gap:10px; min-width:0; }

.gg-usuario__n { display:block; font-weight:600; font-size:var(--gg-t-sm); line-height:1.25; }

a.gg-usuario__n { color:inherit; text-decoration:none; width:fit-content; }
a.gg-usuario__n:hover { text-decoration:underline; text-underline-offset:3px; }
.gg-usuario__d { display:block; font-size:var(--gg-t-xs); color:var(--gg-tinta-2); }
.gg-avatares { display:flex; }
.gg-avatares .gg-avatar { margin-left:-6px; box-shadow:0 0 0 2px var(--gg-sup-1); }
.gg-avatares .gg-avatar:first-child { margin-left:0; }
.gg-avatar--mais { background:var(--gg-sup-4); color:var(--gg-tinta-2); font-size:var(--gg-t-2xs); }

.gg-paginacao { display:inline-flex; gap:4px; align-items:center; }

.gg-paginacao :is(button, a) { font-weight:700; min-width:34px; height:34px; border-radius:10px; border:0; background:none; color:var(--gg-tinta-2); font-size:var(--gg-t-sm); cursor:pointer; padding:0 10px; transition:background var(--gg-dur-1), color var(--gg-dur-1); }
.gg-paginacao a { display:inline-grid; place-items:center; text-decoration:none; }
.gg-paginacao span[aria-disabled] { min-width:34px; height:34px; display:inline-grid; place-items:center; color:var(--gg-tinta-3); opacity:.5; }
@media (hover: hover) {
.gg-paginacao :is(button, a):not([aria-current="page"]):hover { background:var(--gg-sup-3); color:var(--gg-tinta); }
}
.gg-paginacao :is(button, a)[aria-current="page"] { background:var(--gg-tinta); color:var(--gg-canvas); box-shadow:0 6px 14px -8px rgba(16,43,63,.6); }
.gg-migalhas { display:flex; gap:8px; align-items:center; font-size:var(--gg-t-sm); color:var(--gg-tinta-2); flex-wrap:wrap; }
.gg-migalhas span:last-child { color:var(--gg-tinta); font-weight:600; }
.gg-migalhas i { font-style:normal; color:var(--gg-tinta-3); }

.gg-dica {
  position:fixed; z-index:2147483000; max-width:16rem; padding:7px 11px; border-radius:var(--gg-r-md);
  background:var(--gg-tinta); color:var(--gg-canvas); box-shadow:var(--gg-flutuante);
  font:600 12px/1.35 var(--gg-sans); letter-spacing:var(--gg-ls-snug); text-align:center; text-wrap:balance;
  pointer-events:none; opacity:0; transform:translateY(4px);
  transition:opacity var(--gg-dur-1) var(--gg-ease), transform var(--gg-dur-1) var(--gg-ease-out);
}
.gg-dica::after {
  content:""; position:absolute; left:var(--gg-bico, 50%); top:100%; width:9px; height:9px; margin:-5px 0 0 -4.5px;
  background:inherit; border-radius:2px; transform:rotate(45deg);
}
.gg-dica--abaixo::after { top:auto; bottom:100%; margin:0 0 -5px -4.5px; }
.gg-dica--direita::after { left:auto; right:100%; top:50%; margin:-4.5px -5px 0 0; }
.gg-dica--vendo { opacity:1; transform:none; }

.gg-conversa { display:flex; flex-direction:column; gap:14px; }
.gg-bolha { max-width:80%; padding:12px 16px; border-radius:18px; font-size:var(--gg-t-md); line-height:1.5; }

.gg-bolha--eu { align-self:flex-end; background:var(--gg-acento-suave); border-bottom-right-radius:6px; }
.gg-bolha--bot, .gg-bolha--membro { align-self:flex-start; background:var(--gg-sup-2); box-shadow:var(--gg-inset); border-bottom-left-radius:6px; }

.gg-bolha__nome { display:block; margin-bottom:4px; font-size:var(--gg-t-xs); font-weight:700; color:var(--gg-acento-texto); }
.gg-bolha__nome--info { color:var(--gg-info-texto); }
.gg-bolha__nome--atencao { color:var(--gg-atencao-texto); }
.gg-bolha__nome--erro { color:var(--gg-erro-texto); }
.gg-bolha__nome--sucesso { color:var(--gg-sucesso-texto); }

.gg-bolha__hora { display:block; margin-top:6px; text-align:right; font-size:11px; font-weight:600; color:var(--gg-tinta-3); font-variant-numeric:tabular-nums; }

.gg-bolha--apagada { background:transparent; box-shadow:inset 0 0 0 1px var(--gg-linha-forte); }
.gg-bolha__apagada { display:flex; align-items:center; gap:7px; font-style:italic; color:var(--gg-tinta-3); }
.gg-bolha__apagada::before {
  content:""; width:13px; height:13px; flex:none; border-radius:50%; box-shadow:inset 0 0 0 1.5px currentColor;
  background:linear-gradient(135deg, transparent 44%, currentColor 44%, currentColor 56%, transparent 56%);
}

.gg-bolha-aviso {
  align-self:center; max-width:92%; padding:6px 14px; margin:2px 0; border-radius:var(--gg-r-pill); line-height:1.4; text-align:center;
  background:var(--gg-sup-3); color:var(--gg-tinta-2); font-size:var(--gg-t-xs); font-weight:600;
}
.gg-bolha--auto .gg-bolha__meta { text-align:right; }
.gg-bolha__meta { font-weight:700; display:block; font-size:var(--gg-t-2xs); letter-spacing:.08em; text-transform:uppercase; color:var(--gg-tinta-3); margin-top:8px; }
.gg-conversa__entrada { display:flex; gap:var(--gg-s-2); margin-top:var(--gg-s-3); }
.gg-conversa__entrada .gg-input { flex:1; border-radius:var(--gg-r-pill); }

.gg-conversa__topo { display:flex; align-items:center; gap:12px; padding:16px 20px; border-bottom:1px solid var(--gg-linha-sutil); font-size:var(--gg-t-sm); }
.gg-conversa__topo b { font-weight:700; }
.gg-conversa__selo { margin-left:auto; }
.gg-conversa__entrada--barra { margin:0; padding:12px 16px; border-top:1px solid var(--gg-linha-sutil); align-items:center; }
.gg-conversa__entrada .gg-btn { flex:none; }
.gg-conversa__entrada .gg-btn--cenario, .gg-input[readonly].gg-input--cenario { pointer-events:none; }
.gg-bolha--entra { animation:gg-sobe var(--gg-dur-3) var(--gg-ease-out) both; }

.gg-chat {
  display:grid; grid-template-columns:minmax(260px, 320px) minmax(0, 1fr); height:max(480px, calc(100dvh - 248px));
  border-radius:var(--gg-r-xl); background:var(--gg-sup-1); box-shadow:var(--gg-card-inset), var(--gg-bevel), var(--gg-sombra-ambiente); overflow:hidden;
}
.gg-chat__lista { display:flex; flex-direction:column; min-height:0; border-right:1px solid var(--gg-linha-sutil); background:var(--gg-sup-1); }
.gg-chat__busca { padding:var(--gg-s-4); border-bottom:1px solid var(--gg-linha-sutil); }
.gg-chat__itens { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:6px; }
.gg-chat__item {
  display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:10px; align-items:center; padding:10px; border-radius:var(--gg-r-md);
  color:inherit; text-decoration:none; transition:background var(--gg-dur-1) var(--gg-ease);
}
@media (hover: hover) {
.gg-chat__item:hover { background:var(--gg-sup-2); }
}
.gg-chat__item[aria-current="page"] { background:var(--gg-acento-suave); }
.gg-chat__item-n { display:block; font-weight:700; font-size:var(--gg-t-sm); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gg-chat__item-d { display:block; font-size:var(--gg-t-xs); color:var(--gg-tinta-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gg-chat__item-h { align-self:start; padding-top:2px; font-size:11px; font-weight:600; color:var(--gg-tinta-3); font-variant-numeric:tabular-nums; }
.gg-chat__painel { display:flex; flex-direction:column; min-width:0; min-height:0; background:var(--gg-sup-2); }
.gg-chat__painel .gg-conversa__topo { background:var(--gg-sup-1); }
.gg-chat__voltar { display:none; }
.gg-chat__mensagens { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:var(--gg-s-5); }
.gg-chat__mensagens .gg-bolha { white-space:pre-wrap; overflow-wrap:anywhere; }
.gg-chat__mensagens .gg-bolha--membro { background:var(--gg-sup-1); }
.gg-chat__midia { display:block; max-width:min(320px, 100%); max-height:320px; border-radius:12px; margin-bottom:6px; }
.gg-chat__entrada { align-items:flex-end; background:var(--gg-sup-1); }
.gg-chat__entrada textarea.gg-input { min-height:44px; max-height:140px; padding-top:11px; padding-bottom:11px; resize:none; border-radius:22px; }
.gg-chat__entrada .gg-check { flex:none; align-self:center; font-size:var(--gg-t-xs); }
.gg-chat__entrada .gg-apoio { flex:1; min-width:0; align-self:center; }
.gg-chat__vazio { margin:auto; padding:var(--gg-s-6); }
@media (max-width:900px) {
.gg-chat { grid-template-columns:minmax(0,1fr); height:max(480px, calc(100dvh - 200px)); }
.gg-chat__painel { display:none; }
.gg-chat--aberto .gg-chat__lista { display:none; }
.gg-chat--aberto .gg-chat__painel { display:flex; }
.gg-chat__voltar { display:inline-grid; }
.gg-chat__entrada .gg-check { display:none; }
}

@media (max-width:860px) {
.gg-chat--aberto { height:max(420px, calc(100dvh - var(--gg-topo-h) - var(--gg-s-5) - var(--gg-s-10))); }
}
.gg-input--foco { border-color:var(--gg-foco) !important; box-shadow:0 0 0 4px var(--gg-acento-suave) !important; }
.gg-btn--pulso { transform:scale(.9) !important; background:var(--gg-acento-suave) !important; }
.gg-digitando { display:inline-flex; gap:4px; padding:5px 2px; }
.gg-digitando i { width:6px; height:6px; border-radius:50%; background:var(--gg-tinta-3); animation:gg-pontos 1s ease-in-out infinite; }
.gg-digitando i:nth-child(2) { animation-delay:.15s; }
.gg-digitando i:nth-child(3) { animation-delay:.3s; }
@keyframes gg-pontos { 0%,60%,100% { opacity:.35; transform:translateY(0); } 30% { opacity:1; transform:translateY(-3px); } }
.gg-voz { display:flex; flex-direction:column; gap:8px; min-width:230px; }
.gg-voz__linha { display:flex; align-items:center; gap:10px; }
.gg-voz__perfil { flex:0 0 auto; width:32px; height:32px; border-radius:50%; background:var(--gg-acento); display:grid; place-items:center; color:var(--gg-profundo-900); }
.gg-voz__perfil .gg-ico { width:16px; height:16px; }
.gg-voz__play { flex:0 0 auto; width:0; height:0; border-style:solid; border-width:7px 0 7px 11px; border-color:transparent transparent transparent currentColor; opacity:.8; }
.gg-voz__onda { display:flex; align-items:center; gap:2.5px; height:22px; flex:1 1 auto; }
.gg-voz__onda i { display:block; width:2.5px; border-radius:999px; background:currentColor; opacity:.4; }
.gg-voz__onda i.gg-voz__ponto { width:8px; height:8px; border-radius:50%; opacity:1; background:var(--gg-acento); margin-right:4px; }
.gg-voz__pe { display:flex; align-items:center; justify-content:space-between; gap:14px; font-size:var(--gg-t-2xs); opacity:.6; }
.gg-voz__pe .gg-ico { width:14px; height:14px; color:var(--gg-acento); vertical-align:-2px; }
.gg-voz__txt { font-size:var(--gg-t-sm); opacity:.75; line-height:1.5; border-top:1px solid var(--gg-linha); padding-top:8px; }
.gg-gravando { display:none; align-items:center; gap:11px; flex:1 1 auto; padding:0 4px; font-size:var(--gg-t-sm); color:var(--gg-acento-texto); }
.gg-conversa__entrada--gravando .gg-gravando { display:flex; }
.gg-conversa__entrada--gravando .gg-input { display:none; }

.gg-conversa__entrada:not(.gg-conversa__entrada--gravando):has(.gg-input:placeholder-shown) [aria-label="Enviar"],
.gg-conversa__entrada:not(.gg-conversa__entrada--gravando):not(:has(.gg-input:placeholder-shown)) [aria-label="Áudio"] {
  display:none;
}
.gg-conversa__entrada--gravando [aria-label="Foto"],
.gg-conversa__entrada--gravando [aria-label="Enviar"] { display:none; }
.gg-gravando__ponto { width:9px; height:9px; border-radius:50%; background:var(--gg-erro); flex:0 0 auto; animation:gg-pisca 1.1s ease-in-out infinite; }
@keyframes gg-pisca { 0%,100% { opacity:1; } 50% { opacity:.2; } }
.gg-gravando__onda { display:flex; align-items:center; gap:2.5px; height:20px; flex:1 1 auto; }
.gg-gravando__onda i { display:block; width:2.5px; height:18px; border-radius:999px; background:currentColor; transform-origin:center; animation:gg-onda .62s ease-in-out infinite; }
.gg-gravando__onda i:nth-child(3n) { animation-delay:.14s; }
.gg-gravando__onda i:nth-child(3n+1) { animation-delay:.28s; }
@keyframes gg-onda { 0%,100% { transform:scaleY(.28); } 50% { transform:scaleY(1); } }
.gg-gravando__t { font-family:var(--gg-sans); font-variant-numeric:tabular-nums; opacity:.85; flex:0 0 auto; }
.gg-btn--gravando { background:var(--gg-acento) !important; color:var(--gg-sobre-acento) !important; box-shadow:0 0 0 6px var(--gg-acento-suave) !important; }
.gg-foto-bolha { position:relative; display:inline-flex; align-items:center; gap:8px; padding:6px 9px; border-radius:8px; background:var(--gg-sup-3); overflow:hidden; }
.gg-foto-bolha__scan { position:absolute; left:0; right:0; top:0; height:2px; background:var(--gg-acento); box-shadow:0 0 12px var(--gg-acento); animation:gg-scan 1.3s var(--gg-ease) 2; pointer-events:none; }
@keyframes gg-scan { from { top:0; } to { top:100%; } }

.gg-bolha__codigo { display:block; font-family:var(--gg-sans); font-size:var(--gg-t-xl); letter-spacing:.28em; margin:8px 0 6px; color:var(--gg-tinta); }

.gg-eyebrow { font-weight:700;
  position:relative; display:flex; width:fit-content; align-items:center; gap:9px; margin:0 0 var(--gg-s-5);
  padding:7px 16px 7px 13px; border-radius:var(--gg-r-pill); background:rgba(32,217,161,.055); border:1px solid rgba(32,217,161,.17);
  color:var(--gg-acento-texto); font-family:var(--gg-sans); font-size:var(--gg-t-2xs); letter-spacing:var(--gg-ls-label); text-transform:uppercase;
}
.gg-eyebrow::before { content:""; width:7px; height:7px; border-radius:50%; flex:none; background:var(--gg-acento); box-shadow:0 0 9px rgba(32,217,161,.85); animation:gg-farol 2.6s var(--gg-ease) infinite; }
.gg-eyebrow::after { content:""; position:absolute; left:13px; top:50%; margin-top:-3.5px; width:7px; height:7px; border-radius:50%; background:var(--gg-acento); pointer-events:none; animation:gg-farol-halo 2.6s var(--gg-ease) infinite; }
@keyframes gg-farol { 0%,100% { opacity:.68; } 50% { opacity:1; } }
@keyframes gg-farol-halo { 0% { transform:scale(1); opacity:.5; } 70%,100% { transform:scale(3.8); opacity:0; } }

.gg-auth { min-height:100vh; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); }

.gg-auth__palco {
  position:relative; overflow:hidden; isolation:isolate; display:flex; flex-direction:column; justify-content:center; gap:var(--gg-s-10);
  padding:clamp(28px,4vw,56px); background:linear-gradient(165deg,#143249 0%,#102b3f 48%,#0b2232 100%);
}
.gg-auth__palco::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(900px 540px at 6% 0%, rgba(32,217,161,.12), transparent 60%), radial-gradient(760px 520px at 94% 40%, rgba(32,217,161,.07), transparent 60%); }

.gg-auth__palco::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:0; transition:opacity var(--gg-dur-4) var(--gg-ease);
  background:radial-gradient(560px circle at var(--mx,70%) var(--my,30%), rgba(32,217,161,.075), transparent 70%); }
@media (hover: hover) {
.gg-auth__palco:hover::after { opacity:1; }
}
@keyframes gg-respira { 0%,100% { transform:translate3d(0,0,0) scale(1); opacity:.85; } 50% { transform:translate3d(0,-1.5%,0) scale(1.06); opacity:1; } }
@media (prefers-reduced-motion:no-preference) {
.gg-auth__palco::before { will-change:transform,opacity; animation:gg-respira 19s var(--gg-ease) infinite; }
}
.gg-auth__logo { display:block; height:30px; width:auto; }
.gg-auth__logo-link { display:block; width:fit-content; }
.gg-auth__argumento { max-width:600px; }

.gg-auth__display {
  font-size:clamp(2.1rem,3.5vw,3.3rem); font-weight:800; line-height:1.04; letter-spacing:-.035em; margin:0; text-wrap:balance; max-width:15ch;
  color:var(--gg-branco);
}
.gg-auth__display em { font-style:normal; color:var(--gg-verde-400); }
.gg-auth__lead { font-size:clamp(1rem,1.2vw,1.125rem); line-height:1.55; color:var(--gg-tinta-2); max-width:44ch; margin:var(--gg-s-5) 0 0; }

.gg-auth__demo { width:min(100%,470px); margin-top:var(--gg-s-8); border:1px solid transparent;
  background:var(--gg-card-grad) padding-box, linear-gradient(180deg, rgba(32,217,161,.22) 0%, rgba(245,248,250,.09) 42%, rgba(245,248,250,.05) 100%) border-box;
  box-shadow:var(--gg-bevel), 0 28px 70px -36px rgba(0,0,0,.6); }
.gg-auth__demo .gg-conversa { height:clamp(200px,36vh,320px); overflow:hidden; justify-content:flex-end; padding:22px 22px 16px; }

@media (max-height:760px) {
.gg-auth__provas { display:none; }
.gg-auth__palco { gap:var(--gg-s-6); }
.gg-auth__demo { margin-top:var(--gg-s-5); }
}
@media (max-height:640px) {
.gg-auth__lead { display:none; }
.gg-auth__display { font-size:clamp(1.8rem,3vw,2.6rem); }
}
.gg-auth__provas { display:flex; font-weight:700; flex-wrap:wrap; gap:10px 26px; margin:0; padding:0; list-style:none; font-family:var(--gg-sans); font-size:var(--gg-t-2xs); letter-spacing:var(--gg-ls-label); text-transform:uppercase; color:var(--gg-tinta-3); }
.gg-auth__provas li { display:flex; align-items:center; gap:8px; }
.gg-auth__provas li::before { content:""; width:5px; height:5px; border-radius:50%; background:var(--gg-acento); box-shadow:0 0 8px rgba(32,217,161,.7); }

.gg-auth__palco > .gg-grafismo-palco { width:auto; margin:0; animation:none; }

.gg-auth__palco > * { width:min(100%,600px); margin-left:auto; animation:gg-sobe-g var(--gg-dur-4) var(--gg-ease-out) both; }
.gg-auth__palco > :nth-child(2) { animation-delay:calc(var(--gg-escalonar)*2); }
.gg-auth__palco > :nth-child(3) { animation-delay:calc(var(--gg-escalonar)*5); }
@keyframes gg-sobe-g { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }

.gg-auth__form { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; padding:clamp(24px,4vw,56px); background:var(--gg-canvas); box-shadow:inset 1px 0 0 var(--gg-linha-sutil); }
.gg-auth__form::before { content:""; position:absolute; left:0; right:0; top:0; height:440px; pointer-events:none; opacity:.8;
  background:radial-gradient(720px 340px at 50% 0%, var(--gg-aurora), transparent 70%); }
.gg-auth__cartao {
  position:relative; isolation:isolate; width:100%; max-width:448px; padding:clamp(28px,3.4vw,44px); border-radius:28px; border:1px solid transparent;
  background:var(--gg-card-grad) padding-box, var(--gg-auth-borda) border-box;
  box-shadow:var(--gg-bevel), var(--gg-sombra-ambiente);
}
.gg-auth__cartao::before { content:""; position:absolute; inset:0; border-radius:inherit; z-index:-1; pointer-events:none; opacity:0; transition:opacity var(--gg-dur-3) var(--gg-ease);
  background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%), var(--gg-halo), transparent 72%); }
@media (hover: hover) {
.gg-auth__cartao:hover::before { opacity:1; }
}

.gg-auth__coluna { display:flex; flex-direction:column; align-items:center; gap:var(--gg-s-6); width:100%; max-width:448px; }
.gg-auth__coluna > .gg-auth__marca { display:none; }
@media (min-width:901px) {
.gg-auth__coluna > .gg-auth__marca { display:grid; }
.gg-auth__palco > .gg-auth__logo-link { display:none; }
}
.gg-auth__caixa { display:flex; flex-direction:column; gap:var(--gg-s-5); }
.gg-auth__caixa[hidden] { display:none; }
.gg-auth__cab { display:flex; flex-direction:column; gap:6px; }

.gg-auth__cab .gg-h1 { font-size:var(--gg-t-2xl); }
.gg-auth__caixa .gg-btn--lg { height:44px; }
.gg-auth__linha { display:flex; align-items:baseline; justify-content:space-between; gap:var(--gg-s-3); flex-wrap:wrap; }
.gg-auth__pe { text-align:center; font-size:var(--gg-t-sm); color:var(--gg-tinta-2); margin:0; }
.gg-auth__link, .gg-auth__pe a { font-weight:600; color:var(--gg-tinta); text-decoration:none; font-size:var(--gg-t-sm); }
@media (hover: hover) {
.gg-auth__link:hover, .gg-auth__pe a:hover { text-decoration:underline; text-underline-offset:3px; }
}

.gg-auth__caixa > * { animation:gg-sobe var(--gg-dur-2) var(--gg-ease-out) both; }
.gg-auth__caixa > :nth-child(2) { animation-delay:calc(var(--gg-escalonar)*1); }
.gg-auth__caixa > :nth-child(n+3) { animation-delay:calc(var(--gg-escalonar)*2); }
@media (min-width:1400px) {
.gg-auth__palco { padding-right:clamp(72px,6.5vw,136px); }
.gg-auth__form { justify-content:flex-start; padding-left:clamp(72px,6.5vw,136px); }
}
@media (min-width:1600px) {
.gg-auth__cartao { max-width:484px; }
.gg-auth__coluna { max-width:484px; }
.gg-auth__display { font-size:clamp(2.1rem,3.2vw,3.6rem); }
.gg-auth__demo { width:min(100%,500px); }
}

.gg-auth--compacto { grid-template-columns:1fr; }
.gg-auth--compacto .gg-auth__form { min-height:100vh; }
.gg-auth--compacto .gg-auth__logo { height:26px; margin:0 auto var(--gg-s-2); }
@media (max-width:900px) {
.gg-auth { grid-template-columns:1fr; min-height:0; }
.gg-auth__palco { justify-content:flex-start; gap:var(--gg-s-4); padding:22px 24px 26px; }
.gg-auth__demo, .gg-auth__provas, .gg-auth__lead { display:none; }
.gg-auth__display { font-size:1.6rem; max-width:none; }
.gg-auth__logo { height:24px; }
.gg-auth__form { padding:24px 20px 48px; align-items:flex-start; }
}
@media (max-width:480px) {
.gg-auth__cartao { padding:24px 18px; border-radius:22px; }
}

.gg-bandeira { display:block; width:22px; height:16px; border-radius:3px; flex:none; box-shadow:0 0 0 1px rgba(16,43,63,.08); }
.gg-input-grupo--tel .gg-input-grupo__prefixo {
  display:flex; align-items:center; gap:8px; left:0; top:0; height:100%; padding:0 12px 0 14px; pointer-events:none;
  font-family:var(--gg-sans); font-size:var(--gg-t-md); color:var(--gg-tinta-2); border-right:1px solid var(--gg-linha);
}
.gg-input-grupo--tel .gg-input { padding-left:98px; font-family:var(--gg-sans); font-size:var(--gg-t-base); font-variant-numeric:tabular-nums; letter-spacing:.01em; }
.gg-input-grupo--tel:has(.iti) > .gg-input-grupo__prefixo { display:none; }
.gg-input-grupo--tel .iti { flex:1; width:100%; }
.gg-input-grupo--tel .iti .gg-input { padding-left:106px !important; }
.gg-input-grupo--tel .iti__flag-container { padding:0; }
.gg-input-grupo--tel .iti__selected-flag {
  width:94px; padding:0 8px 0 14px; gap:6px; background:transparent; border-radius:var(--gg-r-md) 0 0 var(--gg-r-md);
  border-right:1px solid var(--gg-linha); font-family:var(--gg-sans); font-size:var(--gg-t-md); color:var(--gg-tinta-2);
}
.gg-input-grupo--tel .iti__selected-flag:hover, .gg-input-grupo--tel .iti__selected-flag:focus { background:var(--gg-sup-2); outline:none; }
.gg-input-grupo--tel .iti__flag { border-radius:3px; box-shadow:0 0 0 1px rgba(16,43,63,.08); }
.gg-input-grupo--tel .iti__selected-dial-code { margin-left:0; }
.gg-input-grupo--tel .iti__arrow { margin-left:2px; border-top-color:var(--gg-tinta-3); }
.gg-input-grupo--tel .iti__arrow--up { border-bottom-color:var(--gg-tinta-3); }
.gg .iti__country-list { background:var(--gg-sup-1); color:var(--gg-tinta); border:0; border-radius:12px; box-shadow:var(--gg-flutuante); margin-top:6px; max-height:240px; }
.gg .iti__country { padding:8px 12px; font-size:var(--gg-t-sm); }
.gg .iti__country.iti__highlight { background:var(--gg-sup-3); }
.gg .iti__dial-code { color:var(--gg-tinta-2); }
.gg .iti__divider { border-bottom-color:var(--gg-linha); }

.gg-input-grupo--acao .gg-input { padding-right:48px; }
.gg-input-grupo__acao {
  position:absolute; right:5px; width:32px; height:32px; border-radius:var(--gg-r-pill); display:grid; place-items:center;
  border:0; background:transparent; color:var(--gg-tinta-3); cursor:pointer; transition:background var(--gg-dur-1), color var(--gg-dur-1), transform var(--gg-dur-2) var(--gg-ease-spring);
}
@media (hover: hover) {
.gg-input-grupo__acao:hover { background:var(--gg-sup-3); color:var(--gg-tinta); }
}
.gg-input-grupo__acao:active { transform:scale(.9); }
.gg-input-grupo__acao[aria-pressed="true"] { color:var(--gg-tinta); }
.gg-input-grupo__acao .gg-ico { position:static; width:18px; height:18px; color:inherit; pointer-events:none; }

.gg-input-grupo__ok {
  position:absolute; right:12px; width:20px; height:20px; border-radius:50%; display:grid; place-items:center; pointer-events:none;
  background:var(--gg-acento); color:var(--gg-sobre-acento); opacity:0; transform:scale(.4); transition:opacity var(--gg-dur-2), transform var(--gg-dur-2) var(--gg-ease-spring);
}
.gg-input-grupo__ok .gg-ico { position:static; width:12px; height:12px; color:inherit; stroke-width:2.2; }
.gg-input-grupo--ok .gg-input { border-color:var(--gg-verde-600); padding-right:44px; }
.gg-input-grupo--ok .gg-input-grupo__ok { opacity:1; transform:scale(1); }

.gg-forca { display:grid; grid-template-columns:repeat(4,1fr); gap:4px; height:4px; margin:6px 14px 0; }
.gg-forca i { display:block; border-radius:2px; background:var(--gg-serie-trilho); transition:background var(--gg-dur-2) var(--gg-ease); }
.gg-forca[data-nivel="1"] i:nth-child(1) { background:var(--gg-erro); }
.gg-forca[data-nivel="2"] i:nth-child(-n+2) { background:var(--gg-atencao); }
.gg-forca[data-nivel="3"] i:nth-child(-n+3) { background:var(--gg-sucesso); }
.gg-forca[data-nivel="4"] i { background:var(--gg-grad-verde-h); }
.gg-forca__t { display:flex; justify-content:space-between; gap:12px; font-size:var(--gg-t-xs); color:var(--gg-tinta-2); margin:4px 14px 0; }
.gg-forca__t b { font-weight:600; color:var(--gg-tinta); }
.gg-forca[data-nivel="1"] ~ .gg-forca__t b { color:var(--gg-erro-texto); }

.gg-passos { display:flex; align-items:center; gap:10px; margin:0; padding:0; list-style:none; }
.gg-passos__p { display:flex; align-items:center; gap:10px; white-space:nowrap; font-size:var(--gg-t-xs); font-weight:700; letter-spacing:.02em; color:var(--gg-tinta-3); transition:color var(--gg-dur-2); }
:is(.gg-passos__n, .gg-etapas__n) {
  position:relative; width:30px; height:30px; border-radius:50%; flex:none; display:grid; place-items:center;
  font-size:12px; font-weight:800; color:var(--gg-tinta-3); background:var(--gg-sup-1);
  box-shadow:inset 0 0 0 1.5px var(--gg-linha-forte);
  transition:background var(--gg-dur-3) var(--gg-ease-out), color var(--gg-dur-2), box-shadow var(--gg-dur-3) var(--gg-ease-out);
}
:is(.gg-passos__n, .gg-etapas__n) .gg-ico { width:14px; height:14px; stroke-width:2.6; }
.gg-passos__p[aria-current="step"] { color:var(--gg-tinta); }
:is(.gg-passos__p, .gg-etapas__item)[aria-current="step"] :is(.gg-passos__n, .gg-etapas__n) {
  color:var(--gg-acento-texto); box-shadow:inset 0 0 0 2px var(--gg-acento), 0 0 0 5px var(--gg-acento-suave);
}

:is(.gg-passos__p, .gg-etapas__item)[aria-current="step"] :is(.gg-passos__n, .gg-etapas__n)::after {
  content:""; position:absolute; inset:-5px; border-radius:50%; box-shadow:0 0 0 2px var(--gg-acento);
  opacity:0; animation:gg-passo-pulso 2.2s var(--gg-ease-out) infinite; pointer-events:none;
}
.gg-passos__p--feito { color:var(--gg-tinta-2); }
:is(.gg-passos__p--feito, .gg-etapas__item--feito) :is(.gg-passos__n, .gg-etapas__n) {
  background:var(--gg-acento); color:var(--gg-sobre-acento); box-shadow:0 4px 12px -4px rgba(32,217,161,.75);
  animation:gg-pop var(--gg-dur-2) var(--gg-ease-spring);
}
.gg-passos__l { position:relative; flex:1; min-width:18px; height:3px; border-radius:3px; background:var(--gg-serie-trilho); overflow:hidden; }
.gg-passos__l::after {
  content:""; position:absolute; inset:0; border-radius:inherit; background:var(--gg-grad-verde-h);
  transform:scaleX(0); transform-origin:left; transition:transform var(--gg-dur-4) var(--gg-ease-out);
}
.gg-passos__l--feito::after { transform:scaleX(1); }
@keyframes gg-passo-pulso { 0% { transform:scale(.85); opacity:.75; } 80%, 100% { transform:scale(1.4); opacity:0; } }

.gg-passos--grande { align-items:flex-start; }
.gg-passos--grande .gg-passos__p { flex-direction:column; align-items:center; text-align:center; gap:10px; white-space:normal; width:132px; }
.gg-passos--grande .gg-passos__n { width:42px; height:42px; font-size:14px; }
.gg-passos--grande .gg-passos__n .gg-ico { width:18px; height:18px; }
.gg-passos--grande .gg-passos__l { margin-top:20px; }
.gg-passos__t { display:block; font-size:var(--gg-t-sm); font-weight:700; color:inherit; letter-spacing:0; }
.gg-passos__d { display:block; font-size:var(--gg-t-xs); font-weight:500; color:var(--gg-tinta-3); letter-spacing:0; }
@media (max-width:480px) {
.gg-passos:not(.gg-passos--grande) .gg-passos__p:not([aria-current]) > span:last-child { display:none; }
}

.gg-etapas { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.gg-etapas__item { position:relative; display:grid; grid-template-columns:42px minmax(0,1fr); gap:var(--gg-s-4); padding-bottom:var(--gg-s-8); }
.gg-etapas__item:last-child { padding-bottom:0; }
.gg-etapas__item::before { content:""; position:absolute; left:20px; top:48px; bottom:6px; width:2px; border-radius:2px; background:var(--gg-serie-trilho); }
.gg-etapas__item:last-child::before { display:none; }
.gg-etapas__item--feito::before { background:var(--gg-grad-verde-v); }
.gg-etapas__n { width:42px; height:42px; font-size:14px; }
.gg-etapas__n .gg-ico { width:18px; height:18px; }
.gg-etapas__corpo { min-width:0; padding-top:9px; }
.gg-etapas__t { display:block; font-weight:700; font-size:var(--gg-t-base); letter-spacing:-.01em; }
.gg-etapas__item:not([aria-current="step"]):not(.gg-etapas__item--feito) .gg-etapas__t { color:var(--gg-tinta-2); }
.gg-etapas__d { display:block; margin-top:4px; color:var(--gg-tinta-2); font-size:var(--gg-t-sm); line-height:1.55; }
.gg-etapas__conteudo { margin-top:var(--gg-s-4); }

@property --gg-pinta { syntax:'<percentage>'; inherits:false; initial-value:0%; }
@property --gg-giro { syntax:'<angle>'; inherits:false; initial-value:0deg; }
@property --gg-cursor { syntax:'<color>'; inherits:false; initial-value:transparent; }
.gg-otp { display:flex; gap:10px; align-items:center; margin-top:8px; }
.gg-otp__cel {
  --gg-otp-borda:var(--gg-linha-forte); --gg-otp-fundo:var(--gg-sup-1);
  flex:1 1 0; min-width:0; max-width:58px; height:64px; min-height:0; padding:0; text-align:center;
  font-size:var(--gg-t-2xl); font-weight:800; color:var(--gg-tinta); letter-spacing:0;
  border:2px solid transparent; border-radius:16px; caret-color:transparent; outline:none;
  background:
    linear-gradient(var(--gg-cursor), var(--gg-cursor)) no-repeat center bottom 11px / 18px 3px padding-box,
    linear-gradient(var(--gg-otp-fundo), var(--gg-otp-fundo)) padding-box,
    linear-gradient(0deg, var(--gg-acento) 0 var(--gg-pinta), var(--gg-otp-borda) var(--gg-pinta)) border-box;
  box-shadow:0 1px 2px rgba(16,43,63,.05);
  transition:--gg-pinta 420ms var(--gg-ease-out), box-shadow var(--gg-dur-2) var(--gg-ease-out), transform var(--gg-dur-2) var(--gg-ease-spring), color var(--gg-dur-2);
}
@media (hover: hover) {
.gg-otp__cel:hover { --gg-otp-borda:var(--gg-tinta-3); }
}
.gg-otp__cel:focus {
  --gg-otp-borda:var(--gg-acento); border-color:transparent; transform:translateY(-2px);
  box-shadow:0 0 0 4px var(--gg-acento-suave), 0 10px 20px -12px rgba(15,160,119,.7);
}

.gg-otp__cel:focus:not(.gg-otp__cel--cheia) { animation:gg-otp-cursor 1s steps(1) infinite; }
@keyframes gg-otp-cursor { 0% { --gg-cursor:#20d9a1; } 50% { --gg-cursor:transparent; } }
.gg-otp__cel--cheia { --gg-pinta:100%; animation:gg-pop var(--gg-dur-2) var(--gg-ease-spring); }
.gg-otp__sep { width:12px; height:3px; border-radius:2px; background:var(--gg-linha-forte); flex:none; }
.gg-otp__cel:disabled { opacity:.5; }
@keyframes gg-pop { 0% { transform:scale(.9); } 55% { transform:scale(1.07); } 100% { transform:scale(1); } }

.gg-otp--cheio .gg-otp__cel { --gg-otp-borda:var(--gg-acento); --gg-pinta:100%; box-shadow:0 0 0 4px var(--gg-acento-suave); animation:gg-otp-onda 420ms var(--gg-ease-out) both; }
.gg-otp--cheio .gg-otp__cel:nth-of-type(2) { animation-delay:60ms; }
.gg-otp--cheio .gg-otp__cel:nth-of-type(3) { animation-delay:120ms; }
.gg-otp--cheio .gg-otp__cel:nth-of-type(4) { animation-delay:180ms; }
.gg-otp--cheio .gg-otp__cel:nth-of-type(5) { animation-delay:240ms; }
.gg-otp--cheio .gg-otp__cel:nth-of-type(6) { animation-delay:300ms; }
@keyframes gg-otp-onda {
  0%   { transform:translateY(0)    scale(1); }
  45%  { transform:translateY(-4px) scale(1.06); }
  100% { transform:translateY(0)    scale(1); }
}

.gg-otp--validando .gg-otp__cel {
  background:
    linear-gradient(var(--gg-otp-fundo), var(--gg-otp-fundo)) padding-box,
    conic-gradient(from var(--gg-giro), transparent 0 50%, var(--gg-acento) 78%, transparent 100%) border-box,
    linear-gradient(var(--gg-linha-forte), var(--gg-linha-forte)) border-box;
  box-shadow:0 0 0 4px var(--gg-acento-suave);
  animation:gg-otp-gira 1.1s linear infinite;
}
.gg-otp--validando .gg-otp__cel:nth-of-type(2) { animation-delay:-.18s; }
.gg-otp--validando .gg-otp__cel:nth-of-type(3) { animation-delay:-.36s; }
.gg-otp--validando .gg-otp__cel:nth-of-type(4) { animation-delay:-.54s; }
.gg-otp--validando .gg-otp__cel:nth-of-type(5) { animation-delay:-.72s; }
.gg-otp--validando .gg-otp__cel:nth-of-type(6) { animation-delay:-.9s; }
@keyframes gg-otp-gira { to { --gg-giro:360deg; } }

.gg-otp--valido .gg-otp__cel {
  --gg-otp-borda:var(--gg-acento); --gg-pinta:100%; --gg-otp-fundo:color-mix(in srgb, var(--gg-acento) 12%, var(--gg-sup-1));
  color:var(--gg-acento-texto); box-shadow:0 0 0 4px var(--gg-acento-suave); animation:gg-pop var(--gg-dur-2) var(--gg-ease-spring) both;
}
.gg-otp--valido .gg-otp__cel:nth-of-type(2) { animation-delay:50ms; }
.gg-otp--valido .gg-otp__cel:nth-of-type(3) { animation-delay:100ms; }
.gg-otp--valido .gg-otp__cel:nth-of-type(4) { animation-delay:150ms; }
.gg-otp--valido .gg-otp__cel:nth-of-type(5) { animation-delay:200ms; }
.gg-otp--valido .gg-otp__cel:nth-of-type(6) { animation-delay:250ms; }

.gg-otp--erro .gg-otp__cel { --gg-otp-borda:var(--gg-erro); --gg-pinta:0%; --gg-otp-fundo:color-mix(in srgb, var(--gg-erro) 7%, var(--gg-sup-1)); box-shadow:0 0 0 4px var(--gg-erro-suave); }
.gg-otp--erro { animation:gg-treme var(--gg-dur-3) var(--gg-ease); }
@media (prefers-reduced-motion:reduce) {
.gg-otp .gg-otp__cel { animation:none !important; }
}

.gg-auth__caixa:has(.gg-otp--cheio) .gg-contagem,
.gg-auth__caixa:has(.gg-otp--cheio) [data-gg-espera] { display:none; }
@keyframes gg-treme { 10%,90% { transform:translateX(-1px); } 20%,80% { transform:translateX(2px); } 30%,50%,70% { transform:translateX(-4px); } 40%,60% { transform:translateX(4px); } }

.gg-contagem { display:flex; align-items:center; gap:12px; font-size:var(--gg-t-xs); color:var(--gg-tinta-2); }
.gg-contagem .gg-progresso { flex:1; height:4px; }
.gg-contagem .gg-progresso > span { transition:width 1s linear; }
.gg-contagem__t { font-family:var(--gg-sans); font-variant-numeric:tabular-nums; font-weight:700; color:var(--gg-tinta); white-space:nowrap; }
.gg-contagem__rotulo { white-space:nowrap; }
.gg-contagem--fim { color:var(--gg-erro-texto); }
.gg-contagem--fim .gg-contagem__t { color:inherit; }
.gg-contagem--fim .gg-progresso > span { background:var(--gg-erro); }

.gg-auth__acoes { display:flex; flex-wrap:wrap; gap:10px; }
.gg-auth__acoes > .gg-btn { flex:1 1 172px; }

.gg-btn--espera {
  background:var(--gg-profundo-800); color:var(--gg-tinta-3);
  border-color:var(--gg-linha-forte); cursor:default; gap:8px;
}
.gg-btn--espera:hover { background:var(--gg-profundo-800); color:var(--gg-tinta-3); }
.gg-espera__anel { width:16px; height:16px; flex:none; transform:rotate(-90deg); overflow:visible; }
.gg-espera__trilho, .gg-espera__arco { fill:none; stroke-width:2.5; }
.gg-espera__trilho { stroke:var(--gg-linha-forte); }

.gg-espera__arco {
  stroke:var(--gg-acento); stroke-linecap:round;
  stroke-dasharray:50.27; stroke-dashoffset:calc(50.27 * var(--gg-espera-ini,1));
  animation:gg-espera-enche var(--gg-espera,600s) linear forwards;
}
@keyframes gg-espera-enche { to { stroke-dashoffset:0; } }
.gg-btn:not(.gg-btn--espera) .gg-espera__anel { display:none; }
@media (prefers-reduced-motion:reduce) {
.gg-espera__arco { animation:none; stroke-dashoffset:0; }
}

.gg-revela { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows var(--gg-dur-4) var(--gg-ease-out), opacity var(--gg-dur-3) var(--gg-ease); }
.gg-revela > div { min-height:0; overflow:hidden; display:flex; flex-direction:column; gap:var(--gg-s-5); padding:4px; margin:-4px; }
.gg-revela--aberto { grid-template-rows:1fr; opacity:1; }
.gg-revela:not(.gg-revela--aberto) * { visibility:hidden; }

.gg-sucesso {
  position:relative; width:88px; height:88px; margin:0 auto; border-radius:50%; display:grid; place-items:center;
  background:var(--gg-grad-verde); color:var(--gg-sobre-acento); box-shadow:var(--gg-brilho-verde); animation:gg-pop var(--gg-dur-3) var(--gg-ease-spring) both;
}
.gg-sucesso::before, .gg-sucesso::after { content:""; position:absolute; inset:0; border-radius:50%; border:1.5px solid var(--gg-acento); opacity:0; animation:gg-anel 1.8s var(--gg-ease-out) .25s 3; }
.gg-sucesso::after { animation-delay:.95s; }
.gg-sucesso svg { width:40px; height:40px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.gg-sucesso svg path { stroke-dasharray:1; stroke-dashoffset:1; animation:gg-traca .55s var(--gg-ease-out) .3s forwards; }
@keyframes gg-anel { 0% { transform:scale(1); opacity:.55; } 100% { transform:scale(1.9); opacity:0; } }

.gg-plot { display:grid; grid-template-columns:auto 1fr; gap:0 12px; }
.gg-plot__eixo { display:flex; flex-direction:column; justify-content:space-between; padding:20px 0 28px; font-size:11px; font-weight:600; color:var(--gg-tinta-3); text-align:right; line-height:1; font-variant-numeric:tabular-nums; }
.gg-barras { display:flex; gap:8px; height:196px; position:relative; }
.gg-barras::before { content:""; position:absolute; left:0; right:0; top:20px; bottom:28px; pointer-events:none;
  background-image:repeating-linear-gradient(to top, var(--gg-grade) 0 1px, transparent 1px 25%); }
.gg-barras__col { flex:1; position:relative; height:100%; padding:20px 0 28px; display:flex; align-items:flex-end; justify-content:center; min-width:0; }
.gg-barras__b {
  width:var(--gg-barra); height:var(--h,20%); min-height:var(--gg-barra); border-radius:var(--gg-r-pill); background:var(--gg-serie-grad);
  position:relative; z-index:1; transform-origin:bottom;
  transition:transform var(--gg-dur-2) var(--gg-ease-out), opacity var(--gg-dur-2) var(--gg-ease-out), box-shadow var(--gg-dur-2) var(--gg-ease-out), filter var(--gg-dur-2);
}

.gg-barras__b--ativa { background:var(--gg-grad-verde-v); box-shadow:var(--gg-brilho-verde); }
.gg-barras__b--entrada { background:var(--gg-grad-sucesso-v); }
.gg-barras__b--saida { background:var(--gg-serie-grad); }
.gg-barras__b--fraca { opacity:.55; }
@media (hover: hover) {
.gg-barras:hover .gg-barras__col:not(:hover) .gg-barras__b { opacity:.4; filter:saturate(.7); }
.gg-barras__col:hover .gg-barras__b { transform:scaleY(1.03); background:var(--gg-grad-verde-v); box-shadow:var(--gg-brilho-verde); opacity:1; }
.gg-barras__col:hover .gg-barras__b--entrada { background:var(--gg-grad-sucesso-v); box-shadow:0 8px 24px -8px rgba(15,160,119,.6); }
.gg-barras__col:hover .gg-barras__l { color:var(--gg-tinta); }
}
.gg-barras__l { position:absolute; left:0; right:0; bottom:0; text-align:center; font-size:10.5px; font-weight:700; color:var(--gg-tinta-3); text-transform:uppercase; letter-spacing:.06em; transition:color var(--gg-dur-1); }
.gg-barras__tip { position:absolute; top:0; left:50%; transform:translateX(-50%) translateY(4px); z-index:2; background:var(--gg-tinta); color:var(--gg-canvas); font-size:var(--gg-t-2xs); font-weight:700; padding:4px 8px; border-radius:var(--gg-r-sm); white-space:nowrap; opacity:0; transition:opacity var(--gg-dur-2) var(--gg-ease-out), transform var(--gg-dur-2) var(--gg-ease-out); pointer-events:none; font-variant-numeric:tabular-nums; }

.gg-barras__col:hover .gg-barras__tip, .gg-barras__b--ativa ~ .gg-barras__tip { opacity:1; transform:translateX(-50%) translateY(0); }

.gg-barras__media { position:absolute; left:0; right:0; bottom:calc(28px + (100% - 48px) * var(--media,.5)); border-top:1.5px dashed var(--gg-tinta-3); pointer-events:none; z-index:1; opacity:.7; }
.gg-barras__media i { position:absolute; right:0; top:-9px; font-style:normal; font-size:10.5px; font-weight:700; color:var(--gg-tinta-2); background:var(--gg-sup-1); padding:0 7px; line-height:18px; border-radius:var(--gg-r-pill); box-shadow:inset 0 0 0 1px var(--gg-linha-sutil); }

.gg-barras__par { display:flex; gap:4px; align-items:flex-end; height:100%; justify-content:center; }

.gg-entra .gg-barras__b, .gg-barras.gg-entra .gg-barras__b { animation:gg-cresce var(--gg-dur-4) var(--gg-ease-out) both; }
.gg-barras__col:nth-child(2) .gg-barras__b { animation-delay:calc(1*var(--gg-escalonar)); }
.gg-barras__col:nth-child(3) .gg-barras__b { animation-delay:calc(2*var(--gg-escalonar)); }
.gg-barras__col:nth-child(4) .gg-barras__b { animation-delay:calc(3*var(--gg-escalonar)); }
.gg-barras__col:nth-child(5) .gg-barras__b { animation-delay:calc(4*var(--gg-escalonar)); }
.gg-barras__col:nth-child(6) .gg-barras__b { animation-delay:calc(5*var(--gg-escalonar)); }
.gg-barras__col:nth-child(7) .gg-barras__b { animation-delay:calc(6*var(--gg-escalonar)); }
.gg-barras__col:nth-child(8) .gg-barras__b { animation-delay:calc(7*var(--gg-escalonar)); }
.gg-barras__col:nth-child(9) .gg-barras__b { animation-delay:calc(8*var(--gg-escalonar)); }
.gg-barras__col:nth-child(10) .gg-barras__b { animation-delay:calc(9*var(--gg-escalonar)); }
.gg-barras__col:nth-child(11) .gg-barras__b { animation-delay:calc(10*var(--gg-escalonar)); }
.gg-barras__col:nth-child(12) .gg-barras__b { animation-delay:calc(11*var(--gg-escalonar)); }

.gg-hbar { display:grid; grid-template-columns:minmax(90px,170px) 1fr auto; gap:var(--gg-s-3); align-items:center; font-size:var(--gg-t-sm); border-radius:var(--gg-r-sm); transition:color var(--gg-dur-1); }
.gg-hbar + .gg-hbar { margin-top:14px; }

.gg-hbar > span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gg-hbar__t { height:var(--gg-barra); border-radius:var(--gg-r-pill); background:var(--gg-serie-trilho); overflow:hidden; }
.gg-hbar__f { display:block; height:100%; min-width:var(--gg-barra); border-radius:var(--gg-r-pill); background:var(--gg-serie-grad-h); transform-origin:left; transition:box-shadow var(--gg-dur-2) var(--gg-ease-out), filter var(--gg-dur-2); }
@media (hover: hover) {
.gg-hbar:hover { color:var(--gg-tinta); }
.gg-hbar:hover .gg-hbar__f { background:var(--gg-grad-verde-h); box-shadow:var(--gg-brilho-verde); }
}
.gg-entra .gg-hbar__f, .gg-hbar.gg-entra .gg-hbar__f { animation:gg-cresce-x var(--gg-dur-4) var(--gg-ease-out) both; }
.gg-hbar:nth-child(2) .gg-hbar__f { animation-delay:calc(1*var(--gg-escalonar)); }
.gg-hbar:nth-child(3) .gg-hbar__f { animation-delay:calc(2*var(--gg-escalonar)); }
.gg-hbar:nth-child(4) .gg-hbar__f { animation-delay:calc(3*var(--gg-escalonar)); }
.gg-hbar:nth-child(5) .gg-hbar__f { animation-delay:calc(4*var(--gg-escalonar)); }
.gg-hbar:nth-child(6) .gg-hbar__f { animation-delay:calc(5*var(--gg-escalonar)); }
.gg-hbar:nth-child(7) .gg-hbar__f { animation-delay:calc(6*var(--gg-escalonar)); }
.gg-hbar:nth-child(8) .gg-hbar__f { animation-delay:calc(7*var(--gg-escalonar)); }
.gg-hbar__v { font-variant-numeric:tabular-nums; min-width:64px; text-align:right; font-weight:700; }

.gg-ranking { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; counter-reset:gg-rank; }
.gg-ranking li { display:grid; grid-template-columns:20px auto minmax(0,1fr) auto; gap:12px; align-items:center; counter-increment:gg-rank; }
.gg-ranking li::before { content:counter(gg-rank); font-size:var(--gg-t-xs); font-weight:800; color:var(--gg-tinta-3); text-align:center; font-variant-numeric:tabular-nums; }
.gg-ranking li:first-child::before { color:var(--gg-acento-texto); }
.gg-ranking__nome { display:block; margin-bottom:7px; font-size:var(--gg-t-sm); font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gg-ranking .gg-hbar__t { display:block; }
.gg-ranking__v { min-width:44px; text-align:right; font-weight:800; font-variant-numeric:tabular-nums; font-size:var(--gg-t-sm); }
.gg-ranking li:first-child .gg-hbar__f { background:var(--gg-grad-verde-h); }

.gg-gauge { width:128px; height:128px; overflow:visible; }
.gg-gauge circle { fill:none; stroke-width:var(--gg-barra); stroke-linecap:round; }
.gg-gauge__trilho { stroke:var(--gg-serie-trilho); }
.gg-gauge__valor { stroke:var(--gg-serie-1); transition:stroke-dashoffset var(--gg-dur-3) var(--gg-ease-out), filter var(--gg-dur-2); }
.gg-gauge__valor--acento { stroke:url(#g-verde) #20d9a1; filter:drop-shadow(0 0 5px rgba(32,217,161,.45)); }
.gg-gauge__valor--erro { stroke:var(--gg-erro); }
@media (hover: hover) {
.gg-gauge-wrap:hover .gg-gauge__valor { filter:drop-shadow(0 0 8px rgba(32,217,161,.55)); }
.gg-gauge-wrap:hover .gg-gauge__valor--erro { filter:drop-shadow(0 0 8px rgba(224,87,75,.5)); }
.gg-gauge-wrap:hover > div { transform:scale(1.06); }
}
.gg-entra .gg-gauge__valor, .gg-gauge-wrap.gg-entra .gg-gauge__valor { animation:gg-arco 1.2s var(--gg-ease-out) both; }
.gg-gauge-wrap { position:relative; display:inline-grid; place-items:center; }
.gg-gauge-wrap > div { position:absolute; text-align:center; transition:transform var(--gg-dur-2) var(--gg-ease-spring); }

.gg-anel { position:relative; display:inline-grid; place-items:center; width:var(--gg-anel-tam, 176px); aspect-ratio:1; flex:none; }
.gg-anel svg { width:100%; height:100%; transform:rotate(-90deg); overflow:visible; }
.gg-anel circle { fill:none; stroke-width:var(--gg-barra); }
.gg-anel__trilho { stroke:var(--gg-serie-trilho); }
.gg-anel__fatia {
  stroke:var(--cor, var(--gg-serie-1)); stroke-linecap:round;
  stroke-dasharray:max(calc(var(--v) - 6), .1) 100; stroke-dashoffset:calc(-1 * (var(--o, 0) + 3));
  transition:stroke-width var(--gg-dur-2) var(--gg-ease-out), opacity var(--gg-dur-2) var(--gg-ease-out);
}
@media (hover: hover) {
.gg-anel:hover .gg-anel__fatia:not(:hover) { opacity:.4; }
.gg-anel__fatia:hover { stroke-width:calc(var(--gg-barra) + 4px); }
}
.gg-entra .gg-anel__fatia, .gg-anel.gg-entra .gg-anel__fatia { animation:gg-anel-entra 1s var(--gg-ease-out) both; }
@keyframes gg-anel-entra { from { stroke-dasharray:0 100; } }
.gg-anel__centro { position:absolute; inset:0; display:grid; place-content:center; text-align:center; pointer-events:none; }
.gg-anel__centro b { font-size:var(--gg-t-2xl); font-weight:800; letter-spacing:-.03em; line-height:1; font-variant-numeric:tabular-nums; }
.gg-anel__centro span { font-size:var(--gg-t-xs); color:var(--gg-tinta-2); margin-top:5px; }

.gg-legenda { display:flex; gap:var(--gg-s-4); flex-wrap:wrap; font-size:var(--gg-t-xs); color:var(--gg-tinta-2); }
.gg-legenda span { display:inline-flex; align-items:center; gap:7px; }
.gg-legenda i { width:10px; height:10px; border-radius:50%; display:inline-block; flex:none; background:var(--cor); }
.gg-legenda--lista { flex-direction:column; gap:12px; font-size:var(--gg-t-sm); flex:1; min-width:180px; }
.gg-legenda--lista span { display:grid; grid-template-columns:auto 1fr auto auto; gap:10px; }
.gg-legenda--lista b { font-weight:700; color:var(--gg-tinta); font-variant-numeric:tabular-nums; }
.gg-legenda--lista small { min-width:40px; text-align:right; font-size:var(--gg-t-xs); font-weight:700; color:var(--gg-tinta-3); font-variant-numeric:tabular-nums; }

.gg-composicao { display:flex; gap:3px; height:var(--gg-barra); }
.gg-composicao > span { flex:var(--p) 1 0; min-width:var(--gg-barra); border-radius:var(--gg-r-pill); background:var(--cor, var(--gg-serie-1)); transition:opacity var(--gg-dur-2) var(--gg-ease-out), transform var(--gg-dur-2) var(--gg-ease-spring); }
@media (hover: hover) {
.gg-composicao:hover > span:not(:hover) { opacity:.4; }
.gg-composicao > span:hover { transform:scaleY(1.25); }
}

.gg-calor { display:grid; grid-template-columns:34px repeat(var(--gg-calor-colunas, 12), minmax(0,1fr)); gap:5px; align-items:center; font-size:10.5px; font-weight:700; color:var(--gg-tinta-3); }
.gg-calor i { display:block; height:22px; border-radius:6px; background:var(--gg-serie-trilho); transition:transform var(--gg-dur-1) var(--gg-ease-spring), box-shadow var(--gg-dur-1); }
.gg-calor i[data-n="1"] { background:color-mix(in srgb, var(--gg-acento) 24%, var(--gg-serie-trilho)); }
.gg-calor i[data-n="2"] { background:color-mix(in srgb, var(--gg-acento) 48%, var(--gg-serie-trilho)); }
.gg-calor i[data-n="3"] { background:color-mix(in srgb, var(--gg-acento) 74%, var(--gg-serie-trilho)); }
.gg-calor i[data-n="4"] { background:var(--gg-acento); box-shadow:0 0 14px -3px rgba(32,217,161,.7); }
@media (hover: hover) {
.gg-calor i:hover { transform:scale(1.18); box-shadow:0 0 0 2px var(--gg-sup-1), 0 0 0 3.5px var(--gg-tinta); }
}
.gg-calor__h { text-align:center; font-variant-numeric:tabular-nums; }
.gg-calor__legenda { grid-column:1 / -1; display:flex; align-items:center; justify-content:flex-end; gap:5px; margin-top:12px; font-size:var(--gg-t-2xs); font-weight:700; color:var(--gg-tinta-3); }
.gg-calor__legenda i { width:14px; height:14px; border-radius:4px; display:block; }

.gg-funil { display:flex; flex-direction:column; gap:8px; }
.gg-funil__etapa { display:grid; grid-template-columns:minmax(0,1fr) minmax(120px,160px); align-items:center; gap:var(--gg-s-4); }
.gg-funil__faixa {
  width:calc(var(--p) * 1%); min-width:64px; height:44px; margin:0 auto; border-radius:14px;
  display:grid; place-items:center; font-size:var(--gg-t-sm); font-weight:800; font-variant-numeric:tabular-nums;
  background:var(--gg-tinta); color:var(--gg-canvas); transition:filter var(--gg-dur-2), transform var(--gg-dur-2) var(--gg-ease-spring);
}
.gg-funil__etapa:nth-child(2) .gg-funil__faixa { background:color-mix(in srgb, var(--gg-tinta) 68%, var(--gg-acento)); }
.gg-funil__etapa:nth-child(3) .gg-funil__faixa { background:color-mix(in srgb, var(--gg-tinta) 22%, var(--gg-acento)); color:var(--gg-sobre-acento); }
.gg-funil__etapa:nth-child(n+4) .gg-funil__faixa { background:var(--gg-grad-verde); color:var(--gg-sobre-acento); box-shadow:var(--gg-brilho-verde); }
@media (hover: hover) {
.gg-funil__etapa:hover .gg-funil__faixa { transform:scaleX(1.02); filter:brightness(1.08); }
}
.gg-funil__info { display:flex; flex-direction:column; }
.gg-funil__info b { font-size:var(--gg-t-sm); font-weight:700; }
.gg-funil__info span { font-size:var(--gg-t-xs); color:var(--gg-tinta-2); }
.gg-entra .gg-funil__faixa, .gg-funil.gg-entra .gg-funil__faixa { animation:gg-cresce-x var(--gg-dur-4) var(--gg-ease-out) both; transform-origin:center; }

.gg-spark { width:100%; height:56px; overflow:visible; }
.gg-spark path { fill:none; stroke:var(--gg-serie-1); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.gg-spark .gg-spark__area { fill:var(--gg-spark-area) var(--gg-serie-1); opacity:1; stroke:none; }
.gg-entra .gg-spark path[pathLength], .gg-spark.gg-entra path[pathLength] { stroke-dasharray:1; animation:gg-traca 1.4s var(--gg-ease-out) both; }
.gg-entra .gg-spark .gg-spark__area, .gg-spark.gg-entra .gg-spark__area { animation:gg-surge 1s var(--gg-ease-out) .5s both; }
.gg-entra .gg-spark circle, .gg-spark.gg-entra circle { animation:gg-surge .4s var(--gg-ease-out) 1.2s both; }
.gg-spark circle { fill:var(--gg-serie-1); stroke:var(--gg-sup-1); stroke-width:2; }

.gg-linha-chart { width:100%; height:230px; overflow:visible; }
.gg-linha-chart .grade { stroke:var(--gg-grade); stroke-width:1; }
.gg-linha-chart .eixo { font-size:10.5px; font-weight:600; fill:var(--gg-tinta-3); }
.gg-linha-chart .serie { fill:none; stroke:var(--gg-serie-1); stroke-width:3; stroke-linejoin:round; stroke-linecap:round; }
.gg-linha-chart .serie--comparacao { stroke:var(--gg-tinta-3); stroke-width:2; stroke-dasharray:5 6; }
.gg-linha-chart .area { fill:var(--gg-spark-area) var(--gg-serie-1); stroke:none; }
.gg-linha-chart .ponto { fill:var(--gg-sup-1); stroke:var(--gg-serie-1); stroke-width:2.5; cursor:default; transition:r var(--gg-dur-2) var(--gg-ease-spring); }
.gg-linha-chart .ponto--destaque { fill:var(--gg-acento); stroke:var(--gg-sup-1); stroke-width:3; filter:drop-shadow(0 0 6px rgba(32,217,161,.6)); }
@media (hover: hover) {
.gg-linha-chart .ponto:hover { r:7; }
}
.gg-entra .gg-linha-chart .serie[pathLength], .gg-linha-chart.gg-entra .serie[pathLength] { stroke-dasharray:1; animation:gg-traca 1.4s var(--gg-ease-out) both; }
.gg-entra .gg-linha-chart .area, .gg-linha-chart.gg-entra .area { animation:gg-surge 1s var(--gg-ease-out) .5s both; }

.gg-mt-1 { margin-top:var(--gg-s-1); }
.gg-mt-2 { margin-top:var(--gg-s-2); }
.gg-mt-4 { margin-top:var(--gg-s-4); }
.gg-mt-6 { margin-top:var(--gg-s-6); }
.gg-mt-8 { margin-top:var(--gg-s-8); }
.gg-mb-2 { margin-bottom:var(--gg-s-2); }
.gg-mb-4 { margin-bottom:var(--gg-s-4); }
.gg-mb-6 { margin-bottom:var(--gg-s-6); }
.gg-gap-2 { gap:var(--gg-s-2); }
.gg-gap-3 { gap:var(--gg-s-3); }

.gg-cresce { flex:1 1 auto; min-width:0; }
.gg-flex-1 { flex:1; min-width:0; }
.gg-direita { text-align:right; }
.gg-centro { text-align:center; }
.gg-bloco { display:block; }
.gg-suave { color:var(--gg-tinta-2); }
.gg-fraco { color:var(--gg-tinta-3); }
.gg-oculto { display:none !important; }
.gg-so-leitor { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
@media (max-width:860px) {
.gg-esconde-mobile { display:none !important; }
}
@media (min-width:861px) {
.gg-so-mobile { display:none !important; }
}

.gg-select-rico { position:relative; }
.gg-select-rico--pronto > select {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.gg-select-rico--aberto { z-index:var(--gg-z-menu); }
.gg-select-rico__btn {
  --gg-foco-cor:var(--gg-tinta-2);
  display:flex; align-items:center; gap:var(--gg-s-2); width:100%;
  min-height:var(--gg-campo-h); padding:0 var(--gg-s-4);
  background:var(--gg-sup-1); color:var(--gg-tinta);
  border:1px solid var(--gg-linha-forte); border-radius:var(--gg-r-md);
  font:inherit; font-size:var(--gg-t-md); text-align:left; cursor:pointer;
  transition:border-color var(--gg-dur-1) var(--gg-ease);
}
@media (hover: hover) {
  .gg-select-rico__btn:hover { border-color:var(--gg-tinta-3); }
}
.gg-select-rico__btn[aria-expanded="true"] { border-color:var(--gg-tinta-3); }
.gg-select-rico__btn:focus-visible {
  outline:none; border-color:var(--gg-foco-cor); box-shadow:var(--gg-foco-anel);
}
.gg-select-rico__btn:disabled { background:var(--gg-sup-3); color:var(--gg-tinta-3); cursor:not-allowed; }
.gg-select-rico__texto { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gg-select-rico__seta { color:var(--gg-linha-forte); transition:color var(--gg-dur-1) var(--gg-ease), transform var(--gg-dur-1); }
.gg-select-rico__btn[aria-expanded="true"] .gg-select-rico__seta { transform:rotate(180deg); }
@media (hover: hover) {
  .gg-select-rico:not(.gg-select--prefixo, .gg-input-grupo--tel > *) > .gg-select-rico__btn:hover .gg-select-rico__seta { color:var(--gg-tinta-3); }
}
.gg-select-rico:not(.gg-select--prefixo, .gg-input-grupo--tel > *) > .gg-select-rico__btn[aria-expanded="true"] .gg-select-rico__seta { color:var(--gg-tinta-3); }
.gg-select-rico:not(.gg-select--prefixo, .gg-input-grupo--tel > *) > .gg-select-rico__btn:focus-visible .gg-select-rico__seta { color:var(--gg-foco-cor); }
.gg-select-rico__marca { font-size:1.05em; line-height:1; flex:none; }
.gg-select-rico__pop {
  position:fixed; z-index:var(--gg-z-toast); left:0; width:auto; min-width:11rem;
  background:var(--gg-sup-1); border:1px solid var(--gg-linha);
  border-radius:var(--gg-r-md); box-shadow:var(--gg-flutuante);
  padding:var(--gg-s-2); display:flex; flex-direction:column; gap:var(--gg-s-2);
  max-height:min(340px, 60vh);
  font-family:var(--gg-sans); font-size:var(--gg-t-md); color:var(--gg-tinta);
}
.gg-select-rico__pop--acima { transform-origin:bottom center; }
.gg-select-rico__busca { position:relative; display:flex; align-items:center; flex:none; }
.gg-select-rico__pop--sem-busca .gg-select-rico__busca {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.gg-select-rico__busca .gg-ico {
  position:absolute; left:12px; color:var(--gg-tinta-3); pointer-events:none;
}
.gg-select-rico__busca .gg-input {
  padding-left:38px; background:var(--gg-sup-2); border-color:transparent;
  font:inherit;
}
@media (pointer: coarse) {
.gg-select-rico__busca .gg-input { font-size:var(--gg-t-base); }
}
@media (hover: hover) {
  .gg-select-rico__busca .gg-input:hover { border-color:var(--gg-linha); }
}
.gg-select-rico__busca .gg-input:focus { border-color:var(--gg-linha-forte); box-shadow:none; }
.gg-select-rico__barra {
  flex:none; display:flex; align-items:center; justify-content:space-between;
  gap:var(--gg-s-2); padding:5px 6px 5px 12px;
  background:var(--gg-sup-2); border-radius:var(--gg-r-sm);
  margin:0 4px 4px;
}
.gg-select-rico__conta {
  font-size:var(--gg-t-xs); color:var(--gg-tinta-3);
  letter-spacing:var(--gg-ls-snug);
}
.gg-select-rico__limpar {
  display:inline-flex; align-items:center; gap:4px;
  padding:2px 8px; border:0; border-radius:var(--gg-r-pill);
  background:var(--gg-vidro); color:var(--gg-tinta-2);
  box-shadow:var(--gg-inset);
  font-weight:500; cursor:pointer;
  transition:background var(--gg-dur-1) var(--gg-ease),
             box-shadow var(--gg-dur-1) var(--gg-ease),
             color      var(--gg-dur-1) var(--gg-ease);
}
.gg-select-rico__limpar .gg-ico { width:11px; height:11px; stroke-width:2.2; }
.gg-select-rico__barra .gg-select-rico__limpar {
  font-size:var(--gg-t-2xs);
}
@media (hover: hover) {
  .gg-select-rico__limpar:hover {
  background:var(--gg-vidro); color:var(--gg-tinta); box-shadow:inset 0 0 0 1px var(--gg-linha-forte);
}
}
.gg-select-rico__limpar:focus-visible {
  outline:none;
  background:var(--gg-vidro); color:var(--gg-tinta);
  box-shadow:inset 0 0 0 1px var(--gg-linha-forte), var(--gg-foco-anel);
}
.gg-select-rico__lista { overflow-y:auto; display:flex; flex-direction:column; gap:1px; }
.gg-select-rico__op {
  position:relative;
  display:flex; align-items:center; gap:var(--gg-s-2);
  padding:8px 10px 8px 18px; border-radius:var(--gg-r-sm); cursor:pointer;
  color:var(--gg-tinta); line-height:1.3;
}
.gg-select-rico__op:hover,
.gg-select-rico__op.ativo {
  background-image:linear-gradient(var(--gg-halo), var(--gg-halo));
}
.gg-select-rico__op[aria-disabled="true"] {
  color:var(--gg-tinta-3);
  cursor:default;
  background-image:none;
}
@media (hover: hover) {
  .gg-select-rico__op[aria-disabled="true"]:hover {
  background-image:none;
}
}
.gg-select-rico__op[aria-selected="true"] {
  font-weight:500;
  background-image:linear-gradient(90deg,
    color-mix(in srgb, var(--gg-acento-suave) 45%, transparent) 0%, transparent 52%);
}
.gg-select-rico__op[aria-selected="true"]::before {
  content:""; position:absolute; left:4px; top:50%; transform:translateY(-50%);
  width:3px; height:18px; border-radius:var(--gg-r-pill);
  background:var(--gg-acento);
}
.gg-select-rico__op[aria-selected="true"]:hover,
.gg-select-rico__op[aria-selected="true"].ativo {
  background-image:
    linear-gradient(var(--gg-halo), var(--gg-halo)),
    linear-gradient(90deg,
      color-mix(in srgb, var(--gg-acento-suave) 45%, transparent) 0%, transparent 52%);
}
.gg-select-rico__img { flex:none; display:block; border-radius:3px; }
.gg-select-rico__rot { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gg-select-rico__apoio {
  flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  color:var(--gg-tinta-2); font-size:var(--gg-t-xs);
}
.gg-input-grupo--prefixo:has(> .gg-select--prefixo) {
  --gg-moeda-seg:calc(var(--gg-t-sm) * 1.8 + var(--gg-s-3) + var(--gg-s-2) * 2 + 12px);
}
.gg-input-grupo--prefixo > .gg-select--prefixo {
  position:absolute; top:1px; bottom:1px; left:1px; width:var(--gg-moeda-seg); z-index:1; display:flex;
}
.gg-select--prefixo .gg-select-rico__btn {
  width:100%; min-width:0; min-height:0; height:100%;
  padding:0 var(--gg-s-2) 0 var(--gg-s-3); gap:var(--gg-s-2); justify-content:space-between;
  background:color-mix(in srgb, var(--gg-tinta) 4%, var(--gg-sup-1)); border:0; box-shadow:none; cursor:pointer;
  border-radius:calc(var(--gg-r-md) - 1px) 0 0 calc(var(--gg-r-md) - 1px);
  font-family:var(--gg-sans); font-size:var(--gg-t-sm); color:var(--gg-tinta);
  transition:background var(--gg-dur-1) var(--gg-ease), color var(--gg-dur-1) var(--gg-ease);
}
.gg-select--prefixo .gg-select-rico__curto {
  flex:none; width:3ch; text-align:center;
}
.gg-select--prefixo .gg-select-rico__seta {
  position:static; width:12px; height:12px; color:var(--gg-tinta);
  transition:color var(--gg-dur-1) var(--gg-ease), transform var(--gg-dur-1);
}
.gg-input-grupo--prefixo:has(> .gg-input:placeholder-shown) > .gg-select--prefixo .gg-select-rico__btn,
.gg-input-grupo--prefixo:has(> .gg-input:placeholder-shown) > .gg-select--prefixo .gg-select-rico__seta { color:var(--gg-tinta-3); }
.gg-input-grupo--prefixo:has(> .gg-select--prefixo .gg-select-rico__btn:disabled) { --gg-moeda-seg:calc(var(--gg-t-sm) * 1.8 + var(--gg-s-3)); }
.gg-input-grupo--prefixo > .gg-select--prefixo:has(.gg-select-rico__btn:disabled) { pointer-events:none; }
.gg-select--prefixo .gg-select-rico__btn:disabled { padding-right:0; background:transparent; color:var(--gg-tinta); cursor:default; }
.gg-select--prefixo .gg-select-rico__btn:disabled .gg-select-rico__seta { display:none; }
.gg-input-grupo--prefixo:focus-within > .gg-select--prefixo .gg-select-rico__btn:disabled { color:var(--gg-tinta); }
@media (hover: hover) {
  .gg-input-grupo--prefixo:has(> .gg-select--prefixo):not(:has(.gg-select-rico__btn:focus-visible)):hover .gg-input:not(:focus):not([aria-invalid="true"]) { border-color:var(--gg-tinta-3); }
}
.gg-select--prefixo .gg-select-rico__btn:focus-visible {
  outline:none; background:color-mix(in srgb, var(--gg-foco-cor) 14%, transparent);
}
.gg-input-grupo--prefixo:has(.gg-select-rico__btn:focus-visible) .gg-input {
  border-color:var(--gg-foco-cor); box-shadow:var(--gg-foco-anel);
}
.gg-input-grupo--prefixo:has(> .gg-select--prefixo) .gg-input { padding-left:calc(var(--gg-moeda-seg) + var(--gg-s-3)); }
.gg-select-rico__pop--prefixo .gg-select-rico__op { flex-wrap:wrap; }
.gg-select-rico__pop--prefixo .gg-select-rico__apoio {
  flex-basis:100%; order:1; padding-left:calc(1.3em + var(--gg-s-2));
}
.gg-select-rico__retrato { width:24px; height:24px; font-size:9px; }
.gg-select-rico__tel {
  flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  font-family:var(--gg-sans); font-size:var(--gg-t-2xs); font-variant-numeric:tabular-nums;
  color:var(--gg-tinta-3); letter-spacing:-.01em;
}
.gg-select-rico__btn .gg-select-rico__retrato,
.gg-select-rico__tag .gg-select-rico__retrato { width:20px; height:20px; font-size:8px; }
.gg-select-rico__acao {
  position:relative; flex:none;
  display:inline-flex; align-items:center; justify-content:center;
  width:18px; height:18px; border-radius:var(--gg-r-sm);
  color:var(--gg-tinta-3);
  transition:background var(--gg-dur-1) var(--gg-ease),
             box-shadow var(--gg-dur-1) var(--gg-ease),
             color      var(--gg-dur-1) var(--gg-ease);
}
.gg-select-rico__acao .gg-ico {
  position:absolute; top:0; right:0; bottom:0; left:0; margin:auto;
  width:13px; height:13px;
  opacity:0; transform:scale(.72);
  transition:opacity   var(--gg-dur-1) var(--gg-ease),
             transform var(--gg-dur-2) var(--gg-ease-spring);
}
.gg-select-rico__acao-x { stroke-width:2; }
.gg-select-rico__op[aria-selected="true"] .gg-select-rico__acao { color:var(--gg-hover-tinta); }
.gg-select-rico__op[aria-selected="true"] .gg-select-rico__acao-v { opacity:1; transform:none; }
.gg-select-rico__lista[aria-multiselectable="true"] .gg-select-rico__op:not([aria-selected="true"]):hover .gg-select-rico__acao-v,
.gg-select-rico__lista[aria-multiselectable="true"] .gg-select-rico__op:not([aria-selected="true"]).ativo .gg-select-rico__acao-v {
  opacity:.4; transform:none;
}
.gg-select-rico__lista[aria-multiselectable="true"] .gg-select-rico__op[aria-selected="true"]:hover .gg-select-rico__acao,
.gg-select-rico__lista[aria-multiselectable="true"] .gg-select-rico__op[aria-selected="true"].ativo .gg-select-rico__acao {
  background:var(--gg-vidro); box-shadow:var(--gg-inset); color:var(--gg-tinta);
}
.gg-select-rico__lista[aria-multiselectable="true"] .gg-select-rico__op[aria-selected="true"]:hover .gg-select-rico__acao-v,
.gg-select-rico__lista[aria-multiselectable="true"] .gg-select-rico__op[aria-selected="true"].ativo .gg-select-rico__acao-v {
  opacity:0; transform:scale(.72);
}
.gg-select-rico__lista[aria-multiselectable="true"] .gg-select-rico__op[aria-selected="true"]:hover .gg-select-rico__acao-x,
.gg-select-rico__lista[aria-multiselectable="true"] .gg-select-rico__op[aria-selected="true"].ativo .gg-select-rico__acao-x {
  opacity:1; transform:none;
}
@media (hover:none) {
  .gg-select-rico__lista[aria-multiselectable="true"] .gg-select-rico__op[aria-selected="true"] .gg-select-rico__acao {
    background:var(--gg-vidro); box-shadow:var(--gg-inset); color:var(--gg-tinta);
  }
  .gg-select-rico__lista[aria-multiselectable="true"] .gg-select-rico__op[aria-selected="true"] .gg-select-rico__acao-v {
    opacity:0; transform:scale(.72);
  }
  .gg-select-rico__lista[aria-multiselectable="true"] .gg-select-rico__op[aria-selected="true"] .gg-select-rico__acao-x {
    opacity:1; transform:none;
  }
}
.gg-select-rico__nada { margin:0; padding:10px; text-align:center; color:var(--gg-tinta-2); font-size:var(--gg-t-sm); }
.gg-select-rico--multi .gg-select-rico__btn {
  height:auto; min-height:var(--gg-campo-h);
  padding-top:8px; padding-bottom:8px;
  align-items:center;
}
.gg-select-rico__tags { display:flex; flex-wrap:wrap; gap:5px; flex:1; min-width:0; }
.gg-select-rico__tag {
  display:inline-flex; align-items:center; gap:6px;
  height:var(--gg-selo-h); padding:0 4px 0 8px;
  border-radius:var(--gg-r-sm); background:var(--gg-sup-2);
  border:1px solid var(--gg-linha-sutil); color:var(--gg-tinta);
  font-size:var(--gg-t-xs); font-weight:400; white-space:nowrap; max-width:100%;
}
.gg-select-rico__tag .gg-ico { width:14px; height:14px; flex:none; }
.gg-select-rico__tagrot { overflow:hidden; text-overflow:ellipsis; }
.gg-select-rico__x {
  display:inline-flex; align-items:center; justify-content:center;
  flex:none; width:18px; height:18px; border-radius:var(--gg-r-sm);
  color:var(--gg-tinta-3); cursor:pointer;
  transition:background var(--gg-dur-1), color var(--gg-dur-1);
}
.gg-select-rico__x .gg-ico { width:11px; height:11px; stroke-width:2; }
@media (hover: hover) {
  .gg-select-rico__x:hover { background:var(--gg-sup-3); color:var(--gg-tinta); }
}
.gg-select-rico__texto--vazio { color:var(--gg-tinta-3); }
.gg-select-rico:not(.gg-select--prefixo, .gg-input-grupo--tel > *):has(> [aria-invalid="true"]) > .gg-select-rico__btn .gg-select-rico__seta { color:var(--gg-erro); }
.gg-input-grupo--tel > .gg-select-rico {
  position:absolute; inset:0 auto 0 0; width:72px; z-index:2;
}
.gg-input-grupo--tel > .gg-select-rico > .gg-select-rico__btn {
  min-height:0; height:100%; padding:0 var(--gg-s-3) 0 var(--gg-s-4);
  background:transparent; border:0; border-radius:var(--gg-r-md) 0 0 var(--gg-r-md);
}
.gg-input-grupo--tel .gg-select-rico__texto { display:none; }
.gg-input-grupo--tel .gg-select-rico__seta {
  position:static; margin-left:auto; pointer-events:none;
  color:var(--gg-linha-forte);
}
.gg-input-grupo--tel .gg-select-rico__btn:focus-visible {
  outline:none; box-shadow:none;
  background:color-mix(in srgb, var(--gg-foco-cor) 14%, transparent);
}
.gg-input-grupo--tel:has(.gg-select-rico__btn:focus-visible) .gg-input {
  border-color:var(--gg-foco-cor); box-shadow:var(--gg-foco-anel);
}
.gg-input-grupo--tel:has(input[data-gg-tel]:hover) .gg-select-rico__seta { color:var(--gg-tinta-3); }
.gg-input-grupo--tel:has(input[data-gg-tel]:focus) .gg-select-rico__seta { color:var(--gg-foco-cor); }
.gg-input-grupo--tel:has(button.gg-select-rico__btn:focus-visible) .gg-select-rico__seta { color:var(--gg-foco-cor); }
.gg-input-grupo--tel:has(input[data-gg-tel][aria-invalid="true"]) .gg-select-rico__seta { color:var(--gg-erro); }
.gg-select-rico__bandeira { flex:none; border-radius:2px; }
.gg-btn--enviando { cursor:progress; }
.gg-btn--enviando:disabled, .gg-btn--enviando[aria-disabled="true"] {
  opacity:.72; cursor:progress; text-shadow:none;
}
.gg-btn--primario.gg-btn--enviando:disabled,
.gg-btn--primario.gg-btn--enviando[aria-disabled="true"] {
  background:var(--gg-grad-verde); background-size:160% 160%; background-position:0% 50%;
  color:var(--gg-sobre-acento); box-shadow:none;
}
.gg-btn--secundario.gg-btn--enviando:disabled,
.gg-btn--secundario.gg-btn--enviando[aria-disabled="true"] { color:var(--gg-tinta); }
.gg-btn--fantasma.gg-btn--enviando:disabled,
.gg-btn--fantasma.gg-btn--enviando[aria-disabled="true"] { color:var(--gg-tinta-2); }
.gg-btn--perigo-solido.gg-btn--enviando:disabled,
.gg-btn--perigo-solido.gg-btn--enviando[aria-disabled="true"] { color:#fff; }
.gg-btn__roda {
  flex:none; width:1.1em; height:1.1em; border-radius:50%;
  background:conic-gradient(from 0deg,
    transparent 0deg,
    color-mix(in srgb, currentColor 10%, transparent) 90deg,
    currentColor 330deg,
    currentColor 360deg);
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 2.5px), #000 calc(100% - 2.5px));
          mask:radial-gradient(farthest-side, transparent calc(100% - 2.5px), #000 calc(100% - 2.5px));
  animation:gg-gira .8s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .gg-btn__roda { animation-duration:2.4s; }
}
.gg-btn--enviando .gg-ico { display:none; }

.gg-grafismo {
  position:absolute; z-index:-1; pointer-events:none; display:block; flex:none;
  width:var(--gg-grafismo, 480px); height:auto; aspect-ratio:1; color:var(--gg-acento);
}

.gg-grafismo--baixo-direita { right:calc(var(--gg-grafismo, 480px) * -.34); bottom:calc(var(--gg-grafismo, 480px) * -.36); }
.gg-grafismo--cima-direita  { right:calc(var(--gg-grafismo, 480px) * -.32); top:calc(var(--gg-grafismo, 480px) * -.4); }
.gg-grafismo--baixo-esquerda{ left:calc(var(--gg-grafismo, 480px) * -.36); bottom:calc(var(--gg-grafismo, 480px) * -.34); }

.gg-grafismo--fio { opacity:.18; }
.gg-grafismo--fraco { opacity:.1; }
.gg-grafismo-palco { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
@media (max-width:900px) { .gg-grafismo { --gg-grafismo:300px; } }

.gg-marca { display:grid; width:fit-content; }
.gg-marca > * { grid-area:1/1; transition:opacity var(--gg-dur-2) var(--gg-ease), visibility var(--gg-dur-2); }
.gg-marca__escura { opacity:0; visibility:hidden; }
:root[data-theme="dark"] .gg-marca__clara, :is(.gg-tema-escuro, .gg-sidebar) .gg-marca__clara { opacity:0; visibility:hidden; }
:root[data-theme="dark"] .gg-marca__escura, :is(.gg-tema-escuro, .gg-sidebar) .gg-marca__escura { opacity:1; visibility:visible; }
@media (prefers-color-scheme:dark) {
  :root:not([data-theme="light"]) .gg-marca__clara { opacity:0; visibility:hidden; }
  :root:not([data-theme="light"]) .gg-marca__escura { opacity:1; visibility:visible; }
}
.gg-tema-claro .gg-marca__clara { opacity:1; visibility:visible; }
.gg-tema-claro .gg-marca__escura { opacity:0; visibility:hidden; }
.gg-auth__marca img { height:32px; width:auto; }

.gg-link { color:var(--gg-link); font-weight:600; text-decoration:none; }
@media (hover: hover) {
.gg-link:hover { text-decoration:underline; text-underline-offset:3px; }
}
.gg-link:focus-visible { border-radius:var(--gg-r-sm); }

.gg-btn--suave { background:var(--gg-acento-suave); color:var(--gg-acento-texto); --gg-foco-cor:var(--gg-acento); }
@media (hover: hover) {
.gg-btn--suave:hover { background:color-mix(in srgb, var(--gg-acento) 30%, transparent); }
}

.gg-btn--ia {
  border:1.5px solid transparent; color:var(--gg-tinta); --gg-foco-cor:var(--gg-azul);
  background:linear-gradient(var(--gg-sup-1), var(--gg-sup-1)) padding-box,
             linear-gradient(115deg, var(--gg-acento) 0%, var(--gg-azul) 50%, var(--gg-acento) 100%) border-box;
  background-size:100% 100%, 220% 100%; background-position:0 0, 0 0;
  transition:background-position var(--gg-dur-4) var(--gg-ease-out), transform var(--gg-dur-2) var(--gg-ease-out), box-shadow var(--gg-dur-2) var(--gg-ease-out);
}
.gg-btn--ia .gg-ico { color:var(--gg-acento-texto); }
@media (hover: hover) {
.gg-btn--ia:hover { background-position:0 0, 100% 0; box-shadow:0 10px 22px -12px rgba(67,97,238,.6); }
}
.gg-btn--link { height:auto; padding:0; border:0; background:none; color:var(--gg-link); font-weight:700; }
.gg-btn--link::before { display:none; }
@media (hover: hover) {
.gg-btn--link:hover { transform:none; text-decoration:underline; text-underline-offset:3px; }
}
.gg-kbd {
  display:inline-grid; place-items:center; min-width:22px; height:22px; padding:0 6px; border-radius:6px;
  font-size:11px; font-weight:700; color:var(--gg-tinta-2); background:var(--gg-sup-1);
  box-shadow:inset 0 0 0 1px var(--gg-linha-forte), inset 0 -2px 0 var(--gg-linha);
}

.gg-form-secao { display:flex; flex-direction:column; gap:4px; padding-bottom:var(--gg-s-4); margin-bottom:var(--gg-s-5); border-bottom:1px solid var(--gg-linha-sutil); }
.gg-form-secao .gg-apoio { max-width:62ch; }

.gg-dados { display:grid; grid-template-columns:max-content minmax(0,1fr); gap:12px var(--gg-s-6); margin:0; font-size:var(--gg-t-sm); }
.gg-dados dt { color:var(--gg-tinta-2); }
.gg-dados dd { margin:0; font-weight:600; min-width:0; overflow-wrap:anywhere; }

.gg-ajustes { display:flex; flex-direction:column; border-radius:var(--gg-r-lg); background:var(--gg-sup-1); box-shadow:var(--gg-inset); overflow:hidden; }
.gg-ajuste { position:relative; display:flex; align-items:center; gap:var(--gg-s-4); padding:var(--gg-s-4) var(--gg-s-5); cursor:pointer; transition:background var(--gg-dur-1) var(--gg-ease); }
.gg-ajustes > .gg-ajuste + .gg-ajuste { box-shadow:inset 0 1px 0 var(--gg-linha-sutil); }
@media (hover: hover) {
.gg-ajuste:hover { background:var(--gg-sup-2); }
}
.gg-ajuste__ico {
  width:40px; height:40px; flex:none; display:grid; place-items:center; border-radius:var(--gg-r-bolha);
  background:var(--gg-vidro); color:var(--gg-tinta-2); box-shadow:inset 0 0 0 1px var(--gg-linha-sutil);
  transition:background var(--gg-dur-2) var(--gg-ease), color var(--gg-dur-2) var(--gg-ease);
}
.gg-ajuste:has(input:checked) .gg-ajuste__ico { background:var(--gg-acento-suave); color:var(--gg-acento-texto); box-shadow:none; }
.gg-ajuste__txt { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.gg-ajuste__txt b { font-weight:700; font-size:var(--gg-t-md); }
.gg-ajuste__txt small { font-size:var(--gg-t-sm); color:var(--gg-tinta-2); line-height:1.45; }
.gg-ajuste:has(input:disabled) { cursor:not-allowed; opacity:.6; }

.gg-checklist { border-radius:var(--gg-r-lg); background:var(--gg-sup-1); box-shadow:var(--gg-inset); overflow:hidden; }
.gg-checklist__topo { display:flex; align-items:center; gap:var(--gg-s-3); flex-wrap:wrap; padding:var(--gg-s-3); border-bottom:1px solid var(--gg-linha-sutil); background:var(--gg-sup-2); }
.gg-checklist__topo .gg-input-grupo { flex:1 1 220px; }
.gg-checklist__conta { margin-left:auto; font-size:var(--gg-t-xs); font-weight:700; color:var(--gg-tinta-2); white-space:nowrap; font-variant-numeric:tabular-nums; }
.gg-checklist__conta b { color:var(--gg-acento-texto); }
.gg-checklist__lista { max-height:var(--gg-checklist-altura, 300px); overflow-y:auto; padding:6px; display:flex; flex-direction:column; gap:2px; scrollbar-width:thin; }
.gg-checklist__item { position:relative; display:flex; align-items:center; gap:12px; padding:9px 10px; border-radius:var(--gg-r-md); cursor:pointer; transition:background var(--gg-dur-1) var(--gg-ease); }
@media (hover: hover) {
.gg-checklist__item:hover { background:var(--gg-vidro); }
}
.gg-checklist__item:has(input:checked) { background:color-mix(in srgb, var(--gg-acento) 10%, transparent); }
.gg-checklist__t { flex:1; min-width:0; display:flex; flex-direction:column; font-size:var(--gg-t-md); font-weight:600; }
.gg-checklist__t small { font-size:var(--gg-t-xs); font-weight:500; color:var(--gg-tinta-2); }
.gg-checklist__nada { margin:0; padding:var(--gg-s-6); text-align:center; font-size:var(--gg-t-sm); color:var(--gg-tinta-2); }

.gg-filtros { display:flex; flex-wrap:wrap; align-items:flex-end; gap:var(--gg-s-3); padding:var(--gg-s-4); border-radius:var(--gg-r-lg); background:var(--gg-sup-1); box-shadow:var(--gg-inset); }
.gg-filtros > .gg-campo { flex:1 1 170px; min-width:150px; }
.gg-filtros > .gg-campo--busca { flex:2 1 260px; }
.gg-filtros__acoes { display:flex; gap:var(--gg-s-2); margin-left:auto; }
.gg-filtros__ativos { display:flex; flex-wrap:wrap; align-items:center; gap:var(--gg-s-2); margin-top:var(--gg-s-3); font-size:var(--gg-t-xs); color:var(--gg-tinta-2); }
.gg-filtro-ativo { display:inline-flex; align-items:center; gap:6px; height:28px; padding:0 5px 0 12px; border-radius:var(--gg-r-pill); background:var(--gg-tinta); color:var(--gg-canvas); font-size:var(--gg-t-xs); font-weight:600; animation:gg-pop var(--gg-dur-2) var(--gg-ease-spring); }
.gg-filtro-ativo button, .gg-filtro-ativo a { width:20px; height:20px; border:0; border-radius:50%; display:grid; place-items:center; background:color-mix(in srgb, var(--gg-canvas) 16%, transparent); color:inherit; cursor:pointer; }
.gg-filtro-ativo .gg-ico { width:12px; height:12px; }

.gg-sanfona { border-radius:var(--gg-r-lg); background:var(--gg-sup-1); box-shadow:var(--gg-inset); overflow:hidden; }
.gg-sanfona + .gg-sanfona { margin-top:var(--gg-s-2); }
.gg-sanfona > summary { list-style:none; display:flex; align-items:center; gap:var(--gg-s-4); padding:var(--gg-s-4) var(--gg-s-5); cursor:pointer; transition:background var(--gg-dur-1) var(--gg-ease); }
.gg-sanfona > summary::-webkit-details-marker { display:none; }
@media (hover: hover) {
.gg-sanfona > summary:hover { background:var(--gg-sup-2); }
}
.gg-sanfona > summary:focus-visible { outline:none; box-shadow:inset 0 0 0 2px var(--gg-foco); }
.gg-sanfona[open] > summary { box-shadow:inset 0 -1px 0 var(--gg-linha-sutil); }
.gg-sanfona__txt { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.gg-sanfona__txt b { font-weight:700; }
.gg-sanfona__txt small { font-size:var(--gg-t-sm); color:var(--gg-tinta-2); }
.gg-sanfona__seta { width:18px; height:18px; flex:none; color:var(--gg-tinta-3); transition:transform var(--gg-dur-2) var(--gg-ease-spring); }
.gg-sanfona[open] > summary .gg-sanfona__seta { transform:rotate(180deg); }
.gg-sanfona__corpo { padding:var(--gg-s-5); animation:gg-sobe var(--gg-dur-2) var(--gg-ease-out); }

.gg-compositor { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr); gap:var(--gg-s-5); align-items:start; }
@media (max-width:900px) {
.gg-compositor { grid-template-columns:minmax(0,1fr); }
}
.gg-compositor__campo { border-radius:var(--gg-r-lg); background:var(--gg-sup-1); box-shadow:inset 0 0 0 1px var(--gg-linha-forte); overflow:hidden; transition:box-shadow var(--gg-dur-2) var(--gg-ease-out); }
.gg-compositor__campo:focus-within { box-shadow:inset 0 0 0 1px var(--gg-acento), 0 0 0 4px var(--gg-acento-suave); }
.gg-compositor__texto { display:block; width:100%; min-height:160px; padding:var(--gg-s-4) var(--gg-s-5); border:0; resize:vertical; background:transparent; color:var(--gg-tinta); font:inherit; font-size:var(--gg-t-texto); line-height:1.6; outline:none; }
.gg-compositor__texto::placeholder { color:var(--gg-tinta-3); }
.gg-compositor__vars { display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:0 var(--gg-s-5) var(--gg-s-3); }
.gg-compositor__vars .gg-rotulo { margin-right:4px; }
.gg-compositor__barra { display:flex; align-items:center; gap:var(--gg-s-2); padding:var(--gg-s-2) var(--gg-s-3); border-top:1px solid var(--gg-linha-sutil); background:var(--gg-sup-2); }
.gg-compositor__conta { margin-left:auto; padding-right:6px; font-size:var(--gg-t-xs); font-weight:700; color:var(--gg-tinta-3); font-variant-numeric:tabular-nums; }
.gg-compositor__conta--perto { color:var(--gg-atencao-texto); }
.gg-compositor__conta--passou { color:var(--gg-erro-texto); }

.gg-previa { border-radius:var(--gg-r-xl); overflow:hidden; background:var(--gg-sup-2); box-shadow:var(--gg-inset); }
.gg-previa__topo { display:flex; align-items:center; gap:10px; padding:12px 16px; background:var(--gg-sup-1); box-shadow:inset 0 -1px 0 var(--gg-linha-sutil); font-size:var(--gg-t-sm); }
.gg-previa__topo b { font-weight:700; }
.gg-previa__corpo {
  min-height:200px; padding:var(--gg-s-5) var(--gg-s-4); display:flex; flex-direction:column; justify-content:flex-end; gap:10px;
  background-image:radial-gradient(circle at 1px 1px, var(--gg-linha) 1px, transparent 0); background-size:18px 18px;
}
.gg-previa .gg-bolha { max-width:92%; white-space:pre-wrap; overflow-wrap:anywhere; }
.gg-previa .gg-bolha--bot { background:var(--gg-sup-1); }

.gg-previa mark { padding:0; border-radius:3px; color:inherit; background:color-mix(in srgb, var(--gg-acento) 24%, transparent); box-shadow:0 0 0 2px color-mix(in srgb, var(--gg-acento) 24%, transparent); }
.gg-previa__vazia { color:var(--gg-tinta-3); font-style:italic; }
.gg-previa__midia { display:block; height:128px; margin:-4px -8px 10px; border-radius:12px; background:linear-gradient(135deg, var(--gg-profundo-700), var(--gg-profundo-900)); position:relative; overflow:hidden; }
.gg-previa__midia::after { content:""; position:absolute; right:-24px; bottom:-30px; width:120px; height:120px; background:var(--gg-g-verde) center / contain no-repeat; }

.gg-copiavel { display:flex; align-items:center; gap:6px; min-width:0; padding:5px 5px 5px 14px; border-radius:var(--gg-r-md); background:var(--gg-sup-2); box-shadow:inset 0 0 0 1px var(--gg-linha); }
.gg-copiavel > .gg-ico { flex:none; width:18px; height:18px; color:var(--gg-tinta-3); }
.gg-copiavel__valor { flex:1; min-width:0; padding:6px 4px; border:0; background:none; color:var(--gg-tinta); font-family:var(--gg-mono); font-size:var(--gg-t-sm); text-overflow:ellipsis; outline:none; }
.gg-copiavel .gg-btn { flex:none; }
.gg-btn--copiado, .gg-btn--copiado:hover { background:var(--gg-acento); color:var(--gg-sobre-acento); border-color:transparent; box-shadow:none; }

.gg-upload {
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; text-align:center;
  padding:var(--gg-s-8) var(--gg-s-6); border-radius:var(--gg-r-lg); border:1.5px dashed var(--gg-linha-forte); background:var(--gg-sup-2); cursor:pointer;
  transition:border-color var(--gg-dur-1) var(--gg-ease), background var(--gg-dur-1) var(--gg-ease), transform var(--gg-dur-2) var(--gg-ease-spring);
}
.gg-upload input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
@media (hover: hover) {
.gg-upload:hover { border-color:var(--gg-acento); background:color-mix(in srgb, var(--gg-acento) 6%, var(--gg-sup-2)); }
}
.gg-upload:focus-within { border-color:var(--gg-acento); box-shadow:var(--gg-foco-anel); }
.gg-upload--arrastando { border-color:var(--gg-acento); background:var(--gg-acento-suave); transform:scale(1.01); }
.gg-upload__ico { width:54px; height:54px; margin-bottom:8px; display:grid; place-items:center; border-radius:var(--gg-r-bolha-lg); background:var(--gg-sup-1); color:var(--gg-acento-texto); box-shadow:inset 0 0 0 1px var(--gg-linha-sutil), 0 10px 22px -12px rgba(16,43,63,.35); }
.gg-upload__ico .gg-ico { width:24px; height:24px; }
.gg-upload__t { font-size:var(--gg-t-md); color:var(--gg-tinta-2); }
.gg-upload__t b { font-weight:700; color:var(--gg-tinta); }
.gg-upload__t u { text-decoration:none; font-weight:700; color:var(--gg-link); }
.gg-upload__d { font-size:var(--gg-t-xs); color:var(--gg-tinta-3); }
.gg-upload__arquivo { display:flex; align-items:center; gap:12px; margin-top:var(--gg-s-3); padding:10px 12px; border-radius:var(--gg-r-md); background:var(--gg-sup-1); box-shadow:var(--gg-inset); }
.gg-upload__arquivo .gg-usuario { flex:1; min-width:0; }
.gg-upload__arquivo .gg-usuario__n { font-size:var(--gg-t-sm); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gg-upload__miniatura { position:relative; width:46px; height:46px; flex:none; display:grid; place-items:center; border-radius:var(--gg-r-md); overflow:hidden; background:var(--gg-acento-suave); color:var(--gg-acento-texto); }
.gg-upload__miniatura img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.gg-upload__miniatura--foto .gg-ico { display:none; }

.gg-cores { display:flex; flex-wrap:wrap; gap:12px; }
.gg-cor {
  position:relative; width:32px; height:32px; border-radius:50%; display:grid; place-items:center; cursor:pointer;
  background:var(--cor); box-shadow:inset 0 0 0 1px rgba(16,43,63,.12);
  transition:transform var(--gg-dur-2) var(--gg-ease-spring), box-shadow var(--gg-dur-2) var(--gg-ease-out);
}
@media (hover: hover) {
.gg-cor:hover { transform:scale(1.1); }
}
.gg-cor::after { content:""; width:6px; height:11px; margin-top:-2px; border:solid #fff; border-width:0 2.4px 2.4px 0; transform:rotate(45deg) scale(0); transition:transform var(--gg-dur-2) var(--gg-ease-spring); }
.gg-cor--clara::after { border-color:#102b3f; }
.gg-cor:has(input:checked) { box-shadow:0 0 0 3px var(--gg-sup-1), 0 0 0 5px var(--cor); }
.gg-cor:has(input:checked)::after { transform:rotate(45deg) scale(1); }
.gg-cor:has(input:focus-visible) { box-shadow:0 0 0 3px var(--gg-sup-1), 0 0 0 5px var(--gg-foco); }

.gg-dias { display:inline-flex; flex-wrap:wrap; gap:6px; }
.gg-dias label { position:relative; cursor:pointer; }
.gg-dias span {
  display:grid; place-items:center; min-width:48px; height:40px; padding:0 10px; border-radius:var(--gg-r-md);
  font-size:var(--gg-t-sm); font-weight:700; color:var(--gg-tinta-2); background:var(--gg-sup-1); box-shadow:inset 0 0 0 1px var(--gg-linha);
  transition:background var(--gg-dur-1) var(--gg-ease), color var(--gg-dur-1) var(--gg-ease), box-shadow var(--gg-dur-2) var(--gg-ease-out), transform var(--gg-dur-2) var(--gg-ease-spring);
}
@media (hover: hover) {
.gg-dias label:hover input:not(:checked) + span { box-shadow:inset 0 0 0 1px var(--gg-linha-forte); color:var(--gg-tinta); }
}
.gg-dias label:active span { transform:scale(.95); }
.gg-dias input:checked + span { background:var(--gg-tinta); color:var(--gg-canvas); box-shadow:0 6px 14px -8px rgba(16,43,63,.6); }
.gg-dias input:focus-visible + span { box-shadow:var(--gg-foco-anel); }

.gg-repetidor__lista { display:flex; flex-direction:column; gap:var(--gg-s-2); }
.gg-repetidor__item { display:flex; align-items:center; gap:var(--gg-s-2); }
.gg-repetidor__item > .gg-input { flex:1; min-width:0; }
.gg-repetidor__mais { margin-top:var(--gg-s-3); }
.gg-intervalo { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.gg-intervalo .gg-input { width:auto; min-width:128px; flex:1 1 128px; }
.gg-intervalo > span { font-size:var(--gg-t-sm); font-weight:600; color:var(--gg-tinta-3); }

.gg-tags { display:flex; flex-wrap:wrap; align-items:center; gap:6px; min-height:var(--gg-campo-h); padding:7px 8px; border-radius:var(--gg-r-md); background:var(--gg-sup-1); box-shadow:inset 0 0 0 1px var(--gg-linha-forte); cursor:text; transition:box-shadow var(--gg-dur-2) var(--gg-ease-out); }
.gg-tags:focus-within { box-shadow:inset 0 0 0 1px var(--gg-tinta-2), var(--gg-foco-anel); }
.gg-tag { display:inline-flex; align-items:center; gap:3px; height:28px; padding:0 4px 0 11px; border-radius:var(--gg-r-pill); background:var(--gg-sup-3); color:var(--gg-tinta); font-size:var(--gg-t-sm); font-weight:600; animation:gg-pop var(--gg-dur-2) var(--gg-ease-spring); }
.gg-tags--perigo .gg-tag { background:var(--gg-erro-suave); color:var(--gg-erro-texto); }
.gg-tag button { width:22px; height:22px; border:0; border-radius:50%; display:grid; place-items:center; background:none; color:inherit; opacity:.6; cursor:pointer; transition:opacity var(--gg-dur-1), background var(--gg-dur-1); }
@media (hover: hover) {
.gg-tag button:hover { opacity:1; background:color-mix(in srgb, currentColor 14%, transparent); }
}
.gg-tag .gg-ico { width:12px; height:12px; }
.gg-tags__entrada { flex:1; min-width:140px; height:30px; padding:0 6px; border:0; outline:none; background:none; color:var(--gg-tinta); font:inherit; font-size:var(--gg-t-md); }
@media (pointer: coarse) {
.gg-tags__entrada, .gg-compositor__texto, .gg-copiavel__valor { font-size:var(--gg-t-base); }
}

.gg-numero { display:inline-flex; align-items:stretch; height:var(--gg-campo-h); border-radius:var(--gg-r-md); background:var(--gg-sup-1); box-shadow:inset 0 0 0 1px var(--gg-linha-forte); overflow:hidden; transition:box-shadow var(--gg-dur-2) var(--gg-ease-out); }
.gg-numero:focus-within { box-shadow:inset 0 0 0 1px var(--gg-tinta-2), var(--gg-foco-anel); }
.gg-numero button { width:44px; border:0; background:none; color:var(--gg-tinta-2); font-size:20px; font-weight:500; line-height:1; cursor:pointer; transition:background var(--gg-dur-1), color var(--gg-dur-1); }
@media (hover: hover) {
.gg-numero button:not(:disabled):hover { background:var(--gg-sup-3); color:var(--gg-tinta); }
}
.gg-numero button:disabled { opacity:.35; cursor:not-allowed; }
.gg-numero input { width:68px; border:0; border-inline:1px solid var(--gg-linha); background:none; text-align:center; font:inherit; font-size:var(--gg-t-base); font-weight:700; color:var(--gg-tinta); outline:none; -moz-appearance:textfield; appearance:textfield; font-variant-numeric:tabular-nums; }
.gg-numero input::-webkit-outer-spin-button, .gg-numero input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }

.gg-faixa { display:flex; align-items:center; gap:var(--gg-s-4); }
.gg-faixa input[type="range"] { --p:50; -webkit-appearance:none; appearance:none; flex:1; min-width:0; height:26px; margin:0; background:none; cursor:pointer; }
.gg-faixa input[type="range"]::-webkit-slider-runnable-track { height:var(--gg-trilho); border-radius:var(--gg-r-pill); background:linear-gradient(90deg, var(--gg-acento) 0 calc(var(--p) * 1%), var(--gg-serie-trilho) calc(var(--p) * 1%)); }
.gg-faixa input[type="range"]::-moz-range-track { height:var(--gg-trilho); border-radius:var(--gg-r-pill); background:var(--gg-serie-trilho); }
.gg-faixa input[type="range"]::-moz-range-progress { height:var(--gg-trilho); border-radius:var(--gg-r-pill); background:var(--gg-acento); }
.gg-faixa input[type="range"]::-webkit-slider-thumb { -webkit-appearance:none; width:24px; height:24px; margin-top:calc((var(--gg-trilho) - 24px) / 2); border:0; border-radius:50%; background:#fff; box-shadow:0 0 0 2px var(--gg-acento), 0 4px 10px -2px rgba(16,43,63,.35); transition:transform var(--gg-dur-2) var(--gg-ease-spring), box-shadow var(--gg-dur-2); }
.gg-faixa input[type="range"]::-moz-range-thumb { width:24px; height:24px; border:0; border-radius:50%; background:#fff; box-shadow:0 0 0 2px var(--gg-acento), 0 4px 10px -2px rgba(16,43,63,.35); }
.gg-faixa input[type="range"]:active::-webkit-slider-thumb { transform:scale(1.15); }
.gg-faixa input[type="range"]:focus-visible { outline:none; }
.gg-faixa input[type="range"]:focus-visible::-webkit-slider-thumb { box-shadow:0 0 0 2px var(--gg-acento), 0 0 0 8px var(--gg-acento-suave); }
.gg-faixa__valor { min-width:60px; height:36px; padding:0 10px; border-radius:var(--gg-r-md); display:grid; place-items:center; background:var(--gg-sup-3); font-weight:800; font-variant-numeric:tabular-nums; }

.gg-status { display:inline-flex; align-items:center; gap:9px; font-size:var(--gg-t-sm); font-weight:600; color:var(--gg-tinta-2); }
.gg-status::before { content:""; width:9px; height:9px; border-radius:50%; flex:none; background:var(--gg-status-cor, var(--gg-tinta-3)); animation:gg-status-pulso 2s var(--gg-ease) infinite; }
.gg-status--sucesso { --gg-status-cor:var(--gg-sucesso); }
.gg-status--atencao { --gg-status-cor:var(--gg-atencao); }
.gg-status--erro { --gg-status-cor:var(--gg-erro); }
.gg-status--parado::before { animation:none; }
@keyframes gg-status-pulso {
  0%   { box-shadow:0 0 0 0 color-mix(in srgb, var(--gg-status-cor, #7c90a1) 55%, transparent); }
  70%  { box-shadow:0 0 0 9px color-mix(in srgb, var(--gg-status-cor, #7c90a1) 0%, transparent); }
  100% { box-shadow:0 0 0 0 transparent; }
}

.gg-qr { display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--gg-s-8); align-items:center; }
@media (max-width:760px) {
.gg-qr { grid-template-columns:minmax(0,1fr); justify-items:center; }
}
.gg-qr__codigo { position:relative; width:236px; aspect-ratio:1; padding:20px; border-radius:var(--gg-r-xl); background:#fff; overflow:hidden; box-shadow:0 0 0 1px var(--gg-linha-sutil), 0 24px 44px -22px rgba(16,43,63,.4); }
.gg-qr__codigo > svg, .gg-qr__codigo > img { display:block; width:100%; height:100%; transition:filter var(--gg-dur-3) var(--gg-ease); }

.gg-qr__codigo::before {
  content:""; position:absolute; inset:9px; pointer-events:none; z-index:1;
  --l:26px; --g:3px; --c:var(--gg-acento);
  background:
    linear-gradient(var(--c),var(--c)) top left / var(--l) var(--g) no-repeat, linear-gradient(var(--c),var(--c)) top left / var(--g) var(--l) no-repeat,
    linear-gradient(var(--c),var(--c)) top right / var(--l) var(--g) no-repeat, linear-gradient(var(--c),var(--c)) top right / var(--g) var(--l) no-repeat,
    linear-gradient(var(--c),var(--c)) bottom left / var(--l) var(--g) no-repeat, linear-gradient(var(--c),var(--c)) bottom left / var(--g) var(--l) no-repeat,
    linear-gradient(var(--c),var(--c)) bottom right / var(--l) var(--g) no-repeat, linear-gradient(var(--c),var(--c)) bottom right / var(--g) var(--l) no-repeat;
}
.gg-qr--aguardando .gg-qr__codigo::after {
  content:""; position:absolute; left:16px; right:16px; top:16px; height:2px; z-index:1; border-radius:2px;
  background:var(--gg-acento); box-shadow:0 0 16px 3px rgba(32,217,161,.6); animation:gg-qr-le 2.4s var(--gg-ease) infinite alternate;
}
@keyframes gg-qr-le { to { top:calc(100% - 18px); } }
.gg-qr--conectado .gg-qr__codigo > :is(svg, img) { filter:blur(4px) opacity(.18); }
.gg-qr--expirado .gg-qr__codigo > :is(svg, img) { filter:blur(4px) grayscale(1) opacity(.3); }
.gg-qr__selo { position:absolute; inset:0; z-index:2; display:none; place-items:center; align-content:center; gap:12px; text-align:center; color:#102b3f; }
.gg-qr--conectado .gg-qr__selo, .gg-qr--expirado .gg-qr__selo { display:grid; }
.gg-qr__selo b { font-weight:800; font-size:var(--gg-t-md); }
.gg-qr__passos { counter-reset:gg-qr; list-style:none; margin:0 0 var(--gg-s-6); padding:0; display:flex; flex-direction:column; gap:14px; }
.gg-qr__passos li { counter-increment:gg-qr; display:grid; grid-template-columns:30px minmax(0,1fr); gap:12px; align-items:start; font-size:var(--gg-t-texto); line-height:1.5; color:var(--gg-tinta-2); }
.gg-qr__passos li::before { content:counter(gg-qr); width:30px; height:30px; border-radius:50%; display:grid; place-items:center; font-size:12px; font-weight:800; background:var(--gg-acento-suave); color:var(--gg-acento-texto); }
.gg-qr__passos b { font-weight:700; color:var(--gg-tinta); }
.gg-qr__estado { display:flex; align-items:center; gap:var(--gg-s-3); flex-wrap:wrap; }

.gg-qr__texto { min-width:0; }
.gg-qr__texto > .gg-apoio { max-width:52ch; }

.gg-linha-tempo { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.gg-linha-tempo__item { position:relative; display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:var(--gg-s-3); padding-bottom:var(--gg-s-5); }
.gg-linha-tempo__item:last-child { padding-bottom:0; }
.gg-linha-tempo__item::before { content:""; position:absolute; left:18px; top:44px; bottom:4px; width:2px; border-radius:2px; background:var(--gg-linha-sutil); }
.gg-linha-tempo__item:last-child::before { display:none; }
.gg-linha-tempo__ico { position:relative; z-index:1; width:38px; height:38px; display:grid; place-items:center; border-radius:var(--gg-r-bolha); background:var(--gg-sup-3); color:var(--gg-tinta-2); }
.gg-linha-tempo__ico .gg-ico { width:18px; height:18px; }
.gg-linha-tempo__ico--sucesso { background:var(--gg-sucesso-suave); color:var(--gg-sucesso-texto); }
.gg-linha-tempo__ico--atencao { background:var(--gg-atencao-suave); color:var(--gg-atencao-texto); }
.gg-linha-tempo__ico--erro { background:var(--gg-erro-suave); color:var(--gg-erro-texto); }
.gg-linha-tempo__ico--info { background:var(--gg-info-suave); color:var(--gg-info-texto); }
.gg-linha-tempo__corpo { min-width:0; padding-top:8px; }
.gg-linha-tempo__t { display:block; font-weight:700; }
.gg-linha-tempo__d { display:block; margin-top:3px; font-size:var(--gg-t-sm); color:var(--gg-tinta-2); line-height:1.5; }
.gg-linha-tempo__hora { padding-top:10px; font-size:var(--gg-t-xs); font-weight:600; color:var(--gg-tinta-3); white-space:nowrap; font-variant-numeric:tabular-nums; }

.gg-audio { display:block; width:100%; max-width:360px; height:36px; margin-top:var(--gg-s-2); }

.gg-calendario { border-radius:var(--gg-r-xl); background:var(--gg-sup-1); box-shadow:var(--gg-card-inset), var(--gg-bevel), var(--gg-sombra-ambiente); overflow:hidden; }
.gg-calendario__cab { display:flex; align-items:center; justify-content:space-between; gap:var(--gg-s-3); flex-wrap:wrap; padding:var(--gg-s-4) var(--gg-s-5); }
.gg-calendario__semana, .gg-calendario__grade { display:grid; grid-template-columns:repeat(7, minmax(0,1fr)); }
.gg-calendario__semana { background:var(--gg-sup-2); box-shadow:inset 0 1px 0 var(--gg-linha-sutil), inset 0 -1px 0 var(--gg-linha-sutil); }
.gg-calendario__semana span { padding:10px 12px; font-size:var(--gg-t-2xs); font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gg-tinta-3); }
.gg-calendario__dia { min-width:0; min-height:118px; padding:8px; display:flex; flex-direction:column; gap:4px; box-shadow:inset -1px -1px 0 var(--gg-linha-sutil); transition:background var(--gg-dur-1) var(--gg-ease); }
@media (hover: hover) {
.gg-calendario__dia:hover { background:var(--gg-sup-2); }
}
.gg-calendario__n { width:28px; height:28px; margin-bottom:2px; border-radius:50%; display:grid; place-items:center; font-size:var(--gg-t-sm); font-weight:700; color:var(--gg-tinta-2); font-variant-numeric:tabular-nums; }
.gg-calendario__dia--fora { background:var(--gg-sup-2); }
.gg-calendario__dia--fora .gg-calendario__n { color:var(--gg-tinta-3); opacity:.6; }
.gg-calendario__dia--hoje .gg-calendario__n { background:var(--gg-acento); color:var(--gg-sobre-acento); box-shadow:0 4px 12px -4px rgba(32,217,161,.85); }
.gg-evento {
  display:block; padding:3px 8px 3px 9px; border-radius:7px; cursor:pointer;
  font-size:11.5px; font-weight:600; line-height:1.4; color:var(--gg-tinta);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  background:color-mix(in srgb, var(--cor, var(--gg-acento)) 16%, transparent); box-shadow:inset 2px 0 0 var(--cor, var(--gg-acento));
  transition:background var(--gg-dur-1) var(--gg-ease);
}
@media (hover: hover) {
.gg-evento:hover { background:color-mix(in srgb, var(--cor, var(--gg-acento)) 28%, transparent); }
}
.gg-evento b { font-weight:800; font-variant-numeric:tabular-nums; }
.gg-evento--campanha { --cor:var(--gg-acento); }
.gg-evento--canal { --cor:var(--gg-azul); }
.gg-evento--resumo { --cor:var(--gg-atencao); }
.gg-calendario__mais { padding-left:4px; font-size:11px; font-weight:700; color:var(--gg-tinta-3); }

.gg-calendario__titulo { min-width:190px; text-align:center; }
a.gg-evento { text-decoration:none; }
@media (max-width:700px) {
.gg-calendario__dia { min-height:64px; padding:6px 4px; align-items:center; }
.gg-evento { width:6px; height:6px; padding:0; border-radius:50%; font-size:0; background:var(--cor, var(--gg-acento)); box-shadow:none; }
.gg-calendario__mais { display:none; }
}

.gg-planos { display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:var(--gg-s-4); align-items:stretch; }
.gg-plano-card { position:relative; overflow:hidden; isolation:isolate; display:flex; flex-direction:column; gap:var(--gg-s-4); padding:var(--gg-s-6); border-radius:var(--gg-card-r); color:var(--gg-tinta); background:var(--gg-card-grad); box-shadow:var(--gg-card-inset), var(--gg-bevel), var(--gg-sombra-ambiente); }
.gg-plano-card__nome { font-size:var(--gg-t-xs); font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--gg-tinta-2); }
.gg-plano-card__preco { display:flex; align-items:baseline; gap:6px; margin:0; }
.gg-plano-card__preco b { font-size:var(--gg-t-4xl); font-weight:800; letter-spacing:-.045em; line-height:1; font-variant-numeric:tabular-nums; }
.gg-plano-card__preco small { font-size:var(--gg-t-sm); font-weight:600; color:var(--gg-tinta-2); }
.gg-plano-card__d { margin:0; font-size:var(--gg-t-sm); color:var(--gg-tinta-2); line-height:1.5; }
.gg-plano-card ul { list-style:none; margin:0; padding:var(--gg-s-4) 0 0; display:flex; flex-direction:column; gap:10px; font-size:var(--gg-t-sm); border-top:1px solid var(--gg-linha-sutil); }
.gg-plano-card li { display:flex; gap:10px; align-items:flex-start; }
.gg-plano-card li::before { content:""; width:18px; height:18px; flex:none; margin-top:1px; border-radius:50%; background:var(--gg-acento) var(--gg-check-azul) center / 11px no-repeat; }
.gg-plano-card .gg-btn { margin-top:auto; }
.gg-plano-card__selo { position:absolute; top:20px; right:20px; }
.gg-plano-card--destaque {
  background:radial-gradient(90% 120% at 100% 0%, rgba(32,217,161,.22) 0%, transparent 55%), linear-gradient(160deg,#1a3e57 0%,#102b3f 55%,#0b2232 100%);
  box-shadow:inset 0 1px 0 rgba(245,248,250,.08), inset 0 0 0 1px rgba(32,217,161,.25), 0 28px 56px -26px rgba(3,14,22,.75);
}
.gg-plano-card--destaque::after { content:""; position:absolute; z-index:-1; right:-62px; top:-62px; width:172px; height:172px; background:var(--gg-g-verde) center / contain no-repeat; opacity:.16; pointer-events:none; }

.gg-selecao {
  position:sticky; bottom:var(--gg-s-5); z-index:var(--gg-z-sticky); display:flex; align-items:center; gap:var(--gg-s-2);
  width:fit-content; max-width:calc(100% - 32px); margin:var(--gg-s-4) auto 0; padding:7px 7px 7px 18px; border-radius:var(--gg-r-pill);
  background:color-mix(in srgb, #0b2232 92%, transparent); color:var(--gg-tinta);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  box-shadow:0 0 0 1px rgba(245,248,250,.1), 0 22px 44px -18px rgba(3,14,22,.65);
  animation:gg-toast-entra var(--gg-dur-3) var(--gg-ease-spring);
}
.gg-selecao__conta { font-size:var(--gg-t-sm); font-weight:700; white-space:nowrap; margin-right:6px; }
.gg-selecao__conta b { color:var(--gg-verde-400); }
.gg-selecao__sep { width:1px; height:22px; background:rgba(245,248,250,.16); }
