*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;color:#1e293b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{margin:0 auto;max-width:1200px;padding:0 20px}.btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.btn-primary{background-color:#3b82f6}.btn-primary:hover{background-color:#2563eb}.btn-secondary{background-color:#6b7280}.btn-secondary:hover{background-color:#4b5563}.btn-danger{background-color:#ef4444;color:#fff}.btn-danger:hover{background-color:#dc2626}.btn-success{background-color:#10b981;color:#fff}.btn-success:hover{background-color:#059669}.form-group{margin-bottom:16px}.form-label{color:#374151;display:block;font-weight:500;margin-bottom:6px}.form-input{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px;transition:border-color .2s ease;width:100%}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-select{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px;width:100%}.card{background:#fff;border-radius:8px;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;margin-bottom:20px;padding:20px}.alert{border-radius:6px;margin-bottom:16px;padding:12px 16px}.alert-success{background-color:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.alert-error{background-color:#fee2e2;border:1px solid #fecaca;color:#991b1b}.alert-warning{background-color:#fef3c7;border:1px solid #fde68a;color:#92400e}.loading{align-items:center;color:#6b7280;display:flex;justify-content:center;padding:40px}.spinner{animation:spin 1s linear infinite;border:2px solid #f3f4f6;border-radius:50%;border-top-color:#3b82f6;height:20px;margin-right:8px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.App{background-color:#f8fafc;min-height:100vh}.header{background:linear-gradient(135deg,#cb1957,#a01545);box-shadow:0 4px 12px #cb19574d;color:#fff;padding:20px 0;position:relative}.header-content{justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.header-content,.logo-section{align-items:center;display:flex}.logo-section{gap:12px}.logo-small{height:32px;object-fit:contain;width:32px}.logo-text{color:#fff;font-size:20px;font-weight:700;text-decoration:none}.header-center{align-items:center;display:flex;justify-content:center;margin-top:20px}.logo-large{filter:brightness(0) invert(1);height:auto;object-fit:contain;width:200px}.nav{display:flex;gap:20px}.nav-link{border-radius:6px;color:#fff;padding:8px 16px;text-decoration:none;transition:background-color .2s ease}.nav-link:hover{background-color:#ffffff1a}.nav-link.active{background-color:#fff3}.main-content{padding:40px 0}.page-title{color:#cb1957;font-size:28px;font-weight:700;margin-bottom:30px;text-align:center;text-shadow:0 2px 4px #cb19571a}.form-container{margin:0 auto;max-width:600px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.time-slots-container{margin-top:8px}.time-slots-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:12px}.time-slot-btn{background:#fff;border:2px solid #e1e5e9;border-radius:8px;color:#333;cursor:pointer;font-size:14px;font-weight:500;overflow:hidden;padding:12px 16px;position:relative;text-align:center;transition:all .3s ease}.time-slot-btn:hover:not(.selected):not(:disabled){background:#f8f9ff;border-color:#007bff;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.time-slot-btn.selected{animation:selectedPulse .6s ease-in-out;background:#007bff!important;border-color:#007bff!important;box-shadow:0 4px 8px #007bff4d;color:#fff!important;transform:scale(1.05)}@keyframes selectedPulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1.05)}}.time-slot-btn:disabled{background:#f5f5f5;border-color:#ddd;cursor:not-allowed;opacity:.5}.time-slot-btn.available{background:#fff;border-color:#28a745;color:#333}.time-slot-btn.available:hover{background:#f8fff8;border-color:#28a745;transform:translateY(-1px)}.time-slot-btn.partially-booked{background:#fffbf0;border-color:#d4af37;color:#8b6914}.time-slot-btn.partially-booked:hover{background:#fff8e6;border-color:#d4af37;transform:translateY(-1px)}.time-slot-btn.booked{background:#fce7ed;border-color:#cb1957;color:#8b1a3a;cursor:not-allowed}.time-slot-btn.booked:hover{transform:none}.time-slot-text{font-weight:500;margin-bottom:2px}.booking-count{font-size:11px;font-weight:400;opacity:.8}.no-slots-message,.select-date-message{background:#f8f9fa;border:1px dashed #dee2e6;border-radius:8px;color:#666;margin-top:12px;padding:16px;text-align:center}.no-slots-message{background:#f8d7da;border-color:#f5c6cb;color:#dc3545}@media (max-width:768px){.form-row{grid-template-columns:1fr}.header-content{flex-direction:column;gap:16px}.nav{gap:10px}.time-slots-grid{gap:8px;grid-template-columns:repeat(2,1fr)}.time-slot-btn{font-size:13px;padding:10px 12px}}.modal-overlay{align-items:center;animation:fadeIn .3s ease;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:80vh;max-width:500px;overflow-y:auto;width:90%}.modal-header{border-bottom:1px solid #e1e5e9;padding:20px 24px 0}.modal-header h3{color:#1e293b;font-size:20px;margin:0}.modal-body{padding:24px}.reservation-details{background:#fef7f9;border-left:4px solid #cb1957;border-radius:8px;box-shadow:0 2px 8px #cb19571a;margin:16px 0;padding:16px}.reservation-details p{color:#333;margin:8px 0}.confirm-question{color:#1e293b;font-size:16px;font-weight:500;margin-top:16px;text-align:center}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:0 24px 24px}.btn-primary{background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:8px;box-shadow:0 4px 12px #007bff4d;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .3s ease}.btn-primary:hover{background:linear-gradient(135deg,#0056b3,#007bff);box-shadow:0 6px 16px #007bff66;transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-secondary{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s ease}.btn-secondary:hover{background:#5a6268}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.success-modal .modal-header h3{color:#28a745;text-align:center}.success-message{margin-bottom:24px;text-align:center}.success-subtitle{color:#333;font-size:18px;font-weight:500;margin:0}.notice-section{background:#f8f9fa;border-left:4px solid #28a745;border-radius:8px;padding:16px}.notice-section h4{color:#333;font-size:16px;margin:0 0 12px}.notice-section ul{margin:0;padding-left:20px}.notice-section li{color:#666;line-height:1.5;margin:8px 0}.admin-dashboard{margin:0 auto;max-width:1200px;padding:20px}.dashboard-header{margin-bottom:30px;text-align:center}.dashboard-title{color:#cb1957;font-size:32px;font-weight:700;margin:0;text-shadow:0 2px 4px #cb19571a}.dashboard-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:10px;margin-bottom:30px;padding-bottom:10px}.tab-btn{align-items:center;background:none;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:8px;padding:12px 20px;transition:all .2s ease}.tab-btn:hover{background-color:#f3f4f6;color:#374151}.tab-btn.active{background:linear-gradient(135deg,#cb1957,#a01545);box-shadow:0 4px 12px #cb19574d;color:#fff}.tab-content{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;padding:24px}.filters-section{background-color:#f9fafb;border-radius:8px;display:flex;gap:20px;margin-bottom:24px;padding:16px}.filter-group{align-items:center;display:flex;gap:8px}.filter-group label{color:#374151;font-weight:500}.filter-input,.filter-select{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px}.holidays-list table,.reservations-table table{border-collapse:collapse;margin-top:16px;width:100%}.holidays-list th,.reservations-table th{background-color:#f9fafb;border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:12px;text-align:left}.holidays-list td,.reservations-table td{border-bottom:1px solid #e5e7eb;padding:12px;vertical-align:middle}.holidays-list tr:hover,.reservations-table tr:hover{background-color:#f9fafb}.status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:4px 8px}.action-buttons{align-items:center;display:flex;gap:8px}.status-select{background-color:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:12px;padding:4px 8px}.btn-delete{background-color:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:4px 8px;transition:background-color .2s ease}.btn-delete:hover{background-color:#dc2626}.pagination{align-items:center;display:flex;gap:16px;justify-content:center;margin-top:24px;padding:16px}.pagination-btn{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;padding:8px 16px;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-info{color:#6b7280;font-size:14px}.holiday-form{background-color:#f9fafb;border-radius:8px;margin-bottom:24px;padding:20px}.holiday-form h3{color:#374151;font-size:18px;margin:0 0 16px}.holiday-form .form-row{grid-gap:16px;align-items:end;display:grid;gap:16px;grid-template-columns:1fr 1fr 2fr auto}.holiday-form .form-group{display:flex;flex-direction:column;gap:4px}.holiday-form label{color:#374151;font-size:14px;font-weight:500}.holiday-form .form-input{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px}.holiday-form .btn-primary{align-items:center;background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.holiday-form .btn-primary:hover{box-shadow:0 4px 12px #007bff4d;transform:translateY(-1px)}.stats-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px #0000000d;gap:16px;padding:24px}.stat-card,.stat-icon{align-items:center;display:flex}.stat-icon{background:linear-gradient(135deg,#cb1957,#a01545);border-radius:12px;color:#fff;height:48px;justify-content:center;width:48px}.stat-content h3{color:#374151;font-size:16px;font-weight:600;margin:0 0 8px}.stat-numbers{display:flex;flex-direction:column;gap:4px}.stat-main{color:#cb1957;font-size:32px;font-weight:700}.stat-breakdown{color:#6b7280;display:flex;font-size:12px;gap:12px}.stat-confirmed{color:#10b981}.stat-pending{color:#f59e0b}.stat-cancelled{color:#ef4444}@media (max-width:768px){.dashboard-tabs,.filters-section{flex-direction:column}.holiday-form .form-row,.stats-grid{grid-template-columns:1fr}.reservations-table{overflow-x:auto}.action-buttons{flex-direction:column;gap:4px}}.business-hours-info{background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;color:#0369a1;font-size:14px;margin-bottom:16px;padding:12px 16px}.business-hours-info small{display:block;line-height:1.4}.closed-message{margin-bottom:16px}.closed-message .alert{margin:0;text-align:center}.closed-message .alert strong{display:block;font-size:16px;margin-bottom:8px}.closed-message .alert p{color:#856404;margin:0}.time-restrictions{margin-top:8px}.restriction-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.restriction-row input[type=time]{flex:1 1;max-width:120px}.restriction-row span{color:#666;font-size:14px}.restriction-row .btn-delete{min-width:auto;padding:4px 8px}
/*# sourceMappingURL=main.b7ced6f4.css.map*/