.wrap{ max-width:1100px; margin:0 auto; padding:24px; padding-bottom:84px; }

.panel{
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.00));
  border:1px solid var(--line); border-radius:16px; box-shadow:0 10px 35px rgba(0,0,0,.24)
}
.card{ padding:18px }

.grid{ display:grid; gap:16px }
.grid.cols-2{ grid-template-columns:1fr 1fr }
.grid.cols-3{ grid-template-columns:repeat(3,1fr) }
.grid.cols-4{ grid-template-columns:repeat(4,1fr) }
@media (max-width:900px){ .grid.cols-2,.grid.cols-3,.grid.cols-4{ grid-template-columns:1fr } }

.siteFooter{
  position:fixed; left:0; right:0; bottom:0; z-index:40; height:60px;
  display:flex; align-items:center; background:#0b1222; border-top:1px solid var(--line);
  box-shadow:0 -6px 25px rgba(0,0,0,.25);
}
.siteFooter .footwrap{
  max-width:1100px; margin:0 auto; width:100%;
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:0 24px; color:var(--muted); font-size:12px;
}

/* HEAD / LOGO */
.masthead{
  position:relative;
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
  border:1px solid var(--line); border-radius:16px;
  padding:16px 18px; padding-right:132px; margin-bottom:24px;
}
.brand{ display:flex; align-items:center; gap:12px }
.logoSlot{
  width:140px; height:56px; border-radius:12px; display:flex; align-items:center; justify-content:center; margin-right:12px;
}
.logoSlot img,.logoSlot svg{ max-height:100%; max-width:100%; border-radius:10px }

/* Botão reset */
#resetBtn{
  position:absolute; top:10px; right:10px; background:none; border:1px solid var(--line);
  border-radius:10px; padding:6px 10px; color:var(--muted); font-size:.85rem; cursor:pointer; transition:.2s;
}
#resetBtn:hover{ color:var(--brand); border-color:var(--brand); }
@media (max-width:640px){
  #resetBtn{ position:fixed; top:14px; right:14px; background:rgba(0,0,0,.4); border:none; color:#fff; font-weight:500; z-index:999; }
}

/* Título de blocos e badge de perfil */
.panel.card > h2{
  color:var(--title); letter-spacing:.2px; margin:0 0 8px 0; position:relative; padding-right:140px;
}
.profileTag{
  position:absolute; right:0; top:0; border:1px solid var(--line);
  color:var(--profile); font-size:12px; font-weight:600; background:rgba(255,167,29,.08);
  padding:4px 8px; border-radius:999px;
}
.perfilTag{
  display:inline-block; margin-top:6px; border:1px solid var(--line);
  color:var(--profile); font-size:13px; font-weight:600; letter-spacing:.3px;
  background:rgba(255,167,29,.08); padding:4px 10px; border-radius:999px;
}

/* Home spacing */
#pg_home .q:first-of-type{ margin-top:30px !important; }
@media (min-width:901px){ #pg_home .q:first-of-type{ margin-top:40px !important; } }
#pg_home h2#home-title{ margin-bottom:32px !important; }
@media (max-width:640px){
  body:has(#pg_home.active) .wrap{ padding-bottom:16px !important; }
  #pg_home.card{ padding-bottom:16px !important; }
  #pg_home h2#home-title{ margin-bottom:24px !important; }
}

/* Endereço */
.grid.addr{ display:grid; grid-template-columns:4fr 2fr 2.2fr .8fr; gap:16px; }
.grid.addr > div{ min-width:0; }
#uf{ text-transform:uppercase; text-align:left; }
@media (max-width:900px){ .grid.addr{ grid-template-columns:1fr; } }

/* Recuo lateral nas páginas (desktop) */
@media (min-width:901px){
  .wrap .panel.card.page{ padding-left:44px !important; padding-right:44px !important; }
}
/* ======= TABELA DO RESUMO DA PONTUAÇÃO ======= */

/* Desktop */
@media (min-width: 769px) {

  /* Centraliza colunas específicas */
  #summaryTable td.qtdRespondidas,
  #summaryTable th.qtdRespondidas {
    text-align: center !important;
  }

  #summaryTable td.scoreBloco,
  #summaryTable th.scoreBloco {
    text-align: center !important;
  }
}

/* Mobile */
@media (max-width: 768px) {

  /* Oculta coluna de questões já existente — mantendo só pontuações */
  #summaryTable td.scoreBloco,
  #summaryTable th.scoreBloco {
    text-align: center !important;
    display: table-cell;
  }
}

