/* Shared mobile-first styles - aplicado apenas em páginas com body.page-mobile (não sobrescreve telas como chamada AV) */
:root{
  --primary:#14b8a6;
  --muted:#64748b;
  --card-bg:#ffffff;
  --page-bg:#f7fafc;
}
body.page-mobile{
  height:100%;
  margin:0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background:var(--page-bg);
  color:#0f172a;
}
body.page-mobile .container,
body.page-mobile .card {
  max-width:720px;
  width:100%;
  margin: 0 auto;
  background: var(--card-bg);
  border-radius:12px;
  padding:18px;
  box-sizing:border-box;
}
body.page-mobile .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 16px;
  border-radius:12px;
  border:0;
  font-weight:700;
  font-size:16px;
  cursor:pointer;
  width:100%;
  box-sizing:border-box;
}
body.page-mobile .btn:disabled{ opacity:0.65; cursor:not-allowed; }
body.page-mobile .hint,
body.page-mobile .subtitle { color:var(--muted); font-size:14px; }
body.page-mobile label{ font-weight:600; color:#334155; margin-top:12px; display:block; }
body.page-mobile input,
body.page-mobile select,
body.page-mobile textarea{ width:100%; padding:12px; border-radius:10px; border:1px solid #e2e8f0; box-sizing:border-box; }
/* Mobile adjustments */
@media (max-width: 640px) {
  body.page-mobile .container,
  body.page-mobile .card { padding:18px; border-radius:14px; margin:12px; }
  body.page-mobile h1{ font-size:20px; margin:0 0 8px; text-align:center;}
  body.page-mobile .btn{ padding:14px; font-size:17px; border-radius:12px; }
  body.page-mobile .row{ display:block; }
}
@media (min-width: 641px) {
  body.page-mobile .card { max-width:720px; padding:28px; }
}

