* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  background: #f4f5f7;
  color: #1c2733;
  -webkit-tap-highlight-color: transparent;
}
.brand {
  background: #16324f;
  color: #fff;
  padding: 36px 24px 28px;
  text-align: center;
}
.brand-name {
  color: #d4af37;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 14px;
}
.brand h1 { margin: 0 0 8px; font-size: 32px; }
.subtitle { margin: 0; opacity: 0.85; font-size: 17px; }
main { max-width: 560px; margin: 0 auto; padding: 20px 20px 40px; }
.banner {
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 16px;
  font-size: 16px;
  text-align: center;
}
.banner.offline { background: #fff3cd; color: #664d03; }
.banner.thanks { background: #d1e7dd; color: #0f5132; font-weight: 600; }
.hidden { display: none; }
form, .sync, .event {
  background: #fff;
  border-radius: 14px;
  padding: 22px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  margin-bottom: 18px;
}
label { display: block; font-size: 16px; font-weight: 600; margin-bottom: 16px; }
label .optional { font-weight: 400; color: #667085; }
input {
  display: block;
  width: 100%;
  margin-top: 8px;
  padding: 14px;
  font-size: 18px;
  border: 1.5px solid #cbd2da;
  border-radius: 10px;
  background: #fff;
}
input:focus { outline: none; border-color: #16324f; }
button {
  width: 100%;
  padding: 16px;
  font-size: 19px;
  font-weight: 700;
  color: #fff;
  background: #16324f;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  min-height: 52px;
}
button:active { opacity: 0.85; }
button.secondary {
  width: auto;
  padding: 10px 16px;
  font-size: 15px;
  min-height: 44px;
  background: #eef1f4;
  color: #16324f;
}
.privacy { text-align: center; color: #667085; font-size: 13px; margin: 14px 0 0; }
.sync h2 { margin: 0 0 8px; font-size: 19px; }
#syncSummary { margin: 0 0 12px; font-size: 16px; }
.sync-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
#entryList { list-style: none; margin: 0; padding: 0; }
.entry {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  align-items: baseline;
  padding: 10px 0;
  border-top: 1px solid #eef1f4;
  font-size: 15px;
}
.entry.empty { color: #667085; }
.entry-name { font-weight: 600; }
.entry-email { color: #475467; }
.entry-time { color: #98a2b3; font-size: 13px; }
.badge {
  margin-left: auto;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
}
.badge.synced { background: #d1e7dd; color: #0f5132; }
.badge.pending { background: #fff3cd; color: #664d03; }
.badge.failed { background: #f8d7da; color: #842029; }
.event summary { font-weight: 700; font-size: 16px; cursor: pointer; }
.event label { margin-top: 16px; }
.hint { color: #667085; font-size: 13px; margin: 0; }
footer { text-align: center; color: #98a2b3; font-size: 13px; padding-bottom: 24px; }
