/* ClickAgenda PWA — melhorias específicas para instalação e toque */
.ca-mobile-nav[hidden], .ca-install-banner[hidden] { display: none !important; }
.ca-mobile-nav { display: none; }
.ca-install-banner { position: fixed; right: 16px; bottom: 20px; z-index: 800; display: flex; align-items: center; gap: 12px; max-width: min(440px, calc(100vw - 32px)); padding: 13px 15px; border-radius: 18px; background: #231d35; color: #fff; box-shadow: 0 12px 35px #1a143850; }
.ca-install-banner > div { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.ca-install-banner strong { font-size: 14px; }
.ca-install-banner span { font-size: 12px; color: #d3cae0; }
.ca-install-button { background: #9864d9; color: white; border: 0; padding: 10px 12px; border-radius: 12px; font-weight: 700; }
.ca-install-dismiss { background: transparent; color: white; border: 0; font-size: 26px; padding: 5px; }
@media (max-width: 768px) {
  html { -webkit-text-size-adjust: 100%; }
  body { min-width: 0; overflow-x: hidden; }
  .dashboard .container, .dashboard-container, .main-content { min-width: 0; max-width: 100%; }
  body.ca-pwa-dashboard-open { padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
  body.ca-pwa-dashboard-open .sidebar { display: none !important; }
  .ca-mobile-nav:not([hidden]) { position: fixed; display: flex; left: 0; right: 0; bottom: 0; padding: 8px 6px calc(7px + env(safe-area-inset-bottom)); gap: 2px; background: rgba(255,255,255,.97); border-top: 1px solid #eae5f3; box-shadow: 0 -6px 25px #221b3514; backdrop-filter: blur(16px); z-index: 700; justify-content: space-around; }
  .ca-mobile-item { min-width: 0; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border: 0; border-radius: 12px; padding: 8px 0; background: transparent; color: #776d89; font: 600 10px/1.15 system-ui, sans-serif; cursor: pointer; touch-action: manipulation; }
  .ca-mobile-item i { font-size: 17px; }
  .ca-mobile-item.active { background: #f1e9fb; color: #7645b4; }
  .ca-mobile-item:focus-visible { outline: 3px solid #a677df; outline-offset: -3px; }
  .ca-install-banner { bottom: calc(88px + env(safe-area-inset-bottom)); left: 10px; right: 10px; max-width: none; }
  body:not(.ca-pwa-dashboard-open) .ca-install-banner { bottom: calc(18px + env(safe-area-inset-bottom)); }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .main-content input, .main-content select, .main-content textarea { max-width: 100%; }
  .main-content button, .main-content a { touch-action: manipulation; }
}
@media (max-width: 380px) { .ca-mobile-item { font-size: 9px; } .ca-mobile-item i { font-size: 16px; } .stats-grid { grid-template-columns: 1fr !important; } }
