/* ORBITA-CELULAR-v1 · versao 9376481fb3 */
/* ORBITA-CELULAR — camada de layout pro celular (até 640px) e tablet (641–1024px).
   Regra de ouro: NADA aqui vale em tela grande. Tudo vive dentro de @media ou de body.orb-celular
   (classe que o orbita-celular.js liga só no celular). Marcadores por camada: ORBITA-CELULAR-c1 … c10. */

/* ============ ORBITA-CELULAR-c1 · fundação ============ */
@media (max-width: 640px) {
  html { -webkit-text-size-adjust: 100%; }
  body.orb-celular { overflow-x: hidden; padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
  body.orb-celular .wrap { padding: 10px 12px calc(90px + env(safe-area-inset-bottom, 0px)); max-width: 100%; }
  body.orb-celular.cli-open .wrap { padding-left: 12px; }
  body.orb-celular img, body.orb-celular svg, body.orb-celular canvas, body.orb-celular video, body.orb-celular iframe { max-width: 100%; }
  body.orb-celular pre, body.orb-celular code { white-space: pre-wrap; word-break: break-word; }
  /* alvos de toque de 44px e texto legível */
  body.orb-celular button, body.orb-celular .toolbtn, body.orb-celular .btn-primary, body.orb-celular .btn-ghost, body.orb-celular .navbtn, body.orb-celular .catchip, body.orb-celular .mini, body.orb-celular .tbtn, body.orb-celular select { min-height: 44px; }
  body.orb-celular .mini, body.orb-celular .tbtn, body.orb-celular .catchip { display: inline-flex; align-items: center; padding: 8px 12px; font-size: 12.5px; }
  body.orb-celular input, body.orb-celular select, body.orb-celular textarea { font-size: 16px !important; } /* 16px: o iPhone não dá zoom */
  body.orb-celular .field input, body.orb-celular .field select, body.orb-celular .field textarea { padding: 13px 14px; border-radius: 12px; }
  body.orb-celular .btn-primary, body.orb-celular .btn-ghost { padding: 12px 16px; margin-left: 0; }
  body.orb-celular .modal-actions { flex-wrap: wrap; gap: 8px; }
  body.orb-celular .modal-actions > * { flex: 1 1 auto; }
  /* qualquer grade inline vira uma coluna; qualquer coisa que vaze rola dentro do próprio bloco */
  body.orb-celular .view [style*="grid-template-columns"], body.orb-celular #viewPainel [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  body.orb-celular .view [style*="display:flex"][style*="gap"], body.orb-celular .view .row, body.orb-celular .view .rep-line { flex-wrap: wrap; }
  body.orb-celular .view, body.orb-celular #viewPainel { overflow-x: clip; }
  body.orb-celular .view > *, body.orb-celular #viewPainel > * { max-width: 100%; }
  body.orb-celular .view [style*="display:flex"], body.orb-celular .view [style*="display: flex"] { flex-wrap: wrap; }
  body.orb-celular .view .toolbtn, body.orb-celular .view .btn-ghost, body.orb-celular .view .btn-primary { margin-left: 0 !important; }
  body.orb-celular .view .mini, body.orb-celular .view .chip-mini { white-space: normal; }
  body.orb-celular .toast-wrap { left: 12px; right: 12px; bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
  body.orb-celular .toast { max-width: 100%; }
}
/* tablet: meio-termo (duas colunas), sem barra de abas */
@media (min-width: 641px) and (max-width: 1024px) {
  .wrap { padding: 16px 16px 80px; }
  .grid { grid-template-columns: repeat(2, 1fr); }
  .hero { grid-template-columns: 1fr; }
  .stats { grid-template-columns: repeat(3, 1fr); }
  .esteira-wrap { grid-template-columns: 1fr; }
  #gerente { max-width: 300px; }
}

/* ============ ORBITA-CELULAR-c2 · barra de abas + folha "Mais" + topo compacto ============ */
@media (max-width: 640px) {
  body.orb-celular #nav { display: none !important; } /* as 21 pílulas saem; a barra de abas assume */
  body.orb-celular .topbar { gap: 8px; margin-bottom: 10px; flex-wrap: nowrap; align-items: center; }
  body.orb-celular .topbar .brand .logo svg { width: 30px; height: 30px; }
  body.orb-celular .topbar .brand h1 { font-size: 17px; }
  body.orb-celular .topbar .brand p { font-size: 11px; }
  body.orb-celular .topbar .spacer { flex: 1; }
  body.orb-celular .topbar .theme-pick, body.orb-celular .topbar #btnNova, body.orb-celular .topbar #btnCliMenu, body.orb-celular .topbar #btnAlarme, body.orb-celular .topbar #btnRaioX, body.orb-celular .topbar .tools-wrap, body.orb-celular .topbar .pro-viewtitle { display: none !important; }
  body.orb-celular .topbar .user-chip { padding: 3px 8px 3px 3px; }
  body.orb-celular .topbar .user-chip .uc-nome, body.orb-celular .topbar .user-chip small { display: none; }
  body.orb-celular .topbar .user-chip .uc-av { width: 30px; height: 30px; }
  body.orb-celular .topbar .orbita-marca-topo { max-width: 60vw; }
  /* barra de abas */
  #orbTabbar { display: none; }
  body.orb-celular #orbTabbar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 95; justify-content: space-around; align-items: stretch; padding: 6px 4px calc(8px + env(safe-area-inset-bottom, 0px)); background: color-mix(in srgb, var(--bg2, #10121c) 88%, transparent); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-top: 1px solid var(--border, rgba(255,255,255,.1)); }
  body.orb-celular #orbTabbar button { flex: 1; min-height: 52px; background: transparent; border: 0; color: var(--muted, #a3a8c4); font: inherit; font-size: 10.5px; font-weight: 700; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; border-radius: 12px; position: relative; -webkit-tap-highlight-color: transparent; }
  body.orb-celular #orbTabbar button i { font-style: normal; font-size: 19px; line-height: 1; width: 34px; height: 26px; display: grid; place-items: center; border-radius: 9px; transition: background .15s, transform .15s; }
  body.orb-celular #orbTabbar button.on { color: var(--accent2, #2bd4c4); }
  body.orb-celular #orbTabbar button.on i { background: color-mix(in srgb, var(--accent, #7c6cff) 26%, transparent); }
  body.orb-celular #orbTabbar button:active i { transform: scale(.9); }
  body.orb-celular #orbTabbar button .nv-badge, body.orb-celular #orbTabbar button .ob-badge { position: absolute; top: 2px; right: calc(50% - 22px); min-width: 16px; height: 16px; padding: 0 4px; border-radius: 9px; background: #e53935; color: #fff; font-size: 9.5px; display: grid; place-items: center; }
  /* folhas (sheets) genéricas */
  .orb-sheet-bg { display: none; }
  body.orb-celular .orb-sheet-bg { display: block; position: fixed; inset: 0; z-index: 120; background: rgba(5,4,20,.62); backdrop-filter: blur(3px); opacity: 0; transition: opacity .2s; }
  body.orb-celular .orb-sheet-bg.on { opacity: 1; }
  body.orb-celular .orb-sheet { position: fixed; left: 0; right: 0; bottom: 0; z-index: 121; max-height: 86vh; max-height: 86dvh; display: flex; flex-direction: column; background: var(--bg2, #10121c); color: var(--text, #eef0fa); border-radius: 22px 22px 0 0; border-top: 1px solid rgba(255,255,255,.14); box-shadow: 0 -20px 50px rgba(0,0,0,.55); transform: translateY(100%); transition: transform .26s cubic-bezier(.2,.8,.2,1); padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)); }
  body.orb-celular .orb-sheet.on { transform: none; }
  body.orb-celular .orb-sheet .puxa { width: 42px; height: 5px; border-radius: 3px; background: rgba(255,255,255,.22); margin: 9px auto 6px; flex: none; }
  body.orb-celular .orb-sheet h4 { font-size: 15px; font-weight: 800; padding: 4px 18px 10px; flex: none; display: flex; align-items: center; gap: 8px; }
  body.orb-celular .orb-sheet h4 .x { margin-left: auto; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--surface2, rgba(255,255,255,.09)); font-size: 15px; cursor: pointer; }
  body.orb-celular .orb-sheet .corpo { overflow: auto; -webkit-overflow-scrolling: touch; padding: 0 14px 14px; overscroll-behavior: contain; }
  body.orb-celular .orb-sheet .sec { font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted, #a3a8c4); font-weight: 700; margin: 12px 4px 6px; }
  body.orb-celular .orb-sheet .gradeic { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
  body.orb-celular .orb-sheet .gradeic button { background: var(--surface, rgba(255,255,255,.045)); border: 1px solid var(--border, rgba(255,255,255,.1)); border-radius: 14px; color: inherit; font: inherit; font-size: 10.5px; font-weight: 700; padding: 10px 4px 8px; display: flex; flex-direction: column; align-items: center; gap: 6px; min-height: 74px; position: relative; -webkit-tap-highlight-color: transparent; }
  body.orb-celular .orb-sheet .gradeic button i { font-style: normal; font-size: 22px; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: var(--surface2, rgba(255,255,255,.09)); }
  body.orb-celular .orb-sheet .gradeic button svg.ic { width: 20px; height: 20px; }
  body.orb-celular .orb-sheet .gradeic button.on { border-color: var(--accent, #7c6cff); background: color-mix(in srgb, var(--accent, #7c6cff) 16%, transparent); }
  body.orb-celular .orb-sheet .gradeic button:active { transform: scale(.96); }
  body.orb-celular .orb-sheet .gradeic .nv-badge, body.orb-celular .orb-sheet .gradeic .navbadge { position: absolute; top: 6px; right: 8px; }
  body.orb-celular .orb-sheet .lista button, body.orb-celular .orb-sheet .lista .item { width: 100%; text-align: left; background: transparent; border: 0; border-bottom: 1px solid var(--border, rgba(255,255,255,.1)); color: inherit; font: inherit; font-size: 15px; font-weight: 600; padding: 13px 6px; min-height: 48px; display: flex; align-items: center; gap: 10px; -webkit-tap-highlight-color: transparent; }
  body.orb-celular .orb-sheet .lista button:last-child { border-bottom: 0; }
  body.orb-celular .orb-sheet .lista button.perigo { color: var(--alta, #ff4d6e); }
  body.orb-celular .orb-sheet .lista button:active { background: var(--surface2, rgba(255,255,255,.09)); }
  body.orb-celular .orb-sheet .lista button .ic { width: 18px; height: 18px; }
  /* lista lateral de clientes vira tela inteira */
  body.orb-celular .cli-menu { width: min(88vw, 360px); z-index: 110; padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
}

/* ============ ORBITA-CELULAR-c3 · painel e card do cliente ============ */
@media (max-width: 640px) {
  body.orb-celular .stats { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 2px 0 6px; margin: 0 -12px 8px; padding-left: 12px; padding-right: 12px; }
  body.orb-celular .stats::-webkit-scrollbar { display: none; }
  body.orb-celular .stats > * { flex: none; min-width: 118px; padding: 10px 12px; }
  body.orb-celular .hero { grid-template-columns: 1fr; gap: 8px; margin-bottom: 10px; }
  body.orb-celular .card-glass { padding: 12px 14px; }
  body.orb-celular #radarBox { display: none; } /* radar entra na aba Meu dia */
  body.orb-celular .quickadd { padding: 8px 10px; margin-bottom: 8px; }
  body.orb-celular .qa-pri, body.orb-celular #priChips, body.orb-celular #pagChips, body.orb-celular .chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; gap: 6px; }
  body.orb-celular .qa-pri::-webkit-scrollbar, body.orb-celular .chips::-webkit-scrollbar { display: none; }
  body.orb-celular .grid { grid-template-columns: 1fr; gap: 10px; }
  body.orb-celular .tcard { padding: 12px 12px 12px 14px; }
  body.orb-celular .tcard .draghandle { display: none; }
  body.orb-celular .tcard .tname { font-size: 16px; }
  body.orb-celular .tcard .tags { gap: 5px; }
  body.orb-celular .tcard .tag { font-size: 9.5px; padding: 3px 8px; }
  body.orb-celular .tcard .saldo-box { padding: 8px 10px; }
  body.orb-celular .tcard .saldo-box b { font-size: 18px; }
  /* ações do card: só as 3 primeiras aparecem; o ⋯ abre a folha com o resto */
  body.orb-celular .tcard .tactions { display: flex; gap: 6px; flex-wrap: nowrap; overflow: hidden; align-items: center; }
  body.orb-celular .tcard .tactions > * { display: none; }
  body.orb-celular .tcard .tactions > .orb-prim { display: inline-flex; flex: 1; justify-content: center; min-height: 40px; padding: 8px 6px; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  body.orb-celular .tcard .tactions > .orb-mais { display: inline-flex; flex: none; width: 44px; min-height: 40px; align-items: center; justify-content: center; border-radius: 10px; background: var(--surface2, rgba(255,255,255,.09)); border: 1px solid var(--border, rgba(255,255,255,.1)); color: var(--text, #eef0fa); font-size: 18px; font-weight: 800; cursor: pointer; }
  body.orb-celular .dropz { padding: 14px; font-size: 12px; margin-top: 12px; }
  body.orb-celular #listaEqBox { left: 8px !important; right: 8px !important; width: auto !important; }
}

/* ============ ORBITA-CELULAR-c4 · um flutuante só ============ */
@media (max-width: 640px) {
  body.orb-celular #gerente:not(.orb-show), body.orb-celular #fabBusca, body.orb-celular #syncPill, body.orb-celular #painelConf, body.orb-celular #listaEqBtn, body.orb-celular #macabre { display: none !important; }
  body.orb-celular #gerente.orb-show { left: 10px !important; right: 10px !important; bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important; max-width: none; z-index: 96; }
  body.orb-celular #gerente.orb-show .ger-bubble { max-width: none; }
  body.orb-celular #whatsFab:not(.orb-show) { display: none !important; }
  body.orb-celular #whatsFab.orb-show { left: 10px !important; right: 10px !important; top: auto !important; bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important; width: auto !important; z-index: 96; }
  body.orb-celular #travaLeads, body.orb-celular #imperBar, body.orb-celular #previewBanner { left: 0; right: 0; }
}

/* ============ ORBITA-CELULAR-c5 · janelas viram folhas de baixo ============ */
@media (max-width: 640px) {
  body.orb-celular .overlay { align-items: flex-end; padding: 0; height: 100dvh; }
  body.orb-celular .overlay .modal { width: 100%; max-width: none !important; margin: 0; border-radius: 22px 22px 0 0 !important; max-height: 92dvh; padding: 8px 16px calc(14px + env(safe-area-inset-bottom, 0px)); text-align: left; animation: orbSobe .26s cubic-bezier(.2,.8,.2,1) both; box-shadow: 0 -20px 50px rgba(0,0,0,.55); }
  body.orb-celular .overlay .modal::before { content: ""; display: block; width: 42px; height: 5px; border-radius: 3px; background: rgba(255,255,255,.22); margin: 2px auto 12px; }
  body.orb-celular .overlay .modal h3 { font-size: 18px; padding-right: 8px; }
  body.orb-celular .overlay .modal .modal-actions { position: sticky; bottom: calc(-14px - env(safe-area-inset-bottom, 0px)); margin: 14px -16px -14px; padding: 10px 16px calc(12px + env(safe-area-inset-bottom, 0px)); background: var(--bg2, #10121c); border-top: 1px solid var(--border, rgba(255,255,255,.1)); z-index: 2; }
  body.orb-celular .overlay .modal .modal-actions button { min-height: 48px; font-size: 15px; }
  body.orb-celular .overlay .modal .field label { font-size: 12.5px; margin-bottom: 5px; display: block; }
  body.orb-celular .overlay .modal .field input[type="date"], body.orb-celular .overlay .modal .field input[type="time"] { min-height: 46px; }
  body.orb-celular .overlay .modal .field input[type="checkbox"], body.orb-celular .overlay .modal .field input[type="radio"] { width: 22px; height: 22px; min-height: 0; }
  body.orb-celular .overlay .modal iframe { min-height: 60vh; }
  body.orb-celular .overlay.alta .modal { border: 0; box-shadow: 0 -20px 50px rgba(0,0,0,.55); }
  @keyframes orbSobe { from { transform: translateY(40px); opacity: .6; } to { transform: none; opacity: 1; } }
}

/* ============ ORBITA-CELULAR-c6 · leitor de relatório ============ */
@media (max-width: 640px) {
  body.orb-celular .rep-overlay { padding: 0 !important; }
  body.orb-celular .rep-doc { max-width: 100%; }
  body.orb-celular .rep-top { gap: 6px; margin-bottom: 8px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
  body.orb-celular .rep-top::-webkit-scrollbar { display: none; }
  body.orb-celular .rep-top > * { flex: none; }
  body.orb-celular .rep-top .btn-ghost, body.orb-celular .rep-top .btn-primary { padding: 10px 12px; font-size: 13px; white-space: nowrap; }
  body.orb-celular .rep-presets { display: flex; gap: 6px; }
  body.orb-celular .rep-iabar, body.orb-celular .rep-analisebar { display: none !important; } /* vão pra folha ⋯ do relatório */
  body.orb-celular .rep-doc.orb-ia-aberta .rep-iabar, body.orb-celular .rep-doc.orb-ia-aberta .rep-analisebar { display: flex !important; }
  body.orb-celular .rep-frame { border-radius: 12px; }
  body.orb-celular .rep-paper { padding: 24px 12px !important; }
  /* barra fixa do leitor (JS monta) */
  body.orb-celular #orbRepBar { position: fixed; left: 10px; right: 10px; bottom: calc(78px + env(safe-area-inset-bottom, 0px)); z-index: 93; display: flex; gap: 6px; background: color-mix(in srgb, var(--bg2, #10121c) 92%, transparent); backdrop-filter: blur(14px); border: 1px solid var(--border, rgba(255,255,255,.12)); border-radius: 16px; padding: 7px; box-shadow: 0 10px 30px rgba(0,0,0,.45); }
  body.orb-celular #orbRepBar button { flex: 1; min-height: 44px; border: 0; border-radius: 11px; background: var(--surface2, rgba(255,255,255,.09)); color: var(--text, #eef0fa); font: inherit; font-size: 12.5px; font-weight: 700; white-space: nowrap; -webkit-tap-highlight-color: transparent; }
  body.orb-celular #orbRepBar button.p { background: linear-gradient(120deg, var(--accent, #7c6cff), var(--accent2, #2bd4c4)); color: #fff; }
  body.orb-celular #orbRepBar button.m { flex: none; width: 46px; font-size: 18px; }
}

/* ============ ORBITA-CELULAR-c7 · tabelas viram linhas; esteira em colunas roláveis ============ */
@media (max-width: 640px) {
  body.orb-celular .view table.orb-empilhada, body.orb-celular #modalBody table.orb-empilhada { display: block; width: 100%; border-collapse: collapse; }
  body.orb-celular table.orb-empilhada thead { display: none; }
  body.orb-celular table.orb-empilhada tbody, body.orb-celular table.orb-empilhada tr { display: block; width: 100%; }
  body.orb-celular table.orb-empilhada tr { background: var(--surface, rgba(255,255,255,.045)); border: 1px solid var(--border, rgba(255,255,255,.1)); border-radius: 12px; padding: 8px 12px; margin: 0 0 8px; }
  body.orb-celular table.orb-empilhada td { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 6px 0 !important; border: 0 !important; border-bottom: 1px dashed var(--border, rgba(255,255,255,.08)) !important; white-space: normal !important; text-align: right; min-width: 0 !important; }
  body.orb-celular table.orb-empilhada td:last-child { border-bottom: 0 !important; }
  body.orb-celular table.orb-empilhada td::before { content: attr(data-label); font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted, #a3a8c4); font-weight: 700; text-align: left; flex: none; max-width: 46%; }
  body.orb-celular table.orb-empilhada td:first-child { font-weight: 700; font-size: 14.5px; }
  body.orb-celular table.orb-empilhada td.orb-sem-rotulo::before { content: none; }
  body.orb-celular table.orb-empilhada td.orb-sem-rotulo { justify-content: flex-start; text-align: left; }
  body.orb-celular table.orb-empilhada tr.orb-total { border-color: var(--accent, #7c6cff); }
  /* tabelas que não empilham (muitas colunas numéricas) rolam DENTRO do bloco, nunca a página */
  body.orb-celular .orb-rola { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
  body.orb-celular .orb-rola table { min-width: 520px; }
  body.orb-celular .orb-rola th:first-child, body.orb-celular .orb-rola td:first-child { position: sticky; left: 0; background: var(--bg2, #10121c); z-index: 1; }
  /* esteira: uma coluna por tela, com encaixe */
  body.orb-celular .esteira-wrap { grid-template-columns: 1fr; }
  body.orb-celular .kanban { grid-auto-columns: 86vw; scroll-snap-type: x mandatory; gap: 10px; padding: 0 0 14px; scroll-padding: 0 7vw; }
  body.orb-celular .kanban > * { scroll-snap-align: center; }
}

/* ============ ORBITA-CELULAR-c8 · seções restantes (meu dia, avisos, integrações, config…) ============ */
@media (max-width: 640px) {
  body.orb-celular .view h2 { font-size: 19px; }
  body.orb-celular .view h3 { font-size: 16px; }
  body.orb-celular .view .card-glass, body.orb-celular .view .card { padding: 12px 14px; }
  body.orb-celular .view .cols, body.orb-celular .view .two, body.orb-celular .view .grid2, body.orb-celular .view .g2, body.orb-celular .view .g3, body.orb-celular .view .cfg-grid, body.orb-celular .view .int-grid { display: grid; grid-template-columns: 1fr !important; }
  body.orb-celular .view .rep-line, body.orb-celular .view .ld-row, body.orb-celular .view .cob-row, body.orb-celular .view .ag-row { flex-wrap: wrap; gap: 8px; }
  body.orb-celular .view .rep-line > span:first-child { flex: 1 1 100%; }
  body.orb-celular .view .mini { margin: 2px 0; }
  body.orb-celular .view input[type="text"], body.orb-celular .view input[type="number"], body.orb-celular .view input[type="search"], body.orb-celular .view select, body.orb-celular .view textarea { width: 100%; max-width: 100%; min-height: 46px; }
  body.orb-celular .view details > summary { min-height: 44px; display: flex; align-items: center; }
  body.orb-celular .view .subtabs, body.orb-celular .view .tabs, body.orb-celular .view .cfg-tabs { display: flex; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; gap: 6px; }
  body.orb-celular #radarBox.orb-no-meudia { display: block; margin-top: 10px; }
  body.orb-celular .imper-bar, body.orb-celular #cobBanner, body.orb-celular #leadsBar, body.orb-celular #conexoesBar { font-size: 12.5px; }
}

/* ============ ORBITA-CELULAR-c9 · telas separadas: CRM, cadastro, ao vivo, admin ============ */
@media (max-width: 640px) {
  /* regras gerais (valem em qualquer página que carregue esta folha) */
  body:not(.orb-celular) button, body:not(.orb-celular) .btn, body:not(.orb-celular) .toolbtn, body:not(.orb-celular) select { min-height: 44px; }
  body:not(.orb-celular) input, body:not(.orb-celular) select, body:not(.orb-celular) textarea { font-size: 16px !important; }
  body:not(.orb-celular) table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; min-width: 0 !important; }
  body:not(.orb-celular) img, body:not(.orb-celular) svg, body:not(.orb-celular) canvas { max-width: 100%; }
  /* CRM (/crm) */
  body:has(#kbBoard) .topbar { padding: 9px 12px; gap: 8px; flex-wrap: wrap; }
  body:has(#kbBoard) #nav { display: flex; overflow-x: auto; flex-wrap: nowrap; gap: 6px; scrollbar-width: none; padding: 6px 12px; position: sticky; top: 0; z-index: 29; }
  body:has(#kbBoard) #nav::-webkit-scrollbar { display: none; }
  body:has(#kbBoard) #nav > * { flex: none; white-space: nowrap; }
  body:has(#kbBoard) .kb { grid-auto-columns: 86vw; scroll-snap-type: x mandatory; scroll-padding: 0 7vw; }
  body:has(#kbBoard) .kb > * { scroll-snap-align: center; }
  body:has(#kbBoard) .split, body:has(#kbBoard) .stats, body:has(#kbBoard) .integ, body:has(#kbBoard) [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  body:has(#kbBoard) .thread { padding: 10px; }
  body:has(#kbBoard) #convThread { min-height: 50vh; }
  /* cadastro / entrada da agência (/saas) */
  body:has(#areaWizard) .shell { padding: 20px 16px; border-radius: 14px; }
  body:has(#areaWizard) .tabs { overflow-x: auto; }
  /* painel ao vivo do cliente (/ao-vivo) */
  body:has(#chDia) .wrap { padding: 12px 12px 40px; }
  body:has(#chDia) .tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  body:has(#chDia) .tabs > * { flex: none; }
  /* painel admin */
  body:has(#lockwrap) .app { grid-template-columns: 1fr !important; }
  body:has(#lockwrap) .side { position: static !important; height: auto !important; padding: 10px 12px; border-right: 0; border-bottom: 1px solid var(--line, rgba(255,255,255,.1)); }
  body:has(#lockwrap) .side .nav { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; gap: 6px; scrollbar-width: none; }
  body:has(#lockwrap) .side .nav > * { flex: none; white-space: nowrap; }
  body:has(#lockwrap) .wrap { padding: 14px 12px 40px; }
  body:has(#lockwrap) .kpis { grid-template-columns: 1fr 1fr; gap: 10px; }
  /* tela de entrada do app (usuários em cartões grandes, PIN com teclado numérico) */
  body.orb-celular #login .lg-shell { grid-template-columns: 1fr; min-height: 100dvh; border-radius: 0; }
  body.orb-celular #login .lg-brand { padding: 22px 20px 14px; gap: 10px; }
  body.orb-celular #login .lg-brand ul, body.orb-celular #login .lg-brand .lg-feats { display: none; }
  body.orb-celular #login .lg-people { max-height: none; }
  body.orb-celular #login .lg-people > * { min-height: 56px; }
  body.orb-celular #login input { min-height: 50px; }
  body.orb-celular #login #lg_pin { font-size: 22px !important; letter-spacing: .3em; text-align: center; }
}

/* ============ ORBITA-CELULAR-c10 · polimento: toque com resposta, sem hover no dedo, app instalado ============ */
@media (max-width: 640px) {
  body.orb-celular * { -webkit-tap-highlight-color: transparent; }
  body.orb-celular button:active, body.orb-celular .toolbtn:active, body.orb-celular .btn-primary:active, body.orb-celular .btn-ghost:active, body.orb-celular .mini:active, body.orb-celular .tbtn:active, body.orb-celular .catchip:active { transform: scale(.97); filter: brightness(1.08); }
  body.orb-celular .tcard:active { transform: none; }
}
@media (hover: none) {
  body.orb-celular .tcard:hover, body.orb-celular .card-glass:hover, body.orb-celular .toolbtn:hover { transform: none; }
}
/* app instalado (standalone): sem barra do navegador, o topo ganha a área segura do iPhone */
@media (display-mode: standalone) {
  body.orb-celular .wrap { padding-top: calc(10px + env(safe-area-inset-top, 0px)); }
  body.orb-celular .topbar { position: sticky; top: 0; z-index: 40; padding-top: 4px; background: color-mix(in srgb, var(--bg1, #0a0b12) 86%, transparent); backdrop-filter: blur(12px); }
}
