body {
  background: #fafbfc;
  font-family: 'Segoe UI', Arial, sans-serif;
  margin: 0;
  padding: 0;
}
main {
  max-width: 900px;
  margin: 2em auto;
  background: #fff;
  border-radius: 8px;
  padding: 2em;
  box-shadow: 0 4px 24px rgba(0,0,0,0.08);
}
h1 {
  text-align: center;
  margin-bottom: 1.1em;
}
.question {
  margin-bottom: 2em;
  padding: 1em;
  border: 1px solid #c7e2fa;
  border-radius: 6px;
  background: #f6faff;
}
legend {
  font-weight: bold;
  color: #085397;
  padding: 0 .6em;
}
label {
  font-weight: 500;
  display: block;
  margin-bottom: 0.3em;
  cursor: pointer;
}
input[type="text"],
select,
textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 0.5em;
  border: 1px solid #ccd6dd;
  border-radius: 4px;
  margin-bottom: 0.4em;
}
input[type="checkbox"],
input[type="radio"] {
  margin-right: .4em;
}
input[type="checkbox"],
input[type="radio"] {
  accent-color: #1875d1;
}
button[type="submit"], .form-buttons button {
  background: #0073e6;
  color: #fff;
  border: none;
  padding: 0.7em 2em;
  border-radius: 4px;
  font-size: 1em;
  cursor: pointer;
  margin: .3em .4em .3em 0;
  display: inline-block;
}
button[type="submit"]:hover,
.form-buttons button:hover {
  background: #005bb5;
}
.form-buttons {
  text-align: center;
  margin-top: 2em;
}
#resultado {
  margin-top: 2em;
  padding: 1.2em;
  background: #e8f3ff;
  border-radius: 6px;
  border: 1px solid #b3d7ff;
  color: #184d7a;
  font-size: 1.1em;
}
.hidden {
  display: none;
}
/* For better table appearance */
table {
  width: 100%;
  border-collapse: collapse;
  margin: 1em 0;
  font-size: 1em;
}
th, td {
  text-align: center;
  border: 1px solid #d3e7fa;
  padding: 0.4em 0.2em;
}
th {
  background: #eaf3fa;
  font-weight: bold;
  color: #225a7b;
}
td:first-child, th:first-child {
  text-align: left;
  padding-left: .7em;
}
#dashboard {
  margin-top: 2em;
  background: #fbfcff;
  border: 2px solid #bbe3e6;
  padding: 2em;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(50,151,210,0.08);
}
#dashboard h2 {
  text-align: center;
  color: #128;
  margin-top: 0;
}
.dash-columns {
  display: flex;
  flex-direction: column;
  gap: 1.4em;
}
#dashboard table {
  background: #fafdff;
  border: 1px solid #bfe4ff;
  font-size: 0.97em;
}
#dashboard ul {
  margin: .1em 0 .9em 1.2em;
  padding: 0;
}
#dashboard b {
  display: block;
  margin: .7em 0 .3em;
  color: #13649c;
}
@media (max-width: 700px) {
  main {
    max-width: 100%;
    padding: 1em;
  }
  table {
    font-size: .97em;
  }
  #dashboard {
    padding: .7em;
  }
}

/* Dashboard graficos */
.chart-row {
  display: flex;
  flex-wrap: wrap;
  gap: 2em;
  align-items: flex-start;
  justify-content: flex-start;
  margin-bottom: 1.6em;
}
.chart-row canvas {
  background: #fafdff;
  border-radius: 7px;
  border: 1px solid #d8ebfd;
  box-shadow: 0 1px 4px #2670aa11;
  padding: 1.5em .8em 1.2em 1.2em;
  max-width: 520px;
  min-width: 280px;
  min-height: 280px;
}
@media (max-width: 1200px) {
  .chart-row {
    flex-direction: column;
    align-items: center;
    gap: 1.2em;
  }
}