/* Referência visual GG v1. Integração no produto é responsabilidade da Engenharia. */
:root{--gg-ink:#222221;--gg-brand:#007bff;--gg-action:#0062cc;--gg-surface:#fff;--gg-surface-subtle:#f8f9fa;--gg-track:#c8d7e8;--gg-skeleton:#dce4ec;--gg-skeleton-edge:#b8c7d6;--gg-wait-gap:12px;--gg-spin-duration:1000ms;--gg-spin-count:4;--gg-pulse-duration:1200ms;--gg-pulse-count:3}
.gg-wait{display:inline-flex;align-items:center;gap:var(--gg-wait-gap);color:var(--gg-ink);font-family:"Segoe UI",system-ui,sans-serif;font-size:16px;line-height:1.45}
.gg-wait__mark{--size:40px;width:var(--size);height:var(--size);position:relative;display:inline-grid;place-items:center;flex:0 0 var(--size)}
.gg-wait__mark:before{content:"";position:absolute;inset:0;border:2px solid var(--gg-track);border-top-color:var(--gg-action);border-radius:50%;box-sizing:border-box}
.gg-wait__plate{width:70%;height:70%;border-radius:50%;display:grid;place-items:center;background:#fff;position:relative;z-index:1}
.gg-wait__mark img{width:78%;height:78%;object-fit:contain;display:block;transform:none!important;opacity:1!important}
.gg-wait--small .gg-wait__mark{--size:32px}.gg-wait--large .gg-wait__mark{--size:56px}.gg-wait--small{--gg-wait-gap:8px}
.gg-wait--pulse .gg-wait__mark:before{border:0;background:var(--gg-brand);opacity:.18;transform:scale(1)}
.gg-wait--pulse .gg-wait__plate{width:76%;height:76%}
.gg-wait--small .gg-wait__plate{width:80%;height:80%}
.gg-wait--inverse{color:#fff;--gg-action:#fff;--gg-track:#7391ae}.gg-wait--inverse.gg-wait--pulse .gg-wait__mark:before{background:#fff}
.gg-wait--moving:not(.gg-wait--pulse) .gg-wait__mark:before{animation:gg-wait-spin var(--gg-spin-duration) linear var(--gg-spin-count)}
.gg-wait--moving.gg-wait--pulse .gg-wait__mark:before{animation:gg-wait-pulse var(--gg-pulse-duration) ease-in-out var(--gg-pulse-count)}
@keyframes gg-wait-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes gg-wait-pulse{0%,100%{transform:scale(1);opacity:.18}50%{transform:scale(1.12);opacity:.32}}
.gg-progress{color:var(--gg-ink);font-family:"Segoe UI",system-ui,sans-serif}.gg-progress__label{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.5;margin:0 0 12px}.gg-progress__label img{width:24px;height:24px;background:#fff;border-radius:50%;padding:2px}.gg-progress__track{height:8px;border-radius:4px;background:var(--gg-track);overflow:hidden;border:1px solid #9bb1c7}.gg-progress__fill{height:100%;width:var(--gg-progress-value,0%);background:var(--gg-action);transition:none}.gg-progress__detail{font-size:12px;color:#526174;margin:10px 0 0}
.gg-skeleton{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;padding:16px;background:var(--gg-surface);border:1px solid #cbd7e2;border-radius:10px;max-width:420px}.gg-skeleton__art{height:96px;border-radius:5px;background:var(--gg-skeleton);border:1px solid var(--gg-skeleton-edge)}.gg-skeleton__lines{display:grid;align-content:center;gap:12px}.gg-skeleton__line{height:12px;border-radius:3px;background:var(--gg-skeleton);width:100%}.gg-skeleton__line:first-child{height:17px;width:78%}.gg-skeleton__line:last-child{width:55%}
.gg-skeleton *{animation:none!important;transition:none!important;background-image:none!important}
[data-force-static] .gg-wait__mark:before{animation:none!important;transition:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.gg-wait__mark:before,.gg-progress__fill,.gg-skeleton,.gg-skeleton *{animation:none!important;transition:none!important;transform:none!important}}
@media print{.gg-wait__mark:before{animation:none!important;transform:none!important}}
/* Product integration: one live message, outside disabled controls. */
.gg-wait-slot{min-height:40px;overflow-wrap:anywhere}
.gg-wait-slot:empty{display:block;visibility:hidden}
.gg-wait-slot.gg-wait{display:flex;visibility:visible;min-width:0}
.gg-wait-slot.gg-wait>span:last-child{min-width:0}
.gg-load-region{padding:24px 0;max-width:100%}
.gg-load-region .gg-skeleton{max-width:420px;width:100%}
.gp-art-frame.gg-art-wait{aspect-ratio:2/3;background:var(--gg-skeleton);border:1px solid var(--gg-skeleton-edge)}
.gp-art-frame.gg-art-wait img{visibility:hidden}
