/* PWA 3.5 · consolidação de utilização real / iOS */
button,.item,.quick-action,.nav-btn,.text-link{touch-action:manipulation}
button,.mini-btn,.text-link{min-height:44px}

.field input,.field select,.field textarea,.item select{
  font-size:16px;
  scroll-margin-top:calc(96px + env(safe-area-inset-top));
  scroll-margin-bottom:calc(120px + env(safe-area-inset-bottom));
}

.page{
  padding-bottom:calc(22px + env(safe-area-inset-bottom));
  overflow-wrap:anywhere;
}

.sticky-save{
  bottom:calc(86px + env(safe-area-inset-bottom));
  z-index:12;
}

.connection-banner{
  position:sticky;
  z-index:45;
  top:0;
  padding:calc(7px + env(safe-area-inset-top)) 14px 7px;
  color:#713d00;
  font-size:12px;
  font-weight:750;
  text-align:center;
  background:#fff3cd;
  border-bottom:1px solid #ebd49a;
}

.pwa-update-banner{
  position:fixed;
  z-index:90;
  right:12px;
  bottom:calc(84px + env(safe-area-inset-bottom));
  left:12px;
  display:flex;
  max-width:720px;
  margin:auto;
  padding:12px;
  align-items:center;
  gap:12px;
  color:#13233b;
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:0 16px 44px #0b2c5533;
}
.pwa-update-banner div{min-width:0;flex:1}
.pwa-update-banner strong,.pwa-update-banner small{display:block}
.pwa-update-banner small{margin-top:3px;color:var(--muted)}
.pwa-update-banner .btn{flex:0 0 auto}

.context-pill{
  display:inline-flex;
  margin-top:10px;
  padding:5px 9px;
  color:var(--blue);
  font-size:11px;
  font-weight:750;
  background:#eaf2fc;
  border-radius:999px;
}
.profile-card.is-selected{
  border-color:color-mix(in srgb,var(--blue) 45%,var(--border));
  box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 12%,transparent);
}
.notification.is-unread{border-left:4px solid var(--blue)}
.deep-link-target{animation:deepLinkPulse 1.5s ease-out 1}
@keyframes deepLinkPulse{
  0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--blue) 40%,transparent)}
  50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--blue) 10%,transparent)}
  100%{box-shadow:0 0 0 0 transparent}
}

.install-help ol{margin:0;padding-left:22px}
.install-help li{margin:0 0 14px;line-height:1.5}
.install-help p{margin:8px 0 0}
.startup-card .loader{margin:20px auto 4px}
.error-state p{line-height:1.5}
.error-state small{display:block;margin-top:14px;line-height:1.45}

/* Safari/iOS: evitar zoom involuntário e manter botões acima do teclado. */
@supports (-webkit-touch-callout:none){
  input,select,textarea{font-size:16px!important}
  .login{padding-top:calc(28px + env(safe-area-inset-top));padding-bottom:calc(28px + env(safe-area-inset-bottom))}
  .signature-pad{max-height:42vh}
}

.dark .connection-banner{color:#ffe7aa;background:#3b2c0b;border-color:#654d17}
.dark .pwa-update-banner{color:#edf4ff;background:#172235;border-color:#34445d}
.dark .context-pill{color:#a8d5ff;background:#203a5d}
.dark .profile-card.is-selected{border-color:#4c81bf}

@media(max-width:520px){
  .pwa-update-banner{align-items:stretch;flex-direction:column}
  .pwa-update-banner .btn{width:100%}
}

@media(min-width:700px){
  .pwa-update-banner{bottom:104px}
  .sticky-save{bottom:108px}
}
