*{box-sizing:border-box}html{height:100%}body{font-family:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;background-color:#f5f7fa;color:#333;margin:0;padding:0;min-height:100%;display:flex;flex-direction:column}.required{color:#e74c3c}.site-header{background:linear-gradient(135deg,#667eea 0,#005b98 100%);color:#fff;padding:60px 0;text-align:center;box-shadow:0 4px 6px rgba(0,0,0,.1)}.site-logo{margin-bottom:20px}.header-logo{max-height:120px;width:auto;background-color:#fff;padding:15px;border-radius:10px;box-shadow:0 4px 12px rgba(0,0,0,.2)}.site-title{font-size:42px;font-weight:700;margin:0 0 10px;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.site-subtitle{font-size:18px;margin:0;opacity:.95}.date-selection-section{padding:40px 0;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1)}.date-selector-box{max-width:600px;margin:0 auto;text-align:center}.date-label{display:block;font-size:20px;font-weight:600;color:#333;margin-bottom:15px}.date-picker{font-size:18px;padding:12px 20px;border:2px solid #ddd;border-radius:8px;background:#fff;transition:all .3s ease;cursor:pointer}.date-picker:focus{border-color:#667eea;outline:0;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.date-helper-text{display:block;margin-top:10px;color:#6c757d;font-size:14px}.flatpickr-calendar{font-family:"Roboto",sans-serif;border-radius:10px;box-shadow:0 10px 25px rgba(0,0,0,.15)}.flatpickr-day.endRange,.flatpickr-day.selected,.flatpickr-day.startRange{background:#667eea;border-color:#667eea}.flatpickr-day.nextMonthDay:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day:hover{background:rgba(102,126,234,.15)}.flatpickr-day.available-day{font-weight:600;color:#2c3e50}.flatpickr-day.unavailable-day{color:#ccc}.flatpickr-day.disabled,.flatpickr-day.disabled:hover{color:#c9c9c9;background:0 0;cursor:not-allowed}.instructions-section{padding:40px 0;background:#f8f9fa}.info-box{background:#fff;border-radius:10px;padding:30px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.info-box h3,.reservation-form-box h2{color:#667eea;margin-top:0;margin-bottom:25px;font-size:24px;border-bottom:2px solid #667eea;padding-bottom:10px}.instruction-block{margin-bottom:30px;padding:20px;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea}.instruction-block.warning{background:#fff3cd;border-left-color:#ffc107}.form-section h3,.instruction-block h4{color:#333;margin-top:0;margin-bottom:15px;font-size:18px}.instruction-block ul{margin:0;padding-left:20px}.instruction-block li{margin-bottom:8px;line-height:1.6}.reservation-section{padding:40px 0;flex:1}.reservation-form-box{background:#fff;border-radius:10px;padding:40px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.reservation-form-box h2{margin-bottom:30px;font-size:28px;padding-bottom:15px}.form-section{margin-bottom:40px}.form-section h3{margin-bottom:20px;font-size:22px;padding-bottom:10px;border-bottom:1px solid #eee}.lesson-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#e8ecff;color:#4c5bd4;margin-right:10px;font-size:16px}.lesson-icon.private{background:#eaf7ff;color:#2a85c5}.lesson-icon.group{background:#e8f5e9;color:#2e7d32}.lesson-icon.tapiklub{background:#fff3e0;color:#ef6c00}.section-note{font-size:14px;color:#5d6d7e;margin-bottom:15px}.form-group{margin-bottom:20px}.form-group label{font-weight:600;color:#555;margin-bottom:8px;display:block}.form-control{width:100%;padding:12px 15px;border:2px solid #ddd;border-radius:6px;font-size:16px;transition:all .3s ease;min-height:45px;line-height:1.5}.form-control select,select.form-control{height:auto;min-height:45px;padding:10px 15px;font-size:15px}.form-control:focus{border-color:#667eea;outline:0;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.help-block{font-size:13px;color:#666;margin-top:5px}#group-instructors-table,#ski-instructors-table,#snowboard-instructors-table,#tapiklub-instructors-table{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:20px}.instructors-table{width:100%;border-collapse:collapse;margin-top:0;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1);border-radius:8px;overflow:hidden}.instructors-table thead{background:linear-gradient(135deg,#667eea 0,#005b98 100%);color:#fff}.instructors-table th{padding:15px;text-align:center;font-weight:600;font-size:14px}.instructors-table td{padding:12px;text-align:center;border:1px solid #e0e0e0;vertical-align:middle}.instructors-table tbody tr:hover{background:#f8f9fa}.hour-cell{position:relative;min-width:80px;min-height:60px;cursor:pointer;transition:all .2s ease}.hour-cell.available{background:#d4edda;border:2px solid #28a745}.hour-cell.available:hover{background:#c3e6cb;transform:scale(1.05)}.hour-cell.occupied{background:#f8d7da;border:2px solid #dc3545;cursor:not-allowed;opacity:.7}.hour-cell.group-available{background:#d1ecf1;border:2px solid #17a2b8}.hour-cell.group-available:hover{background:#bee5eb;transform:scale(1.05)}.hour-cell.selected{background:#fff3cd;border:2px solid #ffc107;box-shadow:0 0 0 3px rgba(255,193,7,.3)}.hour-cell input[type=checkbox]{margin:0;cursor:pointer}.hour-cell-label{display:block;font-size:12px;font-weight:600;margin-top:5px}.hour-cell-capacity{display:block;font-size:11px;color:#666;margin-top:3px}.client-detail-box{background:#f8f9fa;border:2px solid #ddd;border-radius:8px;padding:20px;margin-bottom:15px}.client-detail-box h4{margin-top:0;margin-bottom:15px;color:#667eea;font-size:18px}.client-detail-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.client-detail-row:last-child{margin-bottom:0}.client-detail-label{font-weight:600;color:#555}.client-detail-value{color:#333}.client-detail-remove{margin-top:10px}.btn{padding:12px 24px;border-radius:6px;font-size:16px;font-weight:600;border:0;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block}.btn-primary{background:linear-gradient(135deg,#667eea 0,#005b98 100%);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#5568d3 0,#004a7f 100%);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.2)}.btn-primary:active{transform:translateY(0)}.btn-lg{padding:15px 40px;font-size:18px}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.btn-default{background:#6c757d;color:#fff}.btn-default:hover{background:#5a6268}.site-footer{background:#2c3e50;color:#fff;padding:30px 0;text-align:center;margin-top:auto}.site-footer p{margin:0;font-size:14px}.loading{text-align:center;padding:40px}.loading i{font-size:48px;color:#667eea}@media (max-width:768px){.site-title{font-size:32px}.reservation-form-box{padding:20px}#group-instructors-table,#ski-instructors-table,#snowboard-instructors-table,#tapiklub-instructors-table{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0-20px;padding:0 20px;position:relative}#group-instructors-table::after,#ski-instructors-table::after,#snowboard-instructors-table::after,#tapiklub-instructors-table::after{content:"← posuňte pro více →";position:absolute;right:20px;top:5px;font-size:10px;color:#999;pointer-events:none;opacity:.7}.instructors-table{font-size:11px;min-width:600px}.instructors-table th{padding:10px 6px;font-size:11px;white-space:nowrap}.instructors-table td{padding:8px 4px;font-size:11px}.instructors-table td:first-child,.instructors-table th:first-child{position:sticky;left:0;background:#fff;z-index:10;min-width:100px;box-shadow:2px 0 4px rgba(0,0,0,.1)}.instructors-table thead th:first-child{background:linear-gradient(135deg,#667eea 0,#005b98 100%)}.hour-cell{min-width:55px;min-height:45px;font-size:10px}.hour-cell-label{font-size:10px;margin-top:3px}.hour-cell-capacity{font-size:9px;margin-top:2px}.hour-cell input[type=checkbox]{width:18px;height:18px}}.checkbox{margin:20px 0}.checkbox label{font-weight:400;cursor:pointer}.checkbox input[type=checkbox]{margin-right:8px;cursor:pointer}.alert{padding:15px;border-radius:6px;margin-bottom:20px}.alert-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert-info{background:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.alert-warning{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}