
/* v6.9.9 — Visitors Mobile Bottom Navigation */
@media(max-width:820px){
  body.ip-v699-visitors-mobile{padding-bottom:88px!important;background:#f5f7fb!important}

  body.ip-v699-visitors-mobile .app-header,
  body.ip-v699-visitors-mobile .ip-topbar,
  body.ip-v699-visitors-mobile .topbar,
  body.ip-v699-visitors-mobile header.header{
    min-height:76px!important;
    background:linear-gradient(135deg,#0f172a 0%,#2563eb 55%,#7c3aed 100%)!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 8px 28px rgba(15,23,42,.14)!important;
  }

  body.ip-v699-visitors-mobile .app-header h1,
  body.ip-v699-visitors-mobile .app-header .page-title,
  body.ip-v699-visitors-mobile .ip-topbar h1,
  body.ip-v699-visitors-mobile .ip-topbar .page-title,
  body.ip-v699-visitors-mobile .topbar h1,
  body.ip-v699-visitors-mobile .topbar .page-title{display:none!important}

  body.ip-v699-visitors-mobile #btn-menu,
  body.ip-v699-visitors-mobile .btn-menu,
  body.ip-v699-visitors-mobile .menu-toggle,
  body.ip-v699-visitors-mobile .hamburger{
    background:rgba(255,255,255,.16)!important;
    border:1px solid rgba(255,255,255,.24)!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    box-shadow:0 12px 28px rgba(15,23,42,.18)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
  }

  body.ip-v699-visitors-mobile .ip-v691-hero{
    margin-top:0!important;
    border-radius:0 0 24px 24px!important;
    padding:28px 20px 22px!important;
    min-height:auto!important;
  }

  body.ip-v699-visitors-mobile .ip-v691-icon{
    width:58px!important;height:58px!important;border-radius:18px!important;font-size:30px!important;
  }

  body.ip-v699-visitors-mobile .ip-v691-title h1{font-size:40px!important;line-height:1!important}
  body.ip-v699-visitors-mobile .ip-v691-title p{font-size:15px!important;line-height:1.35!important;max-width:94%!important}

  body.ip-v699-visitors-mobile .ip-v691-actions{
    display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:10px!important;width:100%!important;margin-top:18px!important;
  }

  body.ip-v699-visitors-mobile .ip-v691-action{
    min-height:54px!important;border-radius:16px!important;justify-content:center!important;padding:0 10px!important;font-size:14px!important;
  }

  body.ip-v699-visitors-mobile .ip-v691-kpis{display:none!important}

  body.ip-v699-visitors-mobile .module-hero:not(.ip-v691-hero),
  body.ip-v699-visitors-mobile .page-hero:not(.ip-v691-hero),
  body.ip-v699-visitors-mobile .force-premium-hero:not(.ip-v691-hero),
  body.ip-v699-visitors-mobile .apple-premium-hero:not(.ip-v691-hero),
  body.ip-v699-visitors-mobile .ip-page-hero:not(.ip-v691-hero){display:none!important}

  body.ip-v699-visitors-mobile .app-page>h1,
  body.ip-v699-visitors-mobile .app-page>h2{display:none!important}

  .ip-v699-bottom-nav{
    position:fixed;left:12px;right:12px;bottom:10px;z-index:99998;height:68px;border-radius:24px;
    background:rgba(255,255,255,.92);border:1px solid rgba(226,232,240,.9);
    box-shadow:0 20px 60px rgba(15,23,42,.18);
    backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);
    display:grid;grid-template-columns:repeat(5,1fr);align-items:center;padding:6px;
  }
  .ip-v699-bottom-nav a,.ip-v699-bottom-nav button{
    appearance:none;border:0;background:transparent;height:56px;border-radius:18px;display:flex;flex-direction:column;
    align-items:center;justify-content:center;gap:3px;color:#64748b!important;-webkit-text-fill-color:#64748b!important;
    font-size:11px;font-weight:900;text-decoration:none;
  }
  .ip-v699-bottom-nav .icon{font-size:21px;line-height:1}
  .ip-v699-bottom-nav .active{background:#eef2ff;color:#2563eb!important;-webkit-text-fill-color:#2563eb!important}
  .ip-v699-bottom-nav .fab{
    width:58px;height:58px;border-radius:999px;margin:auto;transform:translateY(-16px);
    background:linear-gradient(135deg,#2563eb,#7c3aed)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
    box-shadow:0 18px 42px rgba(37,99,235,.36);font-size:0;
  }
  .ip-v699-bottom-nav .fab .icon{font-size:32px}

  .ip-v699-more-sheet{
    position:fixed;inset:0;z-index:99999;background:rgba(15,23,42,.42);
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:none;align-items:flex-end;
  }
  .ip-v699-more-sheet.open{display:flex}
  .ip-v699-more-panel{width:100%;max-height:82vh;background:#fff;border-radius:28px 28px 0 0;box-shadow:0 -20px 70px rgba(15,23,42,.22);padding:22px;overflow:auto}
  .ip-v699-more-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
  .ip-v699-more-head h3{margin:0!important;color:#0f172a!important;-webkit-text-fill-color:#0f172a!important;font-size:22px!important}
  .ip-v699-more-close{width:42px;height:42px;border-radius:14px;border:1px solid #e2e8f0;background:#f8fafc;font-size:22px}
  .ip-v699-more-list{display:grid;gap:8px}
  .ip-v699-more-list a,.ip-v699-more-list button{
    min-height:52px;border-radius:16px;border:1px solid #e5eaf2;background:#fff;display:flex;align-items:center;gap:12px;padding:0 14px;
    color:#0f172a!important;-webkit-text-fill-color:#0f172a!important;font-weight:850;text-decoration:none;
  }
}


/* v6.10.0 — Visitors Mobile Cleanup */
@media(max-width:820px){

  body.ip-v699-visitors-mobile .app-header,
  body.ip-v699-visitors-mobile .ip-topbar,
  body.ip-v699-visitors-mobile .topbar,
  body.ip-v699-visitors-mobile header.header,
  body.ip-v699-visitors-mobile #btn-menu,
  body.ip-v699-visitors-mobile .btn-menu,
  body.ip-v699-visitors-mobile .menu-toggle,
  body.ip-v699-visitors-mobile .hamburger{
    display:none !important;
  }

  body.ip-v699-visitors-mobile .ip-v691-hero{
    margin-top:0 !important;
    padding-top:42px !important;
    border-radius:0 0 30px 30px !important;
  }

  body.ip-v699-visitors-mobile form,
  body.ip-v699-visitors-mobile .form-wrapper,
  body.ip-v699-visitors-mobile .visitor-form,
  body.ip-v699-visitors-mobile .app-content{
    padding-bottom:130px !important;
  }

  body.ip-v699-visitors-mobile .form-actions,
  body.ip-v699-visitors-mobile .modal-actions,
  body.ip-v699-visitors-mobile .actions-footer{
    position:sticky !important;
    bottom:88px !important;
    z-index:40 !important;
    background:rgba(255,255,255,.96) !important;
    backdrop-filter:blur(12px) !important;
    -webkit-backdrop-filter:blur(12px) !important;
    padding:14px !important;
    border-radius:24px !important;
    border:1px solid rgba(226,232,240,.9) !important;
    box-shadow:0 10px 40px rgba(15,23,42,.10) !important;
    margin-top:24px !important;
  }

  body.ip-v699-visitors-mobile .form-actions .btn,
  body.ip-v699-visitors-mobile .modal-actions .btn,
  body.ip-v699-visitors-mobile .actions-footer .btn{
    min-height:52px !important;
    border-radius:16px !important;
    font-size:18px !important;
    font-weight:900 !important;
  }

  .ip-v699-bottom-nav{
    bottom:14px !important;
  }
}


/* v6.10.2 — Bottom Nav Order Fix */
@media(max-width:820px){
  .ip-v699-bottom-nav{
    grid-template-columns:repeat(5,1fr) !important;
  }

  .ip-v699-bottom-nav a,
  .ip-v699-bottom-nav button{
    min-width:0 !important;
  }

  .ip-v699-bottom-nav span:not(.icon){
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .ip-v699-bottom-nav .nav-dashboard span:not(.icon){
    font-size:10px;
  }
}


/* v6.10.3 — Global Bottom Nav + Tablet Dashboard Fix */
@media(max-width:1180px){
  body.ip-global-bottom-nav{padding-bottom:88px!important}
  body.ip-global-bottom-nav .ip-v699-bottom-nav{position:fixed;left:12px;right:12px;bottom:10px;z-index:99998;height:68px;border-radius:24px;background:rgba(255,255,255,.92);border:1px solid rgba(226,232,240,.9);box-shadow:0 20px 60px rgba(15,23,42,.18);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);display:grid;grid-template-columns:repeat(5,1fr);align-items:center;padding:6px}
  body.ip-global-bottom-nav .ip-v699-bottom-nav a,body.ip-global-bottom-nav .ip-v699-bottom-nav button{appearance:none;border:0;background:transparent;height:56px;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#64748b!important;-webkit-text-fill-color:#64748b!important;font-size:11px;font-weight:900;text-decoration:none;min-width:0}
  body.ip-global-bottom-nav .ip-v699-bottom-nav .icon{font-size:21px;line-height:1}
  body.ip-global-bottom-nav .ip-v699-bottom-nav .active{background:#eef2ff;color:#2563eb!important;-webkit-text-fill-color:#2563eb!important}
  body.ip-global-bottom-nav .ip-v699-bottom-nav .fab{width:58px;height:58px;border-radius:999px;margin:auto;transform:translateY(-16px);background:linear-gradient(135deg,#2563eb,#7c3aed)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:0 18px 42px rgba(37,99,235,.36);font-size:0}
  body.ip-global-bottom-nav .ip-v699-bottom-nav .fab .icon{font-size:32px}
}
@media(min-width:821px) and (max-width:1180px){
  .ipdr-quick-grid,.ip-dash-quick-buttons,.dashboard-actions,.quick-actions-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  .ipdr-quick,.ip-dash-quick-btn,.dashboard-actions a,.dashboard-actions button,.quick-actions-grid a,.quick-actions-grid button{min-width:0!important;width:100%!important;white-space:normal!important;line-height:1.2!important;min-height:64px!important;padding:12px!important;overflow:hidden!important}
  .ipdr-kpi-grid,.dashboard-kpi-grid,.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
  .ipdr-hero,.dashboard-hero{overflow:hidden!important}
}
.ip-gc-status-encaminhado-gc{background:#ede9fe!important;color:#6d28d9!important;-webkit-text-fill-color:#6d28d9!important}


/* ==========================================================================
   v6.10.4 — GC Forward + Smart Bottom Nav
   ========================================================================== */

.ip-gc-status-encaminhado-gc{
  background:#ede9fe !important;
  color:#6d28d9 !important;
  -webkit-text-fill-color:#6d28d9 !important;
}

/* Menu inferior inteligente: quando atrapalha, recolhe */
@media(max-width:1180px){
  body.ip-global-bottom-nav,
  body.ip-v699-visitors-mobile,
  body.ip-v6101-dashboard-mobile{
    padding-bottom:112px !important;
  }

  .ip-v699-bottom-nav{
    transition:transform .28s ease, opacity .28s ease !important;
    will-change:transform;
  }

  body.ip-bottom-nav-hidden .ip-v699-bottom-nav{
    transform:translateY(92px) !important;
    opacity:.05 !important;
    pointer-events:none !important;
  }

  body.ip-bottom-nav-force-show .ip-v699-bottom-nav{
    transform:translateY(0) !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }

  .ip-bottom-nav-handle{
    position:fixed;
    left:50%;
    bottom:8px;
    transform:translateX(-50%);
    z-index:99997;
    width:56px;
    height:24px;
    border-radius:999px;
    border:1px solid rgba(226,232,240,.9);
    background:rgba(255,255,255,.94);
    color:#64748b !important;
    -webkit-text-fill-color:#64748b !important;
    box-shadow:0 10px 28px rgba(15,23,42,.12);
    display:none;
    align-items:center;
    justify-content:center;
    font-weight:950;
    line-height:1;
  }

  body.ip-bottom-nav-hidden .ip-bottom-nav-handle{
    display:flex;
  }

  .modal-overlay.open ~ .ip-v699-bottom-nav,
  .modal-overlay.show ~ .ip-v699-bottom-nav,
  .modal-overlay.active ~ .ip-v699-bottom-nav{
    display:none !important;
  }

  /* Dá respiro para últimos botões/ações nunca ficarem atrás do menu */
  form,
  .modal-content,
  .app-page,
  main,
  .main-content,
  .ip-content{
    scroll-padding-bottom:130px !important;
  }

  .modal-actions,
  .form-actions,
  .actions-footer{
    margin-bottom:22px !important;
  }
}

@media(max-width:760px){
  .modal-actions,
  .form-actions,
  .actions-footer{
    margin-bottom:34px !important;
  }
}


/* v6.10.5 — GC canonical encaminhado_gc */
.ip-gc-status-encaminhado-gc,
.ip-gc-status-encaminhado_gc{
  background:#ede9fe !important;
  color:#6d28d9 !important;
  -webkit-text-fill-color:#6d28d9 !important;
}


/* ==========================================================================
   v6.10.6 — Tablet Hero + Full More Menu
   ========================================================================== */
@media(min-width:821px) and (max-width:1180px){
  body.ip-v6106-tablet .dashboard-hero,
  body.ip-v6106-tablet .ipdr-hero,
  body.ip-v6106-tablet .hero-dashboard,
  body.ip-v6106-tablet .ip-dashboard-hero,
  .ip-v6106-fixed-hero{
    overflow:hidden !important;
    padding-bottom:28px !important;
    min-height:auto !important;
  }

  body.ip-v6106-tablet .ipdr-hero{
    max-width:100% !important;
  }

  .ip-v6106-tablet-tabs{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:10px !important;
    width:100% !important;
    margin-top:16px !important;
    overflow:visible !important;
    position:relative !important;
    transform:none !important;
  }

  .ip-v6106-tablet-tabs a,
  .ip-v6106-tablet-tabs button,
  .ip-v6106-tablet-tabs .tab,
  .ip-v6106-tablet-tabs > *{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
    white-space:normal !important;
    text-align:center !important;
    line-height:1.15 !important;
    min-height:58px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:9px 10px !important;
    overflow:hidden !important;
    border-radius:17px !important;
    font-size:14px !important;
  }

  .ip-v6106-tablet-actions{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    margin-top:16px !important;
    width:100% !important;
    overflow:visible !important;
  }

  .ip-v6106-tablet-actions a,
  .ip-v6106-tablet-actions button,
  .ip-v6106-tablet-actions > *{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
    min-height:62px !important;
    white-space:normal !important;
    line-height:1.15 !important;
    overflow:hidden !important;
  }
}

.ip-v6106-more-sheet{
  z-index:100000 !important;
}

.ip-v6106-full-menu{
  max-height:84vh !important;
  overflow:hidden !important;
}

.ip-v6106-full-menu .ip-v699-more-list{
  overflow:auto !important;
  max-height:70vh !important;
  padding-bottom:18px !important;
  display:grid !important;
  gap:8px !important;
}

.ip-v6106-full-menu .ip-v699-more-list a{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-height:54px !important;
  padding:14px 18px !important;
  border-radius:16px !important;
  border:1px solid #e5eaf2 !important;
  background:#fff !important;
  font-weight:800 !important;
  text-decoration:none !important;
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
}

.ip-v6106-full-menu .ip-v699-more-list a:hover{
  background:#eef2ff !important;
}


/* v6.10.7 — Restore full Visitor form everywhere */
.modal-visitante-dashboard-inline{
  display:none !important;
  pointer-events:none !important;
}

body:not(.modal-open) .modal-visitante-dashboard-inline{
  display:none !important;
}

body.ip-global-bottom-nav .modal-visitante-dashboard-inline,
body.ip-v699-visitors-mobile .modal-visitante-dashboard-inline,
body.ip-v6101-dashboard-mobile .modal-visitante-dashboard-inline{
  display:none !important;
}


/* v6.10.7.1 — Stable Visitor Modal Freeze Fix */
.modal-visitante-dashboard-inline{
  display:none !important;
  pointer-events:none !important;
}

#modal-visitante.open,
#modal-visitante.show,
#modal-visitante.active{
  display:flex !important;
  pointer-events:auto !important;
}

body:not(.modal-open) .modal-backdrop,
body:not(.modal-open) .overlay-lock,
body:not(.modal-open) .ip-freeze-overlay{
  display:none !important;
  pointer-events:none !important;
}
