*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:#eef2f7;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.page-shell{max-width:1280px;margin:0 auto;padding:30px 18px 60px}.bmc247-booking-wrapper{display:flex;gap:30px;align-items:stretch;background:#f5f7fa;border-radius:28px;padding:30px;box-shadow:0 15px 50px rgba(0,0,0,.08)}.bmc247-booking-form{flex:1 1;background:#fff;border-radius:24px;padding:35px;box-shadow:0 10px 35px rgba(0,0,0,.06)}.bmc247-header h2{font-size:38px;font-weight:700;color:#0d3b66;margin:0 0 8px;line-height:1.2}.bmc247-header p{color:#64748b;font-size:16px;margin-bottom:28px}.bmc247-field{margin-bottom:22px}.bmc247-field label{display:block;font-weight:600;color:#0f172a;margin-bottom:10px;font-size:15px}.bmc247-field input,.bmc247-field select,.bmc247-field textarea{width:100%;padding:16px 18px;border:1px solid #dce3ea;border-radius:16px;background:#fff;font-size:15px;transition:all .3s ease}.bmc247-field input:focus,.bmc247-field select:focus,.bmc247-field textarea:focus{border-color:#0ea5e9;outline:none;box-shadow:0 0 0 4px rgba(14,165,233,.12)}.bmc247-field textarea{resize:vertical;min-height:110px}.phone-input-group{display:flex;gap:10px;align-items:stretch}.phone-input-group select{width:130px;padding:16px 12px;flex-shrink:0;cursor:pointer;font-weight:600}.phone-input-group input{flex:1 1}.autocomplete-wrapper{position:relative;flex:1 1}.location-box{display:flex;gap:10px;align-items:stretch}.detect-location{min-width:72px;border:none;border-radius:16px;background:#0ea5e9;color:#fff;cursor:pointer;font-size:14px;font-weight:700;transition:.3s}.detect-location:hover{background:#0284c7}.autocomplete-results{position:absolute;top:calc(100% + 6px);left:0;width:100%;background:#fff;border-radius:16px;box-shadow:0 15px 35px rgba(0,0,0,.12);z-index:99999;overflow-y:auto;max-height:260px;border:1px solid #e2e8f0}.autocomplete-item{display:block;width:100%;padding:16px;cursor:pointer;transition:.2s;border:0;border-bottom:1px solid #eef2f7;background:#fff;font-size:15px;color:#1e293b;text-align:left}.autocomplete-item:last-child{border-bottom:0}.autocomplete-item:focus,.autocomplete-item:hover{background:#f1f5f9;outline:none}.booking-type-options,.payment-options{display:flex;gap:15px;flex-wrap:wrap}.payment-card,.radio-card{flex:1 1;border:2px solid #dbe4eb;border-radius:18px;padding:18px;cursor:pointer;transition:.3s ease;background:#fff;font-weight:600;color:#334155;text-align:center}.payment-card:hover,.radio-card:hover{border-color:#0ea5e9;transform:translateY(-2px)}.payment-card.active,.radio-card.active{background:#e0f2fe;border-color:#0ea5e9;color:#0d3b66}.advance-fields{max-height:0;opacity:0;overflow:hidden;transition:all .4s ease-in-out}.advance-fields.active{max-height:240px;opacity:1;margin-top:15px;margin-bottom:22px}.date-time-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:15px;gap:15px}.vehicle-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}.vehicle-card{border:2px solid #e2e8f0;border-radius:24px;padding:18px;background:#fff;text-align:center;cursor:pointer;transition:.35s ease}.vehicle-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px rgba(0,0,0,.12)}.vehicle-card.active{border-color:#0ea5e9;background:#eff8ff}.vehicle-card img{width:auto;height:70px;object-fit:contain;margin:0 auto 12px;display:block}.vehicle-card h4{font-size:18px;font-weight:700;color:#0d3b66;margin:0 0 6px}.vehicle-card p{margin:0;color:#334155;font-size:14px;font-weight:600}.vehicle-card span{display:block;margin-top:8px;font-size:13px;color:#64748b}.contact-section{background:#f8fafc;border-radius:24px;padding:25px;margin-top:15px}.contact-section h3{font-size:22px;color:#0d3b66;margin:0 0 20px}.request-ride-btn{width:100%;background:#25d366;color:#fff;border:none;padding:20px;font-size:18px;font-weight:700;border-radius:18px;cursor:pointer;transition:.35s ease;margin-top:12px}.request-ride-btn:hover{background:#1ebe5d;transform:translateY(-2px)}.request-ride-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.form-message{margin-top:14px;padding:14px 16px;border-radius:14px;font-size:14px;font-weight:600}.form-message.error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.form-message.success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.bmc247-map-wrapper{width:42%;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 10px 35px rgba(0,0,0,.06);display:flex;flex-direction:column}.map-header{padding:25px;border-bottom:1px solid #eef2f7}.map-header h3{color:#0d3b66;margin:0 0 6px;font-size:24px}.map-header p{color:#64748b;margin:0}.live-fare-display{margin-top:15px;padding:15px;background:#eff8ff;border:2px dashed #0ea5e9;border-radius:16px;text-align:left}.live-fare-display h4{margin:0;color:#0d3b66;font-size:15px;font-weight:700;display:flex;justify-content:space-between;align-items:center}.live-fare-display .fare-val{color:#25d366;font-size:24px;font-weight:800;line-height:1}.live-fare-display p{margin:8px 0 0;font-size:13px;color:#64748b}.live-fare-display strong{color:#0f172a}.booking-map{height:100%;min-height:700px;background:#edf2f7}@media (max-width:991px){.bmc247-booking-wrapper{flex-direction:column}.bmc247-map-wrapper{width:100%}.booking-map{min-height:420px}.date-time-grid,.vehicle-cards{grid-template-columns:1fr}.booking-type-options,.payment-options{flex-direction:column}.bmc247-header h2{font-size:30px}}@media (max-width:576px){.bmc247-booking-form{padding:25px}.bmc247-booking-wrapper{padding:18px}.location-box,.phone-input-group{flex-direction:column}.detect-location,.phone-input-group select{width:100%}}.admin-shell{max-width:1200px;margin:0 auto;padding:30px 18px 60px}.admin-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.admin-bar h1{color:#0d3b66;font-size:26px;margin:0}.btn{border:none;border-radius:12px;padding:12px 18px;font-weight:700;cursor:pointer;font-size:14px}.btn-primary{background:#0ea5e9;color:#fff}.btn-ghost{background:#e2e8f0;color:#334155}.card{background:#fff;border-radius:18px;box-shadow:0 10px 35px rgba(0,0,0,.06);padding:22px}.table-scroll{overflow-x:auto}table.bookings{width:100%;border-collapse:collapse;font-size:14px;min-width:900px}table.bookings td,table.bookings th{text-align:left;padding:12px 14px;border-bottom:1px solid #eef2f7;vertical-align:top}table.bookings th{color:#64748b;font-weight:700;white-space:nowrap}.status-pill{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#e0f2fe;color:#0369a1}.login-wrap{max-width:380px;margin:80px auto}.login-wrap h1{color:#0d3b66;text-align:center}