.supabase-setup-banner{background:linear-gradient(135deg,#fbbf24,#f59e0b);border:2px solid #f59e0b;border-radius:12px;padding:2rem;margin:2rem;color:#1f2937}.setup-content{display:flex;gap:1.5rem;align-items:flex-start}.setup-icon{font-size:2.5rem;flex-shrink:0}.setup-text h3{font-size:1.5rem;margin-bottom:.5rem;color:#1f2937}.setup-text p{margin-bottom:1rem;color:#374151;line-height:1.6}.setup-steps{background:#ffffff4d;border-radius:8px;padding:1.5rem;margin:1rem 0}.setup-steps ol{margin-left:1.5rem;line-height:2}.setup-steps li{margin-bottom:.75rem;color:#1f2937}.setup-steps code{background:#0000001a;padding:.25rem .5rem;border-radius:4px;font-family:Courier New,monospace;font-size:.9rem}.setup-steps pre{background:#0003;padding:1rem;border-radius:6px;margin-top:.5rem;overflow-x:auto;font-family:Courier New,monospace;font-size:.875rem;line-height:1.6}.setup-note{font-size:.9rem;color:#4b5563;font-style:italic;margin-top:1rem}@media (max-width: 768px){.supabase-setup-banner{margin:1rem;padding:1.5rem}.setup-content{flex-direction:column}}.footer{background:var(--card-bg);border-top:1px solid var(--border-color);margin-top:4rem;padding:3rem 2rem 1.5rem;color:var(--text-primary)}.footer-container{max-width:1400px;margin:0 auto}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px solid var(--border-color)}.footer-section h3{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:1.5rem;color:var(--primary-blue)}.footer-contact .contact-info{display:flex;flex-direction:column;gap:1rem}.contact-item{display:flex;align-items:flex-start;gap:.75rem;color:var(--text-secondary);line-height:1.6;font-size:.95rem}.contact-icon{font-size:1.1rem;flex-shrink:0;margin-top:.1rem}.contact-item a{color:var(--primary-blue);text-decoration:none;transition:color .3s ease}.contact-item a:hover{color:#0284c7;text-decoration:underline}.footer-links ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.footer-links a{color:var(--text-secondary);text-decoration:none;transition:color .3s ease;font-size:.95rem}.footer-links a:hover{color:var(--primary-blue)}.footer-service .service-intro{color:var(--text-secondary);line-height:1.6;font-size:.95rem}.footer-cities{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.cities-section{margin-bottom:2rem}.cities-section:last-child{margin-bottom:0}.cities-section h4{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--primary-blue)}.cities-list{display:flex;flex-wrap:wrap;gap:.5rem}.city-tag{display:inline-block;padding:.375rem .75rem;background:#fff;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;color:var(--text-primary);transition:all .3s ease}.city-tag:hover{background:#0ea5e91a;border-color:var(--primary-blue);color:var(--primary-blue)}.footer-bottom{text-align:center;padding-top:2rem;color:var(--text-muted);font-size:.9rem}.footer-bottom p{margin:.5rem 0}.footer-tagline{color:var(--text-secondary);font-style:italic}@media (max-width: 768px){.footer{padding:2rem 1rem 1rem}.footer-content{grid-template-columns:1fr;gap:2rem;margin-bottom:2rem;padding-bottom:2rem}.cities-section{margin-bottom:1.5rem}.cities-list{gap:.375rem}.city-tag{font-size:.8rem;padding:.3rem .6rem}}.layout{min-height:100vh;display:flex;flex-direction:column}.navbar{background:#fffffffa;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border-color);padding:1.25rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;box-shadow:0 1px 3px #0000001a}.logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-primary);font-size:1.25rem;font-weight:700}.logo-icon{font-size:1.5rem}.logo-text{background:linear-gradient(135deg,var(--primary-blue) 0%,#0284c7 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.nav-links{display:flex;gap:2rem;align-items:center}.nav-links a{color:var(--text-secondary);text-decoration:none;font-weight:500;transition:color .3s ease;padding:.5rem 0;position:relative}.nav-links a:hover{color:var(--text-primary)}.nav-links a.active{color:var(--primary-blue);font-weight:600}.nav-links a.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--primary-blue);border-radius:2px 2px 0 0}.nav-link-button{padding:.5rem 1rem;border-radius:6px;text-decoration:none;font-weight:500;transition:all .3s ease;border:1px solid var(--primary-blue);background:transparent;color:var(--primary-blue);cursor:pointer;font-size:.95rem;margin-left:.5rem}.nav-link-button:hover{background:#0066cc1a;color:var(--primary-blue)}.nav-link-button.primary{background:var(--primary-blue);color:#fff;border-color:var(--primary-blue)}.nav-link-button.primary:hover{background:#0052a3;border-color:#0052a3}.nav-link-button.logout{border-color:#dc2626;color:#dc2626;margin-left:.5rem}.nav-link-button.logout:hover{background:#dc26261a;color:#dc2626}.main-content{flex:1;width:100%}@media (max-width: 768px){.navbar{flex-direction:column;gap:1rem;padding:1rem}.nav-links{gap:1rem}}.stats-section{padding:6rem 2rem;background:var(--card-bg);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.stats-container{max-width:1200px;margin:0 auto}.stats-section h2{text-align:center;font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:3rem;letter-spacing:-.02em}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.stat-card{text-align:center;padding:2.5rem 2rem;background:#fff;border:1px solid var(--border-color);border-radius:16px;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-card:hover{transform:translateY(-4px);border-color:var(--primary-blue);box-shadow:0 8px 16px #0ea5e933}.stat-icon{font-size:2.5rem;margin-bottom:1rem;opacity:.8}.stat-value{font-size:3rem;font-weight:700;color:var(--primary-blue);line-height:1;margin-bottom:.5rem}.stat-label{font-size:.95rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:500}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:2.5rem}}.home{width:100%;min-height:100vh;padding:0;max-width:100%;margin:0 auto;position:relative}.hero{text-align:center;margin-bottom:0;padding:8rem 2rem 6rem;position:relative;background:linear-gradient(135deg,#fffffffa,#f8fafcf2),radial-gradient(circle at 50% 0%,rgba(14,165,233,.08) 0%,transparent 70%);border-bottom:1px solid var(--border-color);overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 30%,rgba(14,165,233,.1) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(14,165,233,.08) 0%,transparent 50%);pointer-events:none;z-index:0}.hero>*{position:relative;z-index:1}.hero-badges{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.badge{padding:.5rem 1.25rem;background:#0ea5e91a;border:1px solid rgba(14,165,233,.3);border-radius:20px;color:var(--primary-blue);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.hero h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.1;margin-bottom:1.5rem;color:var(--text-primary);font-weight:700;letter-spacing:-.03em}.hero-cta{display:flex;justify-content:center;gap:1rem;margin-top:2.5rem;flex-wrap:wrap}.btn-primary-hero{padding:1rem 2.5rem;background:linear-gradient(135deg,var(--primary-blue) 0%,#0284c7 100%);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;font-size:1.1rem;transition:all .3s ease;box-shadow:0 4px 12px #0ea5e94d}.btn-primary-hero:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0ea5e966}.btn-secondary-hero{padding:1rem 2.5rem;background:transparent;color:var(--text-primary);text-decoration:none;border:2px solid var(--border-color);border-radius:8px;font-weight:600;font-size:1.1rem;transition:all .3s ease}.btn-secondary-hero:hover{border-color:var(--primary-blue);color:var(--primary-blue);transform:translateY(-2px)}.tagline{font-size:clamp(1.25rem,2.5vw,1.75rem);color:var(--text-primary);margin-bottom:1.5rem;font-weight:600;letter-spacing:-.01em}.description{font-size:clamp(1rem,1.5vw,1.25rem);color:var(--text-secondary);max-width:800px;margin:0 auto 2rem;line-height:1.8}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin:4rem auto 3rem;padding:0 2rem;max-width:1400px}.services-grid:before{content:"";grid-column:1 / -1;height:1px;background:var(--border-color);margin-bottom:2rem}.service-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:3rem 2.5rem;text-decoration:none;color:inherit;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary-blue);transform:scaleX(0);transition:transform .4s cubic-bezier(.4,0,.2,1);border-radius:16px 16px 0 0}.service-card:hover{transform:translateY(-8px);border-color:var(--primary-blue);box-shadow:0 12px 24px #0ea5e926}.service-icon{font-size:4.5rem;margin-bottom:1.5rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));transition:transform .4s ease}.service-card:hover .service-icon{transform:scale(1.1) rotate(5deg)}.service-card h2{font-size:1.75rem;margin-bottom:1rem;color:var(--text-primary)}.service-card p{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.service-features{display:flex;flex-direction:column;gap:.5rem;width:100%;margin-top:auto;padding-top:1.5rem;border-top:1px solid var(--border-color)}.service-features span{color:var(--text-secondary);font-size:.9rem}.quick-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.action-button{padding:.875rem 2rem;border-radius:8px;text-decoration:none;font-weight:600;transition:all .3s ease;border:2px solid transparent}.action-button.secondary{background:#0ea5e91a;color:var(--primary-blue);border:2px solid rgba(14,165,233,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.action-button.secondary:hover{background:#0ea5e933;border-color:#0ea5e980;transform:translateY(-2px);box-shadow:0 8px 16px #0ea5e94d}.features-section{margin:0;padding:6rem 2rem;background:linear-gradient(180deg,transparent 0%,rgba(14,165,233,.05) 50%,transparent 100%);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.features-section h2{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:var(--text-primary)}.feature-card{text-align:center;padding:2.5rem 2rem;background:var(--card-bg);border-radius:16px;border:1px solid var(--border-color);transition:all .4s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.feature-card:hover{transform:translateY(-8px);border-color:var(--primary-blue);box-shadow:0 12px 24px #0ea5e926}.feature-card h3{font-size:1.25rem;color:var(--text-primary);margin-bottom:.75rem}.feature-card p{color:var(--text-secondary);line-height:1.6}.service-highlights{margin:4rem 0;padding:3rem 0}.service-highlights h2{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:var(--text-primary)}.highlights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.highlight-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:2rem;transition:all .3s ease}.highlight-item:hover{transform:translateY(-4px);border-color:#0ea5e94d;box-shadow:0 8px 16px #0ea5e933}.highlight-item h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:1rem}.highlight-item p{color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.highlight-link{color:var(--primary-blue);text-decoration:none;font-weight:600;transition:color .3s ease}.highlight-link:hover{color:#0284c7}.coverage-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:3rem;margin:4rem 0;text-align:center}.coverage-section h2{font-size:2.5rem;color:var(--text-primary);margin-bottom:1rem}.coverage-section>p{font-size:1.25rem;color:var(--text-secondary);margin-bottom:2rem}.cities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}.city-group{text-align:left}.city-group h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(14,165,233,.3)}.city-group p{color:var(--text-secondary);line-height:1.8}.view-locations-link{display:inline-block;margin-top:2rem;color:var(--primary-blue);text-decoration:none;font-weight:600;font-size:1.1rem;transition:color .3s ease}.view-locations-link:hover{color:#0284c7}@media (max-width: 768px){.hero h1{font-size:2.5rem}.services-grid,.features-grid,.highlights-grid,.cities-grid{grid-template-columns:1fr}}.services-page{width:100%;max-width:1400px;margin:0 auto;padding:0}.services-hero{text-align:center;margin-bottom:0;padding:6rem 2rem 4rem;position:relative;background:linear-gradient(135deg,#0ea5e91a,#0ea5e90d),radial-gradient(circle at 50% 0%,rgba(14,165,233,.15) 0%,transparent 70%);border-bottom:1px solid var(--border-color)}.services-hero h1{font-size:clamp(2.5rem,5vw,4rem);line-height:1.1;margin-bottom:1.5rem;background:linear-gradient(135deg,var(--primary-blue) 0%,#0284c7 50%,#0369a1 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800;letter-spacing:-.03em}.service-category{margin-bottom:4rem}.service-category h2{font-size:2rem;color:var(--text-primary);margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid rgba(14,165,233,.3)}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.service-card{background:var(--card-bg);border:2px solid var(--border-color);border-radius:20px;padding:3rem 2.5rem;text-decoration:none;color:inherit;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 6px -1px #0000001a}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--primary-blue) 0%,#0284c7 50%,#0369a1 100%);transform:scaleX(0);transition:transform .4s cubic-bezier(.4,0,.2,1);border-radius:20px 20px 0 0}.service-card:hover{transform:translateY(-12px) scale(1.02);border-color:#0ea5e980;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000d}.service-card:hover:before{transform:scaleX(1)}.service-icon{font-size:3rem;margin-bottom:1rem}.service-card h3{font-size:1.25rem;margin-bottom:.75rem;color:var(--text-primary)}.service-card p{color:var(--text-secondary);margin-bottom:1rem;line-height:1.6;flex-grow:1}.service-link{color:var(--primary-blue);font-weight:600;margin-top:auto;transition:color .3s ease}.service-card:hover .service-link{color:#0284c7}.service-features{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:3rem;margin:4rem 0}.service-features h2{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:var(--text-primary)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.feature{text-align:center;padding:1.5rem}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature h3{font-size:1.25rem;color:var(--text-primary);margin-bottom:.75rem}.feature p{color:var(--text-secondary);line-height:1.6}.cta-section{text-align:center;padding:4rem 2rem;background:#0ea5e91a;border-radius:16px;margin-top:4rem}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:1rem 2.5rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:1.1rem;transition:all .3s ease;display:inline-block}.btn-primary{background:linear-gradient(135deg,var(--accent-orange) 0%,#ff8c5a 100%);color:#fff;border:none;box-shadow:0 4px 12px #ff6b354d}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 24px #ff6b3566}.btn-secondary{background:#0ea5e91a;color:var(--primary-blue);border:2px solid rgba(14,165,233,.3)}.btn-secondary:hover{background:#0ea5e933;border-color:#0ea5e980;transform:translateY(-2px)}@media (max-width: 768px){.services-hero h1{font-size:2rem}.services-grid,.features-grid{grid-template-columns:1fr}.cta-buttons{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.locations-page{width:100%;max-width:1400px;margin:0 auto;padding:0}.locations-hero{text-align:center;margin-bottom:0;padding:6rem 2rem 4rem;position:relative;background:linear-gradient(135deg,#0ea5e91a,#0ea5e90d),radial-gradient(circle at 50% 0%,rgba(14,165,233,.15) 0%,transparent 70%);border-bottom:1px solid var(--border-color)}.locations-hero h1{font-size:clamp(2.5rem,5vw,4rem);line-height:1.1;margin-bottom:1.5rem;background:linear-gradient(135deg,var(--primary-blue) 0%,#0284c7 50%,#0369a1 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800;letter-spacing:-.03em}.hero-subtitle{font-size:1.25rem;color:var(--text-secondary);max-width:800px;margin:0 auto;line-height:1.6}.locations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;margin:4rem auto;padding:0 2rem;max-width:1400px}.location-card{background:var(--card-bg);border:2px solid var(--border-color);border-radius:16px;padding:2.5rem;transition:all .4s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 6px -1px #0000001a}.location-card:hover{transform:translateY(-8px);border-color:#0ea5e980;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000d}.location-card h2{font-size:2rem;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:3px solid;border-image:linear-gradient(90deg,var(--primary-blue) 0%,#0284c7 100%) 1;font-weight:700}.location-description{color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.location-services{margin-bottom:1.5rem}.location-services h3{font-size:1.1rem;color:var(--text-primary);margin-bottom:.75rem}.location-services ul{list-style:none;padding:0}.location-services li{color:var(--text-secondary);padding:.25rem 0 .25rem 1.5rem;position:relative}.location-services li:before{content:"✓";position:absolute;left:0;color:var(--primary-blue);font-weight:700}.location-contact{background:#0ea5e91a;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.location-contact p{color:var(--text-secondary);margin:.5rem 0;font-size:.9rem}.location-contact strong{color:var(--text-primary)}.location-cta{display:inline-block;width:100%;text-align:center;padding:.875rem 1.5rem;background:linear-gradient(135deg,var(--primary-blue) 0%,#0284c7 100%);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;transition:all .3s ease}.location-cta:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0ea5e94d}.coverage-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:3rem;margin-bottom:4rem}.coverage-section h2{font-size:2.5rem;color:var(--text-primary);text-align:center;margin-bottom:1rem}.coverage-section>p{text-align:center;color:var(--text-secondary);font-size:1.1rem;margin-bottom:2rem}.cities-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.city-column h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(14,165,233,.3)}.city-column ul{list-style:none;padding:0}.city-column li{color:var(--text-secondary);padding:.5rem 0 .5rem 1.5rem;position:relative}.city-column li:before{content:"📍";position:absolute;left:0}.cta-section{text-align:center;padding:4rem 2rem;background:#0ea5e91a;border-radius:16px}.cta-section h2{font-size:2.5rem;color:var(--text-primary);margin-bottom:1rem}.cta-section p{font-size:1.25rem;color:var(--text-secondary);margin-bottom:2rem}.btn-primary{padding:1rem 2.5rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:1.1rem;background:linear-gradient(135deg,var(--primary-blue) 0%,#0284c7 100%);color:#fff;display:inline-block;transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0ea5e94d}@media (max-width: 768px){.locations-hero h1{font-size:2rem}.locations-grid,.cities-list{grid-template-columns:1fr}}.booking-container{width:100%;max-width:1000px;margin:0 auto;padding:2rem}.booking-header{text-align:center;margin-bottom:3rem}.booking-header h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,var(--primary-blue) 0%,#0284c7 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.booking-header p{color:var(--text-secondary);font-size:1.1rem}.booking-form{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:2.5rem}.form-section{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.form-section:last-of-type{border-bottom:none}.form-section h2{font-size:1.5rem;margin-bottom:1.5rem;color:var(--text-primary)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{margin-bottom:.5rem;color:var(--text-primary);font-weight:500;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid var(--border-color);border-radius:8px;background:#fff;color:var(--text-primary);font-size:1rem;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-blue);background:#fff;box-shadow:0 0 0 3px #0ea5e91a}.form-group textarea{resize:vertical;font-family:inherit}.price-summary{background:#0ea5e91a;border:2px solid rgba(14,165,233,.3);border-radius:12px;padding:1.5rem;margin:2rem 0;text-align:center}.price-summary h3{font-size:2rem;color:var(--text-primary);margin-bottom:.5rem}.price-note{color:var(--text-secondary);font-size:.9rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.btn-primary,.btn-secondary{padding:.875rem 2rem;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.btn-primary{background:linear-gradient(135deg,var(--primary-blue) 0%,#0284c7 100%);color:#fff;border:none}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #0ea5e94d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#0ea5e91a;color:var(--primary-blue);border-color:#0ea5e94d}.btn-secondary:hover{background:#0ea5e933;border-color:#0ea5e980}.error-message{background:#ef444433;border:1px solid rgba(239,68,68,.5);color:#fca5a5;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.success-message{text-align:center;padding:3rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px}.success-message h2{color:var(--primary-blue);font-size:2rem;margin-bottom:1rem}.success-message p{color:var(--text-secondary);font-size:1.1rem}@media (max-width: 768px){.booking-container{padding:1rem}.booking-form{padding:1.5rem}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.dashboard{width:100%;max-width:1200px;margin:0 auto;padding:2rem}.dashboard-header{text-align:center;margin-bottom:3rem}.dashboard-header h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,var(--primary-blue) 0%,#0284c7 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-header p{color:var(--text-secondary);font-size:1.1rem}.search-form{margin-bottom:3rem}.search-input-group{display:flex;gap:1rem;max-width:600px;margin:0 auto}.search-input-group input{flex:1;padding:1rem;border:1px solid var(--border-color);border-radius:8px;background:#fff;color:var(--text-primary);font-size:1rem}.search-input-group input:focus{outline:none;border-color:var(--primary-blue);background:#fff;box-shadow:0 0 0 3px #0ea5e91a}.search-button{padding:1rem 2rem;background:linear-gradient(135deg,var(--primary-blue) 0%,#0284c7 100%);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.search-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #0ea5e94d}.search-button:disabled{opacity:.6;cursor:not-allowed}.orders-section,.bookings-section{margin-bottom:3rem}.orders-section h2,.bookings-section h2{font-size:1.75rem;margin-bottom:1.5rem;color:var(--text-primary)}.orders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.order-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:all .3s ease}.order-card:hover{transform:translateY(-4px);border-color:#0ea5e94d;box-shadow:0 8px 16px #0ea5e933}.order-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.order-header h3{font-size:1.25rem;color:var(--text-primary);margin-bottom:.25rem}.service-type{color:var(--text-secondary);font-size:.9rem}.status-badge{padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.order-details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.detail-row .label{color:var(--text-secondary);font-weight:500;font-size:.9rem;min-width:100px}.detail-row .value{color:var(--text-primary);text-align:right;flex:1;font-size:.9rem}.detail-row .value.price{font-weight:600;font-size:1.1rem;color:var(--primary-blue)}.track-link{display:inline-block;margin-top:1rem;color:var(--primary-blue);text-decoration:none;font-weight:600;transition:color .3s ease}.track-link:hover{color:#0284c7}.empty-state{text-align:center;padding:3rem;color:var(--text-secondary)}.empty-state a{color:var(--primary-blue);text-decoration:none}.empty-state a:hover{text-decoration:underline}@media (max-width: 768px){.dashboard{padding:1rem}.search-input-group{flex-direction:column}.orders-grid{grid-template-columns:1fr}.order-header{flex-direction:column;gap:.5rem}}.realtime-tracking{position:relative}.live-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#10b98133;border:1px solid rgba(16,185,129,.5);border-radius:8px;margin-bottom:1.5rem;color:#10b981;font-weight:600;font-size:.875rem;animation:fadeIn .3s ease}.live-dot{width:8px;height:8px;background:#10b981;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tracking-entry{display:flex;gap:1.5rem;margin-bottom:2rem;position:relative}.timeline-marker{position:relative;flex-shrink:0}.marker-dot{width:12px;height:12px;background:#06c;border:3px solid rgba(0,102,204,.3);border-radius:50%;position:relative;z-index:2}.timeline-line{position:absolute;left:50%;top:12px;width:2px;height:calc(100% + 1rem);background:#0066cc4d;transform:translate(-50%);z-index:1}.tracking-content{flex:1;background:#ffffff0d;border-radius:8px;padding:1rem;border-left:3px solid #0066cc}.tracking-status{font-weight:600;color:#fff;font-size:1rem;margin-bottom:.5rem}.tracking-time{color:#fff9;font-size:.875rem;margin-bottom:.5rem}.tracking-notes{color:#fffc;font-size:.9rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.1)}.no-tracking{text-align:center;padding:2rem;color:#fff9}.track-order{width:100%;max-width:1000px;margin:0 auto;padding:2rem}.track-header{text-align:center;margin-bottom:3rem}.track-header h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,var(--primary-blue) 0%,#0284c7 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.track-header p{color:var(--text-secondary);font-size:1.1rem}.track-form{margin-bottom:3rem}.track-input-group{display:flex;flex-direction:column;gap:1rem;max-width:600px;margin:0 auto}.track-input-group input{padding:1rem;border:1px solid var(--border-color);border-radius:8px;background:#fff;color:var(--text-primary);font-size:1rem}.track-input-group input:focus{outline:none;border-color:var(--primary-blue);background:#fff;box-shadow:0 0 0 3px #0ea5e91a}.track-input-group input:disabled{opacity:.6;cursor:not-allowed}.or-divider{text-align:center;color:var(--text-muted);font-weight:500}.track-button{padding:1rem 2rem;background:linear-gradient(135deg,var(--primary-blue) 0%,#0284c7 100%);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.track-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #0ea5e94d}.track-button:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#ef444433;border:1px solid rgba(239,68,68,.5);color:#fca5a5;padding:1rem;border-radius:8px;margin-bottom:2rem;text-align:center}.tracking-results{display:flex;flex-direction:column;gap:2rem}.order-info-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:2rem}.order-info-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.order-info-header h2{font-size:1.75rem;color:var(--text-primary);margin-bottom:.5rem}.service-type{color:var(--text-secondary);font-size:1rem}.status-badge{padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.status-pending{background-color:#fbbf24}.status-confirmed{background-color:#3b82f6}.status-assigned{background-color:#8b5cf6}.status-picked_up{background-color:#10b981}.status-in_transit{background-color:#06b6d4}.status-delivered,.status-completed{background-color:#10b981}.status-driver_en_route{background-color:#8b5cf6}.status-cancelled{background-color:#ef4444}.order-info-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.info-section h3{font-size:1.1rem;color:var(--text-primary);margin-bottom:.5rem}.info-section p{color:var(--text-secondary);line-height:1.6;margin-bottom:.25rem}.detail-label{color:var(--text-muted)!important;font-size:.9rem}.price{font-size:1.5rem;font-weight:700;color:var(--primary-blue)!important}.status-timeline{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:2rem}.status-timeline h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:2rem}.timeline{display:flex;flex-direction:column;gap:1.5rem;position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:.75rem;top:0;bottom:0;width:2px;background:var(--border-color)}.timeline-step{display:flex;gap:1.5rem;position:relative;opacity:.5;transition:opacity .3s ease}.timeline-step.completed,.timeline-step.current{opacity:1}.timeline-marker{width:2.5rem;height:2.5rem;border-radius:50%;background:var(--card-bg);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-muted);flex-shrink:0;position:relative;z-index:1}.timeline-step.completed .timeline-marker{background:var(--primary-blue);border-color:var(--primary-blue);color:#fff}.timeline-step.current .timeline-marker{background:var(--primary-blue);border-color:var(--primary-blue);color:#fff;box-shadow:0 0 0 4px #0ea5e933}.timeline-content h4{font-size:1.1rem;color:var(--text-primary);margin-bottom:.25rem}.current-status{color:var(--primary-blue);font-size:.875rem;font-weight:600;margin-top:.25rem}.tracking-history{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:2rem}.tracking-history h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:1.5rem}.history-list{display:flex;flex-direction:column;gap:1rem}.history-item{padding:1rem;background:#fff;border-radius:8px;border-left:3px solid var(--primary-blue)}.history-status{font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.history-time{color:var(--text-muted);font-size:.9rem;margin-bottom:.25rem}.history-notes{color:var(--text-secondary);font-size:.9rem;margin-top:.5rem}@media (max-width: 768px){.track-order{padding:1rem}.order-info-header{flex-direction:column;gap:1rem}.order-info-details{grid-template-columns:1fr}.timeline{padding-left:1.5rem}}.auth-container{min-height:calc(100vh - 200px);display:flex;justify-content:center;align-items:center;padding:2rem;background:linear-gradient(135deg,#06c,#049)}.auth-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;padding:2.5rem;width:100%;max-width:500px}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{color:#06c;font-size:2rem;margin-bottom:.5rem}.auth-header h2{color:#333;font-size:1.5rem;margin-bottom:.5rem}.auth-header p{color:#666;font-size:.9rem;margin-bottom:.5rem}.auth-header .subtitle{color:#888;font-size:.85rem;margin-top:.5rem;margin-bottom:0}.role-badges{display:flex;justify-content:center;gap:.75rem;margin:1rem 0;flex-wrap:wrap}.role-badge{display:inline-block;padding:.4rem .8rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-badge.admin{background-color:#ff6b6b;color:#fff}.role-badge.customer{background-color:#4ecdc4;color:#fff}.role-badge.driver{background-color:#95e1d3;color:#fff}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:#333;font-weight:500;font-size:.9rem}.form-group input,.form-group select{padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.form-group input:disabled,.form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed}.btn-primary{background-color:#06c;color:#fff;padding:.875rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s;margin-top:.5rem}.btn-primary:hover:not(:disabled){background-color:#0052a3}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.btn-primary{display:flex;align-items:center;justify-content:center;gap:.5rem}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{background-color:#fee;color:#c33;padding:.75rem;border-radius:6px;border:1px solid #fcc;font-size:.9rem}.auth-footer{margin-top:2rem;text-align:center;padding-top:1.5rem;border-top:1px solid #eee}.auth-footer p{color:#666;font-size:.9rem;margin:.5rem 0}.auth-footer a{color:#06c;text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}@media (max-width: 640px){.auth-card{padding:1.5rem}.form-row{grid-template-columns:1fr}.auth-header h1{font-size:1.5rem}.auth-header h2{font-size:1.25rem}}.admin-dashboard{max-width:1400px;margin:0 auto;padding:2rem}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #eee}.admin-header h1{color:#333;margin:0}.admin-header p{color:#666;margin:.25rem 0 0}.content-section h2{color:#333;margin:0 0 1rem;font-size:1.5rem}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}thead{background-color:#f8f9fa}th{padding:.75rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6}td{padding:.75rem;border-bottom:1px solid #dee2e6;color:#666}tbody tr:hover{background-color:#f8f9fa}@media (max-width: 768px){.admin-dashboard{padding:1rem}.admin-header{flex-direction:column;align-items:flex-start;gap:1rem}.stats-grid{grid-template-columns:1fr}.table-container{font-size:.85rem}th,td{padding:.5rem}}.place-order-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.place-order-modal{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.place-order-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #eee}.place-order-modal-header h2{margin:0;color:#333}.place-order-modal-body{padding:1.5rem}.modal-description{color:#666;margin-bottom:1.5rem;font-size:1rem}.service-options{display:flex;flex-direction:column;gap:1rem}.service-option{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s}.service-option:hover{border-color:#06c;background-color:#f8f9ff;transform:translateY(-2px);box-shadow:0 4px 12px #0066cc1a}.service-icon{font-size:3rem;line-height:1}.service-info{flex:1}.service-info h3{margin:0 0 .5rem;color:#333;font-size:1.25rem}.service-info p{margin:0 0 .5rem;color:#666;font-size:.95rem}.service-price{display:inline-block;color:#06c;font-weight:600;font-size:.95rem}@media (max-width: 768px){.service-option{flex-direction:column;text-align:center}.service-icon{font-size:2.5rem}}.payment-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.payment-modal{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.payment-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #eee}.payment-modal-header h2{margin:0;color:#333}.close-button{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.close-button:hover{background-color:#f0f0f0}.payment-modal-body{padding:1.5rem}.payment-form{display:flex;flex-direction:column;gap:1.5rem}.payment-summary{background:#f8f9fa;border-radius:8px;padding:1.25rem}.payment-summary h3{margin:0 0 1rem;color:#333;font-size:1.1rem}.summary-row{display:flex;justify-content:space-between;margin-bottom:.5rem;color:#666}.summary-row:last-child{margin-bottom:0;padding-top:.5rem;border-top:1px solid #dee2e6;font-size:1.1rem}.summary-row strong{color:#333}.card-element-container{display:flex;flex-direction:column;gap:.5rem}.card-element-container label{font-weight:500;color:#333;font-size:.9rem}.payment-actions{display:flex;gap:1rem;margin-top:.5rem}.btn-pay{flex:1;background-color:#06c;color:#fff;border:none;padding:.875rem 1.5rem;border-radius:6px;font-weight:600;font-size:1rem;cursor:pointer;transition:background-color .2s}.btn-pay:hover:not(:disabled){background-color:#0052a3}.btn-pay:disabled{opacity:.6;cursor:not-allowed}.btn-cancel{flex:1;background-color:#6c757d;color:#fff;border:none;padding:.875rem 1.5rem;border-radius:6px;font-weight:500;font-size:1rem;cursor:pointer;transition:background-color .2s}.btn-cancel:hover:not(:disabled){background-color:#5a6268}.payment-error{background-color:#f8d7da;color:#842029;padding:.75rem;border-radius:6px;font-size:.9rem}.order-tracking{background:#fff;border-radius:8px;padding:1.5rem;margin-top:1rem}.order-tracking h3{margin:0 0 1.5rem;color:#333;font-size:1.25rem}.tracking-timeline{position:relative;padding-left:2rem}.tracking-timeline:before{content:"";position:absolute;left:.75rem;top:0;bottom:0;width:2px;background:#e0e0e0}.tracking-item{display:flex;gap:1rem;margin-bottom:1.5rem;position:relative}.tracking-item:last-child{margin-bottom:0}.tracking-icon{position:absolute;left:-1.75rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #e0e0e0;border-radius:50%;font-size:1rem;z-index:1}.tracking-item:last-child .tracking-icon{background:#06c;border-color:#06c;color:#fff}.tracking-content{flex:1;padding-top:.25rem}.tracking-status{font-weight:600;color:#333;margin-bottom:.25rem;font-size:.95rem}.tracking-date{color:#666;font-size:.85rem;margin-bottom:.5rem}.tracking-notes{color:#666;font-size:.9rem;font-style:italic;padding:.5rem;background:#f8f9fa;border-radius:4px;margin-top:.5rem}.tracking-loading{text-align:center;padding:2rem;color:#666}.expected-delivery{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;padding:1.25rem;color:#fff;margin-top:1rem}.expected-delivery.delivered{background:linear-gradient(135deg,#10b981,#059669)}.expected-delivery.overdue{background:linear-gradient(135deg,#ef4444,#dc2626)}.expected-delivery-header h4{margin:0 0 1rem;font-size:1.1rem;font-weight:600}.expected-delivery-content{display:flex;flex-direction:column;gap:.75rem}.expected-date{display:flex;flex-direction:column;gap:.25rem}.date-label{font-size:.85rem;opacity:.9}.date-value{font-size:1.25rem;font-weight:600}.date-time{font-size:.95rem;opacity:.9}.estimated-time{padding:.5rem .75rem;background:#fff3;border-radius:6px;font-size:.9rem;font-weight:500;display:inline-block;width:fit-content}.proof-of-delivery{background:#fff;border-radius:8px;padding:1.5rem;margin-top:1rem;border:1px solid #e0e0e0}.proof-of-delivery.unavailable{display:flex;align-items:center;gap:1rem;background:#f8f9fa;border-color:#dee2e6}.pod-icon{font-size:2.5rem;line-height:1}.pod-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.pod-header h4{margin:0;color:#333;font-size:1.1rem}.pod-status{background:#10b981;color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.pod-content{display:flex;flex-direction:column;gap:1rem}.pod-content p{margin:0;color:#666}.pod-info{display:flex;flex-direction:column;gap:.75rem}.pod-info-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8f9fa;border-radius:6px}.pod-label{font-weight:500;color:#666;font-size:.9rem}.pod-value{color:#333;font-weight:500}.pod-image-container{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.pod-image{width:100%;max-width:500px;border-radius:8px;border:1px solid #e0e0e0;box-shadow:0 2px 8px #0000001a}.pod-download{display:inline-block;color:#06c;text-decoration:none;font-weight:500;font-size:.9rem;padding:.5rem 0;transition:color .2s}.pod-download:hover{color:#0052a3;text-decoration:underline}.pod-notes{padding:.75rem;background:#fff3cd;border-left:3px solid #ffc107;border-radius:4px;color:#856404;font-size:.9rem}.pod-placeholder{text-align:center;padding:2rem;color:#666}.pod-placeholder-icon{font-size:3rem;margin-bottom:.5rem}.pod-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;color:#666}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #0066cc;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.customer-dashboard{max-width:1400px;margin:0 auto;padding:2rem}.customer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #eee}.customer-header h1{color:#333;margin:0}.customer-header p{color:#666;margin:.25rem 0 0}.customer-header small{color:#999;font-size:.9rem}.header-actions{display:flex;gap:1rem}.btn-primary{background-color:#06c;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s}.btn-primary:hover{background-color:#0052a3}.btn-secondary{background-color:#6c757d;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;font-size:.9rem;transition:background-color .2s}.btn-secondary:hover{background-color:#5a6268}.stat-card.danger{border-left:4px solid #dc3545}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{color:#333;margin:0;font-size:1.5rem}.orders-list,.bookings-list{display:flex;flex-direction:column;gap:1rem}.order-card,.booking-card{background:#f8f9fa;border-radius:8px;padding:1.5rem;border:1px solid #dee2e6;transition:box-shadow .2s;margin-bottom:1rem}.order-card:hover,.booking-card:hover{box-shadow:0 4px 8px #0000001a}.order-card.expanded,.booking-card.expanded{border-color:#06c;box-shadow:0 4px 12px #0066cc26}.order-header,.booking-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.header-right{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.payment-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.payment-badge.unpaid{background-color:#fff3cd;color:#856404}.payment-badge.paid{background-color:#d1e7dd;color:#0f5132}.order-header h3,.booking-header h3{margin:0;color:#333;font-size:1.25rem}.order-details,.booking-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:1rem}.order-actions,.booking-actions{display:flex;gap:1rem;padding-top:1rem;border-top:1px solid #dee2e6;flex-wrap:wrap}.btn-pay-action{background-color:#28a745;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:600;font-size:.9rem;transition:background-color .2s}.btn-pay-action:hover{background-color:#218838}.price{color:#06c;font-weight:600}.order-expanded-content,.booking-expanded-content{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid #e0e0e0;display:flex;flex-direction:column;gap:1rem}.btn-link{background:none;border:none;color:#06c;cursor:pointer;text-decoration:underline;padding:0;font-size:inherit}.status-badge.status-picked_up,.status-badge.status-driver_en_route{background-color:#d4edda;color:#155724}.status-badge.status-cancelled{background-color:#f8d7da;color:#842029}.empty-state p{margin-bottom:1rem;font-size:1.1rem}@media (max-width: 768px){.customer-dashboard{padding:1rem}.customer-header{flex-direction:column;align-items:flex-start;gap:1rem}.header-actions{width:100%;flex-direction:column}.header-actions button{width:100%}.stats-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.order-details,.booking-details{grid-template-columns:1fr}}.driver-dashboard{max-width:1400px;margin:0 auto;padding:2rem}.driver-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #eee}.driver-header h1{color:#333;margin:0}.driver-header p{color:#666;margin:.25rem 0 0}.driver-header small{color:#999;font-size:.9rem}.btn-logout{background-color:#dc3545;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s}.btn-logout:hover{background-color:#c82333}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:1rem;transition:transform .2s}.stat-card:hover{transform:translateY(-2px)}.stat-card.warning{border-left:4px solid #ffc107}.stat-card.success{border-left:4px solid #28a745}.stat-icon{font-size:2.5rem;line-height:1}.stat-content h3{font-size:2rem;margin:0;color:#333}.stat-content p{margin:.25rem 0 0;color:#666;font-size:.9rem}.dashboard-content{display:flex;flex-direction:column;gap:2rem}.content-section{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.content-section h2{color:#333;margin:0 0 1.5rem;font-size:1.5rem}.assignments-list{display:flex;flex-direction:column;gap:1rem}.assignment-card{background:#f8f9fa;border-radius:8px;padding:1.5rem;border:1px solid #dee2e6;transition:box-shadow .2s}.assignment-card:hover{box-shadow:0 4px 8px #0000001a}.assignment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.assignment-header h3{margin:0;color:#333;font-size:1.25rem}.service-name{color:#666;font-size:.9rem;margin:.25rem 0 0}.assignment-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem;margin-bottom:1rem}.detail-item{color:#666;font-size:.9rem}.detail-item strong{color:#333;margin-right:.5rem}.assignment-actions{display:flex;gap:1rem;padding-top:1rem;border-top:1px solid #dee2e6;flex-wrap:wrap}.btn-action{background-color:#06c;color:#fff;border:none;padding:.625rem 1.25rem;border-radius:6px;cursor:pointer;font-weight:500;font-size:.9rem;transition:background-color .2s}.btn-action:hover{background-color:#0052a3}.btn-action.success{background-color:#28a745}.btn-action.success:hover{background-color:#218838}.btn-link{background:none;border:none;color:#06c;cursor:pointer;text-decoration:underline;padding:.625rem 0;font-size:.9rem}.btn-link:hover{color:#0052a3}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500;text-transform:capitalize}.status-badge.status-pending{background-color:#fff3cd;color:#856404}.status-badge.status-confirmed{background-color:#cfe2ff;color:#084298}.status-badge.status-assigned{background-color:#d1ecf1;color:#055160}.status-badge.status-driver_en_route,.status-badge.status-picked_up{background-color:#d4edda;color:#155724}.status-badge.status-in_transit{background-color:#cff4fc;color:#055160}.status-badge.status-delivered,.status-badge.status-completed{background-color:#d1e7dd;color:#0f5132}.empty-state{text-align:center;padding:3rem;color:#666}.empty-state p{font-size:1.1rem}.loading{text-align:center;padding:3rem;font-size:1.25rem;color:#666}@media (max-width: 768px){.driver-dashboard{padding:1rem}.driver-header{flex-direction:column;align-items:flex-start;gap:1rem}.stats-grid,.assignment-details{grid-template-columns:1fr}.assignment-actions{flex-direction:column}.btn-action{width:100%}}:root{font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;font-weight:400;--primary-blue: #0ea5e9;--primary-green: #10b981;--accent-teal: #14b8a6;--accent-orange: #f59e0b;--dark-bg: #ffffff;--card-bg: #f8f9fa;--text-primary: #000000;--text-secondary: rgba(0, 0, 0, .8);--text-muted: rgba(0, 0, 0, .5);--border-color: rgba(0, 0, 0, .1);color-scheme:light;color:var(--text-primary);background:var(--dark-bg);background-attachment:fixed;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--dark-bg);position:relative}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 30%,rgba(14,165,233,.08) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(14,165,233,.05) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(14,165,233,.03) 0%,transparent 70%);pointer-events:none;z-index:0}#root{width:100%;min-height:100vh;position:relative;z-index:1}
