.map-container-wrapper,.mapboxgl-canvas,.mapboxgl-canvas-container,.mapboxgl-map{width:100%!important;height:100%!important}.map-container-wrapper{position:relative!important;min-height:calc(100vh - 12rem)!important}@media (max-width:768px){.map-container-wrapper{min-height:calc(100vh - 14rem)!important}}.location-button{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#ff7e5f,#feb47b);color:white;box-shadow:0 4px 12px rgba(0,0,0,.15);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.location-button:disabled{opacity:.7;background:linear-gradient(135deg,rgba(255,126,95,.6),rgba(254,180,123,.6));cursor:default}.location-button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.2)}.location-button:not(:disabled):active{transform:scale(.95);box-shadow:0 2px 8px rgba(0,0,0,.15)}.location-button:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(255,126,95,.5),0 4px 12px rgba(0,0,0,.15)}.location-button:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;background:rgba(255,255,255,.4);border-radius:50%;transform:translate(-50%,-50%) scale(0);opacity:0}.location-button:not(:disabled):active:after{animation:ripple .6s ease-out}@keyframes ripple{0%{transform:translate(-50%,-50%) scale(0);opacity:1}80%{transform:translate(-50%,-50%) scale(1.5);opacity:.5}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.dark .location-button{box-shadow:0 4px 12px rgba(0,0,0,.3)}.map-controls-container{position:absolute;bottom:20px;right:20px;z-index:10}@media (max-width:640px){.location-button{width:56px;height:56px}.location-button svg{width:24px;height:24px}}.map-loading{opacity:0}.map-loaded,.map-loading{transition:opacity .5s ease-in-out}.map-loaded{opacity:1}.map-container{position:relative;height:100%;width:100%}.map-loading-indicator{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:hsl(var(--background)/.8);backdrop-filter:blur(4px);z-index:50;transition:opacity .3s ease-out}.map-loading-indicator.hidden{opacity:0;pointer-events:none}.loading-spinner{height:2rem;width:2rem;border-radius:9999px;border:4px solid hsl(var(--primary));border-top:4px solid transparent;animation:spin 1s linear infinite}.truck-marker{width:24px;height:24px;background-color:hsl(var(--primary));border-radius:50%;border:2px solid white;box-shadow:0 2px 4px rgba(0,0,0,.2);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;animation:marker-pop-in .3s cubic-bezier(.34,1.56,.64,1);transform-origin:bottom center;will-change:transform}.truck-marker:hover{transform:scale(1.2);box-shadow:0 4px 8px rgba(0,0,0,.3)}@keyframes marker-pop-in{0%{opacity:0;transform:scale(0) translateY(10px)}70%{opacity:1;transform:scale(1.2) translateY(-5px)}to{transform:scale(1) translateY(0)}}.truck-marker:nth-child(3n){animation-delay:.05s}.truck-marker:nth-child(3n+1){animation-delay:.1s}.truck-marker:nth-child(3n+2){animation-delay:.15s}.status-indicator{position:absolute;bottom:-2px;right:-2px;width:8px;height:8px;border-radius:50%;border:1px solid white;animation:pulse 2s infinite}.status-indicator.open{background-color:#10b981}.status-indicator.closed{background-color:#ef4444;animation:none}.popup-content{padding:12px;max-width:220px;animation:popup-fade-in .2s ease-out;border-radius:8px}@keyframes popup-fade-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.popup-content h3{margin-bottom:4px}.popup-status{margin-top:4px}@keyframes spin{to{transform:rotate(1turn)}}.view-transition{transition:opacity .3s ease-out,transform .3s ease-out}.view-transition.entering{opacity:0;transform:translateY(10px)}.view-transition.entered{opacity:1;transform:translateY(0)}.view-transition.exiting{opacity:0;transform:translateY(-10px)}.dark .status-indicator,.dark .truck-marker{border-color:hsl(var(--background))}.dark .popup-content{background-color:hsl(var(--background));color:hsl(var(--foreground))}.map-marker-container{position:relative;flex-direction:column;cursor:pointer;z-index:1;pointer-events:auto}.map-marker,.map-marker-container{display:flex;align-items:center;box-sizing:border-box}.map-marker{width:40px;height:40px;border-radius:50%;background-color:white;border:3px solid #ff5a5f;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.15);transition:box-shadow .3s ease-in-out;overflow:hidden;z-index:2}.map-marker-container:hover .map-marker{box-shadow:0 4px 12px rgba(0,0,0,.2)}.map-marker-tooltip{position:absolute;top:-40px;background-color:rgba(0,0,0,.8);color:white;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;opacity:0;transition:opacity .2s ease-in-out;pointer-events:none;z-index:3;left:50%;transform:translateX(-50%);box-sizing:border-box}.map-marker-container:hover .map-marker-tooltip{opacity:1}.map-marker-open{border-color:#00a699}.map-marker-closed{border-color:#767676;opacity:.7}.map-marker-selected{border-color:#ff5a5f;box-shadow:0 4px 12px rgba(255,90,95,.4)}.map-marker-logo{width:32px;height:32px;-o-object-fit:cover;object-fit:cover;border-radius:50%}.map-marker-icon{font-size:16px;font-weight:700;color:#484848}.user-location-marker{width:20px;height:20px;border-radius:50%;background-color:#4285f4;border:3px solid white;box-shadow:0 2px 8px rgba(0,0,0,.3)}.mapboxgl-popup-content{padding:12px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);max-width:240px}.popup-content h3{margin:0 0 8px;font-size:16px;font-weight:600}.popup-content p{margin:0 0 8px;font-size:14px;color:#666}.popup-status{display:inline-block;padding:2px 6px;border-radius:4px;font-size:12px;font-weight:500;text-transform:uppercase}.popup-status.open{background-color:rgba(16,185,129,.1);color:#10b981}.popup-status.closed{background-color:rgba(239,68,68,.1);color:#ef4444}@keyframes pulse{0%{transform:scale(1);opacity:.8}70%{transform:scale(1.2);opacity:0}to{transform:scale(1.2);opacity:0}}.map-marker-pulse:after{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border-radius:50%;border:2px solid #00a699;animation:pulse 2s infinite;z-index:1;pointer-events:none}@media (prefers-color-scheme:dark){.map-marker{background-color:#1f2937;border-color:#ff5a5f}.map-marker-open{border-color:#00a699}.map-marker-closed{border-color:#9ca3af}.map-marker-icon{color:#e5e7eb}.map-marker-tooltip{background-color:rgba(31,41,55,.9)}.user-location-marker{background-color:#4285f4;border-color:#1f2937}.mapboxgl-popup-content{background-color:#1f2937;color:#e5e7eb}.popup-content p{color:#9ca3af}}