code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.reservation-page{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.reservation-content{width:100%}.calendar-section{box-shadow:0 2px 20px #0000001a;padding:30px}.calendar-header{border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.calendar-header h3{color:#495057;font-size:1.3rem;font-weight:500;margin:0}.week-nav-button{background:#ff9100;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:12px 24px}.week-nav-button:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.week-grid{grid-gap:15px;gap:15px}.day-column{border-radius:10px;min-height:200px}.day-header{background:#007bff;border-radius:10px 10px 0 0;padding:15px 10px}.day-name{font-size:15px;margin-bottom:5px}.day-date{font-size:13px}.slots-container{gap:10px;padding:15px}.slot-item{border-radius:8px;font-size:14px;padding:15px 10px}.slot-item:hover{background-color:#f8f9ff;border-color:#007bff;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.slot-item.selected{border-color:#28a745;color:#155724}.no-slots{font-size:13px;padding:40px 0}.modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;padding:0;width:100%}.selected-slot-info{background:#e7f3ff;border-radius:8px;font-size:18px;font-weight:700;line-height:1.5;margin-bottom:25px;padding:16px}.reservation-form{gap:20px}.form-group,.reservation-form{display:flex;flex-direction:column}.form-group input,.form-group textarea{border:1px solid #ced4da;border-radius:6px;font-size:14px;padding:12px;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.form-actions{display:flex;gap:8px;margin-top:10px}.submit-button{background:#007bff;padding:15px 25px;transition:all .3s ease}.submit-button:hover{background:#0056b3;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.cancel-button{background:#6c757d;border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease}.cancel-button:hover{background:#5a6268}@media (max-width:768px){.reservation-page{padding:15px}.header-spacer,.lector-name,.page-title{flex:none}.page-title{font-size:1.5rem}.week-grid{grid-template-columns:repeat(2,1fr)}.calendar-header{flex-direction:column;gap:15px}.calendar-header h3{order:-1}.modal{margin:20px;width:95%}.form-actions{flex-direction:column}.modal-body{padding:20px}}@media (max-width:480px){.week-grid{grid-template-columns:1fr}.calendar-section{padding:20px}.modal-header{padding:20px 20px 15px}.day-column{min-height:200px}}.reservation-warning{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;color:#856404;font-size:.9rem;line-height:1.4;margin-top:10px;padding:12px}.cancel-button:disabled,.close-button:disabled,.submit-button:disabled{cursor:not-allowed;opacity:.6}.form-group input:disabled,.form-group textarea:disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:.7}.reservation-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px 0}.lector-name{color:#333;flex:1 1;font-size:1.4rem;font-weight:600;text-align:left}.page-title{color:#000;flex:2 1;font-size:1.8rem;font-weight:700;margin:0;text-align:center}.header-spacer{flex:1 1}@media (max-width:768px){.reservation-header{flex-direction:column;gap:8px;text-align:center}.header-spacer,.lector-name,.page-title{flex:none;width:100%}.lector-name{margin-top:10px;order:3;text-align:center}.page-title{font-size:1.5rem;order:1}.header-spacer{display:none}}.confirmation-page{align-items:center;background:#eaeeff;display:flex;justify-content:center;min-height:100vh}.confirmation-container{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin:20px;max-width:600px;padding:20px;width:100%}.confirmation-header{margin-bottom:20px;text-align:center}.confirmation-header h1{color:#ff9100;font-size:1.8rem;margin-bottom:15px}.success-message{color:#666;font-size:1rem;line-height:1.5;margin-bottom:10px}.reservation-summary{background:#f8f9fa;border-radius:8px;margin-bottom:25px;padding:20px}.reservation-summary h2{color:#333;font-size:1.3rem;margin-bottom:15px;text-align:center}.summary-grid{display:flex;flex-direction:column;gap:8px}.summary-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:8px 0}.summary-item:last-child{border-bottom:none}.summary-item strong{color:#495057;font-size:.9rem;font-weight:600}.summary-item span{color:#333;font-size:.9rem;font-weight:500;text-align:right}.action-buttons{margin-bottom:20px;text-align:center}.new-reservation-btn{background:#ff9100;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:12px 30px;transition:background-color .2s}.support-info{border-top:1px solid #e9ecef;padding-top:20px;text-align:center}.support-info p{color:#666;font-size:.9rem;line-height:1.5}.support-info a{color:#007bff;text-decoration:none}.support-info a:hover{text-decoration:underline}.meet-link{color:#007bff;font-weight:600;text-decoration:none;word-break:break-all}.meet-link:hover{text-decoration:underline}@media (max-width:768px){.confirmation-container{margin:20px;padding:20px}.confirmation-header h1{font-size:1.5rem}.social-links{align-items:center;flex-direction:column}.social-link{text-align:center;width:150px}.summary-item{align-items:flex-start;flex-direction:column;gap:5px}.summary-item span{text-align:left}}.management-link{background:#f8f9fa;border-radius:8px;margin:20px 0;padding:15px;text-align:center}.management-link a{color:#007bff;font-weight:600;text-decoration:none}.management-link a:hover{text-decoration:underline}.management-note{color:#6c757d;font-style:italic;margin:0}.reservation-management-page{align-items:center;background:#eaeeff;display:flex;justify-content:center;min-height:100vh}.management-container{background:#fff;border-radius:12px;box-shadow:0 2px 20px #0000001a;max-width:600px;padding:20px;width:100%}.management-container h1{color:#ff9100;font-size:1.8rem;margin-bottom:15px;text-align:center}.reservation-details{background:#f8f9fa;border-radius:8px;margin-bottom:25px;padding:20px}.reservation-details h2{color:#495057;font-size:1.5rem;margin-bottom:20px}.details-grid{display:flex;flex-direction:column;gap:8px}.detail-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:8px 0}.detail-item:last-child{border-bottom:none}.detail-item strong{color:#495057;font-size:.9rem;font-weight:600}.detail-item span{color:#333;font-size:.9rem;font-weight:500;text-align:right}.status.aktívny{color:#28a745;font-weight:600}.status.zmenený{color:#ffc107;font-weight:600}.status.zrušený{color:#dc3545;font-weight:600}.management-actions{display:flex;gap:8px;justify-content:center;margin-top:30px}.action-button{border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease}.reschedule-button{background:#4b5892;color:#fff}.reschedule-button:hover{transform:translateY(-1px)}.cancel-button{background:#dc3545;color:#fff}.cancel-button:hover{background:#c82333;transform:translateY(-1px)}.action-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.status-message{background:#f8f9fa;border-radius:8px;margin-top:20px;padding:20px;text-align:center}.status-message p{color:#666;margin:0}.modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:25px 30px 20px}.modal-header h3{color:#333;font-size:1.4rem;margin:0}.close-button{align-items:center;background:none;border:none;color:#6c757d;cursor:pointer;display:flex;font-size:28px;height:30px;justify-content:center;padding:0;width:30px}.close-button:hover{color:#333}.close-button:disabled{cursor:not-allowed;opacity:.6}.modal-body{padding:30px}.calendar-section{background:#fff;border-radius:12px;padding:20px}.week-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(7,1fr);margin-bottom:20px}.day-column{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;flex-direction:column;min-height:150px}.day-header{background:#ff9100;border-radius:8px 8px 0 0;color:#fff;padding:10px 8px;text-align:center}.day-name{font-size:13px;font-weight:600;margin-bottom:3px}.day-date{font-size:12px;opacity:.9}.slot-item{background:#fff;border:2px solid #e9ecef;border-radius:6px;color:#495057;cursor:pointer;font-size:12px;font-weight:500;padding:8px 6px;text-align:center;transition:all .2s ease}.slot-item:hover:not(:disabled){background-color:#f8f9ff;border-color:#ff9100}.slot-item.selected{background-color:#f8fff9;border-color:#ff9100;color:#000}.slot-item:disabled{cursor:not-allowed;opacity:.6}.modal-actions{display:flex;gap:8px;justify-content:center;margin-top:20px}.submit-button{background:#4b5892;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px}.submit-button:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.secondary-button{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px}.secondary-button:hover:not(:disabled){background:#5a6268}.confirmation-message{margin-bottom:25px;text-align:center}.confirmation-message p{color:#333;margin-bottom:10px}.error-container{padding:40px;text-align:center}.error{color:#dc3545;font-size:1.1rem;margin-bottom:20px}.retry-button{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:12px 24px}.retry-button:hover{background:#0056b3}.management-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:1200px;overflow-y:auto;padding:0;width:100%}@media (max-width:1200px){.week-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:900px){.week-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.management-container{margin:20px;padding:20px}.management-container h1{font-size:1.5rem}.detail-item{align-items:flex-start;flex-direction:column;gap:5px}.detail-item span{text-align:left}.management-actions{flex-direction:column}.week-grid{grid-template-columns:repeat(2,1fr)}.calendar-header{flex-direction:column;gap:8px}.management-modal{margin:20px;width:100%}.modal-actions{flex-direction:column}.modal-body{padding:20px}h4{order:-1}}@media (max-width:480px){.week-grid{grid-template-columns:1fr}.calendar-section{padding:15px}.modal-header{padding:20px 20px 15px}}.loading-slots{align-items:center;color:#6c757d;display:flex;flex-direction:column;gap:10px;justify-content:center;padding:20px}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:20px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.modification-disabled{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;color:#856404;margin-top:20px;padding:20px;text-align:center}.modification-disabled p{margin:5px 0}.modification-disabled p:first-child{font-weight:600}.slots-container{display:flex;flex:1 1;flex-direction:column;gap:8px;min-height:100px;padding:10px}.no-slots{align-items:center;color:#6c757d;display:flex;font-size:12px;font-style:italic;height:100%;justify-content:center;padding:20px 0;text-align:center}.form-group{margin-bottom:20px}.form-group label{color:#495057;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-group textarea{border:1px solid #ced4da;border-radius:6px;font-family:inherit;font-size:14px;min-height:80px;padding:12px;resize:vertical;transition:border-color .3s ease;width:100%}.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.form-group textarea:disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:.7}.App{text-align:center}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#eaeeff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.loading-container{align-items:center;display:flex;height:100vh;justify-content:center}.loading{color:#666;font-size:1.2rem}
/*# sourceMappingURL=main.ae235d1e.css.map*/