/* Versão mobile (15/10/2026, ver js/mobile.js). TUDO aqui está dentro de @media (max-width: 760px):
   no computador este arquivo não muda nada. Mesma identidade das outras telas (grafite sustenta,
   azul elétrico destaca). Regras de sempre: nada é escondido sem ir para outro lugar (o menu vai para a barra
   flutuante e o Início; operador, Sair, Aparência e tema vão para o Perfil), mesmos IDs,
   permissões e a foto sempre inteira. Os !important vencem estilos inline das páginas, só no celular. */

@media (max-width: 760px) {
  /* ---- Página: rola inteira (no computador ela é travada na altura da janela) ---- */
  html, body { height: auto !important; min-height: 100%; overflow: visible !important; }
  body { -webkit-text-size-adjust: 100%; }
  .app, .app.collapsed { display: block !important; height: auto !important; min-height: 100vh; }
  .app > .sidebar { display: none !important; }
  .app > .main {
    height: auto !important; min-height: 100vh; overflow: visible !important;
    padding: 12px 12px calc(96px + env(safe-area-inset-bottom)) !important;
  }
  body.mob-sem-barra .app > .main { padding-bottom: 16px !important; }
  .main > div[style*="max-width"], .painel-pagina, .cfg-atalhos-raiz { max-width: none !important; }

  /* ---- Topo de app: barra grafite fixa no alto (voltar ou símbolo Ô + título) ---- */
  .main > .topbar {
    position: sticky; top: 0; z-index: 1500;
    display: flex !important; align-items: center; flex-wrap: wrap; gap: 8px !important;
    margin: -12px -12px 12px !important; padding: calc(8px + env(safe-area-inset-top)) 12px 8px !important; min-height: 56px;
    background: #202734; border-bottom: 0 !important; box-shadow: 0 6px 18px rgba(32, 39, 52, .18);
    --text: #F2F5F9; --text-muted: rgba(242, 245, 249, .72); --text-3: rgba(242, 245, 249, .5);
    --card-bg: rgba(242, 245, 249, .08); --surface-2: rgba(242, 245, 249, .10); --border: rgba(242, 245, 249, .16);
    --accent-text: #8cc3ff; --primary: #64AEFF; --primary-fg: #202734;
    color: #F2F5F9;
  }
  .main > .topbar h1, .main > .topbar .rc-titulo {
    flex: 1 1 0; min-width: 0; margin: 0 !important; font-size: 18px !important; line-height: 1.2; color: #F2F5F9 !important;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .main > .topbar > div:has(> h1) { flex: 1 1 0; min-width: 0; }
  .main > .topbar button, .main > .topbar > a { min-height: 34px; padding: 6px 10px; font-size: 12.5px; }
  .mob-voltar {
    order: -1; flex: 0 0 auto; width: 38px; height: 38px; min-height: 0 !important; padding: 0 !important; margin-left: -4px;
    display: inline-flex; align-items: center; justify-content: center; border: 0 !important; border-radius: 12px;
    background: transparent !important; box-shadow: none !important; color: #F2F5F9 !important;
  }
  .mob-voltar svg { width: 24px; height: 24px; }
  .mob-voltar:active { background: rgba(242, 245, 249, .12) !important; }
  .mob-simbolo { order: -1; flex: 0 0 auto; display: inline-flex; align-items: center; padding: 0 2px; }
  .mob-simbolo img { height: 30px; width: auto; }
  /* Operador, Aparência e tema moram no Perfil (os originais ficam no DOM, escondidos só aqui) */
  .main > .topbar #auth-usuario-logado,
  .main > .topbar .aparencia-rapida,
  .main > .topbar #btn-tema-toggle,
  .main > .topbar .topbar-status { display: none !important; }

  /* ---- Formulários: uma coluna, campos com 16 px (evita o zoom automático do celular) ---- */
  .main input[type="text"], .main input[type="search"], .main input[type="password"], .main input[type="number"],
  .main input[type="date"], .main input[type="time"], .main select, .main textarea { font-size: 16px !important; min-height: 42px; }
  .main [style*="grid-template-columns"]:not(.mob-manter) { grid-template-columns: minmax(0, 1fr) !important; }
  .main .card { padding: 14px !important; border-radius: 12px; }
  .main .table-scroll, .main .log-scroll, .main #ln-tentativas { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .main table { min-width: 560px; }

  /* ---- Barra flutuante em cápsula (Início · 2 telas principais · Perfil) ---- */
  .mob-barra {
    position: fixed; left: 14px; right: 14px; bottom: calc(10px + env(safe-area-inset-bottom)); z-index: 1900;
    display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 4px;
    padding: 6px; border-radius: 999px;
    background: var(--card-bg); border: 1px solid var(--border);
    box-shadow: 0 10px 30px rgba(32, 39, 52, .20), 0 2px 6px rgba(32, 39, 52, .08);
  }
  .mob-aba {
    display: flex; align-items: center; justify-content: center; height: 48px; min-height: 0; min-width: 0; padding: 0;
    border: 0; border-radius: 999px; background: transparent; box-shadow: none; color: var(--text-muted); cursor: pointer; text-decoration: none;
  }
  .mob-aba svg { width: 24px; height: 24px; }
  .mob-aba.ativa { background: color-mix(in srgb, #64AEFF 22%, var(--card-bg)); color: var(--text); }
  .mob-aba:active { background: var(--surface-2); }
  .mob-avatar svg { width: 18px; height: 18px; }
  .mob-avatar {
    width: 32px; height: 32px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
    background: #202734; color: #64AEFF; font: 700 12px Arial, sans-serif; box-shadow: 0 0 0 2px rgba(100, 174, 255, .45);
  }

  /* ---- Telas Início e Perfil (cobrem a página; a barra continua por cima) ---- */
  .mob-tela {
    position: fixed; inset: 0; z-index: 1800; overflow-y: auto; -webkit-overflow-scrolling: touch;
    padding: calc(20px + env(safe-area-inset-top)) 16px calc(100px + env(safe-area-inset-bottom));
    background: var(--bg); color: var(--text); animation: mob-fade .15s ease both;
  }
  body.mob-tela-aberta { overflow: hidden !important; }
  /* Início com a identidade Contrô: topo grafite com o grafismo do acento do Ô, ação principal em
     azul ação, blocos com o traço azul e a lista de telas com o chip grafite + ícone azul */
  .mob-inicio { padding-top: 0; }
  .mob-hero {
    position: relative; overflow: hidden; margin: 0 -16px 16px; padding: calc(18px + env(safe-area-inset-top)) 20px 22px;
    background: #202734; color: #F2F5F9; border-radius: 0 0 24px 24px;
  }
  .mob-hero::after { /* grafismo: acento + traço do Ô em grade, como no login */
    content: ""; position: absolute; right: -8px; top: 6px; width: 170px; height: 150px; pointer-events: none;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%2364AEFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='4'%3E%3Cpolyline points='18 26 28 16 38 26'/%3E%3Cline x1='18' y1='36' x2='38' y2='36'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 56px 56px;
    opacity: .14; -webkit-mask-image: linear-gradient(to bottom left, #000 30%, transparent 85%); mask-image: linear-gradient(to bottom left, #000 30%, transparent 85%);
  }
  .mob-hero-topo { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
  .mob-hero-topo img { height: 30px; width: auto; }
  .mob-hero-topo span { font-size: 12px; color: rgba(242, 245, 249, .7); }
  .mob-hero h1 { position: relative; z-index: 1; margin: 22px 0 10px; font-size: 24px; font-weight: 700; color: #F2F5F9; }
  .mob-hero h1::before { content: ""; display: block; width: 28px; height: 4px; margin-bottom: 10px; border-radius: 4px; background: #64AEFF; }
  .mob-hero-status { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 6px; }
  .mob-hero-status span {
    display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px;
    background: rgba(242, 245, 249, .08); border: 1px solid rgba(242, 245, 249, .14); font-size: 12px; color: #F2F5F9;
  }
  .mob-hero-status i { width: 7px; height: 7px; border-radius: 50%; background: #4ade80; }
  .mob-hero-status .mob-ruim i { background: #ff7a7a; }
  .mob-acao-principal {
    display: flex; align-items: center; gap: 14px; width: 100%; min-height: 0; padding: 14px 16px; margin: 0 0 10px;
    border: 0; border-radius: 16px; background: #245AC7; color: #fff; text-align: left; cursor: pointer;
    box-shadow: 0 10px 22px rgba(36, 90, 199, .28);
  }
  :root[data-tema="escuro"] .mob-acao-principal, :root[data-tema="noturno"] .mob-acao-principal { background: #64AEFF; color: #202734; box-shadow: none; }
  .mob-acao-principal > span:last-child { display: flex; flex-direction: column; gap: 2px; }
  .mob-acao-principal b { font-size: 16px; }
  .mob-acao-principal small { font-size: 12px; opacity: .85; }
  .mob-acao-icone { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: rgba(255, 255, 255, .16); flex: 0 0 auto; }
  .mob-acao-icone svg { width: 24px; height: 24px; }
  .mob-blocos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 20px; }
  .mob-bloco {
    position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-height: 0; padding: 18px 14px 14px;
    border: 1px solid var(--border); border-radius: 14px; background: var(--card-bg); color: var(--text); text-align: left; cursor: pointer; box-shadow: none;
  }
  .mob-bloco::before { content: ""; position: absolute; left: 14px; top: 0; width: 24px; height: 4px; border-radius: 0 0 4px 4px; background: #64AEFF; }
  .mob-bloco-icone { display: inline-flex; margin-bottom: 6px; color: var(--accent-text); }
  .mob-bloco-icone svg { width: 24px; height: 24px; }
  .mob-bloco b { font-size: 15px; }
  .mob-bloco small { font-size: 12px; color: var(--text-muted); }
  .mob-titulo-secao {
    display: flex; align-items: center; gap: 8px; margin: 0 2px 10px; font-size: 11px; font-weight: 700; letter-spacing: .09em;
    text-transform: uppercase; color: var(--text-muted);
  }
  .mob-titulo-secao::before { content: ""; width: 14px; height: 3px; border-radius: 3px; background: #64AEFF; }
  .mob-titulo-secao::after { content: ""; flex: 1; height: 1px; background: var(--border); }
  .mob-telas { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--border); border-radius: 16px; background: var(--card-bg); }
  .mob-tela-item {
    display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 10px 14px; color: var(--text); text-decoration: none;
  }
  .mob-tela-item + .mob-tela-item { border-top: 1px solid var(--border); }
  .mob-tela-item:active { background: var(--surface-2); }
  .mob-tela-item.ativa .mob-tela-texto b { color: var(--accent-text); }
  .mob-chip {
    display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 40px; height: 40px; border-radius: 11px;
    background: #202734; color: #64AEFF; box-shadow: 0 0 0 1px rgba(100, 174, 255, .35);
  }
  .mob-chip svg { width: 20px; height: 20px; }
  .mob-tela-texto { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
  .mob-tela-texto b { font-size: 15px; }
  .mob-tela-texto small { font-size: 12.5px; color: var(--text-muted); }
  .mob-seta { font-size: 22px; line-height: 1; color: var(--text-3); }
  .mob-tela-titulo { margin: 4px 0 16px; font-size: 24px; font-weight: 700; }
  .mob-perfil-topo {
    display: flex; align-items: center; gap: 16px; padding: 16px; margin-bottom: 16px;
    background: var(--card-bg); border: 1px solid var(--border); border-radius: 16px;
  }
  .mob-perfil-topo > div { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; }
  .mob-perfil-topo b { font-size: 18px; }
  .mob-avatar-grande { width: 72px; height: 72px; font-size: 24px; box-shadow: 0 0 0 3px rgba(100, 174, 255, .45); }
  .mob-papel { padding: 2px 10px; border: 1px solid var(--border); border-radius: 8px; font-size: 12.5px; color: var(--text-muted); }
  .mob-lista { display: flex; flex-direction: column; padding: 4px; background: var(--card-bg); border: 1px solid var(--border); border-radius: 16px; }
  .mob-lista a, .mob-lista button {
    display: flex; align-items: center; justify-content: flex-start; gap: 14px; width: 100%; min-height: 54px; padding: 0 14px;
    border: 0; border-radius: 12px; background: transparent; box-shadow: none; color: var(--text);
    font: 600 15.5px Arial, sans-serif; text-align: left; text-decoration: none; cursor: pointer;
  }
  .mob-lista svg { width: 22px; height: 22px; color: var(--accent-text); flex: 0 0 auto; }
  .mob-lista .mob-sair, .mob-lista .mob-sair svg { color: var(--red-text); }
  .mob-lista a:active, .mob-lista button:active { background: var(--surface-2); }
  .mob-status { padding: 14px 6px 4px; font-size: 12.5px; }
  .mob-status > div { display: flex; align-items: center; gap: 8px; margin: 3px 0; }
  .mob-status i { width: 8px; height: 8px; border-radius: 50%; background: var(--success); }
  .mob-status .mob-ruim i { background: var(--danger); }
  .mob-status .mob-ruim { color: var(--red-text); }
  .mob-versao { display: block; padding: 10px 6px; text-align: right; font-size: 12px; color: var(--text-3); }
  @keyframes mob-fade { from { opacity: 0; } }

  /* ---- Gavetas e diálogos das camadas: tela cheia no celular ---- */
  .cfg-gaveta-painel, .rc-gaveta-painel { width: 100vw !important; border-left: 0 !important; }
  .cfg-gaveta-cabeca { padding: 12px 14px !important; }
  .cfg-gaveta-corpo { padding: 12px 12px 28px !important; }
  .fase1c-dialog { width: calc(100vw - 16px) !important; max-width: none !important; left: 8px !important; right: 8px !important; }

  /* ======================= Telas ======================= */

  /* Cadastro / Recepção: uma coluna; câmera grande (no celular ela não divide a altura com nada) */
  .cadastro-visual .main { display: block !important; }
  /* Atalhos da Recepção (movidos pelo mobile.js para baixo da barra): fileira de círculos */
  .mob-acoes-rc { margin: 4px 0 14px; }
  .mob-acoes-rc .topbar-acoes { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; margin: 0 !important; width: 100%; }
  .mob-acoes-rc .rc-atalhos { display: contents !important; }
  .mob-acoes-rc .liberacao-manual-wrap { display: flex; flex-direction: column; align-items: center; min-width: 0; }
  .mob-acoes-rc .topbar-acoes button, .mob-acoes-rc .topbar-acoes a.rc-acao {
    position: relative; display: flex !important; flex-direction: column; align-items: center; justify-content: flex-start; gap: 6px;
    width: 100%; min-width: 0; min-height: 0 !important; height: auto; padding: 2px 0 !important; margin: 0;
    border: 0 !important; background: transparent !important; box-shadow: none !important;
    color: var(--text) !important; font: 600 11.5px/1.2 Arial, sans-serif !important; text-align: center; white-space: normal;
  }
  .mob-acoes-rc .topbar-acoes button > svg, .mob-acoes-rc .topbar-acoes a.rc-acao > svg, .mob-acoes-rc .mob-ico {
    display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
    width: 56px !important; height: 56px !important; padding: 16px; border-radius: 50%;
    background: color-mix(in srgb, #64AEFF 18%, var(--card-bg)); color: var(--accent-text);
  }
  .mob-acoes-rc .mob-ico { padding: 0; display: inline-flex !important; } /* recepcao.css esconde os <span> dos atalhos em tela estreita */
  .mob-acoes-rc .mob-ico svg, .mob-acoes-rc .topbar-acoes svg { width: 24px !important; height: 24px !important; }
  .mob-acoes-rc #btn-liberacao-manual > svg, .mob-acoes-rc #btn-liberacao-manual .mob-ico { background: color-mix(in srgb, var(--warning) 22%, var(--card-bg)); color: var(--amber-text); }
  .mob-acoes-rc .rc-acao span:not(.rc-contador):not(.mob-ico) { display: inline !important; }
  .mob-acoes-rc .rc-contador { position: absolute; top: 0; left: calc(50% + 14px); }
  .mob-acoes-rc .liberacao-manual-wrap > :not(:first-child) { margin-top: 4px; }
  .cad-layout { display: flex !important; flex-direction: column; gap: 14px !important; height: auto !important; }
  .cad-layout > .form-col, .cad-layout > .cad-layout-right { height: auto !important; }
  .logo-banner-cadastro.vazio { display: none !important; }
  #btn-salvar { overflow: hidden; } /* o texto escondido (fonte 0) não pode alargar a página */
  .main-row { display: flex !important; flex-direction: column; }
  .left-stack { flex-direction: column !important; gap: 12px !important; }
  .left-stack > div, .left-stack > .destino-busca-wrap { width: 100% !important; max-width: none !important; flex: 1 1 auto !important; }
  .cadastro-visual .main .name-doc-row[style] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } /* Nome e Documento lado a lado */
  #categoria-pills { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .cam-triple { flex-direction: column !important; gap: 10px !important; }
  .cam-triple .sym-box.cam { flex: none !important; height: min(calc(100vw - 48px), 46vh) !important; }
  .cam-triple .sym-box.sim { flex: none !important; height: auto !important; min-height: 0 !important; padding: 10px 12px !important; }
  /* Formulário mais enxuto: menos espaço entre blocos, rótulos menores */
  .cadastro-visual .form-card { padding: 12px !important; }
  .cadastro-visual .form-card .field-label, .cadastro-visual .form-card label { font-size: 12px; margin-bottom: 4px; }
  .left-stack { gap: 8px !important; }
  .cad-layout-right > .card { flex: none !important; min-height: 0 !important; }
  .cad-layout-right > .log-lateral { max-height: 70vh; }
  body.recepcao .rc-cabecalho, body.recepcao .rc-linha { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto !important; }
  body.recepcao .rc-ultimo-dados { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
  body.recepcao .rc-ultimo-foto img, body.recepcao .rc-ultimo-foto .avatar-vazio { width: 60px !important; height: 60px !important; }
  /* item 578 (17/10/2026): a bandeja de avisos NÃO é mais fixada na base no celular — a posição vem de fase1b-real.js (faixa acima do formulário ou, sem lugar, o canto de baixo por cima da barra); os avisos de campo (CPF…) vivem encostados no campo (aviso-de-campo.js) */

  /* Unidade */
  #unidade-abas-categoria { overflow-x: auto !important; flex-wrap: nowrap !important; scrollbar-width: none; }
  #unidade-abas-categoria::-webkit-scrollbar { display: none; }
  body.unidade-visual #unidade-abas-categoria .un-aba-separador { margin-left: 8px; }
  #unidade-lista-pessoas { grid-template-columns: minmax(0, 1fr) !important; }
  body.unidade-visual .un-busca { max-width: none; }
  .unidade-topbar-operacoes { width: 100%; }
  /* Foto + campos lado a lado (coluna com min-width) → foto em cima, campos embaixo */
  .main div[style*="display:flex"]:not([style*="flex-direction:column"]):has(> div[style*="min-width:220px"]) { flex-wrap: wrap !important; }
  .main div[style*="min-width:220px"] { min-width: 0 !important; flex: 1 1 100% !important; }
  .main select[style*="min-width:220px"] { min-width: 0 !important; width: 100%; }
  #unidade-foto-caixa { margin: 0 auto; }

  /* Cadastros e Blocos / Bloco: cartões em 2 colunas; formulários empilhados */
  .unidades-grid, .blocos-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
  .unidade-card { padding: 12px !important; }
  .unidade-card-acoes { flex-wrap: wrap; }
  /* Linhas "campo + botões" (ex.: Nome da unidade + Adicionar / Em massa / Remover todos): o campo ocupa a linha e os botões vão para baixo */
  .main div[style*="display:flex"]:not([style*="flex-direction:column"]):has(> .field), .main div[style*="display: flex"]:not([style*="flex-direction:column"]):has(> .field) { flex-wrap: wrap; }
  .main div[style*="display:flex"]:not([style*="flex-direction:column"]):has(> .field) > .field, .main div[style*="display: flex"]:not([style*="flex-direction:column"]):has(> .field) > .field { flex: 1 1 100% !important; }
  .main div[style*="display:flex"]:not([style*="flex-direction:column"]):has(> .field) > button:not(.hidden), .main div[style*="display: flex"]:not([style*="flex-direction:column"]):has(> .field) > button:not(.hidden) { flex: 1 1 auto; justify-content: center; }

  /* Buscas recolhíveis (mobile.js): só o 1º campo à vista; o funil no topo ou "Mais filtros" abre o resto */
  .mob-filtros:not(.mob-filtros-abertos) .field:not(.mob-filtro-principal),
  .mob-filtros:not(.mob-filtros-abertos) > p { display: none !important; }
  .mob-mais-filtros {
    display: block; min-height: 0 !important; padding: 2px 0 8px !important; margin: -2px 0 6px; border: 0 !important;
    background: none !important; box-shadow: none !important; color: var(--accent-text); font: 700 13px Arial, sans-serif; text-align: left; cursor: pointer;
  }
  .mob-funil {
    position: relative; flex: 0 0 auto; width: 38px; height: 38px; min-height: 0 !important; padding: 0 !important; margin-left: auto;
    display: inline-flex; align-items: center; justify-content: center; border: 0 !important; border-radius: 12px;
    background: transparent !important; box-shadow: none !important; color: #F2F5F9 !important;
  }
  .mob-funil svg { width: 22px; height: 22px; }
  .mob-funil.ativo { background: rgba(100, 174, 255, .22) !important; color: #64AEFF !important; }
  .mob-funil-qtd {
    position: absolute; top: 2px; right: 2px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 999px;
    background: #64AEFF; color: #202734; font: 700 10px/16px Arial, sans-serif;
  }

  /* Histórico: botões em uma linha; cada resultado vira um cartão (foto, nome, horário e detalhes) */
  body.ajustes-historico .ajv-hist-botoes { grid-column: 1 / -1 !important; justify-content: stretch !important; }
  body.ajustes-historico .ajv-hist-botoes > button { flex: 1; }
  .main table.historico-tabela { min-width: 0; width: 100%; }
  .historico-tabela thead { display: none; }
  .historico-tabela tbody tr {
    display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; column-gap: 12px; row-gap: 2px; align-items: center;
    padding: 12px; margin-bottom: 8px; background: var(--card-bg); border: 1px solid var(--border); border-radius: 14px;
  }
  .historico-tabela tbody td { padding: 0 !important; border: 0 !important; font-size: 12.5px; color: var(--text-muted); min-width: 0; }
  .historico-tabela tbody td[colspan] { grid-column: 1 / -1; }
  .historico-tabela tbody td:nth-child(1):not([colspan]) { grid-column: 1; grid-row: 1 / span 4; align-self: start; }
  .historico-tabela tbody td:nth-child(1) img { width: 48px !important; height: 48px !important; border-radius: 50%; object-fit: cover; }
  .historico-tabela tbody td:nth-child(2) { grid-column: 2; grid-row: 1; font-size: 14px; color: var(--text); font-weight: 700; }
  .historico-tabela tbody td:nth-child(9) { grid-column: 3; grid-row: 1; text-align: right; font-weight: 700; color: var(--text); font-size: 12px; }
  .historico-tabela tbody td:nth-child(10) { grid-column: 3; grid-row: 2; justify-self: end; }
  .historico-tabela tbody td:nth-child(3), .historico-tabela tbody td:nth-child(4) { grid-column: 2; }
  .historico-tabela tbody td:nth-child(n+5):nth-child(-n+8) { grid-column: 2 / -1; font-size: 11.5px; }
  .historico-tabela tbody td:nth-child(5):not(:empty)::before { content: "Sentido: "; color: var(--text-3); }
  .historico-tabela tbody td:nth-child(6):not(:empty)::before { content: "Tipo: "; color: var(--text-3); }
  .historico-tabela tbody td:nth-child(7):not(:empty)::before { content: "Categoria: "; color: var(--text-3); }
  .historico-tabela tbody td:nth-child(8):not(:empty)::before { content: "Operador: "; color: var(--text-3); }

  /* Painel */
  .painel-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
  body.painel-visual .painel-tile { grid-template-columns: 1fr !important; padding: 12px !important; row-gap: 6px; }
  body.painel-visual .pv-icone { grid-row: auto !important; width: 34px; height: 34px; }
  body.painel-visual .painel-tile-valor { font-size: 24px !important; }
  .painel-filtros .seg-control { width: 100%; overflow-x: auto; }
  body.painel-visual .painel-barras.pv-colunas { height: 180px; }

  /* Lista negra */
  .lnv-grade { grid-template-columns: minmax(0, 1fr) !important; }
  body.lista-negra-visual .lnv-abertura { grid-template-columns: auto 1fr !important; }
  body.lista-negra-visual .lnv-abertura .lnv-detalhes { grid-column: 1 / -1; justify-self: start; }

  /* Configurações (painel de atalhos) */
  .cfg-atalhos-titulo { flex-direction: column; align-items: stretch !important; }
  .cfg-busca { flex: 1 1 auto !important; }
  .cfg-categoria-cabeca h2 { font-size: 17px !important; }
  .cfg-atalho { min-height: 68px !important; }
}

/* Ícones de reserva dos atalhos da Recepção (mobile.js): só no celular. */
@media (min-width: 761px) { .mob-ico { display: none !important; } }
@media (min-width: 761px) { .mob-mais-filtros, .mob-funil { display: none !important; } }

/* 24/10/2026 — aviso «Site para computador» (js/mobile.js): FORA da @media de propósito, porque aparece justamente quando a janela é LARGA (o navegador do celular mostra ~980 px). Fica por cima (não mexe no layout) e o tamanho da letra vem do JS
   (compensa a redução que o navegador faz ao encolher a página para a tela do celular). */
.aviso-site-computador { position: fixed; top: 0; left: 0; right: 0; z-index: 3000; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: .8em; padding: .6em .8em; background: #fff4d6; color: #3d2f00; border-bottom: 2px solid #e0a800; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; line-height: 1.35; box-shadow: 0 2px 8px rgba(0, 0, 0, .25); }
.aviso-site-computador button { flex: none; font: inherit; padding: .35em .9em; border-radius: .4em; border: 1px solid #8a6d00; background: #fff; color: #3d2f00; cursor: pointer; }
