


        /* Custom CSS for branding and layout */
        body {
            font-family: 'Inter', sans-serif;
            background-color: #ffffff; /* Light gray background for consistency */
            position: relative; /* Needed for watermark positioning */
        }
        
        // main {
            // background-color: #ff0000; /* Light gray background for consistency */
        // }
        

        /* Header Specific Styles */
        .app-header {
          background-color: #ffffff; 
          padding: 0.5rem; /* Unified padding */
          display: flex;
          align-items: center;
          justify-content: space-between; /* Adjusted for better spacing */
          gap: 1rem;
          position: fixed;
          top: 0;
          left: 0;
          width: 100%;
          z-index: 1000;
          box-shadow: 0 2px 4px rgba(0,0,0,0.1); /* Added a subtle shadow */
        }

        .app-header img {
          max-height: 40px;
          height: auto;
          width: auto;
          margin-right: 5px;
          margin-left: 5px;
          flex-shrink: 0;
        }

        .app-header .brand-text { /* Scoped brand-text to header */
          font-size: 1.4rem;
          font-weight: 900;
          font-family: 'Arial', Impact, sans-serif;
          text-transform: uppercase;
          letter-spacing: 1px;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
          text-align: left;
          margin-right: 0.5rem;
        }

        .app-header .brand-text .store { color: var(--logo-blue); }
        .app-header .brand-text .run { color: var(--yellow); }

        .app-header .header-page-name { /* Scoped header-page-name to header */
          color: var(--logo-blue);
          font-weight: 700;
          font-size: 1.2rem;
          letter-spacing: 1px;
          padding: 0;
          margin-left: 4px;
          align-self: center;
        }

        /* Watermark/Faded Logo Background */
        .store-run-watermark {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            font-size: 10vw; /* Responsive font size for large text */
            color: rgba(0, 0, 0, 0.05); /* Very faded black for subtle effect */
            font-weight: bold;
            z-index: -1; /* Ensures watermark is behind content */
            pointer-events: none; /* Allows clicks to pass through */
            text-align: center;
            white-space: nowrap; /* Prevents text wrap */
            opacity: 0.2; /* Controls the intensity of the watermark */
        }

        /* Screen Container Management */
        .screen-container {
            display: none; /* All screens are hidden by default */
            min-height: calc(100vh - 120px); /* Adjusts height to fit between header and bottom nav */
            padding-bottom: 80px; /* Provides space for the fixed bottom navigation */
            padding-top: 60px; /* Provides space for the fixed header */
            overflow-y: auto; /* Enables vertical scrolling within content if needed */
            -webkit-overflow-scrolling: touch; /* Improves scrolling performance on iOS devices */
        }

        .screen-container.active {
            display: block; /* Only the active screen is visible */
        }

        /* Fixed Bottom Navigation Bar */
        .bottom-nav-bar {
            position: fixed;
            bottom: 0;
            left: 0;
            width: 100%;
            background-color: #ffffff; /* White background for the nav bar */
            box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1); /* Subtle shadow above the nav bar */
            z-index: 1000; /* Ensures nav bar is above other content */
            border-radius: 1.5rem 1.5rem 0 0; /* Rounded top corners */
        }

        /* Dropup Menu Styling */
        .dropup-menu {
            position: fixed;
            bottom: 72px; /* Positioned just above the bottom navigation bar */
            left: 50%;
            transform: translateX(-50%); /* Centers the dropup menu */
            background-color: #ffffff;
            box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15); /* More prominent shadow */
            border-radius: 1.5rem;
            padding: 1.5rem;
            z-index: 999; /* Below bottom nav, above main content */
            width: 90%;
            max-width: 300px; /* Limits max width for larger screens */
            display: none; /* Hidden by default */
            animation: slideUp 0.3s ease-out forwards; /* Simple slide-up animation */
        }

        .dropup-menu.active {
            display: block; /* Shows the dropup menu when active */
        }

        /* Dropup Menu Animation */
        @keyframes slideUp {
            from {
                transform: translateX(-50%) translateY(100%);
                opacity: 0;
            }
            to {
                transform: translateX(-50%) translateY(0);
                opacity: 1;
            }
        }

        /* Custom Scrollbar (for better mobile feel, though browser-dependent) */
        .screen-container::-webkit-scrollbar {
            width: 8px;
        }
        .screen-container::-webkit-scrollbar-track {
            background: #f1f1f1;
            border-radius: 10px;
        }
        .screen-container::-webkit-scrollbar-thumb {
            background: #888;
            border-radius: 10px;
        }
        .screen-container::-webkit-scrollbar-thumb:hover {
            background: #555;
        }

        /* map screen full size */
        #map-container {
            width: 100%;
            height: calc(100vh - 220px); /* Adjusted height for map controls */
        }

        /* Card Styling (Subtle borders, shadows, hover states) */
        .card {
            background-color: #ffffff;
            border-radius: 0.75rem; /* Tailwind `rounded-lg` equivalent */
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Tailwind `shadow-md` equivalent */
            transition: all 0.2s ease-in-out; /* Smooth transitions for hover effects */
        }
        .card:hover {
            box-shadow: 0 10px 15px rgba(0, 0, 0, 0.15); /* Tailwind `shadow-lg` equivalent on hover */
            transform: translateY(-2px); /* Slight lift effect on hover */
        }

        /* Swiping effect for driver/store profiles (visual only, no JS for actual swipe gestures in this MVP) */
        .profile-carousel {
            display: flex;
            overflow-x: scroll; /* Enables horizontal scrolling */
            scroll-snap-type: x mandatory; /* Snaps to the start of each child element */
            -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
        }
        .profile-card {
            flex: 0 0 100%; /* Each card takes up 100% of the carousel's width */
            scroll-snap-align: start; /* Aligns the start of the card with the scroll container */
        }

        /* Custom Primary and Secondary Colors (Store Run branding) */
        .store-run-blue {
            background-color: #3B82F6; /* A vibrant blue */
        }
        .store-run-yellow {
            background-color: #FBBF24; /* A bright yellow */
        }
        .text-store-run-blue {
            color: #3B82F6;
        }
        .text-store-run-yellow {
            color: #FBBF24;
        }

        /* Message Box Styling (for custom alert/confirm) */
        .message-box-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5);
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 2000; /* Above all other content */
        }
        .message-box {
            background-color: #ffffff;
            padding: 2rem;
            border-radius: 1rem;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
            text-align: center;
            max-width: 90%;
            min-width: 280px;
        }

        /* Multi-step form specific styles */
        .tab-button {
            @apply flex-1 text-center py-2 px-1 text-sm font-semibold cursor-pointer border-b-2 border-transparent text-gray-500 hover:text-store-run-blue;
        }
        .tab-button.active {
            @apply text-store-run-blue border-store-run-blue;
        }
        .tab-content {
            display: none;
        }
        .tab-content.active {
            display: block;
        }
        .error-message {
            @apply text-red-500 text-xs mt-1;
        }
        .input-error {
            @apply border-red-500;
        }
        
        #screen-map {
          position: relative;
          height: calc(100vh - 120px);
          width: 100%;
          overflow: hidden;
        }
    
        .error-message {
            color: #FF0000;
        }


        /* Add this to your existing <style> tag */
        
        #map-screen {
            padding: 0; /* Removes padding to make map full screen */
            position: relative;
            z-index: 1; /* Add this line to bring the map screen forward */
            height: calc(100vh - 120px); 
            width: 100%;
            overflow: hidden;
        }
        
        #map-container {
            width: 100%;
            height: 100%; /* Fills the entire screen container */
        }
 
 
 


#place-type-select {
    flex-grow: 1; /* This makes the select input expand */
}


#search-container {
    position: absolute;
    top: 0px;          /* Exactly matches the 56px header height for a perfect fit. */
    left: 0;
    width: 100%;
    z-index: 10;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 6px;
    border-radius: 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    display: flex;
    align-items: center;
}



/* === START: New CSS for Profile Cards === */

/* A wrapper for each card in the carousel */
.profile-carousel-item {
  width: 100%; /* Fixed width for consistent card size */
  background: #fff;
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
  position: relative;
  /* Carousel-specific styles */
  flex: 280 0 280px; /* Ensures cards don't shrink and size automatically */
  scroll-snap-align: center; /* Centers the card when scrolling */
  margin: 0 10px; /* Adds spacing between cards */
}

.profile-carousel-item .profile-image {
  width: 100%;
  height: 210px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}

.profile-carousel-item .contact-buttons {
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 15px;
  z-index: 2;
}

.profile-carousel-item .circle-btn {
  width: 50px;
  height: 50px;
  background: #007BFF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  border: 2px solid white;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
  transition: background 0.3s;
  text-decoration: none; /* Removes underline from links */
}

.profile-carousel-item .circle-btn:hover {
  background: #005ecb;
}

.profile-carousel-item .circle-btn i {
  font-size: 20px;
  color: white;
}

.profile-carousel-item .profile-details {
  background: #fff;
  padding: 50px 20px 30px; /* Increased top padding to make space for buttons */
  border-radius: 30px 30px 0 0;
  margin-top: -10px;
  text-align: center;
}

.profile-carousel-item .profile-details h2 {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 4px;
}

.profile-carousel-item .profile-details p {
  color: #777;
  margin-bottom: 6px;
  font-size: 14px;
}
/* === END: New CSS for Profile Cards === */




.toggle-checkbox:checked {
    right: 0;
    border-color: #3B82F6;
}
.toggle-checkbox:checked + .toggle-label {
    background-color: #3B82F6;
}
.toggle-checkbox {
    right: 0.25rem;
    transition: all 0.3s ease-in-out;
}
.toggle-label {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #ccc;
    border-radius: 9999px;
    position: relative;
    transition: background-color 0.3s ease-in-out;
}

  .driver-marker {
    position: relative;
    width: 48px; height: 48px;
    border-radius: 9999px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,.35);
    border: 2px solid #fff;
    background: #e5e7eb; /* fallback gray */
    cursor: pointer;
  }
  .driver-marker img {
    width: 100%; height: 100%; object-fit: cover; display: block;
  }
  .driver-marker .dot {
    position: absolute;
    right: -2px; bottom: -2px;
    width: 12px; height: 12px;
    background: #22c55e;  /* green-500 */
    border: 2px solid #fff;
    border-radius: 9999px;
  }
  
  


