*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app{min-height:100vh;padding:20px}.admin-header-bar{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;display:flex;gap:15px;justify-content:space-between;margin:0 auto 20px;max-width:1400px;padding:15px 20px}.admin-header-bar span{color:#667eea;font-size:18px;font-weight:600}.admin-header-bar .btn-small{font-size:14px;padding:8px 16px}.public-container .header{position:relative}.admin-login-container{margin-top:100px;max-width:500px}.admin-login-form{padding:40px;text-align:center}.admin-login-form h2{color:#333;margin-bottom:30px}.admin-hint{background:#f0f7ff;border-left:4px solid #667eea;border-radius:8px;margin-top:30px;padding:20px}.admin-hint p{color:#555;font-size:14px;margin:10px 0}.admin-hint code{background:#e0e0e0;border-radius:4px;font-family:monospace;padding:2px 6px}.container{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;margin:0 auto;max-width:1400px;overflow:hidden}.header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding:30px}.header h1{font-size:2rem;font-weight:600}.header-actions{align-items:center;display:flex;gap:10px}.view-toggle{background:#0000;border:2px solid #fff;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .3s}.view-toggle:hover{background:#fff3}.view-toggle.active{background:#fff;color:#667eea}.btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .3s}.btn-primary{background:#fff;color:#667eea}.btn-primary:hover{box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.btn-secondary{background:#e0e0e0;color:#333}.btn-secondary:hover{background:#d0d0d0}.btn-edit{background:#4caf50;color:#fff}.btn-edit:hover{background:#45a049}.btn-delete{background:#f44336;color:#fff}.btn-delete:hover{background:#da190b}.btn-confirm{background:#4caf50;color:#fff}.btn-confirm:hover{background:#45a049}.btn-reject{background:#ff9800;color:#fff}.btn-reject:hover{background:#f57c00}.tab-btn{background:#0000;border:2px solid #fff;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .3s}.tab-btn:hover{background:#fff3}.tab-btn.active{background:#fff;color:#667eea}.view-toggle-container{display:flex;gap:10px;justify-content:center;padding:20px 30px}.view-toggle-container .view-toggle{background:#fff;border:2px solid #667eea;color:#667eea}.view-toggle-container .view-toggle.active{background:#667eea;color:#fff}.calendar-view{padding:30px}.week-navigation{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.week-navigation button{background:#f5f5f5;border:none;border-radius:8px;cursor:pointer;font-size:14px;padding:10px 20px}.week-navigation button:hover{background:#e0e0e0}.week-navigation h2{color:#333;font-size:1.5rem}.calendar-grid{border:1px solid #e0e0e0;border-radius:8px;display:flex;overflow:hidden}.time-column{border-right:2px solid #e0e0e0;width:80px}.day-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #e0e0e0;display:flex;font-size:12px;font-weight:600;height:60px;justify-content:center;text-transform:uppercase}.time-column .day-header{border-bottom:none}.day-column .day-header{flex-direction:column;padding:8px}.day-header.today{background:#667eea;color:#fff}.day-name{font-size:11px;opacity:.8}.day-number{font-size:18px;font-weight:700}.time-slot-label{align-items:center;border-bottom:1px solid #f0f0f0;color:#666;display:flex;font-size:11px;height:60px;padding:5px}.day-column{border-right:1px solid #e0e0e0;flex:1 1}.day-column:last-child{border-right:none}.day-slots{min-height:720px}.slot-cell{border-bottom:1px solid #f0f0f0;height:60px;padding:2px;position:relative}.booking-item{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px;color:#fff;cursor:pointer;font-size:11px;margin-bottom:2px;padding:4px 8px;transition:transform .2s}.booking-item:hover{box-shadow:0 2px 8px #0003;transform:scale(1.02)}.booking-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-time{font-size:10px;opacity:.9}.list-view{padding:30px}.date-filter{margin-bottom:20px}.date-filter input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:10px}.bookings-list{display:flex;flex-direction:column;gap:15px}.booking-card{align-items:center;background:#f8f9fa;border-radius:12px;display:flex;justify-content:space-between;padding:20px;transition:transform .2s,box-shadow .2s}.booking-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.booking-info h3{color:#333;font-size:1.2rem;margin-bottom:10px}.booking-details{color:#666;display:flex;flex-wrap:wrap;gap:15px}.detail-item{font-size:14px}.booking-actions{display:flex;gap:10px}.empty-state{color:#999;padding:60px 20px;text-align:center}.modal-overlay{align-items:center;background:#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:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:24px}.modal-header h2{color:#333;margin:0}.close-btn{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;line-height:1;padding:0;width:32px}.close-btn:hover{color:#333}.booking-form{padding:24px}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px;transition:border-color .3s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.form-actions{border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:flex-end;margin-top:24px;padding-top:24px}.public-container{max-width:800px}.public-container .header{flex-direction:column;text-align:center}.public-container .header p{font-size:1.1rem;margin-top:10px;opacity:.9}.public-booking-form{padding:40px}.success-message{padding:60px 40px;text-align:center}.success-message h2{color:#4caf50;font-size:2rem;margin-bottom:20px}.success-message p{color:#666;font-size:1.1rem;margin-bottom:15px}.form-hint{color:#ff9800}.form-hint,.form-hint-success{display:block;font-size:12px;margin-top:5px}.form-hint-success{color:#4caf50}.slots-loading{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;color:#666;font-size:14px;padding:12px;text-align:center}.form-info{background:#f0f7ff;border-left:4px solid #667eea;border-radius:8px;margin-top:20px;padding:15px}.form-info p{color:#555;font-size:14px;margin:0}.consent-group{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-top:20px;padding:15px}.consent-label{align-items:flex-start;color:#333;cursor:pointer;display:flex;font-size:14px;gap:10px;line-height:1.5}.consent-label input[type=checkbox]{cursor:pointer;flex-shrink:0;margin-top:3px;width:auto}.consent-label span{flex:1 1}.consent-label a{color:#667eea;text-decoration:underline}.consent-label a:hover{color:#5568d3}.pending-list{padding:30px}.pending-booking-card{background:#f8f9fa;border-left:4px solid #ff9800;border-radius:12px;margin-bottom:20px;padding:25px;transition:transform .2s,box-shadow .2s}.pending-booking-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.pending-booking-card .booking-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.pending-booking-card .booking-actions .btn{flex:1 1;min-width:120px}.booking-status-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;margin-bottom:10px;padding:5px 12px}.status-pending{background:#fff3cd;color:#856404}.status-confirmed{background:#d4edda;color:#155724}.status-rejected{background:#f8d7da;color:#721c24}.booking-pending{background:linear-gradient(135deg,#ff9800,#f57c00)}.booking-confirmed{background:linear-gradient(135deg,#667eea,#764ba2)}.booking-rejected{background:linear-gradient(135deg,#f44336,#d32f2f);opacity:.7}.booking-card.booking-confirmed,.booking-card.booking-pending,.booking-card.booking-rejected{border-left:4px solid}.booking-card.booking-pending{border-left-color:#ff9800}.booking-card.booking-confirmed{border-left-color:#4caf50}.booking-card.booking-rejected{border-left-color:#f44336}.detail-item.notes{background:#fff;border-radius:6px;display:block;font-style:italic;margin-top:10px;padding:10px}.booking-number{color:#667eea;font-size:1.2rem;font-weight:600;margin:15px 0}.booking-number-small{font-size:10px;margin-top:2px;opacity:.8}.booking-location{font-size:10px;margin-top:2px;opacity:.9}@media (max-width:768px){.header{align-items:stretch}.header,.header-actions{flex-direction:column}.calendar-grid{overflow-x:auto}.time-column{background:#fff;left:0;position:-webkit-sticky;position:sticky;z-index:10}.booking-card{align-items:stretch;flex-direction:column;gap:15px}.booking-actions{width:100%}.booking-actions .btn{flex:1 1}}
/*# sourceMappingURL=main.9afb881c.css.map*/