@media print{.no-print{display:none!important}}.stepper{width:100%;padding:var(--space-2) 0;margin:0 calc(var(--space-4)*-1);padding-left:var(--space-4);padding-right:var(--space-4);justify-content:space-between;align-items:flex-start;display:flex;position:relative}.stepper:before{content:"";top:36px;left:var(--space-4);right:var(--space-4);background:var(--color-border);z-index:0;border-radius:var(--radius-full);height:2px;position:absolute}.stepper:after{content:"";top:36px;left:var(--space-4);background:linear-gradient(90deg, var(--color-brand-500), var(--color-brand-300));border-radius:var(--radius-full);z-index:1;height:2px;transition:width var(--duration-slow) var(--ease-spring);width:0%;position:absolute}.stepper{scrollbar-width:none;-ms-overflow-style:none;overflow:auto hidden}.stepper::-webkit-scrollbar{display:none}.stepper-item{z-index:2;cursor:pointer;padding:var(--space-1);min-width:64px;max-width:120px;transition:transform var(--duration-fast) var(--ease-out);border-radius:var(--radius-md);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.stepper-item:hover:not(.locked):not(.active){transform:translateY(-2px)}.stepper-item:active:not(.locked){transform:scale(.95)}.stepper-item .step-icon-wrapper{width:40px;height:40px;margin-bottom:var(--space-2);border-radius:var(--radius-full);background:var(--color-background);border:2px solid var(--color-border);transition:all var(--duration-base) var(--ease-out);justify-content:center;align-items:center;display:flex;position:relative}.stepper-item .step-icon-wrapper svg{width:20px;height:20px;stroke:var(--color-text-tertiary);stroke-width:2px;fill:none;transition:all var(--duration-base) var(--ease-out)}.stepper-item .step-icon-wrapper .step-number{font-size:var(--text-sm);font-weight:var(--font-weight-bold);color:var(--color-text-tertiary);transition:all var(--duration-base) var(--ease-out);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.stepper-item .step-label{font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);white-space:nowrap;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;transition:color var(--duration-base) var(--ease-out);overflow:hidden}.stepper-item.completed .step-icon-wrapper{background:var(--color-brand-500);border-color:var(--color-brand-500);box-shadow:0 0 0 3px var(--color-primary-subtle)}.stepper-item.completed .step-icon-wrapper svg{stroke:#fff;stroke-width:2.5px}.stepper-item.completed .step-icon-wrapper .step-number{display:none}.stepper-item.completed .step-label{color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.stepper-item.active .step-icon-wrapper{background:var(--color-surface);border-color:var(--color-brand-500);box-shadow:0 0 0 3px var(--color-primary-subtle);animation:pulse-ring 2s var(--ease-in-out) infinite;transform:scale(1.15)}.stepper-item.active .step-icon-wrapper svg{stroke:var(--color-brand-500);stroke-width:2.5px}.stepper-item.active .step-icon-wrapper .step-number{display:none}.stepper-item.active .step-label{color:var(--color-brand-700);font-weight:var(--font-weight-bold)}.stepper-item.locked{opacity:.5;cursor:not-allowed}.stepper-item.locked .step-icon-wrapper{background:var(--color-background);border-color:var(--color-border);border-style:dashed}.stepper-item.locked .step-icon-wrapper svg{stroke:var(--color-text-disabled)}.stepper-item.locked .step-label{color:var(--color-text-disabled)}.stepper-item.locked:hover{transform:none}@media (max-width:590px){.stepper-item{min-width:56px;max-width:80px}.stepper-item .step-icon-wrapper{width:32px;height:32px}.stepper-item .step-icon-wrapper svg{width:16px;height:16px}.stepper-item .step-label{font-size:.625rem}}@media (max-width:420px){.stepper-item{min-width:48px;max-width:64px}.stepper-item .step-icon-wrapper{width:28px;height:28px}.stepper-item .step-icon-wrapper svg{width:14px;height:14px}.stepper-item .step-label{font-size:.6rem}}@keyframes pulse-ring{0%{box-shadow:0 0 0 3px var(--color-primary-subtle)}50%{box-shadow:0 0 0 6px #14b8a633}to{box-shadow:0 0 0 3px var(--color-primary-subtle)}}
@media print{.no-print{display:none!important}}.spinner-fullscreen{-webkit-backdrop-filter:blur(8px);z-index:var(--z-modal-backdrop);animation:fade-in var(--duration-base) var(--ease-out);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.spinner-fullscreen .spinner-content{background:var(--color-surface);border-radius:var(--radius-2xl);padding:var(--space-10) var(--space-8);text-align:center;box-shadow:var(--shadow-2xl);max-width:280px;animation:scale-in var(--duration-base) var(--ease-spring)}.spinner-fullscreen .spinner-content .spinner-message{margin-top:var(--space-6);font-size:var(--text-base);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.spinner-overlay{-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal);background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.spinner{color:var(--color-brand-500);display:inline-block;position:relative}.spinner .spinner-circle{box-sizing:border-box;width:100%;height:100%;animation:spin var(--duration-slow) var(--ease-in-out) infinite;border:3px solid #0000;border-top-color:currentColor;border-radius:50%;display:block;position:absolute}.spinner.spinner-large{width:80px;height:80px}.spinner.spinner-large .spinner-circle{filter:drop-shadow(0 0 8px);border-width:4px}.spinner.spinner-large .spinner-circle-delayed{animation:spin 1.5s var(--ease-in-out) infinite reverse;opacity:.4;border:3px solid;border-color:currentColor currentColor #0000 #0000;border-radius:50%;position:absolute;inset:0}.spinner-small{width:20px;height:20px}.spinner-small .spinner-circle{border-width:2px}.spinner-medium{width:40px;height:40px}.spinner-medium .spinner-circle{border-width:3px}.spinner-large{width:64px;height:64px}.spinner-large .spinner-circle{border-width:4px}.spinner-primary{color:var(--color-brand-600)}.spinner-secondary{color:var(--color-brand-500)}.spinner-white{color:#fff}.spinner-success{color:var(--color-success)}.spinner-error{color:var(--color-error)}.spinner-warning{color:var(--color-warning)}.spinner-pulse{gap:var(--space-1);display:inline-flex}.spinner-pulse .pulse-dot{border-radius:var(--radius-full);width:8px;height:8px;animation:pulse-dot 1.2s var(--ease-in-out) infinite;background:currentColor}.spinner-pulse .pulse-dot:nth-child(2){animation-delay:.2s}.spinner-pulse .pulse-dot:nth-child(3){animation-delay:.4s}.spinner-pulse-small .pulse-dot{width:6px;height:6px}.spinner-pulse-large .pulse-dot{width:12px;height:12px}@keyframes pulse-dot{0%,80%,to{opacity:1;transform:scale(1)}40%{opacity:.5;transform:scale(1.5)}}.spinner-inline{align-items:center;gap:var(--space-2);display:inline-flex}.spinner-inline .spinner-track{border:2px solid var(--color-border);border-top-color:var(--color-brand-500);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}.spinner-inline-small .spinner-track{border-width:1.5px;width:12px;height:12px}.spinner-inline-large .spinner-track{border-width:3px;width:24px;height:24px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.spinner-circle,.spinner-circle-delayed,.spinner-track,.pulse-dot,.spinner-fullscreen,.spinner-content{animation:none!important}}
@media print{.no-print{display:none!important}}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out);border:none;text-decoration:none;display:inline-flex}.btn:focus-visible{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-border-focus);outline:none}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none!important;transform:none!important}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out);border:none;text-decoration:none;display:inline-flex}.btn-primary:focus-visible{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-border-focus);outline:none}.btn-primary:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none!important;transform:none!important}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary{background:linear-gradient(135deg, var(--color-brand-600), var(--color-brand-700));color:var(--color-text-on-primary);padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-lg);background:linear-gradient(135deg, var(--color-brand-500), var(--color-brand-600));transform:translateY(-2px)}.btn-secondary{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out);border:none;text-decoration:none;display:inline-flex}.btn-secondary:focus-visible{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-border-focus);outline:none}.btn-secondary:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none!important;transform:none!important}.btn-secondary:active:not(:disabled){transform:scale(.98)}.btn-secondary{background:var(--color-brand-500);color:var(--color-text-on-primary);padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.btn-secondary:hover:not(:disabled){box-shadow:var(--shadow-lg);background:var(--color-brand-400);transform:translateY(-2px)}.btn-outline{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out);border:none;text-decoration:none;display:inline-flex}.btn-outline:focus-visible{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-border-focus);outline:none}.btn-outline:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none!important;transform:none!important}.btn-outline:active:not(:disabled){transform:scale(.98)}.btn-outline{border:1px solid var(--color-border);color:var(--color-text-primary);padding:var(--space-3) var(--space-6);font-size:var(--text-base);background:0 0}.btn-outline:hover:not(:disabled){background:var(--color-primary-subtle);border-color:var(--color-brand-500);color:var(--color-brand-700)}.btn-ghost{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out);border:none;text-decoration:none;display:inline-flex}.btn-ghost:focus-visible{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-border-focus);outline:none}.btn-ghost:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none!important;transform:none!important}.btn-ghost:active:not(:disabled){transform:scale(.98)}.btn-ghost{color:var(--color-text-secondary);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-background-hover);color:var(--color-text-primary)}.btn-danger{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out);border:none;text-decoration:none;display:inline-flex}.btn-danger:focus-visible{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-border-focus);outline:none}.btn-danger:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none!important;transform:none!important}.btn-danger:active:not(:disabled){transform:scale(.98)}.btn-danger{background:linear-gradient(135deg, var(--color-error), #b91c1c);color:#fff;padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.btn-danger:hover:not(:disabled){box-shadow:var(--shadow-lg);background:linear-gradient(135deg, #ef4444, var(--color-error));transform:translateY(-2px)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);gap:var(--space-1-5)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-lg);gap:var(--space-2)}.btn.full-width{width:100%}.btn.loading{pointer-events:none;position:relative;color:#0000!important}.btn.loading:after{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:1.25rem;height:1.25rem;animation:.6s linear infinite spin;position:absolute}.btn.with-icon-start{padding-left:calc(var(--space-4) + .5rem)}.btn.with-icon-end{padding-right:calc(var(--space-4) + .5rem)}.btn svg{flex-shrink:0;width:1.125em;height:1.125em}
@media print{.no-print{display:none!important}}.booking-header{z-index:var(--z-sticky-header);height:var(--header-height);background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-bottom:1px solid var(--glass-border);padding:0 var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex;position:sticky;top:0}.booking-header .header-left{flex:1;justify-content:flex-start;min-width:0;display:flex}.booking-header .header-left .company-name{font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.booking-header .header-center{flex-shrink:0;width:80px;height:48px;position:relative}.booking-header .header-center .logo-wrapper{border-radius:var(--radius-lg);width:100%;height:100%;transition:transform var(--duration-base) var(--ease-spring);position:relative;overflow:hidden}.booking-header .header-center .logo-wrapper:hover{transform:scale(1.05)}.booking-header .header-center .logo-wrapper img{object-fit:contain;width:100%;height:100%;transition:opacity var(--duration-base) var(--ease-out)}.booking-header .header-center .logo-wrapper .company-initials{background:linear-gradient(135deg, var(--color-brand-600), var(--color-brand-400));color:#fff;width:100%;height:100%;font-size:var(--text-xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;justify-content:center;align-items:center;display:flex}.booking-header .header-right{justify-content:flex-end;gap:var(--space-3);flex:1;display:flex}.booking-header .header-right .language-select{appearance:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4) var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--space-2) center;min-width:120px;padding-right:var(--space-8);background-repeat:no-repeat;background-size:1.25rem}.booking-header .header-right .language-select:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.booking-header .header-right .language-select:focus:focus-visible{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-border-focus);outline:none}.booking-header .header-right .language-select:focus{border-color:var(--color-border-focus)}.booking-header .header-right .language-select option{background:var(--color-surface);color:var(--color-text-primary);padding:var(--space-2)}@media (max-width:480px){.booking-header{height:var(--header-height-compact);padding:0 var(--space-3);gap:var(--space-2)}.booking-header .header-left .company-name{font-size:var(--text-base)}.booking-header .header-center{width:36px;height:36px}.booking-header .header-right .language-select{padding:var(--space-1-5) var(--space-6) var(--space-1-5) var(--space-2);font-size:var(--text-xs);min-width:auto}}
@media print{.no-print{display:none!important}}.expandable-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;box-shadow:var(--shadow-sm);transition:all var(--duration-base) var(--ease-out);margin-bottom:var(--space-4);overflow:hidden}.expandable-card.expanded{box-shadow:var(--shadow-lg);border-color:var(--color-brand-200);margin-bottom:var(--space-6)}.expandable-card.expanded .card-header{border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--color-primary-subtle)}.expandable-card.expanded .card-header .header-chevron{transform:rotate(180deg)}.expandable-card.expanded .card-content{opacity:1;max-height:2000px;padding-bottom:var(--space-4);border-top:1px solid var(--color-border)}.expandable-card .card-header{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);cursor:pointer;background:var(--color-surface);border-bottom:1px solid var(--color-border);transition:all var(--duration-base) var(--ease-out);border-radius:var(--radius-xl);display:flex}.expandable-card .card-header:hover{background:var(--color-background-hover)}.expandable-card .card-header .header-icon{background:var(--color-primary-subtle);border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-brand-600);flex-shrink:0;justify-content:center;align-items:center;display:flex}.expandable-card .card-header .header-icon svg{stroke:currentColor;stroke-width:2px;fill:none;width:20px;height:20px}.expandable-card .card-header .header-text{flex:1;min-width:0}.expandable-card .card-header .header-text .header-title{font-size:var(--text-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-0-5);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.expandable-card .card-header .header-text .header-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.expandable-card .card-header .header-chevron{width:24px;height:24px;color:var(--color-text-tertiary);border-radius:var(--radius-full);transition:all var(--duration-base) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:flex}.expandable-card .card-header .header-chevron:hover{background:var(--color-background-hover);color:var(--color-text-secondary)}.expandable-card .card-header.disabled{opacity:.5;cursor:not-allowed;background:var(--color-surface)}.expandable-card .card-header.disabled:hover{background:var(--color-surface)}.expandable-card .card-header.disabled .header-icon,.expandable-card .card-header.disabled .header-title,.expandable-card .card-header.disabled .header-subtitle,.expandable-card .card-header.disabled .header-chevron{color:var(--color-text-disabled)}.expandable-card .card-content{opacity:0;background:var(--color-surface);max-height:0;transition:all var(--duration-slow) var(--ease-out);overflow:hidden}.expandable-card .content-inner{padding:var(--space-5);width:100%;max-width:100%;margin:0}@media (prefers-reduced-motion:reduce){.expandable-card .card-content,.expandable-card .header-chevron{transition:none}}
@media print{.no-print{display:none!important}}.datepicker-wrapper{width:100%}.datepicker-label{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--space-1);display:block}.datepicker-trigger{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-family:var(--font-sans);font-weight:var(--font-weight-normal);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.datepicker-trigger::placeholder{color:var(--color-text-tertiary)}.datepicker-trigger:hover:not(:disabled):not(.error){border-color:var(--color-border-strong)}.datepicker-trigger:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:none}.datepicker-trigger:disabled{background:var(--color-background);color:var(--color-text-disabled);cursor:not-allowed}.datepicker-trigger.error{border-color:var(--color-error)}.datepicker-trigger.error:focus{box-shadow:0 0 0 3px var(--color-error-subtle)}@media (max-width:480px){.datepicker-trigger{font-size:1rem}}.datepicker-trigger{cursor:pointer;padding-right:var(--space-10);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--space-3) center;background-repeat:no-repeat;background-size:1.25rem;justify-content:space-between;align-items:center;display:flex}.datepicker-trigger.placeholder{color:var(--color-text-tertiary)}.datepicker-value{font-size:var(--text-base);color:var(--color-text-primary);text-align:left;flex:1}.datepicker-icon{color:var(--color-brand-500);margin-left:var(--space-2);flex-shrink:0}.datepicker-overlay{-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal);animation:fade-in var(--duration-base) var(--ease-out);background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (min-width:640px){.datepicker-overlay{align-items:center}}.datepicker-modal{background:var(--color-surface);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;width:100%;max-width:100%;padding:var(--space-6);box-shadow:var(--shadow-2xl);animation:slide-up var(--duration-base) var(--ease-spring);max-height:85vh;overflow-y:auto}@media (min-width:640px){.datepicker-modal{border-radius:var(--radius-2xl);margin:var(--space-4);max-width:420px;max-height:none}}@keyframes slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.datepicker-header{margin-bottom:var(--space-4);padding:0 var(--space-1);justify-content:space-between;align-items:center;display:flex}.datepicker-header .nav-btn{border-radius:var(--radius-full);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-spring);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.datepicker-header .nav-btn:hover:not(.disabled){background:var(--color-brand-50);color:var(--color-brand-700)}.datepicker-header .nav-btn:active:not(.disabled){transform:scale(.95)}.datepicker-header .nav-btn.disabled{color:var(--color-text-disabled);cursor:not-allowed;opacity:.5}.datepicker-header .nav-btn svg{width:20px;height:20px}.datepicker-header .month-year{font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-align:center;flex:1}.calendar-weekdays{text-align:center;font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.05em;grid-template-columns:repeat(7,1fr);display:grid}.calendar-grid{gap:var(--space-1);grid-template-columns:repeat(7,1fr);display:grid}.calendar-day{aspect-ratio:1;border-radius:var(--radius-full);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);transition:all var(--duration-fast) var(--ease-spring);background:0 0;border:none;justify-content:center;align-items:center;min-height:44px;display:flex}.calendar-day:hover:not(.disabled):not(.selected):not(.empty){background:var(--color-brand-100);color:var(--color-brand-700)}.calendar-day:focus-visible{box-shadow:0 0 0 2px var(--color-primary-subtle);z-index:1;outline:none}.calendar-day.selected{background:linear-gradient(135deg, var(--color-brand-600), var(--color-brand-700));color:#fff;box-shadow:var(--shadow-md)}.calendar-day.selected:hover{background:linear-gradient(135deg, var(--color-brand-500), var(--color-brand-600))}.calendar-day.today:not(.selected){position:relative}.calendar-day.today:not(.selected):after{content:"";background:var(--color-brand-500);border-radius:var(--radius-full);width:4px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.calendar-day.disabled{color:var(--color-text-disabled);cursor:not-allowed;background:0 0}.calendar-day.empty{cursor:default;pointer-events:none}.calendar-day.in-range{background:var(--color-primary-subtle);color:var(--color-brand-700);border-radius:0}.calendar-day.in-range:first-child{border-radius:var(--radius-full) 0 0 var(--radius-full)}.calendar-day.in-range:last-child{border-radius:0 var(--radius-full) var(--radius-full) 0}.calendar-day.range-start{background:linear-gradient(135deg, var(--color-brand-600), var(--color-brand-700));color:#fff;border-radius:var(--radius-full) 0 0 var(--radius-full)}.calendar-day.range-end{background:linear-gradient(135deg, var(--color-brand-600), var(--color-brand-700));color:#fff;border-radius:0 var(--radius-full) var(--radius-full) 0}.datepicker-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex}.datepicker-actions .btn{min-width:80px}.datepicker-actions .btn-cancel{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out);border:none;text-decoration:none;display:inline-flex}.datepicker-actions .btn-cancel:focus-visible{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-border-focus);outline:none}.datepicker-actions .btn-cancel:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none!important;transform:none!important}.datepicker-actions .btn-cancel:active:not(:disabled){transform:scale(.98)}.datepicker-actions .btn-cancel{color:var(--color-text-secondary);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);background:0 0}.datepicker-actions .btn-cancel:hover:not(:disabled){background:var(--color-background-hover);color:var(--color-text-primary)}.datepicker-actions .btn-cancel{padding:var(--space-2) var(--space-4)}.datepicker-actions .btn-confirm{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out);border:none;text-decoration:none;display:inline-flex}.datepicker-actions .btn-confirm:focus-visible{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-border-focus);outline:none}.datepicker-actions .btn-confirm:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none!important;transform:none!important}.datepicker-actions .btn-confirm:active:not(:disabled){transform:scale(.98)}.datepicker-actions .btn-confirm{background:linear-gradient(135deg, var(--color-brand-600), var(--color-brand-700));color:var(--color-text-on-primary);padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.datepicker-actions .btn-confirm:hover:not(:disabled){box-shadow:var(--shadow-lg);background:linear-gradient(135deg, var(--color-brand-500), var(--color-brand-600));transform:translateY(-2px)}.datepicker-actions .btn-confirm{padding:var(--space-2) var(--space-5)}.datepicker-presets{gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.datepicker-presets .preset-btn{padding:var(--space-2) var(--space-3);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.datepicker-presets .preset-btn:hover{background:var(--color-surface);border-color:var(--color-brand-300);color:var(--color-brand-700)}.datepicker-presets .preset-btn.active{background:var(--color-brand-500);border-color:var(--color-brand-500);color:#fff}@media (prefers-reduced-motion:reduce){.datepicker-modal,.datepicker-overlay{animation:none}.calendar-day{transition:none}}
@media print{.no-print{display:none!important}}.modal-dropdown{width:100%}.modal-dropdown-label{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--space-1);display:block}.modal-dropdown-trigger{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-family:var(--font-sans);font-weight:var(--font-weight-normal);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.modal-dropdown-trigger::placeholder{color:var(--color-text-tertiary)}.modal-dropdown-trigger:hover:not(:disabled):not(.error){border-color:var(--color-border-strong)}.modal-dropdown-trigger:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:none}.modal-dropdown-trigger:disabled{background:var(--color-background);color:var(--color-text-disabled);cursor:not-allowed}.modal-dropdown-trigger.error:focus{box-shadow:0 0 0 3px var(--color-error-subtle)}@media (max-width:480px){.modal-dropdown-trigger{font-size:1rem}}.modal-dropdown-trigger{cursor:pointer;padding-right:var(--space-10);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--space-3) center;background-repeat:no-repeat;background-size:1.25rem;justify-content:space-between;align-items:center;display:flex}.modal-dropdown-trigger.error{border-color:var(--color-error)}.modal-dropdown-trigger.disabled{background:var(--color-background);cursor:not-allowed;opacity:.6}.modal-dropdown-trigger .selected-value{font-size:var(--text-base);color:var(--color-text-primary);text-align:left;flex:1}.modal-dropdown-trigger .selected-value.placeholder{color:var(--color-text-tertiary)}@media (max-width:420px){.modal-dropdown-trigger .selected-value{font-size:var(--text-sm)}}.modal-dropdown-trigger .dropdown-icon{color:var(--color-brand-500);margin-left:var(--space-2);flex-shrink:0}.modal-dropdown-error{font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-1);display:block}.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal);animation:fade-in var(--duration-base) var(--ease-out);background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (min-width:640px){.modal-overlay{align-items:center}}.modal-container{background:var(--color-surface);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;width:100%;max-width:100%;max-height:80vh;box-shadow:var(--shadow-2xl);animation:slide-up var(--duration-base) var(--ease-spring);flex-direction:column;display:flex}@media (min-width:640px){.modal-container{border-radius:var(--radius-2xl);margin:var(--space-4);max-width:480px;max-height:70vh}}@keyframes slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.modal-header .modal-close{border-radius:var(--radius-full);width:36px;height:36px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal-header .modal-close:hover{background:var(--color-background-hover);color:var(--color-text-primary)}.modal-header .modal-close:active{transform:scale(.95)}.modal-header .modal-close svg{width:20px;height:20px}@media (max-width:420px){.modal-header h3{font-size:var(--text-base)}}.modal-search{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);flex-shrink:0}.modal-search input{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-family:var(--font-sans);font-weight:var(--font-weight-normal);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.modal-search input:hover:not(:disabled):not(.error){border-color:var(--color-border-strong)}.modal-search input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:none}.modal-search input:disabled{background:var(--color-background);color:var(--color-text-disabled);cursor:not-allowed}.modal-search input.error{border-color:var(--color-error)}.modal-search input.error:focus{box-shadow:0 0 0 3px var(--color-error-subtle)}@media (max-width:480px){.modal-search input{font-size:1rem}}.modal-search input{padding:var(--space-3) var(--space-4);font-size:var(--text-base);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M9 11l3 3L22 4'/%3e%3c/svg%3e");background-position:left var(--space-3) center;padding-left:var(--space-10);background-repeat:no-repeat;background-size:1.25rem}.modal-search input::placeholder{color:var(--color-text-tertiary)}.modal-list{padding:var(--space-2) var(--space-3);-webkit-overflow-scrolling:touch;flex:1;margin:0;list-style:none;overflow-y:auto}.modal-option{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);transition:all var(--duration-fast) var(--ease-out);margin-bottom:var(--space-1);display:flex}.modal-option:hover,.modal-option.highlighted,.modal-option.selected{background:var(--color-primary-subtle);color:var(--color-brand-700)}.modal-option.selected:before{content:"";background:var(--color-brand-500);border-radius:var(--radius-full);flex-shrink:0;width:6px;height:6px}.modal-option .option-icon{width:24px;height:24px;color:var(--color-brand-500);flex-shrink:0}.modal-option .option-text{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}@media (max-width:420px){.modal-option{font-size:var(--text-sm);padding:var(--space-2-5) var(--space-3)}}.modal-option-group{padding:var(--space-3) var(--space-4) var(--space-1);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.no-options{padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-text-tertiary);font-size:var(--text-base)}.no-options .no-options-icon{width:48px;height:48px;margin:0 auto var(--space-3);color:var(--color-text-disabled);opacity:.5}.modal-loading{padding:var(--space-8);color:var(--color-text-tertiary);justify-content:center;align-items:center;display:flex}@media (prefers-reduced-motion:reduce){.modal-container,.modal-overlay{animation:none}.modal-option{transition:none}}
@media print{.no-print{display:none!important}}.journey-selection{gap:var(--space-6);flex-direction:column;display:flex}.location-row{gap:var(--space-4);margin-top:var(--space-2);display:flex}@media (max-width:640px){.location-row{flex-direction:column;gap:0}}.location-row .input-group{flex:1;position:relative}.input-group{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--space-1);display:block}.input-group input,.input-group .date-button{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-family:var(--font-sans);font-weight:var(--font-weight-normal);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.input-group input::placeholder,.input-group .date-button::placeholder{color:var(--color-text-tertiary)}.input-group input:hover:not(:disabled):not(.error),.input-group .date-button:hover:not(:disabled):not(.error){border-color:var(--color-border-strong)}.input-group input:focus,.input-group .date-button:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:none}.input-group input:disabled,.input-group .date-button:disabled{background:var(--color-background);color:var(--color-text-disabled);cursor:not-allowed}.input-group input.error,.input-group .date-button.error{border-color:var(--color-error)}.input-group input.error:focus,.input-group .date-button.error:focus{box-shadow:0 0 0 3px var(--color-error-subtle)}@media (max-width:480px){.input-group input,.input-group .date-button{font-size:1rem}}.input-group input,.input-group .date-button{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);text-align:left}.input-group .date-button{cursor:pointer;background:var(--color-surface);justify-content:space-between;align-items:center;display:flex}.input-group .date-button:hover:not(:disabled){border-color:var(--color-border-strong)}.input-group .date-button .date-icon{color:var(--color-brand-500);margin-left:var(--space-2);flex-shrink:0}.input-group .error-message{font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-1);display:block}.field-floating{position:relative}.field-floating label{top:50%;left:var(--space-4);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);margin-bottom:var(--space-1);pointer-events:none;background:var(--color-surface);padding:0 var(--space-1);transition:all var(--duration-fast) var(--ease-out);z-index:1;font-size:var(--text-base);display:block;position:absolute;transform:translateY(-50%)}.field-floating input:focus+label,.field-floating input:not(:placeholder-shown)+label{font-size:var(--text-xs);color:var(--color-brand-600);font-weight:var(--font-weight-semibold);top:0}.field-floating input{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-family:var(--font-sans);font-weight:var(--font-weight-normal);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.field-floating input::placeholder{color:var(--color-text-tertiary)}.field-floating input:hover:not(:disabled):not(.error){border-color:var(--color-border-strong)}.field-floating input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:none}.field-floating input:disabled{background:var(--color-background);color:var(--color-text-disabled);cursor:not-allowed}.field-floating input.error{border-color:var(--color-error)}.field-floating input.error:focus{box-shadow:0 0 0 3px var(--color-error-subtle)}@media (max-width:480px){.field-floating input{font-size:1rem}}.field-floating input{padding-top:var(--space-5);padding-bottom:var(--space-2)}.trip-type{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2);gap:var(--space-2);display:flex}.trip-type .segment{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-medium);font-size:var(--text-base);color:var(--color-text-secondary);transition:all var(--duration-fast) var(--ease-spring);justify-content:center;align-items:center;gap:var(--space-2);background:0 0;border:none;flex:1;min-height:48px;display:flex}.trip-type .segment:hover:not(.active){background:var(--color-surface);color:var(--color-text-primary)}.trip-type .segment.active{background:var(--color-surface);color:var(--color-brand-700);box-shadow:var(--shadow-sm);font-weight:var(--font-weight-semibold)}.trip-type .segment.active .segment-icon{color:var(--color-brand-500)}.trip-type .segment .segment-icon{color:currentColor;width:20px;height:20px;transition:color var(--duration-fast) var(--ease-out)}@media (max-width:420px){.trip-type .segment{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}}.date-row{gap:var(--space-4);display:flex}@media (max-width:640px){.date-row{flex-direction:column;gap:0}}.date-row .input-group{flex:1}.swap-locations{z-index:10;border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;width:40px;height:40px;color:var(--color-brand-600);box-shadow:var(--shadow-md);transition:all var(--duration-fast) var(--ease-spring);justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.swap-locations:hover{background:var(--color-brand-50);border-color:var(--color-brand-200);color:var(--color-brand-700);transform:translate(-50%,-50%)scale(1.1)}.swap-locations:active{transform:translate(-50%,-50%)scale(.95)}@media (max-width:640px){.swap-locations{display:none}}.search-button{margin-top:var(--space-2);width:100%}@media (max-width:480px){.journey-selection{gap:var(--space-4)}.location-row{gap:var(--space-3)}.input-group label{font-size:var(--text-sm)}}
@media print{.no-print{display:none!important}}.available-trips{gap:var(--space-4);flex-direction:column;display:flex}.filter-bar{gap:var(--space-2);background:var(--color-surface);padding:var(--space-2);border-radius:var(--radius-lg);border:1px solid var(--color-border);margin-bottom:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out);display:flex}.filter-bar .filter-btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-weight-medium);cursor:pointer;color:var(--color-text-secondary);transition:all var(--duration-fast) var(--ease-spring);white-space:nowrap;background:0 0;border:none;flex:1}.filter-bar .filter-btn:hover{background:var(--color-background-hover);color:var(--color-text-primary)}.filter-bar .filter-btn.active{background:linear-gradient(135deg, var(--color-brand-600), var(--color-brand-700));color:#fff;box-shadow:var(--shadow-sm)}.trips-list{gap:var(--space-3);flex-direction:column;display:flex}.trip-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out);padding:var(--space-4) var(--space-5)}.trip-card:hover{box-shadow:var(--shadow-xl);border-color:var(--color-border-strong);transform:translateY(-4px)}.trip-card{cursor:pointer;position:relative;overflow:hidden}.trip-card:before{content:"";background:linear-gradient(180deg, var(--color-brand-500), var(--color-brand-300));transform-origin:top;width:4px;transition:transform var(--duration-base) var(--ease-spring);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.trip-card:hover:before{transform:scaleY(1)}.trip-card.selected{border-color:var(--color-brand-300);background:var(--color-primary-subtle)}.trip-card.selected:before{transform:scaleY(1)}.trip-card.selected .card-header .price{color:var(--color-brand-700)}.trip-card.selected .select-btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out);border:none;text-decoration:none;display:inline-flex}.trip-card.selected .select-btn:focus-visible{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-border-focus);outline:none}.trip-card.selected .select-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none!important;transform:none!important}.trip-card.selected .select-btn:active:not(:disabled){transform:scale(.98)}.trip-card.selected .select-btn{background:var(--color-brand-500);color:var(--color-text-on-primary);padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.trip-card.selected .select-btn:hover:not(:disabled){box-shadow:var(--shadow-lg);background:var(--color-brand-400);transform:translateY(-2px)}.trip-card.selected .select-btn{background:var(--color-brand-500);color:#fff;border-color:var(--color-brand-500)}.trip-card.selected .select-btn:hover{background:var(--color-brand-600)}.trip-card .card-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.trip-card .card-header .bus-info{flex:1;min-width:0}.trip-card .card-header .bus-info .bus-name{font-weight:var(--font-weight-bold);font-size:var(--text-base);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;margin-bottom:var(--space-1);display:block;overflow:hidden}.trip-card .card-header .bus-info .route{font-size:var(--text-sm);color:var(--color-text-secondary);align-items:center;gap:var(--space-1-5);display:flex}.trip-card .card-header .bus-info .route .route-arrow{color:var(--color-brand-500)}.trip-card .card-header .price{font-size:var(--text-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);white-space:nowrap;transition:color var(--duration-base) var(--ease-out);flex-shrink:0}.trip-card .times{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);padding:var(--space-3) 0;border-top:1px dashed var(--color-border);border-bottom:1px dashed var(--color-border);flex-wrap:wrap;display:flex}.trip-card .times .time-block{text-align:center;flex:1;min-width:100px}.trip-card .times .time-block .label{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-0-5);display:block}.trip-card .times .time-block .value{font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);display:block}.trip-card .times .time-block .date{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-0-5);display:block}.trip-card .times .duration-arrow{font-size:var(--text-xl);color:var(--color-brand-500);flex-shrink:0}.trip-card .times .duration{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-brand-600);background:var(--color-primary-subtle);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);white-space:nowrap}.trip-card .card-footer{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-2);display:flex}.trip-card .card-footer p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.trip-card .card-footer p strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.trip-card .card-footer .select-btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out);border:none;text-decoration:none;display:inline-flex}.trip-card .card-footer .select-btn:focus-visible{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-border-focus);outline:none}.trip-card .card-footer .select-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none!important;transform:none!important}.trip-card .card-footer .select-btn:active:not(:disabled){transform:scale(.98)}.trip-card .card-footer .select-btn{background:linear-gradient(135deg, var(--color-brand-600), var(--color-brand-700));color:var(--color-text-on-primary);padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.trip-card .card-footer .select-btn:hover:not(:disabled){box-shadow:var(--shadow-lg);background:linear-gradient(135deg, var(--color-brand-500), var(--color-brand-600));transform:translateY(-2px)}.trip-card .card-footer .select-btn{padding:var(--space-2-5) var(--space-5);font-size:var(--text-sm);white-space:nowrap;flex-shrink:0}@media (max-width:480px){.trip-card{padding:var(--space-3)}.trip-card .card-header{align-items:flex-start;gap:var(--space-2);flex-direction:column}.trip-card .card-header .price{font-size:var(--text-lg)}.trip-card .times{gap:var(--space-2)}.trip-card .times .time-block{min-width:80px}.trip-card .times .time-block .value{font-size:var(--text-base)}.trip-card .times .duration{font-size:var(--text-xs);padding:var(--space-1) var(--space-2)}.trip-card .card-footer{flex-direction:column-reverse;align-items:stretch}.trip-card .card-footer .select-btn{width:100%}}.skeleton-filter{background:linear-gradient(90deg, var(--color-neutral-200) 25%, var(--color-neutral-300) 50%, var(--color-neutral-200) 75%);width:100%;height:44px;animation:shimmer 1.5s var(--ease-in-out) infinite;border-radius:var(--radius-md);background-size:200% 100%}.trip-card.skeleton{pointer-events:none}.trip-card.skeleton .skeleton-line{background:linear-gradient(90deg, var(--color-neutral-200) 25%, var(--color-neutral-300) 50%, var(--color-neutral-200) 75%);height:16px;animation:shimmer 1.5s var(--ease-in-out) infinite;border-radius:var(--radius-md);margin-bottom:var(--space-3);border-radius:var(--radius-md);background-size:200% 100%}.trip-card.skeleton .skeleton-line.short{width:50%}.trip-card.skeleton .skeleton-line.medium{width:75%}.trip-card.skeleton .skeleton-line.long{width:90%}.no-trips{text-align:center;padding:var(--space-10) var(--space-4);color:var(--color-text-secondary);background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border)}.no-trips .no-trips-icon{width:64px;height:64px;margin:0 auto var(--space-4);color:var(--color-text-tertiary);opacity:.5}
.search-results{padding:1rem}.search-results .return-trip{margin-top:2rem}.search-results h2{text-align:center;margin:2rem auto}
.seaterWrapper{flex-direction:column;align-items:center;height:max-content;margin:auto;display:flex}.seaterWrapper .heading{align-items:center;gap:10px;margin:1rem auto;display:flex}.seaterWrapper .returnHeader{margin:2rem auto}.seaterWrapper .seatsContainer{border-radius:10px;flex-direction:column;width:min-content;height:max-content;padding:20px;display:flex;box-shadow:0 13px 27px -5px #32325d40,0 8px 16px -8px #0000004d}.seaterWrapper .showcaseContainer{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.seaterWrapper .showcase{justify-content:space-between;gap:10px;padding-bottom:10px;display:flex}.seaterWrapper .showcase li{white-space:nowrap;align-items:center;gap:5px;display:flex}.seaterWrapper .showcase span{background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:5px;width:25px;height:25px;display:inline-block}.seaterWrapper .showcase p{font-size:.75rem}.seaterWrapper .hrLine{background-color:#919191;width:90%;height:1px;margin:20px auto}.seaterWrapper .seats-ul{flex-wrap:wrap;margin:20px auto;display:flex}.seaterWrapper .seats-ul li{cursor:pointer;background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:7px;justify-content:center;align-items:center;width:33px;height:33px;margin:7px 5px;font-size:.9rem;font-weight:500;transition:all .3s;display:flex}.seaterWrapper .seats-ul li:hover{transform:scale(1.2)}.seaterWrapper .seats-ul li.processing{opacity:.7;cursor:wait;animation:1.5s infinite pulse-processing;background-image:url(/assets/img/gray.png)!important}.seaterWrapper .seats-ul li.processing:hover{transform:scale(1)}.seaterWrapper .seats-ul li.permanent-unavailable{cursor:not-allowed;opacity:.6;background-image:url(/assets/img/gray.png)!important}.seaterWrapper .seats-ul li.permanent-unavailable:hover{transform:scale(1)}.seaterWrapper .seats-ul li[class*=-unavailable]{cursor:not-allowed;background-color:#919191}.seaterWrapper .seats-ul li[class*=-unavailable]:hover{transform:scale(1)}.seaterWrapper .seats-ul li.booked{color:#aaa;cursor:not-allowed;background-image:url(/assets/img/gray.png)!important}.seaterWrapper .seats-ul li.booked:hover{transform:scale(1)}.seaterWrapper .seats-ul li.reserved{transform:scale(1.1);box-shadow:0 0 10px #8b451380;background-image:url(/assets/img/brown.png)!important}.seaterWrapper .seats-ul li.reserved:hover{transform:scale(1.2)}.seaterWrapper .seats-ul li.selecting{color:#fff;animation:2s infinite pulse-selecting;transform:scale(1.1);box-shadow:0 0 10px #3b82f680;background-color:#3b82f6!important}.seaterWrapper .seats-ul li.selecting:hover{transform:scale(1.2)}.seaterWrapper .seats-ul li.available{background-image:url(/assets/img/green.png)}.seaterWrapper .seats-ul li.available:hover{transform:scale(1.2)}.seaterWrapper .seats-ul li.booked:hover,.seaterWrapper .seats-ul li.permanent-unavailable:hover,.seaterWrapper .seats-ul li[class*=-unavailable]:hover{cursor:not-allowed;transform:scale(1)}.seaterWrapper .available{background-image:url(/assets/img/green.png)}.seaterWrapper .reserved{background-image:url(/assets/img/brown.png)}.seaterWrapper .booked{color:#aaa;background-image:url(/assets/img/gray.png)}.seaterWrapper .unavailable{background-color:#919191}.seaterWrapper .processing{background-color:orange;animation:1.5s infinite pulse-processing}.seaterWrapper .available,.seaterWrapper .reserved,.seaterWrapper .booked{cursor:pointer;background-position:50%;background-repeat:no-repeat;background-size:cover}.seaterWrapper .inputWrapperDiv{flex-direction:column;gap:30px;width:100%;min-width:240px;max-width:350px;display:flex}.seaterWrapper .destination-select-container{background-color:#fff;border-radius:5px;align-items:center;width:100%;height:40px;padding:0 10px;display:flex}.seaterWrapper .destination-select{background-color:#fff;width:100%;height:40px;padding-left:10px}.seaterWrapper .passengerInfo-heading{margin-bottom:15px}.seaterWrapper .input-field{margin-top:10px}.seaterWrapper li:first-of-type{background-color:#0000}.seaterWrapper .ticketPriceWrapper{background-color:#fff;border-radius:5px;align-items:center;gap:10px;height:40px;margin-top:10px;padding:0 10px;display:flex}.seaterWrapper .actionBar{background:linear-gradient(135deg, var(--bg-gradient-start) 0%, var(--bg-gradient-end) 100%);z-index:5;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex;position:sticky;bottom:0}.seaterWrapper .seatInfoWrapper{margin:auto 0}.seaterWrapper .totalPrice{font-size:.9rem}@media (max-width:420px){.seaterWrapper .showcase p{font-size:.65rem}.seaterWrapper .seats-ul li{font-size:.85rem}}@keyframes pulse-processing{0%{opacity:.7}50%{opacity:.4}to{opacity:.7}}@keyframes pulse-selecting{0%{box-shadow:0 0 10px #3b83f650}50%{box-shadow:0 0 15px #3b82f6cc}to{box-shadow:0 0 10px #3b82f680}}
.thirty-seats-ul{width:200px}.thirty-seats-ul li:first-of-type{color:#494949;cursor:pointer;background-image:url(/assets/img/driver.png);background-position:50%;background-repeat:no-repeat;background-size:cover;width:80px}.thirty-seats-ul li:nth-of-type(10){margin-right:68px}
.thirty-eight-seats-ul{width:240px}.thirty-eight-seats-ul li:first-of-type{color:#494949;cursor:pointer;background-image:url(/assets/img/driver.png);background-position:50%;background-repeat:no-repeat;background-size:cover;width:80px;margin-right:65px}.thirty-eight-seats-ul li:nth-last-of-type(2){margin-left:10px}.thirty-eight-seats-ul li:nth-of-type(5),.thirty-eight-seats-ul li:nth-of-type(9),.thirty-eight-seats-ul li:nth-of-type(15),.thirty-eight-seats-ul li:nth-of-type(19),.thirty-eight-seats-ul li:nth-of-type(23),.thirty-eight-seats-ul li:nth-of-type(27),.thirty-eight-seats-ul li:nth-of-type(31){margin-right:68px}.thirty-eight-seats-ul li:nth-of-type(13){margin-right:120px}.thirty-eight-seats-ul li:nth-of-type(35),.thirty-eight-seats-ul li:nth-of-type(36){margin-right:12px}
.sixty-Seats-ul{width:240px}.sixty-Seats-ul li:first-of-type{color:#494949;cursor:not-allowed;background-image:url(/assets/img/driver.png);background-position:50%;background-repeat:no-repeat;background-size:cover;width:100px;margin-right:100px}.sixty-Seats-ul li:nth-child(4){order:1}.sixty-Seats-ul li:nth-child(5){order:2}.sixty-Seats-ul li:nth-child(2){order:3}.sixty-Seats-ul li:nth-child(3){order:4}.sixty-Seats-ul li:nth-child(n+6){order:5}.sixty-Seats-ul li:nth-of-type(5),.sixty-Seats-ul li:nth-of-type(7),.sixty-Seats-ul li:nth-of-type(11),.sixty-Seats-ul li:nth-of-type(15),.sixty-Seats-ul li:nth-of-type(19),.sixty-Seats-ul li:nth-of-type(23),.sixty-Seats-ul li:nth-of-type(27),.sixty-Seats-ul li:nth-of-type(31),.sixty-Seats-ul li:nth-of-type(37),.sixty-Seats-ul li:nth-of-type(41),.sixty-Seats-ul li:nth-of-type(45),.sixty-Seats-ul li:nth-of-type(49),.sixty-Seats-ul li:nth-of-type(53){margin-right:70px}.sixty-Seats-ul li:nth-of-type(35){margin-right:120px}.sixty-Seats-ul li:nth-of-type(57),.sixty-Seats-ul li:nth-of-type(58){margin-right:17px}
.forty-nine-seats-ul{width:220px}.forty-nine-seats-ul li:first-of-type{color:#494949;cursor:pointer;background-image:url(/assets/img/driver.png);background-position:50%;background-repeat:no-repeat;background-size:cover;width:80px;margin-right:90px}.forty-nine-seats-ul li:nth-of-type(3),.forty-nine-seats-ul li:nth-of-type(4),.forty-nine-seats-ul li:nth-of-type(5),.forty-nine-seats-ul li:nth-of-type(6){margin-top:30px}.forty-nine-seats-ul li:nth-of-type(4),.forty-nine-seats-ul li:nth-of-type(8),.forty-nine-seats-ul li:nth-of-type(12),.forty-nine-seats-ul li:nth-of-type(16),.forty-nine-seats-ul li:nth-of-type(20),.forty-nine-seats-ul li:nth-of-type(26),.forty-nine-seats-ul li:nth-of-type(30),.forty-nine-seats-ul li:nth-of-type(34),.forty-nine-seats-ul li:nth-of-type(38),.forty-nine-seats-ul li:nth-of-type(42){margin-right:47px}.forty-nine-seats-ul li:nth-of-type(24){margin-right:100px}
.sixty-eight-seats-ul{width:260px}.sixty-eight-seats-ul li:first-of-type{color:#494949;cursor:pointer;background-image:url(/assets/img/driver.png);background-position:50%;background-repeat:no-repeat;background-size:cover;width:80px;margin-right:140px}.sixty-eight-seats-ul li:nth-of-type(3){margin-right:90px}.sixty-eight-seats-ul li:nth-of-type(8),.sixty-eight-seats-ul li:nth-of-type(13),.sixty-eight-seats-ul li:nth-of-type(18),.sixty-eight-seats-ul li:nth-of-type(23),.sixty-eight-seats-ul li:nth-of-type(28),.sixty-eight-seats-ul li:nth-of-type(33),.sixty-eight-seats-ul li:nth-of-type(41),.sixty-eight-seats-ul li:nth-of-type(46),.sixty-eight-seats-ul li:nth-of-type(51),.sixty-eight-seats-ul li:nth-of-type(56),.sixty-eight-seats-ul li:nth-of-type(61){margin-right:47px}.sixty-eight-seats-ul li:nth-of-type(38){margin-right:95px}
.seventyFive-Seats-ul{width:300px}.seventyFive-Seats-ul li{margin:4px 5px}.seventyFive-Seats-ul li:first-of-type{color:#494949;cursor:pointer;background-image:url(/assets/img/driver.png);background-position:50%;background-repeat:no-repeat;background-size:cover;width:119px}.seventyFive-Seats-ul li:nth-last-of-type(2){margin-left:10px}.seventyFive-Seats-ul li:first-of-type,.seventyFive-Seats-ul li:nth-of-type(6),.seventyFive-Seats-ul li:nth-of-type(11),.seventyFive-Seats-ul li:nth-of-type(19),.seventyFive-Seats-ul li:nth-of-type(24),.seventyFive-Seats-ul li:nth-of-type(29),.seventyFive-Seats-ul li:nth-of-type(34),.seventyFive-Seats-ul li:nth-of-type(39),.seventyFive-Seats-ul li:nth-of-type(44),.seventyFive-Seats-ul li:nth-of-type(49),.seventyFive-Seats-ul li:nth-of-type(54),.seventyFive-Seats-ul li:nth-of-type(59),.seventyFive-Seats-ul li:nth-of-type(67){margin-right:90px}.seventyFive-Seats-ul li:nth-of-type(16),.seventyFive-Seats-ul li:nth-of-type(64){margin-right:140px}.seventyFive-Seats-ul li:nth-of-type(72),.seventyFive-Seats-ul li:nth-of-type(73){margin-right:23px}
.eighty-Seats-ul{width:320px}.eighty-Seats-ul li:first-of-type{color:#494949;cursor:not-allowed;background-image:url(/assets/img/driver.png);background-position:50%;background-repeat:no-repeat;background-size:cover;width:100px;margin-right:120px}.eighty-Seats-ul li:nth-of-type(6),.eighty-Seats-ul li:nth-of-type(11),.eighty-Seats-ul li:nth-of-type(19),.eighty-Seats-ul li:nth-of-type(24),.eighty-Seats-ul li:nth-of-type(29),.eighty-Seats-ul li:nth-of-type(34),.eighty-Seats-ul li:nth-of-type(39),.eighty-Seats-ul li:nth-of-type(44),.eighty-Seats-ul li:nth-of-type(49),.eighty-Seats-ul li:nth-of-type(54),.eighty-Seats-ul li:nth-of-type(59),.eighty-Seats-ul li:nth-of-type(64),.eighty-Seats-ul li:nth-of-type(72){margin-right:100px}.eighty-Seats-ul li:nth-of-type(16),.eighty-Seats-ul li:nth-of-type(69){margin-right:170px}.eighty-Seats-ul li:nth-of-type(77),.eighty-Seats-ul li:nth-of-type(78){margin-right:30px}.eighty-Seats-ul{margin-bottom:20px}
.seat-selection .return-trip{margin:2rem auto}.seat-selection h3{text-align:center}@media (max-width:420px){.seat-selection{font-size:.8rem}}
@media print{.no-print{display:none!important}}.passenger-info-screen{width:100%}.passenger-list{gap:var(--space-4);flex-direction:column;display:flex}.passenger-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out);padding:var(--space-5)}.passenger-card:hover{box-shadow:var(--shadow-xl);border-color:var(--color-border-strong);transform:translateY(-4px)}.passenger-card .passenger-header{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.passenger-card .passenger-header .seat-badge{padding:var(--space-1) var(--space-2-5);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);white-space:nowrap;background:var(--color-primary-subtle);color:var(--color-brand-700);font-size:var(--text-sm);padding:var(--space-1-5) var(--space-3);align-items:center;display:inline-flex}.passenger-card .passenger-header .passenger-title{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.passenger-card .form-row{gap:var(--space-4);margin-bottom:var(--space-4);display:flex}@media (max-width:640px){.passenger-card .form-row{flex-direction:column;gap:0}}.passenger-card .form-group{gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--space-1);flex-direction:column;flex:1;display:block}.passenger-card .form-group input,.passenger-card .form-group select{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-family:var(--font-sans);font-weight:var(--font-weight-normal);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.passenger-card .form-group input::placeholder,.passenger-card .form-group select::placeholder{color:var(--color-text-tertiary)}.passenger-card .form-group input:hover:not(:disabled):not(.error),.passenger-card .form-group select:hover:not(:disabled):not(.error){border-color:var(--color-border-strong)}.passenger-card .form-group input:focus,.passenger-card .form-group select:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:none}.passenger-card .form-group input:disabled,.passenger-card .form-group select:disabled{background:var(--color-background);color:var(--color-text-disabled);cursor:not-allowed}.passenger-card .form-group input.error,.passenger-card .form-group select.error{border-color:var(--color-error)}.passenger-card .form-group input.error:focus,.passenger-card .form-group select.error:focus{box-shadow:0 0 0 3px var(--color-error-subtle)}@media (max-width:480px){.passenger-card .form-group input,.passenger-card .form-group select{font-size:1rem}}.passenger-card .form-group input,.passenger-card .form-group select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--space-3) center;padding-right:var(--space-10);background-repeat:no-repeat;background-size:1.25rem}.passenger-card .form-group input{padding-right:var(--space-4);background-image:none}.passenger-card .form-group .error-msg{font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-1);display:block}.passenger-card .passenger-type-toggle{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-1);display:inline-flex}.passenger-card .passenger-type-toggle button{padding:var(--space-2) var(--space-4);border-radius:calc(var(--radius-md) - var(--space-1));font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-spring);background:0 0;border:none;flex:1}.passenger-card .passenger-type-toggle button:hover:not(.active):not(:disabled){background:var(--color-background-hover);color:var(--color-text-primary)}.passenger-card .passenger-type-toggle button.active{background:var(--color-surface);color:var(--color-brand-700);box-shadow:var(--shadow-sm)}.passenger-card .passenger-type-toggle button:disabled{opacity:.4;cursor:not-allowed}.passenger-card .passenger-type-toggle{margin-top:var(--space-1);margin-left:var(--space-3)}.passenger-card .passenger-type-toggle button{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}@media (max-width:480px){.passenger-card{padding:var(--space-4)}.passenger-card .passenger-header{align-items:flex-start;gap:var(--space-2);flex-direction:column}.passenger-card .passenger-header .passenger-title{font-size:var(--text-xs)}.passenger-card .form-row{gap:var(--space-3)}}.field-floating{position:relative}.field-floating label{top:50%;left:var(--space-4);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);margin-bottom:var(--space-1);pointer-events:none;background:var(--color-surface);padding:0 var(--space-1);transition:all var(--duration-fast) var(--ease-out);z-index:1;display:block;position:absolute;transform:translateY(-50%)}.field-floating input:focus+label,.field-floating input:not(:placeholder-shown)+label,.field-floating select:focus+label,.field-floating select:not([value=""]):not([value=null])+label{font-size:var(--text-xs);color:var(--color-brand-600);font-weight:var(--font-weight-semibold);top:0}.field-floating input,.field-floating select{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-family:var(--font-sans);font-weight:var(--font-weight-normal);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.field-floating input::placeholder,.field-floating select::placeholder{color:var(--color-text-tertiary)}.field-floating input:hover:not(:disabled):not(.error),.field-floating select:hover:not(:disabled):not(.error){border-color:var(--color-border-strong)}.field-floating input:focus,.field-floating select:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:none}.field-floating input:disabled,.field-floating select:disabled{background:var(--color-background);color:var(--color-text-disabled);cursor:not-allowed}.field-floating input.error,.field-floating select.error{border-color:var(--color-error)}.field-floating input.error:focus,.field-floating select.error:focus{box-shadow:0 0 0 3px var(--color-error-subtle)}@media (max-width:480px){.field-floating input,.field-floating select{font-size:1rem}}.field-floating input,.field-floating select{padding-top:var(--space-5);padding-bottom:var(--space-2)}

@media print{.no-print{display:none!important}}.payment-details-screen{gap:var(--space-6);padding:var(--space-2) 0;flex-direction:column;display:flex}.section-title{font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-3)}.method-options{gap:var(--space-3);flex-wrap:wrap;display:flex}.method-options .method-btn{align-items:center;gap:var(--space-3);min-width:140px;padding:var(--space-5) var(--space-4);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--duration-base) var(--ease-spring);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out);flex-direction:column;flex:1;display:flex}.method-options .method-btn:hover{border-color:var(--color-brand-300);box-shadow:var(--shadow-xl);transform:translateY(-4px)}.method-options .method-btn.active{border-color:var(--color-brand-500);background:var(--color-primary-subtle);box-shadow:0 0 0 1px var(--color-brand-500),var(--shadow-md)}.method-options .method-btn.active .method-logo{filter:none}.method-options .method-btn.active .method-name{color:var(--color-brand-700);font-weight:var(--font-weight-semibold)}.method-options .method-btn .method-logo{object-fit:contain;filter:grayscale();width:64px;height:64px;transition:filter var(--duration-base) var(--ease-out)}.method-options .method-btn .method-name{font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);transition:color var(--duration-base) var(--ease-out)}@media (max-width:520px){.method-options .method-btn{padding:var(--space-4) var(--space-3);min-width:120px}.method-options .method-btn .method-logo{width:56px;height:56px}}.input-group{gap:var(--space-1-5);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--space-1);flex-direction:column;display:block}.input-group .phone-input-wrapper,.input-group .whatsapp-input-wrapper{gap:var(--space-2);align-items:center;display:flex}.input-group .phone-input-wrapper .country-code,.input-group .whatsapp-input-wrapper .country-code{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);justify-content:center;min-width:90px;display:flex}.input-group .phone-input-wrapper .country-code:hover,.input-group .whatsapp-input-wrapper .country-code:hover{border-color:var(--color-border-strong)}.input-group .phone-input-wrapper .country-code:focus-within:focus-visible,.input-group .whatsapp-input-wrapper .country-code:focus-within:focus-visible{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-border-focus);outline:none}.input-group .phone-input-wrapper .country-code:focus-within,.input-group .whatsapp-input-wrapper .country-code:focus-within{border-color:var(--color-border-focus)}.input-group .phone-input-wrapper .country-code .flag,.input-group .whatsapp-input-wrapper .country-code .flag{border-radius:var(--radius-xs);width:24px;height:18px}.input-group .phone-input-wrapper input,.input-group .whatsapp-input-wrapper input{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-family:var(--font-sans);font-weight:var(--font-weight-normal);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out);flex:1}.input-group .phone-input-wrapper input::placeholder,.input-group .whatsapp-input-wrapper input::placeholder{color:var(--color-text-tertiary)}.input-group .phone-input-wrapper input:hover:not(:disabled):not(.error),.input-group .whatsapp-input-wrapper input:hover:not(:disabled):not(.error){border-color:var(--color-border-strong)}.input-group .phone-input-wrapper input:focus,.input-group .whatsapp-input-wrapper input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:none}.input-group .phone-input-wrapper input:disabled,.input-group .whatsapp-input-wrapper input:disabled{background:var(--color-background);color:var(--color-text-disabled);cursor:not-allowed}.input-group .phone-input-wrapper input.error,.input-group .whatsapp-input-wrapper input.error{border-color:var(--color-error)}.input-group .phone-input-wrapper input.error:focus,.input-group .whatsapp-input-wrapper input.error:focus{box-shadow:0 0 0 3px var(--color-error-subtle)}@media (max-width:480px){.input-group .phone-input-wrapper input,.input-group .whatsapp-input-wrapper input{font-size:1rem}}.input-group .whatsapp-input-wrapper .whatsapp-icon{color:#fff;border-radius:var(--radius-md);background:linear-gradient(135deg,#25d366,#128c7e);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.input-group .whatsapp-input-wrapper .whatsapp-icon svg{fill:currentColor;width:24px;height:24px}.input-group .error-msg{font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-1);display:block}.billing-summary{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.billing-summary .summary-title{font-size:var(--text-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4);color:var(--color-text-primary);align-items:center;gap:var(--space-2);display:flex}.billing-summary .summary-title:before{content:"";background:var(--color-brand-500);border-radius:var(--radius-full);width:8px;height:8px}.billing-summary .summary-row{font-size:var(--text-base);padding:var(--space-2-5) 0;color:var(--color-text-secondary);border-bottom:1px dashed var(--color-border);justify-content:space-between;align-items:center;display:flex}.billing-summary .summary-row:last-of-type{border-bottom:none}.billing-summary .summary-row .summary-label{font-weight:var(--font-weight-medium)}.billing-summary .summary-row .summary-amount{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.billing-summary .summary-row .summary-amount.highlight{color:var(--color-brand-700);font-size:var(--text-lg)}.billing-summary .summary-total{padding-top:var(--space-4);margin-top:var(--space-2);font-weight:var(--font-weight-bold);font-size:var(--text-xl);color:var(--color-text-primary);border-top:2px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.billing-summary .summary-total .total-label{color:var(--color-text-secondary)}.billing-summary .summary-total .total-amount{font-size:var(--text-2xl);color:var(--color-brand-700)}@media (max-width:520px){.billing-summary{padding:var(--space-4)}.billing-summary .summary-row{font-size:var(--text-sm)}.billing-summary .summary-total{font-size:var(--text-lg)}.billing-summary .summary-total .total-amount{font-size:var(--text-xl)}}.security-badge{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-success-light);border:1px solid var(--color-success-border);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--color-success);margin-top:var(--space-3);display:inline-flex}.security-badge .security-icon{flex-shrink:0;width:18px;height:18px}
@media print{.no-print{display:none!important}}.payment-processing-overlay{-webkit-backdrop-filter:blur(8px);z-index:var(--z-overlay);padding:var(--space-4);animation:fade-in var(--duration-base) var(--ease-out);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.processing-card{background:var(--color-surface);border-radius:var(--radius-2xl);padding:var(--space-10) var(--space-8);align-items:center;gap:var(--space-6);box-shadow:var(--shadow-2xl);border:1px solid var(--color-brand-200);text-align:center;width:100%;max-width:400px;animation:scale-in var(--duration-base) var(--ease-spring);flex-direction:column;display:flex;position:relative;overflow:hidden}.processing-card:before{content:"";background:linear-gradient(90deg, var(--color-brand-500), var(--color-brand-300), var(--color-brand-500));height:4px;animation:shimmer 2s var(--ease-in-out) infinite;background-size:200% 100%;position:absolute;top:0;left:0;right:0}.spinner-wrapper{margin-bottom:var(--space-2)}.processing-message{font-size:var(--text-xl);font-weight:var(--font-weight-semibold);color:var(--color-brand-700);letter-spacing:-.02em;line-height:var(--leading-snug)}.processing-dots{gap:var(--space-1);font-size:4rem;font-weight:var(--font-weight-bold);color:var(--color-brand-500);letter-spacing:-.05em;line-height:1;display:flex}.processing-dots span{animation:pulse-dots 1.6s var(--ease-in-out) infinite;display:block}.processing-dots span:nth-child(2){animation-delay:.15s}.processing-dots span:nth-child(3){animation-delay:.3s}.processing-hint{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-border);text-align:center;width:100%;line-height:var(--leading-relaxed)}.processing-hint strong{color:var(--color-text-secondary)}.processing-security{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-success-light);border:1px solid var(--color-success-border);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--color-success);margin-top:var(--space-2);display:inline-flex}.processing-security .security-icon{flex-shrink:0;width:14px;height:14px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse-dots{0%,60%,to{opacity:.3;transform:translateY(0)scale(1)}30%{opacity:1;transform:translateY(-6px)scale(1.1)}}@media (prefers-reduced-motion:reduce){.payment-processing-overlay,.processing-card{animation:none}.processing-dots span{opacity:1;animation:none}}
@media print{.no-print{display:none!important}}.payment-status{text-align:center;padding:var(--space-8) var(--space-4);flex-direction:column;align-items:center;width:100%;max-width:480px;margin:0 auto;display:flex}.status-icon{border-radius:var(--radius-full);width:96px;height:96px;margin-bottom:var(--space-6);animation:bounce-in var(--duration-slower) var(--ease-bounce);justify-content:center;align-items:center;display:flex;position:relative}.status-icon:before{content:"";border-radius:inherit;opacity:.15;animation:pulse-ring 2s var(--ease-in-out) infinite;position:absolute;inset:-4px}.status-icon svg{flex-shrink:0;width:56px;height:56px}.status-icon.success{background:var(--color-success-light);color:var(--color-success);border:2px solid var(--color-success-border)}.status-icon.success:before{background:var(--color-success)}.status-icon.error{background:var(--color-error-light);color:var(--color-error);border:2px solid var(--color-error-border)}.status-icon.error:before{background:var(--color-error)}.status-icon.warning{background:var(--color-warning-light);color:var(--color-warning);border:2px solid var(--color-warning-border)}.status-icon.warning:before{background:var(--color-warning)}.status-title{font-size:var(--text-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-2);letter-spacing:-.02em}.status-subtitle{font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:var(--space-6);max-width:320px;line-height:var(--leading-relaxed)}.booking-summary,.passenger-codes{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);width:100%;margin-bottom:var(--space-4);text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.booking-summary .summary-header,.booking-summary .codes-header,.passenger-codes .summary-header,.passenger-codes .codes-header{font-weight:var(--font-weight-semibold);font-size:var(--text-sm);color:var(--color-brand-700);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);align-items:center;gap:var(--space-2);text-transform:uppercase;letter-spacing:.05em;display:flex}.booking-summary .summary-header:before,.booking-summary .codes-header:before,.passenger-codes .summary-header:before,.passenger-codes .codes-header:before{content:"";background:var(--color-brand-500);border-radius:var(--radius-full);width:6px;height:6px}.booking-summary .summary-row,.passenger-codes .summary-row{font-size:var(--text-base);padding:var(--space-2) 0;border-bottom:1px dashed var(--color-border);justify-content:space-between;align-items:center;display:flex}.booking-summary .summary-row:last-child,.passenger-codes .summary-row:last-child{margin-top:var(--space-1);border-bottom:none;padding-bottom:0}.booking-summary .summary-row .summary-label,.passenger-codes .summary-row .summary-label{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.booking-summary .summary-row .summary-value,.passenger-codes .summary-row .summary-value{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.booking-summary .summary-row .summary-value.ref,.passenger-codes .summary-row .summary-value.ref{font-family:var(--font-mono);background:var(--color-background);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-sm);letter-spacing:.02em}.booking-summary .summary-total,.passenger-codes .summary-total{border-top:2px solid var(--color-border);margin-top:var(--space-2);padding-top:var(--space-3);font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--color-brand-700)}.booking-summary .summary-total .summary-value,.passenger-codes .summary-total .summary-value{font-size:var(--text-xl)}.passenger-codes .code-list{gap:var(--space-3);flex-direction:column;display:flex}.passenger-codes .code-item{padding:var(--space-3);background:var(--color-background);border-radius:var(--radius-lg);border:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.passenger-codes .code-item .code-passenger{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.passenger-codes .code-item .code-badge{align-items:center;gap:var(--space-1-5);background:linear-gradient(135deg, var(--color-brand-600), var(--color-brand-700));color:#fff;padding:var(--space-1-5) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-mono);letter-spacing:.05em;box-shadow:var(--shadow-sm);display:inline-flex}.passenger-codes .code-item .code-badge .code-icon{flex-shrink:0;width:14px;height:14px}.whatsapp-notice{align-items:flex-start;gap:var(--space-3);background:var(--color-info-light);border:1px solid var(--color-info-border);border-radius:var(--radius-xl);padding:var(--space-4);margin-bottom:var(--space-6);text-align:left;width:100%;display:flex}.whatsapp-notice--status{background:var(--color-success-light);border-color:var(--color-success-border)}.whatsapp-notice .whatsapp-icon{background:var(--color-info);color:#fff;border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.whatsapp-notice .whatsapp-icon--status{background:var(--color-success)}.whatsapp-notice .whatsapp-icon svg{width:20px;height:20px}.whatsapp-notice .whatsapp-content{flex:1}.whatsapp-notice .whatsapp-content p{font-size:var(--text-sm);color:var(--color-text-primary);line-height:var(--leading-relaxed);margin:0}.whatsapp-notice .whatsapp-content p strong{color:var(--color-info);font-weight:var(--font-weight-semibold)}.whatsapp-notice .whatsapp-content p--status strong{color:var(--color-success)}.action-buttons{gap:var(--space-3);width:100%;margin-top:var(--space-2);flex-direction:column;display:flex}@media (min-width:480px){.action-buttons{flex-direction:row;justify-content:center}}.action-buttons .btn{flex:1;max-width:280px}@keyframes bounce-in{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes pulse-ring{0%{opacity:.15;transform:scale(1)}50%{opacity:.05;transform:scale(1.15)}to{opacity:.15;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.status-icon,.status-icon:before{animation:none}}
.booking-layout{background:var(--color-background);flex-direction:column;min-height:100vh;display:flex}.booking-layout .stepper-container{top:var(--header-height);z-index:var(--z-sticky);background:var(--color-surface);border-bottom:1px solid var(--color-border);scrollbar-width:none;-ms-overflow-style:none;width:100%;max-width:100%;position:sticky;overflow:auto hidden}.booking-layout .stepper-container::-webkit-scrollbar{display:none}.booking-layout .stepper-container .stepper{max-width:1200px;padding:0 var(--space-4);margin:0 auto}.booking-layout .booking-main{padding:var(--space-6) var(--space-4);flex:1;width:100%;max-width:1200px;margin:0 auto}.booking-layout .sticky-action-bar{z-index:var(--z-sticky);background:var(--color-surface);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--color-border);padding:var(--space-4) var(--space-4);gap:var(--space-4);margin:0 calc(var(--space-4)*-1);padding-left:var(--space-4);padding-right:var(--space-4);flex-direction:column;align-items:stretch;display:flex;position:sticky;bottom:0}@media (min-width:640px){.booking-layout .sticky-action-bar{flex-direction:row;justify-content:space-between;align-items:center}}.booking-layout .progress-indicator{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}@media (max-width:520px){.booking-layout .progress-indicator{gap:var(--space-2)}}.booking-layout .progress-pill{background:linear-gradient(135deg, var(--color-brand-600), var(--color-brand-700));color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;display:inline-flex}.booking-layout .selectedSeatInfo{flex:1;min-width:0}.booking-layout .selectedSeatInfo .trip-info{font-size:var(--text-sm);color:var(--color-text-secondary);gap:var(--space-2);line-height:var(--leading-relaxed);flex-wrap:wrap;display:flex}.booking-layout .selectedSeatInfo .trip-info strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.booking-layout .billing-summary-bar{gap:var(--space-1);text-align:right;flex-direction:column;min-width:160px;display:flex}.booking-layout .billing-summary-bar .summary-label{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.booking-layout .billing-summary-bar .summary-amount{font-size:var(--text-xl);font-weight:var(--font-weight-bold);color:var(--color-brand-700)}@media (max-width:520px){.booking-layout .booking-main{padding:var(--space-4) var(--space-3)}.booking-layout .sticky-action-bar{margin:0 calc(var(--space-3)*-1);padding-left:var(--space-3);padding-right:var(--space-3);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom))}.booking-layout .billing-summary-bar{text-align:left;min-width:auto}}
