*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{color:#111827;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:#fafafa;font-family:Outfit,-apple-system,sans-serif;font-size:15px;font-weight:300;line-height:1.5}#app{height:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:.4s ease-out both slideUp}.animate-delay-1{animation-delay:50ms}.animate-delay-2{animation-delay:.1s}.animate-delay-3{animation-delay:.15s}@keyframes rowFlash{0%{background:#fff6d5}to{background:0 0}}@keyframes pulseGreen{0%,to{opacity:1}50%{opacity:.5}}.btn{cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;font-family:Outfit,sans-serif;font-weight:400;line-height:1;transition:all .15s;display:inline-flex}.btn-primary{composes:btn;color:#fff;background:#000;border-radius:10px;padding:10px 20px;font-size:14px}.btn-primary:hover{background:#1f2937}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.35;cursor:not-allowed}.btn-primary svg{width:16px;height:16px}.btn-primary-full{color:#fff;cursor:pointer;background:#000;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:13px 20px;font-family:Outfit,sans-serif;font-size:15px;font-weight:400;transition:all .15s;display:flex}.btn-primary-full:hover{background:#1f2937}.btn-primary-full:active{transform:scale(.98)}.btn-primary-full:disabled{opacity:.35;cursor:not-allowed}.btn-compact{color:#fff;cursor:pointer;white-space:nowrap;background:#000;border:none;border-radius:8px;align-items:center;gap:5px;padding:7px 16px;font-family:Outfit,sans-serif;font-size:13px;font-weight:400;transition:all .15s;display:inline-flex}.btn-compact:hover{background:#1f2937}.btn-compact:active{transform:scale(.96)}.btn-outline{color:#374151;cursor:pointer;background:0 0;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:5px;padding:7px 14px;font-family:Outfit,sans-serif;font-size:13px;font-weight:300;transition:all .15s;display:inline-flex}.btn-outline:hover{color:#000;border-color:#000}.btn-ghost{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:5px;padding:6px 10px;font-family:Outfit,sans-serif;font-size:13px;font-weight:400;transition:all .15s;display:inline-flex}.btn-ghost:hover{color:#000;background:#0000000a}.btn-danger-full{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 20px;font-family:Outfit,sans-serif;font-size:14px;font-weight:400;transition:background .15s;display:flex}.btn-danger-full:hover{background:#b91c1c}.btn-icon{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;padding:6px;transition:all .15s;display:flex}.btn-icon:hover{color:#374151;background:#f3f4f6}.btn-icon svg{width:18px;height:18px}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login-container{width:100%;max-width:384px}.login-brand{text-align:center;margin-bottom:48px;animation:.4s ease-out both slideUp}.login-heading{margin-top:20px}.login-card{background:#fff;border:1px solid #f3f4f6;border-radius:16px;padding:28px;animation:.4s ease-out .1s both slideUp;box-shadow:0 1px 3px #0000000a}.login-card-inner{flex-direction:column;gap:20px;display:flex}.login-footer-text{text-align:center;margin-top:28px;animation:.4s ease-out .15s both slideUp}.login-back-btn{text-align:center;margin-top:8px}.form-label{text-transform:uppercase;letter-spacing:.1em;color:#9ca3af;margin-bottom:8px;font-size:.7rem;font-weight:400;display:block}.req{color:#dc2626}.form-input{color:#111827;background:#f9fafb;border:1px solid #f3f4f6;border-radius:10px;outline:none;width:100%;padding:11px 14px;font-family:Outfit,sans-serif;font-size:14px;font-weight:300;transition:border-color .15s,background .15s}.form-input:focus{background:#fff;border-color:#d1d5db}.form-input::placeholder{color:#d1d5db}.form-textarea{resize:none;min-height:60px}.form-input-sm{border-radius:8px;padding:8px 12px;font-size:13px}.form-select{color:#111827;cursor:pointer;appearance:none;background:#f9fafb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpolyline points='6,9 12,15 18,9'%3E%3C/polyline%3E%3C/svg%3E") right 10px center no-repeat;border:1px solid #f3f4f6;border-radius:10px;outline:none;width:100%;padding:11px 32px 11px 14px;font-family:Outfit,sans-serif;font-size:14px;font-weight:300;transition:border-color .15s}.form-select:focus{background-color:#fff;border-color:#d1d5db}.form-select-sm{border-radius:8px;padding:8px 28px 8px 12px;font-size:13px}.form-group{flex-direction:column;margin-bottom:14px;display:flex}.form-group:last-child{margin-bottom:0}.form-row-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.phone-input-row{background:#f9fafb;border:1px solid #f3f4f6;border-radius:10px;align-items:center;transition:border-color .15s;display:flex;overflow:hidden}.phone-input-row:focus-within{background:#fff;border-color:#d1d5db}.phone-prefix{color:#6b7280;border-right:1px solid #f3f4f6;align-items:center;height:46px;padding:0 14px;font-size:15px;font-weight:400;display:flex}.phone-input{color:#111827;background:0 0;border:none;outline:none;flex:1;padding:11px 14px;font-family:Outfit,sans-serif;font-size:16px;font-weight:300}.phone-input::placeholder{color:#d1d5db}.otp-row{justify-content:center;gap:8px;display:flex}.otp-input{text-align:center;color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:10px;outline:none;width:46px;height:54px;font-family:Outfit,sans-serif;font-size:22px;font-weight:600;transition:border-color .15s}.otp-input:focus{border-color:#000;box-shadow:0 0 0 2px #0000000f}.shell{height:100vh;padding:16px;display:flex;overflow:hidden}.sidebar{-webkit-backdrop-filter:blur(20px)saturate(180%);background:#ffffffd1;border:1px solid #ffffff80;border-radius:16px;flex-direction:column;width:232px;min-width:232px;margin-right:16px;display:flex;box-shadow:0 4px 6px -1px #0000000d}.sidebar-header{text-align:center;padding:24px 20px 16px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:8px 12px;display:flex}.sidebar-divider{background:#0000000d;height:1px;margin:8px 4px}.nav-item{color:#3d3d3d;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:400;text-decoration:none;transition:background .15s;display:flex}.nav-item svg{stroke:currentColor;fill:none;stroke-width:1.5px;opacity:.6;flex-shrink:0;width:18px;height:18px}.nav-item:hover{background:#0000000a}.nav-item.active{color:#000;background:#0000000f;font-weight:500}.nav-item.active svg{opacity:1}.sidebar-footer{border-top:1px solid #0000000a;padding:12px}.station-switcher{border-bottom:1px solid #0000000a;margin-bottom:8px;padding:4px 6px 12px}.station-switcher-label{text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;margin-bottom:6px;font-size:10px;font-weight:500;display:block}.station-switcher-select{color:#111827;cursor:pointer;background:#fff;border:1px solid #00000014;border-radius:8px;width:100%;padding:7px 9px;font-size:12px;font-weight:500;transition:border-color .15s}.station-switcher-select:hover:not(:disabled){border-color:#0003}.station-switcher-select:focus{border-color:#000;outline:none}.station-switcher-select:disabled{opacity:.6;cursor:wait}.user-card{align-items:center;gap:10px;padding:6px;display:flex}.user-avatar{color:#fff;background:#000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:600;display:flex}.user-info{flex:1;min-width:0}.user-name{color:#111827;font-size:13px;font-weight:500}.user-role{color:#9ca3af;font-size:11px;font-weight:300}.main-content{border-radius:16px;flex:1;overflow:hidden auto}.page-wrapper{max-width:1100px;padding:24px 28px}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.oversikt-page{flex-direction:column;height:100%;display:flex}.oversikt-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px 14px;display:flex}.oversikt-header-left{align-items:center;gap:14px;display:flex}.oversikt-title{color:#000;letter-spacing:-.02em;font-size:20px;font-weight:600}.available-count{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:20px;align-items:center;gap:6px;padding:4px 12px 4px 10px;font-size:13px;font-weight:400;display:inline-flex}.count-dot{background:#22c55e;border-radius:50%;width:7px;height:7px;animation:2s infinite pulseGreen}.oversikt-filters{align-items:center;gap:8px;display:flex}.oversikt-filters .form-input-sm,.oversikt-filters .form-select-sm{width:auto;min-width:0}.oversikt-filters .form-input-sm{width:160px}.view-tabs{border-bottom:1px solid #f3f4f6;gap:4px;padding:0 24px;display:flex}.view-tab{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 18px;font-family:Outfit,sans-serif;font-size:14px;font-weight:400;transition:all .15s;display:flex}.view-tab svg{stroke:currentColor;fill:none;stroke-width:1.5px;width:16px;height:16px}.view-tab:hover{color:#374151}.view-tab.active{color:#000;border-bottom-color:#000;font-weight:500}.view-panel{flex:1;min-height:0;display:none}.view-panel.active{flex-direction:column;display:flex}.map-wrapper{flex:1;position:relative}.map-container{z-index:1;width:100%;height:100%;min-height:500px}.map-loader{z-index:1000;-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;background:#ffffffeb;flex-direction:column;justify-content:center;align-items:center;gap:14px;transition:opacity .35s,transform .35s;display:flex;position:absolute;inset:0;transform:scale(1.02)}.map-loader.visible{opacity:1;pointer-events:auto;transform:scale(1)}.map-loader.hidden{opacity:0;pointer-events:none;transform:scale(1.02)}.map-loader-text{color:#6b7280;letter-spacing:.01em;font-family:Outfit,sans-serif;font-size:13px;font-weight:400}.tire-cell{align-items:center;gap:6px;display:inline-flex}.tire-icon{color:#6b7280;flex-shrink:0;width:16px;height:16px}.table-view-inner{flex:1;padding:16px 24px;overflow-y:auto}.card{background:#fff;border:1px solid #f3f4f6;border-radius:16px;overflow:hidden}.card-header{border-bottom:1px solid #f9fafb;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.card-title{color:#111827;font-size:14px;font-weight:500}.card-actions{align-items:center;gap:8px;display:flex}.card-footer{border-top:1px solid #f9fafb;padding:14px 20px}.table-wrapper{overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:#9ca3af;white-space:nowrap;border-bottom:1px solid #f3f4f6;padding:10px 14px;font-size:.68rem;font-weight:400}.data-table td{vertical-align:middle;color:#374151;padding:12px 14px;font-size:13px;font-weight:300}.data-table tbody tr{border-bottom:1px solid #f9fafb;transition:background .15s}.data-table tbody tr:hover{background:#fafafa}.table-empty{text-align:center;color:#d1d5db;padding:48px 20px!important}.row-highlight{outline-offset:-2px;outline:2px solid #000;animation:2s rowFlash}.car-cell{align-items:center;gap:10px;display:flex}.car-reg-badge{color:#000;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#f3f4f6;border-radius:5px;padding:4px 8px;font-family:Outfit,sans-serif;font-size:11px;font-weight:600}.cell-main{color:#111827;font-size:13px;font-weight:500}.cell-sub{color:#9ca3af;margin-top:1px;font-size:11px;font-weight:300}.group-badge{color:#111827;background:#f3f4f6;border-radius:7px;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:600;display:inline-flex}.status-ledig{color:#16a34a;align-items:center;gap:5px;font-size:12px;font-weight:400;display:inline-flex}.ledig-dot{background:#22c55e;border-radius:50%;width:6px;height:6px}.cell-price{color:#111827;font-size:13px;font-weight:500}.cell-light{color:#6b7280;font-size:13px}.booking-drawer{z-index:1000;pointer-events:none;opacity:0;transition:opacity .25s;position:fixed;inset:0}.booking-drawer.open{pointer-events:auto;opacity:1}.drawer-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000026;position:absolute;inset:0}.drawer-panel{background:#fff;flex-direction:column;width:400px;transition:transform .3s cubic-bezier(.32,.72,0,1);display:flex;position:absolute;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-8px 0 32px #0000001a}.booking-drawer.open .drawer-panel{transform:translate(0)}.drawer-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.drawer-title{color:#111827;font-size:15px;font-weight:500}.drawer-body{flex:1;overflow-y:auto}.drawer-car-summary{background:#f9fafb;border-bottom:1px solid #f3f4f6;padding:20px 24px}.drawer-car-header{align-items:center;gap:12px;display:flex}.drawer-car-info .cell-main{font-size:15px}.drawer-form{padding:20px 24px}.drawer-form-divider{background:#f3f4f6;height:1px;margin:6px 0 18px}.drawer-footer{background:#fff;border-top:1px solid #f3f4f6;padding:16px 24px}.section-label{align-items:center;gap:8px;margin:24px 0 10px;padding:0 2px;display:flex}.section-label:first-child{margin-top:0}.section-label-text{text-transform:uppercase;letter-spacing:.08em;color:#9ca3af;font-size:11px;font-weight:500}.section-count{color:#00000073;background:#0000000f;border-radius:9999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:600;display:flex}.booking-card{background:#fff;border:1px solid #f3f4f6;border-radius:14px;margin-bottom:10px;transition:transform .2s,box-shadow .2s;overflow:hidden}.booking-card:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0000000f}.booking-card-pending{background:linear-gradient(135deg,#fffbf0 0%,#fff 100%);border-color:#fef3c7}.booking-card-returning{background:linear-gradient(135deg,#f0f7ff 0%,#fff 100%)}.booking-card-top{justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.booking-card-car{align-items:center;gap:10px;display:flex}.booking-card-tag{border-radius:6px;padding:3px 10px;font-size:11px;font-weight:500}.tag-pending{color:#92400e;background:#fef3c7}.tag-active{color:#059669;background:#ecfdf5}.tag-returning{color:#2563eb;background:#eff6ff}.booking-card-details{padding:0 18px 10px}.detail-row{border-bottom:1px solid #00000006;justify-content:space-between;align-items:center;padding:5px 0;display:flex}.detail-row:last-child{border-bottom:none}.detail-label{color:#9ca3af;font-size:12px;font-weight:300}.detail-value{color:#111827;font-size:13px;font-weight:400}.detail-value-bold{font-weight:500}.booking-card-checklist{background:#fafafa;border-top:1px solid #f5f5f5;gap:20px;padding:10px 18px;display:flex}.check-item{align-items:center;gap:5px;font-size:12px;display:flex}.check-icon{flex-shrink:0;width:16px;height:16px}.check-done{color:#16a34a;font-weight:400}.check-pending{color:#d97706;font-weight:400}.check-neutral{color:#9ca3af;font-weight:300}.booking-card-actions{padding:10px 18px}.booking-card-footer{color:#d1d5db;border-top:1px solid #f5f5f5;padding:8px 18px;font-size:11px;font-weight:300}.email-layout{grid-template-columns:320px 1fr;align-items:flex-start;gap:20px;display:grid}.email-list-item{cursor:pointer;align-items:center;gap:12px;padding:14px 16px;transition:background .15s;display:flex}.email-list-item:hover{background:#f9fafb}.email-list-item+.email-list-item{border-top:1px solid #f9fafb}.email-list-item-active{border-left:2px solid #000;background:#f9fafb!important}.email-list-item-main{flex:1}.email-item-name{color:#111827;font-size:14px;font-weight:500}.email-item-desc{color:#9ca3af;margin-top:2px;font-size:12px;font-weight:300}.email-item-meta{color:#d1d5db;margin-top:3px;font-size:11px;font-weight:300}.email-tag{border-radius:5px;padding:2px 8px;font-size:11px;font-weight:400}.email-tag-active{color:#059669;background:#ecfdf5}.email-tag-inactive{color:#9ca3af;background:#f3f4f6}.email-empty-state{text-align:center;color:#d1d5db;padding:60px 20px}.email-empty-icon{opacity:.3;margin-bottom:12px}.template-preview{padding:0 20px 20px}.template-meta-row{align-items:center;gap:10px;padding:6px 0;display:flex}.template-meta-label{text-transform:uppercase;letter-spacing:.08em;color:#9ca3af;min-width:50px;font-size:.68rem;font-weight:400}.template-meta-value{color:#374151;font-size:13px;font-weight:300}.template-divider{background:#f3f4f6;height:1px;margin:10px 0 16px}.email-preview-frame{border:1px solid #f3f4f6;border-radius:10px;overflow:hidden}.email-preview-header{background:#000;align-items:center;gap:12px;padding:16px 22px;display:flex}.email-preview-logo{color:#fff;letter-spacing:-.02em;font-size:15px;font-weight:600}.email-preview-company{color:#ffffff80;font-size:13px;font-weight:300}.email-preview-content{color:#374151;padding:24px 22px;font-size:14px;font-weight:300;line-height:1.7}.email-preview-footer{color:#d1d5db;text-align:center;background:#f9fafb;border-top:1px solid #f3f4f6;padding:12px 22px;font-size:11px;font-weight:300}.template-var{color:#92400e;background:#fffbeb;border-radius:4px;padding:1px 6px;font-size:12px;font-weight:400}.form-section{padding:20px}.form-hint{color:#d1d5db;margin-top:12px;font-size:12px;font-weight:300}.form-hint code{color:#6b7280;background:#f3f4f6;border-radius:3px;padding:1px 5px;font-size:11px;font-weight:400}.custom-marker{background:0 0!important;border:none!important}.marker-pin{border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s;display:flex;box-shadow:0 2px 8px #0003}.marker-pin:hover{transform:scale(1.12)}.marker-count{color:#fff;font-family:Outfit,sans-serif;font-size:14px;font-weight:700}.leaflet-tooltip{color:#fff;background:#111827;border:none;border-radius:6px;padding:5px 9px;font-family:Outfit,sans-serif;font-size:12px;font-weight:500;box-shadow:0 4px 12px #00000026}.leaflet-tooltip-top:before{border-top-color:#111827}.map-popup{font-family:Outfit,sans-serif;font-size:13px;font-weight:300;line-height:1.5}.popup-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:8px;display:flex}.popup-header strong{font-size:14px;font-weight:500}.popup-count{color:#16a34a;background:#f0fdf4;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:400}.popup-car{border-bottom:1px solid #f9fafb;align-items:center;gap:8px;padding:7px 0;display:flex}.popup-car:last-child{border-bottom:none}.popup-car-reg{letter-spacing:.03em;background:#f3f4f6;border-radius:3px;flex-shrink:0;padding:2px 5px;font-size:10px;font-weight:600}.popup-car-name{color:#111827;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.popup-car .tire-cell{flex-shrink:0}.popup-book-btn{cursor:pointer;color:#fff;background:#000;border:none;border-radius:6px;flex-shrink:0;padding:4px 10px;font-family:Outfit,sans-serif;font-size:11px;font-weight:500;transition:all .15s}.popup-book-btn:hover{background:#1f2937}.leaflet-control-zoom{overflow:hidden;border:none!important;border-radius:8px!important;box-shadow:0 1px 3px #00000014!important}.leaflet-control-zoom a{color:#374151!important;background:#fff!important;border:none!important;border-bottom:1px solid #f3f4f6!important;width:32px!important;height:32px!important;font-size:15px!important;line-height:32px!important}.leaflet-control-zoom a:last-child{border-bottom:none!important}.leaflet-control-zoom a:hover{background:#f9fafb!important}.leaflet-popup-content-wrapper{border:1px solid #f3f4f6!important;border-radius:10px!important;box-shadow:0 4px 16px #0000001a!important}.leaflet-popup-content{margin:12px 14px!important;font-family:Outfit,sans-serif!important}.leaflet-popup-tip{display:none}.empty-state{text-align:center;color:#d1d5db;padding:48px 20px;font-weight:300}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#d1d5db}@media (width<=1200px){.email-layout{grid-template-columns:1fr}.oversikt-filters{flex-wrap:wrap}}@media (width<=768px){.shell{padding:0}.sidebar{display:none}.drawer-panel{width:100%}}
