.booking-form-container{max-width:900px;margin:0 auto;width:100%}.booking-form-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.08);overflow:visible;border-left:4px solid #2d5f4d;transition:opacity .3s ease,filter .3s ease}:global(.dark) .booking-form-card{background:#1f2937;box-shadow:0 2px 8px rgba(0,0,0,.3);border-left-color:#34d399}.booking-form-card.booking-form-confirmed{opacity:.95}.booking-form-card.booking-form-confirmed .booking-field-input,.booking-form-card.booking-form-confirmed .booking-field-textarea{background-color:#f9fafb!important;cursor:not-allowed}:global(.dark) .booking-form-card.booking-form-confirmed .booking-field-input,:global(.dark) .booking-form-card.booking-form-confirmed .booking-field-textarea{background-color:#1f2937!important}.booking-form-header{padding:24px 32px;border-bottom:1px solid #e5e7eb}:global(.dark) .booking-form-header{border-bottom-color:#374151}@media(max-width:768px){.booking-form-header{padding:20px}}.booking-form-header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.booking-form-title{font-size:20px;font-weight:600;color:#1e3a5f;margin-bottom:4px}:global(.dark) .booking-form-title{color:#f9fafb}@media(max-width:640px){.booking-form-title{font-size:18px}}.booking-form-meta{font-size:13px;color:#6b7280}:global(.dark) .booking-form-meta{color:#9ca3af}@media(max-width:640px){.booking-form-meta{font-size:12px}}.booking-status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;transition:all .3s ease}.booking-status-badge.status-pending{background:#fef3c7;color:#92400e}:global(.dark) .booking-status-badge.status-pending{background:#78350f;color:#fcd34d}.booking-status-badge.status-confirmed{background:#d1fae5;color:#065f46;animation:status-confirmed-bounce .5s ease}:global(.dark) .booking-status-badge.status-confirmed{background:#065f46;color:#d1fae5}.booking-status-badge .status-icon{width:14px;height:14px}@media(max-width:640px){.booking-status-badge{font-size:11px;padding:3px 10px}}@keyframes status-confirmed-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.booking-form-section{padding:24px 32px;border-bottom:1px solid #f3f4f6}:global(.dark) .booking-form-section{border-bottom-color:#374151}.booking-form-section:last-of-type{border-bottom:none}@media(max-width:768px){.booking-form-section{padding:20px}}@media(max-width:480px){.booking-form-section{padding:16px}}.booking-section-title{font-size:14px;font-weight:600;color:#2d5f4d;margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #2d5f4d;padding-bottom:8px}:global(.dark) .booking-section-title{color:#34d399;border-bottom-color:#34d399}@media(max-width:640px){.booking-section-title{font-size:13px;margin-bottom:12px}}.booking-field-group{margin-bottom:16px}.booking-field-group:last-child{margin-bottom:0}@media(max-width:640px){.booking-field-group{margin-bottom:12px}}.booking-field-label{display:block;font-size:13px;font-weight:500;color:#4b5563;margin-bottom:6px}:global(.dark) .booking-field-label{color:#d1d5db}.booking-field-label.required:after{content:"*";color:#ef4444;margin-left:4px}@media(max-width:640px){.booking-field-label{font-size:12px;margin-bottom:4px}}.booking-field-input,.booking-field-select,.booking-field-textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#1f2937;background:#fff;transition:all .2s;font-family:inherit}:global(.dark) .booking-field-input,:global(.dark) .booking-field-select,:global(.dark) .booking-field-textarea{background:#374151;color:#e5e7eb;border-color:#4b5563}.booking-field-input:focus,.booking-field-select:focus,.booking-field-textarea:focus{outline:none;border-color:#1e3a5f;box-shadow:0 0 0 3px rgba(30,58,95,.1)}:global(.dark) .booking-field-input:focus,:global(.dark) .booking-field-select:focus,:global(.dark) .booking-field-textarea:focus{border-color:#34d399;box-shadow:0 0 0 3px rgba(52,211,153,.1)}.booking-field-input:disabled,.booking-field-select:disabled,.booking-field-textarea:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}:global(.dark) .booking-field-input:disabled,:global(.dark) .booking-field-select:disabled,:global(.dark) .booking-field-textarea:disabled{background:#1f2937;color:#6b7280}@media(max-width:640px){.booking-field-input,.booking-field-select,.booking-field-textarea{font-size:13px;padding:8px 10px}}.booking-field-textarea{resize:vertical;min-height:80px}@media(max-width:640px){.booking-field-textarea{min-height:60px}}.booking-field-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:768px){.booking-field-grid-2{grid-template-columns:1fr;gap:12px}}.booking-field-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}@media(max-width:768px){.booking-field-grid-3{grid-template-columns:1fr;gap:12px}}@media(min-width:769px)and (max-width:1024px){.booking-field-grid-3{grid-template-columns:1fr 1fr}}.booking-mt-16{margin-top:16px}@media(max-width:640px){.booking-mt-16{margin-top:12px}}.booking-info-display{background:#f9fafb;padding:10px 12px;border-radius:6px;font-size:14px;color:#374151;border:1px solid #e5e7eb}:global(.dark) .booking-info-display{background:#1f2937;color:#d1d5db;border-color:#374151}@media(max-width:640px){.booking-info-display{font-size:13px;padding:8px 10px}}.booking-transport-section{background:#f0fdf4;border-left:3px solid #2d5f4d;padding:16px;border-radius:4px;margin-bottom:16px}:global(.dark) .booking-transport-section{background:#064e3b;border-left-color:#34d399}.booking-transport-section:last-child{margin-bottom:0}@media(max-width:640px){.booking-transport-section{padding:12px;margin-bottom:12px}}.booking-transport-pickup{background:#f0fdf4;border-left-color:#2d5f4d}:global(.dark) .booking-transport-pickup{background:#064e3b;border-left-color:#34d399}.booking-transport-dropoff{background:#fef3e2;border-left-color:#ff6b35}:global(.dark) .booking-transport-dropoff{background:#7c2d12;border-left-color:#fb923c}.booking-transport-title{font-weight:600;color:#2d5f4d;margin-bottom:12px;font-size:14px}:global(.dark) .booking-transport-title{color:#34d399}.booking-transport-dropoff .booking-transport-title{color:#ff6b35}:global(.dark) .booking-transport-dropoff .booking-transport-title{color:#fb923c}@media(max-width:640px){.booking-transport-title{font-size:13px;margin-bottom:8px}}.booking-record-info{background:#f9fafb;padding:16px;border-radius:6px;border:1px solid #e5e7eb}:global(.dark) .booking-record-info{background:#1f2937;border-color:#374151}@media(max-width:640px){.booking-record-info{padding:12px}}.booking-record-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width:768px){.booking-record-row{grid-template-columns:1fr;gap:16px}}.booking-record-item-label{font-size:12px;color:#6b7280;margin-bottom:4px}:global(.dark) .booking-record-item-label{color:#9ca3af}@media(max-width:640px){.booking-record-item-label{font-size:11px}}.booking-record-item-value{font-weight:500;color:#1f2937}:global(.dark) .booking-record-item-value{color:#e5e7eb}.booking-record-item-time{font-size:13px;color:#6b7280;margin-top:2px}:global(.dark) .booking-record-item-time{color:#9ca3af}@media(max-width:640px){.booking-record-item-time{font-size:12px}}.booking-action-bar{padding:20px 32px;background:#f9fafb;display:flex;gap:12px;justify-content:flex-end}:global(.dark) .booking-action-bar{background:#111827}@media(max-width:768px){.booking-action-bar{padding:16px 20px}}@media(max-width:480px){.booking-action-bar{padding:16px}}.booking-btn{padding:12px 32px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-family:inherit}@media(max-width:768px){.booking-btn{width:100%;padding:12px 24px}}@media(max-width:480px){.booking-btn{padding:10px 20px;font-size:13px}}.booking-btn-primary{background:#1e3a5f;color:#fff;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px}:global(.dark) .booking-btn-primary{background:#34d399;color:#1f2937}.booking-btn-primary:hover:not(:disabled){background:#162d4a;transform:translateY(-1px);box-shadow:0 4px 12px rgba(30,58,95,.2)}:global(.dark) .booking-btn-primary:hover:not(:disabled){background:#10b981;box-shadow:0 4px 12px rgba(52,211,153,.3)}.booking-btn-primary:active:not(:disabled){transform:translateY(0)}.booking-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.booking-error-message{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;color:#991b1b;font-size:14px;animation:shake .4s ease}:global(.dark) .booking-error-message{background:#7f1d1d;border-color:#991b1b;color:#fca5a5}@media(max-width:640px){.booking-error-message{font-size:13px;padding:10px 12px}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.booking-success-banner{display:flex;align-items:flex-start;gap:16px;padding:20px 32px;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-bottom:2px solid #34d399;animation:slideDown .5s ease}:global(.dark) .booking-success-banner{background:linear-gradient(135deg,#064e3b,#065f46);border-bottom-color:#10b981}@media(max-width:768px){.booking-success-banner{padding:16px 20px;gap:12px}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.booking-success-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#10b981;border-radius:50%;animation:checkmark-bounce .6s ease}:global(.dark) .booking-success-icon{background:#34d399}@media(max-width:640px){.booking-success-icon{width:40px;height:40px}}@keyframes checkmark-bounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.checkmark-animation{width:28px;height:28px;color:#fff;stroke-width:3;animation:checkmark-draw .5s ease .2s forwards;stroke-dasharray:50;stroke-dashoffset:50}@media(max-width:640px){.checkmark-animation{width:24px;height:24px}}@keyframes checkmark-draw{to{stroke-dashoffset:0}}.booking-success-content{flex:1}.booking-success-title{font-size:18px;font-weight:600;color:#065f46;margin-bottom:8px}:global(.dark) .booking-success-title{color:#d1fae5}@media(max-width:640px){.booking-success-title{font-size:16px}}.booking-success-message{font-size:14px;font-weight:700;color:#047857;margin-bottom:12px}:global(.dark) .booking-success-message{color:#a7f3d0}@media(max-width:640px){.booking-success-message{font-size:13px}}.booking-success-details{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:#059669}:global(.dark) .booking-success-details{color:#6ee7b7}.booking-success-details span:not(:last-child):after{content:""}@media(max-width:640px){.booking-success-details{font-size:12px}}.booking-checkmark{width:20px;height:20px;margin-right:4px}.booking-error-icon{width:20px;height:20px;flex-shrink:0}@media(max-width:640px){.booking-error-icon{width:18px;height:18px}}.booking-spinner{width:20px;height:20px;animation:spin 1s linear infinite}@media(max-width:640px){.booking-spinner{width:18px;height:18px}}.booking-spinner-circle{opacity:.25}.booking-spinner-path{opacity:.75}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}