.fretes-marker--custom{background:0 0;border:none}.fretes-truck{cursor:pointer;width:42px;height:42px;transition:opacity .25s,filter .25s;display:block;position:relative}.fretes-truck__core{transition:transform .18s;position:absolute;inset:0}.fretes-truck__ring{border:3px solid var(--ring-color);background:#fff;border-radius:9999px;transition:box-shadow .18s;position:absolute;inset:1px;box-shadow:0 6px 14px -4px #10182880}.fretes-truck__body{color:#fff;background:radial-gradient(circle at 32% 26%, color-mix(in oklab, var(--truck-color) 70%, #fff) 0%, var(--truck-color) 62%);border-radius:9999px;justify-content:center;align-items:center;display:flex;position:absolute;inset:6px}.fretes-truck__body svg{width:16px;height:16px}.fretes-truck:hover .fretes-truck__core{transform:scale(1.1)}.fretes-type-badge{box-sizing:border-box;background:var(--truck-color);color:#fff;min-width:18px;height:15px;font:800 9px/12px var(--font-sans);letter-spacing:.02em;text-align:center;pointer-events:none;border:1.5px solid #fff;border-radius:5px;padding:0 3px;position:absolute;bottom:-3px;right:-5px;box-shadow:0 1px 3px #0006}.fretes-truck__halo{background:var(--truck-color);opacity:0;pointer-events:none;border-radius:9999px;position:absolute;inset:4px}.fretes-truck.is-live .fretes-truck__halo{animation:2.2s ease-out infinite fretes-halo}@keyframes fretes-halo{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}.fretes-truck__heading{pointer-events:none;transition:transform .6s;position:absolute;inset:-4px}.fretes-truck__heading i{border-left:6px solid #0000;border-right:6px solid #0000;border-bottom:8px solid var(--truck-color);filter:drop-shadow(0 0 1.5px #fff)drop-shadow(0 1px 1px #00000059);width:0;height:0;margin-left:-6px;position:absolute;top:0;left:50%}.fretes-truck__alert{box-sizing:border-box;color:#fff;width:17px;height:17px;font:800 10px/13px var(--font-sans);text-align:center;background:#c4320a;border:2px solid #fff;border-radius:9999px;position:absolute;top:-3px;right:-3px;box-shadow:0 1px 3px #00000059}.fretes-truck.is-stale:not(.is-late) .fretes-truck__alert{background:#667085}.fretes-truck__label{white-space:nowrap;font:700 10.5px/1.25 var(--font-sans);font-variant-numeric:tabular-nums;letter-spacing:.01em;color:#101828;pointer-events:none;background:#fffffff5;border:1px solid #10182814;border-radius:6px;padding:2px 6px;position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%);box-shadow:0 2px 6px -2px #1018284d}.fretes-truck.is-late .fretes-truck__ring{border-width:3.5px;box-shadow:0 6px 14px -4px #10182880,0 0 0 3px #c4320a47}.fretes-truck.is-stale .fretes-truck__ring{border-style:dashed}.fretes-truck.is-stale .fretes-truck__body{filter:saturate(.45);opacity:.8}.fretes-truck.is-selected .fretes-truck__core{transform:scale(1.2)}.fretes-truck.is-selected .fretes-truck__ring{box-shadow:0 0 0 3px color-mix(in oklab, var(--truck-color) 40%, transparent), 0 10px 22px -6px #1018288c}.fretes-truck.is-selected .fretes-truck__label{color:#fff;background:var(--truck-color);border-color:var(--truck-color);top:calc(100% + 6px)}.fretes-truck.is-dimmed{opacity:.35;filter:grayscale(.7)}.fretes-truck.is-dimmed .fretes-truck__label{display:none}.fretes-driver{cursor:pointer;width:34px;height:34px;display:block;position:relative}.fretes-driver__body{box-sizing:border-box;background:var(--truck-color);color:#fff;font:700 11px/24px var(--font-sans);text-align:center;box-shadow:0 0 0 2px var(--truck-color), 0 4px 10px #10182859;border:2px solid #fff;border-radius:9999px;position:absolute;inset:3px;overflow:hidden}.fretes-driver__photo{background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:9999px;position:absolute;inset:0}.fretes-driver__online{box-sizing:border-box;background:#22c55e;border:2px solid #fff;border-radius:9999px;width:11px;height:11px;position:absolute;top:0;left:0}.fretes-driver.is-offline .fretes-driver__body{opacity:.75;filter:saturate(.5);outline-offset:1px;outline:2px dashed #98a2b3;box-shadow:0 4px 10px #10182859}.fretes-dot{width:24px;height:24px;display:block;position:relative}.fretes-dot__body{background:var(--truck-color);color:#fff;font:800 8px/1 var(--font-sans);letter-spacing:.02em;outline:2.5px solid var(--ring-color);border:1.5px solid #fff;border-radius:9999px;justify-content:center;align-items:center;display:flex;position:absolute;inset:3px;box-shadow:0 1px 4px #00000073}.fretes-dot.is-late .fretes-dot__body{outline-width:3px}.fretes-dot.is-stale .fretes-dot__body{filter:saturate(.45);outline-style:dashed}.fretes-dot__label{white-space:nowrap;font:600 11px/1.2 var(--font-sans);color:#101828;pointer-events:none;background:#fffffff2;border-radius:6px;padding:2px 6px;position:absolute;top:3px;left:calc(100% + 3px);box-shadow:0 1px 3px #00000040}.fretes-stop{width:30px;height:30px;display:block;position:relative}.fretes-stop__pin{background:var(--stop-color);border:2.5px solid #fff;border-radius:50% 50% 50% 0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;transform:rotate(-45deg);box-shadow:-2px 4px 10px -2px #10182873}.fretes-stop__icon{color:#fff;display:flex;transform:rotate(45deg)}.fretes-stop__label{white-space:nowrap;font:600 11px/1.25 var(--font-sans);color:#101828;border-left:3px solid var(--stop-color);pointer-events:none;background:#fffffff5;border-radius:6px;padding:3px 7px;position:absolute;top:4px;left:calc(100% + 6px);box-shadow:0 2px 6px -2px #1018284d}.dark .fretes-truck__label,.dark .fretes-stop__label,.dark .fretes-dot__label{color:#e4e7ec;background:#161b24f2}.dark .fretes-truck__label{border-color:#ffffff14}.dark .fretes-truck__ring{background:#12151c}.dark .fretes-truck__body,.dark .fretes-type-badge,.dark .fretes-driver__body,.dark .fretes-dot__body,.dark .fretes-truck.is-selected .fretes-truck__label{color:#0b0d12}.dark .fretes-truck.is-selected .fretes-truck__label{background:var(--truck-color)}@media (prefers-reduced-motion:reduce){.fretes-truck.is-live .fretes-truck__halo{animation:none}.fretes-truck__heading,.fretes-truck__core,.fretes-truck__ring{transition:none}}@keyframes fretes-slide-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}
