:root{--grab-green:#00b14f;--grab-green-dark:#009140;--grab-green-light:#e5f7ed;--text-main:#1c1c1c;--text-muted:#6b7280;--bg-main:#f3f4f6;--bg-card:#fff;--border-color:#e5e7eb;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-up:0 -4px 6px -1px #0000001a;--radius-md:.5rem;--radius-lg:1rem;--radius-xl:1.5rem;--transition:all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-main);background-color:var(--bg-main);-webkit-font-smoothing:antialiased;touch-action:none;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;overflow:hidden}#root{flex-direction:column;width:100vw;height:100vh;display:flex;position:relative}.map-container{z-index:10;flex-grow:1;width:100%;height:100%;position:absolute;top:0;left:0}.leaflet-control-zoom{box-shadow:var(--shadow-md)!important;border:none!important;margin-top:60px!important}.ui-overlay{z-index:1000;pointer-events:none;width:100%;height:100%;position:absolute}.ui-overlay>*{pointer-events:auto}.app-header{background:linear-gradient(#ffffffe6 0%,#fff0 100%);justify-content:space-between;align-items:center;width:100%;padding:1rem;display:flex;position:absolute;top:0;left:0}.menu-btn{background:var(--bg-card);width:40px;height:40px;box-shadow:var(--shadow-md);cursor:pointer;color:var(--text-main);transition:var(--transition);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.menu-btn:active{transform:scale(.95)}.bottom-sheet{background:var(--bg-card);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);width:100%;box-shadow:var(--shadow-up);max-width:600px;margin:0 auto;padding:1.5rem;transition:transform .4s cubic-bezier(.32,.72,0,1);position:absolute;bottom:0;left:0;right:0}.sheet-handle{background:#d1d5db;border-radius:2px;width:40px;height:4px;margin:0 auto 1.5rem}.text-h1{font-size:1.5rem;font-weight:700}.text-h2{font-size:1.25rem;font-weight:600}.text-h3{font-size:1rem;font-weight:600}.text-body{color:var(--text-muted);font-size:.875rem}.text-primary{color:var(--grab-green)}.btn{border-radius:var(--radius-md);cursor:pointer;width:100%;transition:var(--transition);border:none;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:1rem;font-weight:600;display:flex}.btn-primary{background-color:var(--grab-green);color:#fff}.btn-primary:hover{background-color:var(--grab-green-dark)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{cursor:not-allowed;background-color:#a7f3d0}.btn-secondary{background-color:var(--bg-main);color:var(--text-main)}.btn-secondary:hover{background-color:#e5e7eb}.input-group{background:var(--bg-main);border-radius:var(--radius-md);transition:var(--transition);border:1px solid #0000;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.input-group:focus-within{border-color:var(--grab-green);background:var(--bg-card);box-shadow:0 0 0 4px var(--grab-green-light)}.input-unstyled{width:100%;color:var(--text-main);background:0 0;border:none;outline:none;font-family:inherit;font-size:1rem}.input-unstyled::placeholder{color:var(--text-muted)}.location-item{border-bottom:1px solid var(--border-color);cursor:pointer;align-items:center;gap:1rem;padding:1rem 0;display:flex}.location-item:last-child{border-bottom:none}.location-icon-container{background:var(--bg-main);width:40px;height:40px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;display:flex}@keyframes pulse-ring{0%{transform:scale(.8);box-shadow:0 0 #00b14fb3}70%{transform:scale(1);box-shadow:0 0 0 20px #00b14f00}to{transform:scale(.8);box-shadow:0 0 #00b14f00}}.pulse-animation{border-radius:50%;animation:2s infinite pulse-ring}.fade-in{animation:.3s ease-in-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.custom-marker img{filter:drop-shadow(0 2px 4px #0000004d)}.driver-card{border:1px solid var(--border-color);border-radius:var(--radius-md);align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.driver-avatar{background:var(--bg-main);object-fit:cover;border-radius:50%;width:50px;height:50px}.plate-number{background:var(--bg-main);letter-spacing:1px;border:1px solid #d1d5db;border-radius:4px;padding:.25rem .5rem;font-size:.8rem;font-weight:700}.badge{background:var(--grab-green-light);color:var(--grab-green-dark);border-radius:1rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}
