:root {
  --azul: #0023c5; --azul-osc: #001a94; --rojo: #ec0410; --rojo-osc: #b8030c; --fondo: #f4f5f7; --panel: #fff; --texto: #1d2129;
  --suave: #6b7280; --borde: #e3e5e8; --verde: #16a34a; --gris: #9ca3af; --amarillo: #f59e0b;
}
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: var(--texto); background: var(--fondo); }
button, input, select { font: inherit; }
.btn { background: var(--azul); color: #fff; border: 0; border-radius: 8px; padding: 10px 14px; font-weight: 600; cursor: pointer; }
.btn:hover { background: var(--azul-osc); }
.btn.sec { background: #fff; color: var(--texto); border: 1px solid var(--borde); }
.btn.sec:hover { background: #f0f1f3; }
.btn.chico { padding: 5px 9px; font-size: 13px; font-weight: 500; }
input, select { width: 100%; padding: 9px 10px; border: 1px solid var(--borde); border-radius: 8px; background: #fff; }
.marca { display: flex; align-items: center; gap: 8px; font-weight: 800; letter-spacing: .3px; }
.marca .logo { width: 30px; height: 30px; border-radius: 8px; background: var(--rojo); color: #fff; display: grid; place-items: center; font-size: 16px; }
.punto { width: 10px; height: 10px; border-radius: 50%; display: inline-block; background: var(--gris); flex: none; }
.punto.on { background: var(--verde); box-shadow: 0 0 0 3px #16a34a33; }
.etq { font-size: 12px; padding: 2px 8px; border-radius: 99px; background: #eef0f3; color: var(--suave); white-space: nowrap; }
.etq.en_camino { background: #fff4e0; color: #9a5b00; }
.etq.entregado { background: #e6f6ec; color: #13703a; }
.etq.cancelado { background: #fde8e8; color: #9b1c1c; }
.etq.asignado, .etq.pendiente { background: #eef0f3; color: #374151; }
.etq.aceptado { background: #e8edff; color: #0023c5; }
.etq.recogido { background: #f1e8ff; color: #6b21a8; }
.etq.rechazado { background: #fde8e8; color: #9b1c1c; }
.suave { color: var(--suave); font-size: 13px; }
.oculto { display: none !important; }
.tarjeta { background: var(--panel); border: 1px solid var(--borde); border-radius: 12px; padding: 14px; }
.moto-icono { background: var(--azul); color: #fff; border: 2px solid #fff; border-radius: 50%; display: grid !important; place-items: center; font-size: 16px; box-shadow: 0 2px 6px #0005; }
.moto-icono.off { background: var(--gris); }
.etiqueta-mapa { background: #fff; border: 0; border-radius: 6px; padding: 2px 6px; font-weight: 600; box-shadow: 0 1px 4px #0003; }
a { color: var(--azul); }
.logo-img { height: 50px; width: auto; display: block; }
.cabecera { background: #fff; border-bottom: 3px solid var(--azul); box-shadow: 0 3px 0 var(--rojo); }
a.btn { text-decoration: none; display: inline-block; }
.lema { color: var(--rojo); font-style: italic; font-weight: 700; letter-spacing: .2px; }
.moto-icono.off[style*="url("] { filter: grayscale(1); opacity: .8; }
.avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; background: var(--fondo); flex: none; border: 2px solid #fff; box-shadow: 0 1px 4px #0003; display: inline-grid; place-items: center; font-size: 18px; vertical-align: middle; }
.pin-lugar { font-size: 26px; line-height: 30px; text-align: center; filter: drop-shadow(0 2px 2px #0005); }
.leaflet-tooltip.etiqueta-lugar { background: #6b21a8; color: #fff; border: 0; font-weight: 700; padding: 1px 6px; box-shadow: none; }
.leaflet-tooltip.etiqueta-lugar::before { display: none; }

/* Crédito del mapa: mínimo y discreto (OpenStreetMap exige mostrarlo) */
.leaflet-container .leaflet-control-attribution { font-size: 9px; padding: 0 4px; background: rgba(255,255,255,.5); color: #777; }
.leaflet-container .leaflet-control-attribution a { color: #777; }
