/* MoveControl · estilos próprios da revisão de UX (MC-UX-20261020). Carregado depois do style.css e só com seletores
 * do MoveControl (.mv*, .cd-*, .mc-*, html.app-move), para não mexer no visual do Gestão Ricci compartilhado.
 * Regras: alvo de toque principal >= 48px, texto do motorista >= 16px, contraste AA (texto >= 4,5:1), foco visível.
 */

/* ── cor: o laranja da marca fica no fundo do botão, com texto grafite (5,6:1). Branco sobre #FF7A00 dava 2,6:1.
 * Laranja como TEXTO em fundo claro usa o tom escuro (#C2410C, 5,2:1); no tema escuro o laranja já passa (5,6:1). */
html.app-move { --mc-laranja-texto: #C2410C; --mc-foco: #1F2937; }
html.app-move[data-theme="dark"] { --mc-laranja-texto: #FF9A3D; --mc-foco: #FFB066; }
.app-move .btn.primary, .app-move .btn.primary:hover { color: #1F2937; }
.app-move .btn.primary:disabled { color: #1F2937; }
.app-move .mv-foco-rot, .app-move .mv-link, .app-move .mv-obs summary, .app-move .mc-wordmark b { color: var(--mc-laranja-texto); }
.app-move .mv-passo-t span { color: #1F2937; }
.app-move :focus-visible { outline: 3px solid var(--mc-foco); outline-offset: 2px; }

/* ── atributo hidden sempre vence: um label com display:inline-flex mostrava o input de arquivo de reserva da ficha
 * (400px de largura num corpo de 390px, com rolagem horizontal dentro da folha). */
.mv [hidden], .mv-sheet [hidden], .cd [hidden], .mc-aviso-wa[hidden] { display: none !important; }
.mv-sheet, .mv-sheet-corpo { overflow-x: hidden; }
.mv-sheet input[type="file"] { max-width: 100%; }
.mv-foto-acoes > * { min-width: 0; max-width: 100%; }

/* ── app do motorista: legível na rua, uma mão, sol ── */
.mv { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); padding-bottom: calc(40px + env(safe-area-inset-bottom)); }
.mv-data { font-size: 15px; }
.mv-chip { font-size: 14px; padding: 5px 10px; }
.mv-ic { width: 48px; height: 48px; }
.mv-hora, .mv-info { font-size: 16px; }
.mv-end { font-size: 16px; }
.mv-atalho { font-size: 16px; min-height: 64px; }
.mv-sub-folha, .mv-ajuda, .mv-falta { font-size: 15px; }
.mv-rot-campo { font-size: 15px; }
.mv-sug { min-height: 48px; font-size: 16px; }
.mv-link { display: inline-flex; align-items: center; min-height: 48px; }
.mv-foto-mini button { width: 44px; height: 44px; }
.mv-sec { font-size: 15px; }
.mv-item-txt small, .mv-feitas small { font-size: 15px; }
.mv-novo dl { font-size: 15px; }
.mv-novo dt { font-size: 13px; }
.mv-novo-end { color: var(--txt); font-size: 16px; }

/* barra de estado do turno: o que é verdade agora (rota, localização, envio), sem prometer GPS que não chegou */
.mv-estado { display: grid; gap: 4px; background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 10px 12px; margin: 0 0 12px; font-size: 15px; }
.mv-estado b { font-weight: 700; }
.mv-estado .ok { color: #15803d; }
.mv-estado .alerta { color: #b45309; }
html.app-move[data-theme="dark"] .mv-estado .ok { color: #4ade80; }
html.app-move[data-theme="dark"] .mv-estado .alerta { color: #fbbf24; }
.mv-dica { margin: 8px 2px 0; font-size: 15px; color: var(--muted); }

/* ações de apoio: não competem com a ação principal (sem laranja, texto normal) */
.mv-apoio { display: grid; gap: 8px; margin: 18px 0 0; }
.mv-apoio .btn, .mv-push .btn { min-height: 48px; font-size: 16px !important; background: var(--panel); color: var(--txt); border: 1px solid var(--line); }
.mv-push { margin: 0; }
.mv-push span { font-size: 15px !important; }

/* ficha: progresso e o que falta perto do botão; passo preenchido ganha o check */
.mv-passo.feito .mv-passo-t span { background: #16a34a; color: #fff; }
.mv-progresso { font-size: 15px; color: var(--muted); margin: 0 0 6px; }
.mv-falta-ir { all: unset; cursor: pointer; text-decoration: underline; color: #b45309; font-size: 15px; min-height: 44px; display: inline-flex; align-items: center; }
html.app-move[data-theme="dark"] .mv-falta-ir { color: #fbbf24; }
.mv-rascunho { font-size: 14px; color: var(--muted); margin: 0 0 10px; }
.mv-sheet-rod { padding-bottom: calc(14px + env(safe-area-inset-bottom)); }

/* ajuda do motorista */
.mv-ajuda-lista { margin: 0; padding-left: 20px; display: grid; gap: 10px; font-size: 16px; line-height: 1.45; }

/* ── painel do dia (coordenação, desktop): prioridades que filtram a lista ── */
.cd-prioridades { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.cd-prio { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 6px 14px; border-radius: 999px; border: 1px solid var(--line); background: var(--panel); color: var(--txt); font-size: 14px; font-weight: 600; cursor: pointer; font-family: inherit; }
.cd-prio b { font-size: 17px; }
.cd-prio[aria-pressed="true"] { border-color: var(--txt); box-shadow: inset 0 0 0 1px var(--txt); }
.cd-prio.alerta b { color: #b91c1c; }
.cd-prio.atencao b { color: #b45309; }
.cd-prio:disabled { opacity: .55; cursor: default; }
.cd-prio:focus-visible, .cd-tbl select:focus-visible, .cd-tbl a:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.cd-barra { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 8px; }
.cd-barra input[type="search"] { min-width: min(360px, 100%); font-size: 14px; min-height: 40px; }
.cd-tbl td, .cd-tbl th { font-size: 14px; }
.cd-tbl .cd-sub { font-size: 13px; color: var(--muted); }
.cd-tbl select { font-size: 14px; min-height: 36px; }
.cd-tbl input[type="checkbox"] { width: 20px; height: 20px; }
.cd-vazio { padding: 16px; color: var(--muted); font-size: 14px; }
.cd-aguardando { display: block; font-size: 12.5px; color: #b45309; margin-top: 2px; }

/* ── aviso discreto do WhatsApp desconectado (não bloqueia o painel; conectar só pelo gesto do usuário) ── */
.mc-aviso-wa { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 10px; padding: 8px 12px; border-radius: 10px; border: 1px solid #f59e0b66; background: #f59e0b14; font-size: 14px; }
.mc-aviso-wa .btn { min-height: 36px; }
.mc-aviso-wa b { margin-right: auto; }

/* ── Torre: resumo do dia recolhível (os números completos, abaixo das decisões) ── */
.tc-resumo { margin: 14px 0 6px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
/* list-item mantém o marcador nativo de expandir/recolher (▸/▾), com área de toque de 44px */
.tc-resumo > summary { display: list-item; min-height: 44px; line-height: 44px; padding: 0 14px; font-weight: 600; cursor: pointer; }
.tc-resumo > summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.tc-resumo .tc-kpis-resumo { padding: 0 12px 12px; margin: 0; }

/* ── Indicadores: aviso de gráficos indisponíveis (respeita hidden; números e tabelas continuam) ── */
.ci-aviso-graficos { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; }
.ci-aviso-graficos[hidden], .ci-canvas canvas[hidden] { display: none !important; }
.ci-sem-grafico { color: var(--muted); font-size: 13px; margin: 8px 0; }

/* ── menu da seção: grupos Operação, Consulta, Configuração ── */
.mc-nav-grupo { padding: 10px 12px 2px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--text-faint, var(--muted)); }

@media (prefers-reduced-motion: reduce) { .mv-sheet, .mv-spin, .mv-ic.gira { animation: none !important; } }

/* Usuários: navegação entre papéis, no Move e na área de logística do Gestão Ricci. */
.mc-usuarios .page-header p{margin:6px 0 0;color:var(--muted);font-size:14px}
.mc-usuarios-abas{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;border-bottom:1px solid var(--line,#d7dde5);padding-bottom:10px}
.mc-usuarios-abas a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;border:1px solid var(--line,#d7dde5);border-radius:8px;color:var(--text);text-decoration:none;font-weight:600}
.mc-usuarios-abas a[aria-selected="true"]{background:var(--text,#1f2937);color:var(--bg,#fff);border-color:var(--text,#1f2937)}
.mc-usuarios-abas a:focus-visible{outline:3px solid var(--mc-foco,#2563eb);outline-offset:3px}
.mc-usuarios .acs-item{flex-wrap:wrap;gap:12px}
.mc-usuarios .acs-item>div{overflow-wrap:anywhere;flex:1 1 200px}

/* ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════
 * Identidade visual do Move Control (MC-IDENTIDADE-20261021)
 * Vale só sob html[data-produto="move"]: host app.movecontrol e contexto Move do host Ricci (app.js navMarcarProduto).
 * Gestão Ricci, AGF, Mais Envios e Papagueti não recebem estas regras. Claro: menu claro; escuro: menu escuro.
 * Laranja #FF7A00 é fundo de ação e marcador; como texto em fundo claro usa #C2410C (5,2:1). Status mantêm as cores
 * semânticas do sistema (COL_COR). Sem fonte nova: Inter, a mesma do restante.
 * Tamanhos genéricos (altura de botão) entram com :where(), especificidade baixa: as regras do app do motorista
 * (alvos de 48 px, campos de 16 px no host Move) continuam valendo por cima.
 * ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════ */
.ic-traco { display: none; }
.brand-move { display: none; }
html[data-produto="move"] {
  --mc-bg: #F5F6F8; --mc-card: #FFFFFF; --mc-card2: #F8F9FB; --mc-hover: #F1F3F6;
  --mc-linha: #E5E7EB; --mc-linha-forte: #D1D5DB;
  --mc-txt: #1F2937; --mc-txt2: #374151; --mc-muted: #6B7280;
  --mc-side: #FFFFFF; --mc-side-txt: #374151;
  --mc-laranja: #FF7A00; --mc-laranja-txt: #C2410C; --mc-laranja-suave: rgba(255,122,0,.10);
  --mc-sombra: 0 1px 2px rgba(16,24,40,.04), 0 1px 3px rgba(16,24,40,.06);
  --mc-laranja-texto: #C2410C; --mc-foco: #1F2937;
  --surface-base: var(--mc-bg); --surface-card: var(--mc-card); --surface-card-hover: var(--mc-card2);
  --border-subtle: var(--mc-linha); --border-strong: var(--mc-linha-forte);
  --text-strong: var(--mc-txt); --text-muted: var(--mc-muted); --text-faint: #9CA3AF;
  --info: #FF7A00; --info-bg: rgba(255,122,0,.10);
  --bg: var(--surface-base); --panel: var(--surface-card); --panel2: var(--surface-card-hover);
  --line: var(--border-subtle); --txt: var(--text-strong); --muted: var(--text-muted); --accent: var(--info);
  --shadow-sm: var(--mc-sombra); --shadow-md: 0 8px 24px rgba(16,24,40,.10);
  --sidebar-w: 216px; --card-radius: 12px;
  color-scheme: light;
}
html[data-produto="move"][data-theme="dark"] {
  --mc-bg: #0F141B; --mc-card: #161D27; --mc-card2: #1B2330; --mc-hover: #212B39;
  --mc-linha: rgba(255,255,255,.09); --mc-linha-forte: rgba(255,255,255,.17);
  --mc-txt: #E8ECF1; --mc-txt2: #CBD2DC; --mc-muted: #9AA4B2;
  --mc-side: #121821; --mc-side-txt: #CBD2DC;
  --mc-laranja-txt: #FF9A3D; --mc-laranja-suave: rgba(255,122,0,.16);
  --mc-sombra: 0 1px 2px rgba(0,0,0,.35);
  --mc-laranja-texto: #FF9A3D; --mc-foco: #FFB066;
  --text-faint: #6B7685; --info-bg: rgba(255,122,0,.16);
  --shadow-md: 0 8px 24px rgba(0,0,0,.45);
  color-scheme: dark;
}
html[data-produto="move"] body { background: var(--mc-bg); color: var(--mc-txt); }
html[data-produto="move"] :focus-visible { outline: 3px solid var(--mc-foco); outline-offset: 2px; }
html[data-produto="move"] h1, html[data-produto="move"] h2, html[data-produto="move"] h3,
html[data-produto="move"] .page-header h1 { font-family: "Inter", "Segoe UI", system-ui, sans-serif; letter-spacing: -.01em; }

/* ── menu vertical ── */
html[data-produto="move"] .sidebar { background: var(--mc-side); color: var(--mc-side-txt); border-right: 1px solid var(--mc-linha); box-shadow: none; padding: 0 0 64px; }
html[data-produto="move"] .brand { padding: 18px 18px 16px; margin: 0 0 8px; border-bottom: 1px solid var(--mc-linha); }
html[data-produto="move"] .brand .brand__logo { display: none; }
html[data-produto="move"]:not(.app-move) .brand > small { display: none; }
html[data-produto="move"] .brand > small { color: var(--mc-muted) !important; text-transform: none; letter-spacing: 0; font-size: 12px; margin-top: 6px; }
html[data-produto="move"] .brand-move { display: flex; }
html[data-produto="move"] .mc-side-marca { gap: 8px; align-items: center; border-radius: 8px; }
html[data-produto="move"] .mc-side-marca img { width: 34px; height: auto; }
html[data-produto="move"] .sidebar .mc-wordmark { color: var(--mc-txt) !important; font-size: 20px; }
html[data-produto="move"] .sidebar .mc-wordmark b { color: var(--mc-laranja) !important; }
html[data-produto="move"] .side-user { display: none; }
html[data-produto="move"] .nav { padding: 0 10px; }
html[data-produto="move"] .nav a, html[data-produto="move"] .mc-nav-head {
  display: flex; align-items: center; gap: 12px; width: 100%; min-height: 40px; margin: 2px 0; padding: 8px 12px;
  border: 0; border-left: 3px solid transparent; border-radius: 8px; background: transparent; color: var(--mc-side-txt);
  font: 500 14px/1.3 "Inter", "Segoe UI", system-ui, sans-serif; letter-spacing: 0; text-transform: none; text-align: left; cursor: pointer; }
html[data-produto="move"] .nav a:hover, html[data-produto="move"] .mc-nav-head:hover { background: var(--mc-hover); color: var(--mc-txt); }
html[data-produto="move"] .nav a.active { background: var(--mc-laranja-suave); color: var(--mc-laranja-txt); border-left-color: var(--mc-laranja); font-weight: 600; }
html[data-produto="move"] .nav a:focus-visible, html[data-produto="move"] .mc-nav-head:focus-visible { outline: 2px solid var(--mc-foco); outline-offset: -2px; }
html[data-produto="move"] .nav .nav-ic { width: 20px; height: 20px; display: inline-grid; place-items: center; flex: none; color: inherit; }
html[data-produto="move"] .nav .mc-ic { display: block; }
html[data-produto="move"] .mc-nav-head .nav-area-rot { flex: 1; }
html[data-produto="move"] .mc-caret { margin-left: auto; opacity: .7; transition: transform .15s ease; }
html[data-produto="move"] .mc-nav-head[aria-expanded="true"] .mc-caret { transform: rotate(90deg); }
html[data-produto="move"] .mc-nav-sec { margin: 0; }
html[data-produto="move"] .mc-nav-sec .nav-area-body { padding: 0; }
html[data-produto="move"] .mc-nav-sec:not(.mc-nav-principal) .nav-area-body a { padding-left: 24px; }
html[data-produto="move"] .mc-nav-principal { padding-bottom: 8px; margin-bottom: 8px; border-bottom: 1px solid var(--mc-linha); }
html[data-produto="move"] .sidebar-collapse { background: var(--mc-card); color: var(--mc-txt); border: 1px solid var(--mc-linha-forte); box-shadow: var(--mc-sombra); }
html[data-produto="move"] .sidebar-collapse:hover { background: var(--mc-hover); border-color: var(--mc-laranja); }
html[data-produto="move"] .menu-toggle { background: var(--mc-card); border-color: var(--mc-linha); color: var(--mc-txt); }
html[data-produto="move"] .overlay { background: rgba(17,24,39,.45); }

/* ── ambientes (host Ricci): a aba Move ativa no tom do produto ── */
html[data-produto="move"] .context-nav { background: var(--mc-card); border-bottom-color: var(--mc-linha); }
html[data-produto="move"] .context-nav a { color: var(--mc-txt2); }
html[data-produto="move"] .context-nav a.active { background: var(--mc-laranja-suave); color: var(--mc-laranja-txt); box-shadow: inset 0 -2px var(--mc-laranja); }
/* ── topo: caminho, busca, sino, tema e usuário ── */
html[data-produto="move"] .appbar { height: 56px; padding: 0 24px; gap: 16px; background: var(--mc-card); border-bottom: 1px solid var(--mc-linha); }
html[data-produto="move"] .appbar__caminho:not([hidden]) { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: 13.5px; color: var(--mc-muted); white-space: nowrap; overflow: hidden; }
html[data-produto="move"] .appbar__caminho b { color: var(--mc-txt); font-weight: 600; overflow: hidden; text-overflow: ellipsis; }
html[data-produto="move"] .appbar__caminho .sep { color: var(--mc-linha-forte); }
html[data-produto="move"] .appbar__search { margin-left: auto; max-width: 340px; height: 38px; border-radius: 8px; background: var(--mc-card2); border-color: var(--mc-linha); }
html[data-produto="move"] .appbar__search:focus-within { border-color: var(--mc-laranja); box-shadow: 0 0 0 3px rgba(255,122,0,.18); }
html[data-produto="move"] .appbar__search input, html[data-produto="move"] .appbar__search input:focus { background: transparent; border: 0; box-shadow: none; }
html[data-produto="move"] .appbar__search .ic { font-size: 0; width: 18px; height: 18px; flex: none; opacity: 1; background: var(--mc-muted);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M16 16l4.5 4.5'/%3E%3C/svg%3E") center / 18px no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M16 16l4.5 4.5'/%3E%3C/svg%3E") center / 18px no-repeat; }
html[data-produto="move"] .appbar__right { position: relative; gap: 8px; }
html[data-produto="move"] .appbar__icon { width: 40px; height: 40px; border-radius: 8px; background: transparent; border: 1px solid transparent; color: var(--mc-txt2); }
html[data-produto="move"] .appbar__icon:hover { background: var(--mc-hover); border-color: var(--mc-linha); }
html[data-produto="move"] .appbar__icon[aria-expanded="true"] { background: var(--mc-laranja-suave); color: var(--mc-laranja-txt); }
html[data-produto="move"] .appbar__icon .ic-emoji { display: none; }
html[data-produto="move"] .appbar__icon .ic-traco { display: block; }
html[data-produto="move"] #themeToggle .ic-sol { display: none; }
html[data-produto="move"][data-theme="dark"] #themeToggle .ic-lua { display: none; }
html[data-produto="move"][data-theme="dark"] #themeToggle .ic-sol { display: block; }
html[data-produto="move"] .appbar__user .av { background: #1F2937; color: #fff; }
html[data-produto="move"][data-theme="dark"] .appbar__user .av { background: #E8ECF1; color: #1F2937; }
/* host do app: a coordenação ganha busca e sino (o motorista continua com o topo mínimo, sem caminho) */
html.app-move.app-move-adm[data-produto="move"] .appbar__search { display: flex !important; }
html.app-move.app-move-adm[data-produto="move"] #appNotif { display: grid !important; }
html.app-move:not(.app-move-adm) .appbar__caminho { display: none !important; }
/* item 3: com a lateral à vista (coordenação no desktop) a marca fica só na lateral; o caminho vai para a esquerda.
 * No celular (lateral em gaveta) e no app do motorista a marca do topo continua. */
@media (min-width: 48.0625rem) { html.app-move.app-move-adm[data-produto="move"] .appbar > .mc-marca { display: none; } }
/* o caminho no topo substitui a migalha da subnavegação no Move */
html[data-produto="move"] #subnav { display: none !important; }
html[data-produto="move"] .busca-resultados { background: var(--mc-card); border-color: var(--mc-linha); }

/* painel do sino: Para acompanhar hoje */
.mc-sino { position: absolute; top: calc(100% + 8px); right: 0; z-index: 95; width: 300px; max-width: calc(100vw - 24px); padding: 10px;
  background: var(--mc-card, var(--panel)); color: var(--mc-txt, var(--txt)); border: 1px solid var(--mc-linha, var(--line)); border-radius: 12px; box-shadow: 0 12px 32px rgba(16,24,40,.16); }
.mc-sino-cab { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; padding: 2px 6px 8px; border-bottom: 1px solid var(--mc-linha, var(--line)); margin-bottom: 6px; }
.mc-sino-cab small, .mc-sino-corpo p { color: var(--mc-muted, var(--muted)); }
.mc-sino-corpo { font-size: 14px; }
.mc-sino-corpo p { margin: 8px 6px; }
.mc-sino ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.mc-sino li a { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 6px 8px; border-radius: 8px; color: inherit; text-decoration: none; }
.mc-sino li a:hover { background: var(--mc-hover, var(--panel2)); }
.mc-sino li a b { min-width: 28px; text-align: center; font-variant-numeric: tabular-nums; }
.mc-sino li a.zero { color: var(--mc-muted, var(--muted)); }
.mc-sino-rod { display: flex; align-items: center; justify-content: center; min-height: 44px; margin-top: 6px; border-top: 1px solid var(--mc-linha, var(--line)); font-weight: 600; color: var(--mc-laranja-txt, var(--accent)); }

/* ── conteúdo: cabeçalho de página, cartões, botões, campos, tabelas, pílulas, modais e mensagens ── */
:where(html[data-produto="move"]) .content { padding: 24px 28px 40px; }
html[data-produto="move"] .page-header { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px 16px; flex-wrap: wrap; margin: 0 0 20px; }
html[data-produto="move"] .page-header h1 { margin: 0; font-size: 24px; font-weight: 700; line-height: 1.2; color: var(--mc-txt); }
html[data-produto="move"] .page-header p { margin: 4px 0 0; color: var(--mc-muted); font-size: 14px; }
.mc-sub { margin: 4px 0 0; color: var(--mc-muted, var(--muted)); font-size: 14px; line-height: 1.4; }
.mc-cab-txt { min-width: 0; }
.mc-cab-acoes { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.mc-nota { margin: 8px 0 0; font-size: 12.5px; color: var(--mc-muted, var(--muted)); }
.mc-vazio { margin: 0; font-size: 14px; color: var(--mc-muted, var(--muted)); }
.mc-link { color: var(--mc-laranja-txt, var(--accent)); font-weight: 600; font-size: 13.5px; text-decoration: none; white-space: nowrap; }
.mc-link:hover { text-decoration: underline; }
.mc-link-id { all: unset; cursor: pointer; color: var(--mc-laranja-txt, var(--accent)); font-weight: 600; font-variant-numeric: tabular-nums; border-radius: 4px; padding: 2px; }
.mc-link-id:hover { text-decoration: underline; }
.mc-link-id:focus-visible { outline: 2px solid var(--mc-foco); outline-offset: 2px; }
.mc-card-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin: 0 0 14px; }
.mc-card-cab h2 { margin: 0; }
html[data-produto="move"] .card { background: var(--mc-card); border: 1px solid var(--mc-linha); border-radius: 12px; box-shadow: var(--mc-sombra); }
html[data-produto="move"] .card:hover { transform: none; box-shadow: var(--mc-sombra); }
html[data-produto="move"] .card h2 { font-size: 16px; font-weight: 600; color: var(--mc-txt); }
html[data-produto="move"] .kpi { border-radius: 12px; box-shadow: var(--mc-sombra); }
html[data-produto="move"] .kpi:hover { transform: none; }
/* botões: forma e cor com o escopo do Move; altura com :where() (o motorista mantém os 48 px das regras próprias) */
html[data-produto="move"] .btn { border-radius: 8px; font-weight: 500; }
/* especificidade zero (o seletor inteiro no :where): qualquer regra com classe vence, como o botão principal do
 * motorista (.mv-btn-g, 56 px) e os alvos de 48 px; antes o :where só no html deixava este 38 px por cima (QA item 9) */
:where(html[data-produto="move"] .btn) { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 38px; text-decoration: none; }
html[data-produto="move"] .btn.primary, html[data-produto="move"] .btn.primary:hover { background: #FF7A00; border-color: #FF7A00; color: #1F2937; font-weight: 600; }
html[data-produto="move"] .btn.primary:hover { filter: brightness(1.05); }
/* item 4: o host do app arredondava os botões em pílula (.app-move .btn, mais específico); na coordenação, inclusive nos
 * modais, a forma é a da referência (8 px). Só a forma: alturas e alvos de toque do motorista não mudam. */
html.app-move-adm[data-produto="move"] .btn, html.app-move-adm[data-produto="move"] .btn.primary, html.app-move-adm[data-produto="move"] .modal .btn,
html[data-produto="move"]:not(.app-move) .btn, html[data-produto="move"]:not(.app-move) .btn.primary { border-radius: 8px; }
html[data-produto="move"] .btn.green { background: #15803d; border-color: #15803d; color: #fff; }
html[data-produto="move"] .btn.red { background: transparent; color: #b91c1c; border-color: rgba(185,28,28,.45); }
html[data-produto="move"][data-theme="dark"] .btn.red { color: #f87171; border-color: rgba(248,113,113,.45); }
html[data-produto="move"] .btn.danger { background: #b91c1c; border-color: #b91c1c; color: #fff; }
html[data-produto="move"] .btn .mc-ic { flex: none; }
html[data-produto="move"] input[type="checkbox"], html[data-produto="move"] input[type="radio"] { accent-color: #C2410C; }
html[data-produto="move"][data-theme="dark"] input[type="checkbox"], html[data-produto="move"][data-theme="dark"] input[type="radio"] { accent-color: #FF9A3D; }
html[data-produto="move"] select, html[data-produto="move"] textarea,
html[data-produto="move"] input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]) { border-radius: 8px; border-color: var(--mc-linha-forte); }
html[data-produto="move"] input:focus, html[data-produto="move"] select:focus, html[data-produto="move"] textarea:focus { border-color: #FF7A00; box-shadow: 0 0 0 3px rgba(255,122,0,.18); }
html[data-produto="move"] thead th, html[data-produto="move"] table.acts th:last-child { background: var(--mc-card2); color: var(--mc-muted); font-weight: 600; }
html[data-produto="move"] th, html[data-produto="move"] td { border-bottom-color: var(--mc-linha); }
html[data-produto="move"] tbody tr:hover > td { background: var(--mc-card2); }
html[data-produto="move"] table.acts td:last-child { background: var(--mc-card); }
.mc-tbl th, .mc-tbl td { text-align: left; white-space: nowrap; }
.mc-tbl td.vg-cli { white-space: normal; min-width: 18ch; overflow-wrap: anywhere; }
.mc-pill { display: inline-flex; align-items: center; gap: 6px; padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 20px; white-space: nowrap;
  color: color-mix(in srgb, var(--mc-pill, #64748b) 55%, #111827); background: color-mix(in srgb, var(--mc-pill, #64748b) 13%, transparent); }
.mc-pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--mc-pill, #64748b); flex: none; }
html[data-theme="dark"] .mc-pill { color: color-mix(in srgb, var(--mc-pill, #64748b) 50%, #ffffff); background: color-mix(in srgb, var(--mc-pill, #64748b) 22%, transparent); }
html[data-produto="move"] .pill { border-radius: 999px; }
/* pílulas e etiquetas com texto >= 4,5:1 nos dois temas (QA itens 9 e 12): a cor da situação vira tom escuro no claro e
 * tom claro no escuro; o fundo continua a cor da situação, suave */
html[data-produto="move"] .pill.green { color: #15803d; } html[data-produto="move"] .pill.amber { color: #b45309; } html[data-produto="move"] .pill.red { color: #b91c1c; }
html[data-produto="move"][data-theme="dark"] .pill.green { color: #4ade80; } html[data-produto="move"][data-theme="dark"] .pill.amber { color: #fbbf24; } html[data-produto="move"][data-theme="dark"] .pill.red { color: #f87171; }
html[data-produto="move"] .mv-pill { color: color-mix(in srgb, var(--c, #64748b) 55%, #111827); }
html[data-produto="move"][data-theme="dark"] .mv-pill { color: color-mix(in srgb, var(--c, #64748b) 45%, #ffffff); background: color-mix(in srgb, var(--c, #64748b) 26%, transparent); }
html[data-produto="move"][data-theme="dark"] .mv-chip.ok { color: #4ade80; }
html[data-produto="move"][data-theme="dark"] .mv-chip.warn { color: #fbbf24; }
html[data-produto="move"][data-theme="dark"] .mv-chip.off { color: #fca5a5; }
html[data-produto="move"][data-theme="dark"] .mv-chip.mv-entrega { color: #c4b5fd; }
/* aviso sem texto (ex.: contagem da busca de pontos antes de buscar) não ocupa faixa; com texto, aparece normal */
html[data-produto="move"] .note:empty { display: none; }
html[data-produto="move"] .modal-bg { background: rgba(17,24,39,.5); }
html[data-produto="move"] .modal { background: var(--mc-card); color: var(--mc-txt); border: 1px solid var(--mc-linha); border-radius: 14px; box-shadow: 0 20px 48px rgba(16,24,40,.20); }
html[data-produto="move"] .modal h3 { font-size: 18px; font-weight: 600; }
html[data-produto="move"] .modal-actions { border-top: 1px solid var(--mc-linha); padding-top: 14px; }
html[data-produto="move"] .toast { background: var(--mc-card); color: var(--mc-txt); border-color: var(--mc-linha); border-radius: 10px; }
html[data-produto="move"] .note { background: #FFF7ED; border-color: #FED7AA; color: #9A3412; border-radius: 10px; }
html[data-produto="move"][data-theme="dark"] .note { background: #2A1A0C; border-color: #7C4A1E; color: #FDBA74; }
html[data-produto="move"] .empty { color: var(--mc-muted); }
html[data-produto="move"] .skeleton { border-radius: 12px; }
html[data-produto="move"] .tabs .tab.active { color: var(--mc-laranja-txt); border-bottom-color: #FF7A00; }
html[data-produto="move"] .mc-usuarios-abas a[aria-selected="true"] { background: var(--mc-laranja-suave); color: var(--mc-laranja-txt); border-color: #FF7A00; }
/* detalhe da coleta */
.mc-detalhe { display: grid; gap: 12px; font-size: 14px; }
.mc-detalhe-cab { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 15px; }
.mc-dl { display: grid; gap: 6px; margin: 0; }
.mc-dl-l { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 10px; }
.mc-dl dt { color: var(--mc-muted, var(--muted)); }
.mc-dl dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.mc-msg { padding: 10px 12px; border-radius: 8px; border: 1px solid var(--mc-linha, var(--line)); background: var(--mc-card2, var(--panel2)); }
.mc-msg.ok { border-color: rgba(21,128,61,.30); background: rgba(21,128,61,.07); }
.mc-msg.erro { border-color: rgba(185,28,28,.30); background: rgba(185,28,28,.06); color: #991b1b; }
html[data-theme="dark"] .mc-msg.erro { color: #fca5a5; }
.mc-detalhe-sub { margin: 4px 0 0; font-size: 13px; font-weight: 600; color: var(--mc-muted, var(--muted)); }
.mc-detalhe-acoes { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 520px) { .mc-dl-l { grid-template-columns: 1fr; gap: 2px; } }
/* ── Visão geral ── */
.vg-texto-mobile, html[data-produto="move"] .cw-aviso-mobile, html[data-produto="move"] #mcMobileNav { display: none; }
.vg-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin: 0 0 20px; }
.vg-kpi { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 14px 14px; background: var(--mc-card); border: 1px solid var(--mc-linha); border-radius: 12px; box-shadow: var(--mc-sombra); color: inherit; text-decoration: none; }
.vg-kpi:hover { border-color: var(--mc-linha-forte); background: var(--mc-card2); }
.vg-kpi-ic { width: 38px; height: 38px; flex: none; display: grid; place-items: center; border-radius: 10px; background: var(--mc-laranja-suave); color: var(--mc-laranja-txt); }
.vg-kpi.ok .vg-kpi-ic { background: rgba(21,128,61,.10); color: #15803d; }
.vg-kpi.info .vg-kpi-ic { background: rgba(29,78,216,.10); color: #1d4ed8; }
.vg-kpi.alerta .vg-kpi-ic { background: rgba(185,28,28,.10); color: #b91c1c; }
.vg-kpi.neutro .vg-kpi-ic { background: var(--mc-card2); color: var(--mc-muted); }
html[data-theme="dark"] .vg-kpi.ok .vg-kpi-ic { color: #4ade80; }
html[data-theme="dark"] .vg-kpi.info .vg-kpi-ic { color: #93c5fd; }
html[data-theme="dark"] .vg-kpi.alerta .vg-kpi-ic { color: #fca5a5; }
.vg-kpi-txt { display: grid; min-width: 0; }
.vg-kpi-rot { font-size: 13px; font-weight: 500; color: var(--mc-muted); }
.vg-kpi-val { font-size: 24px; font-weight: 700; line-height: 1.15; color: var(--mc-txt); font-variant-numeric: tabular-nums; }
.vg-kpi-txt small { font-size: 12px; color: var(--mc-muted); overflow-wrap: anywhere; }
.vg-grade { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(300px, 1fr); gap: 20px; align-items: start; margin: 0 0 20px; }
.vg-lado { display: grid; gap: 20px; min-width: 0; }
.vg-mapa-card { min-width: 0; }
.vg-mapa { position: relative; z-index: 0; height: 340px; border-radius: 10px; overflow: hidden; border: 1px solid var(--mc-linha); background: var(--mc-card2); }
.vg-mapa-vazio { height: 100%; display: grid; place-items: center; padding: 24px; text-align: center; }
.vg-legenda { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 10px 0 0; font-size: 12.5px; color: var(--mc-muted); }
.vg-legenda i { display: inline-block; width: 12px; height: 12px; border-radius: 50%; margin-right: 6px; vertical-align: -2px; }
.vg-leg-ref { background: #fff; border: 2.5px solid #6B7280; }
.vg-leg-vivo { background: #FF7A00; border: 2px solid #fff; box-shadow: 0 0 0 1px #FF7A00; }
.vg-atencao { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.vg-at { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 8px 10px; border-radius: 8px; color: var(--mc-txt); text-decoration: none; }
.vg-at:hover { background: var(--mc-hover); }
.vg-at b { min-width: 34px; height: 28px; padding: 0 6px; display: grid; place-items: center; border-radius: 8px; background: var(--mc-card2); border: 1px solid var(--mc-linha); font-variant-numeric: tabular-nums; }
.vg-at.alerta b { background: rgba(185,28,28,.08); border-color: rgba(185,28,28,.25); color: #b91c1c; }
.vg-at.atencao b { background: rgba(180,83,9,.08); border-color: rgba(180,83,9,.25); color: #b45309; }
html[data-theme="dark"] .vg-at.alerta b { color: #fca5a5; }
html[data-theme="dark"] .vg-at.atencao b { color: #fbbf24; }
.vg-at span { flex: 1; min-width: 0; }
.vg-at-seta { color: var(--mc-muted); flex: none; }
.vg-at.indisponivel { color: var(--mc-muted); }
.vg-barras { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.vg-barras li { display: grid; grid-template-columns: minmax(0, 120px) minmax(0, 1fr) auto; gap: 10px; align-items: center; font-size: 13px; }
.vg-barra-nome { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vg-barra { display: block; height: 10px; border-radius: 5px; background: var(--mc-card2); border: 1px solid var(--mc-linha); overflow: hidden; }
.vg-barra-total { display: block; height: 100%; border-radius: 5px; background: rgba(255,122,0,.28); }
.vg-barra-feita { display: block; height: 100%; border-radius: 5px; background: #FF7A00; }
.vg-barra-num { font-size: 12.5px; color: var(--mc-muted); font-variant-numeric: tabular-nums; }
.vg-tabela .tbl-wrap { margin: 0 -18px -18px; border-top: 1px solid var(--mc-linha); }
.vg-tabela .mc-tbl th:first-child, .vg-tabela .mc-tbl td:first-child { padding-left: 18px; }
/* item 6: faixa de 5 indicadores no desktop (1280 e 1440); quebra só quando o conteúdo estreita de verdade */
@media (max-width: 1360px) { .vg-kpis { gap: 12px; } .vg-kpi-txt small { font-size: 11.5px; } }
@media (max-width: 1100px) { .vg-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); } .vg-grade { grid-template-columns: minmax(0, 1fr); } .vg-mapa { height: 320px; } }
@media (max-width: 640px) { .vg-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .vg-kpi { padding: 12px; gap: 10px; } .vg-kpi-ic { width: 36px; height: 36px; } .vg-kpi-val { font-size: 22px; } .vg-mapa { height: 300px; } }
/* ── Fluxo de coletas (segunda referência) ── */
.cf-pagina [data-col="pendente"] { --cf-passo-cor: #4B5D78; }
.cf-pagina [data-col="atribuida"] { --cf-passo-cor: #B45309; }
.cf-pagina [data-col="aceita"] { --cf-passo-cor: #1D4ED8; }
.cf-pagina [data-col="em_rota"] { --cf-passo-cor: #15803D; }
.cf-pagina [data-col="no_local"] { --cf-passo-cor: #0E7490; }
.cf-pagina [data-col="final"] { --cf-passo-cor: #14532D; }
.cf-passos { list-style: none; margin: 0 0 16px; padding: 14px 16px; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px;
  background: var(--mc-card, var(--panel)); border: 1px solid var(--mc-linha, var(--line)); border-radius: 12px; box-shadow: var(--mc-sombra, none); }
/* item 5: círculo em cima, título e descrição embaixo, texto inteiro (sem reticências); seta na altura do círculo */
.cf-passo { position: relative; display: grid; grid-template-rows: auto auto; justify-items: start; gap: 8px; min-width: 0; padding-right: 22px; }
.cf-passo:not(:last-child)::after { content: ""; position: absolute; right: 6px; top: 14px; width: 7px; height: 7px; border-top: 2px solid var(--mc-linha-forte, var(--line)); border-right: 2px solid var(--mc-linha-forte, var(--line)); transform: translateY(-50%) rotate(45deg); }
.cf-passo:not(:last-child)::before { content: ""; position: absolute; left: 36px; right: 14px; top: 14px; border-top: 1px dashed var(--mc-linha-forte, var(--line)); }
.cf-passo-n { width: 28px; height: 28px; flex: none; display: inline-grid; place-items: center; border-radius: 50%; background: var(--cf-passo-cor, #4B5563); color: #fff; font-size: 13px; font-weight: 700; }
.cf-passo-txt { display: grid; min-width: 0; }
.cf-passo-txt b { font-size: 13px; color: var(--mc-txt, var(--txt)); }
.cf-passo-txt small { font-size: 12px; line-height: 1.35; color: var(--mc-muted, var(--muted)); white-space: normal; overflow-wrap: break-word; }
.cf-atencao { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: 0 0 12px; padding: 10px 14px; font-size: 13.5px;
  border: 1px solid rgba(185,28,28,.25); background: rgba(185,28,28,.05); border-radius: 10px; }
.cf-atencao[hidden] { display: none; }
.cf-atencao-tit { display: inline-flex; align-items: center; gap: 8px; color: #b91c1c; }
html[data-theme="dark"] .cf-atencao-tit { color: #fca5a5; }
.cf-atencao a { color: var(--mc-txt, var(--txt)); text-decoration: underline; text-underline-offset: 2px; }
.cf-atencao a.cf-atencao-ver { margin-left: auto; color: var(--mc-laranja-txt, var(--accent)); font-weight: 600; text-decoration: none; }
.cf-filtro-busca { display: flex; flex: 1 1 240px; max-width: 360px; min-width: 0; }
.cf-filtro-busca input { width: 100%; max-width: none !important; }
.cf-compacto { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; font-size: 13.5px; cursor: pointer; }
.cf-resumo { margin-left: auto; font-size: 12.5px; color: var(--mc-muted, var(--muted)); }
/* MC-RETORNO-COLUNA-20261027: link "N sem motorista · ver em Coletas do dia" de volta à barra (a bandeja saiu) */
.cf-sem-mot { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; font-weight: 600; color: var(--mc-laranja-txt, var(--accent)); text-decoration: underline; text-underline-offset: 2px; }
.cf-sem-mot[hidden] { display: none; }
/* ── MC-BANDEJA-WA-20261026 ──
 * Avisos numa linha: contadores clicáveis + "Ver detalhes" (disclosure) e, ao lado, os alertas operacionais de sempre. */
.cf-avisos { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px; margin: 0 0 12px; }
.cf-avisos > .cf-atencao { flex: 1 1 360px; margin: 0; padding: 6px 10px; gap: 6px 10px; font-size: 13px; min-height: 44px; border-radius: 10px;
  border: 1px solid var(--mc-linha, var(--line)); background: var(--mc-card, var(--panel)); }
.cf-avisos > .cf-alertas { flex: 0 1 auto; margin: 0; }
.cf-avisos > .cf-alertas:has(.cf-al-lista:not([hidden])) { flex-basis: 100%; }
.cf-avisos .cf-atencao-tit { gap: 6px; font-size: 13px; }
.cf-chip { display: inline-flex; align-items: center; gap: 4px; min-height: 32px; padding: 2px 10px; border-radius: 999px; border: 1px solid var(--mc-linha, var(--line));
  background: var(--mc-card2, var(--panel2)); color: var(--mc-txt, var(--txt)); font: inherit; font-size: 12.5px; text-decoration: none !important; cursor: pointer; }
.cf-chip b { font-variant-numeric: tabular-nums; }
.cf-chip.alerta b { color: #b91c1c; }
html[data-theme="dark"] .cf-chip.alerta b { color: #fca5a5; }
.cf-chip:hover { border-color: var(--mc-linha-forte, var(--line)); }
.cf-avisos .cf-atencao-ver { margin-left: auto; min-height: 32px; padding: 2px 6px; border: 0; background: none; font: inherit; font-size: 13px; font-weight: 600; color: var(--mc-laranja-txt, var(--accent)); cursor: pointer; }
.cf-atencao-det { flex-basis: 100%; margin: 2px 0 2px; padding-left: 18px; display: grid; gap: 4px; font-size: 13px; color: var(--mc-txt2, var(--txt)); }
.cf-atencao-det[hidden] { display: none; }
/* Botão do WhatsApp na barra: estado real (ponto colorido + texto) e contagem de pendentes */
.cf-wa-btn { gap: 6px; }
.cf-wa-btn[hidden] { display: none !important; }
.cf-wa-ponto { width: 9px; height: 9px; border-radius: 50%; background: var(--cf-wa, #64748b); flex: none; }
.cf-wa-estado { font-weight: 400; color: var(--mc-muted, var(--muted)); }
.cf-wa-n { min-width: 22px; padding: 0 6px; border-radius: 999px; background: #C2410C; color: #fff; font-size: 12px; line-height: 20px; text-align: center; font-variant-numeric: tabular-nums; }
/* Painel lateral do WhatsApp: sobre o quadro (o quadro não é redesenhado), rolagem própria; celular em largura inteira */
.cf-wa-painel { position: fixed; top: 0; right: 0; bottom: 0; z-index: 75; /* acima do topo (40), abaixo dos diálogos (80) */ width: min(480px, 100vw); display: flex; flex-direction: column; overflow: hidden;
  background: var(--mc-card, var(--panel)); color: var(--mc-txt, var(--txt)); border-left: 1px solid var(--mc-linha, var(--line)); box-shadow: -12px 0 32px rgba(16,24,40,.18); }
.cf-wa-painel[hidden] { display: none; }
.cf-wa-cab { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--mc-linha, var(--line)); }
.cf-wa-cab h2 { margin: 0; font-size: 16px; font-weight: 600; }
.cf-wa-cab h2:focus-visible { outline: 2px solid var(--mc-foco, var(--accent)); outline-offset: 2px; }
.cf-wa-fechar { min-height: 40px; padding: 6px 14px; border-radius: 8px; border: 1px solid var(--mc-linha-forte, var(--line)); background: var(--mc-card, var(--panel)); color: var(--mc-txt, var(--txt)); font: inherit; font-weight: 600; cursor: pointer; }
.cf-wa-status { padding: 10px 16px 0; }
.cf-wa-nota { margin: 6px 0 0; font-size: 12.5px; color: var(--mc-muted, var(--muted)); }
.cf-wa-novidade { margin: 8px 16px 0; padding: 8px 10px; border-radius: 8px; background: var(--mc-laranja-suave, var(--info-bg)); font-size: 13px; }
.cf-wa-novidade[hidden] { display: none; }
.cf-wa-abas { display: flex; gap: 4px; padding: 8px 16px 0; border-bottom: 1px solid var(--mc-linha, var(--line)); }
.cf-wa-abas button { min-height: 40px; padding: 6px 12px; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--mc-txt2, var(--txt)); font: inherit; font-weight: 600; cursor: pointer; }
.cf-wa-abas button.ativa { color: var(--mc-laranja-txt, var(--accent)); border-bottom-color: #FF7A00; }
.cf-wa-lista { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 12px 16px 16px; }
.cf-wa-itens { display: grid; gap: 12px; }
.cf-wa-quando { margin: 0 0 4px; font-size: 12px; font-weight: 600; color: var(--mc-txt2, var(--txt)); }
.cf-wa-vazio { margin: 0; font-size: 13.5px; color: var(--mc-muted, var(--muted)); }
.cf-wa-mais { margin-top: 12px; }
.cf-wa-mais[hidden] { display: none !important; }
.cf-wa-rod { margin: 0; padding: 10px 16px; border-top: 1px solid var(--mc-linha, var(--line)); font-size: 12.5px; color: var(--mc-muted, var(--muted)); }
.cf-wa-dup { display: grid; gap: 8px; margin: 0; padding: 0; border: 0; }
.cf-wa-dup label { display: flex; align-items: flex-start; gap: 8px; font-size: 13.5px; }
/* MC-WA-IDENTIDADE-LATENCIA-20261029: título do pedido = empresa; contato e grupo secundários; sem identificação, aviso claro */
html[data-produto="move"] .cw-tit { display: grid; gap: 2px; min-width: 0; flex: 1 1 auto; }
html[data-produto="move"] .cw-empresa { overflow-wrap: anywhere; }
html[data-produto="move"] .cw-contato { font-size: 12px; color: var(--mc-muted, var(--muted)); overflow-wrap: anywhere; }
html[data-produto="move"] .cw-conflito, html[data-produto="move"] .cw-identificar { font-size: 12px; font-weight: 600; color: #b45309; }
html[data-produto="move"][data-theme="dark"] .cw-conflito, html[data-produto="move"][data-theme="dark"] .cw-identificar { color: #fbbf24; }
.cf-wa-fora { margin: 0 0 6px; padding: 6px 8px; border-radius: 8px; font-size: 12.5px; background: #b453091f; color: #b45309; }
html[data-theme="dark"] .cf-wa-fora { background: #fbbf2426; color: #fbbf24; }
@media (max-width: 760px) {
  .cf-wa-painel { width: 100vw; border-left: 0; }
  .cf-avisos .cf-atencao-ver { margin-left: 0; }
}
.cf-leitura { margin: 14px 0 0; padding: 0 14px; background: var(--mc-card, var(--panel)); border: 1px solid var(--mc-linha, var(--line)); border-radius: 10px; }
.cf-leitura > summary { min-height: 44px; line-height: 44px; cursor: pointer; font-weight: 600; font-size: 14px; }
.cf-leitura ul { margin: 0 0 12px; padding-left: 20px; display: grid; gap: 6px; font-size: 13.5px; color: var(--mc-txt2, var(--txt)); }
html[data-produto="move"] .cf-wrap { border-color: var(--mc-linha); border-radius: 12px; box-shadow: var(--mc-sombra); background: var(--mc-card); }
html[data-produto="move"] .cf-wrap > .cf-bar { padding: 12px 14px; gap: 10px; background: var(--mc-card); border-bottom-color: var(--mc-linha); }
html[data-produto="move"] .cf-head { background: var(--mc-card2); color: var(--mc-txt); font-size: 13px; font-weight: 600; padding: 10px 12px; border-bottom: 1px solid var(--mc-linha); border-right-color: var(--mc-linha); }
.cf-head-rot { display: inline-flex; align-items: center; gap: 8px; }
.cf-head .cf-passo-n { width: 22px; height: 22px; font-size: 11.5px; }
html[data-produto="move"] .cf-count { background: var(--mc-card2); color: var(--mc-txt); border: 1px solid var(--mc-linha-forte); line-height: 18px; }
html[data-produto="move"] .cf-lane { background: var(--mc-card); color: var(--mc-txt); font-size: 13.5px; padding: 10px 12px; border-right: 1px solid var(--mc-linha); border-bottom-color: var(--mc-linha); align-items: center; }
html[data-produto="move"] .cf-lane.cf-cor { background: var(--mc-card); box-shadow: inset 4px 0 0 hsla(var(--cf-h), var(--cf-s), 45%, .85); }
html[data-produto="move"] .cf-lane.cf-cor.cf-risco { background: rgba(220,38,38,.06); box-shadow: inset 4px 0 0 #dc2626; color: var(--mc-txt); }
html[data-produto="move"] .cf-cell { background: var(--mc-card); border-right-color: var(--mc-linha); border-bottom-color: var(--mc-linha); padding: 8px; gap: 8px; }
html[data-produto="move"] .cf-cell.cf-cor { background-color: var(--mc-card); }
html[data-produto="move"] .cf-cell.cf-cor.cf-risco { background-color: rgba(220,38,38,.03); }
html[data-produto="move"] .cf-cell.over, html[data-produto="move"] .cf-lane.over { outline: 2px dashed #FF7A00; outline-offset: -3px; background-color: rgba(255,122,0,.10) !important; }
/* coluna do motorista (revisão visual Codex, item 1): largura própria e grade fixa, nome com pelo menos 100 px,
 * contador à direita; vínculos, risco e "Otimizar rota" abaixo do nome. No celular o quadro vira uma coluna só. */
html[data-produto="move"] .cf-grid { --cf-lane: 264px; }
/* MC-FLUXO-COLUNAS-MOTORISTAS-20261027: grade dos motoristas com 5 etapas fluidas (minmax(--cf-col-min, 1fr), no
 * fluxo.js) na largura do quadro; só rola na horizontal quando a tela é menor que a soma dos mínimos. Medido pelo Codex:
 * 976 px úteis em 1280 com o menu aberto; lane de 200 px + 5 x 150 px cabem. Entre 761 e 1440 px a lane fica compacta
 * (sem o avatar, que é só decorativo; nome, contagem, seleção e recolher continuam). */
html[data-produto="move"] .cf-grid.cf-grid-mot { width: 100%; }
@media (min-width: 761px) and (max-width: 1440px) {
  html[data-produto="move"] .cf-grid.cf-grid-mot { --cf-lane: 200px; }
  html[data-produto="move"] .cf-grid-mot .cf-lane { padding: 10px 8px; gap: 6px; }
  html[data-produto="move"] .cf-grid-mot .cf-lane-main { grid-template-columns: 16px 28px minmax(0, 1fr); gap: 5px; }
  html[data-produto="move"] .cf-grid-mot .cf-lane-main > .cf-avatar { display: none; }
  html[data-produto="move"] .cf-grid-mot .cf-head { padding: 10px 8px; }
  html[data-produto="move"] .cf-grid-mot .cf-cell { padding: 6px; }
  html[data-produto="move"] .cf-grid-mot .cf-card { padding: 8px; }
}
/* Cartões em coluna estreita (~150 px, medição Codex em 1280: cartão 123 px com conteúdo de 148 px): nada pode forçar
 * largura mínima. O cartão ganha trilha minmax(0,1fr); o topo quebra linha (cadeado e histórico descem para a direita,
 * todos os controles continuam visíveis e clicáveis); "Sugerir motorista", selos e etiquetas quebram ou reticenciam. */
html[data-produto="move"] .cf-grid-mot .cf-cell > * { min-width: 0; max-width: 100%; }
html[data-produto="move"] .cf-grid-mot .cf-card { grid-template-columns: minmax(0, 1fr); min-width: 0; max-width: 100%; }
html[data-produto="move"] .cf-grid-mot .cf-card-topo { flex-wrap: wrap; row-gap: 4px; }
html[data-produto="move"] .cf-grid-mot .cf-card-topo > .cf-acoes { flex: 0 0 auto; }
html[data-produto="move"] .cf-grid-mot .cf-meta > * { min-width: 0; max-width: 100%; }
html[data-produto="move"] .cf-grid-mot .cf-meta .mc-pill, html[data-produto="move"] .cf-grid-mot .cf-meta .cf-tag { overflow: hidden; text-overflow: ellipsis; }
html[data-produto="move"] .cf-grid-mot .cf-sug { white-space: normal; max-width: 100%; text-align: left; }
html[data-produto="move"] .cf-grid-mot .cf-anomalia { max-width: 100%; white-space: normal; }
/* Faixa "Sem motorista": célula na largura das etapas, com subgrade e rótulo próprios ("Não atribuído"); cartões em
 * coluna vertical (nunca fila horizontal); situações fora do padrão sem motorista ganham coluna rotulada ao lado. */
html[data-produto="move"] .cf-cell.cf-sem { grid-column: 2 / -1; background: var(--mc-card2); box-shadow: inset 0 -2px 0 var(--mc-linha-forte, var(--mc-linha)); }
.cf-sem-grade { display: grid; grid-template-columns: repeat(var(--cf-sem-cols, 1), minmax(var(--cf-col-min, 150px), 300px)); gap: 10px; align-items: start; }
.cf-sem-col { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.cf-sem-rot { margin: 0; display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--mc-txt, var(--txt)); }
.cf-sem-rot .cf-passo-n { width: 22px; height: 22px; font-size: 11.5px; }
.cf-sem-dica { font-size: 11.5px; color: #b45309; }
html[data-theme="dark"] .cf-sem-dica { color: #fbbf24; }
.cf-sem-vazia { margin: 0; font-size: 12.5px; color: var(--mc-muted, var(--muted)); }
.cf-anomalia { justify-self: start; padding: 1px 8px; border-radius: 999px; font-size: 11px; font-weight: 600; background: #b453091f; color: #b45309; }
html[data-theme="dark"] .cf-anomalia { background: #fbbf2426; color: #fbbf24; }
@media (max-width: 760px) {
  html[data-produto="move"] .cf-grid.cf-grid-mot { min-width: 0 !important; }
  html[data-produto="move"] .cf-cell.cf-sem { grid-column: auto; }
  .cf-sem-grade { grid-template-columns: minmax(0, 1fr); }
  .cf-sem-col.cf-fora-etapa { display: none; }
}
html[data-produto="move"] .cf-lane { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: start; }
html[data-produto="move"] .cf-lane-main { display: grid; grid-template-columns: 16px 28px 32px minmax(100px, 1fr); gap: 6px; align-items: start; min-width: 0; }
html[data-produto="move"] .cf-lane-main > .cf-faixa-chk { margin: 8px 0 0; }
html[data-produto="move"] .cf-lane-main > .cf-chevron { margin-top: 2px; }
html[data-produto="move"] .cf-lane > .cf-count { margin-top: 6px; }
html[data-produto="move"] .cf-lane-txt { padding-top: 6px; gap: 2px; }
html[data-produto="move"] .cf-lane-nome { overflow-wrap: break-word; word-break: normal; hyphens: auto; line-height: 1.3; }
html[data-produto="move"] .cf-lane-txt .cf-otm { justify-self: start; }
@media (max-width: 760px) { html[data-produto="move"] .cf-lane-main { grid-template-columns: 20px 28px 32px minmax(0, 1fr); } }
.cf-lane-main { align-items: center; gap: 8px; }
.cf-chevron { all: unset; box-sizing: border-box; flex: none; width: 28px; height: 28px; display: inline-grid; place-items: center; border-radius: 6px; cursor: pointer; color: var(--mc-muted, var(--muted)); }
.cf-chevron:hover { background: var(--mc-hover, var(--panel2)); color: var(--mc-txt, var(--txt)); }
.cf-chevron:focus-visible { outline: 2px solid var(--mc-foco, var(--accent)); outline-offset: 1px; }
.cf-chevron svg { transition: transform .15s ease; }
.cf-chevron.aberta svg { transform: rotate(90deg); }
.cf-avatar { width: 32px; height: 32px; flex: none; display: grid; place-items: center; border-radius: 50%; font-size: 12px; font-weight: 700;
  color: hsl(var(--cf-h, 220) 55% 28%); background: hsla(var(--cf-h, 220), 70%, 55%, .16); }
html[data-theme="dark"] .cf-avatar { color: hsl(var(--cf-h, 220) 70% 80%); background: hsla(var(--cf-h, 220), 70%, 55%, .24); }
.cf-avatar.vazio { color: var(--mc-muted, var(--muted)); background: var(--mc-card2, var(--panel2)); border: 1px dashed var(--mc-linha-forte, var(--line)); }
.cf-lane-txt { display: grid; min-width: 0; }
.cf-lane-nome { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; overflow-wrap: anywhere; }
.cf-risco-ic { color: #dc2626; display: inline-flex; }
html[data-produto="move"] .cf-lane small.cf-abrir-faixa { color: var(--mc-laranja-txt); font-weight: 600; }
html[data-produto="move"] .cf-card { display: grid; gap: 5px; padding: 9px 10px; font-size: 12.5px; background: var(--mc-card); border: 1px solid var(--mc-linha); border-radius: 10px; box-shadow: 0 1px 2px rgba(16,24,40,.05); }
html[data-produto="move"] .cf-cell.cf-cor .cf-card { border-left: 1px solid var(--mc-linha); }
html[data-produto="move"] .cf-card:hover { border-color: var(--mc-linha-forte); }
html[data-produto="move"] .cf-card.sel, html[data-produto="move"] .cf-cell.cf-cor .cf-card.sel { border-color: #FF7A00; box-shadow: 0 0 0 2px rgba(255,122,0,.25); }
html[data-produto="move"] .cf-card.cf-bloq, html[data-produto="move"] .cf-cell.cf-cor .cf-card.cf-bloq { outline: 0; border: 1px dashed #b45309; }
.cf-card-topo { display: flex; align-items: center; gap: 6px; min-width: 0; }
.cf-card-topo .cf-chk { margin: 0; width: 16px; height: 16px; }
.cf-id { all: unset; cursor: pointer; border-radius: 4px; padding: 1px 3px; font-size: 12px; font-weight: 700; color: var(--mc-laranja-txt, var(--accent)); font-variant-numeric: tabular-nums; }
.cf-id:hover { text-decoration: underline; }
.cf-id:focus-visible { outline: 2px solid var(--mc-foco, var(--accent)); outline-offset: 1px; }
.cf-acoes { margin-left: auto; display: inline-flex; gap: 2px; }
html[data-produto="move"] .cf-lock { width: 28px; height: 28px; display: inline-grid; place-items: center; padding: 0; border-radius: 6px; color: var(--mc-muted); }
html[data-produto="move"] .cf-lock:hover { background: var(--mc-hover); color: var(--mc-txt); }
html[data-produto="move"] .cf-lock.on { color: #b45309; }
html[data-produto="move"][data-theme="dark"] .cf-lock.on { color: #fbbf24; }
.cf-urgente { font-size: 11px; font-weight: 700; color: #b91c1c; background: rgba(185,28,28,.10); border-radius: 4px; padding: 1px 6px; }
html[data-theme="dark"] .cf-urgente { color: #fca5a5; }
.cf-cli { font-size: 13px; line-height: 1.3; overflow-wrap: anywhere; }
.cf-end { display: flex; gap: 4px; align-items: flex-start; }
.cf-end .mc-ic { flex: none; margin-top: 1px; }
.cf-end span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cf-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.cf-tag { font-size: 11px; line-height: 18px; padding: 0 6px; border-radius: 4px; border: 1px solid var(--mc-linha, var(--line)); color: var(--mc-muted, var(--muted)); }
.cf-tag-entrega { color: #6d28d9; border-color: rgba(109,40,217,.3); }
html[data-theme="dark"] .cf-tag-entrega { color: #c4b5fd; }
.cf-hora { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--mc-muted, var(--muted)); }
.cf-resultado { margin-top: 1px; }
html[data-produto="move"] .cf-sug { display: inline-flex; align-items: center; gap: 4px; justify-self: start; margin: 0; padding: 3px 8px; font-size: 12px; border: 1px dashed var(--mc-linha-forte); border-radius: 6px; color: var(--mc-muted); background: transparent; }
html[data-produto="move"] .cf-sug:hover { color: var(--mc-laranja-txt); border-color: #FF7A00; }
html[data-produto="move"] .cf-otm { display: inline-flex; align-items: center; gap: 4px; margin-top: 6px; padding: 2px 8px; font-size: 11.5px; color: var(--mc-laranja-txt); border-color: var(--mc-linha); background: var(--mc-card); }
html[data-produto="move"] .cf-seq { background: #1F2937; color: #fff; }
html[data-produto="move"][data-theme="dark"] .cf-seq { background: #E8ECF1; color: #1F2937; }
html[data-produto="move"] .cf-sel { background: rgba(255,122,0,.08); border-color: rgba(255,122,0,.35); }
html[data-produto="move"] .cf-alertas { border-radius: 8px; }
/* contador de etapa dentro de cada célula (item 2): tokens do tema, número no círculo da cor da etapa */
html[data-produto="move"] .cf-etapa-resumo { border-radius: 8px; background: var(--mc-card2); border-color: var(--mc-linha); color: var(--mc-txt2); }
html[data-produto="move"] .cf-etapa-resumo span { background: var(--cf-passo-cor, #4B5563); color: #fff; }
html[data-produto="move"] .cf-etapa-resumo.vazia { opacity: 1; color: var(--mc-muted); }
html[data-produto="move"] .cf-etapa-resumo.vazia span { background: transparent; color: var(--mc-muted); box-shadow: inset 0 0 0 1px var(--mc-linha-forte); }
/* outros componentes legados com cor fixa clara: equivalentes legíveis no escuro */
html[data-produto="move"][data-theme="dark"] .tc-pill.tc-alto { background: rgba(248,113,113,.16); color: #fca5a5; }
html[data-produto="move"][data-theme="dark"] .tc-pill.tc-atencao { background: rgba(251,191,36,.16); color: #fbbf24; }
html[data-produto="move"][data-theme="dark"] .tc-pill.tc-ok { background: rgba(74,222,128,.14); color: #86efac; }
html[data-produto="move"][data-theme="dark"] .tc-pill.tc-semdado { background: rgba(148,163,184,.16); color: #cbd5e1; }
html[data-produto="move"][data-theme="dark"] .tc-ganho { color: #86efac; }
html[data-produto="move"][data-theme="dark"] .cd-prio.alerta b, html[data-produto="move"][data-theme="dark"] .cf-risco-txt { color: #fca5a5 !important; }
html[data-produto="move"][data-theme="dark"] .cd-prio.atencao b, html[data-produto="move"][data-theme="dark"] .cd-aguardando { color: #fbbf24; }
html[data-produto="move"][data-theme="dark"] .cd-tbl .cd-sub[style*="b91c1c"] { color: #fca5a5 !important; }
html[data-produto="move"][data-theme="dark"] .cf-al, html[data-produto="move"][data-theme="dark"] .tc-exc li { color: var(--mc-txt); }
/* mapas no escuro (item 7): só os ladrilhos escurecem; marcadores, rótulos e atribuição ficam como estão */
html[data-produto="move"][data-theme="dark"] .vg-mapa .leaflet-tile-pane,
html[data-produto="move"][data-theme="dark"] .cm-mapa .leaflet-tile-pane { filter: brightness(.68) contrast(1.08) saturate(.75); }
@media (max-width: 1100px) { .cf-passos { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 14px; } .cf-passo::after, .cf-passo::before { display: none; } }
@media (max-width: 760px) {
  .cf-passos { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 10px; }
  .cf-resumo { margin-left: 0; flex: 1 1 100%; }
  .cf-filtro-busca { max-width: none; flex: 1 1 100%; }
  html[data-produto="move"] .cf-etapa-btn.ativa { background: var(--mc-laranja-suave); border-color: #FF7A00; color: var(--mc-laranja-txt); }
  html[data-produto="move"] .cf-etapa-btn.ativa b { background: #C2410C; color: #fff; }
  html[data-produto="move"] .cf-etapa-btn:focus-visible { outline-color: var(--mc-foco); }
}

/* ── Coletas do dia, Torre, Indicadores e cadastros: mesmos componentes ── */
.cd-entrega { color: #6d28d9; font-weight: 600; }
html[data-theme="dark"] .cd-entrega { color: #c4b5fd; }
html[data-produto="move"] .cd-tbl a.cd-abrir { color: var(--mc-laranja-txt); font-weight: 600; }
html[data-produto="move"] .cd-prio { border-radius: 8px; background: var(--mc-card); border-color: var(--mc-linha-forte); }
html[data-produto="move"] .cd-prio[aria-pressed="true"] { border-color: #FF7A00; box-shadow: inset 0 0 0 1px #FF7A00; background: var(--mc-laranja-suave); }
html[data-produto="move"] .tc-card, html[data-produto="move"] .tc-kpi, html[data-produto="move"] .ci-card, html[data-produto="move"] .col-mcard, html[data-produto="move"] .tc-resumo {
  background: var(--mc-card); border-color: var(--mc-linha); border-radius: 12px; box-shadow: var(--mc-sombra); }
html[data-produto="move"] .ci-bar .btn.on { background: var(--mc-laranja-suave); color: var(--mc-laranja-txt); border-color: #FF7A00; }
html[data-produto="move"] .ci-destaque { background: var(--mc-card); }

/* ── telas estreitas ── */
@media (max-width: 48rem) {
  :where(html[data-produto="move"]) .content { padding: 16px 12px 28px; }
  html[data-produto="move"] .appbar { padding: 0 12px 0 64px; }
  html[data-produto="move"] .appbar__caminho { display: none !important; }
  html[data-produto="move"] .appbar__search { margin-left: 0; max-width: none; }
  html[data-produto="move"] .page-header h1 { font-size: 21px; }
  html.app-move:not(.app-move-adm)[data-produto="move"] .appbar { padding-left: 16px; }
}
@media (prefers-reduced-motion: reduce) { .cf-chevron svg, html[data-produto="move"] .mc-caret { transition: none !important; } }

/* ── Move Control dentro da camada Odin (host Ricci, contexto Move) ──
 * O Odin (odin-theme.css, só no host gestaoricci) vale para os outros produtos em azul. No contexto Move ele também
 * carrega, depois deste arquivo; estas regras devolvem ao Move a mesma aparência do host do app, nos dois temas:
 * - o Odin fixa variáveis escuras no próprio .sidebar (seletor do contêiner do menu): no Move a lateral segue o tema;
 * - o seletor de ambientes do Odin (.odin-context) e o caminho "Grupo Ricci ›" ficam no tom do Move / dão lugar ao caminho
 *   do Move; respiro do conteúdo, padding de cartão, fontes e cores semânticas iguais às do host do app.
 * Nada disso vale fora de html[data-produto="move"]: Gestão, AGF, Mais e Papagueti seguem azuis. */
html[data-produto="move"] {
  --success: #16a34a; --success-bg: rgba(22,163,74,.10); --success-bd: rgba(22,163,74,.35);
  --danger: #dc2626; --danger-bg: rgba(220,38,38,.08); --danger-bd: rgba(220,38,38,.30);
  --warning: #b45309; --warning-bg: rgba(245,158,11,.12); --champ: #C2410C; --champ-bg: rgba(255,122,0,.10);
}
html[data-produto="move"][data-theme="dark"] {
  --success: #4ade80; --success-bg: rgba(74,222,128,.12); --success-bd: rgba(74,222,128,.30);
  --danger: #f87171; --danger-bg: rgba(248,113,113,.12); --danger-bd: rgba(248,113,113,.30);
  --warning: #fbbf24; --warning-bg: rgba(251,191,36,.12); --champ: #FF9A3D; --champ-bg: rgba(255,122,0,.16);
}
html[data-produto="move"] .sidebar {
  --panel: var(--mc-card); --panel2: var(--mc-card2); --line: var(--mc-linha); --txt: var(--mc-txt); --muted: var(--mc-muted);
  --text-faint: #9CA3AF; --accent: var(--mc-laranja-txt); --info-bg: var(--mc-laranja-suave); --sidebar: var(--mc-side); }
html[data-produto="move"][data-theme="dark"] .sidebar { --text-faint: #6B7685; }
html[data-produto="move"] body { font-family: "Inter", "Segoe UI", system-ui, sans-serif; font-size: 14px; line-height: 1.45; }
html[data-produto="move"] h4 { font-family: "Inter", "Segoe UI", system-ui, sans-serif; letter-spacing: 0; }
html[data-produto="move"] .odin-crumb { display: none; }
html[data-produto="move"] .odin-context { background: var(--mc-card2); border-color: var(--mc-linha); }
html[data-produto="move"] .odin-context > summary { color: var(--mc-txt); }
html[data-produto="move"] .odin-context > summary::before { content: "M"; color: var(--mc-laranja-txt); background: var(--mc-laranja-suave); }
html[data-produto="move"] .odin-context .context-nav a { color: var(--mc-txt2); }
html[data-produto="move"] .odin-context .context-nav a.active { background: var(--mc-laranja-suave); color: var(--mc-laranja-txt); box-shadow: inset 3px 0 0 var(--mc-laranja); }
html[data-produto="move"] .mc-nav-sec .nav-area-body { margin-left: 0; border-left: 0; }
html[data-produto="move"] .content:not(.sem-padding) { max-width: none; margin: 0; padding: 24px 28px 40px; }
html[data-produto="move"] .card { padding: 18px; }
html[data-produto="move"]:not(.app-move) .btn { font-size: 13px; }
html[data-produto="move"] .appbar { height: 56px; min-height: 56px; }
html[data-produto="move"] body > footer { background: var(--mc-bg); border-top-color: var(--mc-linha); }
@media (max-width: 48rem) { html[data-produto="move"] .content:not(.sem-padding) { padding: 16px 12px 28px; } }

/* Cores por motorista: identificam a linha e os cartões sem substituir os estados. */
html[data-produto="move"] .cf-cell.cf-cor {
  background: linear-gradient(hsla(var(--cf-h),var(--cf-s),55%,.06),hsla(var(--cf-h),var(--cf-s),55%,.06)),var(--mc-card);
}
html[data-produto="move"] .cf-cell.cf-cor .cf-card {
  background: linear-gradient(hsla(var(--cf-h),var(--cf-s),55%,.16),hsla(var(--cf-h),var(--cf-s),55%,.16)),var(--mc-card);
  border-left: 3px solid hsla(var(--cf-h),var(--cf-s),45%,.85);
}
html[data-produto="move"] .cf-cell.cf-cor .cf-card.sel { border-color: #FF7A00; }
html[data-produto="move"] .cf-cell.cf-cor .cf-card.cf-bloq { border-style: dashed; }
html[data-produto="move"] .cf-board, html[data-produto="move"] .cf-cell {
  overflow-anchor: none; scroll-behavior: auto;
}

/* Proposta mobile aprovada: coordenação do MoveControl, sem alterar a visão do motorista. */
@media (max-width: 640px) {
  html.app-move-adm[data-produto="move"] .appbar {
    height: 72px; min-height: 72px; padding: 10px 18px; gap: 8px;
    background: var(--mc-card); border-bottom: 0; justify-content: space-between;
  }
  html.app-move-adm[data-produto="move"] .appbar > .mc-marca { display: flex; margin: 0; gap: 6px; min-width: 0; }
  html.app-move-adm[data-produto="move"] .mc-marca img { width: 34px; height: auto; }
  html.app-move-adm[data-produto="move"] .mc-marca .mc-wordmark { font-size: clamp(18px, 5vw, 23px); letter-spacing: -.8px; }
  html.app-move-adm[data-produto="move"] .appbar__search,
  html.app-move-adm[data-produto="move"] #themeToggle,
  html.app-move-adm[data-produto="move"] #menuToggle { display: none !important; }
  html.app-move-adm[data-produto="move"] .appbar__right { margin: 0; gap: 4px; flex: none; }
  html.app-move-adm[data-produto="move"] #appUser { padding: 4px; }
  html.app-move-adm[data-produto="move"] #appUser .av { width: 36px; height: 36px; background: #1f2937; }
  html.app-move-adm[data-produto="move"] #appUser .user-dd { position: fixed; top: 76px; right: 12px; width: 280px; max-width: calc(100vw - 24px); }
  html.app-move-adm[data-produto="move"] .content { padding: 20px 18px 100px; }
  html.app-move-adm[data-produto="move"] .vg .mc-cab { display: flex; flex-direction: column; align-items: stretch; gap: 18px; margin-bottom: 18px; }
  html.app-move-adm[data-produto="move"] .vg h1 { font-size: 28px; line-height: 1.2; letter-spacing: -.8px; margin-bottom: 6px; }
  html.app-move-adm[data-produto="move"] .vg .mc-cab-txt .mc-sub { font-size: 15px; line-height: 1.5; }
  html.app-move-adm[data-produto="move"] .vg-texto-desktop { display: none; }
  html.app-move-adm[data-produto="move"] .vg-texto-mobile { display: inline; }
  html.app-move-adm[data-produto="move"] .vg .mc-cab-acoes { display: grid; grid-template-columns: minmax(0,1fr) 48px; gap: 10px; width: 100%; }
  html.app-move-adm[data-produto="move"] .vg .mc-data { width: 100%; min-width: 0; }
  html.app-move-adm[data-produto="move"] #vgData { width: 100%; height: 48px; min-width: 0; font-size: 16px; border-radius: 12px; padding: 10px 12px; }
  html.app-move-adm[data-produto="move"] #vgAtualizar { width: 48px; height: 48px; padding: 0; display: grid; place-items: center; border-radius: 12px; }
  html.app-move-adm[data-produto="move"] #vgNova { grid-column: 1/-1; min-height: 48px; font-size: 17px; border-radius: 12px; background: #ff7900; border-color: #ff7900; color: white; }
  html.app-move-adm[data-produto="move"] .vg-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-bottom: 18px; }
  html.app-move-adm[data-produto="move"] .vg-kpi { min-height: 116px; padding: 14px 12px; gap: 10px; border-radius: 15px; align-items: flex-start; }
  html.app-move-adm[data-produto="move"] .vg-kpi:first-child { grid-column: 1/-1; align-items: center; min-height: 100px; padding: 18px; }
  html.app-move-adm[data-produto="move"] .vg-kpi:first-child .vg-kpi-ic { width: 52px; height: 52px; border-radius: 50%; }
  html.app-move-adm[data-produto="move"] .vg-kpi:first-child .vg-kpi-ic svg { width: 26px; height: 26px; }
  html.app-move-adm[data-produto="move"] .vg-kpi-ic { width: 32px; height: 36px; border-radius: 10px; }
  html.app-move-adm[data-produto="move"] .vg-kpi-rot { font-size: 12.5px; line-height: 1.3; color: var(--mc-txt2); }
  html.app-move-adm[data-produto="move"] .vg-kpi-val { font-size: 27px; margin-top: 3px; }
  html.app-move-adm[data-produto="move"] .vg-kpi-txt small { font-size: 10.5px; line-height: 1.35; margin-top: 3px; }
  html.app-move-adm[data-produto="move"] .vg-kpi:first-child .vg-kpi-rot { font-size: 14px; }
  html.app-move-adm[data-produto="move"] .vg-kpi:first-child .vg-kpi-txt small { font-size: 12px; }
  html.app-move-adm[data-produto="move"] .vg .card { border-radius: 15px; padding: 16px; }
  html.app-move-adm[data-produto="move"] .vg .mc-card-cab { gap: 10px; }
  html.app-move-adm[data-produto="move"] .vg .mc-card-cab h2 { font-size: 18px; line-height: 1.25; }
  html.app-move-adm[data-produto="move"] .vg-mapa-card .mc-card-cab > a { min-width: 42px; width: 42px; height: 42px; padding: 0; display: grid; place-items: center; }
  html.app-move-adm[data-produto="move"] .vg-mapa-card .mc-card-cab > a span { display: none; }
  html.app-move-adm[data-produto="move"] .vg-mapa { height: 240px; border: 0; border-radius: 12px; }
  html.app-move-adm[data-produto="move"] .vg-sem-pontos { height: 180px; background-color: var(--mc-card2); background-image: repeating-linear-gradient(35deg,transparent 0 42px,rgba(140,155,175,.06) 43px 62px,transparent 63px 90px),repeating-linear-gradient(120deg,transparent 0 62px,rgba(140,155,175,.07) 63px 76px,transparent 77px 110px); }
  html.app-move-adm[data-produto="move"] .vg-mapa-vazio { padding: 18px 12px; }
  html.app-move-adm[data-produto="move"] .vg-mapa-vazio-conteudo { display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 12px; }
  html.app-move-adm[data-produto="move"] .vg-mapa-vazio-conteudo svg { color: #ff7900; margin-bottom: 6px; }
  html.app-move-adm[data-produto="move"] .vg-mapa-vazio-conteudo b { font-size: 15px; color: var(--mc-txt); }
  html.app-move-adm[data-produto="move"] .vg-mapa-card:has(.vg-sem-pontos) .vg-legenda,
  html.app-move-adm[data-produto="move"] .vg-mapa-card:has(.vg-sem-pontos) #vgMapaNota { display: none; }
  html.app-move-adm[data-produto="move"] .mc-aviso-wa { margin: 4px 18px 0; padding: 10px 12px; flex-wrap: nowrap; gap: 6px; font-size: 12px; border-radius: 12px; background: #fff7e9; color: #65451f; }
  html.app-move-adm[data-produto="move"] .cw-aviso-desktop { display: none; }
  html.app-move-adm[data-produto="move"] .cw-aviso-mobile { display: inline-flex; align-items: center; gap: 5px; }
  html.app-move-adm[data-produto="move"] .mc-aviso-wa .btn { min-height: 36px; padding: 4px; flex: none; background: none; border: 0; color: #b95500; }
  html.app-move-adm[data-produto="move"] .mc-aviso-wa [data-cw-aviso="depois"] { display: none; }
  html.app-move-adm[data-produto="move"] #mcMobileNav { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); position: fixed; z-index: 65; bottom: 0; left: 0; right: 0; padding: 5px 10px calc(7px + env(safe-area-inset-bottom,0px)); background: var(--mc-card); border-top: 1px solid var(--mc-linha); box-shadow: 0 -3px 16px rgba(16,24,40,.035); }
  html[data-produto="move"] #mcMobileNav a, html[data-produto="move"] #mcMobileNav button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 56px; padding: 6px 2px; background: none; border: 0; font: inherit; font-size: 11px; text-decoration: none; color: var(--mc-muted); border-radius: 8px; cursor: pointer; }
  html[data-produto="move"] #mcMobileNav [aria-current="page"], html[data-produto="move"] #mcMobileNav [aria-expanded="true"] { color: var(--mc-laranja-txt); background: var(--mc-laranja-suave); }
  html[data-produto="move"] #mcMobileNav a:focus-visible, html[data-produto="move"] #mcMobileNav button:focus-visible { outline: 2px solid var(--mc-foco); outline-offset: -2px; }
  html.app-move-adm[data-produto="move"] .nav-open #menuToggle { display: flex !important; }
  html.app-move-adm[data-produto="move"] body > footer { bottom: 78px; position: static !important; padding-bottom: 90px !important; }
}
@media (max-width: 640px) {
  html.app-move.app-move-adm[data-produto="move"] .appbar__search { display: none !important; }
  html.app-move-adm[data-produto="move"] .vg .mc-data { position: relative; height: 48px; }
  html.app-move-adm[data-produto="move"] .vg .vg-data-legenda { display: flex; align-items: center; gap: 10px; width: 100%; height: 48px; padding: 10px 12px; border: 1px solid var(--mc-linha); border-radius: 12px; background: var(--mc-card); color: var(--mc-txt); font-size: 16px; }
  html.app-move-adm[data-produto="move"] .vg-data-legenda > span { margin-left: auto; color: var(--mc-muted); }
  html.app-move-adm[data-produto="move"] #vgData { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
  html.app-move-adm[data-produto="move"] .mc-data:focus-within .vg-data-legenda { outline: 2px solid var(--mc-foco); outline-offset: 2px; }
}

/* Controles e dados operacionais do mapa. */
html[data-produto="move"] .cm-mapa { border: 1px solid var(--mc-linha); border-radius: 16px; min-height: 420px; }
html[data-produto="move"] .cm-agentes { margin-bottom: 12px; border: 0; background: transparent; padding: 5px 2px 10px; border-radius: 0; }
html[data-produto="move"] .cm-row { background: var(--mc-card); border-color: var(--mc-linha); box-shadow: none; }
html[data-produto="move"] .cm-row.ativo { border-color: #ff7900; background: var(--mc-laranja-suave); box-shadow: inset 0 0 0 1px #ff7900; }
html[data-produto="move"] .cm-nome b { color: var(--mc-txt); }
html[data-produto="move"] .cm-avatar { background: #283341; box-shadow: none; }
html[data-produto="move"] .cm-caminhao, html[data-produto="move"] .cm-caminhao.foco { border-radius: 12px; transform: none; box-shadow: 0 2px 9px #1f293740; }
html[data-produto="move"] .cm-caminhao span, html[data-produto="move"] .cm-caminhao.foco span { transform: none; color: white; display: grid; place-items: center; }
html[data-produto="move"] .cm-pin { box-shadow: 0 2px 6px #1f293725; border-width: 2px; }
html[data-produto="move"] .cm-vivo-resumo { color: var(--mc-muted); font-size: 12px; line-height: 1.6; margin: 0 0 12px; padding: 10px 12px; border: 1px solid var(--mc-linha); border-radius: 12px; background: var(--mc-card); }
html[data-produto="move"] .cm-navegar-card { display: grid; gap: 10px; background: var(--mc-card); border: 1px solid var(--mc-linha); padding: 14px; border-radius: 12px; margin-bottom: 12px; }
html[data-produto="move"] .cm-navegar-card small { color: var(--mc-muted); line-height: 1.5; }
.mc-navegar { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.mc-navegar .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border-radius: 10px; font-size: 13px; text-decoration: none; }
html[data-produto="move"] .leaflet-popup-content-wrapper { border-radius: 14px; color: #1f2937; }
@media(max-width:640px) {
  html[data-produto="move"] .cm-agentes { display: flex; flex-wrap: nowrap; max-height: none; overflow-x: auto; overflow-y: hidden; }
  html[data-produto="move"] .cm-row { width: 190px; min-width: 190px; flex: 0 0 190px; }
  html[data-produto="move"] .cm-row.cm-todos { width: 118px; min-width: 118px; flex-basis: 118px; }
  html[data-produto="move"] .cm-mapa { height: 58vh; min-height: 360px; }
  html[data-produto="move"] .cm-navegar-card .mc-navegar a { flex: 1; }
}
html[data-produto="move"] .cm-dados-antigos .cm-caminhao { background: #64748b !important; opacity: .65; }
html[data-produto="move"] .cm-mapa { position: relative; z-index: 0; }

/* Cartografia vetorial: ruas brancas sobre quadras cinza, sem filtros sobre tiles raster. */
.mc-map-stage { position: relative; isolation: isolate; border-radius: 16px; overflow: hidden; background: #e1e5e7; }
html[data-produto="move"] .mc-map-stage .cm-mapa { height: max(540px,68vh); border-radius: 16px; background: #e1e5e7; }
.mc-map-stage #cmNavegar { position: absolute; z-index: 30; bottom: 32px; left: 16px; right: 16px; max-width: 420px; pointer-events: none; }
html[data-produto="move"] .mc-map-stage .cm-navegar-card { pointer-events: auto; margin: 0; padding: 16px; gap: 6px; border-radius: 16px; background: var(--mc-card); box-shadow: 0 6px 24px #16222d20; }
html[data-produto="move"] .mc-map-stage .cm-navegar-card > b { font-size: 19px; }
html[data-produto="move"] .mc-map-stage .mc-navegar .btn { flex: 1; min-height: 46px; color: var(--mc-txt); background: var(--mc-card); border: 1px solid var(--mc-linha-forte); }
.mc-map-centralizar { position: absolute; z-index: 25; right: 16px; bottom: 36px; width: 46px; height: 46px; border: 0; border-radius: 50%; display: grid; place-items: center; background: #171b1f; color: white; box-shadow: 0 3px 12px #171b1f30; cursor: pointer; }
.mc-map-stage:has(.cm-navegar-card) .mc-map-centralizar { bottom: 252px; }
.mc-map-car { width: 46px; height: 58px; display: grid; place-items: center; filter: drop-shadow(0 3px 2px #0008); }
.mc-map-car img { display: block; }
.mc-map-car.antigo { opacity: .65; }
.mc-map-car.foco { filter: drop-shadow(0 3px 3px #0009); }
.mc-mapa-falha { position: absolute; top: 56px; left: 16px; right: 16px; z-index: 450; padding: 12px; border-radius: 10px; background: #fff7e9; color: #68451a; font-size: 12px; line-height: 1.5; }
html[data-produto="move"] .cm-dados-antigos .mc-map-car { opacity: .4; }
@media(max-width:640px) {
  html[data-produto="move"] .mc-map-stage .cm-mapa { height: 68vh; min-height: 510px; }
  html[data-produto="move"] .mc-map-stage #cmNavegar { left: 10px; right: 10px; bottom: 36px; max-width: none; }
  html[data-produto="move"] .mc-map-stage .cm-navegar-card > small:last-child { font-size: 10px; }
}
html[data-produto="move"] .cm-pin { width: 24px; height: 24px; border-radius: 50%; transform: none; box-shadow: 0 2px 5px #17212a22; }
html[data-produto="move"] .cm-pin span { transform: none; font-size: 10px; }
html[data-produto="move"] .cm-pin.mc-pin-destino { background: #171b1f; border: 3px solid white; box-shadow: 0 0 0 2px #171b1f; }
html[data-produto="move"] .cm-pin.mc-pin-destino span { display: none; }
@media(max-width:640px) {
  html.app-move-adm[data-produto="move"]:has(#cmMapa) #cwAvisoWa { display: none; }
  html.app-move-adm[data-produto="move"] #view:has(#cmMapa) { display: flex; flex-direction: column; height: calc(100dvh - 141px); min-height: 600px; padding: 12px 12px 16px; }
  html.app-move-adm[data-produto="move"] #view:has(#cmMapa) > .page-header { flex: 0 0 auto; gap: 8px; margin-bottom: 10px; }
  html.app-move-adm[data-produto="move"] #view:has(#cmMapa) > .page-header h1 { font-size: 24px; }
  html.app-move-adm[data-produto="move"] #view:has(#cmMapa) > .page-header .mc-sub { display: none; }
  html.app-move-adm[data-produto="move"] .cm-vivo-resumo { flex: 0 0 auto; font-size: 11px; padding: 7px 10px; margin-bottom: 8px; }
  html.app-move-adm[data-produto="move"] .cm-agentes { flex: 0 0 auto; margin-bottom: 8px; }
  html.app-move-adm[data-produto="move"] .mc-map-stage { flex: 1 0 340px; min-height: 340px; }
  html.app-move-adm[data-produto="move"] .mc-map-stage .cm-mapa { height: 100%; min-height: 0; }
  html.app-move-adm[data-produto="move"] .mc-map-stage .mc-coleta-popup { display: none; }
  html.app-move-adm[data-produto="move"] #cmTrilhaInfo { font-size: 10px !important; line-height: 1.35; padding: 6px 0 !important; }
}
.mc-map-historico { flex: 0 0 auto; font-size: 12px; color: var(--mc-muted); margin-top: 8px; }
.mc-map-historico > summary { min-height: 32px; padding: 6px 2px; cursor: pointer; }
.mc-map-historico[hidden] { display: none !important; }

/* Identificação dos aplicativos e créditos legíveis, sem marcas opcionais do renderizador. */
.mc-navegar .btn { gap: 8px; }
.mc-navegar .mc-nav-logo { width: 24px; height: 24px; flex: 0 0 24px; object-fit: contain; }
html[data-produto="move"] .leaflet-control-attribution { font-size: 10px; line-height: 1.5; background: rgba(255,255,255,.9); color: #475569; padding: 1px 5px; }
html[data-produto="move"] .leaflet-control-attribution a { color: #475569; }

.mc-push-painel { padding: 20px; margin-bottom: 16px; max-width: 900px; }
.mc-push-painel form > label { display: grid; gap: 6px; margin: 14px 0; }
.mc-push-painel textarea { width: 100%; box-sizing: border-box; }
.mc-push-painel fieldset { border: 1px solid var(--mc-linha-forte); border-radius: 12px; padding: 14px; }
.mc-push-destinatarios { max-height: 280px; overflow: auto; margin-top: 12px; }
.mc-push-destinatarios label { display: flex; align-items: center; gap: 10px; padding: 9px 0; }
.mc-push-destinatarios small { display: block; color: var(--mc-muted); }
