.App{display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh}.content{flex:1 1;margin:0 auto;max-width:1200px;padding:20px;width:100%}.loading{align-items:center;color:#2c3e50;display:flex;font-size:1.5rem;height:100vh;justify-content:center}.error{background-color:#f8d7da;border-radius:5px;color:#721c24;margin:20px;padding:15px;text-align:center}.funky-title{color:#e74c3c;font-size:2.5rem;margin:20px 0}.funky-title span{animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 10px #0000001a;color:#fff;padding:1rem 2rem;position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px}.header-title{font-size:1.5rem}.funky-title,.header-title{align-items:center;display:flex;font-weight:700;gap:.5rem;margin:0}.funky-title{color:#fff;font-size:1.8rem;text-shadow:2px 2px 4px #0000004d}.funky-title span{font-size:2rem}.header-nav{align-items:center;display:flex;gap:1rem;justify-content:center;width:100%}.nav-button{background:#fff3;border:2px solid #ffffff4d;border-radius:25px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease}.nav-button:hover{background:#ffffff4d;border-color:#ffffff80;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.admin-button{background:linear-gradient(135deg,#f093fb,#f5576c);border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;padding:.5rem 1rem;transition:all .3s ease}.admin-button:hover{background:linear-gradient(135deg,#f5576c,#f093fb);box-shadow:0 4px 12px #f5576c4d;transform:translateY(-2px)}.admin-indicator{background:linear-gradient(135deg,#4ecdc4,#44a08d);border:2px solid #ffffff4d;border-radius:20px;color:#fff;font-size:.8rem;font-weight:700;padding:.3rem .8rem}.logo-container{align-items:center;display:flex;justify-content:center;width:100%}.admin-fab{background:linear-gradient(135deg,#f093fb,#f5576c);border:none;border-radius:50px;bottom:24px;box-shadow:0 4px 16px #3b82f626;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:14px 28px;position:fixed;right:24px;transition:background .2s,box-shadow .2s,transform .1s;z-index:2000}.admin-fab:hover{background:linear-gradient(135deg,#f5576c,#f093fb);box-shadow:0 8px 24px #f5576c2e;transform:translateY(-2px) scale(1.04)}@media (max-width:768px){.app-header{padding:1rem}.header-content{flex-direction:column;gap:1rem}.funky-title{font-size:1.5rem;text-align:center}.header-nav{flex-wrap:wrap;justify-content:center}.nav-button{font-size:.8rem;padding:.4rem .8rem}}.calendar-container{background:#fff;border-radius:14px;box-shadow:0 4px 24px #3b82f614;font-family:Montserrat,Segoe UI,Arial,sans-serif;margin-bottom:32px;padding:32px 28px 24px}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.month-nav-button{background:#f1f5f9;border:none;border-radius:8px;color:#334155;cursor:pointer;font-size:1rem;font-weight:600;padding:10px 18px;transition:background .2s}.month-nav-button:hover{background:#e0e7ef}.calendar-grid{background:#f8fafc;border-radius:12px;box-shadow:0 2px 8px #10b9810f;min-width:420px;overflow-x:auto;padding:18px 10px 10px}.calendar-dates,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-date,.calendar-day-header{font-size:1em;max-width:70px;min-width:56px;padding:4px 0;text-align:center}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.calendar-day-header{color:#2563eb;font-size:1rem;font-weight:700;letter-spacing:.02em;padding:8px 0;text-align:center}.calendar-dates{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(7,1fr)}.calendar-date{align-items:flex-start;background:#fff;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-start;min-height:54px;padding:8px 6px 6px 8px;position:relative;transition:box-shadow .2s,transform .1s,background .2s}.calendar-date.current-month{opacity:1}.calendar-date.other-month{opacity:.45}.calendar-date.selected-date{background:#e0f2fe;border:2px solid #3b82f6;z-index:2}.calendar-date.in-season{box-shadow:0 2px 8px #10b9810f}.calendar-date.off-season{background:#f1f5f9;color:#94a3b8}.calendar-date.clickable:hover{background:#dbeafe;box-shadow:0 6px 24px #3b82f621;transform:translateY(-2px) scale(1.03)}.calendar-date.full-day{background:#fee2e2!important;border:2px solid #ef4444!important}.calendar-date.available-day{background:#d1fae5!important}.calendar-date.has-reservations{background:linear-gradient(135deg,#dbeafe,#bfdbfe)!important;border:2px solid #3b82f6!important;box-shadow:0 0 0 2px #3b82f633}.calendar-date.has-reservations:hover{background:linear-gradient(135deg,#bfdbfe,#93c5fd)!important;box-shadow:0 8px 25px #3b82f64d;transform:translateY(-3px) scale(1.05)}.calendar-date.has-reservations .date-number{color:#1e40af;font-weight:700}.calendar-date.has-reservations .participants-count{color:#1e40af;font-size:.8rem;font-weight:600}.calendar-date.available-day{background:linear-gradient(135deg,#ecfdf5,#d1fae5)!important;border:2px solid #10b981!important;box-shadow:0 0 0 1px #10b98133}.calendar-date.available-day:hover{background:linear-gradient(135deg,#d1fae5,#bbf7d0)!important;box-shadow:0 6px 20px #10b9814d;transform:translateY(-2px) scale(1.03)}.calendar-date.available-day .date-number{color:#059669;font-weight:600}.calendar-date.available-day .session-count{color:#059669;font-weight:500}.calendar-date.off-season{background:#f1f5f9!important;border:1px solid #cbd5e1!important;color:#64748b;opacity:.7}.calendar-date.off-season .date-number{color:#64748b}.calendar-date.no-sessions{background:#fff!important;border:1px solid #e2e8f0!important}.calendar-legend{background:#f8fafce6;border:1px solid #e2e8f0;border-radius:8px;padding:12px 16px}.legend-item{align-items:center;color:#334155;display:flex;font-size:.9rem;gap:6px}.legend-indicator.has-reservations{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-color:#3b82f6}.legend-indicator.available{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981}.legend-indicator{border:2px solid #e5e7eb;border-radius:50%;display:inline-block;height:16px;width:16px}.legend-indicator.off-season{background:#f1f5f9;border-color:#cbd5e1}.legend-indicator.blocked{background:#ef4444}.legend-indicator.booked{background:#10b981}@media (max-width:700px){.calendar-container{padding:10px 2vw}.calendar-header h2{font-size:1.1em}.calendar-grid{min-width:100vw;overflow-x:auto}.calendar-date,.calendar-day-header{font-size:.93em;max-width:44px;min-width:40px;padding:2px 0}.calendar-date .session-info{font-size:.8em;padding:0 2px}.calendar-legend{flex-direction:column;font-size:.95em;gap:4px}}.daily-view-container{background:#fff;border-radius:14px;box-shadow:0 4px 24px #3b82f614;font-family:Montserrat,Segoe UI,Arial,sans-serif;padding:32px 28px 24px}.daily-view-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.back-button{border-radius:8px;padding:10px 18px}.date-navigation{display:flex;gap:12px}.date-nav-button{background:#f1f5f9;border:none;border-radius:8px;color:#334155;cursor:pointer;font-size:1rem;padding:10px 18px;transition:background .2s}.date-nav-button:hover{background:#e0e7ef}.sessions-list{margin-top:24px}.sessions-list h3{color:#2563eb;font-weight:700;margin-bottom:18px}.session-item{border:none;border-radius:10px;box-shadow:0 2px 8px #10b9810f;cursor:pointer;display:flex;flex-direction:column;margin-bottom:18px;padding:18px;transition:transform .2s,box-shadow .2s}.session-item:hover{box-shadow:0 6px 24px #3b82f621;transform:translateY(-2px) scale(1.01)}.session-item.blocked{background-color:#fee2e2;border-left:5px solid #ef4444}.session-item.has-participants{background-color:#d1fae5;border-left:5px solid #10b981}.session-item.empty{background-color:#e0f2fe;border-left:5px solid #0ea5e9}.session-item.available{background-color:#f8fafc;border-left:5px solid #94a3b8}.session-item.disabled{cursor:not-allowed;opacity:.7;pointer-events:none}.session-item.extended-hour{background-color:#fef9c3;border-left:5px solid #f59e0b}.session-item.extended-hour:hover{background-color:#fef08a}.extended-badge{background:#f59e0b;border-radius:8px;color:#fff;display:inline-block;font-size:.75rem;font-weight:700;margin-left:10px;padding:2px 8px;vertical-align:middle}.session-time{color:#1e293b;font-size:1.2rem;font-weight:700;margin-bottom:8px}.session-status{align-items:center;display:flex;margin-bottom:5px}.blocked-status{color:#ef4444;font-weight:700}.participants-status{color:#10b981}.available-status{color:#94a3b8}.block-reason{color:#ef4444;font-size:.95rem}.payment-summary{font-size:1rem;gap:18px;margin-top:18px}.payment-summary .paid{color:#10b981}.payment-summary .unpaid{color:#f59e0b}.payment-summary .total-only{color:#3b82f6;font-size:.95rem;font-style:italic}.off-season-message{background-color:#f1f5f9;border-radius:12px;color:#334155;font-size:1.1rem;margin-top:24px;padding:32px;text-align:center}.calendar-button{background:linear-gradient(90deg,#10b981,#3b82f6);border:none;border-radius:8px;box-shadow:0 2px 8px #10b9811a;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:18px;padding:12px 28px;transition:background .2s,box-shadow .2s,transform .1s}.calendar-button:hover{background:linear-gradient(90deg,#059669,#2563eb);box-shadow:0 6px 24px #3b82f621;transform:translateY(-2px) scale(1.03)}.session-item.closed{background-color:#f1f5f9;border-left:5px solid #94a3b8;cursor:not-allowed!important;opacity:.7}.session-item.blocked-admin{background-color:#fef2f2;border-left:5px solid #dc2626;opacity:.8}.session-item.blocked-group{background-color:#fef3c7;border-left:5px solid #f59e0b}.status-closed{color:#64748b;font-style:italic}.status-blocked-admin{color:#dc2626;font-weight:700}.status-blocked-group{color:#d97706;font-weight:700}.status-empty{color:#059669}.status-has-participants{color:#10b981}.admin-controls{display:flex;gap:8px;margin-top:8px}.admin-controls button{border-radius:4px;font-size:.85rem;padding:4px 8px}.session-item.closed .session-status{align-items:center;display:flex;gap:8px}.session-item.closed .session-status:before{content:"🔒";font-size:.9rem}.session-item.blocked-admin .session-status:before{content:"❌";font-size:.9rem}.session-item.blocked-group .session-status:before{content:"👥";font-size:.9rem}.evening-slot-btn{align-items:center;background:#1e88e5;border:none;border-radius:20px;box-shadow:0 1px 4px #0001;color:#fff;cursor:pointer;display:flex;font-size:1em;font-weight:500;margin-bottom:6px;margin-right:6px;padding:8px 18px;transition:background .2s}.evening-slot-btn:focus,.evening-slot-btn:hover{background:#1565c0}.action-button{align-items:center;background:#1976d2;border:none;border-radius:18px;box-shadow:0 1px 4px #0001;color:#fff;cursor:pointer;display:flex;font-size:1em;font-weight:500;gap:6px;margin:0 4px 8px 0;padding:8px 20px;transition:background .2s,transform .1s}.action-button:focus,.action-button:hover{background:#1251a3;transform:translateY(-2px) scale(1.03)}@media (max-width:700px){.daily-view-container{padding:12px 2vw}.session-item{padding:10px}.calendar-button{font-size:.95rem;padding:10px 12px}}.session-details-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;font-family:Montserrat,Segoe UI,Arial,sans-serif;padding:20px}.session-details-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.blocked-session{margin-top:20px}.blocked-notification{background:linear-gradient(135deg,#fee2e2,#fecaca);border-left:4px solid #ef4444;border-radius:8px;color:#7f1d1d;font-size:1rem;margin-bottom:20px;padding:15px 20px}.blocked-notification h3{color:#ef4444;margin-bottom:10px}.unblock-button{background-color:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:10px 15px;transition:background-color .3s}.unblock-button:hover{background-color:#dc2626}.participants-section{margin-bottom:30px;margin-top:20px}.participants-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.add-participant-button{background-color:#10b981;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 12px;transition:background-color .3s}.add-participant-button:hover{background-color:#059669}.participants-table{border-collapse:collapse;margin-bottom:20px;width:100%}.participants-table td,.participants-table th{border-bottom:1px solid #e2e8f0;padding:12px;text-align:left}.participants-table th{background-color:#f8fafc;font-weight:700}.payment-status-button{border:none;border-radius:20px;cursor:pointer;font-size:.9rem;padding:6px 10px}.payment-status-button.paid{background-color:#d1fae5;color:#10b981}.payment-status-button.unpaid{background-color:#fef3c7;color:#f59e0b}.delete-button{background-color:initial;border:none;color:#ef4444;cursor:pointer}.delete-button:hover{text-decoration:underline}.no-participants{background-color:#f8fafc;border-radius:6px;padding:20px;text-align:center}.payment-summary{display:flex;gap:20px;margin-top:15px}.summary-item{align-items:center;display:flex;gap:8px}.summary-item .count{font-size:1.5rem;font-weight:700}.summary-item.paid{color:#10b981}.summary-item.unpaid{color:#f59e0b}.block-session-section{background-color:#fee2e2;border-radius:8px;margin-top:30px;padding:20px}.block-session-section h3{color:#ef4444;margin-bottom:10px}.warning{color:#ef4444;font-size:.9rem;margin-bottom:15px}.block-button{background-color:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:10px 15px;transition:background-color .3s}.block-button:hover{background-color:#dc2626}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;max-width:500px;padding:20px;width:100%}.form-group,.modal-content h3{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px}.block-reason-input{border:1px solid #cbd5e1;border-radius:4px;padding:10px;width:100%}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.cancel-button{background-color:#f1f5f9;border-radius:4px;color:#4b5563;padding:10px 15px}.confirm-button{background-color:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:10px 15px}.no-session-selected{background-color:#f8fafc;border-radius:8px;margin:20px 0;padding:40px 20px;text-align:center}.add-participant-button,.block-button,.unblock-button{box-shadow:0 2px 8px #10b9811a;font-size:1rem;font-weight:700;transition:all .2s}.add-participant-button:hover,.block-button:hover,.unblock-button:hover{box-shadow:0 6px 24px #3b82f621;transform:translateY(-2px)}.participants-simple-list{background:#f8fafc;border-radius:12px;margin-bottom:20px;padding:20px}.participant-simple-item{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;margin-bottom:8px;padding:12px 16px}.participant-simple-item:last-child{margin-bottom:0}.participant-number{color:#334155;font-weight:600}.participant-players{color:#10b981;font-weight:500}.payment-summary .admin-only{display:none}@media (max-width:768px){.session-details-container{padding:12px}.session-details-header{flex-direction:column;gap:12px;text-align:center}.participants-table td,.participants-table th{font-size:.95rem;padding:8px}.participant-simple-item{flex-direction:column;gap:8px;text-align:center}}.add-participant-container{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014;font-family:Montserrat,Segoe UI,Arial,sans-serif;margin:40px auto;max-width:480px;padding:32px 28px 24px}.add-participant-header{align-items:center;display:flex;gap:16px;margin-bottom:18px}.add-participant-header h2{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0}.back-button{background:#f1f5f9;border:none;border-radius:6px;color:#334155;cursor:pointer;font-size:1rem;padding:8px 14px;transition:background .2s}.back-button:hover{background:#e0e7ef}.session-info{background:#f1f5f9;border-radius:6px;color:#334155;font-size:1rem;margin-bottom:20px;padding:10px 14px}.participant-form{gap:18px}.form-group,.participant-form{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:#334155;font-size:1rem;font-weight:600}.form-input{background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;color:#1e293b;font-size:1rem;padding:10px 12px;transition:border .2s}.form-input:focus{border:1.5px solid #3b82f6;outline:none}.checkbox-group{align-items:center;flex-direction:row;gap:10px}.form-checkbox{accent-color:#10b981;height:18px;width:18px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:10px}.cancel-button{background:#f1f5f9;border:none;border-radius:6px;color:#334155;cursor:pointer;font-weight:600;padding:9px 18px;transition:background .2s}.cancel-button:hover{background:#e0e7ef}.submit-button{background:linear-gradient(90deg,#10b981,#3b82f6);border:none;border-radius:6px;box-shadow:0 2px 8px #10b98114;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:9px 22px;transition:background .2s,box-shadow .2s}.submit-button:hover{background:linear-gradient(90deg,#059669,#2563eb);box-shadow:0 4px 16px #3b82f61a}@media (max-width:600px){.add-participant-container{max-width:98vw;padding:18px 6px 14px}.add-participant-header h2{font-size:1.1rem}}.funky-title{color:#1e293b;font-size:2rem;font-weight:800;margin:0 0 24px;text-align:center}.funky-title span{display:inline-block;font-size:1.2rem;line-height:1;margin-right:8px;vertical-align:middle}.app-footer{background-color:#2c3e50;color:#fff;margin-top:20px;padding:15px;text-align:center}
/*# sourceMappingURL=main.de6cd82e.css.map*/