@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{background:#f8fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:1rem}.login-card{animation:slideUp .5s ease-out;background:#fff;border-radius:24px;box-shadow:0 20px 60px #0000004d;max-width:450px;padding:3rem;width:100%}.login-header{margin-bottom:2.5rem;text-align:center}.login-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;display:flex;height:80px;justify-content:center;margin:0 auto 1.5rem;width:80px}.login-title{color:#1e293b;font-size:2rem;font-weight:800;margin-bottom:.5rem}.login-subtitle{color:#64748b;font-size:.95rem}.error-message{background:#fee2e2;border-left:4px solid #dc2626;border-radius:12px;color:#991b1b;font-size:.9rem;margin-bottom:1.5rem;padding:1rem}.input-group{margin-bottom:1.25rem}.input-field{border:2px solid #e2e8f0;border-radius:12px;font-family:Inter,sans-serif;font-size:1rem;padding:1rem 1.25rem;transition:all .3s ease;width:100%}.input-field:focus{border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;outline:none}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:1rem;transition:all .3s ease;width:100%}.btn-primary:hover{box-shadow:0 10px 25px #667eea66;transform:translateY(-2px)}.btn-secondary{background:#0000;border:none;color:#667eea;cursor:pointer;font-size:.9rem;margin-top:1rem;padding:.75rem;transition:color .3s ease;width:100%}.btn-secondary:hover{color:#764ba2}.app-container{background:#f8fafc;min-height:100vh}.header{box-shadow:0 1px 3px #0000001a}.header-content{padding:1.25rem 2rem}.header-brand{gap:1rem}.brand-icon{border-radius:12px;height:48px;width:48px}.brand-title{font-size:1.75rem}.header-actions{gap:2rem}.header-actions,.user-info{align-items:center;display:flex}.user-info{color:#64748b;font-size:.95rem;gap:.75rem}.admin-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.btn-logout{align-items:center;background:#fee2e2;border:none;border-radius:10px;color:#dc2626;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.btn-logout:hover{background:#fecaca;transform:translateY(-2px)}.nav-bar{background:#fff;border-bottom:1px solid #e2e8f0}.nav-content{display:flex;gap:2rem;margin:0 auto;max-width:1400px;padding:0 2rem}.nav-button{background:#0000;border:none;border-bottom:3px solid #0000;color:#64748b;cursor:pointer;font-size:.95rem;font-weight:600;padding:1.25rem 1rem;transition:all .3s ease}.nav-button:hover{color:#1e293b}.nav-button.active{border-bottom-color:#667eea;color:#667eea}.main-content{margin:0 auto;max-width:1400px;padding:2.5rem 2rem}.search-bar-container{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin-bottom:2rem}.search-wrapper{flex:1 1;max-width:500px;position:relative}.search-icon{color:#94a3b8;left:1rem;position:absolute;top:50%;transform:translateY(-50%)}.search-input{border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;padding:1rem 1rem 1rem 3rem;transition:all .3s ease;width:100%}.search-input:focus{border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;outline:none}.cart-info{align-items:center;display:flex;gap:1.5rem}.cart-badge{color:#64748b;font-weight:600}.btn-cart{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.75rem;padding:.875rem 1.75rem;transition:all .3s ease}.btn-cart:hover{box-shadow:0 10px 25px #667eea66;transform:translateY(-2px)}.items-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.item-card{background:#fff;border:2px solid #0000;border-radius:20px;box-shadow:0 4px 6px #0000000d;padding:2rem;transition:all .3s ease}.item-card:hover{border-color:#667eea;box-shadow:0 20px 40px #0000001a;transform:translateY(-8px)}.item-header{align-items:start}.item-category{color:#64748b;font-size:.9rem}.item-icon{align-items:center;background:linear-gradient(135deg,#e0e7ff,#ddd6fe);border-radius:14px;color:#667eea;display:flex;height:56px;justify-content:center;width:56px}.item-details{margin-bottom:1.5rem}.item-detail-row{border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:.75rem 0}.detail-label{color:#64748b;font-size:.9rem}.detail-value{color:#1e293b;font-weight:700}.detail-value.available{color:#16a34a}.detail-value.unavailable{color:#dc2626}.btn-add-cart{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem;transition:all .3s ease;width:100%}.btn-add-cart:hover:not(:disabled){box-shadow:0 10px 25px #667eea66;transform:translateY(-2px)}.btn-add-cart:disabled{background:#e2e8f0;color:#94a3b8;cursor:not-allowed}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.page-title{color:#1e293b;font-size:2rem;font-weight:800}.btn-back{background:#0000;border:none;color:#667eea;cursor:pointer;font-size:1rem;font-weight:600;transition:color .3s ease}.btn-back:hover{color:#764ba2}.empty-state{background:#fff;border-radius:20px;padding:4rem 2rem;text-align:center}.empty-icon{color:#cbd5e1;height:80px;margin:0 auto 1.5rem;width:80px}.empty-text{color:#64748b;font-size:1.1rem}.cart-list{display:flex;flex-direction:column;gap:1.5rem}.cart-item{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 6px #0000000d;display:flex;gap:2rem;justify-content:space-between;padding:2rem}.cart-item-info{flex:1 1}.cart-item-name{color:#1e293b;font-size:1.25rem;font-weight:700;margin-bottom:.25rem}.cart-item-available{color:#64748b;font-size:.9rem}.cart-item-actions{align-items:center;display:flex;gap:2rem}.quantity-control{align-items:center;display:flex;gap:1rem}.btn-quantity{align-items:center;background:#f1f5f9;border:none;border-radius:10px;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s ease;width:40px}.btn-quantity:hover{background:#e2e8f0}.quantity-value{color:#1e293b;font-size:1.1rem;font-weight:700;text-align:center;width:60px}.btn-remove{background:#fee2e2;border:none;border-radius:10px;color:#dc2626;cursor:pointer;font-weight:600;padding:.875rem 1.75rem;transition:all .3s ease}.btn-remove:hover{background:#fecaca}.btn-create-booking{background:linear-gradient(135deg,#16a34a,#15803d);border:none;border-radius:16px;color:#fff;cursor:pointer;font-size:1.15rem;font-weight:700;margin-top:1rem;padding:1.5rem;transition:all .3s ease;width:100%}.btn-create-booking:hover{box-shadow:0 10px 25px #16a34a66;transform:translateY(-2px)}.booking-list{display:flex;flex-direction:column;gap:1.5rem}.booking-card{background:#fff;border-radius:16px;box-shadow:0 4px 6px #0000000d;padding:2rem}.booking-header{align-items:center;border-bottom:2px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.booking-user h3{color:#1e293b;font-size:1.25rem;font-weight:700;margin-bottom:.25rem}.booking-email{color:#64748b;font-size:.9rem}.booking-meta{text-align:right}.status-badge{border-radius:20px;display:inline-block;font-size:.85rem;font-weight:700;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.approved{background:#d1fae5;color:#065f46}.status-badge.rejected{background:#fee2e2;color:#991b1b}.status-badge.returned{background:#dbeafe;color:#1e40af}.booking-date{color:#64748b;font-size:.9rem;margin-top:.5rem}.booking-items{margin-bottom:1.5rem}.booking-item-row{background:#f8fafc;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.875rem 1rem}.booking-item-name{color:#1e293b;font-weight:600}.booking-item-qty{color:#64748b}.booking-actions{display:flex;gap:1rem}.btn-approve{align-items:center;background:linear-gradient(135deg,#16a34a,#15803d);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-weight:600;gap:.5rem;justify-content:center;padding:1rem;transition:all .3s ease}.btn-approve:hover{box-shadow:0 10px 25px #16a34a66;transform:translateY(-2px)}.btn-reject{align-items:center;background:linear-gradient(135deg,#dc2626,#991b1b);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-weight:600;gap:.5rem;justify-content:center;padding:1rem;transition:all .3s ease}.btn-reject:hover{box-shadow:0 10px 25px #dc262666;transform:translateY(-2px)}.btn-return{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;justify-content:center;padding:1rem;transition:all .3s ease;width:100%}.btn-return:hover{box-shadow:0 10px 25px #3b82f666;transform:translateY(-2px)}.qr-code-section{border-top:2px solid #f1f5f9;margin-top:1.5rem;padding-top:1.5rem}.qr-label{color:#64748b;font-size:.9rem;font-weight:600;margin-bottom:1rem}.qr-code-image{border-radius:12px;box-shadow:0 4px 6px #0000001a;height:150px;width:150px}@media (max-width:768px){.items-grid{grid-template-columns:1fr}.cart-item,.search-bar-container{align-items:stretch;flex-direction:column}.cart-item-actions{flex-direction:column;gap:1rem}}.scanner-container{margin:0 auto;max-width:800px;padding:2rem}.scanner-wrapper{background:#fff;border-radius:20px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem;padding:2rem}.qr-scanner{border-radius:16px;overflow:hidden}.btn-scan{align-items:center;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.75rem;margin-bottom:2rem;padding:.875rem 1.75rem;transition:all .3s ease}.btn-scan:hover{box-shadow:0 10px 25px #8b5cf666;transform:translateY(-2px)}.modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .4s ease;background:#fff;border-radius:24px;box-shadow:0 25px 50px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;padding:2.5rem;position:relative;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:2px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.modal-title{color:#1e293b;font-size:1.75rem;font-weight:800}.modal-close{align-items:center;background:#f1f5f9;border:none;border-radius:10px;color:#64748b;cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;transition:all .2s ease;width:40px}.modal-close:hover{background:#e2e8f0;transform:rotate(90deg)}.modal-body{margin-bottom:2rem}.modal-user-info{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:16px;margin-bottom:1.5rem;padding:1.5rem}.modal-user-info h3{color:#1e293b;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.modal-user-info p{color:#64748b;font-size:.95rem}.modal-booking-date{color:#64748b;font-size:.9rem;margin-bottom:1.5rem;text-align:center}.modal-footer{display:flex;gap:1rem;margin-top:2rem}.modal-footer button{flex:1 1}.scanner-wrapper-fullscreen{background:#fff;border-radius:20px;box-shadow:0 4px 6px #0000001a;padding:1rem;position:relative}.scanner-instructions{background:linear-gradient(135deg,#fef3c7,#fef08a);border-radius:12px;color:#92400e;font-weight:600;margin-top:1rem;padding:1rem;text-align:center}.dark{--bg-color:#1e293b;--text-color:#f1f5f9;--card-bg:#334155}.sports-home{min-height:100vh;padding-bottom:2rem}.sports-header{margin-bottom:3rem;text-align:center}.sports-header h1{color:#1e293b;font-size:2.5rem;font-weight:800;margin-bottom:.5rem}.sports-header p{color:#64748b;font-size:1.1rem}.sports-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:1400px;padding:0 2rem}.sport-card{align-items:center;background:#fff;border:2px solid #0000;border-radius:20px;box-shadow:0 4px 6px #0000000d;cursor:pointer;display:flex;flex-direction:column;padding:2.5rem 2rem;text-align:center;transition:all .3s ease}.sport-card:hover{border-color:#667eea;box-shadow:0 20px 40px #0000001f;transform:translateY(-12px)}.sport-icon-large{font-size:4rem;margin-bottom:1rem}.sport-card h3{color:#1e293b;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.sport-stats{display:flex;gap:2rem;justify-content:center;margin-bottom:1.5rem;width:100%}.stat{align-items:center;display:flex;flex-direction:column}.stat-label{color:#64748b;font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:.25rem;text-transform:uppercase}.stat-value{font-size:1.75rem;font-weight:800}.btn-browse-sport{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:1rem 1.5rem;transition:all .3s ease;width:100%}.btn-browse-sport:hover{box-shadow:0 10px 25px #667eea66;transform:scale(1.05)}.sport-items-header{align-items:center;display:flex;gap:2rem;margin-bottom:2rem}.btn-back-sport{align-items:center;background:#f1f5f9;border:none;border-radius:10px;color:#667eea;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.btn-back-sport:hover{background:#e2e8f0;transform:translateX(-4px)}.sport-subtitle{color:#64748b;font-size:.95rem;margin-top:.5rem}.sport-item-card{background:#fff;border:2px solid #0000;border-radius:20px;box-shadow:0 4px 6px #0000000d;display:flex;flex-direction:column;padding:2rem;transition:all .3s ease}.sport-item-card:hover{border-color:#667eea;box-shadow:0 20px 40px #0000001a;transform:translateY(-8px)}.item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1.5rem}.item-info h3{color:#1e293b;font-size:1.35rem;font-weight:700;margin-bottom:.25rem}.item-sport-label{color:#667eea;font-size:.9rem;font-weight:600}.item-icon{font-size:2.5rem}.item-description{background:#f8fafc;border-radius:10px;margin-bottom:1rem;padding:1rem}.item-description p{color:#64748b;font-size:.9rem;line-height:1.5}.btn-add-to-cart{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:.5rem;justify-content:center;padding:1rem;transition:all .3s ease;width:100%}.btn-add-to-cart:hover:not(:disabled){box-shadow:0 10px 25px #667eea66;transform:translateY(-2px)}.btn-add-to-cart:disabled{background:#e2e8f0;color:#94a3b8;cursor:not-allowed}.btn-add-to-cart.in-cart{background:linear-gradient(135deg,#16a34a,#15803d)}.btn-add-to-cart.in-cart:hover{box-shadow:0 10px 25px #16a34a66}@media (max-width:768px){.sports-grid{grid-template-columns:1fr}.sports-header h1{font-size:2rem}.sport-icon-large{font-size:3rem}.sport-items-header{align-items:flex-start;flex-direction:column}}.turf-types-container{padding:2rem 0}.turf-types-header{margin-bottom:3rem;text-align:center}.turf-types-header h1{color:#1e293b;font-size:2.5rem;font-weight:800;margin-bottom:.5rem}.turf-types-header p{color:#64748b;font-size:1.1rem}.turf-types-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:1400px}.turf-type-card{align-items:center;background:#fff;border:2px solid #0000;border-radius:20px;box-shadow:0 4px 6px #0000000d;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;padding:2.5rem 2rem;position:relative;text-align:center;transition:all .3s ease}.turf-type-card:before{background:var(--card-color);content:"";height:4px;left:0;position:absolute;right:0;top:0}.turf-type-card:hover{border-color:var(--card-color);box-shadow:0 20px 40px #0000001f;transform:translateY(-12px)}.turf-type-icon{font-size:4rem;margin-bottom:1rem}.turf-type-card h3{color:#1e293b;font-size:1.5rem;font-weight:700;margin-bottom:1rem}.turf-count{color:#64748b;font-size:.95rem;margin-bottom:1.5rem}.btn-view-courts{background:linear-gradient(135deg,var(--card-color) 0,var(--card-color) 100%);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:1rem 1.5rem;transition:all .3s ease;width:100%}.btn-view-courts:hover{box-shadow:0 10px 25px #0003;transform:scale(1.05)}.turf-list-container{padding:2rem 0}.turf-list-header{align-items:center;display:flex;gap:2rem;margin-bottom:2rem}.btn-back-turf{align-items:center;background:#f1f5f9;border:none;border-radius:10px;color:#667eea;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.btn-back-turf:hover{background:#e2e8f0;transform:translateX(-4px)}.turfs-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.turf-card{background:#fff;border:2px solid #0000;border-radius:20px;box-shadow:0 4px 6px #0000000d;padding:2rem;transition:all .3s ease}.turf-card:hover{border-color:#667eea;box-shadow:0 20px 40px #0000001a;transform:translateY(-8px)}.turf-card-header{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.turf-icon{font-size:2.5rem}.turf-card-header h3{color:#1e293b;font-size:1.35rem;font-weight:700}.turf-card-body{margin-bottom:1.5rem}.turf-stat{border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:.75rem 0}.turf-stat span:first-child{color:#64748b;font-size:.9rem}.stat-value{color:#1e293b;font-weight:700}.stat-value.available{color:#16a34a}.btn-book-turf{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:1rem;transition:all .3s ease;width:100%}.btn-book-turf:hover{box-shadow:0 10px 25px #667eea66;transform:translateY(-2px)}.turf-booking-form-container{margin:0 auto;max-width:800px}.turf-booking-header{align-items:center;display:flex;gap:2rem;margin-bottom:2rem}.turf-booking-form{background:#fff;border-radius:20px;box-shadow:0 4px 6px #0000000d;margin-bottom:2rem;padding:2.5rem}.form-group{margin-bottom:1.5rem}.form-group label{align-items:center;color:#1e293b;display:flex;font-weight:600;gap:.5rem;margin-bottom:.75rem}.form-input,.form-select{border:2px solid #e2e8f0;border-radius:12px;font-family:Inter,sans-serif;font-size:1rem;padding:1rem;transition:all .3s ease;width:100%}.form-input:focus,.form-select:focus{border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;outline:none}.btn-submit-booking{background:linear-gradient(135deg,#16a34a,#15803d);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1.15rem;font-weight:700;margin-top:1rem;padding:1.25rem;transition:all .3s ease;width:100%}.btn-submit-booking:hover:not(:disabled){box-shadow:0 10px 25px #16a34a66;transform:translateY(-2px)}.btn-submit-booking:disabled{background:#e2e8f0;color:#94a3b8;cursor:not-allowed}.existing-bookings{background:#fff;border-radius:20px;box-shadow:0 4px 6px #0000000d;padding:2rem}.existing-bookings h3{color:#1e293b;font-size:1.25rem;font-weight:700;margin-bottom:1rem}.bookings-list{display:flex;flex-direction:column;gap:.75rem}.booking-item{background:#f8fafc;border-radius:10px;color:#64748b;display:flex;font-size:.9rem;justify-content:space-between;padding:1rem}.my-turf-bookings{padding:2rem 0}.my-turf-bookings h2{color:#1e293b;font-size:2rem;font-weight:800;margin-bottom:2rem}.bookings-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.turf-booking-card{background:#fff;border:2px solid #0000;border-radius:20px;box-shadow:0 4px 6px #0000000d;padding:2rem;transition:all .3s ease}.turf-booking-card:hover{border-color:#667eea;box-shadow:0 12px 24px #0000001a;transform:translateY(-4px)}.booking-card-header{align-items:center;border-bottom:2px solid #f1f5f9;display:flex;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem}.turf-type-icon{font-size:2.5rem}.booking-card-header h3{color:#1e293b;font-size:1.25rem;font-weight:700;margin-bottom:.25rem}.turf-type{color:#667eea;font-size:.85rem;font-weight:600;text-transform:uppercase}.booking-card-body{margin-bottom:1.5rem}.booking-detail{align-items:center;color:#64748b;display:flex;font-size:.95rem;gap:.75rem;padding:.75rem 0}.booking-detail svg{color:#667eea}.btn-cancel-booking{background:#fee2e2;border:none;border-radius:12px;color:#dc2626;cursor:pointer;font-weight:600;padding:1rem;transition:all .3s ease;width:100%}.btn-cancel-booking:hover{background:#fecaca;transform:translateY(-2px)}@media (max-width:768px){.bookings-grid,.turf-types-grid,.turfs-grid{grid-template-columns:1fr}.turf-booking-header,.turf-list-header{align-items:flex-start;flex-direction:column}}.loading{align-items:center;color:#64748b;font-size:1.1rem;min-height:300px}.booking-filter-container,.loading{display:flex;justify-content:center}.booking-filter-container{flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.booking-filter-btn{background:#fff;border:2px solid #e2e8f0;border-radius:12px;color:#64748b;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.75rem;transition:all .3s ease}.booking-filter-btn:hover{border-color:#667eea;color:#667eea;transform:translateY(-2px)}.booking-filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border:none;box-shadow:0 6px 20px #667eea66;color:#fff;transform:translateY(-2px)}.btn-view-qr{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.25rem;transition:all .3s ease}.btn-view-qr:hover{box-shadow:0 10px 25px #6366f166;transform:translateY(-2px)}.search-container{display:flex;justify-content:center;margin-bottom:1.5rem}.search-bar{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;gap:.75rem;max-width:400px;padding:.6rem 1rem;transition:all .2s ease;width:100%}.search-bar:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.search-input{background:#0000;border:none;color:#334155;flex:1 1;font-size:.95rem;outline:none}@media (max-width:768px){body{font-size:.95rem}.header-content,.main-content,.nav-content{padding:1rem}.brand-title{font-size:1.4rem}.nav-content{flex-wrap:wrap;gap:1rem;justify-content:center}.nav-button{flex:1 1 45%;font-size:.9rem;padding:.75rem;text-align:center}.booking-card,.item-card,.sport-card,.turf-card{border-radius:14px;padding:1.25rem}.booking-header{align-items:flex-start;flex-direction:column;gap:.5rem;text-align:left}.booking-meta{text-align:left}.booking-actions{flex-direction:column}.btn-approve,.btn-reject,.btn-return{width:100%}.search-container{padding:0 1rem}.search-bar{border-radius:10px;max-width:100%;padding:.75rem 1rem}.search-input{font-size:.9rem}.booking-filter-container{flex-wrap:wrap;gap:.5rem;justify-content:center}.booking-filter-btn{flex:1 1 45%;font-size:.85rem;padding:.75rem .5rem}.cart-item{align-items:flex-start;flex-direction:column;gap:1rem;padding:1.25rem}.cart-item-actions{flex-direction:column;gap:.75rem;width:100%}.bookings-grid,.sports-grid,.turf-types-grid,.turfs-grid{gap:1.25rem;grid-template-columns:1fr}.sport-card h3,.turf-type-card h3{font-size:1.25rem}.sport-icon-large,.turf-type-icon{font-size:2.75rem}.btn-add-to-cart,.btn-book-turf,.btn-create-booking,.btn-scan,.btn-view-qr{font-size:.9rem;justify-content:center;padding:1rem;width:100%}.modal-content{border-radius:16px;max-width:95%;padding:1.5rem;width:95%}.modal-title{font-size:1.25rem}.qr-code-image{height:150px;width:150px}.header-content{flex-direction:column;gap:1rem;text-align:center}.user-info{justify-content:center}.main-content{padding:1.5rem 1rem}.booking-card,.item-card,.sport-card,.turf-card{box-shadow:0 2px 8px #00000014}}@media (max-width:480px){.brand-title{font-size:1.2rem}.nav-button{font-size:.85rem;padding:.5rem}.page-title{font-size:1.4rem}.booking-item-row{align-items:flex-start;flex-direction:column;gap:.25rem;padding:.75rem}.booking-item-name{font-size:.9rem}.status-badge{font-size:.75rem;padding:.35rem .75rem}.btn-view-qr{font-size:.85rem;padding:.6rem 1rem}.search-bar{padding:.5rem .75rem}}@media (max-width:768px){.desktop-only{display:none}.mobile-only{align-items:center;background:#0000;border:none;color:#334155;cursor:pointer;display:flex}.menu-toggle{border-radius:8px;padding:.4rem;transition:all .3s ease}.menu-toggle:hover{background:#f1f5f9}.mobile-menu{animation:slideDown .3s ease;background:#fff;border-top:1px solid #e2e8f0;box-shadow:0 4px 12px #0000000d;display:flex;flex-direction:column;gap:1rem;padding:1rem 1.25rem}.mobile-user-info{align-items:center;color:#1e293b;display:flex;font-weight:600;gap:.5rem;justify-content:center}.mobile-user-info .user-name{font-size:1rem;font-weight:700}.btn-mobile-logout{align-items:center;background:linear-gradient(135deg,#fee2e2,#fecaca);border:none;border-radius:10px;color:#991b1b;cursor:pointer;display:flex;font-weight:600;gap:.5rem;justify-content:center;padding:.9rem;transition:all .3s ease;width:100%}.btn-mobile-logout:hover{background:#fecaca;transform:translateY(-2px)}}.header-content{display:flex}.mobile-only{display:none}.desktop-only{display:flex}@media (max-width:768px){.desktop-only{display:none}.mobile-only{align-items:center;background:#0000;border:none;color:#334155;cursor:pointer;display:flex}.menu-toggle{border-radius:8px;padding:.4rem;transition:all .3s ease}.menu-toggle:hover{background:#f1f5f9}.mobile-menu{animation:slideDown .3s ease;background:#fff;border-top:1px solid #e2e8f0;box-shadow:0 4px 12px #0000000d;display:flex;flex-direction:column;gap:1rem;padding:1rem 1.25rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.mobile-user-info{align-items:center;color:#1e293b;display:flex;font-weight:600;gap:.5rem;justify-content:center}.mobile-user-info .user-name{font-size:1rem;font-weight:700}.btn-mobile-logout{align-items:center;background:linear-gradient(135deg,#fee2e2,#fecaca);border:none;border-radius:10px;color:#991b1b;cursor:pointer;display:flex;font-weight:600;gap:.5rem;justify-content:center;padding:.9rem;transition:all .3s ease;width:100%}.btn-mobile-logout:hover{background:#fecaca;transform:translateY(-2px)}}.header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.header-content{align-items:center;display:flex!important;flex-direction:row!important;justify-content:space-between;margin:0 auto;max-width:1400px;padding:1rem 1.5rem}.header-brand{gap:.75rem}.brand-icon,.header-brand{align-items:center;display:flex}.brand-icon{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;color:#fff;height:40px;justify-content:center;width:40px}.brand-title{color:#1e293b;font-size:1.6rem;font-weight:800}.menu-toggle{margin-left:auto}@media (max-width:768px){.header-content{padding:.75rem 1rem}}.slot-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.slot-btn{background:#f2f2f2;border:1px solid #ccc;border-radius:8px;cursor:pointer;font-size:14px;padding:12px;transition:.2s}.slot-btn:hover{background:#e8e8e8}.slot-btn.active{background:#4facfe;border-color:#4facfe;color:#fff;font-weight:700}
/*# sourceMappingURL=main.77b041e9.css.map*/