/* Linear · fatia C · Contatos + Configurações + Automações + páginas restantes
   Escopo: [data-theme] only. Tokens --color-* do protótipo Linear.
   Seletores = DOM real (hoje) OU wrappers dos fragments (quando substituídos).
   Cores sólidas. Estrutura da TELA 5 / 6 / 4, não só recolor. */

/* ── tokens locais (core declara --lx-*; o protótipo usa --color-*) ── */
[data-theme] #page-contatos,
[data-theme] #page-configuracoes,
[data-theme] #page-automacoes,
[data-theme] #page-agents,
[data-theme] #page-prospeccao,
[data-theme] #page-channels,
[data-theme] #page-ig-metrics,
[data-theme] #page-campanhas,
[data-theme] #page-estudio,
[data-theme] #page-products,
[data-theme] #page-meta-ads,
[data-theme] #page-minha-conta,
[data-theme] #page-manual,
[data-theme] #page-own-agencias,
[data-theme] #page-contas,
[data-theme] #page-own-faturamento,
[data-theme] #page-cdkey,
[data-theme] #page-own-equipe,
[data-theme] #page-own-config,
[data-theme] #page-own-manual,
[data-theme] #page-agc-subcontas,
[data-theme] #page-agc-faturamento,
[data-theme] #page-agc-config,
[data-theme] #acv {
  --color-void: var(--lx-void, #08090a);
  --color-carbon: var(--lx-carbon, #0f1011);
  --color-obsidian: var(--lx-obsidian, #161718);
  --color-graphite: var(--lx-graphite, #23252a);
  --color-smoke: var(--lx-smoke, #383b3f);
  --color-ash: var(--lx-ash, #62666d);
  --color-fog: var(--lx-fog, #8a8f98);
  --color-mist: var(--lx-mist, #d0d6e0);
  --color-bone: var(--lx-bone, #e5e5e6);
  --color-paper: var(--lx-paper, #ffffff);
  --color-acid-lime: #e4f222;
  --color-pulse-green: #27a644;
  --color-coral-red: #eb5757;
  --color-signal-teal: #02b8cc;
  --color-iris-violet: #6366f1;
  --color-lavender: #8b5cf6;
  --color-amber: #e0a33e;
  --r-sm: 2px;
  --r-badge: 4px;
  --r-md: 6px;
  --r-card: 12px;
  --r-pill: 9999px;
  --sh-subtle: rgb(35, 37, 42) 0px 0px 0px 1px inset;
  --sh-xl: rgba(8, 9, 10, .6) 0px 4px 32px 0px;
  --font-mono: "Berkeley Mono", "JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --lx-dots: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26'%3E%3Ccircle cx='1.2' cy='1.2' r='1.2' fill='%2323252a'/%3E%3C/svg%3E");
}

/* ============================================================
   TELA 5 · CONTATOS
   rail 218px · tabela densa · checkbox lime · bulk pill · rodapé · popover topo
   DOM atual: filhos diretos (ct-top / ct-tabs / ct-subtools / ct-body / ct-foot)
   Fragment: .ct-people > .ct-seg + .ct-main
   ============================================================ */
[data-theme] #page-contatos {
  background: var(--color-void);
  color: var(--color-mist);
  position: relative;
}
[data-theme] #page-contatos.active {
  display: grid;
  grid-template-columns: 218px minmax(0, 1fr);
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  grid-template-areas:
    "top top"
    "seg tools"
    "seg body"
    "seg foot";
  height: 100vh;
  overflow: hidden;
}
[data-theme] #page-contatos .ct-top { grid-area: top; }
[data-theme] #page-contatos .ct-tabs { grid-area: seg; }
[data-theme] #page-contatos .ct-subtools { grid-area: tools; }
[data-theme] #page-contatos .ct-body { grid-area: body; }
[data-theme] #page-contatos .ct-foot { grid-area: foot; }
[data-theme] #page-contatos .ct-bulkbar { grid-area: body; }

/* fragment: wrappers tomam o lugar do grid */
[data-theme] #page-contatos.active:has(.ct-people) {
  display: flex;
  flex-direction: column;
  grid-template-columns: none;
  grid-template-rows: none;
  grid-template-areas: none;
}
[data-theme] #page-contatos .ct-people {
  flex: 1;
  display: flex;
  min-height: 0;
  min-width: 0;
}
[data-theme] #page-contatos .ct-seg {
  flex: 0 0 218px;
  width: 218px;
  border-right: 1px solid var(--color-graphite);
  background: var(--color-carbon);
  padding: 12px 8px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 0;
}
[data-theme] #page-contatos .ct-seg .ct-tabs {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 2px;
  width: auto;
  padding: 0;
  overflow: visible;
  background: transparent;
  border: 0;
}
[data-theme] #page-contatos .ct-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  position: relative;
}
[data-theme] #page-contatos .ct-main .ct-subtools,
[data-theme] #page-contatos .ct-main .ct-body,
[data-theme] #page-contatos .ct-main .ct-foot {
  grid-area: auto;
}
[data-theme] #page-contatos .ct-micro {
  display: block;
  padding: 0 8px;
  margin-bottom: 6px;
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--color-ash);
}
[data-theme] #page-contatos .ct-seg-block { display: flex; flex-direction: column; gap: 2px; }
[data-theme] #page-contatos .ct-seg-foot { margin-top: auto; }
[data-theme] #page-contatos .ct-seg-tag {
  display: flex;
  align-items: center;
  gap: 9px;
  height: 30px;
  padding: 0 8px;
  border: 0;
  border-radius: var(--r-md);
  background: transparent;
  color: var(--color-fog);
  font-size: 13px;
  width: 100%;
  text-align: left;
  cursor: pointer;
}
[data-theme] #page-contatos .ct-seg-tag:hover {
  background: var(--lx-wash-hover);
  color: var(--color-mist);
}
[data-theme] #page-contatos .ct-seg-dot {
  width: 6px;
  height: 6px;
  border-radius: var(--r-pill);
  background: var(--color-iris-violet);
  flex: 0 0 auto;
}
[data-theme] #page-contatos .ct-seg-tag .ct-cnt {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--color-ash);
}

/* header · topbar 52px do prototipo (h1 + badge + busca + chip + ibtns + primario) */
[data-theme] #page-contatos .ct-top {
  background: var(--color-carbon);
  border-bottom: 1px solid var(--color-graphite);
  padding: 0 20px;
  min-height: 52px;
  height: 52px;
  gap: 12px;
  flex-wrap: nowrap;
}
[data-theme] #page-contatos .ct-h1 {
  font-size: 24px;
  line-height: 1.33;
  letter-spacing: -.288px;
  font-weight: 510;
  color: var(--color-paper);
  margin: 0;
  white-space: nowrap;
}
[data-theme] #page-contatos .ct-badge {
  display: inline-flex;
  align-items: center;
  height: 20px;
  padding: 0 6px;
  border-radius: var(--r-badge);
  background: var(--lx-wash-hover);
  color: var(--color-fog);
  font-size: 12px;
  line-height: 1.4;
  white-space: nowrap;
}
[data-theme] #page-contatos .ct-status {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: -.013em;
  color: var(--color-ash);
  white-space: nowrap;
}
[data-theme] #page-contatos .ct-searchbox {
  width: 260px;
  min-width: 0;
  flex: 0 0 auto;
  height: 32px;
  padding: 0 10px;
  border-radius: var(--r-md);
  background: var(--lx-wash-hover);
  border: 1px solid var(--lx-wash-active);
  box-shadow: none;
}
[data-theme] #page-contatos .ct-searchbox:focus-within {
  border-color: var(--color-mist);
  box-shadow: none;
}
[data-theme] #page-contatos .ct-searchbox svg {
  width: 14px;
  height: 14px;
  color: var(--color-fog);
}
[data-theme] #page-contatos .ct-searchbox input { color: var(--color-mist); font-size: 13px; }
[data-theme] #page-contatos .ct-searchbox input::placeholder { color: var(--color-ash); }
[data-theme] #page-contatos .ct-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 28px;
  padding: 0 8px;
  border-radius: var(--r-md);
  font-size: 12px;
  color: var(--color-mist);
  border: 1px solid var(--color-graphite);
  background: transparent;
  cursor: pointer;
  white-space: nowrap;
}
[data-theme] #page-contatos .ct-chip:hover {
  background: var(--lx-wash-hover);
  border-color: var(--color-smoke);
}
[data-theme] #page-contatos .ct-chip svg { width: 14px; height: 14px; flex: 0 0 auto; }
[data-theme] #page-contatos .ct-chip .ct-num {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--color-ash);
}
[data-theme] #page-contatos .ct-ibtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  border: 0;
  border-radius: var(--r-md);
  background: transparent;
  color: var(--color-fog);
  cursor: pointer;
}
[data-theme] #page-contatos .ct-ibtn:hover {
  background: var(--lx-wash-hover-2);
  color: var(--color-bone);
}
[data-theme] #page-contatos .ct-ibtn svg { width: 16px; height: 16px; }
[data-theme] #page-contatos .ct-btn {
  height: 32px;
  padding: 0 12px;
  border-radius: var(--r-md);
  font-size: 13px;
  font-weight: 510;
  color: var(--color-mist);
  background: transparent;
  border: 1px solid var(--color-graphite);
}
[data-theme] #page-contatos .ct-btn:hover {
  background: var(--lx-wash-hover);
  border-color: var(--color-smoke);
  color: var(--color-bone);
}
[data-theme] #page-contatos .ct-btn.ct-ghost {
  background: transparent;
  border-color: var(--color-graphite);
}
[data-theme] #page-contatos .ct-btn.ct-primary {
  background: var(--color-acid-lime);
  color: var(--lx-on-lime);
  border-color: var(--color-acid-lime);
  font-weight: 590;
  box-shadow: none;
}
[data-theme] #page-contatos .ct-btn.ct-primary:hover {
  background: var(--lx-acid-lime-hi);
  border-color: var(--lx-acid-lime-hi);
  color: var(--lx-on-lime);
  filter: none;
}

/* rail de segmentos (DOM atual: #ct-tabs é o rail via grid-area) */
[data-theme] #page-contatos .ct-tabs {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 2px;
  width: 218px;
  padding: 12px 8px;
  overflow-x: hidden;
  overflow-y: auto;
  background: var(--color-carbon);
  border-right: 1px solid var(--color-graphite);
  border-bottom: 0;
}
[data-theme] #page-contatos .ct-tab,
[data-theme] #page-contatos .ct-tab-add {
  display: flex;
  align-items: center;
  gap: 9px;
  height: 30px;
  padding: 0 8px;
  margin: 0;
  border-radius: var(--r-md);
  border-bottom: 0;
  font-size: 13px;
  font-weight: 400;
  color: var(--color-fog);
  width: 100%;
  background: transparent;
  border: 0;
  text-align: left;
  cursor: pointer;
}
[data-theme] #page-contatos .ct-tab:hover,
[data-theme] #page-contatos .ct-tab-add:hover {
  background: var(--lx-wash-hover);
  color: var(--color-mist);
}
[data-theme] #page-contatos .ct-tab.on {
  background: var(--lx-wash-hover-2);
  color: var(--color-paper);
  font-weight: 510;
  border-bottom-color: transparent;
}
[data-theme] #page-contatos .ct-tab.on::after { display: none; }
[data-theme] #page-contatos .ct-tab-ic,
[data-theme] #page-contatos .ct-tab svg,
[data-theme] #page-contatos .ct-tab-add svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  color: currentColor;
}
[data-theme] #page-contatos .ct-tab .ct-cnt {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--color-ash);
  background: transparent;
  padding: 0;
  border-radius: 0;
  font-weight: 400;
}
[data-theme] #page-contatos .ct-tab.on .ct-cnt {
  background: transparent;
  color: var(--color-ash);
}
[data-theme] #page-contatos .ct-tab.star svg { color: var(--lx-amber); }

/* subtoolbar · barra fina de filtros ativos + contagem (topbar2 do prototipo) */
[data-theme] #page-contatos .ct-subtools {
  background: var(--color-carbon);
  border-bottom: 1px solid var(--color-graphite);
  padding: 5px 20px;
  min-height: 36px;
  flex-wrap: nowrap;
}
[data-theme] #page-contatos #ct-activefilters { display: flex; gap: 7px; flex-wrap: wrap; }
[data-theme] #page-contatos .ct-pill {
  height: 28px;
  padding: 0 8px;
  border-radius: var(--r-md);
  font-size: 12px;
  color: var(--color-mist);
  background: transparent;
  border: 1px solid var(--color-graphite);
}
[data-theme] #page-contatos .ct-pill:hover {
  background: var(--lx-wash-hover);
  border-color: var(--color-smoke);
  color: var(--color-bone);
}
[data-theme] #page-contatos .ct-pill.act {
  border-color: rgba(var(--lx-lime-rgb),.5);
  color: var(--color-paper);
  background: rgba(var(--lx-lime-rgb),.06);
}
[data-theme] #page-contatos .ct-count-info { color: var(--color-ash); margin-left: auto; }
[data-theme] #page-contatos .ct-count-info b,
[data-theme] #page-contatos .ct-num {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  letter-spacing: -.013em;
  color: var(--color-mist);
  font-weight: 400;
}

/* bulk · pill flutuante no rodapé central do main */
[data-theme] #page-contatos .ct-bulkbar {
  position: absolute;
  left: 50%;
  bottom: 56px;
  transform: translateX(-50%);
  z-index: 9;
  width: max-content;
  max-width: calc(100% - 40px);
  display: none;
}
[data-theme] #page-contatos .ct-bulkbar.show {
  display: flex;
  align-items: center;
  height: 36px;
  padding: 0 12px;
  gap: 10px;
  border: 0;
  border-radius: var(--r-pill);
  background: var(--color-obsidian);
  box-shadow: var(--sh-subtle), var(--sh-xl);
  animation: none;
}
[data-theme] #page-contatos .ct-selcount {
  font-weight: 510;
  color: var(--color-paper);
  font-size: 12px;
}
[data-theme] #page-contatos .ct-selcount .ct-num {
  background: transparent;
  color: var(--color-paper);
  padding: 0;
  font-family: var(--font-mono);
}
[data-theme] #page-contatos .ct-bsep {
  width: 1px;
  height: 18px;
  background: var(--color-graphite);
}
[data-theme] #page-contatos .ct-bbtn {
  height: 26px;
  padding: 0 8px;
  border-radius: var(--r-md);
  font-size: 12px;
  color: var(--color-fog);
  background: transparent;
  border-color: transparent;
}
[data-theme] #page-contatos .ct-bbtn:hover {
  background: var(--lx-wash-hover);
  color: var(--color-bone);
  border-color: transparent;
}
[data-theme] #page-contatos .ct-bbtn.ct-danger:hover {
  background: rgba(var(--lx-coral-rgb),.1);
  border-color: rgba(var(--lx-coral-rgb),.45);
  color: var(--color-coral-red);
}

/* tabela densa · grid de colunas · linhas void · hover obsidian */
[data-theme] #page-contatos .ct-body {
  background: var(--color-void);
  min-height: 0;
  overflow: hidden;
}
[data-theme] #page-contatos .ct-tablewrap {
  background: var(--color-void);
  overflow: auto;
  height: 100%;
  padding-bottom: 16px;
}
/* Item 11 — a operability (subaccount-operability.js) faz page.prepend de
   #ops-contacts-controls como 1o filho de #page-contatos: uma barra órfã no topo,
   fora do grid Linear, que duplica "Novo contato" e empurra o layout (rodapé
   cobrindo a última linha). O UI Linear (theme-linear-contatos.js) é o canônico,
   então a barra legada some. HANDOFF: exportar/importar CSV só existia nessa
   barra; para preservar, theme-linear-contatos.js (fora da zona) deve expor esses
   controles no toolbar Linear. */
[data-theme] #page-contatos > #ops-contacts-controls { display: none !important; }
[data-theme] #page-contatos .ct-table {
  font-size: 13px;
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
}
[data-theme] #page-contatos .ct-table thead th {
  position: sticky;
  top: 0;
  z-index: 3;
  background: var(--color-carbon);
  height: 34px;
  padding: 0 12px;
  font-size: 11px;
  font-weight: 510;
  letter-spacing: .03em;
  text-transform: none;
  color: var(--color-ash);
  border-bottom: 1px solid var(--color-graphite);
  white-space: nowrap;
}
[data-theme] #page-contatos .ct-table thead th.ct-sortable:hover { color: var(--color-fog); }
[data-theme] #page-contatos .ct-table thead th.ct-sorted .ct-sort { color: var(--color-mist); }
[data-theme] #page-contatos .ct-table thead th:first-child,
[data-theme] #page-contatos .ct-table tbody td:first-child { padding-left: 14px; }
[data-theme] #page-contatos .ct-table thead th.ct-col-money,
[data-theme] #page-contatos .ct-table tbody td.ct-col-money { text-align: right; }
[data-theme] #page-contatos .ct-table thead th.ct-money-h { text-align: right; }
[data-theme] #page-contatos .ct-table tbody td {
  height: 44px;
  padding: 0 12px;
  border-bottom: 1px solid var(--color-graphite);
  color: var(--color-mist);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  background: var(--color-void);
  vertical-align: middle;
}
[data-theme] #page-contatos .ct-table tbody tr { transition: background .1s ease; }
[data-theme] #page-contatos .ct-table tbody tr:hover td { background: var(--lx-wash-hover); }
[data-theme] #page-contatos .ct-table tbody tr.sel td { background: rgba(var(--lx-ink-rgb),.045); }

[data-theme] #page-contatos .ct-cb {
  width: 15px;
  height: 15px;
  border-radius: var(--r-badge);
  border: 1px solid var(--color-smoke);
  background: transparent;
}
[data-theme] #page-contatos .ct-cb:hover { border-color: var(--color-fog); }
[data-theme] #page-contatos .ct-cb.ck {
  background: var(--color-acid-lime);
  border-color: var(--color-acid-lime);
}
[data-theme] #page-contatos .ct-cb.ck::after { border-color: var(--color-void); }

[data-theme] #page-contatos .ct-cell-name { display: flex; align-items: center; gap: 9px; min-width: 0; }
[data-theme] #page-contatos .ct-cav {
  width: 24px;
  height: 24px;
  border-radius: var(--r-pill);
  font-size: 10px;
  font-weight: 590;
  letter-spacing: .02em;
  color: var(--lx-on-lime);
  background: var(--avatar-color, var(--color-iris-violet));
  box-shadow: none;
}
[data-theme] #page-contatos .ct-nm-main {
  font-weight: 510;
  color: var(--color-bone);
  max-width: none;
}
[data-theme] #page-contatos .ct-nm-sub,
[data-theme] #page-contatos .ct-nm-sub .em,
[data-theme] #page-contatos .ct-email-cell,
[data-theme] #page-contatos .ct-mono-cell,
[data-theme] #page-contatos .ct-src-name,
[data-theme] #page-contatos .ct-date-cell,
[data-theme] #page-contatos .ct-dim-dash { color: var(--color-ash); }
[data-theme] #page-contatos .ct-nm-sub .em,
[data-theme] #page-contatos .ct-mono-cell,
[data-theme] #page-contatos .ct-date-cell,
[data-theme] #page-contatos .ct-email-cell {
  font-family: var(--font-mono);
  letter-spacing: -.013em;
  font-size: 11px;
}
[data-theme] #page-contatos .ct-money {
  font-family: var(--font-mono);
  color: var(--lx-amber);
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}
[data-theme] #page-contatos .ct-val-force {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
[data-theme] #page-contatos .ct-strength {
  display: inline-flex;
  align-items: flex-end;
  gap: 2px;
  height: 14px;
}
[data-theme] #page-contatos .ct-strength i {
  display: block;
  width: 3px;
  border-radius: 1px;
  background: var(--color-graphite);
}
[data-theme] #page-contatos .ct-strength i:nth-child(1) { height: 4px; }
[data-theme] #page-contatos .ct-strength i:nth-child(2) { height: 7px; }
[data-theme] #page-contatos .ct-strength i:nth-child(3) { height: 10px; }
[data-theme] #page-contatos .ct-strength i:nth-child(4) { height: 14px; }
[data-theme] #page-contatos .ct-strength i.f { background: var(--color-mist); }

[data-theme] #page-contatos .ct-tag {
  display: inline-flex;
  align-items: center;
  height: 20px;
  padding: 0 6px;
  border-radius: var(--r-badge);
  font-size: 11px;
  font-weight: 400;
  gap: 5px;
  border: 0;
  background: var(--lx-wash-hover);
  color: var(--color-fog);
}
/* status na tabela vira badge com dot (prototipo) */
[data-theme] #page-contatos .ct-table .ct-tag::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: var(--r-pill);
  background: currentColor;
  flex: 0 0 auto;
}
[data-theme] #page-contatos .ct-tag.t-win { background: var(--lx-wash-green); color: var(--lx-green-text); }
[data-theme] #page-contatos .ct-tag.t-imersao { background: var(--lx-wash-lavender); color: var(--lx-lavender-text); }
[data-theme] #page-contatos .ct-tag.t-hot { background: var(--lx-wash-coral); color: var(--lx-coral-text); }
[data-theme] #page-contatos .ct-tag.t-client { background: var(--lx-wash-teal); color: var(--lx-teal-text); }
[data-theme] #page-contatos .ct-tag.t-ig { background: var(--lx-wash-violet); color: var(--lx-violet-text); }
[data-theme] #page-contatos .ct-tag.t-warn { background: rgba(var(--lx-amber-rgb),.16); color: var(--lx-amber); }
[data-theme] #page-contatos .ct-tag.t-owner { background: rgba(var(--lx-lime-rgb),.14); color: var(--lx-lime-ink); }
[data-theme] #page-contatos .ct-tag.t-mute { background: var(--lx-wash-hover); color: var(--color-fog); }
[data-theme] #page-contatos .ct-tag-more { color: var(--color-ash); }
[data-theme] #page-contatos .ct-row-actions { opacity: 1; }
[data-theme] #page-contatos .ct-ract {
  border-radius: var(--r-md);
  color: var(--color-fog);
}
[data-theme] #page-contatos .ct-ract:hover {
  background: var(--lx-wash-hover-2);
  color: var(--color-bone);
}

/* rodapé de agregação */
[data-theme] #page-contatos .ct-foot {
  height: 40px;
  padding: 0 16px;
  gap: 20px;
  background: var(--color-carbon);
  border-top: 1px solid var(--color-graphite);
  font-size: 12px;
  color: var(--color-ash);
  flex-shrink: 0;
}
[data-theme] #page-contatos .ct-foot .ct-num,
[data-theme] #page-contatos .ct-foot b {
  font-family: var(--font-mono);
  letter-spacing: -.013em;
  font-variant-numeric: tabular-nums;
  color: var(--color-mist);
  font-weight: 400;
}
[data-theme] #page-contatos .ct-foot .ct-money { color: var(--lx-amber); }
[data-theme] #page-contatos .ct-foot .ct-mono-dim {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: -.013em;
  color: var(--color-ash);
  white-space: nowrap;
}
[data-theme] #page-contatos .ct-foot .ct-pager { margin-left: 0; }
[data-theme] #page-contatos .ct-pgsel {
  height: 26px;
  padding: 0 8px;
  border-radius: var(--r-md);
  background: var(--lx-wash-hover);
  border: 1px solid var(--lx-wash-active);
  color: var(--color-mist);
  font-family: var(--font-mono);
}
[data-theme] #page-contatos .ct-pg {
  min-width: 28px;
  height: 28px;
  border-radius: var(--r-md);
  background: transparent;
  border: 1px solid var(--color-graphite);
  color: var(--color-fog);
}
[data-theme] #page-contatos .ct-pg:hover {
  background: var(--lx-wash-hover);
  color: var(--color-bone);
}
[data-theme] #page-contatos .ct-pg.on {
  background: var(--color-acid-lime);
  border-color: var(--color-acid-lime);
  color: var(--lx-on-lime);
}

[data-theme] #page-contatos .ct-empty { color: var(--color-ash); }
[data-theme] #page-contatos .ct-empty .ico {
  background: var(--color-obsidian);
  border: 0;
  border-radius: var(--r-card);
  box-shadow: var(--sh-subtle);
}
[data-theme] #page-contatos .ct-empty h3 { color: var(--color-bone); }

/* popover leve ancorado ao topo · NÃO é o drawer */
[data-theme] #page-contatos .ct-pop {
  position: absolute;
  top: 56px;
  left: 50%;
  transform: translate(-50%, -8px);
  opacity: 0;
  pointer-events: none;
  width: 428px;
  max-width: calc(100% - 32px);
  background: var(--color-obsidian);
  border-radius: var(--r-card);
  box-shadow: var(--sh-subtle), var(--sh-xl);
  z-index: 40;
  transition: opacity .14s ease, transform .14s ease;
}
[data-theme] #page-contatos .ct-pop.on {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}
[data-theme] #page-contatos .ct-pop-h {
  padding: 12px 14px;
  border-bottom: 1px solid var(--color-graphite);
  display: flex;
  align-items: center;
  gap: 8px;
}
[data-theme] #page-contatos .ct-pop-title {
  font-size: 15px;
  font-weight: 510;
  color: var(--color-bone);
}
[data-theme] #page-contatos .ct-pop-ic {
  width: 16px;
  height: 16px;
  color: var(--color-fog);
}
[data-theme] #page-contatos .ct-pop-x {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: var(--r-md);
  background: transparent;
  color: var(--color-fog);
  cursor: pointer;
  display: grid;
  place-items: center;
}
[data-theme] #page-contatos .ct-pop-x:hover { background: var(--lx-wash-hover-2); color: var(--color-bone); }
[data-theme] #page-contatos .ct-pop-x svg { width: 16px; height: 16px; }
[data-theme] #page-contatos .ct-pop-b {
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
[data-theme] #page-contatos .ct-pop-row { display: flex; gap: 8px; }
[data-theme] #page-contatos .ct-pop-row > div { flex: 1; min-width: 0; }
[data-theme] #page-contatos .ct-pop-l {
  font-size: 10px;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--color-ash);
  display: block;
  margin: 0 0 5px;
}
[data-theme] #page-contatos .ct-pop-inp {
  width: 100%;
  height: 32px;
  padding: 0 10px;
  border-radius: var(--r-md);
  background: var(--lx-wash-hover);
  border: 1px solid var(--lx-wash-active);
  font-size: 13px;
  color: var(--color-mist);
}
[data-theme] #page-contatos .ct-pop-inp:focus { border-color: var(--color-mist); outline: 0; }
[data-theme] #page-contatos .ct-pop-inp::placeholder { color: var(--color-ash); }
[data-theme] #page-contatos .ct-pop-f {
  padding: 10px 14px;
  border-top: 1px solid var(--color-graphite);
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: flex-end;
}

/* drawers · sheet à direita (não viram popover) */
[data-theme] #page-contatos .ct-scrim {
  background: rgba(8, 9, 10, .45);
  backdrop-filter: none;
}
[data-theme] #page-contatos .ct-drawer,
[data-theme] #page-contatos .ct-drawer.ct-wide {
  position: fixed;
  top: 0;
  right: 0;
  left: auto;
  height: 100vh;
  width: 420px;
  max-width: 92vw;
  border: 0;
  border-left: 1px solid var(--color-graphite);
  border-radius: 0;
  background: var(--color-obsidian);
  box-shadow: var(--sh-xl);
  transform: translateX(100%);
  opacity: 1;
  pointer-events: auto;
  transition: transform .3s cubic-bezier(.2, .85, .2, 1);
  z-index: 300; /* escala em theme-linear-core.css: drawer acima da página, abaixo de modal/toast globais */
}
[data-theme] #page-contatos .ct-drawer.ct-wide { width: 560px; }
[data-theme] #page-contatos .ct-drawer.show,
[data-theme] #page-contatos .ct-drawer.ct-wide.show {
  transform: none;
  opacity: 1;
  pointer-events: auto;
}
[data-theme] #page-contatos .ct-dhead {
  padding: 12px 14px;
  border-bottom: 1px solid var(--color-graphite);
}
[data-theme] #page-contatos .ct-dhead h2 {
  font-size: 15px;
  font-weight: 510;
  color: var(--color-bone);
}
[data-theme] #page-contatos .ct-close {
  width: 28px;
  height: 28px;
  border-radius: var(--r-md);
  border: 0;
  color: var(--color-fog);
}
[data-theme] #page-contatos .ct-close:hover {
  background: var(--lx-wash-hover-2);
  color: var(--color-bone);
}
[data-theme] #page-contatos .ct-dbody { padding: 14px; }
[data-theme] #page-contatos .ct-dfoot {
  padding: 10px 14px;
  border-top: 1px solid var(--color-graphite);
  justify-content: flex-end;
}
[data-theme] #page-contatos .ct-finput,
[data-theme] #page-contatos .cf-input,
[data-theme] #page-contatos .ct-note-input {
  height: 32px;
  padding: 0 10px;
  border-radius: var(--r-md);
  background: var(--lx-wash-hover);
  border: 1px solid var(--lx-wash-active);
  color: var(--color-mist);
  box-shadow: none;
}
[data-theme] #page-contatos .ct-note-input { height: auto; padding: 8px 10px; }
[data-theme] #page-contatos .ct-finput:focus,
[data-theme] #page-contatos .cf-input:focus,
[data-theme] #page-contatos .ct-note-input:focus {
  border-color: var(--color-mist);
  box-shadow: none;
}
[data-theme] #page-contatos .ct-logic-toggle { border-color: var(--color-graphite); border-radius: var(--r-md); }
[data-theme] #page-contatos .ct-logic-toggle button { background: transparent; color: var(--color-fog); }
[data-theme] #page-contatos .ct-logic-toggle button.on {
  background: var(--lx-wash-hover-2);
  color: var(--color-paper);
}
[data-theme] #page-contatos .ct-fchip {
  border-color: var(--color-graphite);
  background: transparent;
  color: var(--color-fog);
  border-radius: var(--r-md);
}
[data-theme] #page-contatos .ct-fchip.on {
  background: rgba(var(--lx-lime-rgb),.06);
  border-color: rgba(var(--lx-lime-rgb),.5);
  color: var(--color-paper);
}
[data-theme] #page-contatos .ct-fblock > label { color: var(--color-ash); }
[data-theme] #page-contatos .ct-dt-name { color: var(--color-bone); }
[data-theme] #page-contatos .ct-dt-meta,
[data-theme] #page-contatos .ct-kv dt,
[data-theme] #page-contatos .ct-dt-sec-title { color: var(--color-ash); }
[data-theme] #page-contatos .ct-kv dd { color: var(--color-mist); }
[data-theme] #page-contatos .ct-qa {
  background: var(--color-obsidian);
  border: 0;
  border-radius: var(--r-card);
  box-shadow: var(--sh-subtle);
  color: var(--color-fog);
}
[data-theme] #page-contatos .ct-qa:hover {
  background: var(--lx-wash-hover);
  color: var(--color-bone);
}
[data-theme] #page-contatos .ct-dt-sec-title .ln { background: var(--color-graphite); }

[data-theme] #page-contatos .cf-toggle {
  width: 38px;
  height: 22px;
  background: var(--color-graphite);
}
[data-theme] #page-contatos .cf-toggle::after {
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  background: var(--color-fog);
  border: 0;
}
[data-theme] #page-contatos .cf-toggle.on { background: var(--color-acid-lime); }
[data-theme] #page-contatos .cf-toggle.on::after {
  transform: translateX(16px);
  background: var(--color-void);
}
[data-theme] #page-contatos .cf-radio { color: var(--color-mist); }
[data-theme] #page-contatos .cf-radio input[type="radio"] { accent-color: var(--color-acid-lime); }
[data-theme] #page-contatos .cf-ftype {
  background: var(--lx-wash-hover);
  color: var(--color-fog);
  border-radius: var(--r-badge);
}
[data-theme] #page-contatos .cf-defrow { border-bottom-color: var(--color-graphite); }
[data-theme] #page-contatos .cf-defname { color: var(--color-bone); }

[data-theme] #page-contatos .ct-toast {
  background: var(--color-void);
  border: 1px solid var(--color-smoke);
  border-radius: var(--r-md);
  color: var(--color-mist);
  box-shadow: var(--sh-xl);
}
[data-theme] #page-contatos .ct-toast svg { color: var(--color-pulse-green); }

@media (max-width: 900px) {
  [data-theme] #page-contatos.active,
  [data-theme] #page-contatos.active:has(.ct-people) {
    display: flex;
    flex-direction: column;
    grid-template-columns: none;
    grid-template-areas: none;
  }
  [data-theme] #page-contatos .ct-people { flex-direction: column; }
  [data-theme] #page-contatos .ct-seg,
  [data-theme] #page-contatos .ct-tabs {
    flex-direction: row;
    width: auto;
    flex: 0 0 auto;
    height: auto;
    padding: 10px 14px 0;
    border-right: 0;
    border-bottom: 1px solid var(--color-graphite);
    overflow-x: auto;
    overflow-y: hidden;
  }
  [data-theme] #page-contatos .ct-tab { width: auto; }
  [data-theme] #page-contatos .ct-pop { top: 12px; width: calc(100% - 24px); }
}
