/* Los colores vienen del tema Bootswatch elegido en Configuración → Apariencia. */
body.admin-light { background: #f4f6f9; }
.admin-main { max-width: 1400px; }
.admin-card { border: 0; box-shadow: 0 1px 3px rgba(0, 0, 0, .12); }
.stat-card .stat-icon { font-size: 2rem; opacity: .35; }
.stat-card-solid { transition: transform .12s, box-shadow .12s; }
.stat-card-solid:hover { transform: translateY(-2px); box-shadow: 0 .5rem 1rem rgba(0,0,0,.18) !important; }
.stat-card-solid .stat-icon { opacity: .6; font-size: 2.4rem; }
.table td, .table th { vertical-align: middle; }
.thumb { width: 56px; height: 56px; object-fit: contain; background: #fff; border: 1px solid #dee2e6; border-radius: .25rem; }
.thumb-wide { width: 140px; height: 56px; object-fit: cover; border-radius: .25rem; }
.upload-preview { max-height: 110px; max-width: 160px; object-fit: contain; }
.image-tile { position: relative; background: #fff; }
.image-tile img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; }
.image-tile .badge { position: absolute; top: .4rem; left: .4rem; }
.login-box { max-width: 420px; margin: 8vh auto; }
.theme-preview { width: 100%; height: 360px; border: 1px solid #dee2e6; border-radius: .25rem; background: #fff; }
.logo-preview { max-height: 80px; max-width: 100%; background: repeating-conic-gradient(#eee 0 25%, #fff 0 50%) 0 0 / 16px 16px; padding: 0; display: inline-block; border-radius: .25rem; }
.nav-tabs .nav-link { font-weight: 500; }
.required::after { content: " *"; color: #dc3545; }

/* Estadística */
.rank-table td { padding-top: .45rem; padding-bottom: .45rem; }
.rank-bar { height: 4px; background: #e9ecef; border-radius: 2px; margin-top: .3rem; overflow: hidden; }
.rank-bar span { display: block; height: 100%; background: var(--primary); border-radius: 2px; }
.flag { font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; }
.visit-chart { display: flex; align-items: flex-end; height: 200px; gap: 3px; padding-bottom: 1.4rem; position: relative; }
.visit-col { flex: 1 1 0; min-width: 0; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; position: relative; }
.visit-bar { width: 100%; max-width: 48px; min-height: 2px; background: var(--primary); border-radius: 3px 3px 0 0; transition: opacity .15s; }
.visit-col:hover .visit-bar { opacity: .75; }
.visit-val { font-size: .7rem; color: #6c757d; line-height: 1.2; }
.visit-label { position: absolute; bottom: -1.3rem; font-size: .7rem; color: #6c757d; white-space: nowrap; }

/* Registros anulados (establecimientos, centros de costo): se conservan pero atenuados */
.row-annulled td { opacity: .6; }
.row-annulled .annul-text { text-decoration: line-through; }
.row-annulled td:last-child { opacity: 1; }

/* Pedidos */
.order-map { height: 260px; width: 100%; z-index: 0; }
@media print { .navbar, .d-print-none { display: none !important; } body, .card, .card-header, .table { background: #fff !important; color: #000 !important; } .admin-card { box-shadow: none; border: 1px solid #dee2e6; } }

/* Evaluaciones */
.eval-map { height: 240px; width: 100%; z-index: 0; border-radius: .25rem; }
.eval-report-map { height: 70vh; min-height: 380px; width: 100%; z-index: 0; }
.eval-photo-preview { max-height: 320px; }
.eval-thumb { width: 48px; height: 48px; object-fit: cover; border-radius: .25rem; }
.eval-popup img { width: 220px; max-width: 100%; height: auto; border-radius: .25rem; margin-bottom: .35rem; }
.eval-legend-dot { display: inline-block; width: 12px; height: 12px; border-radius: 50%; border: 1px solid rgba(0, 0, 0, .35); vertical-align: middle; }
.eval-legend-list { max-height: 60vh; overflow-y: auto; }

/* ComboBox (lista desplegable con búsqueda incremental; colores del tema) */
.combo { position: relative; }
.combo-menu { width: 100%; max-height: 280px; overflow-y: auto; margin-top: 2px; }
.combo-menu .dropdown-item { white-space: normal; }
.combo-menu .combo-current { font-weight: 600; }
.combo-menu .combo-note { white-space: normal; }

/* Configuración → Apariencia: muestras de color de Tailwind */
.tw-swatches { display: flex; flex-wrap: wrap; gap: .45rem; }
.tw-swatch-input { position: absolute; opacity: 0; pointer-events: none; }
.tw-swatch { width: 2rem; height: 2rem; border-radius: 50%; margin: 0; cursor: pointer; border: 2px solid transparent; box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .55); transition: transform .1s; }
.tw-swatch:hover { transform: scale(1.1); }
.tw-swatch-input:checked + .tw-swatch { border-color: currentColor; box-shadow: inset 0 0 0 3px #fff; transform: scale(1.12); }
.tw-swatch-input:focus-visible + .tw-swatch { outline: 2px solid currentColor; outline-offset: 2px; }
.combo-menu .combo-code { opacity: .65; }
.combo-menu .dropdown-item.active .combo-code { opacity: .9; }

/* Cotizaciones */
.quote-items .combo-menu { min-width: 320px; }
@media print { .quote-print .card-body { padding: 0 !important; } .quote-print .badge { border: 1px solid #999; } }

/* Grupos dentro de un submenú del panel (Operaciones → Tablas → Tributos) */
.menu-group-item { padding-left: 2.6rem; font-size: .95em; }
