*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9fafb;color:#111827;line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#10b981;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#059669}@keyframes slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-ring{0%{transform:scale(.8);opacity:1}to{transform:scale(2);opacity:0}}@keyframes bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-slide-up{animation:slide-up .4s cubic-bezier(.16,1,.3,1) forwards}.animate-fade-in{animation:fade-in .3s ease-out forwards}.animate-fade-in-down{animation:fade-in-down .3s ease-out forwards}.animate-pulse-ring{animation:pulse-ring 1.5s cubic-bezier(.215,.61,.355,1) infinite}.animate-bounce-subtle{animation:bounce-subtle 2s ease-in-out infinite}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.leaflet-container{font-family:inherit;z-index:1}.leaflet-pane{z-index:10!important}.leaflet-top,.leaflet-bottom{z-index:20!important}.leaflet-popup-content-wrapper{border-radius:12px;box-shadow:0 4px 16px #0000001f;padding:0}.leaflet-popup-content{margin:12px 16px;font-size:14px}.leaflet-popup-tip{display:none}.user-marker{background:#10b981;width:20px;height:20px;border-radius:50%;border:3px solid white;box-shadow:0 2px 8px #0000004d,0 0 0 4px #10b9814d}.driver-marker{background:#3b82f6;width:16px;height:16px;border-radius:50%;border:2px solid white;box-shadow:0 2px 4px #0003;transition:transform .2s}.driver-marker:hover{transform:scale(1.2)}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}input:focus,textarea:focus,select:focus{outline:none}button{cursor:pointer;font-family:inherit}button:disabled{cursor:not-allowed}a{color:#10b981;text-decoration:none}a:hover{text-decoration:underline}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:12px 24px;border-radius:12px;box-shadow:0 4px 12px #00000026;z-index:9999;animation:slide-up .3s ease-out}.toast.success{background:#10b981}.toast.error{background:#ef4444}@keyframes reveal-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-left{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes reveal-right{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes reveal-scale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.reveal{animation:reveal-up .6s ease-out forwards}.reveal-delay-1{animation-delay:.1s;opacity:0}.reveal-delay-2{animation-delay:.2s;opacity:0}.reveal-delay-3{animation-delay:.3s;opacity:0}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.02)}.gradient-text{background:linear-gradient(135deg,#10b981,#14b8a6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass{background:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@media (max-width: 640px){html{font-size:14px}input,button,select,textarea{font-size:16px}}@media (min-width: 641px) and (max-width: 1024px){.hero-text{font-size:2.5rem}}@media print{.no-print{display:none!important}}:focus-visible{outline:2px solid #10b981;outline-offset:2px}::-moz-selection{background:#10b98140;color:inherit}::selection{background:#10b98140;color:inherit}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.bg-gradient-hero{background:linear-gradient(135deg,#059669,#10b981,#14b8a6)}.bg-gradient-card{background:linear-gradient(180deg,#fff,#f9fafb)}.shadow-soft{box-shadow:0 4px 14px #0000000d}.shadow-elevated{box-shadow:0 10px 40px -10px #0000001a}.text-balance{text-wrap:balance}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}*{-webkit-tap-highlight-color:transparent}img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}button,a,input,textarea,select{transition:all .2s cubic-bezier(.4,0,.2,1)}*:focus-visible{outline:2px solid #10b981;outline-offset:2px;border-radius:4px}::selection{background-color:#10b981;color:#fff}::-moz-selection{background-color:#10b981;color:#fff}.prevent-shift{content-visibility:auto;contain-intrinsic-size:auto 500px}@media (prefers-reduced-motion: no-preference){*{scroll-behavior:smooth}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
