/* Manual do Cuidado Gerente — Mobile polish v4 | 06/11/2026
   Complementa o estilo existente. Evita interferir no layout/rotas PHP. */
html { scroll-padding-top: 84px; }
body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
a, button, .btn { -webkit-tap-highlight-color: transparent; }
button, .btn, input, select, textarea { touch-action: manipulation; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible {
  outline: 3px solid #60a5fa; outline-offset: 2px;
}
.panel,.metric,.hero,.quick-launch a { overflow-wrap: anywhere; }
.table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table-responsive .table { margin-bottom: 0; }
@media(min-width:992px){
  .main { padding-top: 22px; }
  .hero { min-height: 185px; padding: 25px 30px; }
  .metric { min-height: 148px; padding: 20px; }
  .metric .num { font-size: 33px; margin-top: 12px; }
  .quick-launch { margin: 15px 0 19px; gap: 11px; }
  .quick-launch a { padding: 13px 14px; min-height: 62px; }
  .panel { padding: 22px; }
}
@media(max-width:991px){
  html { scroll-padding-top: 65px; }
  body { width: 100%; }
  .main {
    width: 100%; min-width: 0; margin-left: 0 !important;
    padding: 10px 13px calc(95px + env(safe-area-inset-bottom)) !important;
  }
  .topbar {
    top: 0; z-index: 40; min-height: 66px;
    display: flex; flex-wrap: nowrap; align-items: center;
    padding: 10px 0 12px; margin: 0 0 13px;
    gap: 9px; border-bottom-color: #e3eaf4;
  }
  .topbar > div { min-width: 0; }
  .topbar .page-title { font-size: clamp(20px, 4.8vw, 25px); line-height: 1.16; margin-top: 2px; letter-spacing: -.7px; }
  .topbar .eyebrow { font-size: 9px; line-height: 1.3; letter-spacing: .8px; }
  .top-actions { gap: 7px; flex: 0 0 auto; }
  .top-actions .top-shortcut { display: none !important; }
  .avatar { width: 35px; height: 35px; min-width: 35px; border-radius: 11px; }
  .mobile-menu { width: 36px; height: 36px; min-width: 36px; border: 1px solid #e2eaf4; border-radius: 10px; }
  .quick-launch {
    display: grid; grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px; margin: 12px 0 15px;
  }
  .quick-launch a {
    gap: 9px; min-width: 0; min-height: 59px;
    padding: 11px 10px; border-radius: 13px;
    font-size: 12px; line-height: 1.25; font-weight: 700;
  }
  .quick-launch i {
    flex: 0 0 35px; width: 35px; height: 35px;
    font-size: 17px; border-radius: 10px;
  }
  .hero {
    min-height: 0 !important; border-radius: 17px; padding: 18px !important;
    margin-bottom: 0; gap: 0;
  }
  .hero small { font-size: 10px; line-height: 1.3; }
  .hero h3 { font-size: clamp(19px,4.7vw,23px); margin: 6px 0; line-height: 1.23; letter-spacing: -.6px; }
  .hero p { margin: 0 0 13px; font-size: 12px; line-height: 1.48; max-width: 95%; }
  .hero .btn { min-height: 39px; padding: 9px 13px; font-size: 12px; position: relative; z-index: 1; }
  .hero::after { width: 160px; height: 160px; border-width: 30px; right: -50px; top: -80px; pointer-events: none; }
  .row.g-3.mb-4 { margin-bottom: 13px !important; }
  .metric { min-height: 118px; padding: 13px !important; border-radius: 15px; }
  .metric .ico { width: 34px; height: 34px; font-size: 17px; border-radius: 10px; }
  .metric .num { font-size: clamp(25px,6vw,30px) !important; margin-top: 11px; line-height: 1.05; }
  .metric .txt { font-size: 11px; line-height: 1.32; }
  .panel { padding: 15px !important; border-radius: 16px; }
  .panel-title { font-size: 16px; line-height: 1.32; }
  .section-caption { font-size: 11px; line-height: 1.45; }
  .tools { gap: 10px !important; flex-wrap: wrap !important; }
  .tools > div { min-width: 0; }
  .tools .search { max-width: unset !important; width: 100% !important; min-height: 44px; }
  .tools .btn { min-height: 43px; }
  .table { min-width: 620px; }
  .table > :not(caption) > * > * { padding: 12px 10px; }
  .empty { padding: 28px 9px; }
  .empty i { font-size: 29px; }
  .form-control,.form-select,.search { font-size: 16px; min-height: 44px; }
  .btn,.btn-edit { touch-action: manipulation; }
  .modal-dialog { margin: 8px; max-width: calc(100vw - 16px); }
  .modal-content { max-height: calc(100dvh - 16px); border-radius: 17px; }
  .modal-header,.modal-body,.modal-footer { padding: 15px !important; }
  .modal-footer { gap: 8px; }
  .modal-footer .btn { flex: 1 1 0; }
  .sidebar { max-width: min(86vw, 330px); height: 100dvh; padding-bottom: max(23px,env(safe-area-inset-bottom)); }
  .bottom-nav {
    grid-template-columns:repeat(5,minmax(0,1fr)); gap:2px;
    padding: 7px 6px calc(7px + env(safe-area-inset-bottom));
    z-index: 90;
  }
  .bottom-nav a,.bottom-nav button {
    min-width: 0; min-height: 51px; padding: 6px 2px;
    font-size: 10px; font-weight: 700; gap: 4px;
    border-radius: 11px; line-height: 1.2;
  }
  .bottom-nav i { font-size: 20px; }
  /* A Agenda fica em destaque somente quando sua página estiver ativa. */
  .bottom-nav .center-action {
    margin: 0; min-height: 51px; color: #8290a5;
    background: transparent; border-radius: 11px; box-shadow: none;
  }
  .bottom-nav .center-action i { font-size: 20px; }
  .bottom-nav .center-action.active {
    color: #1d58bb; background: #eaf2ff; box-shadow: none;
  }
  .bottom-nav a.active { color: #1d58bb; background: #eaf2ff; }
}
@media(max-width:375px){
  .main { padding-inline: 10px !important; }
  .topbar .page-title { font-size: 19px; }
  .topbar .eyebrow { font-size: 8px; }
  .quick-launch a { font-size: 11px; gap: 6px; padding: 9px 8px; }
  .quick-launch i { width: 30px; height: 30px; flex-basis: 30px; }
  .hero { padding: 15px !important; }
  .metric { min-height: 110px; padding: 11px !important; }
  .metric .num { font-size: 25px !important; }
  .metric .txt { font-size: 10px; }
  .bottom-nav a,.bottom-nav button { font-size: 9px; }
}
@media(display-mode: standalone) {
  .main { padding-bottom: calc(105px + env(safe-area-inset-bottom)); }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Ocultar botão de instalação do aplicativo */
#gerente-install-pwa,
#installPwaBtn,
.pwa-install-btn,
.install-pwa-btn {
    display: none !important;
}
