.schedule-record-shell{--schedule-date-column-width:128px;--schedule-timeline-track-width:960px;--schedule-pending-stripe-size:6px;--schedule-pending-stripe-contrast:8%}.schedule-board{gap:18px;min-width:0;display:grid}.schedule-toolbar{justify-content:flex-start;align-items:center;gap:16px;min-width:0;display:flex}.schedule-week-controls{align-items:center;gap:6px;display:inline-flex}.schedule-week-controls>button{border:1px solid var(--line);color:#4e5968;background:#fff;border-radius:8px;place-items:center;min-height:36px;padding:0 11px;font-size:13px;font-weight:500;display:inline-grid}.schedule-week-controls>button:not(.schedule-week-range){width:36px;padding:0}.schedule-week-controls>.schedule-today-button{width:auto;min-width:52px;padding-inline:12px}.schedule-week-range{font-variant-numeric:tabular-nums;min-width:178px}.schedule-timeline-scroll{overscroll-behavior-inline:contain;min-width:0;padding-bottom:8px;overflow-x:auto}.schedule-timeline{width:calc(var(--schedule-date-column-width) + var(--schedule-timeline-track-width));min-width:calc(var(--schedule-date-column-width) + var(--schedule-timeline-track-width));border-top:1px solid var(--line);display:grid;position:relative}.schedule-time-head,.schedule-day-row{grid-template-columns:var(--schedule-date-column-width) var(--schedule-timeline-track-width);display:grid}.schedule-time-head{min-height:42px;color:var(--muted);align-items:end;font-size:11px}.schedule-time-head>span{z-index:3;pointer-events:none;height:100%;position:sticky;inset-inline-start:0}.schedule-time-axis{height:100%;position:relative}.schedule-time-axis span{bottom:6px;width:max-content;position:absolute;inset-inline-start:calc(var(--schedule-hour-index) * 100% / var(--schedule-hour-intervals));transform:translate(-50%)}.schedule-time-axis span.start{transform:none}.schedule-time-axis span.end{transform:translate(-100%)}.schedule-current-time-track{z-index:6;top:42px;inset-inline:var(--schedule-date-column-width) 0;pointer-events:none;position:absolute;bottom:0}.schedule-current-time-line{top:0;bottom:0;background:var(--danger);width:1px;box-shadow:0 0 0 .5px color-mix(in srgb, var(--danger) 30%, transparent);transition:inset-inline-start 30s linear;position:absolute;inset-inline-start:var(--schedule-current-time-left)}.schedule-current-time-line:before{top:-6px;background:var(--danger);content:"";border-radius:999px;width:6px;height:6px;position:absolute;inset-inline-start:50%;transform:translate(-50%)}.schedule-day-row{border-top:1px solid var(--line);min-height:72px}.schedule-timeline>.schedule-day-row:last-child{border-bottom:1px solid var(--line)}.schedule-day-label-cell{z-index:20;box-shadow:1px 0 0 var(--line);background:#fff;grid-template-columns:minmax(0,1fr) 40px;align-items:stretch;display:grid;position:sticky;inset-inline-start:0}.schedule-day-label-cell.menu-open{z-index:50}.schedule-day-label{color:var(--text);text-align:start;background:0 0;border:0;grid-template-columns:auto auto;justify-content:start;align-items:center;gap:3px;padding:0 0 0 16px;display:grid}.schedule-day-label strong{width:20px;color:inherit;font-variant-numeric:tabular-nums;place-items:center;font-size:14px;font-weight:500;display:inline-grid;position:relative}.schedule-day-row.weekend .schedule-day-label strong{color:var(--danger)}.schedule-day-row.today .schedule-day-label strong:after{inset-inline-start:50%;background:var(--accent);content:"";border-radius:999px;width:4px;height:4px;position:absolute;bottom:-7px;transform:translate(-50%)}.schedule-day-label span{color:var(--soft-text);font-size:13px}.schedule-day-track{border-inline-start:1px solid var(--line);background-clip:padding-box;background-image:repeating-linear-gradient(90deg, transparent 0, transparent calc((100% / var(--schedule-hour-intervals)) - 1px), var(--line) calc((100% / var(--schedule-hour-intervals)) - 1px), var(--line) calc(100% / var(--schedule-hour-intervals)));cursor:crosshair;-webkit-user-select:none;user-select:none;min-width:0;position:relative}.schedule-timeline-drag-preview{z-index:4;top:19px;width:var(--schedule-width);border:1px dashed var(--accent);background:color-mix(in srgb, var(--accent) 12%, white);min-width:0;height:34px;color:var(--accent);pointer-events:none;text-overflow:ellipsis;white-space:nowrap;border-radius:7px;align-items:center;padding-inline:10px;font-size:11px;font-weight:600;display:flex;position:absolute;inset-inline-start:var(--schedule-left);overflow:hidden}.schedule-timeline-drag-preview.invalid,.schedule-timeline-bar.invalid{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, white);color:var(--danger)}.schedule-timeline-bar,.schedule-timeline-overlay{top:19px;width:var(--schedule-width);background-color:var(--schedule-bar-background);min-width:124px;height:34px;color:var(--schedule-bar-foreground);border-radius:7px;align-items:center;gap:7px;padding:0 14px;display:flex;position:absolute;inset-inline-start:var(--schedule-left);overflow:hidden;box-shadow:inset 0 0 0 1px #191f2814}.schedule-timeline-bar{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;min-width:0;padding-inline:0;overflow:visible;container-type:inline-size}.schedule-timeline-bar.is-resize-hover,.schedule-timeline-bar.is-resize-hover.is-manipulating{cursor:ew-resize}.schedule-timeline-bar.readonly{cursor:pointer}.schedule-timeline-overlay{--schedule-bar-background:#f2ecff;--schedule-bar-foreground:#6741a5;cursor:default}.schedule-timeline-bar.tone-pink{--schedule-bar-background:#ffe3f0;--schedule-bar-foreground:#b33970}.schedule-timeline-bar.tone-blue{--schedule-bar-background:#e7f0ff;--schedule-bar-foreground:#2f6cd8}.schedule-timeline-bar.tone-green{--schedule-bar-background:#e2f8e8;--schedule-bar-foreground:#178542}.schedule-timeline-bar.pending,.schedule-timeline-overlay.pending{background-image:repeating-linear-gradient(135deg, transparent 0, transparent var(--schedule-pending-stripe-size), color-mix(in srgb, var(--schedule-bar-background), var(--schedule-bar-foreground) var(--schedule-pending-stripe-contrast)) var(--schedule-pending-stripe-size), color-mix(in srgb, var(--schedule-bar-background), var(--schedule-bar-foreground) var(--schedule-pending-stripe-contrast)) calc(var(--schedule-pending-stripe-size) * 2))}.schedule-timeline-bar.draft{box-shadow:inset 0 0 0 1px}.schedule-timeline-bar.is-manipulating{z-index:8;cursor:grabbing;box-shadow:inset 0 0 0 1px,0 5px 14px #191f2829}.schedule-timeline-bar:focus-visible{z-index:7;outline-offset:2px;outline:2px solid}.schedule-timeline-icon{flex:none;place-items:center;display:inline-grid}.schedule-timeline-copy{align-items:baseline;gap:5px;min-width:0;display:flex;overflow:hidden}.schedule-timeline-copy strong,.schedule-timeline-copy small{color:currentColor;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.schedule-timeline-copy strong{font-size:12px;font-weight:600}.schedule-timeline-copy small{opacity:.82;font-size:11px}.schedule-item-remove{color:currentColor;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;width:24px;height:24px;margin-inline-start:auto;padding:0;display:inline-grid}.schedule-item-remove:hover,.schedule-item-remove:focus-visible{background:color-mix(in srgb, currentColor 12%, transparent)}.schedule-resize-handle{z-index:2;color:currentColor;cursor:ew-resize;pointer-events:none;background:0 0;border:0;width:24px;padding:0;position:absolute;top:0;bottom:0}.schedule-resize-handle.start{inset-inline-start:0}.schedule-resize-handle.end{inset-inline-end:0}.schedule-resize-handle:focus-visible{outline-offset:-3px;outline:2px solid}.schedule-timeline-bar .schedule-timeline-icon{margin-inline-start:14px}.schedule-timeline-bar .schedule-item-remove{margin-inline-end:5px}@container (max-width:188px){.schedule-timeline-bar .schedule-timeline-copy small{display:none}}@container (max-width:120px){.schedule-timeline-bar .schedule-timeline-copy{display:none}.schedule-timeline-bar .schedule-item-remove{z-index:3;top:5px;border:1px solid color-mix(in srgb, currentColor 22%, transparent);opacity:0;pointer-events:none;background:#fff;margin-inline-end:0;transition:opacity .12s;position:absolute;inset-inline-start:calc(100% + 4px);box-shadow:0 3px 10px #191f281f}.schedule-timeline-bar .schedule-item-remove:before{content:"";width:4px;position:absolute;inset-block:0;inset-inline-end:100%}.schedule-timeline-bar:hover .schedule-item-remove,.schedule-timeline-bar:focus-within .schedule-item-remove{opacity:1;pointer-events:auto}}@container (max-width:36px){.schedule-timeline-bar .schedule-timeline-icon{display:none}}@container (max-width:48px){.schedule-timeline-bar .schedule-resize-handle{width:100%;height:50%;inset-inline:0}.schedule-timeline-bar .schedule-resize-handle.start{top:0;bottom:auto}.schedule-timeline-bar .schedule-resize-handle.end{top:auto;bottom:0}}.schedule-mobile-list{display:none}@media (max-width:760px){.schedule-toolbar{flex-direction:column;align-items:stretch;gap:12px}.schedule-week-controls{width:100%}.schedule-week-controls>button{min-height:44px}.schedule-week-controls>button:not(.schedule-week-range){width:44px}.schedule-week-controls>.schedule-today-button{width:auto;min-width:52px}.schedule-week-range{flex:1;min-width:0}.schedule-board{padding-bottom:0;overflow:visible}.schedule-desktop-timeline{display:none}.schedule-mobile-list{gap:4px;display:grid}}@media (prefers-reduced-motion:reduce){.schedule-current-time-line,.schedule-item-remove{transition:none}}.schedule-editor{overscroll-behavior:contain;background:#fff;border:1px solid #e7e9ec;border-radius:14px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 14px 36px #1e242c29}.schedule-editor-backdrop{--modal-safe-area-top:env(safe-area-inset-top,0px);--modal-safe-area-bottom:env(safe-area-inset-bottom,0px);--modal-safe-height:calc(100dvh - var(--modal-safe-area-top) - var(--modal-safe-area-bottom));z-index:300;-webkit-backdrop-filter:none;backdrop-filter:none;padding:var(--modal-safe-area-top) 0 var(--modal-safe-area-bottom);background:#fff;place-items:stretch stretch}.schedule-editor.mobile-fullpage{width:100vw;height:var(--modal-safe-height);min-height:var(--modal-safe-height);max-height:var(--modal-safe-height);box-shadow:none;border:0;border-radius:0;position:relative}
.vehicle-day-label-cell{grid-template-columns:minmax(0,1fr) 32px;align-items:center;padding-right:8px}.vehicle-day-label-cell>svg{color:var(--soft-text);pointer-events:none}.vehicle-day-label-cell .schedule-day-label:hover+svg,.vehicle-day-label-cell .schedule-day-label:focus-visible+svg{color:var(--accent)}.vehicle-empty-state{border:1px dashed var(--line);min-height:280px;color:var(--muted);text-align:center;border-radius:12px;align-content:center;place-items:center;gap:8px;display:grid}.vehicle-empty-state svg{color:var(--accent);margin-bottom:4px}.vehicle-empty-state strong{color:var(--text);font-size:15px}.vehicle-empty-state span{font-size:13px}.vehicle-mobile-list{display:none}.vehicle-mobile-add-button{border:1px solid var(--line);color:#4e5968;background:#fff;border-radius:9px;flex:none;place-items:center;width:44px;height:44px;padding:0;display:inline-grid}.vehicle-mobile-add-button:hover,.vehicle-mobile-add-button:focus-visible{border-color:var(--accent-200);background:var(--accent-50)}.vehicle-mobile-reservations{border-top:1px solid var(--line);display:grid}.vehicle-mobile-reservation{border:0;border-bottom:1px solid var(--line);width:100%;min-height:68px;color:var(--text);text-align:left;background:0 0;border-radius:0;grid-template-columns:38px minmax(0,1fr) 24px;align-items:center;gap:12px;padding:10px 4px;display:grid}button.vehicle-mobile-reservation:hover,button.vehicle-mobile-reservation:focus-visible{background:var(--row-hover)}.vehicle-mobile-reservation.readonly{grid-template-columns:38px minmax(0,1fr)}.vehicle-mobile-reservation>svg{color:var(--soft-text);justify-self:end}.vehicle-mobile-avatar{color:#fff;border-radius:50%;place-items:center;width:38px;height:38px;font-size:13px;font-weight:600;display:inline-grid}.vehicle-mobile-reservation-copy{gap:4px;min-width:0;display:grid}.vehicle-mobile-reservation-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.vehicle-mobile-reservation-copy small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.vehicle-popover-title-row{color:#343b45;align-items:center;gap:7px;min-width:0;min-height:32px;display:flex}.vehicle-popover-title-copy{flex:1;align-items:center;gap:7px;min-width:0;display:flex}.vehicle-popover-title-copy strong{flex:none;font-size:17px;font-weight:700}.vehicle-popover-title-copy small{color:#9aa1aa;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:auto;font-size:11px;overflow:hidden}.vehicle-popover-cancel-copy{color:#5b626b;margin:8px 0 2px;font-size:13px;line-height:1.55}.vehicle-popover-detail-grid{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:10px 12px;margin-top:12px;display:grid}.vehicle-popover-field-label{color:#4e5968;align-items:center;min-height:32px;font-size:12px;font-weight:600;display:inline-flex}.vehicle-popover-field-label.reason{align-items:flex-start;padding-top:8px}.vehicle-popover-user-value{color:#3b424c;text-overflow:ellipsis;white-space:nowrap;align-items:center;min-width:0;min-height:32px;font-size:13px;font-weight:500;display:flex;overflow:hidden}.vehicle-popover-reason-control.work-reason-field.compact{gap:6px;margin-top:0}.vehicle-reservation-popover.readonly .work-timeline-edit-time-input,.vehicle-reservation-popover.readonly .work-reason-field textarea{cursor:default}.vehicle-reservation-popover.readonly .work-timeline-edit-time-input:hover{background:0 0}.vehicle-reservation-popover.readonly .vehicle-popover-footer{justify-content:flex-end}.vehicle-popover-footer{justify-content:space-between;gap:6px}.vehicle-popover-footer>span{flex:1}.vehicle-save-status{min-height:28px;color:var(--soft-text);text-align:end;align-content:center;font-size:12px;font-weight:500}.vehicle-save-status.error,.vehicle-mobile-save-status.error{color:var(--danger)}.vehicle-popover-footer .vehicle-popover-cancel-action{color:var(--danger);align-items:center;gap:5px;margin-inline:-10px 0;display:inline-flex}.vehicle-popover-footer .vehicle-popover-danger-action{color:var(--danger)}.vehicle-popover-footer button:disabled{cursor:not-allowed;opacity:.56}.vehicle-reservation-backdrop{--modal-safe-area-top:env(safe-area-inset-top,0px);--modal-safe-area-bottom:env(safe-area-inset-bottom,0px);--modal-safe-height:calc(100dvh - var(--modal-safe-area-top) - var(--modal-safe-area-bottom));z-index:300;-webkit-backdrop-filter:none;backdrop-filter:none;padding:var(--modal-safe-area-top) 0 var(--modal-safe-area-bottom);background:#fff;place-items:stretch stretch}.vehicle-reservation-popover.mobile-fullpage{width:100vw;height:calc(100vh - var(--modal-safe-area-top) - var(--modal-safe-area-bottom));height:var(--modal-safe-height);min-height:calc(100vh - var(--modal-safe-area-top) - var(--modal-safe-area-bottom));min-height:var(--modal-safe-height);max-height:var(--modal-safe-height);box-shadow:none;border:0;border-radius:0;position:relative}.vehicle-reservation-popover.mobile-fullpage .flex-modal-scroll{overscroll-behavior:contain;flex:auto;min-height:0;padding:18px 20px 0;overflow-y:auto}.vehicle-mobile-modal-type{cursor:default}.vehicle-mobile-request-edit{padding-bottom:24px}.vehicle-reservation-popover.mobile-fullpage.readonly .vehicle-mobile-time-select .app-select-trigger:disabled{cursor:default;color:#4e5968;opacity:1;background:#f8f9fa}.vehicle-mobile-user-field{color:#4e5968;gap:8px;margin-top:4px;display:grid}.vehicle-mobile-user-field>span{font-size:13px;font-weight:600}.vehicle-mobile-user-field>strong{color:#191f28;font-size:14px;font-weight:500;line-height:1.45}.vehicle-mobile-reason-field.work-reason-field{margin-top:0}.vehicle-mobile-reason-field.work-reason-field textarea{min-height:96px;font-size:16px}.vehicle-reservation-popover.mobile-fullpage.readonly .vehicle-mobile-reason-field textarea{background:#f8f9fa}.vehicle-mobile-cancel-content .vehicle-popover-cancel-copy{max-width:320px;margin:0;font-size:14px}.vehicle-reservation-popover.mobile-fullpage .vehicle-mobile-modal-footer{flex:none;padding:16px 20px 20px}.vehicle-mobile-modal-footer.has-secondary{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.vehicle-mobile-modal-footer .vehicle-mobile-secondary-action{width:100%;min-width:0;height:48px;padding-inline:12px}.vehicle-mobile-modal-footer .vehicle-mobile-danger-action,.vehicle-mobile-modal-footer .vehicle-mobile-danger-action:not(:disabled):hover{background:var(--danger)}.vehicle-mobile-save-status{min-width:0;min-height:48px;color:var(--soft-text);background:#f8f9fa;border-radius:10px;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:inline-flex}@media (max-width:760px){.vehicle-mobile-list{gap:4px;display:grid}}@media (prefers-reduced-motion:reduce){.vehicle-mobile-reservation,.vehicle-mobile-add-button{transition:none}}
