:root{--p-color-background-base: #F7F7F8;--p-color-background-surface: #FFFFFF;--p-color-background-shading: #EEEFF2;--p-color-foreground-default: #010205;--p-color-foreground-muted: #626669;--p-color-foreground-subtle: #96989C;--p-color-border-default: rgba(0, 0, 0, .08);--p-color-border-subtle: rgba(0, 0, 0, .04);--p-color-state-focus: #1A5DC8;--p-color-notification-success: #018A16;--p-color-notification-warning: #FF9B00;--p-border-radius-small: 4px;--p-border-radius-medium: 8px;--p-border-radius-large: 16px;--p-shadow-low: 0 2px 8px rgba(0, 0, 0, .04);--p-shadow-medium: 0 4px 16px rgba(0, 0, 0, .08);--p-shadow-high: 0 8px 32px rgba(0, 0, 0, .12);--p-color-input-border: #c9ccd2;--color-rental: #2E6BD6;--color-workshop: #E88B00;--color-reserved: #7C3AED;--color-loaner: #059669;--badge-primary: #2E6BD6;--badge-active: #1a4a9e;--badge-secondary: #6c757d;--badge-success: #198754;--badge-warning: #ffc107;--badge-danger: #dc3545;--badge-info: #6fb8e0;--sidebar-width: 400px;--row-height: 48px;--header-height: 50px}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--p-color-background-base);color:var(--p-color-foreground-default);line-height:1.5;-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}.hidden{display:none!important}.loading-screen{position:fixed;inset:0;background:#000;display:flex;align-items:center;justify-content:center;z-index:10000;transition:opacity .3s ease-out}.loading-screen.fade-out{opacity:0;pointer-events:none}.loading-content{text-align:center}.loading-logo h1{color:#fff;font-size:28px;font-weight:600;letter-spacing:-.5px;margin-bottom:24px}.loading-spinner-container{display:flex;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;stroke:#fff}.skip-link{position:absolute;top:-40px;left:0;background:var(--p-color-state-focus);color:#fff;padding:8px 16px;z-index:10000;text-decoration:none;font-weight:600;border-radius:0 0 4px;transition:top .2s}.skip-link:focus{top:0}*:focus-visible{outline:2px solid var(--p-color-state-focus);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}.app-container{display:flex;flex-direction:column;height:100vh}.app-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--p-color-background-surface);border-bottom:1px solid var(--p-color-border-subtle)}.logo{display:flex;align-items:center;gap:8px}.logo h1{font-size:16px;font-weight:600;letter-spacing:-.01em}.beta-badge{display:inline-flex;align-items:center;padding:2px 6px;font-size:9px;font-weight:700;letter-spacing:.05em;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px;text-transform:uppercase;box-shadow:0 2px 4px #667eea4d}.main-nav{display:flex;align-items:center;gap:4px;margin-left:24px;padding-left:24px;border-left:1px solid var(--p-color-border-default)}.nav-link{display:inline-flex;align-items:center;padding:8px 14px;font-size:13px;font-weight:500;color:var(--p-color-foreground-muted);text-decoration:none;border-radius:var(--p-border-radius-small);transition:all .15s ease}.nav-link:hover{color:var(--p-color-foreground-default);background:var(--p-color-background-shading)}.nav-link.active{color:var(--p-color-foreground-default);background:var(--p-color-background-shading);font-weight:600}.header-actions{display:flex;align-items:center;gap:8px}.header-actions .btn{height:36px;padding:0 14px;box-sizing:border-box;display:inline-flex;align-items:center;gap:6px}.header-actions .btn-icon{height:36px;width:36px;padding:0;justify-content:center}.calendar-status-legend{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;background:var(--p-color-background-surface);border-bottom:1px solid var(--p-color-border-subtle)}.legend-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.legend-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500;color:#fff}.legend-badge svg{flex-shrink:0}.legend-badge.badge-primary{background:var(--badge-primary)}.legend-badge.badge-info{background:var(--badge-info);color:#333}.legend-badge.badge-danger{background:var(--badge-danger)}.legend-badge.badge-active{background:var(--badge-active)}.legend-badge.badge-warning{background:var(--badge-warning);color:#333}.legend-badge.badge-secondary{background:var(--badge-secondary)}.legend-badges{display:flex;flex-wrap:wrap;gap:8px}.calendar-wrapper{flex:1;padding:12px;overflow:hidden;display:flex}#calendar{flex:1;background:var(--p-color-background-surface);border-radius:var(--p-border-radius-medium);overflow:hidden}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;border:none;border-radius:var(--p-border-radius-small);cursor:pointer;transition:all .15s ease}.btn-primary{background:var(--p-color-foreground-default);color:var(--p-color-background-surface)}.btn-primary:hover{background:#323539}.btn-primary:active{background:#4a4d51}.btn-primary:focus-visible{outline:none;box-shadow:0 0 0 2px var(--p-color-background-surface),0 0 0 4px var(--p-color-foreground-default)}.btn-secondary{background:transparent;color:var(--p-color-foreground-default);border:none}.btn-secondary.btn-muted{color:var(--p-color-foreground-muted)}.btn-secondary:hover{background:var(--p-color-background-shading)}.btn-secondary:active{background:#0102051a}.btn-secondary:focus-visible{outline:none;border-color:var(--p-color-state-focus)}.btn-danger{background:transparent;color:#dc2626;border:1px solid #DC2626}.btn-danger:hover{background:#fee2e2}.btn-danger:active{background:#fecaca}.btn-danger:focus-visible{outline:none;box-shadow:0 0 0 2px var(--p-color-background-surface),0 0 0 4px #dc2626}.btn-finish{background:transparent;color:#ea580c;border:none}.btn-finish:hover{background:#fff7ed}.btn-finish:active{background:#ffedd5}.btn-finish:focus-visible{outline:none;box-shadow:0 0 0 2px var(--p-color-background-surface),0 0 0 4px #ea580c}.btn-info{background:#0ea5e9;color:#fff;border:none}.btn-info:hover{background:#0284c7}.btn-info:active{background:#0369a1}.btn-info:focus-visible{outline:none;box-shadow:0 0 0 2px var(--p-color-background-surface),0 0 0 4px #0ea5e9}.btn-sm{padding:6px 12px;font-size:12px}.modal-footer .btn{min-width:100px;padding:10px 24px;font-size:14px}.view-toggle{display:flex;background:var(--p-color-background-shading);border-radius:var(--p-border-radius-small);padding:3px;gap:2px;height:36px;box-sizing:border-box}.view-toggle .btn-toggle{background:transparent;color:var(--p-color-foreground-muted);border:none;padding:0 12px;height:30px;font-size:12px;border-radius:3px;box-sizing:border-box}.btn-toggle:hover{color:var(--p-color-foreground-default)}.btn-toggle.active{background:var(--p-color-background-surface);color:var(--p-color-foreground-default);box-shadow:var(--p-shadow-low)}.location-selector{position:relative}.location-selector .btn{display:flex;align-items:center;gap:6px}.location-selector svg{flex-shrink:0}.location-arrow{color:var(--p-color-foreground-subtle);transition:transform .2s ease}.location-selector:has(.location-dropdown:not(.hidden)) .location-arrow{transform:rotate(180deg)}.location-dropdown{position:absolute;top:calc(100% + 8px);left:0;background:var(--p-color-background-surface);border-radius:var(--p-border-radius-medium);box-shadow:var(--p-shadow-high);z-index:1000;min-width:400px;width:max-content;max-width:90vw;white-space:nowrap;border:1px solid var(--p-color-border-default);animation:popupFadeIn .15s ease-out;overflow:hidden}.location-dropdown.hidden{display:none}.location-option{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:background .1s ease;font-size:13px;color:var(--p-color-foreground-default)}.location-option:hover{background:var(--p-color-background-shading)}.location-option.selected{background:#2e6bd614;font-weight:600}.location-option .location-check{width:16px;color:var(--badge-primary);font-size:12px}.location-option:not(.selected) .location-check{visibility:hidden}.location-option .location-count{margin-left:auto;font-size:12px;color:var(--p-color-foreground-subtle);font-weight:400}.date-picker-wrapper{position:relative}.date-picker-wrapper .btn{display:flex;align-items:center;gap:6px}.date-picker-wrapper svg{flex-shrink:0}.calendar-popup{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--p-color-background-surface);border-radius:var(--p-border-radius-medium);box-shadow:var(--p-shadow-high);padding:16px;z-index:1000;min-width:280px;border:1px solid var(--p-color-border-default);animation:popupFadeIn .15s ease-out}.calendar-popup.hidden{display:none}@keyframes popupFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.calendar-popup-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--p-color-border-subtle)}.calendar-popup-header span{font-size:14px;font-weight:600;color:var(--p-color-foreground-default);text-transform:capitalize}.calendar-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--p-border-radius-small);cursor:pointer;color:var(--p-color-foreground-muted);transition:all .15s ease}.calendar-nav-btn:hover{background:var(--p-color-background-shading);color:var(--p-color-foreground-default)}.calendar-popup-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.calendar-popup-weekdays span{font-size:11px;font-weight:600;color:var(--p-color-foreground-subtle);text-align:center;padding:4px;text-transform:uppercase}.calendar-popup-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:13px;font-weight:500;border:none;background:transparent;border-radius:var(--p-border-radius-small);cursor:pointer;color:var(--p-color-foreground-default);transition:all .1s ease;-webkit-user-select:none;user-select:none}.calendar-day:hover{background:var(--p-color-background-shading)}.calendar-day.other-month{color:var(--p-color-foreground-subtle)}.calendar-day.today{background:var(--p-color-background-shading);font-weight:700}.calendar-day.weekend{color:var(--p-color-foreground-muted)}.calendar-day.in-range{background:#2e6bd626;border-radius:0}.calendar-day.range-start{background:var(--badge-primary);color:#fff;border-radius:50% 0 0 50%;font-weight:600}.calendar-day.range-end{background:var(--badge-primary);color:#fff;border-radius:0 50% 50% 0;font-weight:600}.calendar-day.range-start.range-end{border-radius:50%}.calendar-day.in-range:hover{background:#2e6bd640}.calendar-day.range-start:hover,.calendar-day.range-end:hover{background:var(--badge-primary);opacity:.9}.timeline-calendar{display:flex;flex-direction:column;height:100%;background:var(--p-color-background-surface)}.timeline-header{display:flex;border-bottom:1px solid var(--p-color-border-default);background:var(--p-color-background-shading)}.timeline-sidebar-header{width:var(--sidebar-width);min-width:var(--sidebar-width);display:flex;align-items:center;border-right:1px solid var(--p-color-border-default);background:var(--p-color-background-surface)}.timeline-sidebar-header .header-col{padding:12px 10px;font-size:12px;font-weight:700;text-transform:none;letter-spacing:-.01em;color:var(--p-color-foreground-default);border-right:1px solid var(--p-color-border-subtle);text-align:center;justify-content:center}.timeline-sidebar-header .header-col:nth-child(1){flex:1;min-width:150px}.timeline-sidebar-header .header-col:nth-child(2){width:90px}.timeline-sidebar-header .header-col:nth-child(3){width:120px;border-right:none}.timeline-dates-header{flex:1;overflow:hidden}.dates-scroll-container{overflow:hidden}.dates-header-inner{display:flex}.date-header{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 0;border-right:1px solid var(--p-color-border-default);background:var(--p-color-background-shading)}.date-header.today{background:#2e6bd626}.date-header.weekend{background:#00000012}.date-header.red-day{background:#dc262614}.date-header.red-day .date-day{color:#dc2626}.date-header.today.weekend,.date-header.today.red-day{background:#2e6bd61f}.date-header .date-day{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--p-color-foreground-muted)}.date-header .date-num{font-size:12px;font-weight:600;color:var(--p-color-foreground-default)}.date-header.today .date-num{color:var(--color-rental)}.timeline-body{flex:1;display:flex;overflow:hidden}.timeline-sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--p-color-background-surface);border-right:1px solid var(--p-color-border-default);overflow-y:auto}.timeline-resource{display:flex;align-items:center;height:var(--row-height);border-bottom:1px solid var(--p-color-border-subtle);cursor:pointer;transition:background .15s ease}.timeline-resource:hover{background:var(--p-color-background-hover)}.timeline-resource.out-of-service{background:#dc354526}.timeline-resource.out-of-service:hover{background:#dc354540}.timeline-resource>span{display:flex;align-items:center;height:100%;padding:0 10px;border-right:1px solid var(--p-color-border-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-resource .resource-model{flex:1;min-width:150px;font-weight:600;font-size:13px;letter-spacing:-.01em;color:var(--p-color-foreground-default)}.timeline-resource .resource-plate{width:90px;font-size:12px;font-weight:600;color:var(--p-color-foreground-default);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;letter-spacing:0}.timeline-resource .resource-status-cell{width:120px;display:flex;align-items:center;gap:8px;border-right:none}.timeline-resource .tire-icon{width:16px;height:16px;flex-shrink:0;color:var(--p-color-foreground-muted)}.timeline-resource .status-badge{flex:1;padding:4px 8px;font-size:11px;font-weight:700;text-align:center;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.timeline-resource .status-badge.badge-info{background:var(--badge-info);color:#fff}.timeline-resource .status-badge.badge-primary{background:var(--badge-primary);color:#fff}.timeline-resource .status-badge.badge-danger{background:var(--badge-danger);color:#fff}.timeline-resource .status-badge.badge-warning{background:var(--badge-warning);color:#212529}.timeline-resource .status-badge.badge-secondary{background:var(--badge-secondary);color:#fff}.timeline-resource .status-badge.status-available{background:#018a16;color:#fff}.timeline-resource .status-badge.status-rented{background:#2e6bd6;color:#fff}.timeline-resource .status-badge.status-workshop{background:#e88b00;color:#fff}.timeline-resource .status-badge.status-reserved{background:#7c3aed;color:#fff}.status-badge.has-tooltip{cursor:help}.badge-tooltip{position:fixed;padding:8px 12px;background:#1f2937;color:#fff;font-size:12px;font-weight:400;line-height:1.4;border-radius:6px;white-space:normal;min-width:120px;max-width:250px;text-align:left;z-index:99999;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;box-shadow:0 4px 12px #0000004d;pointer-events:none}.badge-tooltip.visible{opacity:1;visibility:visible}.timeline-grid-container{flex:1;overflow-x:auto;overflow-y:auto;cursor:grab;will-change:scroll-position;contain:layout paint;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}.timeline-grid-container:active{cursor:grabbing}.timeline-grid{position:relative;min-height:100%}.grid-inner{position:relative}.grid-row{display:flex;border-bottom:1px solid var(--p-color-border-subtle)}.grid-day{flex-shrink:0;border-right:1px solid var(--p-color-border-default);background:var(--p-color-background-surface)}.grid-day.today{background:#2e6bd614}.grid-day.weekend{background:#0000000d}.grid-day.red-day{background:#dc26260f}.grid-day.today.weekend,.grid-day.today.red-day{background:#2e6bd60f}.grid-row.out-of-service .grid-day,.grid-row.out-of-service .grid-day.today,.grid-row.out-of-service .grid-day.weekend,.grid-row.out-of-service .grid-day.red-day,.grid-row.out-of-service .grid-day.today.weekend,.grid-row.out-of-service .grid-day.today.red-day{background:#dc354526}.drop-indicator{position:absolute;background:#2e6bd626;border:2px dashed var(--badge-primary);border-radius:4px;pointer-events:none;z-index:5;transition:left .1s ease,top .1s ease,height .15s ease,background .15s ease,border-color .15s ease}.drop-indicator.overlap-warning{background:#dc354533;border-color:var(--badge-danger)}.selection-indicator{position:absolute;background:#2e6bd633;border:2px solid var(--badge-primary);border-radius:6px;pointer-events:none;z-index:100;box-shadow:0 4px 16px #2e6bd666}@keyframes selectionPulse{0%,to{box-shadow:0 4px 12px #2e6bd64d}50%{box-shadow:0 4px 20px #2e6bd680}}.hour-lines{position:absolute;inset:0;pointer-events:none}.hour-line{position:absolute;top:0;bottom:0;width:1px;background:var(--p-color-border-subtle)}.hour-line.major{background:var(--p-color-border-default)}.timeline-event{position:absolute;display:flex;align-items:center;gap:6px;padding:0 10px;border-radius:4px;cursor:grab;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;z-index:10;overflow:hidden;will-change:transform;contain:layout style}.timeline-event[data-can-move=false]{cursor:default}.timeline-event:hover:not(.dragging){transform:translateY(-1px);box-shadow:var(--p-shadow-medium);z-index:20}.timeline-event:active:not(.dragging){transform:scale(.98)}.timeline-event.dragging{cursor:grabbing;opacity:.5;transform:none;box-shadow:none;z-index:30;transition:none;pointer-events:none}.timeline-event.event-entering{animation:eventFadeIn .25s ease-out forwards}.timeline-event.event-removing{animation:eventFadeOut .2s ease-out forwards;pointer-events:none}.timeline-event.event-updating{animation:eventPulse .3s ease-out}@keyframes eventFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes eventFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes eventPulse{0%{box-shadow:0 0 rgba(var(--p-color-accent-rgb, 59, 130, 246),.4)}50%{box-shadow:0 0 0 4px rgba(var(--p-color-accent-rgb, 59, 130, 246),.2)}to{box-shadow:0 0 rgba(var(--p-color-accent-rgb, 59, 130, 246),0)}}.timeline-event .event-status-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.timeline-event .event-status-icon svg{width:14px;height:14px;fill:#fffffff2}.timeline-event .event-title-sticky{font-size:11px;font-weight:600;color:#fff;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.3);pointer-events:none;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.timeline-event .event-lock-icon{flex-shrink:0;display:flex;align-items:center;margin-left:auto}.timeline-event .event-lock-icon svg{width:12px;height:12px;fill:#ffffffb3}.timeline-event.badge-primary{background:var(--badge-primary)}.timeline-event.badge-secondary{background:var(--badge-secondary)}.timeline-event.badge-success{background:var(--badge-success)}.timeline-event.badge-warning{background:var(--badge-warning)}.timeline-event.badge-warning .event-title-sticky{color:#333;text-shadow:none}.timeline-event.badge-warning .event-status-icon svg{fill:#333}.timeline-event.badge-info .event-status-icon svg{fill:#333}.timeline-event.badge-danger{background:var(--badge-danger)}.timeline-event.has-overlap{animation:overlapPulse 2s ease-in-out infinite;box-shadow:0 0 0 2px #dc354580;padding:0 6px;font-size:11px;z-index:15}.timeline-event.has-overlap:hover{z-index:25}.timeline-event.has-overlap .event-status-icon{font-size:10px}.timeline-event.has-overlap .event-title-sticky{font-size:11px;line-height:1.2}@keyframes overlapPulse{0%,to{box-shadow:0 0 0 2px #dc354580}50%{box-shadow:0 0 0 4px #dc35454d,0 0 12px #dc354566}}.timeline-event .event-overlap-icon{margin-left:auto;font-size:12px;color:#ffffffe6;animation:warningBlink 1s ease-in-out infinite}@keyframes warningBlink{0%,to{opacity:1}50%{opacity:.5}}.timeline-event.badge-info{background:var(--badge-info)}.timeline-event.badge-info .event-title-sticky,.timeline-event.badge-info .event-status-icon{color:#333;text-shadow:none}.timeline-event.badge-active{background:var(--badge-active)}.timeline-event[draggable=false],.timeline-event[draggable=false]:active{cursor:default}.timeline-event .event-resize-handle{position:absolute;right:0;top:0;bottom:0;width:8px;cursor:ew-resize;background:transparent;border-radius:0 4px 4px 0;transition:background .15s ease}.timeline-event:hover .event-resize-handle{background:#fff3}.timeline-event .event-resize-handle:hover,.timeline-event.resizing .event-resize-handle{background:#fff6}.timeline-event.resizing{opacity:.9;box-shadow:var(--p-shadow-high)}.global-tooltip{position:fixed;background:var(--p-color-foreground-default);color:#fff;padding:12px 16px;border-radius:var(--p-border-radius-small);font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;z-index:9999;box-shadow:var(--p-shadow-high);pointer-events:none}.global-tooltip.visible{opacity:1;visibility:visible}.global-tooltip .tooltip-title{font-weight:700;font-size:13px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.2)}.global-tooltip .tooltip-content{display:flex;flex-direction:column;gap:4px}.global-tooltip .tooltip-row{display:flex;gap:8px;font-size:11px;color:#ffffffd9}.global-tooltip .tooltip-row span{color:#ffffff80;min-width:40px;flex-shrink:0}.global-tooltip .tooltip-row.tooltip-comment{flex-direction:column;gap:2px;margin-top:4px;padding-top:4px;border-top:1px solid rgba(255,255,255,.1)}.modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center}.modal.hidden{display:none}.modal-backdrop{position:absolute;inset:0;pointer-events:auto;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.modal-content{position:relative;width:100%;max-width:520px;background:var(--p-color-background-surface);border-radius:var(--p-border-radius-large);box-shadow:0 0 0 1px #0000000d,0 10px 40px #00000026,0 0 80px 20px #0000001a;margin:16px}.modal-content.modal-large{max-width:680px;max-height:90vh;overflow-y:auto}.modal-content.modal-medium{max-width:520px;max-height:90vh;overflow-y:auto}.modal-content.modal-small{max-width:400px}.car-settings-modal{padding:0;overflow:hidden}.car-settings-modal button.modal-close:not(.btn){position:absolute;top:16px;right:16px;z-index:10;background:#ffffffe6;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;border:none;cursor:pointer;font-size:18px;color:#666;transition:background .15s ease,transform .15s ease}.car-settings-modal button.modal-close:not(.btn):hover{background:#fff;transform:scale(1.05)}.car-hero{background:linear-gradient(135deg,#1a5dc8,#2e6bd6,#4a7fdb);padding:32px 24px;text-align:center;position:relative;overflow:hidden}.car-hero:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 60%);pointer-events:none}.car-icon{width:64px;height:64px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.car-icon svg{color:#fff}.car-info{display:flex;flex-direction:column;gap:4px;position:relative}.car-model{font-size:18px;font-weight:600;color:#fff}.car-plate{font-size:14px;color:#ffffffd9;font-weight:500;letter-spacing:.5px}.car-settings-list{padding:8px 0}.car-setting-row{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--p-color-border-subtle)}.car-setting-row:last-child{border-bottom:none}.setting-info{display:flex;align-items:center;gap:14px}.setting-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.setting-icon.service{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);color:#fff}.setting-icon.tires{background:linear-gradient(135deg,#4ecdc4,#44b3ab);color:#fff}.setting-text{display:flex;flex-direction:column;gap:2px}.setting-label{font-size:15px;font-weight:600;color:var(--p-color-foreground-default)}.setting-desc{font-size:12px;color:var(--p-color-foreground-muted)}.car-comment-wrapper{padding:0 24px 16px;margin-top:-8px}.car-comment-wrapper textarea{width:100%;padding:12px;border:1px solid var(--p-color-border-default);border-radius:8px;font-size:14px;resize:none;background:var(--p-color-background-shading);transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.car-comment-wrapper textarea:focus{outline:none;border-color:var(--p-color-state-focus);box-shadow:0 0 0 3px #1a5dc81a}.car-modal-footer{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;background:var(--p-color-background-shading);border-top:1px solid var(--p-color-border-subtle)}.car-modal-footer .btn{flex-shrink:0;position:static;width:auto;height:auto;border-radius:var(--p-border-radius-small);box-shadow:none}.tire-toggle .toggle-slider{background-color:#4ecdc4}.tire-toggle input:not(:checked)+.toggle-slider{background-color:#ffd93d}.form-value{padding:8px 12px;background:var(--p-color-background-shading);border-radius:var(--p-border-radius-small);font-size:14px;color:var(--p-color-foreground-default)}.toggle-group{display:flex;gap:8px}.toggle-option{flex:1;display:flex;align-items:center;justify-content:center;padding:10px 16px;background:var(--p-color-background-shading);border:2px solid transparent;border-radius:var(--p-border-radius-small);cursor:pointer;transition:all .15s ease}.toggle-option:hover{background:var(--p-color-background-base)}.toggle-option input[type=radio]{display:none}.toggle-option input[type=radio]:checked+.toggle-label{color:var(--badge-primary);font-weight:600}.toggle-option:has(input[type=radio]:checked){border-color:var(--badge-primary);background:#2e6bd614}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--p-color-border-subtle)}.modal-header h2{font-size:18px;font-weight:600}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;font-size:20px;color:var(--p-color-foreground-muted);cursor:pointer;border-radius:var(--p-border-radius-small)}.modal-close:hover{background:var(--p-color-background-shading)}.modal-footer{display:flex;justify-content:space-between;gap:8px;padding:16px 20px;border-top:1px solid var(--p-color-border-subtle);background:var(--p-color-background-surface);position:sticky;bottom:0}.modal-footer-left,.modal-footer-right{display:flex;gap:8px}.modal-status-banner{padding:12px 20px;font-size:13px;background:var(--p-color-background-shading);border-bottom:1px solid var(--p-color-border-subtle)}.modal-status-banner.status-info{background:#e3f2fd;color:#1565c0}.modal-status-banner.status-warning{background:#fff3e0;color:#e65100}.modal-status-banner.status-success{background:#e8f5e9;color:#2e7d32}.modal-message{padding:12px 20px;font-size:13px;margin:0 20px 16px;border-radius:var(--p-border-radius-small)}.modal-message.success{background:#e8f5e9;color:#2e7d32}.modal-message.error{background:#ffebee;color:#c62828}.confirm-message{padding:20px;font-size:14px;line-height:1.6}#booking-form{padding:0}.form-group{margin-bottom:12px}.form-group:last-child{margin-bottom:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:0}.form-row .form-group{margin-bottom:12px}.form-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:var(--p-color-foreground-muted)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:11px 12px;font-family:inherit;font-size:14px;border:1px solid var(--p-color-border-default);border-radius:var(--p-border-radius-small);background:var(--p-color-background-surface);color:var(--p-color-foreground-default);transition:border-color .15s ease;box-sizing:border-box}.form-group select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.form-group select:hover{border-color:var(--p-color-foreground-muted)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--p-color-state-focus);box-shadow:0 0 0 2px #1a5dc826}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--p-color-background-shading);color:var(--p-color-foreground-muted);cursor:not-allowed}.custom-select-btn:disabled{background:var(--p-color-background-shading);color:var(--p-color-foreground-muted);cursor:not-allowed}.form-divider{border:none;border-top:1px solid var(--p-color-border-subtle);margin:16px 0}.uppercase-input{text-transform:uppercase}.uppercase-input::placeholder{text-transform:none}.form-section{padding:12px 20px;border-bottom:1px solid var(--p-color-border-subtle)}.form-section:first-child{padding-top:16px}.form-section:last-of-type{border-bottom:none;padding-bottom:16px}.form-section-title{font-size:14px;font-weight:600;color:var(--p-color-foreground-default);margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px}.form-group-sm{max-width:100px;position:relative}.form-row-postal{grid-template-columns:100px 1fr}.form-group-postal{max-width:100px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:400;color:var(--p-color-foreground-default)}.checkbox-label input[type=checkbox]{width:18px;height:18px;margin:0;cursor:pointer;accent-color:var(--p-color-state-focus)}.lock-toggle{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--p-color-background-shading);border-radius:var(--p-border-radius-small);margin-top:4px}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--p-color-border-default);transition:.2s ease;border-radius:24px;border:1px solid rgba(0,0,0,.1)}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:#fff;transition:.2s ease;border-radius:50%;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-slider{background-color:var(--p-color-state-focus);border-color:var(--p-color-state-focus)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 2px #1a5dc833}.toggle-label{font-size:14px;font-weight:500;color:var(--p-color-foreground-default);flex:1}.lock-icon{color:var(--p-color-foreground-muted);transition:color .2s ease}.lock-toggle:has(input:checked) .lock-icon{color:var(--p-color-state-focus)}.deposit-toggle{display:flex;align-items:center;gap:12px;padding:12px 14px;background:linear-gradient(135deg,#4caf501a,#2196f31a);border-radius:var(--p-border-radius-small);margin-top:8px;border:1px solid rgba(76,175,80,.2)}.deposit-icon{color:var(--p-color-foreground-muted);transition:color .2s ease}.deposit-toggle:has(input:checked) .deposit-icon{color:#4caf50}.loancar-toggle{display:flex;align-items:center;gap:12px;padding:12px 14px;background:linear-gradient(135deg,#3f51b51a,#9c27b01a);border-radius:var(--p-border-radius-small);margin-top:8px;border:1px solid rgba(63,81,181,.2)}.loancar-icon{color:var(--p-color-foreground-muted);transition:color .2s ease}.loancar-toggle:has(input:checked) .loancar-icon{color:#3f51b5}.action-buttons{display:flex;gap:8px;margin-top:8px}.action-buttons.hidden{display:none}.action-btn{display:flex;align-items:center;gap:8px;flex:1;padding:12px 14px;background:var(--p-color-background-surface);border:1px solid var(--p-color-border-default);border-radius:var(--p-border-radius-small);color:var(--p-color-foreground-default);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.action-btn:hover{background:var(--p-color-background-shading);border-color:var(--p-color-state-focus)}.action-btn svg{color:var(--p-color-foreground-muted);flex-shrink:0}.action-btn:hover svg{color:var(--p-color-state-focus)}.btn-loading{display:flex;align-items:center;justify-content:center}.btn .btn-text,.btn .btn-loading{display:inline-flex;align-items:center}.btn .btn-loading.hidden{display:none}.btn:disabled .btn-text.hidden{display:none}.customer-search-group{margin-bottom:12px}.customer-search-wrapper{position:relative}.customer-search-input{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--p-color-background-shading);border:1px solid var(--p-color-border-default);border-radius:var(--p-border-radius-small);transition:all .15s ease}.customer-search-input:focus-within{background:var(--p-color-background-surface);border-color:var(--p-color-state-focus);box-shadow:0 0 0 2px #1a5dc826}.customer-search-input svg{color:var(--p-color-foreground-subtle);flex-shrink:0}.customer-search-input input{flex:1;border:none;background:transparent;font-family:inherit;font-size:14px;color:var(--p-color-foreground-default);outline:none;padding:0}.customer-search-input input::placeholder{color:var(--p-color-foreground-subtle)}.customer-search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--p-color-background-surface);border-radius:var(--p-border-radius-medium);box-shadow:var(--p-shadow-high);z-index:100;border:1px solid var(--p-color-border-default);max-height:280px;overflow-y:auto}.customer-search-results.hidden{display:none}.customer-result{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;transition:background .1s ease;border-bottom:1px solid var(--p-color-border-subtle)}.customer-result:last-child{border-bottom:none}.customer-result:hover{background:var(--p-color-background-shading)}.customer-result-icon{width:36px;height:36px;border-radius:50%;background:var(--p-color-background-shading);display:flex;align-items:center;justify-content:center;color:var(--p-color-foreground-muted);flex-shrink:0}.customer-result-info{flex:1;min-width:0}.customer-result-name{font-weight:600;font-size:14px;color:var(--p-color-foreground-default);margin-bottom:2px}.customer-result-details{font-size:12px;color:var(--p-color-foreground-muted);display:flex;gap:12px;flex-wrap:wrap}.customer-result-details span{display:flex;align-items:center;gap:4px}.customer-result-badge{font-size:11px;padding:2px 8px;border-radius:10px;background:#2e6bd61a;color:var(--badge-primary);font-weight:600}.customer-search-empty{padding:20px;text-align:center;color:var(--p-color-foreground-muted);font-size:13px}.customer-search-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;color:var(--p-color-foreground-muted);font-size:13px}.customer-search-hint{padding:10px 14px;font-size:12px;color:var(--p-color-foreground-subtle);background:var(--p-color-background-shading);border-bottom:1px solid var(--p-color-border-subtle)}.date-range-picker{position:relative}.date-range-btn{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--p-color-background-surface);border:1px solid var(--p-color-border-default);border-radius:var(--p-border-radius-small);cursor:pointer;transition:all .15s ease;font-family:inherit;font-size:14px;color:var(--p-color-foreground-default)}.date-range-btn:hover{border-color:var(--p-color-foreground-muted)}.date-range-btn:focus{outline:none;border-color:var(--p-color-state-focus);box-shadow:0 0 0 2px #1a5dc826}.date-range-btn svg:first-child{color:var(--p-color-foreground-muted);flex-shrink:0}.date-range-text{flex:1;text-align:left;font-weight:500}.date-range-arrow{color:var(--p-color-foreground-subtle);transition:transform .2s ease}.date-range-picker:has(.date-range-popup:not(.hidden)) .date-range-arrow{transform:rotate(180deg)}.date-range-popup{position:fixed;top:0;right:0;bottom:0;width:340px;background:var(--p-color-background-surface);box-shadow:-4px 0 24px #00000026;padding:24px;z-index:1100;border-left:1px solid var(--p-color-border-default);animation:slideInRight .2s ease-out;overflow-y:auto;display:flex;flex-direction:column}.date-range-popup.hidden{display:none}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.date-range-popup:before{content:"Velg periode";display:block;font-size:18px;font-weight:600;color:var(--p-color-foreground-default);margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--p-color-border-subtle)}.modal-content{max-height:90vh;overflow-y:auto}.date-range-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--p-color-border-subtle)}.date-range-header span{font-size:15px;font-weight:600;color:var(--p-color-foreground-default);text-transform:capitalize}.date-range-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:6px}.date-range-weekdays span{font-size:11px;font-weight:600;color:var(--p-color-foreground-subtle);text-align:center;padding:6px 0;text-transform:uppercase}.date-range-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.date-range-days .calendar-day{width:100%;height:36px;font-size:13px}.date-range-time{display:flex;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--p-color-border-subtle)}.time-group{flex:1}.time-group label{display:block;font-size:12px;font-weight:600;color:var(--p-color-foreground-muted);margin-bottom:6px}.time-group input[type=time]{width:100%;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:500;border:1px solid var(--p-color-border-default);border-radius:var(--p-border-radius-small);background:var(--p-color-background-surface);color:var(--p-color-foreground-default)}.time-group input[type=time]:focus{outline:none;border-color:var(--p-color-state-focus);box-shadow:0 0 0 2px #1a5dc826}.date-range-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:auto;padding-top:20px;border-top:1px solid var(--p-color-border-subtle)}.btn-sm{padding:8px 16px;font-size:13px}.selection-hint{display:flex;align-items:center;gap:8px;padding:10px 12px;margin-bottom:12px;border-radius:var(--p-border-radius-small);font-size:13px;font-weight:500;transition:all .2s ease}.selection-hint .hint-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:11px;font-weight:700}.selection-hint.selecting-start{background:#1a5dc814;color:var(--p-color-state-focus)}.selection-hint.selecting-start .hint-icon{background:var(--p-color-state-focus);color:#fff}.selection-hint.selecting-end{background:#05966914;color:#059669}.selection-hint.selecting-end .hint-icon{background:#059669;color:#fff}.selection-hint.selection-complete{background:#05966914;color:#059669}.selection-hint.selection-complete .hint-icon{background:#059669;color:#fff}.date-range-days .calendar-day.in-range{background:#1a5dc81a;border-radius:0}.date-range-days .calendar-day.range-start{background:var(--p-color-state-focus);color:#fff;border-radius:var(--p-border-radius-small) 0 0 var(--p-border-radius-small)}.date-range-days .calendar-day.range-end{background:var(--p-color-state-focus);color:#fff;border-radius:0 var(--p-border-radius-small) var(--p-border-radius-small) 0}.date-range-days .calendar-day.range-start.range-end{border-radius:var(--p-border-radius-small)}.custom-select{position:relative}.custom-select-btn{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--p-color-background-surface);border:1px solid var(--p-color-border-default);border-radius:var(--p-border-radius-small);cursor:pointer;transition:all .15s ease;font-family:inherit;font-size:14px;color:var(--p-color-foreground-default);text-align:left}.custom-select-btn:hover{border-color:var(--p-color-foreground-muted)}.custom-select-btn:focus{outline:none;border-color:var(--p-color-state-focus);box-shadow:0 0 0 2px #1a5dc826}.custom-select-text{flex:1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-select-text.placeholder{color:var(--p-color-foreground-muted)}.custom-select-arrow{color:var(--p-color-foreground-subtle);transition:transform .2s ease;flex-shrink:0}.custom-select:has(.custom-select-dropdown:not(.hidden)) .custom-select-arrow{transform:rotate(180deg)}.custom-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--p-color-background-surface);border-radius:var(--p-border-radius-medium);box-shadow:var(--p-shadow-high);z-index:200;border:1px solid var(--p-color-border-default);animation:popupFadeIn .15s ease-out;overflow:hidden}.custom-select-dropdown.hidden{display:none}.custom-select-search{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--p-color-border-subtle)}.custom-select-search svg{color:var(--p-color-foreground-subtle);flex-shrink:0}.custom-select-search input{flex:1;border:none;background:transparent;font-family:inherit;font-size:14px;color:var(--p-color-foreground-default);outline:none}.custom-select-search input::placeholder{color:var(--p-color-foreground-subtle)}.custom-select-options{max-height:240px;overflow-y:auto;padding:6px 0}.custom-select-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:transparent;font-family:inherit;font-size:14px;color:var(--p-color-foreground-default);cursor:pointer;text-align:left;transition:background .1s ease}.custom-select-option:hover{background:var(--p-color-background-shading)}.custom-select-option.selected{background:#1a5dc814;color:var(--p-color-state-focus);font-weight:600}.custom-select-option .option-main{flex:1;display:flex;flex-direction:column;gap:2px}.custom-select-option .option-title{font-weight:500}.custom-select-option .option-subtitle{font-size:12px;color:var(--p-color-foreground-muted)}.custom-select-option .option-badge{font-size:11px;padding:2px 8px;border-radius:10px;background:var(--p-color-background-shading);color:var(--p-color-foreground-muted)}.custom-select-option .option-badge.available{background:#27ae6026;color:#27ae60}.custom-select-option .option-badge.unavailable{background:#e74c3c26;color:#e74c3c}.type-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}.custom-select-empty{padding:20px;text-align:center;color:var(--p-color-foreground-muted);font-size:13px}.notification{position:fixed;bottom:20px;right:20px;background:var(--p-color-foreground-default);color:var(--p-color-background-surface);padding:12px 20px;border-radius:var(--p-border-radius-small);font-size:13px;font-weight:600;box-shadow:var(--p-shadow-high);z-index:2000;animation:slideIn .2s ease}.notification.fade-out{animation:slideOut .2s ease forwards}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.timeline-grid-container,.timeline-sidebar{scrollbar-width:none;-ms-overflow-style:none}.timeline-grid-container::-webkit-scrollbar,.timeline-sidebar::-webkit-scrollbar{display:none}.header-left{display:flex;align-items:center}.btn-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:transparent;border:none;border-radius:var(--p-border-radius-small);color:var(--p-color-foreground-default);cursor:pointer}.btn-icon:hover{background:var(--p-color-background-shading)}.mobile-only{display:none}@media(max-width:1024px){:root{--sidebar-width: 320px;--row-height: 52px}.app-header{padding:10px 16px}.logo h1{font-size:15px}.header-actions{gap:6px}.btn{padding:8px 12px;font-size:12px}.calendar-wrapper{padding:8px}.timeline-sidebar,.timeline-sidebar-header{transition:transform .3s ease,width .3s ease}.timeline-event{min-height:36px;padding:0 12px}.timeline-event .event-title-sticky{font-size:12px}}.page-container,.page{flex:1;display:flex;flex-direction:column;overflow:hidden}.page.hidden{display:none}.page-content{flex:1;overflow-y:auto;padding:24px;max-width:1200px;margin:0 auto;width:100%}.bestillinger-header{margin-bottom:24px}.status-badges{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.status-badge{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;color:#fff}.status-badge.badge-secondary{background:var(--badge-secondary)}.status-badge.badge-success{background:var(--badge-success)}.status-badge.badge-danger{background:var(--badge-danger)}.bestillinger-list{display:flex;flex-direction:column;gap:16px}.bestilling-group{background:var(--p-color-background-surface);border-radius:var(--p-border-radius-medium);border:1px solid var(--p-color-border-default);overflow:hidden}.bestilling-group-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--p-color-background-shading);border-bottom:1px solid var(--p-color-border-default)}.bestilling-date{font-weight:600;color:var(--p-color-foreground-default)}.bestilling-count{font-size:13px;color:var(--p-color-foreground-muted)}.bestilling-group-items{display:flex;flex-direction:column}.bestilling-item{display:flex;flex-direction:column;gap:8px;padding:16px;background:transparent;border:none;border-bottom:1px solid var(--p-color-border-subtle);cursor:pointer;text-align:left;font-family:inherit;width:100%;transition:background .15s ease;color:#fff}.bestilling-item:last-child{border-bottom:none}.bestilling-item:hover{filter:brightness(1.1)}.bestilling-item.badge-secondary{background:var(--badge-secondary)}.bestilling-item.badge-success{background:var(--badge-success)}.bestilling-item.badge-danger{background:var(--badge-danger)}.bestilling-item-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.bestilling-title{text-transform:uppercase;font-size:14px}.bestilling-vehicle,.bestilling-plate,.bestilling-order{font-size:13px;opacity:.9}.empty-state{text-align:center;padding:48px 24px;color:var(--p-color-foreground-muted)}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state-title{font-size:18px;font-weight:600;color:var(--p-color-foreground-default);margin:0 0 8px}.empty-state-description{font-size:14px;max-width:400px;margin:0 auto 20px}.empty-state-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.empty-state-actions .btn{min-width:120px}.tilgjengelige-container{max-width:600px;margin:0 auto}.tilgjengelige-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px;color:var(--p-color-foreground-muted)}.alert{padding:16px 20px;border-radius:var(--p-border-radius-medium);margin-bottom:20px;font-size:14px}.alert-info{background:#6fb8e026;border:1px solid var(--badge-info);color:var(--p-color-foreground-default)}.tilgjengelige-buttons{display:flex;flex-direction:column;gap:12px}.tilgjengelig-btn{width:100%;padding:14px 20px;font-size:15px;font-weight:500;justify-content:center}.arkiv-container{max-width:800px;margin:0 auto}.arkiv-search-wrapper{margin-bottom:24px}.arkiv-search-input{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--p-color-background-surface);border:1px solid var(--p-color-border-default);border-radius:var(--p-border-radius-medium);transition:all .15s ease}.arkiv-search-input:focus-within{border-color:var(--p-color-state-focus);box-shadow:0 0 0 3px #1a5dc826}.arkiv-search-input svg{color:var(--p-color-foreground-subtle);flex-shrink:0}.arkiv-search-input input{flex:1;border:none;background:transparent;font-family:inherit;font-size:15px;color:var(--p-color-foreground-default);outline:none;padding:0}.arkiv-search-input input::placeholder{color:var(--p-color-foreground-subtle)}.arkiv-results{display:flex;flex-direction:column;gap:12px}.arkiv-empty{text-align:center;padding:48px 24px;color:var(--p-color-foreground-muted)}.arkiv-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:32px;color:var(--p-color-foreground-muted)}.arkiv-item{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--badge-secondary);color:#fff;border-radius:var(--p-border-radius-medium);cursor:pointer;transition:filter .15s ease}.arkiv-item:hover{filter:brightness(1.1)}.arkiv-item-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.arkiv-title{text-transform:uppercase;font-size:14px}.arkiv-vehicle{font-size:13px;opacity:.9}.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--p-color-border);z-index:1000;padding:8px 0;padding-bottom:max(8px,env(safe-area-inset-bottom))}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;text-decoration:none;color:#96989c;font-size:10px;font-weight:500;transition:color .2s}.bottom-nav-item svg{width:22px;height:22px;stroke-width:1.5;stroke:#96989c}.bottom-nav-item.active{color:#010205}.bottom-nav-item.active svg{stroke:#010205}@media(min-width:769px){.mobile-bottom-nav{display:none}}.station-selector #current-station-name{display:none}.station-selector .btn{padding:8px 10px;gap:4px}@media(min-width:769px){.station-selector #current-station-name{display:inline}.station-selector .btn{padding:10px 14px;gap:8px}}.app-container.hidden~.mobile-bottom-nav{display:none!important}@media(max-width:768px){:root{--sidebar-width: 360px;--row-height: 56px;--mobile-header-height: 100px}.mobile-only{display:flex}.main-nav{display:none}.app-header{flex-wrap:wrap;gap:8px;padding:10px 12px}.header-left{flex:1}.logo h1{font-size:14px}.header-actions{order:3;width:100%;justify-content:space-between;gap:6px}.btn{padding:8px 10px;font-size:12px}.btn-toggle{padding:6px 10px;font-size:11px}#selected-date-label,#selected-location-label,.location-arrow{display:none}#btn-location,#btn-date-picker{padding:8px 10px}#btn-add-booking{font-size:0}#btn-add-booking:before{content:"+";font-size:16px;font-weight:600}.calendar-wrapper{padding:6px}#calendar{border-radius:var(--p-border-radius-small)}.timeline-sidebar{position:relative;width:var(--sidebar-width);min-width:var(--sidebar-width);transform:translate(-100%);margin-right:calc(-1 * var(--sidebar-width));transition:transform .3s ease,margin .3s ease;display:block!important;overflow-y:auto}.timeline-sidebar.open{transform:translate(0);margin-right:0}.timeline-header>.timeline-sidebar-header{width:var(--sidebar-width);min-width:var(--sidebar-width);transform:translate(-100%);margin-right:calc(-1 * var(--sidebar-width));transition:transform .3s ease,margin .3s ease;display:flex!important}.timeline-header>.timeline-sidebar-header.open{transform:translate(0);margin-right:0}.timeline-grid-container,.timeline-dates-header{flex:1;min-width:0;transition:width .3s ease}.timeline-body{display:flex;overflow:hidden}.timeline-header{display:flex}.timeline-event{min-height:40px}.form-row{grid-template-columns:1fr}.modal-content{max-width:100%;max-height:100%;height:100%;margin:0;border-radius:0}.modal-header{position:sticky;top:0;background:var(--p-color-background-surface);z-index:10}#booking-form{padding:16px}.date-range-popup{width:100%;max-width:100%;padding:20px 16px}.calendar-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 32px);max-width:320px}@keyframes popupFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.calendar-day{width:40px;height:40px;font-size:14px}.date-range-days .calendar-day{height:44px}.notification{inset:70px 12px auto;text-align:center}}@media(max-width:375px){:root{--sidebar-width: 260px}.logo h1{font-size:13px}.btn-toggle{padding:5px 8px;font-size:10px}#btn-today{display:none}.modal-footer .btn{min-width:80px;padding:10px 16px;font-size:13px}.app-main{padding-bottom:70px}.page{padding-bottom:20px}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#010205;padding:20px}.login-page.hidden{display:none}.login-container{background:#fff;border-radius:0;box-shadow:none;padding:48px;width:100%;max-width:400px}.login-header{text-align:left;margin-bottom:32px}.login-header h1{font-size:28px;font-weight:600;color:#010205;margin-bottom:8px;letter-spacing:-.02em}.login-header p{font-size:16px;color:#626669}.login-form{display:flex;flex-direction:column;gap:24px}.login-field{display:flex;flex-direction:column;gap:8px}.login-field label{font-size:14px;font-weight:400;color:#010205}.login-field input{padding:12px 16px;font-size:16px;border:2px solid #C9CCD2;border-radius:0;background:#fff;color:#010205;transition:border-color .2s}.login-field input:focus{outline:none;border-color:#010205}.login-field input::placeholder{color:#96989c}.login-remember{margin-top:8px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--p-color-foreground-default)}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--p-color-foreground-default);cursor:pointer}.login-error{background:#ffe6e6;border:none;border-left:4px solid #E00000;padding:12px 16px;font-size:14px;color:#e00000}.login-error.hidden{display:none}.login-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;font-size:16px;font-weight:600;color:#fff;background:#010205;border:none;border-radius:0;cursor:pointer;transition:background .2s;margin-top:8px;text-transform:uppercase;letter-spacing:.05em}.login-button:hover{background:#323639}.login-button:active{background:#010205}.login-button:disabled{opacity:.5;cursor:not-allowed}.login-button-loading.hidden{display:none}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:480px){.login-container{padding:32px 24px}.login-header h1{font-size:24px}}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:48px;font-size:16px;color:var(--p-color-foreground-muted)}.user-menu{position:relative}.user-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:var(--p-color-background-surface);border:1px solid var(--p-color-border-default);border-radius:var(--p-border-radius-medium);box-shadow:var(--p-shadow-high);min-width:200px;z-index:1000}.user-dropdown.hidden{display:none}.user-dropdown-header{padding:12px 16px;display:flex;flex-direction:column;gap:2px}.user-dropdown-header #user-name{font-weight:600;font-size:14px;color:var(--p-color-foreground-default)}.user-dropdown-header .user-email{font-size:12px;color:var(--p-color-foreground-muted)}.user-dropdown-divider{height:1px;background:var(--p-color-border-default)}.user-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;border:none;background:none;font-size:14px;color:var(--p-color-foreground-default);cursor:pointer;transition:background .15s;text-align:left}.user-dropdown-item:hover{background:var(--p-color-background-shading)}.user-dropdown-item svg{color:var(--p-color-foreground-muted)}.station-selector{position:relative}.station-selector .btn{gap:8px}.station-selector .station-arrow{margin-left:4px;transition:transform .2s}.station-dropdown{position:absolute;top:100%;left:0;margin-top:8px;background:var(--p-color-background-surface);border:1px solid var(--p-color-border-default);border-radius:var(--p-border-radius-medium);box-shadow:var(--p-shadow-high);min-width:300px;width:max-content;white-space:nowrap;z-index:1000;max-height:300px;overflow-y:auto}.station-dropdown.hidden{display:none}.station-option{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;transition:background .15s;font-size:14px;color:var(--p-color-foreground-default)}.station-option:hover{background:var(--p-color-background-shading)}.station-option.selected{background:var(--p-color-background-shading);font-weight:600}.station-option .station-check{width:16px;color:var(--p-color-notification-success);font-weight:700}.station-option:not(.selected) .station-check{visibility:hidden}.station-selector.loading .btn{pointer-events:none;opacity:.7}.station-selector.loading .btn:after{content:"";display:inline-block;width:14px;height:14px;margin-left:6px;border:2px solid var(--p-color-foreground-secondary);border-top-color:transparent;border-radius:50%;animation:station-spin .8s linear infinite;vertical-align:middle}.station-selector.loading .station-arrow{display:none}@keyframes station-spin{to{transform:rotate(360deg)}}.calendar-loading-overlay{position:absolute;inset:0;background:#ffffffb3;display:flex;align-items:center;justify-content:center;z-index:100;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.calendar-loading-overlay.visible{opacity:1;visibility:visible}.calendar-loading-spinner{width:40px;height:40px;border:3px solid var(--p-color-border-default);border-top-color:var(--p-color-notification-information-soft);border-radius:50%;animation:station-spin .8s linear infinite}.address-autocomplete-wrapper{position:relative}.address-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--p-color-background-surface);border:1px solid var(--p-color-border-default);border-radius:var(--p-border-radius-small);box-shadow:var(--p-shadow-medium);max-height:240px;overflow-y:auto;z-index:1000;margin-top:2px}.address-suggestions.hidden{display:none}.address-suggestion-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--p-color-border-subtle)}.address-suggestion-item:last-child{border-bottom:none}.address-suggestion-item:hover{background:var(--p-color-background-shading)}.address-suggestion-main{font-size:13px;color:var(--p-color-foreground-default)}.address-suggestion-sub{font-size:11px;color:var(--p-color-foreground-muted);margin-top:2px}.postal-loader{position:absolute;right:10px;top:32px;width:14px;height:14px;border:2px solid var(--p-color-border-default);border-top-color:var(--p-color-state-focus);border-radius:50%;animation:spin .8s linear infinite}.postal-loader.hidden{display:none}#customer-zipcode.valid{border-color:var(--p-color-notification-success)}#customer-zipcode.invalid{border-color:#dc3545}#customer-plate.valid{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2328a745' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:18px 18px;padding-right:36px}#customer-plate.invalid{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23dc3545' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:18px 18px;padding-right:36px}#customer-plate.loading{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'%3E%3Cpath fill='%23666' d='M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z' opacity='.3'/%3E%3Cpath fill='%23666' d='M12 4a8 8 0 0 1 8 8h2A10 10 0 0 0 12 2z'%3E%3CanimateTransform attributeName='transform' dur='1s' from='0 12 12' repeatCount='indefinite' to='360 12 12' type='rotate'/%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:18px 18px;padding-right:36px}.field-invalid,input.field-invalid,select.field-invalid,textarea.field-invalid{border-color:#dc3545!important;box-shadow:0 0 0 2px #dc354533!important;animation:field-shake .4s ease-in-out}@keyframes field-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.customer-search-section{padding-top:12px;padding-bottom:12px}.form-section-collapsible{border-top:1px solid var(--p-color-border-subtle);margin:0}.collapsible-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;cursor:pointer;color:var(--p-color-foreground-muted);font-size:13px;font-weight:500;list-style:none}.collapsible-header::-webkit-details-marker{display:none}.collapsible-header:hover{color:var(--p-color-foreground-default);background:var(--p-color-background-shading)}.collapsible-header svg{transition:transform .2s ease}.form-section-collapsible[open] .collapsible-header svg{transform:rotate(180deg)}.collapsible-content{padding:0 20px 16px}.collapsible-content .form-group:first-child{margin-top:0}input[readonly]{background:var(--p-color-background-shading);cursor:not-allowed}.modal-content.modal-info{max-width:440px}.status-info-content{padding:20px}.status-info-section{margin-bottom:20px}.status-info-section:last-child{margin-bottom:0}.status-info-section h3{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--p-color-foreground-muted);margin-bottom:12px}.status-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.status-card{display:flex;align-items:center;gap:10px;padding:12px;background:var(--p-color-background-shading);border-radius:var(--p-border-radius-small);transition:transform .15s ease,box-shadow .15s ease}.status-card:hover{transform:translateY(-1px);box-shadow:var(--p-shadow-low)}.status-card-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0}.status-card-icon.icon-waiting{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309}.status-card-icon.icon-ready{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#047857}.status-card-icon.icon-signed{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4338ca}.status-card-icon.icon-locked{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.status-card-text strong{display:block;font-size:13px;font-weight:600;color:var(--p-color-foreground-default)}.status-card-text p{font-size:11px;color:var(--p-color-foreground-muted);margin:2px 0 0}.color-legend{display:flex;flex-wrap:wrap;gap:8px}.color-item{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--p-color-background-surface);border:1px solid var(--p-color-border-default);border-radius:20px;font-size:12px;color:var(--p-color-foreground-default)}.color-bar{width:12px;height:12px;border-radius:3px}.color-bar.color-new{background:#3b82f6}.color-bar.color-active{background:#059669}.color-bar.color-overdue{background:#ef4444}.color-bar.color-completed{background:#9ca3af}.color-bar.color-overlap{background:repeating-linear-gradient(45deg,#ef4444,#ef4444 3px,#fff 3px 6px)}.keyboard-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.shortcut-item{display:flex;align-items:center;gap:8px}.shortcut-item kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;background:var(--p-color-background-surface);border:1px solid var(--p-color-border-default);border-radius:4px;font-family:inherit;font-size:11px;font-weight:600;color:var(--p-color-foreground-default);box-shadow:0 1px 2px #0000000d}.shortcut-item span{font-size:12px;color:var(--p-color-foreground-muted)}.duplicate-customer-warning{margin-top:8px;padding:10px 12px;background:#fef3c7;border:1px solid #F59E0B;border-radius:6px;animation:fadeIn .2s ease}.duplicate-customer-warning.hidden{display:none}.duplicate-warning-content{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.duplicate-warning-content svg{flex-shrink:0;color:#d97706}.duplicate-warning-text{flex:1;font-size:13px;color:#92400e;line-height:1.4}.duplicate-warning-use-btn{padding:6px 12px;background:#f59e0b;border:none;border-radius:4px;font-size:12px;font-weight:500;color:#fff;cursor:pointer;transition:background .15s ease}.duplicate-warning-use-btn:hover{background:#d97706}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.toast-container{position:fixed;bottom:24px;right:24px;z-index:10000;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--p-color-background-surface);border-radius:var(--p-border-radius-medium);box-shadow:0 8px 32px #00000029;border:1px solid var(--p-color-border-default);min-width:320px;max-width:420px;pointer-events:auto;animation:toastSlideIn .3s ease-out}.toast.toast-exit{animation:toastSlideOut .2s ease-in forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.toast-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.toast-icon svg{width:20px;height:20px}.toast-content{flex:1;min-width:0}.toast-title{font-weight:600;font-size:14px;color:var(--p-color-foreground-default);margin-bottom:2px}.toast-message{font-size:13px;color:var(--p-color-foreground-muted);line-height:1.4}.toast-actions{display:flex;gap:8px;margin-top:10px}.toast-action-btn{padding:6px 12px;font-size:12px;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:background .15s ease}.toast-action-btn.primary{background:var(--badge-primary);color:#fff}.toast-action-btn.primary:hover{background:#1a5dc8}.toast-action-btn.secondary{background:var(--p-color-background-shading);color:var(--p-color-foreground-default)}.toast-action-btn.secondary:hover{background:#dfe1e5}.toast-close{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--p-color-foreground-subtle);cursor:pointer;border-radius:4px;transition:background .15s ease,color .15s ease}.toast-close:hover{background:var(--p-color-background-shading);color:var(--p-color-foreground-default)}.toast.toast-success .toast-icon{color:var(--badge-success)}.toast.toast-error .toast-icon{color:var(--badge-danger)}.toast.toast-warning .toast-icon{color:#d97706}.toast.toast-info .toast-icon{color:var(--badge-primary)}.toast.toast-undo{background:#1a1a1a;border-color:#333}.toast.toast-undo .toast-title{color:#fff}.toast.toast-undo .toast-message{color:#aaa}.toast.toast-undo .toast-close{color:#888}.toast.toast-undo .toast-close:hover{background:#333;color:#fff}.toast.toast-undo .toast-action-btn.primary{background:#fff;color:#1a1a1a}.toast.toast-undo .toast-action-btn.primary:hover{background:#eee}.toast-progress{position:absolute;bottom:0;left:0;height:3px;background:var(--badge-primary);border-radius:0 0 var(--p-border-radius-medium) var(--p-border-radius-medium);animation:toastProgress linear forwards}@keyframes toastProgress{0%{width:100%}to{width:0%}}@media(max-width:768px){.toast-container{bottom:16px;right:16px;left:16px}.toast{min-width:auto;max-width:none}}.snow-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.snowflake{position:absolute;top:-10px;color:#fff;font-size:1em;text-shadow:0 0 5px rgba(255,255,255,.8);animation:fall linear infinite,sway ease-in-out infinite;opacity:.8}@keyframes fall{0%{transform:translateY(-10px) rotate(0)}to{transform:translateY(100vh) rotate(360deg)}}@keyframes sway{0%,to{margin-left:0}25%{margin-left:50px}50%{margin-left:-20px}75%{margin-left:30px}}.snowflake:nth-child(5n){font-size:.8em;opacity:.6;animation-duration:12s,3s}.snowflake:nth-child(5n+1){font-size:1.2em;opacity:.9;animation-duration:10s,4s}.snowflake:nth-child(5n+2){font-size:.6em;opacity:.5;animation-duration:15s,2.5s}.snowflake:nth-child(5n+3){font-size:1em;opacity:.7;animation-duration:11s,3.5s}.snowflake:nth-child(5n+4){font-size:.9em;opacity:.8;animation-duration:13s,2.8s}
