/* =====================================================
   Painel do administrador — Help Floripa
   ===================================================== */
:root {
  --accent: #00adee; --accent-strong: #0093cc; --accent-ink: #001a24;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  /* status (sempre com ícone + texto) */
  --st-bom: #0ca30c; --st-atencao: #fab219; --st-serio: #ec835a; --st-critico: #d03b3b;
}
:root[data-theme="dark"] {
  --bg: #070b0e; --panel: #0f161b; --panel-2: #151f25; --hover: #19252c; --line: #213038;
  --text: #eaf0f3; --muted: #8c9ca7; --shadow: 0 10px 40px rgba(0,0,0,.45); --overlay: rgba(2,6,9,.72); --input: #121b21;
  /* paleta categórica validada (escuro) */
  --viz-1: #3987e5; --viz-2: #d95926; --viz-3: #199e70; --viz-4: #c98500; --viz-superficie: #0f161b;
}
:root[data-theme="light"] {
  --bg: #f1f4f6; --panel: #ffffff; --panel-2: #f5f7f9; --hover: #eef2f5; --line: #e1e7eb;
  --text: #0e1a21; --muted: #5d6f7b; --shadow: 0 10px 40px rgba(15,30,40,.12); --overlay: rgba(10,20,26,.5); --input: #fff;
  /* paleta categórica validada (claro) — 3 e 4 abaixo de 3:1: sempre com rótulo visível */
  --viz-1: #2a78d6; --viz-2: #eb6834; --viz-3: #1baf7a; --viz-4: #eda100; --viz-superficie: #ffffff;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; }
body { font-family: var(--font); background: var(--bg); color: var(--text); font-size: 14px; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; color: inherit; }
a { color: var(--accent); }
.i { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.i.s { width: 17px; height: 17px; } .i.xs { width: 14px; height: 14px; }

/* ---------- topo ---------- */
.ad-topo { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 12px; height: 60px; padding: 0 18px; background: color-mix(in srgb, var(--panel) 92%, transparent); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.ad-marca { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--text); white-space: nowrap; }
.ad-logo { width: 40px; height: 40px; border-radius: 10px; flex: none; box-shadow: 0 2px 8px rgba(0, 0, 0, .25); }
/* Marca com o slogan (como no logo): HELP FLORIPA em cima, "Tudo em um só lugar" embaixo */
.ad-marca-tx { display: grid; line-height: 1.05; }
.ad-marca-tx em { font-style: normal; font-size: 9.5px; font-weight: 700; letter-spacing: .9px; text-transform: uppercase; color: var(--muted); margin-top: 2px; }
.ad-marca strong { font-weight: 900; letter-spacing: .5px; font-size: 17px; } .ad-marca strong span { color: var(--accent); }
.ad-marca small { font-size: 11px; font-weight: 800; letter-spacing: 1.2px; color: var(--muted); text-transform: uppercase; border: 1px solid var(--line); padding: 3px 7px; border-radius: 999px; }
.ad-busca { flex: 1; max-width: 520px; margin-left: auto; position: relative; }
.ad-busca input { width: 100%; height: 40px; border-radius: 12px; border: 1px solid var(--line); background: var(--input); padding: 0 12px 0 38px; }
.ad-busca .i { position: absolute; left: 11px; top: 10px; color: var(--muted); }
.ad-icone.ad-busca-bt, .ad-busca-x { display: none; }
.ad-icone { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; border: 1px solid var(--line); background: var(--panel); cursor: pointer; color: var(--text); text-decoration: none; flex: none; }
.ad-icone:hover { background: var(--hover); }
.ad-menu-bt { display: none; }
.ad-atualizado { font-size: 12px; color: var(--muted); white-space: nowrap; }

/* ---------- estrutura ---------- */
.ad-corpo { display: grid; grid-template-columns: 248px 1fr; min-height: calc(100vh - 60px); }
.ad-lateral { position: sticky; top: 60px; height: calc(100vh - 60px); height: calc(100dvh - 60px); overflow-y: auto; overscroll-behavior: contain; padding: 14px 10px 24px; border-right: 1px solid var(--line); background: var(--panel); }
.ad-lateral h4 { margin: 16px 10px 6px; font-size: 11px; letter-spacing: 1.1px; text-transform: uppercase; color: var(--muted); }
.ad-nav { display: flex; align-items: center; gap: 11px; width: 100%; padding: 9px 10px; border: 0; background: none; border-radius: 10px; cursor: pointer; text-align: left; color: var(--text); font-weight: 600; }
.ad-nav:hover { background: var(--hover); }
.ad-nav[aria-current="page"] { background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--accent); }
.ad-nav .cont { margin-left: auto; min-width: 22px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--st-critico); color: #fff; font-size: 11px; font-weight: 800; display: grid; place-items: center; }
.ad-nav .cont.neutro { background: var(--panel-2); color: var(--muted); border: 1px solid var(--line); }
.ad-principal { padding: 22px 26px 60px; min-width: 0; }
.ad-principal:focus { outline: none; }
.ad-cab { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.ad-cab h1 { margin: 0; font-size: 24px; letter-spacing: -.3px; }
.ad-cab p { margin: 4px 0 0; color: var(--muted); }
.ad-filtros { display: flex; gap: 6px; flex-wrap: wrap; }
.ad-chip { border: 1px solid var(--line); background: var(--panel); border-radius: 999px; padding: 7px 12px; cursor: pointer; font-weight: 700; font-size: 13px; color: var(--muted); }
.ad-chip[aria-pressed="true"] { border-color: var(--accent); color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, transparent); }
/* seletor de período (7 / 30 / 90 / 12 meses / personalizado) */
.ad-periodo { display: grid; gap: 8px; }
.ad-periodo-datas { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-2); }
.ad-data { display: grid; gap: 3px; font-size: 11.5px; color: var(--muted); font-weight: 700; }
.ad-data input { height: 38px; border-radius: 10px; border: 1px solid var(--line); background: var(--input); color: var(--text); padding: 0 10px; font: inherit; color-scheme: dark light; }
.ad-periodo-datas .ad-bt { height: 38px; }
.ad-grade { display: grid; grid-template-columns: repeat(12, 1fr); gap: 14px; }
.ad-grade > * { grid-column: span 6; min-width: 0; }
.ad-grade > .largo, .ad-grade > .viz-cartao.largo { grid-column: 1 / -1; }
.ad-grade > .terco { grid-column: span 4; }
.ad-kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; margin-bottom: 14px; }

/* ---------- blocos ---------- */
.ad-bloco, .viz-cartao { background: var(--panel); border: 1px solid var(--line); border-radius: 18px; padding: 16px 18px; }
.ad-bloco h3, .viz-topo h3 { margin: 0; font-size: 15px; }
.ad-bloco > p, .viz-topo p { margin: 3px 0 0; color: var(--muted); font-size: 12.5px; }
.ad-bloco-topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 12px; }
.viz-kpi { background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 14px 16px; display: grid; gap: 4px; }
.viz-kpi .rot { color: var(--muted); font-size: 12.5px; font-weight: 700; }
.viz-kpi strong { font-size: 28px; letter-spacing: -.5px; font-variant-numeric: tabular-nums; }
.viz-kpi small { color: var(--muted); font-size: 12px; }
.viz-kpi small.sobe { color: var(--st-bom); } .viz-kpi small.desce { color: var(--st-critico); }
.viz-kpi.alerta { border-color: color-mix(in srgb, var(--st-critico) 50%, var(--line)); }
.viz-kpi.alerta strong { color: var(--st-critico); }

/* ---------- gráficos ---------- */
.viz-topo { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; margin-bottom: 10px; }
.viz-bts { display: flex; gap: 6px; flex: none; }
.viz-bt { border: 1px solid var(--line); background: var(--panel-2); border-radius: 8px; padding: 5px 9px; font-size: 12px; font-weight: 700; cursor: pointer; color: var(--muted); }
.viz-bt[aria-pressed="true"] { color: var(--accent); border-color: var(--accent); }
.viz-bt:disabled { opacity: .45; cursor: default; }
.viz-area svg { display: block; overflow: visible; }
.viz-grade { stroke: var(--line); stroke-width: 1; stroke-dasharray: 2 4; }
.viz-base { stroke: var(--muted); stroke-width: 1; opacity: .6; }
.viz-cruz { stroke: var(--muted); stroke-width: 1; }
.viz-eixo { fill: var(--muted); font-size: 11px; }
.viz-valor { fill: var(--text); font-size: 11px; font-weight: 700; }
.viz-vazio { color: var(--muted); padding: 30px 0; text-align: center; margin: 0; }
.viz-hbar { display: grid; gap: 8px; }
.viz-hbar .linha { display: grid; grid-template-columns: minmax(80px, 34%) 1fr auto; align-items: center; gap: 10px; font-size: 13px; }
.viz-hbar .nome { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.viz-hbar .trilho { height: 10px; border-radius: 99px; background: var(--panel-2); overflow: hidden; }
.viz-hbar .trilho i { display: block; height: 100%; border-radius: 0 4px 4px 0; }
.viz-hbar .valor { font-weight: 800; font-variant-numeric: tabular-nums; min-width: 32px; text-align: right; }
.viz-tabela { max-height: 320px; overflow: auto; border: 1px solid var(--line); border-radius: 12px; }
.viz-tabela table, .ad-tabela table { width: 100%; border-collapse: collapse; font-size: 13px; }
.viz-tabela th, .viz-tabela td { padding: 8px 10px; border-bottom: 1px solid var(--line); text-align: left; }
.viz-tabela th { position: sticky; top: 0; background: var(--panel-2); font-size: 12px; color: var(--muted); }
.viz-dica { position: fixed; z-index: 100; pointer-events: none; background: var(--panel); color: var(--text); border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; box-shadow: var(--shadow); font-size: 12.5px; display: grid; gap: 4px; min-width: 140px; }
.viz-dica .l { display: flex; align-items: center; gap: 8px; } .viz-dica .l i { width: 10px; height: 10px; border-radius: 3px; flex: none; } .viz-dica .l b { margin-left: auto; font-variant-numeric: tabular-nums; }
.viz-legenda { display: flex; gap: 14px; flex-wrap: wrap; font-size: 12.5px; color: var(--muted); margin-top: 8px; }
.viz-legenda span { display: inline-flex; align-items: center; gap: 6px; } .viz-legenda i { width: 10px; height: 10px; border-radius: 3px; }

/* ---------- tabelas e listas ---------- */
.ad-tabela { overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); }
.ad-tabela th { text-align: left; padding: 10px 12px; font-size: 12px; color: var(--muted); background: var(--panel-2); border-bottom: 1px solid var(--line); white-space: nowrap; position: sticky; top: 0; }
.ad-tabela td { padding: 10px 12px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.ad-tabela tr.clicavel { cursor: pointer; } .ad-tabela tr.clicavel:hover td { background: var(--hover); }
.ad-tabela tr:last-child td { border-bottom: 0; }
.ad-pessoa { display: flex; align-items: center; gap: 10px; min-width: 180px; }
.ad-pessoa .tx { min-width: 0; } .ad-pessoa strong { display: block; } .ad-pessoa small { color: var(--muted); }
.ad-av { width: 34px; height: 34px; border-radius: 50%; background: linear-gradient(135deg, var(--accent), #0072a3); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 13px; flex: none; overflow: hidden; }
.ad-av img { width: 100%; height: 100%; object-fit: cover; }
.ad-av.g { width: 64px; height: 64px; font-size: 22px; }
.ad-selo { display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 800; white-space: nowrap; border: 1px solid transparent; }
.ad-selo::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.ad-selo.bom { color: var(--st-bom); background: color-mix(in srgb, var(--st-bom) 12%, transparent); }
.ad-selo.atencao { color: #b07800; background: color-mix(in srgb, var(--st-atencao) 18%, transparent); }
:root[data-theme="dark"] .ad-selo.atencao { color: var(--st-atencao); }
.ad-selo.serio { color: var(--st-serio); background: color-mix(in srgb, var(--st-serio) 14%, transparent); }
.ad-selo.critico { color: var(--st-critico); background: color-mix(in srgb, var(--st-critico) 13%, transparent); }
.ad-selo.neutro { color: var(--muted); background: var(--panel-2); border-color: var(--line); }
.ad-selo.info { color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, transparent); }
.ad-lista { display: grid; gap: 10px; }
.ad-item { background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 14px 16px; display: grid; gap: 8px; }
.ad-item .cab { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ad-item .cab .quando { margin-left: auto; color: var(--muted); font-size: 12px; }
.ad-item .trecho { background: var(--panel-2); border-left: 3px solid var(--line); border-radius: 8px; padding: 8px 10px; color: var(--text); white-space: pre-wrap; word-break: break-word; }
.ad-item .meta { color: var(--muted); font-size: 12.5px; }
.ad-acoes { display: flex; gap: 6px; flex-wrap: wrap; }
.ad-bt { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--line); background: var(--panel-2); cursor: pointer; font-weight: 700; font-size: 13px; color: var(--text); text-decoration: none; white-space: nowrap; }
.ad-bt:hover { background: var(--hover); }
.ad-bt.pri { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.ad-bt.perigo { color: var(--st-critico); border-color: color-mix(in srgb, var(--st-critico) 45%, var(--line)); background: transparent; }
.ad-bt.perigo.cheio { background: var(--st-critico); color: #fff; }
.ad-bt:disabled { opacity: .5; cursor: default; }
.ad-vazio { text-align: center; color: var(--muted); padding: 34px 10px; border: 1px dashed var(--line); border-radius: 16px; }
.ad-atencao { display: grid; gap: 8px; }
.ad-atencao button { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--line); background: var(--panel-2); cursor: pointer; text-align: left; }
.ad-atencao button:hover { background: var(--hover); }
.ad-atencao b { font-size: 20px; min-width: 34px; font-variant-numeric: tabular-nums; }
.ad-atencao span { flex: 1; } .ad-atencao small { color: var(--muted); display: block; }

/* ---------- ficha (gaveta) ---------- */
.ad-gaveta-fundo { position: fixed; inset: 0; z-index: 60; background: var(--overlay); }
.ad-gaveta { position: fixed; top: 0; right: 0; bottom: 0; z-index: 61; width: min(640px, 100%); background: var(--bg); border-left: 1px solid var(--line); box-shadow: var(--shadow); display: flex; flex-direction: column; }
.ad-gaveta-topo { display: flex; align-items: center; gap: 10px; padding: 14px 18px; border-bottom: 1px solid var(--line); background: var(--panel); }
.ad-gaveta-topo h2 { margin: 0; font-size: 17px; flex: 1; }
.ad-gaveta-corpo { overflow-y: auto; padding: 18px; display: grid; gap: 14px; align-content: start; }
.ad-ficha-cab { display: flex; gap: 14px; align-items: center; }
.ad-ficha-cab h3 { margin: 0; font-size: 19px; } .ad-ficha-cab p { margin: 2px 0 0; color: var(--muted); }
.ad-selos { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
.ad-dados { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; }
.ad-dados div { min-width: 0; } .ad-dados dt { color: var(--muted); font-size: 12px; font-weight: 700; } .ad-dados dd { margin: 2px 0 0; word-break: break-word; }
.ad-mini { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 8px; }
.ad-mini div { background: var(--panel-2); border-radius: 12px; padding: 10px; } .ad-mini b { display: block; font-size: 18px; } .ad-mini span { color: var(--muted); font-size: 12px; }
.ad-hist { display: grid; gap: 6px; font-size: 13px; } .ad-hist div { padding: 8px 10px; border-radius: 10px; background: var(--panel-2); }

/* ---------- janelas ---------- */
.ad-modal-fundo { position: fixed; inset: 0; z-index: 80; background: var(--overlay); display: grid; place-items: center; padding: 16px; }
.ad-modal { width: min(520px, 100%); max-height: 92vh; overflow-y: auto; background: var(--panel); border: 1px solid var(--line); border-radius: 20px; padding: 20px; display: grid; gap: 12px; box-shadow: var(--shadow); }
.ad-modal h3 { margin: 0; font-size: 18px; } .ad-modal p { margin: 0; color: var(--muted); }
.ad-campo { display: grid; gap: 6px; } .ad-campo label { font-size: 12.5px; font-weight: 800; color: var(--muted); }
.ad-campo input, .ad-campo select, .ad-campo textarea { width: 100%; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line); background: var(--input); }
.ad-campo textarea { min-height: 90px; resize: vertical; }
.ad-modal .ad-acoes { justify-content: flex-end; }
.ad-toast { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 120; background: var(--text); color: var(--bg); padding: 10px 16px; border-radius: 12px; font-weight: 700; box-shadow: var(--shadow); max-width: 92vw; }

/* ---------- suporte (conversa) ---------- */
.ad-chat { display: grid; gap: 8px; max-height: 50vh; overflow-y: auto; padding: 4px; }
.ad-msg { max-width: 82%; padding: 9px 12px; border-radius: 14px; background: var(--panel-2); white-space: pre-wrap; word-break: break-word; }
.ad-msg.equipe { margin-left: auto; background: color-mix(in srgb, var(--accent) 16%, var(--panel)); }
.ad-msg small { display: block; color: var(--muted); font-size: 11px; margin-top: 4px; }

/* ---------- parcerias ---------- */
.ad-kanban { display: grid; grid-template-columns: repeat(5, minmax(220px, 1fr)); gap: 12px; overflow-x: auto; padding-bottom: 6px; }
.ad-coluna { background: var(--panel-2); border: 1px solid var(--line); border-radius: 16px; padding: 10px; display: grid; gap: 8px; align-content: start; min-height: 120px; }
.ad-coluna h4 { margin: 2px 4px 4px; font-size: 13px; display: flex; justify-content: space-between; }

.ad-item.clicavel { cursor: pointer; transition: border-color .15s; }
.ad-item.clicavel:hover { border-color: var(--accent); }
.ad-item.clicavel:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.ad-proposta { width: min(620px, 100%); max-height: 90vh; overflow-y: auto; }
.ad-proposta h4 { margin: 6px 0 0; font-size: 13px; color: var(--muted); text-transform: uppercase; letter-spacing: .4px; }
.ad-proposta-msg { white-space: pre-wrap; word-break: break-word; line-height: 1.55; padding: 12px 14px; border-radius: 12px; background: var(--panel-2); border: 1px solid var(--line); }
.ad-proposta .ad-acoes { flex-wrap: wrap; }

/* ---------- equipe: online e chat ---------- */
.ad-equipe { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: 14px; align-items: start; }
.ad-chat-equipe .ad-chat { height: min(58vh, 560px); max-height: none; align-content: start; background: var(--panel-2); border: 1px solid var(--line); border-radius: 14px; padding: 12px; margin-top: 10px; }
.ad-chat-equipe .ad-msg { background: var(--panel); border: 1px solid var(--line); }
.ad-chat-equipe .ad-msg.equipe { border-color: transparent; }
.ad-msg-autor { display: block; font-size: 12px; color: var(--accent); margin-bottom: 2px; }
.ad-chat-dia { justify-self: center; font-size: 11.5px; color: var(--muted); padding: 2px 10px; border-radius: 999px; background: var(--panel); border: 1px solid var(--line); }
.ad-chat-form { margin-top: 10px; display: grid; gap: 4px; }
.ad-chat-barra { display: flex; gap: 8px; align-items: flex-end; }
.ad-chat-campo { position: relative; flex: 1; }
.ad-chat-campo textarea { width: 100%; min-height: 44px; max-height: 140px; resize: none; padding: 11px 44px 11px 14px; border-radius: 14px; border: 1px solid var(--line); background: var(--input); color: var(--text); font: inherit; line-height: 1.4; }
.ad-chat-campo textarea:focus-visible { outline: none; border-color: var(--accent); }
.ad-chat-conta { position: absolute; right: 12px; bottom: 10px; font-size: 11px; color: var(--muted); pointer-events: none; }
.ad-chat-barra .ad-bt { height: 44px; border-radius: 14px; padding: 0 18px; }
.ad-chat-dica { margin: 0 2px; font-size: 11.5px; color: var(--muted); }
/* linhas do chat com avatar */
.ad-chat-linha { display: flex; gap: 8px; align-items: flex-end; }
.ad-chat-linha.meu { justify-content: flex-end; }
.ad-chat-linha.junto { margin-top: -4px; }
.ad-chat-av { width: 30px; height: 30px; flex: none; font-size: 12px; align-self: flex-end; }
.ad-chat-vazio { display: grid; gap: 4px; place-content: center; text-align: center; height: 100%; }
.ad-chat-vazio strong { font-size: 15px; } .ad-chat-vazio span { color: var(--muted); font-size: 13px; }
.ad-av.com-ponto { position: relative; overflow: visible; }
.ad-ponto { position: absolute; right: -1px; bottom: -1px; width: 11px; height: 11px; border-radius: 50%; background: var(--muted); border: 2px solid var(--panel); }
.ad-ponto.on { background: var(--st-bom); }
.ad-online { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--line); background: var(--panel); color: var(--text); font: inherit; font-size: 12.5px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.ad-online::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--st-bom); }

/* ---------- coordenação da equipe ---------- */
.ad-bt.mini { min-height: 30px; padding: 0 10px; font-size: 12.5px; border-radius: 9px; }
.ad-bt:disabled { opacity: .55; cursor: wait; }
.ad-resp { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding-top: 8px; margin-top: 2px; border-top: 1px dashed var(--line); }
.ad-sel-mini, .ad-sel { height: 32px; border-radius: 9px; border: 1px solid var(--line); background: var(--input); color: var(--text); padding: 0 8px; font: inherit; font-size: 12.5px; max-width: 100%; }
.ad-sel { height: 38px; font-size: 13.5px; min-width: 0; }
input.ad-sel { flex: 1 1 220px; padding: 0 12px; }
.ad-espera { font-size: 12px; font-weight: 700; color: var(--muted); }
.ad-espera.atencao { color: var(--st-atencao); } .ad-espera.atrasado { color: var(--st-critico); }
.ad-vendo { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 800; color: var(--st-serio); background: color-mix(in srgb, var(--st-serio) 12%, transparent); padding: 3px 9px; border-radius: 999px; }
.ad-vendo::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--st-serio); animation: ad-pulso 1.6s infinite; }
@keyframes ad-pulso { 50% { opacity: .3; } }
@media (prefers-reduced-motion: reduce) { .ad-vendo::before { animation: none; } }
.ad-aviso-papel { margin: 0 0 12px; padding: 10px 14px; border-radius: 12px; border: 1px solid var(--line); background: var(--panel-2); color: var(--muted); font-size: 13.5px; }
.ad-papel { font-size: 11px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; color: var(--accent); border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--line)); padding: 3px 8px; border-radius: 999px; white-space: nowrap; }
.ad-papeis { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 8px; margin-top: 12px; }
.ad-papeis > div { display: grid; gap: 2px; padding: 10px 12px; border-radius: 12px; background: var(--panel-2); border: 1px solid var(--line); font-size: 13px; }
.ad-papeis span { color: var(--muted); }
.ad-fila { margin-bottom: 14px; }
.ad-fila-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px; margin-top: 10px; }
.ad-fila-item { display: grid; gap: 2px; text-align: left; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line); background: var(--panel-2); color: var(--text); font: inherit; cursor: pointer; }
.ad-fila-item:hover { border-color: var(--accent); }
.ad-fila-item .tipo { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; color: var(--accent); }
.ad-fila-item strong { font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ad-fila-item small { color: var(--muted); font-size: 12px; }
.ad-fila-item.atrasado { border-color: color-mix(in srgb, var(--st-critico) 50%, var(--line)); }
.ad-fila-item.atrasado .tipo { color: var(--st-critico); }
.ad-fila-livres { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px; }
.ad-vazio.mini { padding: 14px; grid-column: 1 / -1; }
.ad-nota-form { display: flex; gap: 8px; align-items: flex-end; margin-top: 10px; }
.ad-nota-form textarea { flex: 1; min-height: 44px; resize: vertical; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line); background: var(--input); color: var(--text); font: inherit; }
.ad-nota { display: grid; gap: 3px; } .ad-nota b { font-size: 12px; color: var(--muted); font-weight: 700; } .ad-nota span { white-space: pre-wrap; word-break: break-word; }
.ad-link-perigo { justify-self: start; border: 0; background: none; padding: 0; color: var(--st-critico); font: inherit; font-size: 12px; cursor: pointer; text-decoration: underline; }
.ad-link { font-size: 13px; color: var(--accent); }
.ad-kanban.tres { grid-template-columns: repeat(3, minmax(240px, 1fr)); }
.ad-tarefa { border-left: 4px solid var(--line); }
.ad-tarefa.pr-urgente { border-left-color: var(--st-critico); } .ad-tarefa.pr-alta { border-left-color: var(--st-serio); } .ad-tarefa.pr-normal { border-left-color: var(--accent); }
.ad-tarefa.atrasada { background: color-mix(in srgb, var(--st-critico) 6%, var(--panel)); }
.ad-pub-img { max-width: min(320px, 100%); max-height: 240px; object-fit: cover; border-radius: 12px; border: 1px solid var(--line); }

/* ---------- acesso negado ---------- */
.ad-bloqueio { min-height: 100vh; display: grid; place-items: center; padding: 20px; }
.ad-bloqueio .caixa { width: min(520px, 100%); background: var(--panel); border: 1px solid var(--line); border-radius: 22px; padding: 26px; display: grid; gap: 12px; }
.ad-bloqueio code { display: block; padding: 10px 12px; border-radius: 10px; background: var(--panel-2); word-break: break-all; font-size: 13px; }
.ad-bloqueio ol { margin: 0; padding-left: 20px; color: var(--muted); display: grid; gap: 6px; }

/* ---------- relatório para imprimir ---------- */
.ad-relatorio { background: #fff; color: #111; border-radius: 16px; padding: 28px; }
.ad-relatorio h2 { margin: 0 0 4px; } .ad-relatorio table { width: 100%; border-collapse: collapse; margin-top: 12px; }
.ad-relatorio td, .ad-relatorio th { border-bottom: 1px solid #ddd; padding: 7px 8px; text-align: left; font-size: 13px; }
@media print {
  body * { visibility: hidden; }
  .ad-relatorio, .ad-relatorio * { visibility: visible; }
  .ad-relatorio { position: absolute; inset: 0; border-radius: 0; }
}

/* ---------- celular ---------- */
@media (max-width: 900px) {
  .ad-corpo { grid-template-columns: 1fr; }
  /* Celular: o menu vai até o fim da área visível (100vh contava o espaço atrás da barra do
     navegador e escondia o fim do menu: era preciso rolar duas vezes para ver "Registro de ações"). */
  .ad-lateral { position: fixed; z-index: 50; top: 60px; bottom: 0; left: 0; width: 270px; height: auto; transform: translateX(-100%); transition: transform .2s; box-shadow: var(--shadow); padding-bottom: calc(28px + env(safe-area-inset-bottom)); -webkit-overflow-scrolling: touch; }
  .ad-lateral.aberta { transform: none; }
  html.ad-menu-aberto { overflow: hidden; } /* só o html: no body, a barra de cima (sticky) perdia o lugar e sumia */
  .ad-menu-fundo { position: fixed; inset: 60px 0 0 0; z-index: 49; background: var(--overlay); }
  .ad-menu-bt { display: grid; }
  .ad-principal { padding: 16px 14px 60px; }
  .ad-grade > *, .ad-grade > .terco { grid-column: 1 / -1; }
  .ad-atualizado, .ad-marca small { display: none; }
  .ad-topo { gap: 8px; padding: 0 10px; }
  /* Busca no celular: só a lupa; tocar abre o campo em cima da barra, na largura toda (antes o campo ficava espremido). */
  .ad-busca { display: none; }
  .ad-icone.ad-busca-bt { display: grid; margin-left: auto; }
  .ad-topo.buscando .ad-busca { display: block; position: absolute; left: 10px; right: 10px; top: 10px; max-width: none; margin: 0; z-index: 3; }
  .ad-topo.buscando .ad-busca input { padding-right: 44px; font-size: 16px; box-shadow: var(--shadow); }
  .ad-topo.buscando .ad-busca-x { display: grid; place-items: center; position: absolute; right: 5px; top: 5px; width: 30px; height: 30px; border: 0; border-radius: 9px; background: var(--hover); color: var(--text); font-size: 20px; line-height: 1; cursor: pointer; }
  .ad-marca strong { font-size: 15px; }
  .ad-icone { width: 38px; height: 38px; }
  .ad-dados { grid-template-columns: 1fr; }
  .ad-equipe { grid-template-columns: 1fr; }
  .ad-online { padding: 0 10px; font-size: 0; gap: 0; width: 34px; justify-content: center; }
  /* parcerias: colunas uma embaixo da outra no celular */
  .ad-kanban, .ad-kanban.tres { grid-template-columns: 1fr; overflow: visible; }
  .ad-papel { display: none; }
  .ad-nota-form { flex-direction: column; align-items: stretch; }
  .ad-coluna { min-height: 0; }
}
@media (max-width: 400px) {
  .ad-marca { gap: 7px; } .ad-logo { width: 34px; height: 34px; } .ad-marca-tx strong { font-size: 12.5px; } .ad-marca-tx em { font-size: 7px; letter-spacing: .5px; }
}

/* ---------- chat da equipe: visual de mensageiro (WhatsApp/Instagram) ---------- */
.eq-chat { --eq-fundo: color-mix(in srgb, var(--accent) 4%, var(--panel-2)); --eq-meu: color-mix(in srgb, var(--accent) 20%, var(--panel)); --eq-outro: var(--panel); --hf-audio-cor: var(--accent);
  position: relative; display: grid; grid-template-columns: 300px minmax(0, 1fr); height: min(78vh, 760px); background: var(--panel); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }
:root[data-theme="light"] .eq-chat { --eq-meu: #d9f3fd; }
.eq-ic { fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.eq-icone { width: 40px; height: 40px; flex: none; display: grid; place-items: center; border: 0; border-radius: 50%; background: transparent; color: var(--muted); cursor: pointer; transition: background .15s, color .15s; }
.eq-icone:hover { background: var(--hover); color: var(--text); }
.eq-icone:focus-visible, .eq-principal:focus-visible, .eq-item:focus-visible, .eq-balao:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.eq-icone:disabled { opacity: .45; cursor: default; }
.eq-perigo { color: var(--st-critico); }
/* lista */
.eq-lista { border-right: 1px solid var(--line); display: flex; flex-direction: column; min-height: 0; background: var(--panel); }
.eq-lista-topo { padding: 16px 18px 10px; }
.eq-lista-topo h3 { margin: 0; font-size: 18px; letter-spacing: -.2px; }
.eq-lista-itens { overflow-y: auto; padding: 4px 8px 10px; display: grid; gap: 2px; align-content: start; }
.eq-item { display: flex; gap: 12px; align-items: center; width: 100%; text-align: left; padding: 10px; border: 0; border-radius: 14px; background: transparent; color: var(--text); cursor: pointer; }
.eq-item:hover { background: var(--hover); }
.eq-item.ativa { background: color-mix(in srgb, var(--accent) 13%, var(--panel)); }
.eq-item .ad-av { width: 46px; height: 46px; font-size: 15px; }
.eq-item .tx { flex: 1; min-width: 0; display: grid; gap: 3px; }
.eq-item .l1, .eq-item .l2 { display: flex; gap: 6px; align-items: center; justify-content: space-between; min-width: 0; }
.eq-item .l1 strong { font-size: 14.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eq-item .l1 small { color: var(--muted); font-size: 11.5px; flex: none; }
.eq-item .l2 span { color: var(--muted); font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eq-item.nao-lida .l2 span { color: var(--text); font-weight: 650; }
.eq-item.nao-lida .l1 small { color: var(--accent); font-weight: 700; }
.eq-nao { flex: none; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--accent); color: var(--accent-ink); font-size: 11px; font-weight: 800; display: grid; place-items: center; }
.eq-av-grupo { display: grid; place-items: center; color: var(--accent); background: color-mix(in srgb, var(--accent) 16%, var(--panel-2)); }
.com-ponto { position: relative; overflow: visible; }
/* conversa */
.eq-conversa { display: flex; flex-direction: column; min-width: 0; min-height: 0; position: relative; background: var(--eq-fundo); }
.eq-conversa.arrastando::after { content: "Solte para enviar"; position: absolute; inset: 10px; z-index: 8; border: 2px dashed var(--accent); border-radius: 16px; display: grid; place-items: center; font-weight: 800; color: var(--accent); background: color-mix(in srgb, var(--panel) 85%, transparent); }
/* segurar o nome no topo não seleciona o texto (as "pinças" do celular) */
.eq-topo, .eq-quem { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.eq-topo { display: flex; align-items: center; gap: 4px; padding: 6px 8px 6px 10px; min-height: 60px; background: var(--panel); border-bottom: 1px solid var(--line); flex: none; }
.eq-voltar { display: none; }
.eq-quem { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; padding: 2px 4px; }
.eq-quem .ad-av { width: 40px; height: 40px; }
.eq-quem .tx { display: grid; min-width: 0; }
.eq-quem strong { font-size: 15.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eq-quem small { color: var(--muted); font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eq-quem small.on { color: var(--st-bom); }
.eq-busca { display: flex; gap: 6px; align-items: center; padding: 6px 8px 6px 14px; background: var(--panel); border-bottom: 1px solid var(--line); color: var(--muted); flex: none; }
.eq-busca input { flex: 1; min-width: 0; height: 38px; border-radius: 999px; border: 1px solid var(--line); background: var(--input); color: var(--text); padding: 0 14px; }
.eq-busca input:focus { outline: none; border-color: var(--accent); }
.eq-busca-res { font-size: 12px; white-space: nowrap; }
.eq-msgs { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 14px 5% 10px; display: flex; flex-direction: column; gap: 3px; }
.eq-vazio { margin: auto; display: grid; gap: 4px; text-align: center; color: var(--muted); padding: 20px; }
.eq-vazio strong { color: var(--text); font-size: 15px; }
.eq-dia { align-self: center; margin: 10px 0 6px; padding: 5px 12px; border-radius: 8px; background: var(--panel); color: var(--muted); font-size: 12px; font-weight: 650; box-shadow: 0 1px 2px rgba(0,0,0,.12); }
.eq-linha { display: flex; align-items: flex-end; gap: 6px; margin-top: 6px; }
.eq-linha.junto { margin-top: 0; }
.eq-linha.meu { justify-content: flex-end; }
.eq-av-msg { width: 28px; height: 28px; font-size: 11px; flex: none; }
.eq-av-msg.oculto { visibility: hidden; }
.eq-balao { position: relative; max-width: min(74%, 540px); min-width: 74px; padding: 6px 9px 7px 10px; border-radius: 12px; background: var(--eq-outro); color: var(--text); box-shadow: 0 1px 1.5px rgba(0,0,0,.13); line-height: 1.42; overflow-wrap: anywhere; outline: none; }
.eq-balao.meu { background: var(--eq-meu); }
.eq-linha:not(.junto) .eq-balao:not(.meu) { border-top-left-radius: 4px; }
.eq-linha:not(.junto) .eq-balao.meu { border-top-right-radius: 4px; }
.eq-balao.mencao-eu { box-shadow: inset 3px 0 0 var(--st-atencao), 0 1px 1.5px rgba(0,0,0,.13); }
.eq-autor { display: block; font-size: 12.5px; font-weight: 750; color: var(--accent); margin-bottom: 1px; }
.eq-texto { white-space: pre-wrap; font-size: 14.5px; }
.eq-hora { float: right; margin: 6px 0 -4px 10px; font-size: 11px; color: var(--muted); white-space: nowrap; position: relative; top: 2px; }
.eq-balao.so-anexo > .eq-hora { float: none; display: block; text-align: right; margin: 2px 0 0; top: 0; }
.eq-balao.tem-audio.so-anexo { padding: 6px 10px 6px 7px; }
.eq-balao.tem-audio.so-anexo > .eq-hora { position: absolute; right: 10px; bottom: 7px; top: auto; margin: 0; }
.eq-balao.tem-audio .hf-audio-rodape { justify-content: flex-start; gap: 8px; padding-right: 58px; }
.eq-mencao { color: var(--accent); font-weight: 700; }
.eq-mencao.eu, .ad-mencao.eu { background: color-mix(in srgb, var(--accent) 18%, transparent); border-radius: 4px; padding: 0 2px; }
.eq-balao .ad-mencao { color: var(--accent); font-weight: 700; }
.eq-balao mark { background: color-mix(in srgb, #e6b800 45%, transparent); color: inherit; border-radius: 3px; }
.eq-cit { display: block; width: 100%; text-align: left; border: 0; cursor: pointer; background: color-mix(in srgb, var(--text) 6%, transparent); border-left: 3px solid var(--accent); border-radius: 7px; padding: 5px 9px; margin: 2px 0 6px; color: var(--text); }
.eq-cit b { display: block; font-size: 12px; color: var(--accent); }
.eq-cit span { display: block; font-size: 12.5px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eq-foto { display: block; padding: 0; border: 0; background: color-mix(in srgb, var(--text) 6%, transparent); cursor: zoom-in; border-radius: 9px; overflow: hidden; margin: -2px -5px 4px -6px; color: var(--accent); min-width: 180px; min-height: 60px; }
.eq-foto img { display: block; width: 100%; max-width: 300px; max-height: 280px; object-fit: cover; }
.eq-foto:not(:has(img)) { display: flex; align-items: center; justify-content: center; gap: 8px; font-weight: 700; padding: 18px; }
.eq-arquivo { display: flex; align-items: center; gap: 10px; width: min(280px, 64vw); border: 0; background: color-mix(in srgb, var(--text) 6%, transparent); color: var(--text); border-radius: 10px; padding: 9px 10px; cursor: pointer; text-align: left; margin: 2px 0 4px; }
.eq-arquivo:hover { background: color-mix(in srgb, var(--text) 10%, transparent); }
.eq-arquivo .ic { position: relative; color: var(--accent); display: grid; place-items: center; }
.eq-arquivo .ic b { position: absolute; bottom: 3px; font-size: 7.5px; font-weight: 900; letter-spacing: .3px; color: var(--accent); }
.eq-arquivo .tx { flex: 1; display: grid; min-width: 0; }
.eq-arquivo strong { font-size: 13.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eq-arquivo small { color: var(--muted); font-size: 12px; }
.eq-arquivo .bx { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; border: 1.5px solid color-mix(in srgb, var(--muted) 60%, transparent); color: var(--muted); }
.eq-reacoes { display: flex; flex-wrap: wrap; gap: 4px; margin: 6px 0 -16px; position: relative; z-index: 1; }
.eq-linha:has(.eq-reacoes) { margin-bottom: 14px; }
.eq-reac { display: inline-flex; align-items: center; gap: 3px; border: 2px solid var(--eq-fundo); background: var(--panel); color: var(--text); border-radius: 999px; padding: 1px 7px 1px 5px; font-size: 12px; cursor: pointer; line-height: 1.5; box-shadow: 0 1px 2px rgba(0,0,0,.15); }
.eq-reac.eu { background: color-mix(in srgb, var(--accent) 18%, var(--panel)); }
.eq-reac .em { font-size: 14px; }
.eq-reac .n { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--muted); }
.eq-balao-menu { position: absolute; top: 4px; right: 4px; width: 26px; height: 26px; border-radius: 50%; border: 0; display: grid; place-items: center; cursor: pointer; color: var(--muted); background: radial-gradient(circle, var(--eq-outro) 55%, transparent 70%); opacity: 0; transition: opacity .12s; }
.eq-balao.meu .eq-balao-menu { background: radial-gradient(circle, var(--eq-meu) 55%, transparent 70%); }
.eq-balao:hover .eq-balao-menu, .eq-balao:focus-within .eq-balao-menu { opacity: 1; }
.eq-linha.destacada .eq-balao { box-shadow: 0 0 0 2px var(--accent); transition: box-shadow .3s; }
/* menu da mensagem */
.eq-menu { position: fixed; z-index: 60; min-width: 220px; background: var(--panel); border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 16px 40px rgba(0,0,0,.35); padding: 6px; display: grid; gap: 1px; }
.eq-menu-emojis { display: flex; gap: 2px; justify-content: space-between; padding: 2px 2px 6px; margin-bottom: 4px; border-bottom: 1px solid var(--line); }
.eq-menu-emoji { width: 36px; height: 36px; border: 0; border-radius: 50%; background: none; cursor: pointer; font-size: 21px; line-height: 1; transition: transform .1s, background .1s; }
.eq-menu-emoji:hover { transform: scale(1.18); background: var(--hover); }
.eq-menu-emoji.eu { background: color-mix(in srgb, var(--accent) 22%, transparent); }
.eq-menu-item { display: flex; align-items: center; gap: 12px; border: 0; background: none; color: var(--text); padding: 9px 10px; border-radius: 10px; cursor: pointer; text-align: left; font-size: 14px; }
.eq-menu-item:hover, .eq-menu-item:focus-visible { background: var(--hover); outline: none; }
.eq-menu-item .eq-ic { color: var(--muted); }
/* rodapé: barra de digitação larga + botão redondo */
.eq-rodape { position: relative; padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); background: var(--eq-fundo); flex: none; }
.eq-compor, .eq-gravando { display: flex; align-items: flex-end; gap: 8px; }
.eq-caixa { flex: 1; min-width: 0; display: flex; align-items: flex-end; gap: 2px; background: var(--panel); border-radius: 24px; padding: 3px 4px; box-shadow: 0 1px 2px rgba(0,0,0,.12); border: 1px solid var(--line); }
.eq-caixa:focus-within { border-color: color-mix(in srgb, var(--accent) 60%, var(--line)); }
.eq-caixa .eq-icone { width: 40px; height: 40px; }
.eq-caixa textarea { flex: 1; min-width: 0; min-height: 40px; max-height: 140px; resize: none; border: 0; outline: none; background: transparent; color: var(--text); padding: 10px 4px; line-height: 1.4; font-size: 15px; }
.eq-conta { align-self: center; font-size: 11px; color: var(--muted); }
.eq-principal { width: 48px; height: 48px; flex: none; border-radius: 50%; border: 0; display: grid; place-items: center; cursor: pointer; background: var(--accent); color: var(--accent-ink); box-shadow: 0 2px 6px rgba(0,0,0,.2); transition: transform .12s, background .15s; }
.eq-principal:hover { background: var(--accent-strong); }
.eq-principal:active { transform: scale(.94); }
.eq-principal[data-modo="enviar"] .eq-ic { transform: translateX(1px); }
.eq-gravando { align-items: center; }
.eq-grav-info { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 16px; background: var(--panel); border-radius: 24px; border: 1px solid var(--line); }
.eq-grav-ponto { width: 10px; height: 10px; border-radius: 50%; background: var(--st-critico); animation: ad-pisca 1s infinite; flex: none; }
.eq-grav-tempo { font-variant-numeric: tabular-nums; font-weight: 800; }
.eq-grav-txt { color: var(--muted); font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@keyframes ad-pisca { 50% { opacity: .25; } }
.eq-resp { display: flex; align-items: center; gap: 6px; margin: 0 56px 6px 0; padding: 6px 4px 6px 12px; background: var(--panel); border-radius: 14px; border-left: 4px solid var(--accent); }
.eq-resp .tx { display: grid; min-width: 0; flex: 1; }
.eq-resp .tx b { font-size: 12px; color: var(--accent); }
.eq-resp .tx span { font-size: 13px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eq-resp .eq-icone { width: 32px; height: 32px; }
.eq-mencoes { position: absolute; left: 12px; bottom: calc(100% - 2px); width: min(300px, calc(100% - 24px)); background: var(--panel); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 12px 30px rgba(0,0,0,.3); padding: 4px; display: grid; gap: 2px; z-index: 5; }
.eq-mencao-op { display: flex; align-items: center; gap: 8px; border: 0; background: none; color: var(--text); padding: 7px 8px; border-radius: 10px; cursor: pointer; text-align: left; }
.eq-mencao-op.sel, .eq-mencao-op:hover { background: var(--hover); }
.ad-foto-fundo { display: grid; place-items: center; gap: 12px; align-content: center; background: rgba(0,0,0,.85); }
.ad-foto-grande { max-width: 92vw; max-height: 80vh; border-radius: 12px; object-fit: contain; background: #111; }
.ad-foto-barra { display: flex; gap: 8px; justify-content: center; }
@media (prefers-reduced-motion: reduce) { .eq-grav-ponto { animation: none; } .eq-principal, .eq-menu-emoji { transition: none; } }
@media (hover: none) { .eq-balao-menu { display: none; } }
@media (max-width: 760px) {
  .eq-chat { grid-template-columns: 1fr; height: calc(100dvh - 140px); min-height: 460px; border-radius: 16px; }
  .eq-chat .eq-conversa { display: none; }
  .eq-chat.aberta .eq-lista { display: none; }
  .eq-chat.aberta .eq-conversa { display: flex; }
  /* Conversa aberta no celular: tela cheia abaixo da barra do painel, campo de digitar sempre à vista
     (antes era preciso rolar a página e o chat ao mesmo tempo). */
  .eq-chat.aberta { position: fixed; z-index: 40; top: 60px; left: 0; right: 0; bottom: 0; height: auto; min-height: 0; border: 0; border-radius: 0; }
  .eq-voltar { display: grid; margin-left: -4px; }
  .eq-lista { border-right: 0; }
  .eq-msgs { padding: 10px 8px 8px; }
  .eq-balao { max-width: 84%; }
  .eq-rodape { padding: 6px 6px calc(6px + env(safe-area-inset-bottom)); }
  .eq-compor, .eq-gravando { gap: 6px; }
  .eq-caixa .eq-icone { width: 38px; height: 38px; }
}

/* período + "Baixar tudo" no cabeçalho da seção */
.ad-cab-acoes { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start; justify-content: flex-end; min-width: 0; max-width: 100%; }
.ad-cab-acoes .ad-periodo { align-items: flex-end; min-width: 0; }
/* O seletor de cidade/bairro não cresce com o nome mais comprido (empurrava os botões para fora). */
.ad-cab-acoes .ad-sel { width: 220px; max-width: 100%; text-overflow: ellipsis; }
@media (max-width: 700px) {
  /* No celular: tudo na largura da tela, em grade, sem nada cortado na lateral. */
  .ad-cab { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; }
  .ad-cab-acoes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; width: 100%; }
  .ad-cab-acoes > * { min-width: 0; }
  .ad-cab-acoes .ad-sel { width: 100%; }
  .ad-cab-acoes .ad-sel:nth-of-type(odd):last-of-type { grid-column: 1 / -1; }
  .ad-cab-acoes .ad-periodo { grid-column: 1 / -1; display: grid; gap: 8px; }
  /* Chips do período em grade de 3 colunas: todos inteiros na tela, sem rolar de lado. */
  .ad-cab-acoes .ad-periodo .ad-filtros { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .ad-cab-acoes .ad-periodo .ad-filtros .ad-chip { min-width: 0; padding: 8px 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: center; }
  .ad-cab-acoes .ad-periodo .ad-filtros .ad-chip:last-child:nth-child(3n + 2) { grid-column: span 2; }
  .ad-periodo-datas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ad-periodo-datas .ad-data input { width: 100%; min-width: 0; }
  .ad-periodo-datas .ad-bt { grid-column: 1 / -1; }
  .ad-cab-acoes > .ad-chip, .ad-cab-acoes > .ad-bt { width: 100%; min-height: 42px; white-space: normal; line-height: 1.25; text-align: center; border-radius: 12px; padding: 6px 10px; }
  .ad-cab-acoes > .ad-bt:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* ---------- Conteúdo denunciado (admin-denuncia.js) ---------- */
.ad-modal.ad-den { width: min(640px, 100%); max-height: 92vh; display: flex; flex-direction: column; gap: 12px; }
.ad-den-topo { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.ad-den-topo h3 { margin: 0; }
.ad-den-topo p { margin: 2px 0 0; color: var(--muted); font-size: 13px; }
.ad-den-corpo { flex: 1; min-height: 120px; overflow-y: auto; overscroll-behavior: contain; display: grid; gap: 10px; align-content: start; }
.ad-den-info { margin: 0; font-size: 12.5px; color: var(--muted); }
.ad-den-chat { display: grid; gap: 8px; padding: 12px; border-radius: 14px; background: var(--panel-2); border: 1px solid var(--line); }
.ad-den-linha { display: flex; }
.ad-den-linha.dir { justify-content: flex-end; }
.ad-den-bolha { max-width: 82%; display: grid; gap: 6px; padding: 9px 12px; border-radius: 14px 14px 14px 4px; background: var(--panel); border: 1px solid var(--line); font-size: 14px; line-height: 1.45; }
.ad-den-linha.dir .ad-den-bolha { border-radius: 14px 14px 4px 14px; background: color-mix(in srgb, var(--accent) 12%, var(--panel)); }
.ad-den-linha.denunciada .ad-den-bolha { border: 2px solid #ef4444; box-shadow: 0 0 0 4px color-mix(in srgb, #ef4444 14%, transparent); }
.ad-den-marca { justify-self: start; font-size: 11px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; color: #fff; background: #ef4444; padding: 2px 8px; border-radius: 999px; }
.ad-den-quem { display: flex; gap: 8px; align-items: baseline; justify-content: space-between; font-size: 12px; color: var(--muted); }
.ad-den-quem b { color: var(--text); font-size: 12.5px; }
.ad-den-texto { white-space: pre-wrap; word-break: break-word; }
.ad-den-vazio { color: var(--muted); font-size: 13px; font-style: italic; }
.ad-den-foto { display: block; max-width: 100%; max-height: 320px; border-radius: 10px; object-fit: contain; background: #000; }
.ad-den-cita { display: grid; gap: 2px; padding: 6px 9px; border-left: 3px solid var(--accent); border-radius: 6px; background: color-mix(in srgb, var(--accent) 8%, transparent); font-size: 12.5px; }
.ad-den-cita small { color: var(--accent); font-weight: 800; }
.ad-den-cartao { display: grid; gap: 4px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line); border-top: 4px solid var(--accent); background: var(--panel-2); }
.ad-den-cartao small { font-size: 11px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; color: var(--accent); }
.ad-den-cartao.aval { border-top-color: #f5b700; }
.ad-den-cartao.aval small { color: #c98500; }
.ad-den-cartao .estrelas { color: #f5b700; letter-spacing: 2px; font-size: 18px; }
.ad-den-cartao img { width: 100%; max-height: 160px; object-fit: cover; border-radius: 8px; }
.ad-den-cartao ul { margin: 2px 0; padding-left: 18px; font-size: 13px; }
.ad-den-ficha { display: grid; gap: 10px; padding: 14px; border-radius: 14px; border: 1px solid var(--line); background: var(--panel-2); }
.ad-den-ficha .cab { display: flex; gap: 12px; align-items: center; }
.ad-den-ficha .cab div { display: grid; gap: 2px; }
.ad-den-ficha .cab span { color: var(--muted); font-size: 12.5px; }
.ad-den-ficha .av { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex: none; }
.ad-den-fotos { display: flex; gap: 6px; flex-wrap: wrap; }
.ad-den-fotos img { width: 96px; height: 96px; object-fit: cover; border-radius: 10px; }
.ad-den-guardado { display: grid; gap: 2px; padding: 8px 12px; border-radius: 10px; background: var(--panel-2); border-left: 3px solid var(--line); font-size: 13px; white-space: pre-wrap; word-break: break-word; }
.ad-den-guardado small { color: var(--muted); font-weight: 700; font-size: 11.5px; }
.ad-den-guardado.relato { border-left-color: var(--accent); }
.ad-den .ad-acoes { justify-content: flex-end; }
.ad-den .hf-audio { min-width: 220px; color: var(--text); }
@media (max-width: 560px) { .ad-den-bolha { max-width: 92%; } }

/* ---------- chat da equipe no padrão da página de Mensagens (mesmas cores, tamanhos e ícones) ---------- */
.eq-chat { --chat-bg: #0b1216; --pattern: rgba(255,255,255,.035); --bubble-me: #00587a; --bubble-me-text: #eaf8ff; --bubble-other: #1a262e; --bubble-other-text: #e9eef1; --quote-bg: rgba(0,0,0,.22); --sombra-msg: 0 1px 1px rgba(0,0,0,.35); --campo: #1a262e;
  --eq-fundo: var(--chat-bg); --eq-meu: var(--bubble-me); --eq-outro: var(--bubble-other); height: calc(100dvh - 150px); min-height: 520px; }
:root[data-theme="light"] .eq-chat { --chat-bg: #e9eef1; --pattern: rgba(0,60,90,.05); --bubble-me: #d3f0fd; --bubble-me-text: #0a2330; --bubble-other: #ffffff; --bubble-other-text: #0f1b22; --quote-bg: rgba(0,40,60,.06); --sombra-msg: 0 1px 1px rgba(15,27,34,.12); --campo: #ffffff; --eq-meu: var(--bubble-me); }
/* lista */
.eq-lista-topo { display: flex; align-items: center; gap: 6px; padding: 14px 10px 8px 16px; }
.eq-lista-topo h3 { flex: 1; margin: 0; font-size: 21px; font-weight: 750; letter-spacing: -.2px; line-height: 1.15; }
.eq-lista-topo h3 span { display: block; color: var(--accent); font-weight: 600; font-size: 12px; letter-spacing: .6px; text-transform: uppercase; }
.eq-modos { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin: 2px 12px 10px; padding: 4px; border-radius: 14px; background: var(--panel-2); }
.eq-modos button { position: relative; display: flex; align-items: center; justify-content: center; gap: 7px; height: 38px; border: 0; border-radius: 10px; background: none; color: var(--muted); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.eq-modos button[aria-selected="true"] { background: var(--panel); color: var(--text); box-shadow: 0 1px 6px rgba(0,0,0,.18); }
.eq-modos button[data-modo="equipe"][aria-selected="true"] { color: var(--accent); }
.eq-modo-n { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: #ff3b5c; color: #fff; font-size: 11px; font-weight: 800; display: grid; place-items: center; }
.eq-modo-n[hidden] { display: none; }
.eq-pesquisa { position: relative; display: block; margin: 0 12px 8px; color: var(--muted); }
.eq-pesquisa .eq-ic { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); pointer-events: none; }
.eq-pesquisa input { width: 100%; height: 40px; border-radius: 12px; border: 1px solid transparent; background: var(--panel-2); color: var(--text); padding: 0 12px 0 38px; font: inherit; font-size: 14.5px; outline: none; }
.eq-pesquisa input:focus { border-color: var(--accent); background: var(--input); }
.eq-lista-itens { padding: 0 0 10px; gap: 0; }
.eq-item { gap: 12px; padding: 10px 14px; border-radius: 0; }
.eq-item.ativa { background: color-mix(in srgb, var(--accent) 12%, var(--panel)); }
.eq-item .ad-av { width: 52px; height: 52px; font-size: 17px; }
.eq-item .tx { border-bottom: 1px solid var(--line); padding: 4px 0 12px; margin-bottom: -10px; gap: 3px; }
.eq-item:last-child .tx { border-bottom-color: transparent; }
.eq-item .l1 strong { font-size: 15.5px; font-weight: 600; }
.eq-item .l1 small { font-size: 12px; }
.eq-item .l2 span { font-size: 13.5px; }
.eq-item.nao-lida .l1 strong { font-weight: 700; }
.eq-lista-vazia { display: grid; gap: 4px; padding: 40px 24px; text-align: center; color: var(--muted); line-height: 1.5; }
.eq-lista-vazia strong { color: var(--text); font-size: 15px; }
/* topo da conversa */
.eq-topo { gap: 10px; padding: 8px 8px 8px 10px; }
.eq-quem { gap: 12px; }
.eq-quem .ad-av { width: 42px; height: 42px; }
.eq-quem strong { font-size: 16px; font-weight: 650; }
.eq-quem small { font-size: 12px; margin-top: 1px; }
.eq-quem small.on { color: var(--accent); }
/* fundo da conversa com os pontinhos da página de Mensagens */
.eq-conversa { background: var(--chat-bg); }
.eq-conversa::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(var(--pattern) 1.2px, transparent 1.3px); background-size: 22px 22px; }
.eq-topo, .eq-busca, .eq-msgs, .eq-rodape { position: relative; z-index: 1; }
.eq-msgs { padding: 14px 6% 10px; gap: 2px; }
.eq-dia { margin: 12px 0 8px; font-weight: 600; box-shadow: var(--sombra-msg); }
/* balões */
.eq-linha { margin-top: 2px; }
.eq-linha:not(.junto) { margin-top: 10px; }
.eq-balao { max-width: min(72%, 560px); border-radius: 10px; background: var(--bubble-other); color: var(--bubble-other-text); box-shadow: var(--sombra-msg); font-size: 15px; line-height: 1.4; }
.eq-balao.meu { background: var(--bubble-me); color: var(--bubble-me-text); }
.eq-linha:not(.junto) .eq-balao:not(.meu) { border-top-left-radius: 3px; }
.eq-linha:not(.junto) .eq-balao.meu { border-top-right-radius: 3px; }
.eq-texto { font-size: 15px; }
.eq-hora { color: inherit; opacity: .72; }
.eq-cit { background: var(--quote-bg); color: inherit; }
.eq-cit span { color: inherit; opacity: .85; }
.eq-reac { border-color: var(--chat-bg); }
/* campo de digitar: clipe, texto, @ e microfone dentro; botão redondo com a seta */
.eq-rodape { background: var(--panel); border-top: 1px solid var(--line); padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); }
.eq-compor { gap: 6px; }
.eq-caixa { background: var(--campo); border: 1px solid var(--line); border-radius: 22px; padding: 0 6px 0 4px; box-shadow: none; }
.eq-caixa[hidden], .eq-gravando[hidden] { display: none; }
.eq-caixa .eq-icone { width: 38px; height: 38px; margin-bottom: 2px; }
.eq-caixa textarea { min-height: 42px; padding: 10px 6px; }
.eq-gravando { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; height: 46px; padding: 0 6px 0 14px; border-radius: 23px; background: var(--campo); border: 1px solid var(--line); }
.eq-grav-txt { flex: 1; font-size: 12.5px; }
.eq-principal { width: 46px; height: 46px; box-shadow: none; }
.eq-principal.vazio { background: color-mix(in srgb, var(--accent) 55%, var(--panel-2)); }
.eq-principal .eq-ic { transform: none !important; }
.eq-resp { margin: 0 0 8px; border-radius: 10px; background: var(--panel-2); border-left: 3px solid var(--accent); }
@media (max-width: 760px) {
  /* Celular: o chat é a página inteira (como Mensagens), abaixo da barra do painel. */
  .eq-chat, .eq-chat.aberta { position: fixed; z-index: 40; top: 60px; left: 0; right: 0; bottom: 0; height: auto; min-height: 0; border: 0; border-radius: 0; }
  .eq-msgs { padding: 10px 10px 8px; }
  .eq-balao { max-width: 84%; }
  .eq-rodape { padding: 8px 8px calc(8px + env(safe-area-inset-bottom)); }
}

/* minha foto no topo da lista do chat da equipe (com lápis) e foto do grupo */
.eq-eu { position: relative; flex: none; width: 44px; height: 44px; padding: 0; border: 0; background: none; border-radius: 50%; cursor: pointer; margin-right: 4px; }
.eq-eu .ad-av { width: 44px; height: 44px; font-size: 15px; }
.eq-eu-lapis { position: absolute; right: -3px; bottom: -3px; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--accent); color: #fff; border: 2px solid var(--panel); }
.eq-eu:focus-visible, .eq-foto-grupo:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.eq-foto-grupo { padding: 0; border: 0; background: none; border-radius: 50%; cursor: pointer; flex: none; }
.eq-av-grupo img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- chat da equipe: editar e apagar mensagens, lápis na foto da equipe ---------- */
.eq-menu-item.perigo, .eq-menu-item.perigo .eq-ic { color: #e5484d; }
.eq-balao.apagada { background: color-mix(in srgb, var(--panel) 88%, transparent); border: 1px dashed color-mix(in srgb, var(--muted) 55%, transparent); color: var(--muted); box-shadow: none; }
.eq-apagada-tx { display: flex; align-items: center; gap: 6px; font-style: italic; font-size: 14px; }
.eq-apagada-tx svg { flex: none; opacity: .8; }
.eq-ver-apagada { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; padding: 5px 10px; border-radius: 999px; border: 1px solid var(--line); background: var(--panel); color: var(--text); font: inherit; font-size: 12.5px; font-weight: 700; cursor: pointer; }
.eq-ver-apagada:hover, .eq-ver-apagada:focus-visible { border-color: var(--accent); outline: none; }
.eq-balao.apagada > .eq-hora { float: none; display: block; text-align: right; margin: 4px 0 0; top: 0; }
.eq-editada { border: 0; background: none; padding: 0 4px 0 0; margin: 0; font: inherit; color: inherit; cursor: pointer; text-decoration: underline dotted; text-underline-offset: 2px; }
.eq-foto-grupo, .eq-av-com-lapis { position: relative; display: inline-block; flex: none; }
.eq-lapis-p { width: 19px; height: 19px; right: -4px; bottom: -4px; cursor: pointer; }
.eq-lapis-p:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }

/* Cobrar resposta (reclamações): quem cobrou e quando */
.ad-cobrar { display: grid; gap: 4px; justify-items: start; }
.ad-cobrado { color: var(--muted); font-size: 11.5px; white-space: nowrap; }
.ad-cobrado[hidden] { display: none; }
/* Registro de ações: alvo legível e, no celular, cada ação vira um cartão */
.ad-alvo-sub { display: block; color: var(--muted); font-size: 11.5px; margin-top: 2px; }
.ad-registro .ad-reg-acao { font-weight: 700; }
@media (max-width: 760px) {
  .ad-registro { border: 0; background: none; overflow: visible; }
  .ad-registro table, .ad-registro tbody, .ad-registro tr, .ad-registro td { display: block; width: 100%; }
  .ad-registro tr:first-child { display: none; }
  .ad-registro tr { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; margin: 0 0 10px; padding: 12px 14px; border-radius: 16px; background: var(--panel); border: 1px solid var(--line); }
  .ad-registro td { padding: 0; border: 0; }
  .ad-registro .ad-reg-acao { grid-column: 1; font-size: 14.5px; }
  .ad-registro .ad-reg-quando { grid-column: 2; grid-row: 1; color: var(--muted); font-size: 12px; text-align: right; white-space: nowrap; }
  .ad-registro .ad-reg-quem { grid-column: 1 / -1; color: var(--muted); font-size: 12.5px; }
  .ad-registro .ad-reg-quem::before { content: "por "; }
  .ad-registro td[data-rot="Alvo"] { grid-column: 1 / -1; font-size: 14px; }
  .ad-registro .ad-reg-det { grid-column: 1 / -1; color: var(--muted); font-size: 13px; }
  .ad-registro .ad-reg-det:empty { display: none; }
}
/* Registro: nada passa do cartão (códigos longos quebram) e cada ação abre os detalhes */
.ad-registro td { overflow-wrap: anywhere; word-break: break-word; }
.ad-registro tr.clicavel { cursor: pointer; }
.ad-registro tr.clicavel:hover { background: var(--hover, rgba(127,127,127,.06)); }
.ad-reg-ver span { color: var(--accent); font-size: 12.5px; font-weight: 750; white-space: nowrap; }
.ad-acao-det { width: min(520px, 100%); }
.ad-acao-tag { display: inline-block; padding: 3px 10px; border-radius: 999px; background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--accent); font-size: 12px; font-weight: 800; }
.ad-acao-det h3 { margin: 8px 0 12px; overflow-wrap: anywhere; }
.ad-acao-dl { display: grid; grid-template-columns: 110px 1fr; gap: 8px 12px; margin: 0 0 14px; font-size: 14px; }
.ad-acao-dl dt { color: var(--muted); font-weight: 650; }
.ad-acao-dl dd { margin: 0; overflow-wrap: anywhere; }
.ad-acao-item { display: grid; gap: 4px; margin: 0 0 14px; padding: 12px 14px; border-radius: 14px; background: var(--panel-2, rgba(127,127,127,.08)); border: 1px solid var(--line); font-size: 13.5px; overflow-wrap: anywhere; }
.ad-acao-item span { color: var(--muted); }
.ad-acao-item q { margin-top: 4px; font-style: italic; }
@media (max-width: 760px) {
  .ad-registro { width: 100%; max-width: 100%; }
  .ad-registro tr { min-width: 0; }
  .ad-registro .ad-reg-ver { grid-column: 1 / -1; padding-top: 6px; border-top: 1px solid var(--line); margin-top: 4px; }
  .ad-acao-dl { grid-template-columns: 1fr; gap: 2px; }
  .ad-acao-dl dd { margin-bottom: 8px; }
}
/* Verificações: documento ao lado das conferências */
.ad-vf-corpo { display: grid; grid-template-columns: minmax(140px, 220px) 1fr; gap: 14px; margin: 6px 0 4px; }
@media (max-width: 640px) { .ad-vf-corpo { grid-template-columns: 1fr; } }
.ad-vf-doc { display: grid; gap: 4px; align-content: start; }
.ad-vf-doc img { width: 100%; max-height: 180px; object-fit: contain; border-radius: 12px; border: 1px solid var(--line); background: #000; cursor: zoom-in; }
.ad-vf-doc small { color: var(--muted); font-size: 11.5px; }
.ad-vf-semdoc { display: grid; place-items: center; min-height: 110px; padding: 12px; border-radius: 12px; border: 1.5px dashed var(--line); color: var(--muted); font-size: 12.5px; text-align: center; }
.ad-vf-confs { display: grid; gap: 6px; align-content: start; min-width: 0; }
.ad-vf-conf { display: flex; gap: 8px; align-items: flex-start; font-size: 13.5px; overflow-wrap: anywhere; }
.ad-vf-conf .ic { flex: none; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-size: 11px; font-weight: 900; background: var(--panel-2); color: var(--muted); }
.ad-vf-conf.ok .ic { background: color-mix(in srgb, #12a150 18%, transparent); color: #12a150; }
.ad-vf-conf.nao .ic { background: color-mix(in srgb, #e5484d 16%, transparent); color: #e5484d; }
.ad-vf-links { display: flex; flex-wrap: wrap; gap: 6px; }
.ad-vf-links a { padding: 3px 10px; border-radius: 999px; background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--accent); font-size: 12.5px; font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.ad-vf-zoom { display: grid; place-items: center; padding: 16px; cursor: zoom-out; }
.ad-vf-zoom img { max-width: 100%; max-height: 92vh; border-radius: 12px; }
.ad-vf-alerta { margin: 0 0 10px; padding: 10px 12px; border-radius: 12px; background: color-mix(in srgb, #e5484d 10%, transparent); border: 1px solid color-mix(in srgb, #e5484d 35%, transparent); color: var(--text); font-size: 13px; font-weight: 650; line-height: 1.45; }
.ad-vf .ad-bt:disabled { opacity: .45; cursor: not-allowed; }
.ad-vf-nota { margin: 4px 0 0; padding: 8px 12px; border-radius: 10px; background: var(--panel-2, #f3f5f8); color: var(--muted); font-size: 12.5px; line-height: 1.45; }

/* anexos do suporte no painel */
.ad-anexo-previa:empty { display: none; }
.ad-anexo-previa .ax-previa { margin: 8px 0 0; }
.ad-anexo-linha { display: flex; gap: 8px; margin-top: 8px; }
.ad-msg .ax-anexo { max-width: 240px; }

/* Registro e histórico: o que cada pessoa da equipe fez no dia (só donos) */
.ad-dia { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; }
.ad-dia .ad-bt { min-width: 40px; justify-content: center; }
.ad-dia-rot { min-width: 92px; text-align: center; font-size: 15px; text-transform: capitalize; }
.ad-dia input[type="date"] { width: auto; }
.ad-dia-resumo { margin: 0 0 10px; color: var(--muted); }
.ad-hist-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; }
.ad-hist-pessoa { display: grid; gap: 8px; width: 100%; padding: 14px; border-radius: 16px; border: 1px solid var(--line); background: var(--panel); text-align: left; cursor: pointer; }
.ad-hist-pessoa:hover { background: var(--hover); }
.ad-hist-pessoa.on { border-color: var(--accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent); }
.ad-hist-pessoa .linha { display: flex; align-items: center; gap: 10px; }
.ad-hist-pessoa .linha .ad-av.on { box-shadow: 0 0 0 2px var(--panel), 0 0 0 4px var(--st-bom); }
.ad-hist-pessoa .tx { flex: 1; min-width: 0; display: grid; }
.ad-hist-pessoa .tx b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ad-hist-pessoa .tx small, .ad-hist-pessoa .meta { color: var(--muted); font-size: 12.5px; }
.ad-hist-pessoa .n { text-align: center; } .ad-hist-pessoa .n strong { display: block; font-size: 22px; line-height: 1; } .ad-hist-pessoa .n span { font-size: 11px; color: var(--muted); }
.ad-hist-pessoa .tags { display: flex; flex-wrap: wrap; gap: 5px; }
.ad-hist-pessoa .tags span { padding: 3px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 700; background: var(--panel-2); border: 1px solid var(--line); }
.ad-hist-linha { margin-top: 12px; }
.ad-timeline { list-style: none; margin: 8px 0 0; padding: 0 0 0 14px; border-left: 2px solid var(--line); display: grid; gap: 2px; }
.ad-timeline li { position: relative; display: grid; grid-template-columns: 52px 1fr; gap: 2px 10px; padding: 8px 10px; border-radius: 12px; cursor: pointer; }
.ad-timeline li:hover, .ad-timeline li:focus-visible { background: var(--hover); outline: none; }
.ad-timeline li::before { content: ""; position: absolute; left: -21px; top: 13px; width: 10px; height: 10px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 3px var(--panel); }
.ad-timeline time { color: var(--muted); font-variant-numeric: tabular-nums; font-weight: 700; }
.ad-timeline span { grid-column: 2; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }

/* Planos: negociações e receita */
.ad-neg-msg { display: block; padding: 10px 12px; border-radius: 12px; background: var(--panel-2); border-left: 3px solid var(--st-bom); white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13.5px; quotes: none; }
.ad-receita .ad-grade { margin-top: 4px; }
.ad-pags { display: grid; }
.ad-pag { display: grid; grid-template-columns: 1fr auto; gap: 0 10px; padding: 10px 0; border-top: 1px solid var(--line); }
.ad-pag:first-child { border-top: 0; }
.ad-pag b { font-variant-numeric: tabular-nums; } .ad-pag small { color: var(--muted); }
.ad-neg-prova { display: grid; gap: 4px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line); background: var(--panel-2); }
.ad-neg-prova small { color: var(--muted); }

/* Registro → Todas as ações: quem é quem (fileira de pessoas da equipe e foto em cada ação) */
.ad-reg-pessoas { display: flex; gap: 8px; overflow-x: auto; padding: 2px 0 12px; scrollbar-width: none; }
.ad-reg-pessoas::-webkit-scrollbar { display: none; }
.ad-reg-pessoa { flex: none; display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px; border-radius: 999px; border: 1px solid var(--line); background: var(--panel); color: inherit; font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; }
.ad-reg-pessoa:first-child { padding-left: 12px; }
.ad-reg-pessoa b { min-width: 22px; padding: 1px 7px; border-radius: 999px; background: var(--panel-2, rgba(127,127,127,.15)); font-size: 12px; text-align: center; }
.ad-reg-pessoa.on { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 14%, var(--panel)); }
.ad-reg-pessoa .ad-av, .ad-reg-quem-lk .ad-av { width: 28px; height: 28px; font-size: 11px; flex: none; }
.ad-reg-quem-lk { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; font-weight: 700; }
.ad-reg-quem-lk:hover span { text-decoration: underline; }

/* Suporte em nível nacional: pegar o próximo, filas, ritmo da equipe, notas internas */
.ad-sup-proximo { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 4px 0 12px; padding: 12px 14px; border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--line)); border-radius: 16px; background: color-mix(in srgb, var(--accent) 7%, var(--panel)); }
.ad-sup-proximo > span { flex: 1 1 220px; color: var(--muted); font-size: 12.5px; line-height: 1.4; }
.ad-sup-filas { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.ad-sup-filas::-webkit-scrollbar { display: none; }
.ad-sup-filas .ad-chip { flex: 0 0 auto; white-space: nowrap; }
.ad-sup-ritmo, .ad-sup-notas { border: 1px solid var(--line); border-radius: 14px; background: var(--panel); margin-bottom: 12px; }
.ad-sup-ritmo > summary, .ad-sup-notas > summary { cursor: pointer; padding: 11px 14px; font-weight: 800; font-size: 13.5px; list-style: none; display: flex; align-items: center; gap: 8px; }
.ad-sup-ritmo > summary::-webkit-details-marker, .ad-sup-notas > summary::-webkit-details-marker { display: none; }
.ad-sup-ritmo > summary::after, .ad-sup-notas > summary::after { content: "▾"; margin-left: auto; color: var(--muted); transition: transform .2s; }
.ad-sup-ritmo[open] > summary::after, .ad-sup-notas[open] > summary::after { transform: rotate(180deg); }
.ad-sup-ritmo-l { display: grid; grid-template-columns: 30px 1fr auto; grid-template-rows: auto auto; column-gap: 10px; align-items: center; padding: 8px 14px; border-top: 1px solid var(--line); }
.ad-sup-ritmo-l > :first-child { grid-row: 1 / 3; width: 30px; height: 30px; }
.ad-sup-ritmo-l > span { font-weight: 700; font-size: 13.5px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ad-sup-ritmo-l > b { font-size: 12.5px; color: var(--accent); grid-row: 1 / 3; grid-column: 3; }
.ad-sup-ritmo-l > small { color: var(--muted); font-size: 11.5px; grid-column: 2; }
.ad-sup-notas { margin: 10px 0; background: color-mix(in srgb, #f5b400 6%, var(--panel)); border-color: color-mix(in srgb, #f5b400 35%, var(--line)); }
.ad-sup-notas > summary::before { content: "🔒"; font-size: 13px; }
.ad-sup-notas-l { display: grid; gap: 8px; padding: 0 14px 10px; max-height: 220px; overflow-y: auto; }
.ad-sup-nota { display: grid; gap: 2px; padding: 9px 11px; border-radius: 12px; background: var(--panel); border: 1px solid var(--line); overflow-wrap: anywhere; }
.ad-sup-nota > b { font-size: 12.5px; } .ad-sup-nota > span { font-size: 13.5px; line-height: 1.4; white-space: pre-wrap; } .ad-sup-nota > small { color: var(--muted); font-size: 11px; }
.ad-sup-notas > textarea { display: block; width: calc(100% - 28px); margin: 0 14px 8px; min-height: 64px; box-sizing: border-box; }
.ad-sup-notas > button { margin: 0 14px 12px; }
.ad-sup-notas .ad-vazio { padding: 12px; }
.ad-sup-fila-acoes { margin: 8px 0; }
@media (max-width: 640px) {
  .ad-sup-proximo { padding: 11px 12px; } .ad-sup-proximo > button { width: 100%; }
  .ad-anexo-linha { flex-wrap: wrap; }
  .ad-sup-fila-acoes > button { flex: 1 1 0; }
}

/* ---------- chat da equipe em nível nacional: canais por setor, situação de cada um, cartão de chamado ---------- */
.ad-ponto.pausa { background: #f5a400; }
.ad-ponto.fora { background: var(--panel); box-shadow: inset 0 0 0 2px var(--muted); }
.eq-status-linha { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 12px 10px; padding: 6px 6px 6px 12px; border: 1px solid var(--line); border-radius: 14px; font-size: 12.5px; color: var(--muted); }
.eq-status { display: inline-flex; align-items: center; gap: 7px; border: 0; background: var(--panel-2); color: var(--text); border-radius: 10px; padding: 6px 8px 6px 10px; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.eq-status:hover { background: var(--hover); }
.eq-status .ad-ponto, .eq-menu-item .ad-ponto, .ad-sup-disp .ad-ponto { position: static; display: inline-block; flex: none; border: 0; }
.eq-status .eq-ic { color: var(--muted); }
.eq-menu-item.atual { font-weight: 750; background: color-mix(in srgb, var(--accent) 10%, transparent); }
.eq-menu-item .ad-ponto { width: 11px; height: 11px; margin: 0 4px; }
.eq-av-canal { display: grid; place-items: center; color: #fff; background: var(--cor-canal, var(--accent)); }
.eq-av-canal .eq-ic { stroke-width: 2.3; }
.eq-topo .eq-av-canal { width: 40px; height: 40px; }
.eq-lista-sec { padding: 14px 16px 6px; font-size: 11.5px; font-weight: 800; letter-spacing: .7px; text-transform: uppercase; color: var(--muted); }
.eq-item.fora-canal .ad-av { opacity: .55; }
.eq-item.fora-canal .l1 strong { color: var(--muted); font-weight: 600; }
.eq-item .l1 strong .eq-ic { vertical-align: -2px; margin-left: 5px; color: var(--muted); }
.eq-nao.ponto { min-width: 10px; width: 10px; height: 10px; padding: 0; }
.eq-nao.ponto.mudo { background: var(--muted); }
.eq-bloqueio { position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 12px 14px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: var(--panel); color: var(--muted); font-size: 13.5px; }
.eq-bloqueio > span { flex: 1 1 200px; }
.eq-bloqueio .eq-ic { color: var(--accent); flex: none; }
.eq-chamados { display: grid; gap: 6px; margin-top: 6px; }
.eq-chamado { display: grid; gap: 3px; width: 100%; min-width: 220px; text-align: left; padding: 9px 11px; border-radius: 12px; border: 1px solid var(--line); border-left: 4px solid var(--accent); background: var(--panel); color: var(--text); font: inherit; cursor: pointer; }
.eq-chamado:hover { background: var(--hover); }
.eq-chamado .l1 { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--muted); }
.eq-chamado .l1 b { color: var(--text); letter-spacing: .3px; }
.eq-chamado > strong { font-size: 13.5px; line-height: 1.3; overflow-wrap: anywhere; }
.eq-chamado .l3 { font-size: 12px; color: var(--muted); }
.eq-chamado .l3.atrasado { color: var(--st-critico); font-weight: 700; }
.eq-prio { margin-left: auto; padding: 1px 7px; border-radius: 999px; font-size: 10.5px; font-weight: 800; background: var(--panel-2); color: var(--muted); }
.eq-prio.urgente { background: color-mix(in srgb, var(--st-critico) 15%, transparent); color: var(--st-critico); }
.eq-prio.alta { background: color-mix(in srgb, #f5a400 20%, transparent); color: #b07800; }
:root[data-theme="dark"] .eq-prio.alta { color: #f5b400; }
.ad-sup-disp { flex-basis: 100%; display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 12px; }
.ad-sup-disp .ad-ponto { width: 9px; height: 9px; }

/* Contas ligadas (mesmo WhatsApp, CNPJ, telefone ou nome no documento) */
.ad-ligada { display: grid; gap: 2px; width: 100%; padding: 8px 10px; border-radius: 10px; border: 1px solid color-mix(in srgb, #f59e0b 40%, var(--line)); background: color-mix(in srgb, #f59e0b 8%, var(--panel-2)); color: inherit; font: inherit; text-align: left; cursor: pointer; }
.ad-ligada span { font-size: 12px; color: var(--muted); }
/* caixinhas da janela (ad-multi) */
.ad-multi { display: flex; flex-wrap: wrap; gap: 8px; }
.ad-multi-op { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 999px; border: 1px solid var(--line); background: var(--input); font-size: 13.5px; font-weight: 700; color: var(--text); cursor: pointer; }
.ad-campo .ad-multi-op input { width: 16px; height: 16px; padding: 0; margin: 0; accent-color: var(--accent); }
.ad-multi-op:has(input:checked) { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 14%, var(--input)); }
.ad-campo-ajuda { order: 3; font-size: 12px; line-height: 1.4; color: var(--muted); }
.ad-campo[hidden] { display: none; }
.ad-neg-pede { display: flex; flex-wrap: wrap; gap: 6px; }
.ad-neg-pede span { padding: 3px 9px; border-radius: 999px; background: var(--panel-2, var(--input)); font-size: 12px; font-weight: 700; color: var(--muted); }
.ad-vf-doc img.ad-vf-selfie { margin-top: 6px; max-height: 200px; }
.ad-vf-semselfie { color: var(--warn, #f5a524) !important; }

/* avisos (toasts) organizados: largura certa, quebra equilibrada, sem palavra solta (02/11/2026) */
.ad-toast { width: max-content; max-width: min(calc(100% - 32px), 440px); box-sizing: border-box; text-align: center; line-height: 1.35; text-wrap: balance; overflow-wrap: break-word; animation: hfToastEntra .22s ease-out; }
@keyframes hfToastEntra { from { opacity: 0; transform: translate(-50%, 8px); } to { opacity: 1; transform: translate(-50%, 0); } }
@media (prefers-reduced-motion: reduce) { .toast, .vt-toast, .cm-toast, .ad-toast { animation: none !important; } }
/* E-mail da pessoa + se confirmou (lista de usuários) */
.ad-email-cel { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.ad-email-cel .ad-selo { font-size: 10.5px; padding: 2px 7px; }
