.App{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Montserrat,sans-serif;min-height:100vh}.input-group{margin-bottom:1rem}.error-message,.success-message{margin:1rem 0}@media (max-width:768px){.button{width:100%}}.landing-page{background:#25377f;justify-content:center;min-height:100vh;padding:2rem;position:relative}.beheer-button,.landing-page{align-items:center;display:flex}.beheer-button{background:#fff;border:2px solid #e0e0e0;border-radius:10px;box-shadow:0 4px 12px #0000001a;cursor:pointer;gap:.5rem;padding:.75rem 1rem;position:absolute;right:2rem;top:2rem;transition:all .3s ease}.beheer-button:hover{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-color:#25377f;box-shadow:0 6px 20px #00000026;transform:translateY(-2px)}.beheer-icon{font-size:1rem}.beheer-text{color:#25377f;font-size:.9rem;font-weight:600}.landing-container{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:600px;padding:3rem;text-align:center;width:100%}.bike-image-container{margin-bottom:3rem}.bike-icon{animation:bounce 2s infinite;font-size:4rem;margin-bottom:1rem}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.bike-image-container h1{color:#25377f;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.bike-image-container p{color:#25377f;font-size:1.2rem;margin:0}.options-container{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.option-button{background:#fff;border:2px solid #e0e0e0;border-radius:15px;cursor:pointer;overflow:hidden;padding:2rem;position:relative;text-align:left;transition:all .3s ease}.option-button:hover{box-shadow:0 10px 25px #00000026;transform:translateY(-5px)}.option-button.new-reservation:hover{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#25377f}.option-button.edit-reservation:hover{background:linear-gradient(135deg,#f3e5f5,#e8eaf6);border-color:#25377f}.option-button.admin-panel:hover{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-color:#25377f}.button-icon{display:block;font-size:2rem;margin-bottom:1rem}.button-text{color:#25377f;display:block;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.button-description{color:#25377f;display:block;font-size:1rem;line-height:1.4}.footer-info{color:#25377f;font-size:.9rem}.footer-info p{margin:0}@media (max-width:768px){.landing-container{margin:1rem;padding:2rem}.bike-image-container h1{font-size:2rem}.option-button{padding:1.5rem}.button-text{font-size:1.3rem}}.new-reservation-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;padding:2rem}.new-reservation-container{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000001a;margin:0 auto;max-width:800px;overflow:hidden}.reservation-form{padding:2rem}.form-section{margin-bottom:2rem}.form-section h3{align-items:center;border-bottom:2px solid #e2e8f0;color:#25377f;display:flex;font-size:1.3rem;gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem}.form-row{grid-gap:1.5rem;gap:1.5rem;margin-bottom:1.5rem}.input-group input:disabled,.input-group select:disabled{background-color:#f7fafc;color:#a0aec0;cursor:not-allowed;opacity:.7}.help-text{color:#6b7280;font-size:.8rem;font-style:italic;margin-top:.25rem}.privacy-notice{background-color:#f7fafc;border-left:3px solid #25377f;border-radius:4px;margin-top:1.5rem;padding:1rem}.privacy-notice small{color:#4a5568;font-size:.85rem;line-height:1.5}.privacy-notice a{color:#25377f;font-weight:600;text-decoration:underline;transition:color .3s ease}.privacy-notice a:hover{color:#1a2759}.form-actions{border-top:1px solid #e2e8f0;gap:1rem;margin-top:2rem;padding-top:2rem}.available-times{background:#f7fafc;border:1px solid #e2e8f0;border-radius:10px;margin:2rem;padding:1.5rem}.available-times h4{color:#2d3748;font-size:1.2rem;margin:0 0 1rem}.available-times p{color:#4a5568;font-size:.9rem;margin:0 0 1rem}.time-slots{display:flex;flex-wrap:wrap;gap:.5rem}.time-slot{border-radius:20px;font-size:.9rem;font-weight:500;padding:.5rem 1rem}.time-slot.available{background:#c6f6d5;border:1px solid #9ae6b4;color:#22543d}.time-slot.unavailable{background:#fed7d7;border:1px solid #feb2b2;color:#742a2a}.time-legend{border-top:1px solid #e2e8f0;display:flex;gap:1.5rem;justify-content:center;margin-top:1rem;padding-top:1rem}.legend-item{align-items:center;color:#4a5568;display:flex;font-size:.9rem;gap:.5rem}.legend-dot{border:1px solid;border-radius:50%;height:12px;width:12px}.legend-dot.available{background:#c6f6d5;border-color:#9ae6b4}.legend-dot.unavailable{background:#fed7d7;border-color:#feb2b2}.no-time-slots{background:#fef5e7;border:1px solid #f6e05e;margin:1rem 2rem;padding:2rem;text-align:center}.no-time-slots p{color:#d69e2e;font-weight:500}.no-time-slots ul{margin:1rem auto;max-width:400px}.no-time-slots li{color:#d69e2e;font-weight:400;margin:.5rem 0}.loading-time-slots{background:#e0f2fe;border:1px solid #90cdf4;margin:1rem 2rem;padding:2rem}.loading-time-slots p{color:#2a4365;font-weight:500;margin:0}@media (max-width:768px){.new-reservation-page{padding:1rem}.header{padding:1.5rem}.header h1{font-size:2rem}.back-button{align-self:flex-start;margin-bottom:1rem;position:static;transform:none}.form-row{gap:1rem;grid-template-columns:1fr}.form-actions{flex-direction:column}.button{width:100%}}.edit-reservation-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;padding:2rem}.edit-reservation-container{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000001a;margin:0 auto;max-width:900px;overflow:hidden}.header{background:#25377f;color:#fff;padding:2rem;position:relative;text-align:center}.back-button{background:#fff3;border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:.9rem;left:2rem;padding:.5rem 1rem;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease}.back-button:hover{background:#ffffff4d}.header h1{font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.header p{font-size:1.1rem;margin:0;opacity:.9}.error-message,.success-message{border-radius:8px;font-weight:500;margin:1rem 2rem;padding:1rem}.error-message{background:#fee;border:1px solid #fed7d7;color:#c53030}.success-message{background:#f0fff4;border:1px solid #c6f6d5;color:#2f855a}.search-section{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:2rem}.search-form{margin:0 auto;max-width:600px}.search-input-group{display:flex;flex-direction:column}.search-input-group label{color:#25377f;font-size:1rem;font-weight:600;margin-bottom:.5rem}.search-input-row{align-items:flex-end;display:flex;gap:1rem}.search-input-row input{border:2px solid #e2e8f0;border-radius:8px;flex:1 1;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.search-input-row input:focus{border-color:#25377f;box-shadow:0 0 0 3px #25377f1a;outline:none}.button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;min-width:120px;padding:.75rem 2rem;transition:all .3s ease}.button.primary{background:#25377f;color:#fff}.button.primary:hover:not(:disabled){background:#1a2759;box-shadow:0 5px 15px #25377f66;transform:translateY(-2px)}.button.secondary{background:#e2e8f0;color:#4a5568}.button.secondary:hover:not(:disabled){background:#cbd5e0}.button.warning{background:#ffc107;color:#212529;font-weight:500}.button.warning:hover:not(:disabled){background:#e0a800;box-shadow:0 5px 15px #ffc10766;transform:translateY(-2px)}.button.danger{background:#e53e3e;color:#fff}.button.danger:hover:not(:disabled){background:#c53030;box-shadow:0 5px 15px #e53e3e66;transform:translateY(-2px)}.button:disabled{cursor:not-allowed;opacity:.6;transform:none}.reservations-section{padding:2rem}.reservations-section h3{border-bottom:2px solid #e2e8f0;color:#25377f;font-size:1.5rem;margin:0 0 2rem;padding-bottom:.5rem}.reservations-list{display:flex;flex-direction:column;gap:1.5rem}.reservation-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;transition:all .3s ease}.reservation-card:hover{box-shadow:0 5px 15px #0000001a;transform:translateY(-2px)}.reservation-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.reservation-header h4{color:#25377f;font-size:1.2rem;margin:0}.status-badge{border-radius:20px;font-size:.8rem;font-weight:600;padding:.5rem 1rem;text-transform:uppercase}.status-pending{background:#fef5e7;border:1px solid #f6e05e;color:#d69e2e}.status-confirmed{background:#c6f6d5;border:1px solid #9ae6b4;color:#22543d}.status-completed{background:#bee3f8;border:1px solid #90cdf4;color:#2a4365}.status-cancelled,.status-no-show{background:#fed7d7;border:1px solid #feb2b2;color:#742a2a}.reservation-details{margin-bottom:1.5rem}.detail-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:.5rem 0}.detail-row:last-child{border-bottom:none}.detail-label{color:#25377f;font-weight:600;min-width:120px}.detail-value{color:#25377f;flex:1 1;text-align:right}.cancellation-reason{background:#fed7d7;border-left:3px solid #e53e3e;border-radius:4px;color:#e53e3e;font-style:italic;padding:4px 8px}.reservation-actions{align-items:center;border-top:1px solid #e2e8f0;justify-content:space-between;padding-top:1rem}.action-row{align-items:center;display:flex;gap:1rem}.action-row label{color:#4a5568;font-size:.9rem;font-weight:600}.action-row select{border:1px solid #e2e8f0;border-radius:6px;font-size:.9rem;padding:.5rem}.action-buttons{display:flex;gap:1rem}.edit-form{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-top:1.5rem;padding:1.5rem}.edit-form h5{color:#2d3748;font-size:1.1rem;margin:0 0 1rem}.edit-inputs{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.edit-inputs .input-group:last-child{grid-column:1/-1}.input-group{display:flex;flex-direction:column}.input-group label{color:#25377f;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.input-group input,.input-group select{border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.input-group input:focus,.input-group select:focus{border-color:#25377f;box-shadow:0 0 0 3px #25377f1a;outline:none}.input-group select:disabled{background-color:#f8fafc;cursor:not-allowed;opacity:.6}.loading-time-slots{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;color:#0c4a6e;grid-column:1/-1;padding:1rem;text-align:center}.no-time-slots{background:#fef3c7;border:1px solid #fde68a;border-radius:8px;color:#92400e;grid-column:1/-1;padding:1rem}.no-time-slots p{margin:.5rem 0}.no-time-slots ul{margin:.5rem 0;padding-left:1.5rem;text-align:left}.edit-actions{display:flex;gap:1rem;justify-content:flex-end}.no-reservations{color:#4a5568;padding:3rem 2rem;text-align:center}.no-reservations p{font-size:1.1rem;margin:.5rem 0}@media (max-width:768px){.edit-reservation-page{padding:1rem}.header{padding:1.5rem}.header h1{font-size:2rem}.back-button{align-self:flex-start;margin-bottom:1rem;position:static;transform:none}.search-input-row{align-items:stretch;flex-direction:column}.reservation-header{gap:1rem}.detail-row,.reservation-header{align-items:flex-start;flex-direction:column}.detail-row{gap:.5rem}.detail-value{text-align:left}.reservation-actions{align-items:stretch;flex-direction:column;gap:1rem}.action-row{justify-content:space-between}.action-buttons{justify-content:stretch}.action-buttons .button{flex:1 1}.edit-inputs{grid-template-columns:1fr}.edit-actions{flex-direction:column}}.modal-content{box-shadow:0 20px 40px #0000004d}.modal-header{align-items:center}.modal-header h3{color:#374151}.modal-close{padding:4px;transition:all .2s}textarea{border:1px solid #d1d5db;border-radius:4px;font-family:inherit;font-size:.875rem;min-height:80px;padding:8px 12px;resize:vertical;transition:border-color .15s ease;width:100%}textarea:focus{border-color:#25377f;box-shadow:0 0 0 3px #25377f1a;outline:none}.admin-panel{background:linear-gradient(135deg,#a8b2d1,#b8c5d1);min-height:100vh;padding:20px}.admin-container{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a;margin:0 auto;max-width:1200px;overflow:hidden}.admin-header{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;justify-content:space-between;padding:30px}.admin-header,.header-left{align-items:center;display:flex}.header-left{gap:20px}.location-info h1{font-size:2.5rem;font-weight:600;margin:0}.selected-location{font-size:1.1rem;font-weight:400;margin:4px 0 0;opacity:.9}.user-info{align-items:center;display:flex;gap:20px}.user-info span{font-size:1.1rem}.logout-btn{background:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:10px 20px;transition:background-color .3s}.logout-btn:hover{background:#c0392b}.location-selector-container .logout-btn{background:#0000;border:1px solid #324559;border-radius:6px;color:#324559;cursor:pointer;font-size:.85rem;font-weight:500;padding:8px 16px;position:absolute;right:20px;top:20px;transition:all .2s ease;z-index:10}.location-selector-container .logout-btn:hover{background:#324559;box-shadow:0 2px 4px #3245594d;color:#fff;transform:translateY(-1px)}.admin-tabs{background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;color:#6c757d;cursor:pointer;flex:1 1;font-size:1.1rem;font-weight:500;padding:20px;transition:all .3s}.tab-button:hover{background:#e9ecef;color:#495057}.tab-button.active{background:#fff;border-bottom-color:#324559;color:#324559}.tab-content{padding:30px}.tab-content h2{color:#324559;font-size:1.8rem;margin-bottom:25px;margin-top:0}.reservations-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:25px}.reservations-filters{align-items:flex-end;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:30px;padding:20px}.filter-input{background-color:#fff;border:1px solid #ddd;border-radius:4px;font-size:14px;min-width:250px;padding:8px 12px;transition:border-color .15s ease}.filter-input:focus{border-color:#324559;box-shadow:0 0 0 2px #25388033;outline:none}.filter-group-checkbox{align-items:center;display:flex;padding-top:6px}.checkbox-label{align-items:center;color:#495057;cursor:pointer;display:flex;font-weight:500;gap:8px;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{accent-color:#324559;cursor:pointer;height:18px;width:18px}.checkbox-label span{white-space:nowrap}.location-filter{align-items:center;display:flex;gap:10px}.location-filter label{color:#495057;font-weight:500;white-space:nowrap}.bikes-filters{flex-wrap:wrap;gap:20px;margin-bottom:30px}.bikes-filters,.filter-group{align-items:center;display:flex}.filter-group{gap:10px}.filter-group label{color:#495057;font-size:.9rem;font-weight:500;white-space:nowrap}.filter-select{background-color:#fff;border:1px solid #ddd;border-radius:4px;font-size:14px;min-width:150px;padding:8px 12px}.filter-select:focus{border-color:#324559;box-shadow:0 0 0 2px #25388033;outline:none}.location-select{background:#fff;border:1px solid #ced4da;border-radius:4px;cursor:pointer;font-size:.9rem;min-width:200px;padding:8px 12px}.location-select:focus{border-color:#324559;box-shadow:0 0 0 2px #25388033;outline:none}.reservations-list{grid-gap:20px;display:grid;gap:20px}.reservation-item{align-items:flex-start;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;display:flex;gap:20px;justify-content:space-between;padding:20px}.reservation-info h3{color:#2c3e50;font-size:1.3rem;margin:0 0 15px}.reservation-info p{color:#6c757d;margin:8px 0}.reservation-info strong{color:#495057}.reservation-actions{display:flex;flex-direction:column;flex-wrap:wrap;gap:10px;min-width:150px}.reservation-actions select{border:1px solid #ced4da;border-radius:4px;font-size:.9rem;padding:8px 12px}.cancel-btn{background:#ffc107;border:none;border-radius:4px;color:#212529;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .2s}.cancel-btn:hover{background:#e0a800;transform:translateY(-1px)}.delete-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background-color .3s}.delete-btn:hover{background:#c82333}.bikes-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:25px}.bikes-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.bike-card{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 1px 3px #0000001a;overflow:hidden;padding:0;transition:all .2s ease}.bike-card:hover{border-color:#9ca3af;box-shadow:0 4px 6px #0000001a}.bike-card-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e5e7eb;color:#374151;display:flex;justify-content:space-between;padding:16px 20px}.bike-asset-code{color:#324559;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:1.1rem;font-weight:600}.bike-status{border-radius:4px;font-size:.75rem;font-weight:500;letter-spacing:.025em;padding:4px 8px;text-transform:uppercase}.bike-status.available{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.bike-status.maintenance{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.bike-status.retired{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.bike-card-body{padding:16px 20px}.bike-info{display:flex;flex-direction:column;gap:8px}.info-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:6px 0}.info-item:last-child{border-bottom:none}.info-item.notes{align-items:flex-start;flex-direction:column;gap:4px;padding:8px 0}.info-label{color:#6b7280;font-size:.875rem;font-weight:500}.info-value{color:#324559;flex:1 1;font-size:.875rem;font-weight:400;margin-left:12px;text-align:right}.info-item.notes .info-value{color:#6b7280;font-size:.8rem;font-style:normal;line-height:1.4;margin-left:0;text-align:left}.bike-card-actions{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:8px;padding:16px 20px}.action-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;display:flex;flex:1 1;font-size:.8rem;font-weight:500;gap:6px;justify-content:center;min-width:80px;padding:6px 12px;transition:all .15s ease}.action-btn:hover{background:#f3f4f6;border-color:#9ca3af}.action-btn span{font-size:.875rem}.edit-btn{border-color:#324559;color:#324559}.edit-btn:hover{background:#324559;border-color:#324559}.action-btn.delete-btn{border-color:#fee2e2;color:#dc2626}.action-btn.delete-btn:hover{background:#fee2e2;border-color:#fecaca}.loading-state{align-items:center;color:#6c757d;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#324559;height:40px;margin-bottom:20px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.empty-state{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;display:flex;flex-direction:column;grid-column:1/-1;justify-content:center;padding:60px 20px}.empty-icon{font-size:2.5rem;margin-bottom:16px;opacity:.4}.modal-overlay{background:#00000080}.modal-content{box-shadow:0 10px 25px #0003;display:flex;flex-direction:column;margin:0 auto;max-width:500px;overflow:hidden;width:90%}.modal-header{border-bottom:1px solid #e5e7eb;padding:20px}.modal-header h3{color:#111827;font-size:1.25rem;margin:0 0 4px}.modal-subtitle{color:#6b7280;font-size:.875rem;font-weight:400;margin:0}.modal-close{border-radius:4px;color:#6b7280;font-size:1.5rem}.modal-close:hover{background:#f3f4f6;color:#374151}.modal-body{padding:20px;text-align:left!important}.modal-body p{color:#374151;font-size:.95rem;line-height:1.6;margin:.5rem 0;text-align:left!important}.loading-message{align-items:center;background:#f0f7ff;border:1px solid #b3d9ff;border-radius:8px;display:flex;flex-direction:column;justify-content:center;margin-top:20px;padding:20px}.loading-message .loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#324559;height:30px;margin-bottom:12px;width:30px}.loading-message p{color:#2d3748;font-size:.95rem;font-weight:500;margin:0}.modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px}.form-group label{color:#374151;font-size:.875rem;margin-bottom:6px}.required{color:#dc3545;font-weight:700}.form-input,.form-select,.form-textarea{border:1px solid #d1d5db;border-radius:4px;font-size:.875rem;padding:8px 12px;transition:border-color .15s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{box-shadow:0 0 0 3px #2563eb1a}.form-input:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}.btn{border-radius:4px;font-size:.875rem;padding:8px 16px;transition:all .15s ease}.btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.btn-secondary:hover{background:#e5e7eb;border-color:#9ca3af}.settings-tab p{color:#6c757d;margin-bottom:25px}.setting-group{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;margin-bottom:20px;padding:15px}.setting-group label{align-items:center;color:#495057;cursor:pointer;display:flex;font-size:1.1rem;gap:10px}.setting-group input[type=checkbox]{accent-color:#324559;height:18px;width:18px}@media (max-width:768px){.admin-header{gap:20px}.admin-header,.header-left{flex-direction:column;text-align:center}.header-left{gap:15px}.location-info h1{font-size:2rem}.admin-tabs{flex-direction:column}.reservations-filters,.reservations-header{align-items:stretch;flex-direction:column;gap:15px}.filter-input{min-width:auto;width:100%}.location-filter{gap:8px}.bikes-filters,.location-filter{align-items:stretch;flex-direction:column}.bikes-filters{gap:15px}.filter-group{align-items:stretch;flex-direction:column;gap:8px}.filter-select,.location-select{min-width:auto;width:100%}.reservation-item{flex-direction:column;gap:15px}.reservation-actions{min-width:auto;width:100%}.bikes-header{align-items:stretch;flex-direction:column;gap:15px}.bikes-grid{gap:15px;grid-template-columns:1fr}.bike-card-actions{flex-direction:column}.action-btn{min-width:auto;width:100%}.tab-content{padding:20px}}.bike-edit-form{margin:0 auto;max-width:600px;padding:20px}.bike-edit-form .form-group{margin-bottom:20px;width:100%}.bike-edit-form label{color:#2c3e50;display:block;font-size:.9rem;font-weight:600;margin-bottom:8px}.bike-edit-form input,.bike-edit-form select,.bike-edit-form textarea{background-color:#fff;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;padding:12px;transition:border-color .3s,box-shadow .3s;width:100%}.bike-edit-form input:focus,.bike-edit-form select:focus,.bike-edit-form textarea:focus{border-color:#324559;box-shadow:0 0 0 3px #2538801a;outline:none}.bike-edit-form input.error,.bike-edit-form select.error,.bike-edit-form textarea.error{border-color:#e74c3c;box-shadow:0 0 0 3px #e74c3c1a}.bike-edit-form .readonly-field{background-color:#f8f9fa;border-color:#e9ecef;color:#6c757d;cursor:not-allowed}.bike-edit-form .readonly-note{color:#6c757d;display:block;font-size:.8rem;font-style:italic;margin-top:5px}.bike-edit-form .bike-info-section{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:8px;margin-bottom:25px;padding:20px}.bike-edit-form .bike-info-section .info-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:8px 0}.bike-edit-form .bike-info-section .info-item:last-child{border-bottom:none}.bike-edit-form .bike-info-section .info-label{color:#2c3e50;font-size:.95rem;font-weight:700;min-width:100px}.bike-edit-form .bike-info-section .info-value{color:#495057;flex:1 1;font-size:.95rem;font-weight:600;margin-left:15px;text-align:right}.bike-edit-form textarea{font-family:inherit;min-height:80px;resize:vertical}.bike-edit-form .error-message{color:#e74c3c;display:block;font-size:.85rem;font-weight:500;margin-top:5px}.bike-edit-form .submit-error{background-color:#fdf2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;margin-bottom:20px;padding:12px;text-align:center}.bike-edit-form .form-actions{border-top:1px solid #e1e8ed;display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px}.bike-edit-form .btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;min-width:100px;padding:12px 24px;transition:all .3s}.bike-edit-form .btn:disabled{cursor:not-allowed;opacity:.6}.bike-edit-form .btn-primary{background:linear-gradient(135deg,#324559,#324559);color:#fff}.bike-edit-form .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#324559,#324559);box-shadow:0 4px 12px #324559;transform:translateY(-1px)}.bike-edit-form .btn-secondary{background:#95a5a6;color:#fff}.bike-edit-form .btn-secondary:hover:not(:disabled){background:#7f8c8d;box-shadow:0 4px 12px #95a5a64d;transform:translateY(-1px)}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;width:100%}.modal-header{align-items:flex-start;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;margin-bottom:0;padding:20px 20px 0}.modal-header h3{color:#324559;font-size:1.5rem;font-weight:600;margin:0}.modal-subtitle{color:#7f8c8d;font-size:.9rem;margin:4px 0 0}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#95a5a6;cursor:pointer;display:flex;font-size:2rem;height:30px;justify-content:center;padding:0;transition:all .3s;width:30px}.modal-close:hover{background-color:#ecf0f1;color:#e74c3c}@media (max-width:768px){.bike-edit-form .form-actions{flex-direction:column}.bike-edit-form .btn{width:100%}.modal-content{margin:10px;max-height:calc(100vh - 20px);max-width:none;width:calc(100% - 20px)}.bike-edit-form .bike-info-section .info-item{align-items:flex-start;flex-direction:column;gap:5px}.bike-edit-form .bike-info-section .info-value{margin-left:0;text-align:left}}.add-btn{align-items:center;background:linear-gradient(135deg,#324559,#324559 100%);border:none;border-radius:8px;box-shadow:0 2px 4px #324559;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:8px;padding:12px 24px;transition:all .3s ease}.add-btn:hover{background:linear-gradient(135deg,#324559,#324559);box-shadow:0 4px 12px #324559;transform:translateY(-2px)}.add-bike-form,.add-location-form{background:#fff;border-radius:12px;height:100%;padding:0;width:100%}.form-header{align-items:center;background:linear-gradient(135deg,#2c3e50,#34495e);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 30px}.form-header h3{font-size:1.5rem;font-weight:600;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:30px;justify-content:center;padding:0;transition:background-color .3s;width:30px}.close-btn:hover{background:#fff3}.bike-form,.location-form{box-sizing:border-box;flex:1 1;overflow-y:auto;padding:30px;width:100%}.form-group{margin-bottom:20px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}@media (max-width:600px){.form-row{gap:15px;grid-template-columns:1fr}}.form-group label{color:#324559;display:block;font-weight:500;margin-bottom:8px}.form-group label.required:after{color:#e74c3c;content:" *"}.form-input,.form-select,.form-textarea{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:12px 16px;transition:border-color .3s,box-shadow .3s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#324559;box-shadow:0 0 0 3px #2538801a;outline:none}.form-textarea{min-height:80px;resize:vertical}.form-help{color:#7f8c8d;display:block;font-size:.875rem;margin-top:4px}.form-actions{border-top:1px solid #e0e0e0;display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:8px;justify-content:center;padding:12px 24px;text-decoration:none;transition:all .3s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{border:none;border-radius:8px;box-shadow:0 2px 4px #25388033;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-primary,.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#324559,#324559)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #324559;transform:translateY(-1px)}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover:not(:disabled){background:#7f8c8d;box-shadow:0 4px 12px #95a5a64d;transform:translateY(-1px)}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;margin-bottom:20px;padding:12px 16px}.locations-tab{padding:30px}.locations-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.locations-header h2{color:#2c3e50;font-size:1.8rem;margin:0}.delete-mode-warning,.header-actions{align-items:center;display:flex;gap:10px}.delete-mode-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;font-size:.95rem;justify-content:center;margin-bottom:20px;padding:12px 16px}.delete-mode-warning .warning-icon{flex-shrink:0;font-size:1.2rem}.locations-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.location-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:all .3s ease}.location-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.location-card-header{background:linear-gradient(135deg,#324559,#324559);color:#fff;padding:20px}.location-name{font-size:1.2rem;font-weight:600;margin:0}.location-card-body{padding:20px}.location-card-actions{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:8px;padding:16px 20px}.location-info{display:flex;flex-direction:column;gap:12px}.location-info .info-item{align-items:center;display:flex;justify-content:space-between}.location-info .info-label{color:#7f8c8d;font-size:.9rem;font-weight:500}.location-info .info-value{color:#2c3e50;font-weight:500}.location-selector{align-items:center;background:linear-gradient(135deg,#a8b2d1,#b8c5d1);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:40px 20px;position:relative}.location-selector:before{background:radial-gradient(circle at 20% 80%,#a8b2d133 0,#0000 50%),radial-gradient(circle at 80% 20%,#ffffff26 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.location-selector-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border-radius:24px;box-shadow:0 32px 64px #0000001f,0 0 0 1px #fff3;max-width:1400px;overflow:hidden;padding:60px;position:relative;width:100%;z-index:1}.location-selector-header{margin-bottom:60px;position:relative;text-align:center}.location-selector-header:after{background:linear-gradient(90deg,#324559,#324559);border-radius:2px;bottom:-20px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:80px}.location-selector-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4a5568,#2d3748);-webkit-background-clip:text;background-clip:text;font-size:3.5rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:0 0 16px}.location-selector-header p{color:#718096;font-size:1.25rem;font-weight:400;line-height:1.6;margin:0 auto 30px;max-width:600px}.location-selector-header .header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.add-location-btn{align-items:center;background:linear-gradient(135deg,#324559,#324559);border:none;border-radius:12px;box-shadow:0 4px 16px #5a67d833;color:#fff;cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:600;gap:12px;overflow:hidden;padding:16px 32px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.add-location-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.add-location-btn:hover:before{left:100%}.add-location-btn:hover{background:linear-gradient(135deg,#324559,#324559);box-shadow:0 12px 32px #324559;transform:translateY(-3px)}.location-selector .delete-mode-warning{margin:20px auto;max-width:800px;text-align:center}.location-selector .locations-grid{display:flex;flex-direction:column;gap:12px;margin-left:auto;margin-right:auto;margin-top:20px;max-width:1000px;width:100%}.location-selector .location-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:flex;margin-bottom:8px;min-height:80px;overflow:hidden;padding:0;position:relative;transition:all .2s ease}.location-selector .location-card:before{background:#324559;bottom:0;content:"";left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease;width:3px}.location-selector .location-card:hover:before{opacity:1}.location-selector .location-card:hover{border-color:#324559;box-shadow:0 2px 8px #00000026}.location-selector .location-card-header{align-items:center;align-self:stretch;background:#324559;color:#fff;display:flex;flex-shrink:0;gap:12px;max-width:280px;min-width:220px;padding:20px 24px}.location-selector .location-icon{font-size:1.5rem;opacity:.9}.location-selector .location-name{font-size:1.1rem;font-weight:600;line-height:1.3;margin:0;word-break:break-word}.location-selector .location-card-body{align-items:center;background:#fff;display:flex;flex:1 1;justify-content:space-between;min-width:0;padding:20px 24px}.location-selector .location-info{align-items:center;display:flex;flex:1 1;flex-direction:row;gap:24px;min-width:0}.location-selector .info-item{align-items:flex-start;border:none;display:flex;flex-direction:column;flex-shrink:1;gap:4px;min-width:0;padding:0}.location-selector .info-item:hover{background:none;border-radius:0;margin:0;padding:0}.location-selector .info-item:last-child{border-bottom:none}.location-selector .info-label{color:#718096;font-size:.8rem;font-weight:500;letter-spacing:.05em;margin:0;text-transform:uppercase}.location-selector .info-value{color:#324559;font-size:.9rem;font-weight:600;margin:0;overflow-wrap:break-word;text-align:left;word-break:break-word}.location-selector .location-card-footer{align-items:center;background:#0000;display:flex;flex-shrink:0;justify-content:center;min-width:200px;padding:0 24px}.location-selector .location-card-footer .action-btn{align-items:center;background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:8px;justify-content:center;min-width:160px;padding:12px 24px;transition:all .2s ease;white-space:nowrap}.location-selector .location-card-footer .action-btn:hover{background:#dc2626;box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.select-location-btn{align-items:center;background:#324559;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:8px;justify-content:center;min-width:160px;padding:12px 24px;transition:all .2s ease;white-space:nowrap}.select-location-btn:hover{background:#324559;box-shadow:0 2px 4px #324559;transform:translateY(-1px)}.select-location-btn .arrow{font-size:.9rem;transition:transform .2s ease}.location-selector .location-card:hover .arrow{transform:translateX(2px)}.location-selector .empty-state{background:linear-gradient(135deg,#f8fafc,#fff);border:2px dashed #324559;border-radius:20px;color:#64748b;margin:40px 0;padding:80px 40px;text-align:center}.location-selector .empty-icon{color:#324559;font-size:5rem;margin-bottom:24px;opacity:.6}.location-selector .empty-state h3{color:#324559;font-size:2.2rem;font-weight:700;letter-spacing:-.02em;margin:0 0 16px}.location-selector .empty-state p{font-size:1.2rem;line-height:1.6;margin:0 auto;max-width:500px;opacity:.8}.location-selector .error-state{background:linear-gradient(135deg,#fef2f2,#fff);border:2px solid #ef444433;border-radius:20px;color:#64748b;margin:40px 0;padding:80px 40px;text-align:center}.location-selector .error-icon{color:#ef4444;font-size:5rem;margin-bottom:24px;opacity:.8}.location-selector .error-state h3{color:#324559;font-size:2.2rem;font-weight:700;letter-spacing:-.02em;margin:0 0 16px}.location-selector .error-state p{font-size:1.2rem;line-height:1.6;margin:0 auto 24px;max-width:500px;opacity:.8}.back-to-locations-btn{align-items:center;background:linear-gradient(135deg,#324559,#324559);border:1px solid #fff;border-radius:6px;box-shadow:0 2px 4px #324559;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:6px;margin-bottom:20px;padding:10px 20px;transition:all .2s ease}.back-to-locations-btn:hover{background:linear-gradient(135deg,#324559,#324559);box-shadow:0 2px 8px #324559;transform:translateY(-1px)}@media (max-width:768px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.bike-form,.location-form{padding:20px}.locations-grid{grid-template-columns:1fr}.locations-header{align-items:stretch;flex-direction:column;gap:15px}.header-actions{flex-direction:column;gap:10px}.header-actions .btn{width:100%}.bikes-header{align-items:stretch;flex-direction:column;gap:15px}.location-selector{padding:20px 10px}.location-selector-container{border-radius:16px;padding:40px 20px}.location-selector-header h1{font-size:2rem}.location-selector-header .header-actions{flex-direction:column;width:100%}.add-location-btn,.location-selector-header .header-actions .btn{justify-content:center;width:100%}.location-selector .locations-grid{gap:8px}.location-selector .location-card{flex-direction:column;min-height:auto}.location-selector .location-card-header{max-width:none;min-width:auto;padding:16px 20px;width:100%}.location-selector .location-card-body{align-items:flex-start;flex-direction:column;gap:12px;padding:16px 20px}.location-selector .location-info{flex-direction:column;gap:12px;width:100%}.location-selector .location-card-footer{justify-content:stretch;min-width:auto;padding:16px 20px;width:100%}.location-selector .location-card-footer .action-btn{justify-content:center;min-width:auto;width:100%}.select-location-btn{min-width:auto;width:100%}}
/*# sourceMappingURL=main.9e122abc.css.map*/