/* Geosafra Leve — visual chapado para tablets fracos / Android antigo.
   Regras: sem sombra, sem blur, sem gradiente, sem transicao/animacao,
   fonte do sistema, cores solidas, alvos de toque grandes. */

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  background: #f0f0f0;
  color: #1a1a1a;
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-size: 18px;
  -webkit-text-size-adjust: 100%;
}

#app { display: flex; flex-direction: column; height: 100%; }

/* Barra de topo */
#topbar {
  display: flex;
  align-items: center;
  background: #08633a;
  color: #fff;
  height: 52px;
  padding: 0 10px;
}
#topbar #topTitle { font-weight: bold; font-size: 19px; flex: 1; margin: 0 6px; }
#backBtn {
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 26px;
  width: 44px;
  height: 44px;
  line-height: 44px;
  padding: 0;
}
#netDot { width: 12px; height: 12px; border-radius: 50%; background: #4caf50; display: inline-block; }
#netDot.off { background: #d33; }

/* Area principal rolavel */
#main { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.screen { padding: 12px; }

/* Listas / cartoes */
.card {
  display: block;
  width: 100%;
  text-align: left;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 14px;
  margin: 0 0 10px 0;
  font-size: 18px;
  color: #1a1a1a;
}
.card:active { background: #e8f2ec; }
.card .t { font-weight: bold; display: block; margin-bottom: 3px; }
.card .s { font-size: 15px; color: #555; display: block; }
.card .badge { float: right; font-size: 13px; color: #08633a; font-weight: bold; }

/* Botao grande */
.btn {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 4px;
  padding: 16px;
  font-size: 19px;
  font-weight: bold;
  margin: 8px 0 0 0;
  color: #fff;
  background: #08633a;
}
.btn.sec { background: #555; }
.btn.warn { background: #b8860b; }
.btn:active { opacity: 0.85; }

/* Grade de modulos */
.mod {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  border-radius: 4px;
  padding: 22px 16px;
  margin: 0 0 12px 0;
  font-size: 22px;
  font-weight: bold;
  color: #fff;
}
.mod.solo { background: #6d4c2f; }
.mod.cana { background: #08633a; }
.mod.milho { background: #b8860b; }
.mod:active { opacity: 0.85; }
.mod .desc { display: block; font-size: 14px; font-weight: normal; margin-top: 4px; opacity: 0.9; }

.muted { color: #777; font-size: 15px; padding: 8px 2px; }
.err { color: #c0392b; font-size: 15px; padding: 8px 2px; }

/* Toast simples */
#toast {
  position: fixed;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
  background: #222;
  color: #fff;
  padding: 10px 16px;
  border-radius: 4px;
  font-size: 15px;
  max-width: 90%;
  z-index: 50;
}
