html{height:100%;--mat-sys-background: light-dark(#faf9fd, #121316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f2f0f4, #2f3033);--mat-sys-inverse-primary: light-dark(#abc7ff, #005cbb);--mat-sys-inverse-surface: light-dark(#2f3033, #e3e2e6);--mat-sys-on-background: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #002f65);--mat-sys-on-primary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-primary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-primary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-on-secondary: light-dark(#ffffff, #283041);--mat-sys-on-secondary-container: light-dark(#3e4759, #dae2f9);--mat-sys-on-secondary-fixed: light-dark(#131c2b, #131c2b);--mat-sys-on-secondary-fixed-variant: light-dark(#3e4759, #3e4759);--mat-sys-on-surface: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-surface-variant: light-dark(#44474e, #e0e2ec);--mat-sys-on-tertiary: light-dark(#ffffff, #0001ac);--mat-sys-on-tertiary-container: light-dark(#0000ef, #e0e0ff);--mat-sys-on-tertiary-fixed: light-dark(#00006e, #00006e);--mat-sys-on-tertiary-fixed-variant: light-dark(#0000ef, #0000ef);--mat-sys-outline: light-dark(#74777f, #8e9099);--mat-sys-outline-variant: light-dark(#c4c6d0, #44474e);--mat-sys-primary: light-dark(#005cbb, #abc7ff);--mat-sys-primary-container: light-dark(#d7e3ff, #00458f);--mat-sys-primary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-primary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#565e71, #bec6dc);--mat-sys-secondary-container: light-dark(#dae2f9, #3e4759);--mat-sys-secondary-fixed: light-dark(#dae2f9, #dae2f9);--mat-sys-secondary-fixed-dim: light-dark(#bec6dc, #bec6dc);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf9fd, #121316);--mat-sys-surface-bright: light-dark(#faf9fd, #38393c);--mat-sys-surface-container: light-dark(#efedf0, #1f2022);--mat-sys-surface-container-high: light-dark(#e9e7eb, #292a2c);--mat-sys-surface-container-highest: light-dark(#e3e2e6, #343537);--mat-sys-surface-container-low: light-dark(#f4f3f6, #1a1b1f);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0d0e11);--mat-sys-surface-dim: light-dark(#dbd9dd, #121316);--mat-sys-surface-tint: light-dark(#005cbb, #abc7ff);--mat-sys-surface-variant: light-dark(#e0e2ec, #44474e);--mat-sys-tertiary: light-dark(#343dff, #bec2ff);--mat-sys-tertiary-container: light-dark(#e0e0ff, #0000ef);--mat-sys-tertiary-fixed: light-dark(#e0e0ff, #e0e0ff);--mat-sys-tertiary-fixed-dim: light-dark(#bec2ff, #bec2ff);--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}*{box-sizing:border-box}body{color-scheme:light;background-color:var(--mat-sys-surface);color:var(--mat-sys-on-surface);font:var(--mat-sys-body-medium);margin:0;height:100%}.shell{display:flex;flex-direction:column;min-height:100vh}.shell__nav{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 2rem;padding:.75rem 1.5rem;background:var(--mat-sys-surface-container);border-bottom:1px solid var(--mat-sys-outline-variant)}.shell__nav nav{display:flex;flex-wrap:wrap;gap:1rem;flex:1}.shell__nav nav a{text-decoration:none;color:inherit;padding:.4rem .6rem;border-radius:6px}.shell__nav nav a.active{background:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container)}.shell__brand{font-weight:700}.shell__user{display:flex;align-items:center;gap:.75rem}.shell__content{padding:1.5rem;flex:1}.fleet-list__header,.booking-list__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.booking-list__vehicle-missing{color:var(--mat-sys-on-surface-variant);font-style:italic}.fleet-form,.booking-form{display:flex;flex-direction:column;gap:.75rem;min-width:22rem;padding-top:.5rem}.fleet-form .mat-mdc-form-field,.booking-form .mat-mdc-form-field{width:100%}.fleet-form__actions,.booking-form__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.booking-form__total{font-weight:600}.fleet-form__photo-label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:var(--mat-sys-on-surface-variant)}.fleet-form__locations{display:flex;flex-direction:column;gap:.25rem}.fleet-form__locations-label{font-size:.75rem;color:var(--mat-sys-on-surface-variant)}.fleet-form__location-spinner{display:inline-block;margin-left:.5rem;vertical-align:middle}.fleet-form__photo-error{color:var(--mat-sys-error);font-size:.8rem;margin:0}.fleet-form__dialog-error{padding:0 24px}.fleet-form__photo-preview{max-width:100%;max-height:8rem;object-fit:contain;align-self:flex-start;border-radius:6px;border:1px solid var(--mat-sys-outline-variant)}.fleet-list__thumbnail{width:3rem;height:2rem;object-fit:cover;border-radius:4px;display:block}.platform-password-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;margin-bottom:1rem;border-radius:6px;background:var(--mat-sys-tertiary-container);color:var(--mat-sys-on-tertiary-container)}.platform-password-banner p{margin:0}.fleet-list__status-select{display:block;width:9rem;margin-top:.25rem}.fleet-list__status-select .mat-mdc-text-field-wrapper{padding:0}.fleet-list__row--retired{opacity:.55}.table-scroll{overflow-x:auto}table.mat-mdc-table{width:100%}.status-chip{font-size:.75rem}.status-chip--available,.status-chip--confirmed{--mat-chip-elevated-container-color: #dcfce7;--mat-chip-label-text-color: #166534}.status-chip--maintenance,.status-chip--pending{--mat-chip-elevated-container-color: #fef3c7;--mat-chip-label-text-color: #92400e}.status-chip--retired,.status-chip--cancelled{--mat-chip-elevated-container-color: #fee2e2;--mat-chip-label-text-color: #991b1b}.status-chip--completed{--mat-chip-elevated-container-color: #e5e7eb;--mat-chip-label-text-color: #374151}.transfer-dialog__context{color:var(--mat-sys-on-surface-variant);font-size:.875rem;margin:0 0 .5rem}.transfer-dialog__warning{color:var(--mat-sys-error);font-size:.875rem}.public-booking{max-width:64rem;margin:0 auto;padding:0 1.5rem 3rem;display:flex;flex-direction:column;gap:1.75rem}.public-booking__hero{text-align:center;padding:3rem 1.5rem 2.5rem;margin:0 -1.5rem;background:linear-gradient(160deg,var(--mat-sys-primary-container) 0%,var(--mat-sys-tertiary-container) 100%);border-radius:0 0 2rem 2rem;display:flex;flex-direction:column;align-items:center;gap:.25rem}mat-icon.public-booking__hero-icon{font-size:2.5rem;width:2.5rem;height:2.5rem;color:var(--mat-sys-on-primary-container);margin-bottom:.5rem}.public-booking__title{margin:0;font-size:1.75rem;font-weight:500;color:var(--mat-sys-on-primary-container)}.public-booking__subtitle{margin:0;color:var(--mat-sys-on-primary-container);opacity:.8;font-size:.95rem}.public-booking__not-found{text-align:center;padding:4rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}mat-icon.public-booking__not-found-icon{font-size:2.5rem;width:2.5rem;height:2.5rem;color:var(--mat-sys-error)}.public-booking__error{font-size:1.1rem;margin:0}.public-booking__stepper{display:flex;justify-content:center;gap:1.5rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}.public-booking__step{display:flex;align-items:center;gap:.5rem;color:var(--mat-sys-on-surface-variant);opacity:.6;transition:opacity .2s ease}.public-booking__step--active,.public-booking__step--done{opacity:1}.public-booking__step-dot{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;border:2px solid var(--mat-sys-outline-variant);font-size:.8rem;font-weight:500;color:var(--mat-sys-on-surface-variant)}.public-booking__step--active .public-booking__step-dot{border-color:var(--mat-sys-primary-container);background:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container)}.public-booking__step--done .public-booking__step-dot{border-color:var(--mat-sys-tertiary-container);background:var(--mat-sys-tertiary-container);color:var(--mat-sys-on-tertiary-container)}mat-icon.public-booking__step-check{font-size:1rem;width:1rem;height:1rem}.public-booking__step-label{font-size:.85rem;display:none}.public-booking__step--active .public-booking__step-label{display:inline;font-weight:500}@media(min-width:640px){.public-booking__step-label{display:inline}}.public-booking__search-card{padding:1.5rem;border-radius:1rem}.public-booking__search{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}.public-booking__search-field{flex:1;min-width:16rem}.public-booking__search-button{height:3.5rem;display:flex;align-items:center;gap:.4rem}@media(max-width:480px){.public-booking__search{flex-direction:column;align-items:stretch}.public-booking__search-field{min-width:0;width:100%}.public-booking__search-button{width:100%}}.public-booking__progress{border-radius:4px}.public-booking__results-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.public-booking__results-title{margin:0;font-size:1.15rem;font-weight:500}.public-booking__empty{color:var(--mat-sys-on-surface-variant)}.public-booking__results{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1.25rem}.public-booking__card{display:flex;flex-direction:column;border-radius:1rem;overflow:hidden;transition:box-shadow .2s ease,transform .2s ease}.public-booking__card:not(.public-booking__card--unavailable):hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001f}.public-booking__card--unavailable{opacity:.6;filter:grayscale(.5)}.public-booking__photo-wrap{position:relative}.public-booking__photo{width:100%;height:10rem;object-fit:cover;display:block}.public-booking__photo-placeholder{width:100%;height:10rem;display:flex;align-items:center;justify-content:center;background:var(--mat-sys-surface-container)}.public-booking__photo-placeholder mat-icon{font-size:2.5rem;width:2.5rem;height:2.5rem;color:var(--mat-sys-on-surface-variant);opacity:.5}.public-booking__unavailable-badge{position:absolute;top:.6rem;right:.6rem;background:var(--mat-sys-error);color:#fff;font-size:.7rem;font-weight:500;padding:.2rem .6rem;border-radius:999px}.public-booking__card-content{flex:1;display:flex;flex-direction:column;gap:.35rem}.public-booking__card-title{margin:0;font-size:1.05rem;font-weight:500}.public-booking__location{color:var(--mat-sys-on-surface-variant);font-size:.85rem;margin:0;display:flex;align-items:center;gap:.25rem}mat-icon.public-booking__location-icon{font-size:1rem;width:1rem;height:1rem}.public-booking__price{margin:.25rem 0 0;display:flex;align-items:baseline;gap:.3rem}.public-booking__price-amount{font-size:1.15rem;font-weight:600}.public-booking__price-unit{font-size:.8rem;color:var(--mat-sys-on-surface-variant)}.public-booking__card-actions{padding-top:0}.public-booking__choose-button{width:100%}.public-booking__location-filter{max-width:16rem}.public-booking__booking-card{padding:1.5rem;border-radius:1rem;display:flex;flex-direction:column;gap:1.25rem}.public-booking__booking-summary{display:flex;gap:1rem;align-items:center}.public-booking__booking-photo{width:5rem;height:5rem;border-radius:.75rem;object-fit:cover;flex-shrink:0}.public-booking__booking-photo.public-booking__photo-placeholder{height:5rem}.public-booking__booking-title{margin:0 0 .25rem;font-size:1.15rem;font-weight:500}.public-booking__form{display:flex;flex-direction:column;gap:.75rem;max-width:24rem}.public-booking__form .mat-mdc-form-field{width:100%}.public-booking__total{display:flex;justify-content:space-between;align-items:center;background:var(--mat-sys-surface-container);border-radius:.75rem;padding:.75rem 1rem;font-size:.95rem}.public-booking__total-amount{font-size:1.2rem;font-weight:600}.public-booking__form-actions{display:flex;justify-content:flex-end;gap:.5rem}.public-booking__confirmed-card{text-align:center;padding:3rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}mat-icon.public-booking__confirmed-icon{font-size:3.5rem;width:3.5rem;height:3.5rem;color:#16a34a}.public-booking__confirmed-title{margin:0;font-size:1.3rem;font-weight:500}.public-booking__confirmed{font-size:1rem;color:var(--mat-sys-on-surface-variant);max-width:28rem;margin:0}
