/* Portal de Execução (2026-10-01) — tela de chão de fábrica: botões
   grandes, leitura em celular/tablet, nada de dado gerencial. */
.gs-exec-body { background: #f4f6fa; font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: #1e293b; min-height: 100vh; }
.gs-exec-topo { background: linear-gradient(120deg, #14213d 0%, #1f3a7a 60%, #2563eb 100%); padding: .7rem 1rem; }
.gs-exec-marca { display: inline-flex; align-items: center; gap: .6rem; color: #fff; text-decoration: none; font-weight: 800; letter-spacing: -.01em; }
.gs-exec-marca:hover { color: #fff; }
.gs-exec-main { max-width: 760px; margin: 0 auto; padding: 1.2rem 1rem 3rem; }
.gs-exec-titulo { font-size: 1.25rem; font-weight: 800; margin: .4rem 0 1rem; }
.gs-exec-bloco { font-size: .85rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: #475569; margin: .2rem 0 .5rem; }
.gs-exec-bloco i { color: #2563eb; }
.gs-exec-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: .7rem; }
.gs-exec-opcao { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; min-height: 120px; padding: 1rem; text-align: center; background: #fff; border: 1px solid #e2e8f0; border-radius: 1rem; box-shadow: 0 2px 6px rgba(15, 23, 42, .05); text-decoration: none; color: #1e293b; font-weight: 700; }
.gs-exec-opcao:hover { border-color: #2563eb; color: #1e40af; box-shadow: 0 6px 16px rgba(37, 99, 235, .15); }
.gs-exec-opcao i { font-size: 2rem; color: #2563eb; }
.gs-exec-opcao small { color: #64748b; font-weight: 600; }
.gs-exec-opcao { min-width: 0; }
.gs-exec-opcao span { max-width: 100%; overflow-wrap: anywhere; hyphens: auto; }
.gs-exec-voltar { display: inline-flex; align-items: center; gap: .3rem; text-decoration: none; color: #475569; font-weight: 600; font-size: .9rem; }
.gs-exec-ok { display: flex; align-items: center; gap: .6rem; background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; border-radius: .8rem; padding: .8rem 1rem; margin-bottom: 1rem; font-size: 1rem; }
.gs-exec-ok i { font-size: 1.4rem; }
.gs-exec-erro { display: flex; align-items: center; gap: .5rem; background: #fff7ed; color: #9a3412; border: 1px solid #fed7aa; border-radius: .8rem; padding: .7rem 1rem; margin-bottom: 1rem; }
.gs-exec-sugestoes { display: flex; flex-direction: column; gap: .35rem; margin-top: .5rem; }
.gs-exec-sugestao { display: flex; flex-direction: column; align-items: flex-start; text-align: left; background: #fff; border: 1px solid #e2e8f0; border-radius: .7rem; padding: .6rem .8rem; }
.gs-exec-sugestao:hover, .gs-exec-sugestao:focus { border-color: #2563eb; background: #eff6ff; }
.gs-exec-sugestao span, .gs-exec-escolhido span { color: #64748b; font-size: .82rem; }
.gs-exec-vazio { color: #64748b; font-size: .9rem; padding: .4rem .2rem; }
.gs-exec-escolhido { margin-top: .6rem; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: .7rem; padding: .6rem .8rem; color: #1e40af; display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.gs-exec-quem { display: flex; align-items: center; justify-content: space-between; gap: .6rem; flex-wrap: wrap; background: #fff; border: 1px solid #e2e8f0; border-radius: .8rem; padding: .55rem .8rem; margin-bottom: .8rem; }
.gs-exec-pergunta { background: #fff; border: 1px solid #e2e8f0; border-radius: .9rem; padding: .8rem .9rem; margin-bottom: .7rem; }
.gs-exec-pergunta-texto { font-weight: 700; margin-bottom: .6rem; display: flex; gap: .5rem; }
.gs-exec-pergunta-texto span { flex: 0 0 auto; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: #eff6ff; color: #1d4ed8; font-size: .8rem; display: inline-flex; align-items: center; justify-content: center; }
