/* SRP Pesquisa de Satisfação v3.1 — srp.css
   Sindicato Rural de Pindamonhangaba / Michel Lima
   NOTA: seletores prefixados com #srp-app/#srp-adm
   e !important em propriedades críticas para vencer
   a especificidade do tema WordPress.
*/

/* ── Variáveis ── */
:root {
  --srp-G1: #1a5c35;
  --srp-G3: #40916c;
  --srp-G4: #74c69d;
  --srp-G5: #d8f3dc;
  --srp-AU: #c9a227;
  --srp-BG: #eef3ee;
  --srp-WH: #ffffff;
  --srp-BD: #b7d5c1;
  --srp-TX: #1c1c1c;
  --srp-CZ: #5e6e62;
  --srp-RM: #c0392b;
  --srp-LJ: #d4882a;
  --srp-R:  14px;
  --srp-r:  8px;
  --srp-T:  .18s ease;
}

/* ── Reset escopo ── */
#srp-app *, #srp-adm * { box-sizing: border-box !important; }
#srp-app input, #srp-app button, #srp-app textarea,
#srp-adm input, #srp-adm button, #srp-adm textarea {
  font-family: 'Segoe UI', system-ui, sans-serif !important;
  font-size: inherit !important;
  line-height: normal !important;
}

/* ══ FORMULÁRIO PÚBLICO ══ */
#srp-app {
  background-color: var(--srp-BG) !important;
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  font-family: 'Segoe UI', system-ui, sans-serif !important;
  font-size: 16px !important;
  color: var(--srp-TX) !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

/* Barra de zoom */
#srp-app .srp-zoom-ctrl {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: #fff !important;
  border: 2px solid var(--srp-BD) !important;
  border-radius: 999px !important;
  padding: 6px 18px !important;
  margin: 14px auto 6px !important;
  width: fit-content !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.12) !important;
}
#srp-app .srp-zoom-ctrl button {
  background: transparent !important;
  border: none !important;
  font-size: 20px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  color: var(--srp-G1) !important;
  padding: 2px 6px !important;
  border-radius: 6px !important;
}
#srp-app .srp-zoom-ctrl button:hover { background: var(--srp-G5) !important; }
#srp-app .srp-zoom-ctrl span {
  font-size: .88rem !important;
  font-weight: 800 !important;
  color: var(--srp-CZ) !important;
  min-width: 48px !important;
  text-align: center !important;
}

/* Área zoomável */
#srp-content {
  width: 100% !important;
  max-width: 640px !important;
  padding: 0 16px 24px !important;
  margin: 0 auto !important;
}

/* Tela */
#srp-app .srp-tela { width: 100% !important; }

/* Cabeçalho */
#srp-app .srp-cabecalho {
  text-align: center !important;
  background: linear-gradient(135deg, var(--srp-G1), var(--srp-G3)) !important;
  border-radius: var(--srp-R) !important;
  padding: 30px 20px 24px !important;
  margin-bottom: 14px !important;
  box-shadow: 0 4px 18px rgba(26,92,53,.30) !important;
}
#srp-app .srp-cabecalho img {
  max-width: 130px !important;
  height: auto !important;
  margin: 0 auto 12px !important;
  display: block !important;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.30)) !important;
}
#srp-app .srp-cabecalho h1 {
  color: #fff !important;
  font-size: 1.08rem !important;
  font-weight: 800 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  text-shadow: none !important;
}
#srp-app .srp-cabecalho p {
  color: var(--srp-G5) !important;
  font-size: .86rem !important;
  margin-top: 6px !important;
  padding: 0 !important;
}

/* CARTÃO — elemento central */
#srp-app .srp-card {
  background-color: #ffffff !important;
  background: #ffffff !important;
  border-radius: var(--srp-R) !important;
  border: 1px solid #b7d5c1 !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.10) !important;
  padding: 28px 24px !important;
  margin-bottom: 14px !important;
  width: 100% !important;
}

/* Campo wrapper */
#srp-app .srp-campo-wrap { margin-bottom: 20px !important; }
#srp-app .srp-label {
  display: block !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  color: var(--srp-G1) !important;
  margin-bottom: 7px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
}
#srp-app .srp-dica {
  display: block !important;
  font-size: .76rem !important;
  color: var(--srp-CZ) !important;
  font-style: italic !important;
  margin-top: 5px !important;
}

/* Input */
#srp-app .srp-input {
  display: block !important;
  width: 100% !important;
  padding: 13px 15px !important;
  border: 2px solid #b7d5c1 !important;
  border-radius: var(--srp-r) !important;
  font-size: 1rem !important;
  color: #1c1c1c !important;
  background-color: #fff !important;
  background: #fff !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  transition: border-color var(--srp-T) !important;
}
#srp-app .srp-input:focus {
  border-color: #40916c !important;
  box-shadow: 0 0 0 3px rgba(64,145,108,.20) !important;
  outline: none !important;
}
#srp-app .srp-input::placeholder { color: #aab5a5 !important; }

/* Botões de gênero */
#srp-generos {
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
}
#srp-app .srp-gen-btn {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  padding: 13px 16px !important;
  border: 2px solid #b7d5c1 !important;
  border-radius: var(--srp-r) !important;
  background-color: #fff !important;
  background: #fff !important;
  color: #1c1c1c !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  transition: border-color var(--srp-T), background var(--srp-T), color var(--srp-T) !important;
}
#srp-app .srp-gen-btn:hover {
  border-color: #40916c !important;
  background-color: #d8f3dc !important;
  background: #d8f3dc !important;
}
#srp-app .srp-gen-btn.srp-gen-sel {
  border-color: #1a5c35 !important;
  background-color: #1a5c35 !important;
  background: #1a5c35 !important;
  color: #fff !important;
}

/* Botão primário */
#srp-app .srp-btn-pri {
  display: block !important;
  width: 100% !important;
  padding: 15px !important;
  background: linear-gradient(135deg, #1a5c35, #40916c) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--srp-r) !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(26,92,53,.35) !important;
  margin-top: 8px !important;
  text-align: center !important;
  -webkit-appearance: none !important;
  transition: opacity var(--srp-T), transform var(--srp-T) !important;
}
#srp-app .srp-btn-pri:hover  { opacity: .9 !important; transform: translateY(-1px) !important; }
#srp-app .srp-btn-pri:active { transform: translateY(0) !important; }

/* Botão secundário */
#srp-app .srp-btn-sec {
  padding: 13px 20px !important;
  background: transparent !important;
  color: #1a5c35 !important;
  border: 2px solid #1a5c35 !important;
  border-radius: var(--srp-r) !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  -webkit-appearance: none !important;
  transition: background var(--srp-T), color var(--srp-T) !important;
}
#srp-app .srp-btn-sec:hover { background: #1a5c35 !important; color: #fff !important; }

/* Erro */
#srp-app .srp-erro {
  min-height: 22px !important;
  color: #c0392b !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin-bottom: 6px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
}

/* Intro */
#srp-app .srp-intro { padding: 0 !important; overflow: hidden !important; }
#srp-app .srp-intro-top {
  background: linear-gradient(135deg, #1a5c35, #40916c) !important;
  padding: 28px 24px 22px !important;
  text-align: center !important;
}
#srp-app .srp-intro-top span { font-size: 2.4rem !important; display: block !important; margin-bottom: 10px !important; }
#srp-app .srp-intro-top h2 {
  color: #fff !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}
#srp-app .srp-intro-top p { color: #d8f3dc !important; font-size: .85rem !important; margin-top: 5px !important; padding: 0 !important; }
#srp-app .srp-intro-corpo { padding: 22px 24px 0 !important; line-height: 1.75 !important; }
#srp-app .srp-intro-corpo p { margin-bottom: 13px !important; }
#srp-app .srp-tempo-est {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: #d8f3dc !important;
  border: 1px solid #b7d5c1 !important;
  border-radius: var(--srp-r) !important;
  padding: 9px 14px !important;
  font-size: .9rem !important;
  color: #1a5c35 !important;
  margin: 4px 0 18px !important;
}
#srp-app .srp-intro .srp-btn-pri { margin: 0 24px 24px !important; width: calc(100% - 48px) !important; }

/* Barra topo form */
#srp-app .srp-barra-topo {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-bottom: 12px !important;
}
#srp-app .srp-timer-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: #fff !important;
  border: 1px solid #b7d5c1 !important;
  border-radius: 999px !important;
  padding: 5px 14px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.08) !important;
  white-space: nowrap !important;
}
#srp-app #srp-timer,
#srp-app #srp-timer2 {
  font-size: .95rem !important;
  font-weight: 800 !important;
  color: #1a5c35 !important;
  letter-spacing: .06em !important;
  font-variant-numeric: tabular-nums !important;
}
#srp-app .srp-prog-wrap { flex: 1 !important; display: flex !important; align-items: center !important; gap: 10px !important; min-width: 130px !important; }
#srp-app .srp-prog-bg { flex: 1 !important; height: 8px !important; background: #d0e8d8 !important; border-radius: 999px !important; overflow: hidden !important; }
#srp-app .srp-prog-fill {
  height: 100% !important;
  background: linear-gradient(90deg, #1a5c35, #40916c) !important;
  border-radius: 999px !important;
  transition: width .4s ease !important;
  width: 0 !important;
}
#srp-app #srp-prog-txt { font-size: .78rem !important; font-weight: 700 !important; color: #5e6e62 !important; white-space: nowrap !important; }

/* Título step */
#srp-app .srp-step-titulo {
  font-size: 1.08rem !important;
  font-weight: 800 !important;
  color: #1a5c35 !important;
  margin: 0 0 20px 0 !important;
  padding: 0 0 12px 0 !important;
  border-bottom: 2px solid #d8f3dc !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  background: none !important;
}

/* Pergunta */
#srp-app .srp-pergunta { margin-bottom: 26px !important; }
#srp-app .srp-perg-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 9px !important;
  font-size: .97rem !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
  color: #1c1c1c !important;
  margin-bottom: 12px !important;
}
#srp-app .srp-num-badge {
  flex-shrink: 0 !important;
  min-width: 26px !important;
  height: 26px !important;
  padding: 0 4px !important;
  background: #1a5c35 !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 2px !important;
}
#srp-app .srp-perg-txt { flex: 1 !important; }

/* Opções */
#srp-app .srp-opcoes { display: flex !important; flex-direction: column !important; gap: 8px !important; }
#srp-app .srp-opcao {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 15px !important;
  border: 2px solid #b7d5c1 !important;
  border-radius: var(--srp-r) !important;
  cursor: pointer !important;
  font-size: .95rem !important;
  background: #fff !important;
  color: #1c1c1c !important;
  user-select: none !important;
  margin: 0 !important;
  transition: border-color var(--srp-T), background var(--srp-T) !important;
}
#srp-app .srp-opcao:hover { border-color: #40916c !important; background: #d8f3dc !important; }
#srp-app .srp-opcao.sel { border-color: #1a5c35 !important; background: #d8f3dc !important; font-weight: 700 !important; }
#srp-app .srp-opcao input[type="radio"],
#srp-app .srp-opcao input[type="checkbox"] {
  accent-color: #1a5c35 !important;
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
}

/* Estrelas */
#srp-app .srp-stars { display: flex !important; align-items: center !important; gap: 4px !important; flex-wrap: wrap !important; }
#srp-app .srp-star { font-size: 2.1rem !important; cursor: pointer !important; color: #ccc !important; line-height: 1 !important; user-select: none !important; transition: color var(--srp-T), transform var(--srp-T) !important; }
#srp-app .srp-star.on, #srp-app .srp-star.hover { color: #c9a227 !important; transform: scale(1.12) !important; }
#srp-app .srp-star-label { margin-left: 8px !important; font-size: .85rem !important; font-weight: 700 !important; color: #5e6e62 !important; }

/* Sim/Não */
#srp-app .srp-sn { display: flex !important; gap: 12px !important; }
#srp-app .srp-sn-btn {
  flex: 1 !important;
  padding: 14px 10px !important;
  border-radius: var(--srp-r) !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  text-align: center !important;
  -webkit-appearance: none !important;
  transition: background var(--srp-T), color var(--srp-T), box-shadow var(--srp-T) !important;
}
#srp-app .srp-sn-btn.srp-sn-sim { border: 2.5px solid #1a5c35 !important; background: #fff !important; color: #1a5c35 !important; }
#srp-app .srp-sn-btn.srp-sn-sim:hover,
#srp-app .srp-sn-btn.srp-sn-sim.srp-sn-sel { background: #1a5c35 !important; color: #fff !important; box-shadow: 0 3px 10px rgba(26,92,53,.30) !important; }
#srp-app .srp-sn-btn.srp-sn-nao { border: 2.5px solid #c0392b !important; background: #fff !important; color: #c0392b !important; }
#srp-app .srp-sn-btn.srp-sn-nao:hover,
#srp-app .srp-sn-btn.srp-sn-nao.srp-sn-sel { background: #c0392b !important; color: #fff !important; box-shadow: 0 3px 10px rgba(192,57,43,.25) !important; }

/* Textarea */
#srp-app .srp-textarea {
  display: block !important;
  width: 100% !important;
  padding: 13px 15px !important;
  border: 2px solid #b7d5c1 !important;
  border-radius: var(--srp-r) !important;
  font-size: .97rem !important;
  color: #1c1c1c !important;
  background: #fff !important;
  resize: vertical !important;
  min-height: 110px !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  transition: border-color var(--srp-T) !important;
}
#srp-app .srp-textarea:focus { border-color: #40916c !important; box-shadow: 0 0 0 3px rgba(64,145,108,.20) !important; }

/* Nav */
#srp-app .srp-nav { display: flex !important; gap: 12px !important; margin-top: 22px !important; }
#srp-app .srp-nav .srp-btn-pri { flex: 2 !important; margin-top: 0 !important; }
#srp-app .srp-nav .srp-btn-sec { flex: 1 !important; }
#srp-app .srp-sub { color: #5e6e62 !important; margin-bottom: 18px !important; font-size: .92rem !important; padding: 0 !important; }

/* Revisão */
#srp-app .srp-rev-sec { margin-bottom: 20px !important; }
#srp-app .srp-rev-sec h4 {
  font-size: .73rem !important; font-weight: 800 !important; letter-spacing: .08em !important; text-transform: uppercase !important;
  color: #1a5c35 !important; border-bottom: 1px solid #b7d5c1 !important; border-top: none !important; border-left: none !important; border-right: none !important;
  padding: 0 0 7px 0 !important; margin: 0 0 10px 0 !important; background: none !important;
}
#srp-app .srp-rev-item { margin-bottom: 9px !important; }
#srp-app .srp-rev-q { font-size: .82rem !important; color: #5e6e62 !important; margin-bottom: 2px !important; padding: 0 !important; }
#srp-app .srp-rev-a { font-size: .94rem !important; font-weight: 700 !important; padding: 7px 11px !important; background: #d8f3dc !important; border-radius: var(--srp-r) !important; color: #1a5c35 !important; border: none !important; }

/* Obrigado */
#srp-app .srp-obrigado { text-align: center !important; padding: 48px 24px !important; }
#srp-app .srp-ok-icon { font-size: 3.6rem !important; display: block !important; margin-bottom: 16px !important; animation: srp-pop .5s ease !important; }
@keyframes srp-pop { 0%{transform:scale(0);opacity:0} 70%{transform:scale(1.25)} 100%{transform:scale(1);opacity:1} }
#srp-app .srp-obrigado h2 { font-size: 1.22rem !important; color: #1a5c35 !important; margin: 0 0 13px 0 !important; padding: 0 !important; border: none !important; background: none !important; }
#srp-app .srp-obrigado p { color: #5e6e62 !important; line-height: 1.7 !important; margin-bottom: 14px !important; padding: 0 !important; }
#srp-app .srp-tempo-final { font-size: .85rem !important; color: #5e6e62 !important; }

/* Rodapé */
#srp-app .srp-rodape,#srp-adm .srp-rodape {
  width: 100% !important; text-align: center !important; padding: 16px !important;
  background: #1a5c35 !important; color: rgba(255,255,255,.80) !important;
  font-size: .76rem !important; line-height: 1.65 !important; margin-top: auto !important;
}

/* ══ PAINEL ADMINISTRATIVO ══ */
#srp-adm {
  background: #eef3ee !important;
  min-height: 100vh !important;
  font-family: 'Segoe UI', system-ui, sans-serif !important;
  font-size: 16px !important;
  color: #1c1c1c !important;
}
#srp-adm .adm-tela { display: none; }
#adm-login { display: none; align-items: center; justify-content: center; min-height: 100vh; background: #e0ebe2 !important; padding: 20px; }
#adm-login.adm-ativa { display: flex !important; }
#adm-painel { display: none; }
#adm-painel.adm-ativa { display: block !important; }

#srp-adm .adm-login-card { width: 100% !important; max-width: 440px !important; background: #fff !important; border-radius: 14px !important; box-shadow: 0 6px 32px rgba(0,0,0,.14) !important; overflow: hidden !important; }
#srp-adm .adm-login-top { background: linear-gradient(135deg,#1a5c35,#40916c) !important; padding: 32px 26px 24px !important; text-align: center !important; }
#srp-adm .adm-login-top img { max-width: 96px !important; display: block !important; margin: 0 auto 13px !important; }
#srp-adm .adm-login-top h2 { color: #fff !important; font-size: 1.28rem !important; font-weight: 800 !important; margin: 0 0 5px 0 !important; padding: 0 !important; border: none !important; background: none !important; }
#srp-adm .adm-login-top p { color: #d8f3dc !important; font-size: .85rem !important; margin: 0 !important; padding: 0 !important; }
#srp-adm .adm-login-corpo { padding: 26px 24px 22px !important; }
#srp-adm .srp-pw-row { position: relative !important; }
#srp-adm .srp-pw-row .srp-input { padding-right: 46px !important; }
#srp-adm .srp-pw-row button { position: absolute !important; right: 12px !important; top: 50% !important; transform: translateY(-50%) !important; background: none !important; border: none !important; cursor: pointer !important; font-size: 1.05rem !important; color: #5e6e62 !important; padding: 0 !important; }
#srp-adm .adm-seguro { text-align: center !important; font-size: .75rem !important; color: #5e6e62 !important; margin-top: 12px !important; padding: 0 !important; }

#srp-adm .adm-topbar { display: flex !important; align-items: center !important; justify-content: space-between !important; flex-wrap: wrap !important; gap: 10px !important; background: #1a5c35 !important; padding: 10px 18px !important; position: sticky !important; top: 0 !important; z-index: 200 !important; }
#srp-adm .adm-topbar-esq { display: flex !important; align-items: center !important; gap: 10px !important; color: #fff !important; font-size: .94rem !important; font-weight: 700 !important; }
#srp-adm .adm-topbar-esq span { font-size: .77rem !important; color: #d8f3dc !important; margin-left: 6px !important; }
#srp-adm .adm-topbar-dir { display: flex !important; align-items: center !important; gap: 8px !important; flex-wrap: wrap !important; }

#srp-adm .adm-zoom-ctrl { display: flex !important; align-items: center !important; gap: 8px !important; background: rgba(255,255,255,.15) !important; border: 1px solid rgba(255,255,255,.32) !important; border-radius: 999px !important; padding: 4px 12px !important; }
#srp-adm .adm-zoom-ctrl button { background: none !important; border: none !important; font-size: 18px !important; cursor: pointer !important; color: #fff !important; padding: 2px 5px !important; border-radius: 5px !important; }
#srp-adm .adm-zoom-ctrl button:hover { background: rgba(255,255,255,.2) !important; }
#srp-adm .adm-zoom-ctrl span { font-size: .83rem !important; font-weight: 700 !important; color: rgba(255,255,255,.88) !important; min-width: 42px !important; text-align: center !important; }
#srp-adm .adm-btn-topo { padding: 7px 11px !important; background: rgba(255,255,255,.13) !important; border: 1px solid rgba(255,255,255,.32) !important; border-radius: 8px !important; color: #fff !important; font-size: .82rem !important; font-weight: 700 !important; cursor: pointer !important; }
#srp-adm .adm-btn-topo:hover { background: rgba(255,255,255,.22) !important; }
#srp-adm .adm-btn-sair { background: rgba(200,50,30,.30) !important; border-color: rgba(255,100,80,.46) !important; }

#adm-inner { transform-origin: top left !important; }

#srp-adm .adm-abas { display: flex !important; border-bottom: 2px solid #b7d5c1 !important; background: #fff !important; padding: 0 16px !important; }
#srp-adm .adm-aba { padding: 12px 18px !important; background: none !important; border: none !important; border-bottom: 3px solid transparent !important; margin-bottom: -2px !important; cursor: pointer !important; font-size: .88rem !important; font-weight: 700 !important; color: #5e6e62 !important; }
#srp-adm .adm-aba.adm-aba-on { color: #1a5c35 !important; border-bottom-color: #1a5c35 !important; }
#srp-adm .adm-panel { display: none !important; padding: 20px 16px !important; }
#srp-adm .adm-panel.adm-panel-on { display: block !important; }

#srp-adm .adm-stats { display: grid !important; grid-template-columns: repeat(auto-fill,minmax(135px,1fr)) !important; gap: 12px !important; margin-bottom: 18px !important; }
#srp-adm .adm-stat { background: #fff !important; border-radius: 14px !important; box-shadow: 0 3px 14px rgba(0,0,0,.09) !important; border: 1px solid #b7d5c1 !important; padding: 16px !important; text-align: center !important; border-top: 4px solid #40916c !important; }
#srp-adm .adm-stat-n { font-size: 2rem !important; font-weight: 900 !important; color: #1a5c35 !important; line-height: 1 !important; }
#srp-adm .adm-stat-l { font-size: .7rem !important; color: #5e6e62 !important; margin-top: 5px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: .05em !important; }

#srp-adm .adm-charts { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 14px !important; margin-bottom: 18px !important; }
#srp-adm .adm-chart-card { background: #fff !important; border-radius: 14px !important; box-shadow: 0 3px 14px rgba(0,0,0,.09) !important; border: 1px solid #b7d5c1 !important; padding: 16px !important; }
#srp-adm .adm-chart-card h3 { font-size: .8rem !important; font-weight: 800 !important; color: #1a5c35 !important; text-transform: uppercase !important; letter-spacing: .05em !important; margin: 0 0 12px 0 !important; padding: 0 !important; border: none !important; background: none !important; }
#srp-adm .adm-chart-wide { grid-column: span 2 !important; }
#srp-adm .adm-canvas { position: relative !important; height: 215px !important; }
#srp-adm .adm-canvas canvas { max-height: 205px !important; }

#srp-adm .adm-sn-box { background: #fff !important; border-radius: 14px !important; box-shadow: 0 3px 14px rgba(0,0,0,.09) !important; border: 1px solid #b7d5c1 !important; padding: 18px 20px !important; margin-bottom: 18px !important; }
#srp-adm .adm-sn-box h3 { font-size: .8rem !important; font-weight: 800 !important; color: #1a5c35 !important; text-transform: uppercase !important; letter-spacing: .05em !important; margin: 0 0 14px 0 !important; padding: 0 !important; border: none !important; background: none !important; }
#srp-adm .adm-sn-row { margin-bottom: 14px !important; }
#srp-adm .adm-sn-tit { font-size: .91rem !important; font-weight: 700 !important; margin-bottom: 5px !important; color: #1c1c1c !important; }
#srp-adm .adm-sn-bg { height: 12px !important; background: #ddeee4 !important; border-radius: 999px !important; overflow: hidden !important; margin-bottom: 4px !important; }
#srp-adm .adm-sn-fill { height: 100% !important; border-radius: 999px !important; transition: width .6s ease !important; }
#srp-adm .adm-sn-sim-fill { background: linear-gradient(90deg,#1a5c35,#40916c) !important; }
#srp-adm .adm-sn-nao-fill { background: linear-gradient(90deg,#d4882a,#e8a840) !important; }
#srp-adm .adm-sn-cnt { font-size: .75rem !important; color: #5e6e62 !important; }

#srp-adm .adm-tabela-wrap { overflow-x: auto !important; border-radius: 14px !important; box-shadow: 0 3px 14px rgba(0,0,0,.09) !important; border: 1px solid #b7d5c1 !important; }
#srp-adm .adm-tabela { width: 100% !important; border-collapse: collapse !important; background: #fff !important; font-size: .9rem !important; }
#srp-adm .adm-tabela th { background: #1a5c35 !important; color: #fff !important; padding: 12px 14px !important; text-align: left !important; font-size: .75rem !important; font-weight: 800 !important; letter-spacing: .05em !important; text-transform: uppercase !important; white-space: nowrap !important; border: none !important; }
#srp-adm .adm-tabela td { padding: 11px 14px !important; border: none !important; border-bottom: 1px solid #f0f0ea !important; white-space: nowrap !important; color: #1c1c1c !important; background: none !important; }
#srp-adm .adm-tabela tr:last-child td { border-bottom: none !important; }
#srp-adm .adm-tabela tr:hover td { background: #d8f3dc !important; }
#srp-adm .adm-acoes { display: flex !important; gap: 6px !important; }
#srp-adm .adm-btn-ver { padding: 5px 10px !important; border-radius: 6px !important; font-size: .75rem !important; font-weight: 800 !important; cursor: pointer !important; background: #d8f3dc !important; color: #1a5c35 !important; border: 1px solid #b7d5c1 !important; }
#srp-adm .adm-btn-del { padding: 5px 10px !important; border-radius: 6px !important; font-size: .75rem !important; font-weight: 800 !important; cursor: pointer !important; background: #fde8e8 !important; color: #c0392b !important; border: 1px solid #f5b5b5 !important; }

#adm-modal { position: fixed !important; inset: 0 !important; background: rgba(0,0,0,.48) !important; z-index: 8000 !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 20px !important; }
#srp-adm .adm-modal-box { background: #fff !important; border-radius: 14px !important; box-shadow: 0 8px 40px rgba(0,0,0,.18) !important; width: 100% !important; max-width: 520px !important; max-height: 86vh !important; overflow-y: auto !important; padding: 24px !important; position: relative !important; }
#srp-adm .adm-modal-x { position: absolute !important; top: 12px !important; right: 13px !important; background: none !important; border: none !important; font-size: 1rem !important; cursor: pointer !important; color: #5e6e62 !important; padding: 4px !important; }
#srp-adm .adm-modal-box h3 { font-size: .98rem !important; font-weight: 800 !important; color: #1a5c35 !important; margin: 0 0 14px 0 !important; padding: 0 !important; border: none !important; background: none !important; }
#srp-adm .adm-modal-campo { margin-bottom: 11px !important; }
#srp-adm .adm-modal-campo label { font-size: .7rem !important; font-weight: 800 !important; color: #5e6e62 !important; text-transform: uppercase !important; display: block !important; margin-bottom: 3px !important; }
#srp-adm .adm-modal-val { font-size: .91rem !important; padding: 7px 11px !important; background: #f4f7f4 !important; border-radius: 6px !important; border: 1px solid #b7d5c1 !important; color: #1c1c1c !important; }
#srp-adm .adm-modal-inp,#srp-adm .adm-modal-ta { width: 100% !important; padding: 7px 11px !important; border: 2px solid #b7d5c1 !important; border-radius: 6px !important; font-size: .91rem !important; color: #1c1c1c !important; background: #fff !important; outline: none !important; }
#srp-adm .adm-modal-ta { resize: vertical !important; min-height: 56px !important; }
#srp-adm .adm-modal-rodape { display: flex !important; gap: 10px !important; margin-top: 16px !important; justify-content: flex-end !important; }

#srp-adm .srp-btn-pri { display: block !important; padding: 13px 20px !important; background: linear-gradient(135deg,#1a5c35,#40916c) !important; color: #fff !important; border: none !important; border-radius: 8px !important; font-size: .95rem !important; font-weight: 800 !important; cursor: pointer !important; text-align: center !important; width: 100% !important; margin-top: 4px !important; }
#srp-adm .srp-btn-sec { padding: 11px 18px !important; background: transparent !important; color: #1a5c35 !important; border: 2px solid #1a5c35 !important; border-radius: 8px !important; font-size: .88rem !important; font-weight: 700 !important; cursor: pointer !important; }
#srp-adm .srp-input { display: block !important; width: 100% !important; padding: 12px 14px !important; border: 2px solid #b7d5c1 !important; border-radius: 8px !important; font-size: 1rem !important; color: #1c1c1c !important; background: #fff !important; outline: none !important; -webkit-appearance: none !important; box-shadow: none !important; margin: 0 !important; }
#srp-adm .srp-input:focus { border-color: #40916c !important; box-shadow: 0 0 0 3px rgba(64,145,108,.18) !important; }
#srp-adm .srp-label { display: block !important; font-size: .72rem !important; font-weight: 800 !important; letter-spacing: .09em !important; text-transform: uppercase !important; color: #1a5c35 !important; margin-bottom: 7px !important; padding: 0 !important; background: none !important; border: none !important; }
#srp-adm .srp-campo-wrap { margin-bottom: 18px !important; }
#srp-adm .srp-erro { min-height: 22px !important; color: #c0392b !important; font-size: .85rem !important; font-weight: 700 !important; text-align: center !important; margin-bottom: 6px !important; }

@media(max-width:640px){
  #srp-content{padding:0 10px 20px!important}
  #srp-app .srp-card{padding:20px 15px!important}
  #srp-adm .adm-charts{grid-template-columns:1fr!important}
  #srp-adm .adm-chart-wide{grid-column:span 1!important}
  #srp-adm .adm-topbar{padding:8px 12px!important}
  #srp-adm .adm-abas{padding:0 6px!important}
  #srp-adm .adm-aba{padding:10px!important;font-size:.82rem!important}
  #srp-adm .adm-panel{padding:12px 10px!important}
  #srp-adm .adm-stats{grid-template-columns:1fr 1fr!important}
  #srp-app .srp-barra-topo{flex-direction:column!important;align-items:flex-start!important}
  #srp-app .srp-prog-wrap{width:100%!important}
}
@media(max-width:400px){
  #srp-app .srp-star{font-size:1.75rem!important}
  #srp-app .srp-sn{flex-direction:column!important}
  #srp-adm .adm-stats{grid-template-columns:1fr!important}
}
