:root { color-scheme:light; }
html,body { width:100%; min-height:100%; }
body {
  margin:0;
  background:
    radial-gradient(circle at 12% 8%,rgba(56,189,248,.22),transparent 32%),
    radial-gradient(circle at 88% 92%,rgba(34,197,94,.22),transparent 35%),
    #071525;
  color:#0f2740;
  font-family:'Inter',system-ui,sans-serif;
}
#pkWrap {
  position:relative;
  box-sizing:border-box;
  width:100%;
  min-height:100vh;
  min-height:100dvh;
  display:grid;
  place-items:center;
  padding:clamp(16px,3vw,44px);
}
#pkConteudo { width:min(1120px,100%); }
#pkFullscreen {
  position:fixed;
  z-index:20;
  top:max(14px,env(safe-area-inset-top));
  right:max(14px,env(safe-area-inset-right));
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.35);
  border-radius:12px;
  background:rgba(7,21,37,.82);
  color:#fff;
  font-size:18px;
  cursor:pointer;
  backdrop-filter:blur(10px);
}
#pkFullscreen:hover { background:#12304d; }
.pk-card {
  --text:#102a43;
  --muted:#526b82;
  --line:#cbd9e6;
  --surface-alt:#f2f7fb;
  --green:#16a34a;
  --blue:#1677c8;
  box-sizing:border-box;
  width:100%;
  min-height:min(680px,calc(100dvh - 64px));
  padding:clamp(24px,4vw,54px);
  border:1px solid rgba(255,255,255,.6);
  border-radius:24px;
  background:#fff;
  box-shadow:0 24px 80px rgba(0,0,0,.28);
  color:var(--text);
}
.pk-cabecalho { text-align:center; margin-bottom:clamp(24px,4vw,42px); }
.pk-kicker {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  color:#168549;
  font-size:clamp(12px,1.5vw,15px);
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#pkTitulo { margin:0; color:#102a43; font-size:clamp(24px,4vw,42px); line-height:1.12; }
#pkSub { margin:10px 0 0; color:var(--muted); font-size:clamp(14px,1.8vw,18px); }
#pkForm { width:100%; }
#pkForm .input,
#pkForm .select,
#pkForm .textarea {
  border-color:#b8c9d8;
  background:#fff;
  color:#102a43;
  caret-color:#102a43;
  font-family:inherit;
  font-weight:400;
}
#pkForm .input::placeholder,
#pkForm .textarea::placeholder { color:#71869a; opacity:1; }
#pkForm .input:focus,
#pkForm .select:focus,
#pkForm .textarea:focus {
  border-color:#1677c8;
  box-shadow:0 0 0 3px rgba(22,119,200,.18);
}
#pkForm .fr-pagina { animation:pkEntrada .22s ease-out; }
#pkForm .fr-grid { gap:12px 24px !important; }
#pkForm .fr-campo { padding:14px 0 24px !important; }
#pkForm .fr-campo[data-tipo="nps"],
#pkForm .fr-campo[data-tipo="csat"] { border:0 !important; text-align:center; }
#pkForm .fr-campo[data-tipo="nps"] > div:first-child,
#pkForm .fr-campo[data-tipo="csat"] > div:first-child {
  margin-bottom:clamp(20px,3vw,34px) !important;
  color:#102a43;
  font-size:clamp(19px,2.6vw,30px) !important;
  font-weight:800 !important;
  line-height:1.25;
}
#pkForm .fr-nps {
  display:grid !important;
  grid-template-columns:repeat(11,minmax(48px,1fr));
  gap:clamp(6px,1vw,12px) !important;
}
#pkForm .fr-nps-opcao {
  width:100% !important;
  height:auto !important;
  aspect-ratio:1;
  min-width:0;
  border:0 !important;
  border-radius:14px !important;
  color:#fff !important;
  font-size:clamp(17px,2.1vw,26px);
  font-weight:800 !important;
  box-shadow:inset 0 -4px 0 rgba(0,0,0,.12);
  transition:transform .15s,box-shadow .15s,filter .15s;
}
#pkForm .fr-nps-opcao[data-valor="0"],#pkForm .fr-nps-opcao[data-valor="1"],
#pkForm .fr-nps-opcao[data-valor="2"],#pkForm .fr-nps-opcao[data-valor="3"],
#pkForm .fr-nps-opcao[data-valor="4"],#pkForm .fr-nps-opcao[data-valor="5"],
#pkForm .fr-nps-opcao[data-valor="6"] { background:#e7443e !important; }
#pkForm .fr-nps-opcao[data-valor="7"],#pkForm .fr-nps-opcao[data-valor="8"] { background:#e8a317 !important; }
#pkForm .fr-nps-opcao[data-valor="9"] { background:#55ad32 !important; }
#pkForm .fr-nps-opcao[data-valor="10"] { background:#168fc5 !important; }
#pkForm .fr-nps-opcao:hover { transform:translateY(-3px); filter:brightness(1.05); }
#pkForm .fr-nps-opcao.is-selected {
  transform:translateY(-5px) scale(1.04);
  box-shadow:0 0 0 4px #fff,0 0 0 8px #102a43,0 12px 24px rgba(16,42,67,.22);
}
#pkForm .fr-csat {
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:clamp(8px,1.4vw,18px) !important;
}
#pkForm .fr-csat-opcao {
  min-width:0 !important;
  min-height:150px;
  display:grid;
  place-content:center;
  border:2px solid currentColor !important;
  border-radius:18px !important;
  background:#fff !important;
  padding:16px 8px !important;
  transition:transform .15s,box-shadow .15s,background .15s;
}
#pkForm .fr-csat-opcao > span:first-child { font-size:clamp(40px,6vw,68px) !important; line-height:1; }
#pkForm .fr-csat-opcao > span:last-child { margin-top:14px !important; font-size:clamp(12px,1.4vw,16px) !important; font-weight:750; }
#pkForm .fr-csat-opcao:hover { transform:translateY(-3px); background:#f8fbfd !important; }
#pkForm .fr-csat-opcao.is-selected { transform:translateY(-5px); box-shadow:0 0 0 4px currentColor,0 14px 30px rgba(16,42,67,.18); background:#f5faf7 !important; }
#pkForm .fr-nav {
  margin-top:clamp(24px,4vw,44px) !important;
  padding-top:20px !important;
  border-top:1px solid #d6e1eb !important;
}
#pkForm .fr-nav .btn { min-height:48px; padding:10px 18px; border-radius:12px; font-size:15px; }
#pkForm .fr-nav .fr-nav-voltar {
  border-color:#1677c8;
  background:#fff;
  color:#156fc3;
}
#pkForm .fr-nav .fr-nav-voltar:hover {
  border-color:#0f5f9f;
  background:#eef7ff;
  color:#0f5f9f;
}
#pkForm .fr-nav .fr-nav-voltar i { color:inherit; }
#pkForm .fr-nav-info { font-size:14px !important; font-weight:700; color:#526b82 !important; }
#pkEnviar {
  width:100%;
  min-height:56px;
  justify-content:center;
  margin-top:clamp(24px,4vw,42px);
  border-radius:14px;
  background:#16bd63;
  color:#fff;
  font-size:17px;
  font-weight:800;
}
#pkEnviar[hidden] { display:none !important; }
.pk-privacidade { margin:18px 0 0; color:#6a7f92; font-size:12px; text-align:center; }
.pk-mensagem { display:none; margin:0 0 18px; padding:13px 16px; border-radius:12px; font-size:14px; font-weight:650; text-align:center; }
.pk-mensagem.is-visible { display:block; }
.pk-mensagem.is-warning { background:#fff7d6; color:#7a5100; border:1px solid #efc94c; }
.pk-mensagem.is-error { background:#ffeded; color:#a62929; border:1px solid #ef7777; }
#pkErro,#pkObrigado {
  box-sizing:border-box;
  width:min(620px,100%);
  margin:auto;
  padding:clamp(34px,6vw,68px);
  border-radius:22px;
  background:#fff;
  color:#526b82;
  text-align:center;
}
#pkErro i { display:block; margin-bottom:18px; color:#d99b00; font-size:48px; }
#pkObrigado i { color:#16a34a; font-size:64px; }
#pkObrigado h2 { margin:18px 0 6px; color:#102a43; font-size:30px; }
#pkObrigado p { color:#526b82; }
#pkResetBar { height:4px; margin-top:28px; overflow:hidden; border-radius:99px; background:#d7e2eb; }
#pkResetBar i { display:block; width:0; height:100%; background:#16a34a; transition:width 6s linear; }
@keyframes pkEntrada { from { opacity:0; transform:translateX(12px); } to { opacity:1; transform:none; } }

@media (max-width:767px) {
  #pkWrap { place-items:start center; padding:12px; }
  #pkFullscreen { top:10px; right:10px; width:42px; height:42px; }
  .pk-card { min-height:calc(100dvh - 24px); padding:62px 18px 24px; border-radius:18px; }
  .pk-cabecalho { margin-bottom:20px; }
  #pkForm .fr-grid { grid-template-columns:1fr !important; }
  #pkForm .fr-campo { grid-column:1/-1 !important; }
  #pkForm .fr-nps { grid-template-columns:repeat(6,minmax(40px,1fr)); }
  #pkForm .fr-csat { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #pkForm .fr-csat-opcao { min-height:126px; }
  #pkForm .fr-csat-opcao:last-child:nth-child(odd) { grid-column:1/-1; }
  #pkForm .fr-nav { display:grid !important; grid-template-columns:1fr auto 1fr; gap:8px !important; }
  #pkForm .fr-nav .fr-nav-voltar { justify-self:start; }
  #pkForm .fr-nav .fr-nav-avancar { justify-self:end; }
  #pkForm .fr-nav > span[style*="flex"] { display:none; }
  #pkForm .fr-nav-info { text-align:center; }
}

@media (min-width:768px) and (max-width:1100px) {
  #pkWrap { padding:24px; }
  .pk-card { min-height:calc(100dvh - 48px); }
  #pkForm .fr-nps-opcao { border-radius:12px !important; }
}

@media (orientation:landscape) and (max-height:620px) {
  #pkWrap { place-items:start center; padding:12px 20px; }
  .pk-card { min-height:calc(100dvh - 24px); padding:22px 36px; }
  .pk-cabecalho { margin-bottom:14px; }
  .pk-kicker { margin-bottom:4px; }
  #pkSub { margin-top:4px; }
  #pkForm .fr-campo[data-tipo="nps"] > div:first-child,
  #pkForm .fr-campo[data-tipo="csat"] > div:first-child { margin-bottom:14px !important; }
  #pkForm .fr-csat-opcao { min-height:110px; }
  #pkForm .fr-csat-opcao > span:first-child { font-size:38px !important; }
  #pkForm .fr-nav { margin-top:14px !important; padding-top:12px !important; }
}

@media (prefers-reduced-motion:reduce) {
  #pkForm .fr-pagina,.fr-nps-opcao,.fr-csat-opcao { animation:none !important; transition:none !important; }
}
