* { box-sizing: border-box; }
body {
  font-family: -apple-system, Helvetica, Arial, sans-serif;
  background: #0b3d5c;
  color: #10314b;
  margin: 0;
  min-height: 100vh;
}
.wrap {
  max-width: 720px;
  margin: 0 auto;
  padding: 24px 16px 60px;
}
.card {
  background: #fff;
  border-radius: 14px;
  padding: 20px;
  margin-bottom: 16px;
  box-shadow: 0 2px 10px rgba(0,0,0,.15);
}
h1 { color: #fff; font-size: 22px; margin: 0 0 16px; }
h2 { margin-top: 0; font-size: 17px; }
label { display: block; font-size: 13px; font-weight: bold; margin: 10px 0 4px; color: #0b3d5c; }
input, select, button {
  font-size: 16px;
  padding: 12px;
  width: 100%;
  border-radius: 8px;
  border: 1px solid #ccd7de;
}
button {
  background: #0b3d5c;
  color: #fff;
  border: none;
  font-weight: bold;
  cursor: pointer;
  margin-top: 14px;
}
button:active { opacity: .8; }
button.secondary { background: #6a7c88; }
button.big { padding: 20px; font-size: 20px; }
.grid { display: grid; gap: 10px; }
.horario-btn {
  text-align: left;
  background: #f0f6fa;
  color: #0b3d5c;
  border: 1.5px solid #146a94;
  padding: 16px;
}
.status-row { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid #eee; }
.dot { width: 14px; height: 14px; border-radius: 50%; flex: none; }
.dot.cinza { background: #b0bec5; }
.dot.laranja { background: #e8a800; }
.dot.verde { background: #1a8a4a; }
.dot.vermelho { background: #c0392b; }
.status-info { flex: 1; }
.status-info small { color: #666; display: block; }
.muted { color: #666; font-size: 14px; }
.big-amount { font-size: 40px; font-weight: bold; color: #0b3d5c; text-align: center; margin: 20px 0; }
iframe.checkout { width: 100%; height: 70vh; border: none; border-radius: 10px; }
.center { text-align: center; }
.error { background: #ffe4e1; color: #a02020; padding: 12px; border-radius: 8px; margin: 10px 0; }
