/* Síguelo On Bus · piezas propias sobre la base del CRM (crm-base.css). Mismos tokens; nada se recolorea. */

/* Producto bajo el logo y empresa activa (multi-empresa) */
.bu-producto { margin: -6px 6px 6px; align-self: flex-start; font: 600 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; background: var(--ink); color: var(--marca); padding: 5px 8px; border-radius: 6px; }
.plegada .bu-producto { align-self: center; margin: -4px 0 8px; font-size: 9px; letter-spacing: .04em; padding: 4px 5px; }
.bu-empresa-logo.con-logo { background: #fff; border: 1px solid var(--line); overflow: hidden; }
.bu-empresa { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 12px 0 6px; border: 1px solid var(--line); border-radius: 999px; font-size: 13px; font-weight: 500; background: var(--card); }
.bu-empresa-logo { width: 28px; height: 28px; border-radius: 50%; background: #7A2E0E; color: #fff; display: inline-flex; align-items: center; justify-content: center; font: 700 11px/1 var(--sans); letter-spacing: .02em; }
.contenido { gap: 16px; }
.hora, .folio, .asiento { font-family: var(--mono); }
.folio { font-weight: 600; letter-spacing: .02em; }

/* ── Calendario tipo Gantt (buses y conductores) ── */
.gantt { --col-izq: 216px; display: flex; flex-direction: column; }
.gantt-eje, .gantt-fila { display: grid; grid-template-columns: var(--col-izq) minmax(0, 1fr); }
.gantt-eje { position: sticky; top: 60px; background: var(--soft); border-bottom: 1px solid var(--line); font: 500 11.5px/1 var(--mono); color: var(--muted); z-index: 2; }
.gantt-eje > div:first-child { padding: 10px 14px; font: 600 12px/1 var(--sans); color: var(--muted); }
.gantt-horas { position: relative; height: 34px; }
.gantt-horas span { position: absolute; top: 11px; transform: translateX(-50%); }
.gantt-grupo { padding: 8px 14px; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); background: var(--card); border-bottom: 1px solid var(--line-2); display: flex; justify-content: space-between; }
.gantt-fila { border-bottom: 1px solid var(--line-2); min-height: 50px; }
.gantt-fila > .gantt-quien { padding: 7px 14px; display: flex; flex-direction: column; justify-content: center; gap: 3px; border-right: 1px solid var(--line); min-width: 0; }
.gantt-quien .l1 { display: flex; align-items: center; gap: 7px; font-weight: 600; font-size: 13px; white-space: nowrap; }
.gantt-quien .l2 { font-size: 11.5px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gantt-pista { position: relative; background-image: linear-gradient(to right, var(--line-2) 1px, transparent 1px); background-size: calc(100% / var(--horas)) 100%; }
.gantt-bar { position: absolute; top: 8px; bottom: 8px; border-radius: 7px; padding: 3px 8px; font-size: 11.5px; line-height: 1.25; overflow: hidden; white-space: nowrap; display: flex; flex-direction: column; justify-content: center; border: 1px solid transparent; }
.gantt-bar b { font-weight: 600; overflow: hidden; text-overflow: ellipsis; }
.gantt-bar small { font-family: var(--mono); font-size: 10.5px; opacity: .85; overflow: hidden; text-overflow: ellipsis; }
.gantt-bar.a { background: var(--blue-soft); color: var(--blue); border-color: #C9D5F5; }
.gantt-bar.b { background: var(--teal-soft); color: var(--teal); border-color: #B5E2DB; }
.gantt-bar.vacio { background: repeating-linear-gradient(135deg, #EEF0F3 0 5px, #E2E5EA 5px 10px); color: var(--ink-2); border-color: #D0D5DD; top: 15px; bottom: 15px; padding: 0 6px; font-size: 10.5px; font-family: var(--mono); }
.gantt-bar.bloqueo { background: repeating-linear-gradient(135deg, var(--red-soft) 0 6px, #F9D6D1 6px 12px); color: #8F1B12; border-color: #F2C9C4; }
.gantt-bar.descanso { background: var(--amber-soft); color: var(--amber-ink); border-color: #F6DDB8; top: 15px; bottom: 15px; font-size: 10.5px; padding: 0 6px; }
.gantt-bar.conflicto { box-shadow: 0 0 0 2px var(--red); border-color: var(--red); }
.gantt-bar.fantasma { background: repeating-linear-gradient(135deg, #FFF7CC 0 6px, #FFEFA3 6px 12px); border: 2px dashed var(--marca-ambar); color: var(--marca-texto); }
.gantt-ahora { position: absolute; top: 0; bottom: 0; width: 2px; background: var(--red); z-index: 3; }
.gantt-ahora::before { content: attr(data-h); position: absolute; top: -2px; left: 50%; transform: translateX(-50%); background: var(--red); color: #fff; font: 600 10.5px/1 var(--mono); padding: 3px 5px; border-radius: 4px; white-space: nowrap; }
.gantt-leyenda { display: flex; flex-wrap: wrap; gap: 14px; font-size: 12px; color: var(--ink-2); align-items: center; }
.gantt-leyenda i { display: inline-block; width: 22px; height: 12px; border-radius: 4px; vertical-align: -2px; margin-right: 6px; border: 1px solid transparent; }
.badge-ico { display: inline-flex; color: var(--red); }

/* Panel lateral de conflictos */
.conf { display: flex; flex-direction: column; gap: 10px; }
.conf-item { border: 1px solid #F2C9C4; background: #FFF8F7; border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.conf-item.ok { border-color: #C7E6CF; background: #F6FBF7; }
.conf-item.aviso { border-color: #F6DDB8; background: #FFFBF3; }
.conf-item .tt { display: flex; gap: 8px; align-items: center; font-weight: 600; }

/* ── Mapa esquemático ── */
.mapa-mk { position: relative; border-radius: 12px; overflow: hidden; border: 1px solid var(--line); background: #EFE8D8; }
.mapa-flota { position: absolute; z-index: 2; background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; font-size: 12px; box-shadow: 0 6px 20px rgba(20,24,30,.08); }
.mapa-ctrl { position: absolute; right: 12px; top: 12px; display: flex; flex-direction: column; gap: 6px; z-index: 2; }
.mapa-ctrl span { width: 34px; height: 34px; background: var(--card); border: 1px solid var(--line); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-weight: 600; }

/* ── Plano de asientos ── */
.pl-bus { --pl-tam: 40px; display: inline-flex; flex-direction: column; gap: 6px; padding: 14px 14px 18px; background: var(--card); border: 2px solid #C9CED6; border-radius: 34px 34px 16px 16px; position: relative; }
.pl-frente { height: 18px; margin: -6px 8px 4px; border-bottom: 3px solid #C9CED6; border-radius: 0 0 50% 50% / 0 0 100% 100%; display: flex; justify-content: center; font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .1em; }
.pl-fila { display: flex; gap: 6px; }
.pl-asiento, .pl-pasillo, .pl-vacio, .pl-puerta { width: var(--pl-tam); height: var(--pl-tam); flex-shrink: 0; }
.pl-pasillo, .pl-asiento.pl-en-pasillo { width: calc(var(--pl-tam) * .8); }
.pl-asiento.pl-en-pasillo { font-size: 11px; }
.pl-asiento { position: relative; border-radius: 8px 8px 10px 10px; border: 1.5px solid #B8BEC7; background: #fff; display: flex; align-items: center; justify-content: center; font: 600 13px/1 var(--mono); color: var(--ink-2); box-shadow: inset 0 -4px 0 #EEF0F3; }
.pl-asiento i { position: absolute; bottom: -1px; left: 50%; transform: translate(-50%, 50%); font: 600 8.5px/1 var(--sans); font-style: normal; background: var(--ink); color: #fff; border-radius: 4px; padding: 2px 3px; white-space: nowrap; }
.pl-puerta { display: flex; align-items: center; justify-content: center; font-size: 9px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); border: 1.5px dashed #C9CED6; border-radius: 8px; }
.pl-cond, .pl-aux { background: var(--ink); color: var(--marca); border-color: var(--ink); box-shadow: none; font-size: 9.5px; }
.pl-cond svg { width: 20px; height: 20px; }
.pl-res { background: var(--blue-soft); border-color: #9DB2EC; color: var(--blue); box-shadow: inset 0 -4px 0 #D3DDF8; }
.pl-emb { background: var(--green); border-color: var(--green); color: #fff; box-shadow: inset 0 -4px 0 #16602D; }
.pl-blo { background: repeating-linear-gradient(135deg, #EEF0F3 0 4px, #D9DDE3 4px 8px); border-color: #B8BEC7; color: var(--muted); box-shadow: none; }
.pl-ret { background: var(--amber-soft); border-color: #E9B676; color: var(--amber-ink); border-style: dashed; }
.pl-sel { background: var(--marca); border-color: var(--ink); color: var(--ink); border-width: 2px; box-shadow: 0 0 0 3px rgba(255,213,0,.35), inset 0 -4px 0 var(--marca-ambar); }
.pl-ocu { background: #E2E5EA; border-color: #D0D5DD; color: #9AA1AC; box-shadow: none; }
.pl-mio { background: var(--ink); border-color: var(--ink); color: var(--marca); box-shadow: none; }
.pl-sinasiento { outline: 2px solid var(--red); outline-offset: 2px; }
.pl-cola { height: 6px; }
.pl-ley { display: flex; flex-wrap: wrap; gap: 8px 14px; font-size: 12px; color: var(--ink-2); }
.pl-ley span { display: inline-flex; align-items: center; gap: 6px; }
.pl-ley .pl-asiento { --pl-tam: 18px; width: 18px; height: 18px; border-radius: 4px; font-size: 0; box-shadow: none; }

/* ── Pasos y recurrencia ── */
.pasos { display: flex; gap: 6px; }
.pasos span { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px; border-radius: 999px; background: var(--card); border: 1px solid var(--line); font-size: 13px; color: var(--muted); }
.pasos span b { width: 22px; height: 22px; border-radius: 50%; background: var(--line-2); color: var(--ink-2); display: inline-flex; align-items: center; justify-content: center; font: 600 11px/1 var(--mono); }
.pasos span.ya b { background: var(--green); color: #fff; }
.pasos span.act { color: var(--ink); font-weight: 600; border-color: var(--ink); }
.pasos span.act b { background: var(--marca); color: var(--ink); }
.dias-sem { display: inline-flex; gap: 6px; }
.dias-sem span { width: 40px; height: 40px; border-radius: 10px; border: 1px solid #D0D5DD; display: inline-flex; align-items: center; justify-content: center; font-weight: 600; font-size: 13px; background: var(--card); color: var(--ink-2); }
.dias-sem span.on { background: var(--ink); color: var(--marca); border-color: var(--ink); }
.mini-cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; font: 500 12px/1 var(--mono); text-align: center; }
.mini-cal .d { padding: 7px 0; border-radius: 6px; color: var(--ink-2); }
.mini-cal .cab { font: 600 10.5px/1 var(--sans); color: var(--muted); padding: 4px 0; text-transform: uppercase; }
.mini-cal .on { background: var(--teal); color: #fff; font-weight: 600; }
.mini-cal .fer { background: var(--red-soft); color: var(--red); text-decoration: line-through; }
.mini-cal .fuera { color: #C4C9D1; }
.regla { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line-2); }
.regla:last-child { border-bottom: 0; }
.regla .ico { width: 30px; height: 30px; border-radius: 8px; background: var(--soft); display: flex; align-items: center; justify-content: center; color: var(--ink-2); }
.regla b { font-size: 13.5px; font-weight: 600; display: block; }
.regla small { color: var(--muted); font-size: 12px; }
.valor { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 10px; border: 1px solid #D0D5DD; border-radius: 8px; font: 600 13px/1 var(--mono); background: var(--card); white-space: nowrap; }
.valor small { font: 500 12px var(--sans); color: var(--muted); }
.paradas { list-style: none; margin: 0; padding: 0; position: relative; }
.paradas li { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 7px 0; position: relative; }
.paradas li::before { content: ''; position: absolute; left: 12px; top: 0; bottom: 0; width: 2px; background: #D0D5DD; z-index: 0; }
.paradas li:first-child::before { top: 50%; }
.paradas li:last-child::before { bottom: 50%; }
.paradas .n { position: relative; z-index: 1; width: 26px; height: 26px; border-radius: 50%; background: #fff; border: 2px solid var(--ink); display: flex; align-items: center; justify-content: center; font: 600 11px/1 var(--mono); }
.paradas li.ext .n { background: var(--ink); color: var(--marca); }
.paradas .t { font-size: 13px; min-width: 0; }
.paradas .t small { display: block; color: var(--muted); font-size: 11.5px; }
.paradas .h { font: 600 13px/1 var(--mono); text-align: right; }
.paradas .h small { display: block; font: 400 11px var(--sans); color: var(--muted); margin-top: 3px; }

/* ── Desglose de precio ── */
.desglose { width: 100%; border-collapse: collapse; font-size: 13px; }
.desglose td { padding: 7px 0; border-bottom: 1px dashed var(--line); }
.desglose td.n { text-align: right; font-family: var(--mono); white-space: nowrap; }
.desglose td.c { color: var(--muted); font-family: var(--mono); font-size: 12px; white-space: nowrap; padding-right: 10px; }
.desglose tr.sub td { border-bottom: 1px solid var(--line); font-weight: 600; }
.desglose tr.desc td { color: var(--green); }
.desglose tr.total td { border: 0; font-size: 20px; font-weight: 700; padding-top: 12px; }

/* ── Celular (apps del pasajero y del conductor): misma piel que siguelo-terreno ── */
.cel { width: 390px; min-height: 844px; background: var(--bg); display: flex; flex-direction: column; font-size: 15px; }
.cel-ab { background: var(--ink); color: #fff; padding: 12px 14px; display: flex; align-items: center; gap: 10px; min-height: 58px; }
.cel-ab .vol { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 24px; margin-left: -6px; color: #fff; }
.cel-ab .tt { flex: 1; min-width: 0; }
.cel-ab .tt b { display: block; font-size: 16.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cel-ab .tt small { display: block; color: #C9CED6; font-size: 12.5px; }
.cel-ab img { height: 24px; }
.cel-cu { flex: 1; padding: 12px; display: flex; flex-direction: column; gap: 10px; }
.cd { background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 12px 13px; display: flex; flex-direction: column; gap: 8px; }
.cd h4 { margin: 0; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); font-weight: 600; display: flex; justify-content: space-between; align-items: center; }
.bt { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; border-radius: 12px; font: 600 16px var(--sans); border: 1px solid #D0D5DD; background: #fff; color: var(--ink); padding: 0 14px; width: 100%; }
.bt.pr { background: var(--marca); border-color: var(--marca-ambar); }
.bt.os { background: var(--ink); border-color: var(--ink); color: #fff; }
.bt.peq { min-height: 42px; font-size: 14px; }
.cel-pie { position: sticky; bottom: 0; background: var(--card); border-top: 1px solid var(--line); padding: 10px 12px 14px; display: flex; flex-direction: column; gap: 8px; }
.cel-tabs { display: grid; grid-template-columns: repeat(4, 1fr); background: var(--card); border-top: 1px solid var(--line); padding: 6px 4px 10px; }
.cel-tabs span { display: flex; flex-direction: column; align-items: center; gap: 3px; font-size: 11px; color: var(--muted); font-weight: 500; }
.cel-tabs span.on { color: var(--ink); font-weight: 600; }
.cel-tabs span.on svg { background: var(--marca); border-radius: 999px; padding: 3px 12px; width: 46px; height: 28px; }
.reten { display: flex; align-items: center; gap: 10px; background: var(--amber-soft); color: var(--amber-ink); border-radius: 12px; padding: 10px 12px; font-size: 13.5px; }
.reten b { font: 700 18px/1 var(--mono); }
.placa { font: 700 15px var(--mono); letter-spacing: .08em; border: 2px solid var(--ink); border-radius: 6px; padding: 1px 7px; background: #fff; white-space: nowrap; }

/* ── Documento PDF (A4 a 96 ppp: 794 × 1123) ── */
.hoja { width: 794px; min-height: 1123px; background: #fff; padding: 46px 52px 40px; display: flex; flex-direction: column; gap: 18px; font-size: 12.5px; color: var(--ink); }

.gantt-fila.doble { min-height: 74px; }
.gantt-fila.doble .gantt-bar.arriba { top: 6px; bottom: 50%; margin-bottom: 2px; }
.gantt-fila.doble .gantt-bar.abajo { top: 50%; bottom: 6px; margin-top: 2px; }
.gantt-ahora.sin-h::before { display: none; }
.conf.horizontal { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gantt-bar { z-index: 2; }
.gantt-ahora { z-index: 1; }
.gantt-ahora.sin-h { opacity: .5; }
.gantt-fila.doble .gantt-bar.arriba small, .gantt-fila.doble .gantt-bar.abajo small { display: none; }
.gantt-fila.doble .gantt-bar.vacio { top: 28px; bottom: 28px; }

/* Tipos de asiento: el plano los dibuja con distinta profundidad */
.pl-esp { width: calc(var(--pl-tam) * 2 + 6px); border-style: solid; background: var(--soft); }
.pl-cama .pl-asiento:not(.pl-cond):not(.pl-aux) { height: calc(var(--pl-tam) * 1.45); border-radius: 10px 10px 14px 14px; }
.pl-cama180 .pl-asiento:not(.pl-cond):not(.pl-aux) { height: calc(var(--pl-tam) * 1.7); border-radius: 10px 10px 16px 16px; box-shadow: inset 0 -10px 0 #EEF0F3; }
.pl-semicama .pl-asiento:not(.pl-cond):not(.pl-aux) { height: calc(var(--pl-tam) * 1.18); }
.tipo-asiento { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.tipo-asiento span { border: 1px solid #D0D5DD; border-radius: 10px; padding: 10px 4px; display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; background: var(--card); text-align: center; }
.tipo-asiento span small { font-weight: 400; color: var(--muted); font-size: 11.5px; }
.tipo-asiento span.on { border: 2px solid var(--ink); background: var(--marca-suave); }
.tipo-asiento i { display: block; width: 18px; border: 1.5px solid #8A919C; border-radius: 4px 4px 6px 6px; background: #fff; }

/* Baño central: escalera y baño forman un solo bloque */
.pl-eb { flex: 1; height: calc(var(--pl-tam) * 1.6); display: flex; border: 1.5px solid #B8BEC7; border-radius: 8px; background: var(--soft); overflow: hidden; font-size: 9.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.pl-eb span { flex: 1; display: flex; align-items: center; justify-content: center; }
.pl-eb span + span { border-left: 1.5px dashed #B8BEC7; background: var(--blue-soft); color: var(--blue); }

/* Baño, escalera y puerta central: solo en el lado derecho del bus */
.pl-bloque { width: calc(var(--pl-tam) * 2 + 6px); height: var(--pl-tam); flex-shrink: 0; display: flex; align-items: center; justify-content: center; border: 1.5px solid #B8BEC7; border-radius: 8px; background: var(--soft); font-size: 9px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); text-align: center; line-height: 1.1; }
.pl-bloque.uno { width: var(--pl-tam); writing-mode: vertical-rl; transform: rotate(180deg); }
.pl-bloque.pl-wc { background: var(--blue-soft); color: var(--blue); border-color: #9DB2EC; }
.pl-bloque.pl-pc { border-style: dashed; background: transparent; }
.pl-cama180 .pl-bloque { height: calc(var(--pl-tam) * 1.7); }
.pl-cama .pl-bloque { height: calc(var(--pl-tam) * 1.45); }
.pl-semicama .pl-bloque { height: calc(var(--pl-tam) * 1.18); }

/* Cambios de la empresa sobre el layout original */
.pl-asiento.pl-nueva { border: 2px dashed var(--green); }
.pl-asiento.pl-nueva i { background: var(--green); }
.pl-asiento.pl-nueva.pl-sel { border: 2px dashed var(--ink); }
.pl-bloque.pl-pe { background: repeating-linear-gradient(0deg, var(--soft) 0 6px, #E2E5EA 6px 7px); }
/* Barra de filtros dentro de una tarjeta. .bloque es una columna (flex-direction: column); las barras de filtros que
   le ponían display:flex + flex-wrap en línea quedaban apiladas y, con align-items:flex-end, pegadas a la derecha.
   .filtros la vuelve una fila alineada a la izquierda; la segunda regla corrige las pantallas que aún usan el estilo en línea. */
.bloque.filtros, .bloque[style*="flex-wrap:wrap"] { flex-direction: row; flex-wrap: wrap; align-items: flex-end; justify-content: flex-start; gap: 12px; }
.bloque.filtros > .etiqueta { min-width: 200px; }
@media (max-width: 600px) { .bloque.filtros > .etiqueta { flex: 1 1 100%; min-width: 0; } }

/* Calendario con más contraste (corrección 11-10-2026): barras más llenas y legibles, ejes y líneas más marcados. */
.gantt-eje { font-size: 12.5px; color: var(--ink-2); }
.gantt-eje > div:first-child { color: var(--ink-2); }
.gantt-grupo { color: var(--ink-2); background: var(--soft); font-size: 11.5px; }
.gantt-fila { border-bottom-color: var(--line); }
.gantt-quien .l1 { font-size: 13.5px; }
.gantt-quien .l2 { color: var(--ink-2); font-size: 12px; }
.gantt-pista { background-image: linear-gradient(to right, #DDE1E7 1px, transparent 1px); }
.gantt-bar { font-size: 12px; min-width: 10px; box-shadow: 0 1px 2px rgba(20, 24, 30, .12); }
.gantt-bar small { opacity: 1; }
.gantt-bar.a { background: #D6E2FD; color: #163A8A; border-color: #7FA0EA; }
.gantt-bar.b { background: #C8EEE6; color: #0B5247; border-color: #4DB8A4; }
.gantt-bar.vacio { background: repeating-linear-gradient(135deg, #E4E7EC 0 5px, #D3D8DF 5px 10px); color: var(--ink); border-color: #AEB6C2; }
.gantt-bar.bloqueo { color: #7A140C; border-color: #E58E83; }
.gantt-bar.descanso { border-color: #E8B66A; }
.gantt-leyenda { color: var(--ink); font-size: 12.5px; }
.gantt-leyenda i { border-color: rgba(20, 24, 30, .25); }
.gantt-bar { min-width: 18px; }
/* Empresa en el menú lateral, bajo el logo (como en Síguelo On Rent) */
.bu-empresa-menu { display: flex; align-items: center; gap: 10px; margin: -2px 4px 8px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; min-width: 0; }
.bu-empresa-menu > div { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.bu-empresa-menu b { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bu-empresa-menu span { font-size: 11px; color: var(--muted); }
.bu-empresa-menu .bu-empresa-logo { width: 32px; height: 32px; border-radius: 8px; flex-shrink: 0; color: #fff !important; font: 700 12px/1 var(--sans); }
.bu-empresa-menu img.bu-empresa-logo { object-fit: contain; padding: 2px; }
.bu-empresa-menu select.campo { height: 30px; padding: 2px 6px; font-size: 12.5px; min-width: 0; width: 100%; }
.plegada .bu-empresa-menu { justify-content: center; padding: 6px 0; margin: 0 0 8px; border: 0; }
.plegada .bu-empresa-menu > div { display: none; }
.plegada .bu-empresa-menu .bu-empresa-logo { width: 36px; height: 36px; }
