/* LogTec — ajustes mínimos sobre o AdminLTE 4 (o visual vem dele) */

/* avatar com a inicial do nome, no lugar da foto do AdminLTE */
.avatar { display: inline-flex; align-items: center; justify-content: center; font-weight: 700; line-height: 1; }
.app-header .user-menu .user-image.avatar { width: 2rem; height: 2rem; margin-top: -.25rem; font-size: .95rem; }
.user-header .avatar--lg { width: 5.5rem; height: 5.5rem; margin-bottom: .5rem; font-size: 2.25rem; color: var(--bs-primary); background: #fff; border: 3px solid rgba(255, 255, 255, .3); }

/* botões dentro de input-group que não são .btn (mostrar senha) */
button.input-group-text { cursor: pointer; }
button.input-group-text:hover { color: var(--bs-primary); }

/* o logo da marca no sidebar não precisa de fundo */
.brand-link .brand-image { box-shadow: none !important; }

/* leads: mensagem com quebras de linha; filtro ativo destacado */
.lead-message { white-space: pre-line; overflow-wrap: anywhere; }
.lead-box--on { outline: 3px solid var(--bs-body-color); outline-offset: 2px; }

/* ---------- gestão de leads ---------- */
.min-w-0 { min-width: 0; }
.avatar--sm { width: 1.5rem; height: 1.5rem; font-size: .7rem; }
.avatar--xl { width: 3.5rem; height: 3.5rem; font-size: 1.5rem; flex-shrink: 0; }

/* funil kanban: colunas lado a lado, rolagem horizontal em telas menores */
.kanban { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(250px, 1fr); gap: 1rem; overflow-x: auto; padding-bottom: .5rem; align-items: start; }
.kanban__col { margin-bottom: 0; transition: box-shadow .15s, background-color .15s; }
.kanban__col.is-over { box-shadow: 0 0 0 3px var(--bs-primary) !important; background-color: var(--bs-primary-bg-subtle); }
.kanban__cards { min-height: 8rem; max-height: calc(100vh - 19rem); overflow-y: auto; background: var(--bs-tertiary-bg); }
.lead-card { cursor: grab; border-left: 3px solid transparent; transition: transform .1s, box-shadow .1s; }
.lead-card:hover { box-shadow: var(--bs-box-shadow-sm); }
.lead-card.is-dragging { opacity: .5; cursor: grabbing; transform: rotate(1.5deg); }
.lead-card--late { border-left-color: var(--bs-danger); }
.lead-card__name { overflow-wrap: anywhere; }

/* etapas no detalhe */
.stages { display: flex; gap: 3px; }
.stages__step { flex: 1; padding: .35rem .25rem; font-size: .72rem; font-weight: 600; text-align: center; border-radius: .25rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.stages__step--todo { color: var(--bs-secondary-color) !important; }
.stages__step--current { box-shadow: 0 0 0 2px var(--bs-body-bg), 0 0 0 4px currentColor; }

/* gráficos */
.chart-box { position: relative; height: 260px; }
.chart-box--lg { height: 300px; }
