body { background: #f4f6f9; }
.kpi .card-body { padding: 1rem 1.1rem; }
.kpi-label { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #6c757d; }
.kpi-num { font-size: 1.9rem; font-weight: 800; line-height: 1.2; }
.kpi-sub { font-size: .75rem; color: #6c757d; }
.chart-box { position: relative; height: 240px; }

.tabla-negocios th { white-space: nowrap; font-size: .7rem; }
.tabla-negocios td { font-size: .78rem; }
.badge-contacto { font-size: .72rem; font-weight: 600; padding: .2rem .55rem; border-radius: 50rem; }

.text-bg-orange { background-color: #fd7e14 !important; color: #fff !important; }
.btn-danger-subtle { background: #f8d7da; color: #58151c; border: 0; }
.btn-warning-subtle { background: #fff3cd; color: #664d03; border: 0; }
.btn-success-subtle { background: #d1e7dd; color: #0a3622; border: 0; }
.btn-danger-subtle:hover, .btn-warning-subtle:hover, .btn-success-subtle:hover { filter: brightness(.95); }

.pitch { background: #0f172a; color: #5eead4; padding: 1.1rem 1.25rem; border-radius: .5rem; font-size: .8rem; white-space: pre-wrap; line-height: 1.6; }

#mapa, #mapaBuscar { height: 520px; width: 100%; }
@media (max-width: 576px) { #mapa, #mapaBuscar { height: 380px; } }

.timeline { border-left: 2px solid #dee2e6; padding-left: 1rem; max-height: 380px; overflow-y: auto; }
.timeline-item { position: relative; padding: .5rem 0 .75rem; border-bottom: 1px dashed #e9ecef; }
.timeline-item::before { content: ''; position: absolute; left: -1.38rem; top: .8rem; width: .7rem; height: .7rem; border-radius: 50%; background: #0d6efd; border: 2px solid #fff; }

.drop-zone { border: 2px dashed #adb5bd; border-radius: .75rem; padding: 2rem; text-align: center; cursor: pointer; transition: .15s; background: #fff; }
.drop-zone.over { border-color: #0d6efd; background: #e7f1ff; }
.code-area { font-family: ui-monospace, Consolas, monospace; font-size: .75rem; }
.tabla-preview td, .tabla-preview th { font-size: .75rem; }
