/* ============================================================
   Contador One — Densidade compacta / visual "clean" (apps internos)
   Camada compartilhada no estilo de interfaces de operação:
   fontes menores, MENOS negrito, bordas 1px no lugar de sombras,
   cabeçalhos discretos e cinzas suaves — mantendo a identidade
   Contador One (laranja, Ubuntu, marca).

   Incluída DEPOIS dos CSS do app em: crm.html, admissao.html,
   abertura.html e indicadores.html (link id="compactCss" —
   o botão de densidade da barra liga/desliga).
   ============================================================ */

/* ---------- base: tipografia e controles ---------- */
.main #view { font-size: 12.5px; }
.btn { padding: 5px 11px; font-size: 12px; border-radius: 6px; font-weight: 500; }
.btn-sm { padding: 4px 8px; font-size: 11.5px; }
.icon-btn { width: 26px; height: 26px; border-radius: 6px; }

/* menos negrito em todo lugar: 700 vira 600 nos títulos, 500 no corpo */
.main #view h1, .main #view h2, .main #view h3 { font-weight: 600; }
.main #view b { font-weight: 600; }

/* ---------- barra superior mais discreta (apps Kanban: body.c1-shell-compact) ---------- */
body.c1-shell-compact .pb-wrap { height: 54px; }
body.c1-shell-compact .pb-wrap .brand img { height: 22px; }
body.c1-shell-compact .pb-prod { font-size: 13px; font-weight: 500; }
body.c1-shell-compact .pb-toggle { width: 31px; height: 31px; }
body.c1-shell-compact .pb-user .av { width: 29px; height: 29px; font-size: 12px; }
body.c1-shell-compact .pb-user .nm { font-size: 12.5px; font-weight: 500; }
body.c1-shell-compact .pb-user .rl { font-size: 10.5px; }
body.c1-shell-compact .side, body.c1-shell-compact .shell .side { top: 54px; min-height: calc(100vh - 54px); }
body.c1-shell-compact #view { min-height: calc(100vh - 54px); }

/* ---------- navegação lateral (só apps Kanban — os demais têm menu próprio) ---------- */
body.c1-shell-compact .side { width: 178px; padding: 10px 8px; }
body.c1-shell-compact .nav-i { padding: 6px 10px; font-size: 12.5px; gap: 8px; font-weight: 400; }
body.c1-shell-compact .nav-i.active { font-weight: 600; }
body.c1-shell-compact .nav-i svg { width: 15px; height: 15px; }

/* ---------- páginas de conteúdo (Patrimônio / Empréstimos / Ficha / Organograma:
   body.c1-page-compact) — paddings e tabelas de dados mais densos ---------- */
body.c1-page-compact #view { padding-top: 18px; padding-bottom: 60px; }
body.c1-page-compact #view table th { padding: 6px 10px; font-size: 10.5px; }
body.c1-page-compact #view table td { padding: 6px 10px; font-size: 12.5px; }
body.c1-page-compact .nav-i { font-size: 12.5px; font-weight: 400; }
body.c1-page-compact .nav-i.active { font-weight: 600; }

/* ---------- Kanban (CRM / Admissão / Abertura) ---------- */
.crm-board { padding: 8px 14px 20px; gap: 8px; }
.crm-board-flow { gap: 8px; }
.crm-board-bar { padding: 12px 16px 8px; }
.crm-board-title h1 { font-size: 17px; font-weight: 600; letter-spacing: -0.01em; }
.crm-board-title p { font-size: 12px; margin-top: 1px; }

/* colunas: cabeçalho claro com ponto colorido (em vez do bloco sólido) */
.crm-col { width: 272px; background: var(--bg-soft); border: 1px solid var(--border); border-radius: 6px; }
.crm-col-head { padding: 6px 10px; background: var(--surface); border-bottom: 1px solid var(--border); }
.crm-col-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--col); flex: none; }
.crm-col-nome { font-size: 12px; font-weight: 600; color: var(--fg); text-shadow: none; }
.crm-col-cnt { font-size: 11px; font-weight: 500; min-width: 18px; height: 18px; background: var(--c1-cinza-100, #eceae6); color: var(--fg-muted); border-radius: 999px; }
.crm-col-sort { color: var(--fg-subtle); }
.crm-col-sort:hover { background: var(--c1-cinza-100, #eceae6); color: var(--fg); }
.crm-col-sort.on { background: var(--c1-cinza-100, #eceae6); color: var(--brand); }
[data-theme="dark"] .crm-col-cnt, [data-theme="dark"] .crm-col-sort:hover, [data-theme="dark"] .crm-col-sort.on { background: rgba(255,255,255,.08); }
.crm-col-body { padding: 6px; gap: 5px; }

/* cards: borda 1px, sem sombra */
.crm-card { padding: 7px 9px; border-radius: 5px; box-shadow: none; border: 1px solid var(--border); }
.crm-card:hover { box-shadow: none; border-color: var(--c1-laranja-300); }
.crm-card-emp { font-size: 12px; font-weight: 600; }
.crm-card-contato { font-size: 10.5px; }
.crm-etq { font-weight: 500; }

.crm-kpis { padding: 0 16px 4px; gap: 6px; }
.crm-kpi { padding: 6px 10px; border-radius: 6px; }
.crm-kpi-v { font-size: 17px; font-weight: 600; margin: 2px 0 0; }
.crm-kpi-l { font-weight: 600; font-size: 10px; }
.crm-kpis-mini { gap: 6px; }
.crm-kpi-mini-v { font-size: 14px; font-weight: 600; }
.crm-kpi-mini-l { font-weight: 600; }
.crm-search { height: 30px; padding: 0 9px; }
.crm-search input { font-size: 12px; }
.crm-fab { height: 38px; box-shadow: var(--shadow-sm); }

/* modais utilitários (atribuir, vincular, etc.) */
.crm-sub { border-radius: 10px; }
.crm-sub-top { padding: 10px 13px; }
.crm-sub-top h3 { font-size: 13.5px; font-weight: 600; }
.crm-sub-row { padding: 6px 9px; gap: 8px; }
.crm-sub-search { padding: 8px 13px; }

/* ---------- Indicadores ---------- */
.ind-page { padding: 14px 18px 52px; }
.ind-head h1 { font-size: 18px; font-weight: 600; }
.ind-head .sub { font-size: 12px; margin-top: 3px; }
.ind-panel { border-radius: 8px; box-shadow: none; }
.ind-panel + .ind-panel { margin-top: 10px; }
.ind-panel .ph { padding: 8px 12px; }
.ind-panel .ph h3 { font-size: 12.5px; font-weight: 600; }
table.ind-tbl th { padding: 6px 12px; font-size: 10px; font-weight: 600; }
table.ind-tbl td { padding: 6px 12px; font-size: 12px; }

/* ---------- Abertura One ---------- */
.abe-wrap { padding: 14px 18px 44px; }
.abe-wrap h1 { font-size: 19px; font-weight: 600; }
.abe-wrap .eyebrow { font-size: 10.5px; font-weight: 600; margin-bottom: 5px; }
.abe-wrap p { font-size: 12.5px; }
.abe-rail { width: 205px; }
.abe-rail-i { padding: 6px 9px; gap: 8px; }
.abe-rail-i .n { width: 18px; height: 18px; font-size: 10px; font-weight: 600; }
.abe-rail-i .t b { font-size: 12px; font-weight: 500; }
.abe-rail-i.atual .t b { font-weight: 600; }
.abe-rail-i .t small { font-size: 10.5px; }
.abe-painel { border-radius: 8px; box-shadow: none; }
.abe-painel-body { padding: 16px 20px 4px; }
.abe-painel-body h2 { font-size: 15px; font-weight: 600; margin-bottom: 12px; }
.abe-foot { padding: 10px 20px 12px; }
.abe-fld { margin-bottom: 11px; }
.abe-fld > label { font-size: 12px; font-weight: 500; margin-bottom: 4px; }
.abe-fld input, .abe-fld textarea, .abe-fld select,
.abe-cap-l input, .abe-cap-l select, .abe-medida input { padding: 6px 9px; font-size: 12.5px; border-radius: 6px; }
.abe-help { font-size: 11px; margin-top: 3px; }
.abe-radios { gap: 4px; }
.abe-radio, .abe-check { font-size: 12.5px; gap: 8px; }
.abe-checks { gap: 5px; }
.abe-medida { padding: 6px 9px; gap: 10px; border-radius: 6px; }
.abe-medida span { font-size: 12px; }
.abe-socio { padding: 12px 14px 8px; margin-bottom: 10px; border-radius: 8px; }
.abe-socio-head h3 { font-size: 13px; font-weight: 600; }
.abe-cap-h span { font-size: 10.5px; font-weight: 600; }
.abe-drop { padding: 12px 10px; border-radius: 8px; }
.abe-drop b { font-size: 12.5px; font-weight: 500; }
.abe-drop span { font-size: 11px; }
.abe-proc { padding: 9px 12px; margin-bottom: 6px; border-radius: 8px; }
.abe-proc:hover { transform: none; box-shadow: none; }
.abe-proc-info b { font-size: 13px; font-weight: 600; }
.abe-proc-info span { font-size: 11.5px; }
.abe-proc-fase { font-size: 11px; font-weight: 500; padding: 3px 10px; }
.abe-rev { grid-template-columns: 180px 1fr; padding: 5px 0; font-size: 12px; }
.abe-rev b { font-weight: 400; }
.abe-pend { padding: 9px 12px; font-size: 12px; margin-bottom: 10px; border-radius: 8px; }
/* modal da equipe */
.abe-modal { border-radius: 10px; }
.abe-modal-top { padding: 13px 16px 10px; }
.abe-modal-top h2 { font-size: 15.5px; font-weight: 600; margin-bottom: 3px; }
.abe-modal-top .eyebrow { font-size: 10px; font-weight: 600; margin-bottom: 4px; }
.abe-modal-cli { font-size: 12px; }
.abe-modal-acts select { font-size: 12px; padding: 5px 8px; border-radius: 6px; }
.abe-modal-body { padding: 2px 16px 14px; }
.abe-sec { padding: 9px 0 6px; }
.abe-sec h3 { font-size: 10.5px; font-weight: 600; margin-bottom: 6px; }
.abe-ops { font-size: 12px; line-height: 1.5; }
.abe-doc-lnk { padding: 4px 8px; font-size: 11.5px; border-radius: 6px; }
.abe-doc-thumb { width: 28px; height: 28px; }
.abe-hist { font-size: 12px; padding: 3px 0; }
.abe-hist b { font-weight: 500; }
.abe-cm { font-size: 12px; padding: 5px 0; }
.abe-cm-new input { font-size: 12.5px; padding: 7px 10px; }
.abe-conv-ok { font-size: 12px; font-weight: 500; }
.abe-tl-i { padding: 7px 0; }
.abe-tl-dot { width: 22px; height: 22px; font-size: 10px; font-weight: 600; }
.abe-tl-nome { font-size: 12.5px; }
.abe-tl-i.atual .abe-tl-nome { font-weight: 600; }

/* ---------- Admissão One (cards e formulário interno) ---------- */
.adm-card-foto { width: 28px; height: 28px; }
.adm-card-metas { gap: 7px; }

@media (max-width: 760px) {
  /* no celular a densidade extra atrapalha o toque — volta um pouco */
  .btn { padding: 8px 13px; font-size: 13px; }
  .abe-fld input, .abe-fld textarea, .abe-fld select { padding: 9px 11px; font-size: 14px; }
  body.c1-shell-compact .side, body.c1-shell-compact .shell .side { top: 54px; }
}
