/* Lance · telas-base: Fila do LDR (.fl-), Importar (.im-), Listas (.ls-), Contatos (.ct-), Nutrição (.nu-), Onboarding (.ob-), Carteira (.cw-) */

/* ---------- Fila do LDR ---------- */
.fl-esteira-card { margin-bottom: 12px; }
.fl-esteira { display: flex; align-items: stretch; gap: 4px; padding: 12px; overflow-x: auto; scrollbar-width: thin; }
.fl-no { flex: 1 1 0; min-width: 92px; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 10px 6px 9px; border-radius: 12px; border: 1px solid var(--borda-suave); background: var(--superficie-2); color: var(--texto-2); transition: background .15s, border-color .15s, transform .15s; position: relative; }
button.fl-no:hover { border-color: var(--borda-forte); transform: translateY(-1px); }
.fl-no.ativo { background: var(--primaria-suave); border-color: color-mix(in srgb, var(--acento) 40%, transparent); color: var(--acento); }
.fl-no-ic { width: 30px; height: 30px; border-radius: 99px; display: grid; place-items: center; background: var(--superficie); border: 1px solid var(--borda); color: var(--acento); font-size: .9rem; }
.fl-no.fim .fl-no-ic { color: var(--positivo-texto); background: var(--positivo-suave); border-color: transparent; }
.fl-no b { font-size: 1.35rem; color: var(--titulo); letter-spacing: -.03em; line-height: 1.1; }
.fl-no-rot { font-size: .68rem; font-weight: 650; text-transform: uppercase; letter-spacing: .06em; }
.fl-no small { font-size: .62rem; color: var(--texto-2); }
.fl-no-barra { width: 70%; height: 3px; border-radius: 3px; background: var(--superficie-3); overflow: hidden; }
.fl-no-barra i { display: block; height: 100%; background: var(--acento); border-radius: inherit; }
.fl-no.fim .fl-no-barra i { background: var(--positivo); }
.fl-hoje { flex: 0 0 auto; min-width: 92px; background: var(--superficie); justify-content: center; }
.fl-seta { display: grid; place-items: center; color: var(--cinza-400); font-size: .8rem; flex: none; }
.fl-barra { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; padding: 10px 12px; margin-bottom: 10px; }
.fl-barra-l { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.fl-barra .check { font-size: .78rem; color: var(--texto-2); min-width: 104px; }
.fl-wip { display: flex; gap: 14px; align-items: center; }
.fl-wip-b { display: inline-flex; gap: 7px; align-items: center; font-size: .72rem; }
.fl-wip-t { display: flex; flex-direction: column; gap: 3px; width: 64px; } .fl-wip-t small { font-size: .64rem; color: var(--texto-2); line-height: 1; }
.fl-wip-b b { color: var(--titulo); font-size: .8rem; }
.fl-pills { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 12px; }
.fl-pills .filtro-pill:disabled { opacity: .45; cursor: default; }
.fl-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(282px, 1fr)); gap: 12px; }
.fl-card { background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio); box-shadow: var(--sombra-card); padding: 11px 12px 12px; display: flex; flex-direction: column; gap: 9px; min-width: 0; transition: border-color .15s, box-shadow .15s, transform .35s ease, opacity .35s ease; }
.fl-card:hover { border-color: var(--borda-forte); }
.fl-card.sel { border-color: var(--acento); box-shadow: 0 0 0 3px var(--primaria-suave); }
.fl-card.pronto { border-top: 3px solid var(--positivo); }
.fl-card.fl-saindo { animation: fl-sai .42s cubic-bezier(.5,0,.75,0) both; animation-delay: calc(var(--i, 0) * 40ms); }
@keyframes fl-sai { to { opacity: 0; transform: translate(40px, -24px) scale(.92); } }
.fl-c1 { display: flex; align-items: center; gap: 9px; min-width: 0; }
.fl-sel { width: 16px; height: 16px; accent-color: var(--acento); margin: 0; flex: none; }
.fl-nome { flex: 1; min-width: 0; text-align: left; background: none; border: 0; padding: 0; color: inherit; }
.fl-nome b { display: block; font-size: .84rem; font-weight: 650; color: var(--titulo); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fl-nome:hover b { color: var(--acento); }
.fl-nome small { display: block; font-size: .7rem; color: var(--texto-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fl-prio { color: var(--atencao); font-size: .95rem; flex: none; }
.fl-c2 { display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 12px; align-items: center; }
.fl-fit { min-width: 0; }
.fl-check { list-style: none; margin: 0; padding: 0; display: grid; gap: 3px; }
.fl-check li { display: flex; align-items: center; gap: 7px; font-size: .74rem; font-weight: 550; color: var(--titulo); padding: 2px 6px 2px 2px; border-radius: 7px; }
.fl-check li span { width: 17px; height: 17px; border-radius: 99px; display: grid; place-items: center; font-size: .62rem; flex: none; }
.fl-check li.ok { color: var(--texto-2); } .fl-check li.ok span { background: var(--positivo-suave); color: var(--positivo-texto); }
.fl-check li.no span { background: var(--negativo-suave); color: var(--negativo-texto); }
.fl-check li.no { background: color-mix(in srgb, var(--negativo) 5%, transparent); }
.fl-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.fl-chips .tag + .tag { margin-left: 0; }
.fl-chip-btn { cursor: pointer; } .fl-chip-btn:hover { filter: brightness(.96); text-decoration: underline; }
.fl-acoes { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-top: auto; padding-top: 8px; border-top: 1px solid var(--borda-suave); }
.fl-acoes .fl-ok { margin-right: auto; }
.fl-un { display: grid; grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr); gap: 8px; align-items: stretch; }
.fl-un-meio { display: grid; place-items: center; color: var(--cinza-400); }
.fl-un-col { flex-direction: column; align-items: stretch; gap: 8px; text-align: left; padding: 12px; }
.fl-un-cab { display: flex; gap: 8px; align-items: center; } .fl-un-cab b { color: var(--titulo); font-size: .85rem; } .fl-un-sel { margin-left: auto; }
.fl-un dl { margin: 0; display: grid; gap: 4px; }
.fl-un dl div { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 6px; font-size: .74rem; padding: 3px 6px; border-radius: 6px; }
.fl-un dl div.igual { background: color-mix(in srgb, var(--atencao) 10%, transparent); }
.fl-un dt { color: var(--texto-2); font-weight: 600; display: flex; gap: 4px; align-items: center; } .fl-un dt .ic { color: var(--atencao-texto); }
.fl-un dd { margin: 0; color: var(--titulo); overflow-wrap: anywhere; }
.fl-un-nota { font-size: .74rem; margin-top: 10px; display: flex; gap: 6px; align-items: center; }
.fl-entrega { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.fl-ent-b { border: 1px solid var(--borda); border-radius: 14px; padding: 14px; display: flex; flex-direction: column; align-items: center; gap: 8px; background: var(--superficie-2); }
.fl-ent-b > b { color: var(--titulo); font-size: .85rem; }
.fl-ent-av { position: relative; }
.fl-ent-mais { position: absolute; right: -10px; top: -8px; background: var(--positivo); color: #fff; font-weight: 750; font-size: .74rem; border-radius: 99px; padding: 1px 8px; box-shadow: var(--sombra-xs); animation: fl-pop .45s .35s cubic-bezier(.2,1.6,.4,1) both; }
@keyframes fl-pop { from { transform: scale(0); } }
.fl-ent-leads { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; min-height: 26px; }
.fl-voa { animation: fl-voa .55s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(.15s + var(--i, 0) * 90ms); }
@keyframes fl-voa { from { opacity: 0; transform: translate(-30px, -30px) scale(.4); } }
.fl-ent-wip { width: 100%; display: flex; flex-direction: column; gap: 5px; align-items: center; } .fl-ent-wip .barra { width: 100%; } .fl-ent-wip small { font-size: .7rem; color: var(--texto-2); }
@media (max-width: 767.98px) {
  .fl-no { min-width: 78px; } .fl-hoje { min-width: 78px; }
  .fl-wip { width: 100%; justify-content: space-between; }
  .fl-grade { grid-template-columns: minmax(0, 1fr); }
  .fl-un { grid-template-columns: minmax(0, 1fr); } .fl-un-meio { transform: rotate(90deg); }
}
@media (prefers-reduced-motion: reduce) { .fl-voa, .fl-ent-mais, .fl-card.fl-saindo { animation: none; } }

/* ---------- Importar ---------- */
.im-grade { grid-template-columns: minmax(0, 340px) minmax(0, 1fr); align-items: start; }
.im-entrada { display: flex; flex-direction: column; gap: 12px; }
.im-drop { display: flex; flex-direction: column; align-items: center; gap: 2px; cursor: pointer; padding: 26px 16px; }
.im-drop b { color: var(--titulo); font-size: .84rem; } .im-drop small { font-size: .72rem; }
.im-drop:focus-visible { outline: 2px solid var(--acento); outline-offset: 2px; }
.im-ou { display: flex; align-items: center; gap: 10px; font-size: .68rem; color: var(--texto-2); text-transform: uppercase; letter-spacing: .08em; font-weight: 600; }
.im-ou::before, .im-ou::after { content: ''; flex: 1; height: 1px; background: var(--borda); }
.im-cola { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .7rem; line-height: 1.5; min-height: 96px; }
.im-org { margin: 0; gap: 10px; }
.im-utm { display: flex; flex-wrap: wrap; gap: 4px; } .im-utm .tag + .tag { margin-left: 0; }
.im-pilha { display: flex; height: 26px; border-radius: 8px; overflow: hidden; gap: 2px; margin-bottom: 10px; }
.im-pilha i { display: grid; place-items: center; min-width: 22px; color: #fff; font-style: normal; font-size: .72rem; animation: im-cresce .6s cubic-bezier(.2,.8,.2,1) both; }
@keyframes im-cresce { from { flex-grow: 0; } }
.im-ct { display: flex; flex-direction: column; gap: 1px; font-size: .72rem; color: var(--texto-2); }
.im-ct .ic { margin-right: 4px; font-size: .7rem; } .im-ct, .im-ct span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 210px; }
.im-tab td:first-child { max-width: 250px; } .im-tab td { white-space: nowrap; }
.im-tab td { vertical-align: middle; }
.im-pe { display: flex; justify-content: space-between; gap: 8px; }
.im-feito { max-width: 520px; margin: 10px auto; padding: 34px 24px 26px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.im-feito-ic { width: 54px; height: 54px; border-radius: 99px; display: grid; place-items: center; background: var(--positivo-suave); color: var(--positivo-texto); font-size: 1.4rem; animation: fl-pop .45s cubic-bezier(.2,1.6,.4,1) both; }
.im-feito-n { font-size: 2.6rem; font-weight: 750; color: var(--titulo); letter-spacing: -.04em; line-height: 1; margin-top: 6px; }
.im-feito-t { font-weight: 650; color: var(--titulo); }
.im-feito-chips { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin: 10px 0 6px; } .im-feito-chips .tag + .tag { margin-left: 0; }
.im-feito-acoes { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-top: 6px; }
@media (max-width: 1320px) { .im-cid { display: none; } .im-ct, .im-ct span { max-width: 170px; } }
@media (max-width: 991px) { .im-grade { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Listas ---------- */
.ls-kpi-anel { display: flex; gap: 12px; align-items: center; }
.ls-cab { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; margin: 4px 0 10px; }
.ls-cab .segmentado { margin-left: auto; }
.ls-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 12px; }
.ls-card { padding: 14px; display: flex; flex-direction: column; gap: 11px; }
.ls-topo { display: flex; gap: 10px; align-items: flex-start; }
.ls-nome { display: block; color: var(--titulo); font-size: .88rem; font-weight: 650; line-height: 1.3; }
.ls-meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 5px; font-size: .7rem; }
.ls-meta .tag + .tag { margin-left: 0; }
.ls-num { display: flex; align-items: baseline; gap: 5px; font-size: .72rem; color: var(--texto-2); }
.ls-num b { font-size: 1.15rem; color: var(--titulo); letter-spacing: -.02em; }
.ls-seta { color: var(--cinza-400); margin: 0 4px; align-self: center; }
.ls-pilha { position: relative; display: flex; height: 14px; border-radius: 7px; gap: 2px; background: var(--superficie-3); }
.ls-pilha i { display: block; min-width: 3px; animation: im-cresce .7s cubic-bezier(.2,.8,.2,1) both; }
.ls-pilha i:first-child { border-radius: 7px 0 0 7px; } .ls-pilha i:last-of-type { border-radius: 0 7px 7px 0; }
.ls-pilha .ls-aberto { background: repeating-linear-gradient(45deg, var(--superficie-3), var(--superficie-3) 3px, var(--superficie-2) 3px, var(--superficie-2) 6px); }
.ls-meta-mk { position: absolute; top: -4px; bottom: -4px; width: 2px; background: var(--titulo); border-radius: 2px; }
.ls-mini { display: flex; gap: 12px; align-items: center; font-size: .72rem; color: var(--texto-2); font-variant-numeric: tabular-nums; }
.ls-mini span { display: inline-flex; gap: 5px; align-items: center; } .ls-mini i { width: 8px; height: 8px; border-radius: 3px; }
.ls-mini .btn { margin-left: auto; }
.ls-rank { position: relative; }
.ls-rank::after { content: ''; position: absolute; left: var(--meta); top: 16px; bottom: 0; border-left: 2px dashed var(--titulo); opacity: .55; pointer-events: none; }
.ls-rank-meta { position: absolute; left: var(--meta); top: -6px; transform: translateX(-50%); font-size: .62rem; font-weight: 700; color: var(--titulo); background: var(--superficie); padding: 0 4px; }
.ls-rank .barras-h { padding-top: 10px; }
.ls-pos { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 6px; background: var(--superficie-3); font-size: .64rem; font-weight: 700; margin-right: 6px; color: var(--titulo); }
@media (max-width: 767.98px) { .ls-grade { grid-template-columns: minmax(0, 1fr); } .ls-cab .segmentado { margin-left: 0; } }

/* ---------- Contatos ---------- */
.ct-tool { gap: 10px 14px; }
.ct-pills, .ct-fases { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.ct-sels { display: flex; gap: 8px; margin-left: auto; } .ct-sels .select { width: auto; max-width: 170px; }
.ct-fases { padding: 8px 16px; border-bottom: 1px solid var(--borda-suave); overflow-x: auto; flex-wrap: nowrap; scrollbar-width: thin; }
.ct-fases .filtro-pill:disabled { opacity: .4; cursor: default; }
.ct-pt { width: 7px; height: 7px; border-radius: 2px; display: inline-block; }
.ct-massa { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 16px; background: var(--primaria-suave); border-bottom: 1px solid var(--borda-suave); font-size: .78rem; color: var(--titulo); }
.ct-massa-sep { width: 1px; height: 18px; background: var(--borda); margin: 0 4px; }
.ct-tab .ct-th-chk, .ct-pessoa { display: flex; align-items: center; gap: 10px; }
.ct-tab thead th.ct-th-chk { display: table-cell; } .ct-th-chk .ordenavel { cursor: pointer; margin-left: 10px; }
.ct-chk { width: 15px; height: 15px; accent-color: var(--acento); margin: 0; flex: none; cursor: pointer; }
.ct-pessoa .celula-pessoa { max-width: 260px; }
.ct-tab tr.ct-sel > td { background: color-mix(in srgb, var(--acento) 5%, var(--superficie)); }
.ct-status { display: inline-block; max-width: 190px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: .76rem; color: var(--texto-2); vertical-align: middle; }
.ct-fit { display: inline-block; width: 38px; height: 4px; border-radius: 4px; background: var(--superficie-3); overflow: hidden; vertical-align: middle; margin-right: 7px; }
.ct-fit i { display: block; height: 100%; border-radius: inherit; }
.ct-dono { margin-left: 6px; font-size: .76rem; vertical-align: middle; }
.ct-tab td .av { vertical-align: middle; }
.ct-tab td { white-space: nowrap; }
.ct-emp-ic { width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; flex: none; }
.ct-emp-n { margin-left: 8px; color: var(--titulo); }
.ct-porte { width: auto; min-width: 150px; }
.ct-dups { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 12px; }
.ct-dup { padding: 12px; display: flex; flex-direction: column; gap: 10px; }
.ct-dup-cab { display: flex; justify-content: space-between; align-items: center; font-size: .72rem; }
.ct-dup-par { display: grid; grid-template-columns: minmax(0, 1fr) 22px minmax(0, 1fr); gap: 6px; align-items: center; }
.ct-dup-x { color: var(--atencao); display: grid; place-items: center; }
.ct-dup-l { display: flex; gap: 8px; align-items: flex-start; text-align: left; border: 1px solid var(--borda); border-radius: 10px; padding: 8px; background: var(--superficie-2); color: inherit; min-width: 0; }
.ct-dup-l:hover { border-color: var(--borda-forte); }
.ct-dup-l b { display: block; font-size: .78rem; color: var(--titulo); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-dup-l small { display: block; font-size: .68rem; color: var(--texto-2); margin-bottom: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-dup-pe { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
@media (max-width: 767.98px) {
  .ct-sels { margin-left: 0; width: 100%; min-width: 0; } .ct-sels .select { flex: 1 1 0; min-width: 0; max-width: none; }
  .ct-tab td { white-space: normal; }
  .ct-tab .ct-th-chk { display: none; }
  .ct-pessoa .celula-pessoa { max-width: none; }
  .ct-dups { grid-template-columns: minmax(0, 1fr); }
  .paginacao { flex-direction: column; } .paginacao .pags { flex-wrap: wrap; justify-content: center; }
}

/* ---------- Nutrição ---------- */
.nu-res { max-width: none; margin-bottom: 14px; align-items: center; }
.nu-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.nu-card { padding: 12px; display: flex; flex-direction: column; gap: 12px; }
.nu-card.nu-pulsa { animation: nu-pulsa 1.2s ease 2; border-color: color-mix(in srgb, var(--info) 50%, var(--borda)); }
@keyframes nu-pulsa { 50% { box-shadow: 0 0 0 5px var(--info-suave); } }
.nu-c1 { display: flex; gap: 9px; align-items: center; min-width: 0; }
.nu-nome { flex: 1; min-width: 0; background: none; border: 0; padding: 0; text-align: left; color: inherit; }
.nu-nome b { display: block; font-size: .84rem; font-weight: 650; color: var(--titulo); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nu-nome:hover b { color: var(--acento); }
.nu-nome small { display: block; font-size: .7rem; color: var(--texto-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nu-c2 { display: grid; grid-template-columns: 74px 34px minmax(0, 1fr); gap: 12px; align-items: center; }
.nu-termo { display: flex; flex-direction: column; align-items: center; gap: 0; height: 84px; }
.nu-termo-tubo { position: relative; width: 10px; flex: 1; border-radius: 6px 6px 0 0; background: var(--superficie-3); overflow: visible; display: flex; align-items: flex-end; }
.nu-termo-tubo i { display: block; width: 100%; border-radius: 6px 6px 0 0; background: linear-gradient(to top, var(--atencao), var(--negativo)); transition: height .6s; }
.nu-termo-corte { position: absolute; left: -5px; right: -5px; height: 2px; background: var(--titulo); border-radius: 2px; }
.nu-termo-bulbo { width: 18px; height: 18px; border-radius: 99px; background: var(--atencao); margin-top: -3px; box-shadow: 0 0 0 2px var(--superficie); }
.nu-termo-bulbo.ok { background: var(--positivo); }
.nu-termo small { font-size: .62rem; color: var(--texto-2); margin-top: 3px; white-space: nowrap; } .nu-termo small b { color: var(--titulo); }
.nu-dados { display: grid; gap: 10px; font-size: .7rem; color: var(--texto-2); }
.nu-dados > div { display: grid; grid-template-columns: 1fr auto; gap: 3px 6px; align-items: center; }
.nu-dados span { display: inline-flex; gap: 5px; align-items: center; } .nu-dados b { color: var(--titulo); font-size: .78rem; }
.nu-dados .barra { grid-column: 1 / -1; }
.nu-trilha { display: flex; align-items: center; padding: 8px 10px; background: var(--superficie-2); border-radius: 10px; }
.nu-pt { display: flex; flex-direction: column; align-items: center; gap: 2px; color: var(--texto-2); }
.nu-pt .ic { width: 26px; height: 26px; padding: 6px; border-radius: 99px; background: var(--superficie); border: 1px solid var(--borda); box-sizing: border-box; }
.nu-pt small { font-size: .6rem; font-weight: 650; }
.nu-pt.feito .ic { background: var(--info-suave); color: var(--info-texto); border-color: transparent; }
.nu-pt.prox .ic { border: 2px solid var(--acento); color: var(--acento); }
.nu-linha { flex: 1; height: 2px; background: var(--borda); margin: 0 4px 14px; border-radius: 2px; }
.nu-gat { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
.nu-g { position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 7px 2px 6px; border: 1px solid var(--borda); border-radius: 10px; background: var(--superficie); color: var(--texto-2); font-size: .64rem; font-weight: 650; transition: border-color .15s, background .15s, transform .15s; }
.nu-g .ic { font-size: .95rem; color: var(--acento); }
.nu-g:hover { border-color: var(--acento); background: var(--primaria-suave); transform: translateY(-1px); }
.nu-g.vira { border-color: color-mix(in srgb, var(--positivo) 45%, var(--borda)); }
.nu-g-dot { position: absolute; top: 5px; right: 6px; width: 7px; height: 7px; border-radius: 99px; background: var(--positivo); }
.nu-pe { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--borda-suave); padding-top: 8px; }
@media (max-width: 767.98px) { .nu-grade { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .nu-card.nu-pulsa { animation: none; } }

/* ---------- Onboarding (.ob-) ---------- */
.ob-quadro { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(236px, 1fr); gap: 10px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x proximity; min-height: 380px; }
.ob-col { background: var(--superficie-2); border: 1px solid var(--borda-suave); border-radius: var(--raio); display: flex; flex-direction: column; min-width: 0; position: relative; scroll-snap-align: start; transition: background .15s, border-color .15s, box-shadow .15s; }
.ob-col.fim { background: color-mix(in srgb, var(--positivo) 5%, var(--superficie-2)); border-color: color-mix(in srgb, var(--positivo) 22%, var(--borda-suave)); }
.ob-col-cab { display: flex; align-items: center; gap: 7px; padding: 10px 12px 8px; font-size: .78rem; }
.ob-col-cab b { color: var(--titulo); font-weight: 650; flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ob-col-ic { width: 24px; height: 24px; border-radius: 7px; display: grid; place-items: center; background: var(--primaria-suave); color: var(--acento); font-size: .8rem; flex: none; }
.ob-col.fim .ob-col-ic { background: var(--positivo-suave); color: var(--positivo-texto); }
.ob-lista { display: flex; flex-direction: column; gap: 8px; padding: 0 8px 10px; flex: 1; min-height: 60px; }
.ob-vazio { font-size: .9rem; color: var(--texto-suave); padding: 18px 0; display: flex; justify-content: center; align-items: center; border: 1px dashed var(--borda); border-radius: 10px; }
.ob-card { background: var(--superficie); border: 1px solid var(--borda); border-radius: 11px; padding: 10px; box-shadow: var(--sombra-xs); display: flex; flex-direction: column; gap: 8px; transition: box-shadow .15s, transform .15s, border-color .15s, opacity .15s; }
.ob-card[draggable="true"] { cursor: grab; }
.ob-card:hover { border-color: var(--borda-forte); box-shadow: var(--sombra-card); }
.ob-card:focus-visible { outline: 2px solid var(--acento); outline-offset: 1px; }
.ob-card.semp { border-left: 3px solid var(--atencao); }
.ob-card.ob-origem { opacity: .35; }
.ob-c1 { display: flex; align-items: center; gap: 9px; min-width: 0; }
.ob-nome { flex: 1; min-width: 0; background: none; border: 0; padding: 0; text-align: left; color: inherit; }
.ob-nome b { display: block; font-size: .82rem; font-weight: 650; color: var(--titulo); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ob-nome:hover b { color: var(--acento); }
.ob-nome small { display: block; font-size: .7rem; color: var(--texto-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ob-c2 { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: .7rem; }
.ob-c2 .tag { font-size: 10px; padding: 0 6px; }
.ob-c2 .tag + .tag { margin-left: 0; }
.ob-valor { color: var(--titulo); font-weight: 650; font-size: .74rem; }
.ob-dias { margin-left: auto; display: inline-flex; gap: 3px; align-items: center; color: var(--texto-2); font-weight: 600; font-variant-numeric: tabular-nums; }
.ob-dias.atn { color: var(--atencao-texto); } .ob-dias.neg { color: var(--negativo-texto); }
.ob-passos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 3px; }
.ob-passos i { display: block; height: 5px; border-radius: 99px; background: var(--superficie-3); }
.ob-passos i.on { background: var(--positivo); }
.ob-alerta { display: flex; align-items: center; gap: 6px; font-size: .7rem; font-weight: 650; color: var(--atencao-texto); background: var(--atencao-suave); border-radius: 8px; padding: 5px 8px; }
.ob-alerta .btn { margin-left: auto; }
.ob-concluir { display: inline-flex; align-items: center; justify-content: center; gap: 5px; width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ob-fim { display: inline-flex; align-items: center; gap: 5px; font-size: .72rem; font-weight: 650; color: var(--positivo-texto); }
.ob-solta { display: none; position: absolute; inset: 44px 8px 8px; border-radius: 12px; border: 2px dashed; align-items: flex-start; justify-content: center; padding-top: 30px; font-size: .78rem; font-weight: 650; gap: 6px; pointer-events: none; text-align: center; }
.ob-col.aceita .ob-solta, .ob-col.recusa .ob-solta { display: flex; }
.ob-col.aceita { background: color-mix(in srgb, var(--positivo) 8%, var(--superficie-2)); border-color: color-mix(in srgb, var(--positivo) 45%, transparent); }
.ob-col.aceita .ob-solta { border-color: color-mix(in srgb, var(--positivo) 60%, transparent); color: var(--positivo-texto); background: color-mix(in srgb, var(--positivo-suave) 80%, transparent); }
.ob-col.recusa { background: color-mix(in srgb, var(--negativo) 5%, var(--superficie-2)); }
.ob-col.recusa .ob-solta { border-color: color-mix(in srgb, var(--negativo) 45%, transparent); color: var(--negativo-texto); background: color-mix(in srgb, var(--negativo-suave) 85%, transparent); }
.ob-col.sobre { box-shadow: 0 0 0 3px var(--primaria-suave); }
html[data-bs-theme="dark"] .ob-col-ic { background: color-mix(in srgb, var(--acento) 20%, var(--superficie)); }
html[data-bs-theme="dark"] .ob-col.fim .ob-col-ic { background: color-mix(in srgb, var(--positivo) 20%, var(--superficie)); }
@media (max-width: 767.98px) {
  .ob-quadro { grid-auto-columns: 84%; scroll-snap-type: x mandatory; min-height: 0; align-items: start; }
  .ob-col { scroll-snap-align: center; }
}

/* ---------- Carteira (.cw-) ---------- */
.cw-kpis { margin-bottom: 12px; }
.cw-kpis .barra { margin-top: 8px; }
.cw-filtros { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 12px; }
.cw-saudes { display: flex; flex-wrap: wrap; gap: 6px; }
.cw-pt { width: 8px; height: 8px; border-radius: 99px; display: inline-block; margin-right: 2px; }
.cw-ordem { margin-left: auto; }
.cw-leg { display: inline-flex; gap: 10px; flex-wrap: wrap; font-size: .68rem; color: var(--texto-2); font-weight: 600; }
.cw-leg span { display: inline-flex; align-items: center; gap: 4px; }
.cw-leg i { width: 9px; height: 9px; border-radius: 3px; display: inline-block; }
.cw-leg .cw-q0 { background: var(--superficie-2); border: 1px solid var(--borda); }
.cw-leg .cw-q1 { background: color-mix(in srgb, var(--positivo) 47%, var(--superficie)); }
.cw-leg .cw-q2 { background: color-mix(in srgb, var(--positivo) 82%, var(--superficie)); }
.cw-leg .cw-qx { background: transparent; border: 1px dashed var(--borda-forte); }
.cw-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 12px 8px; }
.cw-pessoa { display: flex; flex-direction: column; align-items: center; gap: 4px; background: none; border: 0; padding: 6px 2px; border-radius: 12px; min-width: 0; transition: background .12s, transform .12s; }
.cw-pessoa:hover { background: var(--superficie-2); transform: translateY(-2px); }
.cw-pessoa:focus-visible { outline: 2px solid var(--acento); outline-offset: 2px; }
.cw-pessoa b { font-size: .74rem; color: var(--titulo); font-weight: 650; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cw-pessoa small { font-size: .66rem; color: var(--texto-2); font-weight: 650; margin-top: -3px; }
.cw-anel { position: relative; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 99px; background: conic-gradient(var(--cor) calc(var(--v) * 1%), var(--superficie-3) 0); }
.cw-anel::before { content: ''; position: absolute; inset: 4px; border-radius: 99px; background: var(--superficie); }
.cw-anel .av { position: relative; width: 44px; height: 44px; font-size: .8rem; }
.cw-selo { position: absolute; right: -2px; top: -2px; width: 20px; height: 20px; border-radius: 99px; background: var(--ouro); color: #fff; display: grid; place-items: center; font-size: .66rem; border: 2px solid var(--superficie); }
.cw-novo { position: absolute; bottom: -5px; left: 50%; transform: translateX(-50%); font-style: normal; font-size: .56rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; background: var(--acento); color: #fff; padding: 0 6px; border-radius: 99px; border: 2px solid var(--superficie); }
.cw-calor { overflow-x: auto; }
.cw-calor .mapa-calor { min-width: 420px; }
.cw-calor .mapa-calor .cel { min-height: 22px; cursor: pointer; }
.cw-calor .mapa-calor .cel[data-antes] { background: transparent !important; box-shadow: inset 0 0 0 1px var(--borda-suave); background-image: repeating-linear-gradient(135deg, var(--borda-suave) 0 1px, transparent 1px 5px) !important; }
.cw-mrot { display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; padding: 0; min-width: 0; font-size: .72rem; color: var(--texto); font-weight: 600; }
.cw-mrot span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cw-mrot:hover span { color: var(--acento); }
.cw-mrot .av { flex: none; }
.cw-g-cab { display: flex; align-items: center; gap: 12px; min-width: 0; }
.cw-g-cab h2 { margin: 0; font-size: 1rem; }
.cw-g-cab small { color: var(--texto-2); font-size: .74rem; }
.cw-g { padding: 16px 18px; display: flex; flex-direction: column; gap: 14px; }
.cw-g-topo { display: flex; align-items: center; gap: 16px; }
.cw-g-tags { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.cw-g-tags .tag + .tag { margin-left: 0; }
.cw-g-tags small { width: 100%; font-size: .72rem; }
.cw-partes { display: flex; flex-direction: column; gap: 8px; }
.cw-parte { display: grid; grid-template-columns: 104px minmax(0, 1fr) 28px; gap: 10px; align-items: center; font-size: .74rem; }
.cw-parte span { display: inline-flex; gap: 6px; align-items: center; color: var(--texto-2); font-weight: 600; }
.cw-parte b { text-align: right; color: var(--titulo); font-size: .74rem; }
.cw-tl { list-style: none; margin: 0; padding: 0 0 0 4px; position: relative; }
.cw-tl::before { content: ''; position: absolute; left: 17px; top: 8px; bottom: 8px; width: 2px; background: var(--borda); }
.cw-tl li { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 6px 0; position: relative; }
.cw-tl-ic { width: 28px; height: 28px; border-radius: 99px; display: grid; place-items: center; background: var(--superficie); border: 2px solid var(--borda); color: var(--texto-2); font-size: .8rem; }
.cw-tl li.pos .cw-tl-ic { border-color: var(--positivo); color: var(--positivo); }
.cw-tl li.neg .cw-tl-ic { border-color: var(--negativo); color: var(--negativo); }
.cw-tl li.mar .cw-tl-ic { border-color: var(--acento); color: var(--acento); }
.cw-tl b { font-size: .78rem; color: var(--titulo); font-weight: 600; }
.cw-tl small { font-size: .7rem; color: var(--texto-2); }
@media (max-width: 767.98px) {
  .cw-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cw-kpis > :last-child { grid-column: 1 / -1; }
  .cw-ordem { margin-left: 0; }
  .cw-grade { grid-template-columns: repeat(auto-fill, minmax(70px, 1fr)); }
  .cw-calor .mapa-calor { min-width: 0; grid-template-columns: 76px repeat(12, minmax(0, 1fr)) !important; gap: 2px; }
  .cw-mrot .av { display: none; }
}
.cw-calor .mapa-calor .cel:empty:not([data-antes]) { background: var(--superficie-3) !important; }
@media (max-width: 767.98px) {
  .cw-calor .mapa-calor .rot[role="columnheader"] { font-size: .5rem; overflow: hidden; letter-spacing: -.02em; }
  .cw-grade { grid-template-columns: repeat(auto-fill, minmax(62px, 1fr)); gap: 8px 4px; }
  .cw-anel { width: 50px; height: 50px; } .cw-anel .av { width: 38px; height: 38px; }
}
