/* Reset és alapok */
            * { margin: 0; padding: 0; box-sizing: border-box; }
            
            body { 
                font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif;
                background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
                min-height: 100vh;
                padding: 20px;
                color: #1f2937;
                line-height: 1.6;
            }
            
            /* Konténer */
            .app-container {
                max-width: 1400px;
                margin: 0 auto;
                background: #ffffff;
                border-radius: 16px;
                box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
                overflow: hidden;
            }
            
            /* Navigációs menü */
            .menu { 
                background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
                padding: 0;
                box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
            }
            
            .menu-wrapper {
                max-width: 1400px;
                margin: 0 auto;
                display: flex;
                flex-wrap: wrap;
                gap: 4px;
                padding: 12px 20px;
            }
            
            .menu a { 
                color: #fff;
                text-decoration: none;
                font-weight: 600;
                padding: 10px 18px;
                border-radius: 8px;
                transition: all 0.3s ease;
                background: rgba(255, 255, 255, 0.15);
                backdrop-filter: blur(10px);
                font-size: 14px;
                white-space: nowrap;
            }
            
            .menu a:hover { 
                background: rgba(255, 255, 255, 0.3);
                transform: translateY(-2px);
                box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            }
            
            /* Tartalom terület */
            .content-wrapper {
                padding: 30px;
                background: #fff;
            }
            
            /* Címek */
            h2 { 
                color: #2c3e50;
                font-size: 28px;
                font-weight: 700;
                margin-bottom: 24px;
                padding-bottom: 12px;
                border-bottom: 3px solid #3498db;
                display: inline-block;
            }
            
            h3 { 
                color: #34495e;
                font-size: 20px;
                font-weight: 600;
                margin: 20px 0 12px 0;
            }
            
            h4 {
                color: #4b5563;
                font-size: 16px;
                font-weight: 600;
                margin: 16px 0 8px 0;
            }
            
            /* Táblázatok */
            table { 
                border-collapse: collapse;
                width: 100%;
                background: #fff;
                border-radius: 12px;
                overflow: visible;
                box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
                margin: 20px 0;
            }
            
            table thead {
                display: table-header-group;
                width: 100%;
            }
            
            table tbody {
                display: table-row-group;
                width: 100%;
            }
            
            /* Booking history táblázat specifikus oszlopszélességek */
            #booking-history-table th:nth-child(1),
            #booking-history-table td:nth-child(1) { width: 50px; } /* ID */
            
            #booking-history-table th:nth-child(2),
            #booking-history-table td:nth-child(2) { 
                width: 200px; 
                text-align: left;
            } /* Név/Email */
            
            #booking-history-table th:nth-child(3),
            #booking-history-table td:nth-child(3) { 
                width: auto; 
                min-width: 150px;
                text-align: left;
            } /* Edzés */
            
            #booking-history-table th:nth-child(4),
            #booking-history-table td:nth-child(4) { width: 130px; } /* Időpont */
            
            #booking-history-table th:nth-child(5),
            #booking-history-table td:nth-child(5) { width: 100px; } /* Összeg */
            
            #booking-history-table th:nth-child(6),
            #booking-history-table td:nth-child(6) { width: 130px; } /* Foglalás Dátuma */
            
            #booking-history-table th:nth-child(7),
            #booking-history-table td:nth-child(7) { width: 120px; } /* Státusz */
            
            #booking-history-table th:nth-child(8),
            #booking-history-table td:nth-child(8) { width: 100px; } /* Művelet */
            
            th, td { 
                padding: 14px 16px;
                text-align: center;
                border-bottom: 1px solid #e5e7eb;
            }
            
            th { 
                background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
                color: white;
                font-weight: 600;
                font-size: 13px;
                text-transform: uppercase;
                letter-spacing: 0.5px;
            }
            
            td {
                color: #374151;
                font-size: 14px;
            }
            
            tr:hover {
                background: #f9fafb;
            }
            
            tr:last-child td {
                border-bottom: none;
            }
            
            /* Gombok */
            button, .btn, input[type='submit'] { 
                background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
                color: white;
                border: none;
                padding: 10px 20px;
                border-radius: 8px;
                font-weight: 600;
                font-size: 14px;
                cursor: pointer;
                transition: all 0.3s ease;
                box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
            }
            
            button:hover, .btn:hover, input[type='submit']:hover { 
                transform: translateY(-2px);
                box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
                background: linear-gradient(135deg, #2980b9 0%, #2471a3 100%);
            }
            
            button.success, .btn-success {
                background: linear-gradient(135deg, #27ae60 0%, #229954 100%);
            }
            
            button.success:hover, .btn-success:hover {
                background: linear-gradient(135deg, #229954 0%, #1e8449 100%);
            }
            
            button.danger, .btn-danger {
                background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
            }
            
            button.danger:hover, .btn-danger:hover {
                background: linear-gradient(135deg, #c0392b 0%, #a93226 100%);
            }
            
            button.warning, .btn-warning {
                background: linear-gradient(135deg, #f39c12 0%, #d68910 100%);
            }
            
            button:active, .btn:active, input[type='submit']:active {
                transform: translateY(0);
            }
            
            /* Sikeres és hiba üzenetek */
            .success-msg { 
                color: #0c5c3c;
                background: linear-gradient(135deg, #d5f4e6 0%, #abebc6 100%);
                border-left: 4px solid #27ae60;
                padding: 16px 20px;
                border-radius: 8px;
                margin-bottom: 20px;
                box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
                font-weight: 500;
            }
            
            .error-msg { 
                color: #7b241c;
                background: linear-gradient(135deg, #fadbd8 0%, #f5b7b1 100%);
                border-left: 4px solid #e74c3c;
                padding: 16px 20px;
                border-radius: 8px;
                margin-bottom: 20px;
                box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
                font-weight: 500;
            }
            
            .warning-msg {
                color: #7d6608;
                background: linear-gradient(135deg, #fcf3cf 0%, #f9e79f 100%);
                border-left: 4px solid #f39c12;
                padding: 16px 20px;
                border-radius: 8px;
                margin-bottom: 20px;
                box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
                font-weight: 500;
            }
            
            .info-box {
                background: linear-gradient(135deg, #d6eaf8 0%, #aed6f1 100%);
                border-left: 4px solid #3498db;
                padding: 16px 20px;
                border-radius: 8px;
                margin: 20px 0;
                color: #1b4f72;
            }
            
            /* Form elemek */
            input[type='text'], 
            input[type='email'], 
            input[type='password'], 
            input[type='number'],
            input[type='date'],
            input[type='time'],
            select,
            textarea {
                width: 100%;
                padding: 12px 16px;
                border: 2px solid #e5e7eb;
                border-radius: 8px;
                font-size: 14px;
                transition: all 0.3s ease;
                background: #fff;
                color: #1f2937;
            }
            
            input:focus, select:focus, textarea:focus {
                outline: none;
                border-color: #3498db;
                box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.1);
            }
            
            label {
                display: block;
                margin-bottom: 8px;
                color: #374151;
                font-weight: 600;
                font-size: 14px;
            }
            
            .form-group {
                margin-bottom: 20px;
            }
            
            /* Stat dobozok */
            .stat-box {
                background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
                color: white;
                padding: 25px;
                border-radius: 12px;
                box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
                text-align: center;
            }
            
            .stat-box h4 {
                margin: 0 0 10px 0;
                color: rgba(255, 255, 255, 0.9);
                font-size: 14px;
                text-transform: uppercase;
                letter-spacing: 1px;
            }
            
            .stat-box p {
                margin: 0;
                font-size: 32px;
                font-weight: 700;
                color: #ffffff;
            }
            
            /* Naptár */
            .month-nav {
                display: flex;
                justify-content: space-between;
                align-items: center;
                margin-bottom: 20px;
                padding: 15px;
                background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
                border-radius: 12px;
                color: white;
            }
            
            .month-nav h3 {
                margin: 0;
                color: white;
            }
            
            .calendar {
                display: grid;
                grid-template-columns: repeat(7, 1fr);
                gap: 8px;
                margin: 20px 0;
            }
            
            .day-header {
                background: #2c3e50;
                color: white;
                padding: 12px;
                text-align: center;
                font-weight: 600;
                border-radius: 8px;
                font-size: 12px;
            }
            
            .day {
                background: #f8f9fa;
                padding: 15px;
                text-align: center;
                border-radius: 8px;
                min-height: 80px;
                display: flex;
                flex-direction: column;
                gap: 4px;
                transition: all 0.3s ease;
                border: 2px solid transparent;
            }
            
            .day:hover {
                border-color: #3498db;
                box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
            }
            
            .day.empty {
                background: transparent;
            }
            
            .day.has-appointments {
                background: linear-gradient(135deg, #d5f4e6 0%, #abebc6 100%);
                border-color: #27ae60;
                cursor: pointer;
            }
            
            .day .date {
                font-weight: 700;
                color: #2c3e50;
                font-size: 16px;
            }
            
            .day .appointments {
                font-size: 11px;
                color: #27ae60;
                font-weight: 600;
            }
            
            /* Heti nézet */
            .week-nav {
                background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
                border-radius: 12px;
                padding: 20px;
                margin-bottom: 20px;
                color: white;
            }
            
            .week-nav-inner {
                display: flex;
                justify-content: space-between;
                align-items: center;
                gap: 15px;
            }
            
            .week-nav-center {
                flex: 1;
                text-align: center;
            }
            
            .week-nav-center h3 {
                margin: 0 0 5px 0;
                color: white;
                font-size: 22px;
            }
            
            .week-nav-center p {
                margin: 0;
                color: rgba(255, 255, 255, 0.9);
                font-size: 14px;
            }
            
            .week-today-btn {
                text-align: center;
                margin: 15px 0;
            }
            
            /* Training card */
            .training-card {
                background: #fff;
                border: 2px solid #e5e7eb;
                border-radius: 12px;
                padding: 20px;
                margin-bottom: 20px;
                box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
            }
            
            .training-card h3 {
                margin: 0 0 15px 0;
                color: #2c3e50;
                display: flex;
                align-items: center;
                gap: 10px;
            }
            
            .training-card h3 span {
                font-size: 14px;
                color: #6b7280;
                font-weight: 500;
            }
            
            .table-responsive {
                width: 100%;
                overflow-x: auto;
                -webkit-overflow-scrolling: touch;
            }
            
            /* Grid rendszer */
            .grid {
                display: grid;
                gap: 20px;
                margin: 20px 0;
            }
            
            .grid-2 { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
            .grid-3 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
            .grid-4 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
            
            
            /* Gomb csoportok */
            .button-group {
                display: flex;
                gap: 8px;
                flex-wrap: wrap;
                align-items: center;
                margin: 15px 0;
            }
            
            .button-group button,
            .button-group a {
                white-space: nowrap;
            }
            /* Modal stílusok */
            .modal {
                position: fixed;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: rgba(0, 0, 0, 0.6);
                backdrop-filter: blur(4px);
                z-index: 9999;
                display: flex;
                align-items: center;
                justify-content: center;
                padding: 20px;
            }
            
            .modal-content {
                background: white;
                padding: 30px;
                border-radius: 16px;
                max-width: 500px;
                width: 100%;
                box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2);
                animation: modalSlideIn 0.3s ease;
            }
            
            @keyframes modalSlideIn {
                from {
                    opacity: 0;
                    transform: translateY(-20px);
                }
                to {
                    opacity: 1;
                    transform: translateY(0);
                }
            }
            
            .modal-content h3 {
                margin: 0 0 20px 0;
                color: #2c3e50;
                font-size: 22px;
            }
            
            .modal-buttons {
                display: flex;
                gap: 10px;
                justify-content: flex-end;
                margin-top: 25px;
                flex-wrap: wrap;
            }
            
            .modal-buttons button {
                min-width: 100px;
            }
            
            /* Badge-ek */
            .badge {
                display: inline-block;
                padding: 4px 12px;
                border-radius: 12px;
                font-size: 12px;
                font-weight: 600;
                text-transform: uppercase;
                letter-spacing: 0.5px;
            }
            
            .badge-success {
                background: #d5f4e6;
                color: #0c5c3c;
            }
            
            .badge-danger {
                background: #fadbd8;
                color: #7b241c;
            }
            
            /* Desktop kártya nézet - Booking History */
            .desktop-cards {
                display: grid;
                grid-template-columns: repeat(auto-fill, minmax(500px, 1fr));
                gap: 16px;
                margin: 20px 0;
            }
            
            .desktop-booking-card {
                background: #fff;
                border: 1px solid #e5e7eb;
                border-radius: 12px;
                padding: 20px;
                box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
                transition: all 0.3s ease;
            }
            
            .desktop-booking-card:hover {
                box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
                transform: translateY(-2px);
            }
            
            .desktop-card-header {
                display: flex;
                justify-content: space-between;
                align-items: center;
                margin-bottom: 16px;
                padding-bottom: 12px;
                border-bottom: 2px solid #e5e7eb;
            }
            
            .desktop-card-id {
                font-size: 14px;
                font-weight: 700;
                color: #6b7280;
                text-transform: uppercase;
                letter-spacing: 0.5px;
            }
            
            .desktop-card-body {
                display: flex;
                flex-direction: column;
                gap: 16px;
            }
            
            .desktop-card-main {
                display: flex;
                flex-direction: column;
                gap: 8px;
            }
            
            .desktop-card-training {
                font-size: 18px;
                font-weight: 700;
                color: #2c3e50;
                line-height: 1.3;
            }
            
            .desktop-card-user {
                font-size: 14px;
                color: #4b5563;
            }
            
            .desktop-card-details {
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                gap: 12px;
                padding-top: 12px;
                border-top: 1px solid #f3f4f6;
            }
            
            .desktop-card-detail {
                display: flex;
                flex-direction: column;
                gap: 4px;
            }
            
            .detail-label {
                font-size: 11px;
                color: #6b7280;
                font-weight: 600;
                text-transform: uppercase;
                letter-spacing: 0.5px;
            }
            
            .detail-value {
                font-size: 14px;
                color: #1f2937;
                font-weight: 600;
            }
            
            .desktop-card-actions {
                margin-top: 8px;
                padding-top: 16px;
                border-top: 1px solid #e5e7eb;
            }
            
            .desktop-card-actions button {
                width: 100%;
            }
            
            /* Mobil kártya nézet - Desktop-on elrejtve */
            .mobile-card {
                display: none;
            }
            
            #booking-history-mobile {
                display: none;
            }
            
            #booking-history-container {
                display: block;
            }
            
            /* Reszponzív design */
            @media (max-width: 768px) {
                body { padding: 10px; }
                .content-wrapper { padding: 15px 10px; }
                h2 { font-size: 20px; }
                h3 { font-size: 18px; }
                .menu-wrapper { padding: 10px; gap: 6px; }
                .menu a { padding: 8px 12px; font-size: 12px; }
                
                /* Desktop kártyák elrejtése mobilon */
                .desktop-cards {
                    display: none !important;
                }
                
                #booking-history-container {
                    display: none !important;
                }
                
                #booking-history-mobile {
                    display: block !important;
                }
                
                /* Táblázatok elrejtése mobilon */
                .table-responsive table {
                    display: none;
                }
                
                /* Mobil kártya nézet megjelenítése */
                .mobile-card {
                    display: block;
                    background: #fff;
                    border: 1px solid #e5e7eb;
                    border-radius: 12px;
                    padding: 16px;
                    margin-bottom: 12px;
                    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
                }
                
                .mobile-card-header {
                    display: flex;
                    justify-content: space-between;
                    align-items: flex-start;
                    margin-bottom: 12px;
                    padding-bottom: 12px;
                    border-bottom: 2px solid #e5e7eb;
                }
                
                .mobile-card-title {
                    font-size: 16px;
                    font-weight: 700;
                    color: #2c3e50;
                    flex: 1;
                }
                
                .mobile-card-badge {
                    margin-left: 10px;
                }
                
                .mobile-card-body {
                    display: flex;
                    flex-direction: column;
                    gap: 8px;
                }
                
                .mobile-card-row {
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    padding: 6px 0;
                }
                
                .mobile-card-label {
                    font-size: 12px;
                    color: #6b7280;
                    font-weight: 600;
                    text-transform: uppercase;
                    letter-spacing: 0.5px;
                }
                
                .mobile-card-value {
                    font-size: 14px;
                    color: #1f2937;
                    font-weight: 600;
                    text-align: right;
                }
                
                .mobile-card-actions {
                    margin-top: 12px;
                    padding-top: 12px;
                    border-top: 1px solid #e5e7eb;
                    display: flex;
                    gap: 8px;
                    flex-wrap: wrap;
                }
                
                .mobile-card-actions button,
                .mobile-card-actions .btn {
                    flex: 1;
                    min-width: calc(50% - 4px);
                    padding: 10px 12px;
                    font-size: 13px;
                    justify-content: center;
                    text-align: center;
                }
                
                /* Gombok mobilon */
                button, .btn {
                    padding: 8px 14px;
                    font-size: 13px;
                }
                
                .grid { gap: 15px; }
                .stat-box p { font-size: 22px; }
                
                .week-nav-inner {
                    flex-direction: column;
                }
                
                .week-nav .btn {
                    width: 100%;
                }
                
                .training-card {
                    padding: 15px;
                }
                
                .training-card h3 {
                    font-size: 16px;
                    flex-wrap: wrap;
                }
                
                .button-group {
                    gap: 6px;
                }
            }
            
            @media (max-width: 480px) {
                .menu-wrapper { 
                    flex-direction: column;
                    gap: 8px;
                }
                .menu a { 
                    width: 100%;
                    text-align: center;
                }
            }