:root {
  --brand: #16294D; --accent: #2F7BF5; --text: #0F172A; --muted: #5B6476; --bg: #F4F6FB; --card: #FFFFFF; --border: #E3E7EF;
  color-scheme: light;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body {
  background: var(--bg); color: var(--text);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  display: grid; place-items: center; min-height: 100vh; min-height: 100dvh;
  padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));
}
.box { width: 100%; max-width: 420px; background: var(--card); border: 1px solid var(--border); border-radius: 24px;
  box-shadow: 0 12px 32px rgba(22, 41, 77, .10); padding: 32px 24px; text-align: center; }
.logo { display: block; margin: 0 auto 12px; width: 210px; max-width: 70%; height: auto; }
h1 { font-size: 1.5rem; margin: 8px 0 4px; color: var(--brand); }
h2 { font-size: 1rem; margin: 0 0 8px; color: var(--brand); }
.status { color: var(--muted); margin: 0 0 20px; min-height: 1.4em; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; width: 100%;
  border-radius: 14px; background: var(--accent); color: #fff; font-weight: 700; font-size: 1rem; text-decoration: none;
  box-shadow: 0 6px 16px rgba(47, 123, 245, .30); }
.btn:active { transform: translateY(1px); }
.btn:focus-visible { outline: 3px solid var(--brand); outline-offset: 3px; }
.how { text-align: left; margin-top: 24px; padding: 16px; border-radius: 14px; background: var(--bg); font-size: .95rem; line-height: 1.45; }
.how p { margin: 6px 0; }
.small { color: var(--muted); font-size: .8rem; margin-top: 20px; line-height: 1.4; }
a { color: var(--accent); }

/* mostra só as instruções do aparelho em uso */
.only-android, .only-ios, .only-desktop { display: none; }
.is-android .only-android, .is-ios .only-ios, .is-desktop .only-desktop { display: block; }
.is-app .only-browser { display: none; }
