body {
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 14px;
  color: #333;
  margin: 0;
  padding: 0;
  background: #f5f5f5;
}

.container {
  max-width: 900px;
  margin: 20px auto;
  padding: 20px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 6px;
}

.banner-verde {
  background-color: #008c45;
  padding: 40px 20px;
  margin-bottom: 10px;
  text-align: center;
  color: #fff;
  border-radius: 6px 6px 0 0;
}

.banner-verde .logo {
  max-width: 150px;
  margin-bottom: 15px;
}

.banner-verde h1 {
  font-size: 24px;
  margin: 10px 0;
  font-weight: bold;
}

.banner-verde p {
  font-size: 14px;
  opacity: 0.9;
}


#logo {
  text-align: center;
  margin-bottom: 20px;
}

#logo img {
  max-width: 150px;
}

#titulo {
  text-align: center;
  margin-bottom: 20px;
}

#titulo h1 {
  font-size: 24px;
  margin: 0;
}

#titulo p {
  color: #666;
  font-size: 14px;
}

.intro {
  background: #fff8e1;
  padding: 15px;
  border: 1px solid #ffe082;
  border-radius: 4px;
  margin-bottom: 20px;
  line-height: 1.4;
}

form {
  margin-top: 20px;
}

form label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
}

form input[type="text"],
form input[type="email"],
form input[type="date"],
form input[type="file"],
form select,
form textarea {
  width: 100%;
  padding: 8px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}

form textarea {
  resize: vertical;
}

fieldset {
  margin-bottom: 20px;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
}

legend {
  font-weight: bold;
  font-size: 14px;
  padding: 0 5px;
}

hr {
  border: none;
  border-top: 1px solid #eee;
  margin: 15px 0;
}

small {
  font-size: 12px;
  color: #666;
  display: block;
  margin-top: -10px;
  margin-bottom: 15px;
}

button,
.form-contact-button {
  display: inline-block;
  background: #0094ff;
  color: #fff;
  border: none;
  padding: 10px 18px;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.2s ease;
}

button:hover,
.form-contact-button:hover {
  background: #007acc;
}

.g-recaptcha {
  margin: 20px 0;
}

textarea[disabled] {
  background: #fafafa;
  color: #555;
  font-size: 12px;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
}



:root{
  --bg:#f7f8fb;
  --card:#ffffff;
  --primary:#0b6cff;
  --muted:#6b7280;
  --success:#10b981;
  --danger:#ef4444;
  --glass: rgba(11,108,255,0.08);
  --radius:12px;
  --max-width:980px;
  --gap:16px;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  color-scheme: light;
}

*{box-sizing:border-box}
body{
  margin:0;
  background: linear-gradient(180deg, var(--bg), #ffffff);
  color:#111827;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  padding:28px 16px;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  min-height:100vh;
}

.container{
  width:100%;
  max-width:var(--max-width);
  background:var(--card);
  border-radius:16px;
  box-shadow: 0 8px 30px rgba(17,24,39,0.06);
  padding:22px;
  margin-bottom:32px;
}

.header h1{
  margin:0 0 6px 0;
  font-size:1.4rem;
}
.subtitle{
  margin:0;
  color:var(--muted);
  font-size:0.95rem;
}

.instructions{
  margin:18px 0;
  padding:12px;
  background: #fbfdff;
  border-radius:10px;
  border:1px solid rgba(15,23,42,0.04);
}

.legend{
  margin:8px 0 0 0;
  padding-left:18px;
  color:var(--muted);
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  list-style:none;
}
.legend li{margin:0; font-size:0.9rem; background:transparent}

.form .questions{
  margin-top:12px;
  display:grid;
  gap:12px;
}

.question{
  border-radius:12px;
  padding:12px;
  background: linear-gradient(180deg,#fff,#fbfbff);
  border:1px solid rgba(15,23,42,0.04);
}
.question legend{
  font-weight:600;
  font-size:0.98rem;
  margin-bottom:10px;
}
.qnum{color:var(--primary); margin-right:6px}

.choices{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.choice{
  display:flex;
  align-items:center;
  gap:8px;
  background:transparent;
  padding:6px 8px;
  border-radius:8px;
  cursor:pointer;
  user-select:none;
  transition:background .12s ease;
}
.choice input[type="radio"]{accent-color: var(--primary); width:16px; height:16px}
.choice-label{min-width:22px; text-align:center; font-weight:600; color:var(--muted)}

.choice:hover{background:rgba(11,108,255,0.03)}

.actions{
  display:flex;
  gap:10px;
  margin-top:18px;
}
.btn{
  background:var(--primary);
  color:#fff;
  padding:10px 14px;
  border-radius:10px;
  border:0;
  font-weight:600;
  cursor:pointer;
  box-shadow: 0 6px 18px rgba(11,108,255,0.12);
}
.btn:active{transform:translateY(1px)}
.btn-secondary{
  background:transparent;
  color:var(--primary);
  border:1px solid rgba(11,108,255,0.12);
  box-shadow:none;
}

.result{
  margin-top:22px;
  padding:14px;
  border-radius:12px;
  background: linear-gradient(180deg,#ffffff,#fcfdff);
  border:1px solid rgba(15,23,42,0.04);
}

.bars{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.bar-row{display:flex;align-items:center;gap:10px}
.bar{flex:1;height:14px;background:#eef2ff;border-radius:999px;overflow:hidden;box-shadow: inset 0 -1px 0 rgba(0,0,0,0.03)}
.fill{height:100%;width:0%;transition:width .6s ease; background: linear-gradient(90deg,var(--primary), #7cc3ff)}
.bar-row span{width:36px;text-align:right;font-weight:600;color:var(--muted);font-size:0.95rem}

.summary h3{margin:6px 0 4px 0}
.summary p{margin:6px 0;color:var(--muted)}

.note{font-size:0.88rem;color:#374151;margin-top:8px}

.footer{margin-top:18px;text-align:center;color:var(--muted);font-size:0.82rem}

/* Responsividade */
@media (max-width:720px){
  .choices{gap:6px}
  .question{padding:10px}
  .container{padding:16px}
  .bar-row span{display:none}
}
