:root {
  --azul-marinho: #243c7f;
  --texto: #1a1a1a;
  --fundo: #ffffff;
  --card: #f4f6fb;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: 'Roboto', Arial, sans-serif;
  background: var(--fundo);
  color: var(--texto);
}

.container {
  max-width: 560px;
  margin: 0 auto;
  padding: 24px 20px 48px;
}

.logo {
  display: block;
  width: 140px;
  margin: 24px auto;
  border-radius: 8px;
}

h1 {
  font-weight: 900;
  font-size: 1.6rem;
  text-align: center;
  color: var(--azul-marinho);
  margin-bottom: 8px;
}

.subtitulo {
  text-align: center;
  font-weight: 400;
  margin-bottom: 24px;
  line-height: 1.5;
}

.indicador-badge {
  background: var(--card);
  border-radius: 12px;
  padding: 16px;
  text-align: center;
  font-weight: 500;
  margin-bottom: 24px;
}

.indicador-badge strong {
  color: var(--azul-marinho);
  font-weight: 700;
}

form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

label {
  font-weight: 500;
  font-size: 0.9rem;
  margin-bottom: 4px;
  display: block;
}

input, select {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #d8dce8;
  border-radius: 8px;
  font-family: inherit;
  font-size: 1rem;
  background: #ffffff;
  color: var(--texto);
}

input:focus, select:focus {
  outline: none;
  border-color: var(--azul-marinho);
}

.unidade-preview {
  display: none;
  background: var(--card);
  border-radius: 12px;
  overflow: hidden;
  margin-top: -4px;
}

.unidade-preview.visivel { display: block; }

.unidade-preview img {
  width: 100%;
  height: 170px;
  object-fit: contain;
  object-position: center;
  background: #0000000d;
  display: block;
}

.unidade-preview .endereco {
  padding: 10px 14px;
  font-size: 0.85rem;
}

.consentimento {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.82rem;
  font-weight: 400;
  line-height: 1.4;
}

.consentimento input {
  width: auto;
  margin-top: 3px;
  flex-shrink: 0;
}

.consentimento a {
  color: var(--azul-marinho);
}

button {
  background: var(--azul-marinho);
  color: #ffffff;
  border: none;
  border-radius: 6px;
  padding: 14px;
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  margin-top: 8px;
}

button:disabled { opacity: 0.6; cursor: default; }

.mensagem {
  text-align: center;
  margin-top: 16px;
  font-weight: 500;
  min-height: 1.2em;
}

.mensagem.erro { color: #b3261e; }
.mensagem.sucesso { color: #1e6b3a; }

.tela-erro, .tela-sucesso {
  display: none;
  text-align: center;
  padding: 48px 20px;
}

.btn-whatsapp {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
  background: #25d366;
  color: #ffffff;
  text-decoration: none;
  font-weight: 700;
  padding: 14px 24px;
  border-radius: 6px;
}

.btn-whatsapp::before {
  content: "";
  width: 20px;
  height: 20px;
  background-color: #ffffff;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2.05 22l5.25-1.38a9.87 9.87 0 0 0 4.74 1.21h.01c5.46 0 9.91-4.45 9.91-9.91 0-2.65-1.03-5.14-2.9-7.01A9.82 9.82 0 0 0 12.04 2zm5.8 14.16c-.24.68-1.4 1.3-1.94 1.38-.5.08-1.12.11-1.81-.11-.42-.13-.96-.31-1.65-.6-2.9-1.25-4.8-4.17-4.94-4.36-.14-.19-1.18-1.57-1.18-3 0-1.43.75-2.13 1.02-2.42.27-.29.58-.36.78-.36l.55.01c.18.01.42-.07.65.5.24.58.82 2 .89 2.15.07.15.12.32.02.51-.1.19-.15.31-.29.48-.15.17-.31.38-.44.51-.15.15-.3.31-.13.6.17.29.75 1.24 1.62 2.01 1.11.99 2.05 1.3 2.34 1.44.29.14.46.12.63-.07.17-.19.72-.84.91-1.13.19-.29.38-.24.63-.14.26.1 1.65.78 1.93.92.29.14.48.21.55.33.07.12.07.68-.17 1.36z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2.05 22l5.25-1.38a9.87 9.87 0 0 0 4.74 1.21h.01c5.46 0 9.91-4.45 9.91-9.91 0-2.65-1.03-5.14-2.9-7.01A9.82 9.82 0 0 0 12.04 2zm5.8 14.16c-.24.68-1.4 1.3-1.94 1.38-.5.08-1.12.11-1.81-.11-.42-.13-.96-.31-1.65-.6-2.9-1.25-4.8-4.17-4.94-4.36-.14-.19-1.18-1.57-1.18-3 0-1.43.75-2.13 1.02-2.42.27-.29.58-.36.78-.36l.55.01c.18.01.42-.07.65.5.24.58.82 2 .89 2.15.07.15.12.32.02.51-.1.19-.15.31-.29.48-.15.17-.31.38-.44.51-.15.15-.3.31-.13.6.17.29.75 1.24 1.62 2.01 1.11.99 2.05 1.3 2.34 1.44.29.14.46.12.63-.07.17-.19.72-.84.91-1.13.19-.29.38-.24.63-.14.26.1 1.65.78 1.93.92.29.14.48.21.55.33.07.12.07.68-.17 1.36z'/%3E%3C/svg%3E") no-repeat center / contain;
}
