/* Base styling for desktop and wider devices */
body {
  font-family: sans-serif;
  padding: 2em;
  max-width: 700px;
  margin: auto;
  background: #fdfdfd;
}

input[type="text"],
input[type="number"],
textarea,
select {
  font-size: 1em;
  padding: 0.6em;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 1em;
}

label {
  display: block;
  margin-bottom: 0.3em;
}

button {
  background: #1976d2;
  color: white;
  font-size: 1.1em;
  border: none;
  border-radius: 5px;
  padding: 12px 24px;
  cursor: pointer;
  margin-top: 1.5em;
}

button:hover {
  background: #145a9e;
}

header {
  display: flex;
  align-items: center;
  background: #f0f4fa;
  padding: 1em 2em;
  border-bottom: 2px solid #ccc;
}

header img {
  height: 60px;
  margin-right: 20px;
}

/* Responsive overrides for mobile only */
@media screen and (max-width: 480px) {
  body {
    font-size: 17px !important;
    padding: 0.4em 0.6em !important;
    max-width: 100% !important;
    margin: 20px !important;
  }

  input[type="text"],
  input[type="number"],
  textarea,
  select {
    font-size: 1.1em !important;
    padding: 0.75em !important;
  }

  button {
    padding: 10px 16px !important;
    font-size: 1.05em !important;
    margin-top: 1em !important;
  }

  header {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 0.8em 1em !important;
  }

  header img {
    margin-right: 0 !important;
    margin-bottom: 0.5em !important;
    height: 50px !important;
  }

  header p {
    font-size: 0.95em !important;
    text-align: left !important;
  }
}
