﻿:root{--color-primary: #007B5F;--color-primary-dark: #006550;--color-primary-light: #00a07d;--color-secondary: #A6D700;--color-secondary-dark: #8fb800;--color-secondary-light: #b8e033;--color-dark: #32373c;--color-dark-hover: #1f2226;--color-accent-warm: #ff8c42;--color-accent-green: #66cc99;--color-accent-blue: #4a90e2;--color-white: #ffffff;--color-gray-50: #FAFAFA;--color-gray-100: #f5f5f5;--color-gray-200: #eeeeee;--color-gray-300: #e0e0e0;--color-gray-400: #bdbdbd;--color-gray-600: #757575;--color-gray-800: #424242;--color-text-primary: #333333;--color-text-secondary: #5f5f5f;--color-text-muted: #9e9e9e;--color-border: #DDDDDD;--color-background: #FAFAFA;--color-card-background: #ffffff;--color-card-background-hover: #f0faf7;--color-success: #007B5F;--color-error: #e74c3c;--color-warning: #A6D700;--color-info: #4a90e2;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);--spacing-xs: 0.25rem;--spacing-sm: 0.5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: 0.25rem;--radius-md: 0.5rem;--radius-lg: 1rem;--radius-full: 9999px;--font-size-xs: 0.75rem;--font-size-sm: 0.875rem;--font-size-base: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.25rem;--font-size-4xl: 2.625rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700}*{box-sizing:border-box}html{overflow-x:hidden;overflow-y:auto;height:100%}body{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;font-size:var(--font-size-base);line-height:1.6;color:var(--color-text-primary);background-color:var(--color-background);margin:0;padding:0;min-height:100%;display:flex;flex-direction:column;overflow-x:hidden}.main-content{flex:1;padding-bottom:var(--spacing-3xl)}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:var(--spacing-md);font-weight:var(--font-weight-bold);line-height:1.3;color:var(--color-text-primary)}h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}p{margin-top:0;margin-bottom:var(--spacing-md);color:var(--color-text-secondary)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.container-sm{max-width:800px;margin:0 auto;padding:0 var(--spacing-md)}.section{padding:var(--spacing-2xl) 0}.section-header{margin-bottom:var(--spacing-xl);text-align:center}.card{background-color:var(--color-card-background);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg);transition:box-shadow 0.3s ease, transform 0.3s ease}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-header{margin-bottom:var(--spacing-sm);padding-bottom:0;border-bottom:none}.card-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0;color:var(--color-text-primary)}.card-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-sm)}.card-body{padding:var(--spacing-md) 0}.card-footer{margin-top:var(--spacing-md);padding-top:0;border-top:none;display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.card-footer-vertical{flex-direction:column;align-items:flex-end}.btn{display:inline-flex;align-items:center;justify-content:center;padding:0.75rem 1.5rem;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all 0.2s ease;text-decoration:none;white-space:nowrap;gap:var(--spacing-sm)}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);text-decoration:none;color:inherit}.btn:active{transform:translateY(0)}.btn:disabled{opacity:0.5;cursor:not-allowed;transform:none}.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background-color:var(--color-primary-dark);color:var(--color-white)}.btn-secondary{background-color:var(--color-secondary);color:var(--color-white);border:none}.btn-secondary:hover{background-color:var(--color-secondary-dark);color:var(--color-white)}.btn-menu-back{background-color:#5a7a6e;color:var(--color-white);border:none;padding:12px 30px;font-weight:bold}.btn-menu-back:hover{background-color:#4a6a5e;color:var(--color-white)}.btn-outline{background-color:transparent;color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-outline:hover{background-color:var(--color-gray-50);border-color:var(--color-gray-300)}.btn-sm{padding:0.5rem 1rem;font-size:var(--font-size-sm)}.btn-lg{padding:1rem 2rem;font-size:var(--font-size-lg)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm)}.form-label-required::after{content:" *";color:var(--color-error)}.form-input,.form-textarea,.form-select{width:100%;padding:0.75rem 1rem;font-size:var(--font-size-base);line-height:1.5;color:var(--color-text-primary);background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color 0.2s ease, box-shadow 0.2s ease}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(0,123,95,0.1)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-textarea{min-height:120px;resize:vertical}.form-help-text{display:block;margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted)}.form-error{display:block;margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-error)}.grid{display:grid;gap:var(--spacing-lg)}.grid-cols-1{grid-template-columns:repeat(1, 1fr)}.grid-cols-2{grid-template-columns:repeat(2, 1fr)}.grid-cols-3{grid-template-columns:repeat(3, 1fr)}@media (max-width: 768px){.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}}.flash-container{position:fixed;top:var(--spacing-md);right:var(--spacing-md);left:var(--spacing-md);z-index:1000;max-width:600px;margin:0 auto}.flash{padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-sm);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-weight:var(--font-weight-medium);animation:slideDown 0.3s ease}@keyframes slideDown{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.8;transform:scale(1.02)}}.flash.notice,.flash.success{background-color:var(--color-success);color:var(--color-white)}.flash.alert,.flash.error{background-color:var(--color-error);color:var(--color-white)}.flash.warning{background-color:var(--color-warning);color:var(--color-white)}.flash.info{background-color:var(--color-info);color:var(--color-white)}.ticket-page{min-height:100vh;background:linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);padding:var(--spacing-xl) 0}.ticket-container{max-width:720px}.ticket-cards{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.ticket-notice{background-color:#fef3c7;border:1px solid #f59e0b;border-radius:var(--radius-md);padding:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.ticket-notice p{margin:0;font-size:var(--font-size-xs);color:#92400e}.ticket-card{position:relative;background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow 0.3s ease, transform 0.3s ease}.ticket-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.ticket-card.is-popular{border:2px solid #10b981;box-shadow:var(--shadow-md)}.ticket-badge-popular{position:absolute;top:0;right:0;background-color:#10b981;color:var(--color-white);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:0.25rem 1rem;border-bottom-left-radius:var(--radius-md)}.ticket-badge-discount{position:absolute;top:var(--spacing-sm);left:var(--spacing-sm);background-color:#f97316;color:var(--color-white);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:0.25rem 0.75rem;border-radius:var(--radius-full);box-shadow:var(--shadow-sm)}.ticket-card-body{padding:1.25rem}.ticket-info{margin-bottom:var(--spacing-md)}.ticket-card.is-popular .ticket-info{margin-top:var(--spacing-sm)}.ticket-card.has-discount .ticket-info{margin-top:var(--spacing-md)}.ticket-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.ticket-description{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}.ticket-pricing{margin-bottom:var(--spacing-md)}.ticket-price-main{display:flex;align-items:baseline;gap:var(--spacing-xs);flex-wrap:wrap}.ticket-price{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.ticket-tax-note{font-size:var(--font-size-xs);color:var(--color-text-muted)}.ticket-tax-excluded{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.ticket-price-sub{margin-top:var(--spacing-sm);display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.unit-strong{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:#ea580c}.unit-strong .unit-label{font-weight:var(--font-weight-medium);margin-right:var(--spacing-xs)}.unit-tax-note{font-size:var(--font-size-xs);color:var(--color-text-muted)}.unit-discount{font-size:var(--font-size-xs);border:1px solid #fdba74;color:#c2410c;padding:0.125rem 0.5rem;border-radius:var(--radius-full);background-color:#fff7ed}.ticket-savings{background-color:var(--color-gray-50);border-radius:var(--radius-md);padding:var(--spacing-sm);margin-bottom:var(--spacing-md)}.ticket-savings-text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ticket-savings-text::before{content:"✓";color:#10b981;font-weight:var(--font-weight-bold);margin-right:var(--spacing-xs)}.ticket-action{margin-top:var(--spacing-sm)}.ticket-buy-button{width:100%;padding:0.875rem 1.5rem;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-white);background-color:#047857;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color 0.2s ease, box-shadow 0.2s ease}.ticket-buy-button:hover{background-color:#065f46;box-shadow:var(--shadow-md)}.inline-form{display:inline;margin:0}@media (max-width: 768px){.ticket-page{padding:var(--spacing-xl) 0}.ticket-card-body{padding:var(--spacing-lg)}.ticket-price{font-size:var(--font-size-2xl)}.unit-strong{font-size:var(--font-size-md)}.ticket-card.has-discount .ticket-info{margin-top:var(--spacing-lg)}}@media (max-width: 450px){.ticket-badge-discount{top:var(--spacing-sm);left:var(--spacing-sm);font-size:0.625rem;padding:0.2rem 0.6rem}}@media (min-width: 640px){.ticket-page{padding:var(--spacing-2xl) 0}.ticket-card-body{padding:var(--spacing-xl)}.ticket-description{font-size:var(--font-size-sm)}.ticket-price{font-size:var(--font-size-3xl)}.unit-strong{font-size:var(--font-size-lg)}}.footer-links{margin-top:var(--spacing-2xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);text-align:center}.back-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm);transition:color 0.2s ease}.back-link:hover{color:var(--color-primary)}.support-link{font-size:var(--font-size-sm);text-decoration:underline;text-underline-offset:2px}a{color:var(--color-primary);text-decoration:none;transition:color 0.2s ease}a:hover{color:var(--color-primary-dark);text-decoration:underline}.back-link::before{content:"←";font-size:var(--font-size-md)}.page-header{padding:var(--spacing-xl) 0;text-align:center}.page-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;position:relative}.page-title::after{content:'';display:block;width:60px;height:4px;background:linear-gradient(90deg, var(--color-primary), var(--color-secondary));margin:var(--spacing-md) auto 0;border-radius:var(--radius-full)}.page-description{margin-top:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text-secondary)}.login-logo{margin:calc(var(--spacing-md) * -1) calc(var(--spacing-md) * -1) var(--spacing-xl);padding:var(--spacing-lg) var(--spacing-md);display:flex;justify-content:center;align-items:center;background-color:var(--color-gray-50);border-bottom:1px solid var(--color-border);border-radius:var(--radius-md) var(--radius-md) 0 0}.logo-image{max-width:240px;width:100%;height:auto;display:block;transition:opacity 0.2s ease}.logo-image:hover{opacity:0.9}.error-container{background-color:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.error-container h2{color:var(--color-error);font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}.error-container ul{margin:var(--spacing-sm) 0 0 var(--spacing-lg);padding:0}.error-container li{color:var(--color-error);margin-bottom:var(--spacing-xs)}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.mt-0{margin-top:0}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.hidden{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.site-footer{margin-top:auto;padding:var(--spacing-2xl) 0;background-color:var(--color-gray-100);border-top:2px solid var(--color-gray-300);box-shadow:0 -2px 8px rgba(0,0,0,0.05)}.footer-content{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--spacing-md);text-align:center}.footer-left{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);align-items:center;justify-content:center}.footer-link{color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm);transition:color 0.2s ease}.footer-link:hover{color:var(--color-primary);text-decoration:none}.footer-separator{margin:0 var(--spacing-sm);color:var(--color-text-muted);font-size:var(--font-size-sm);user-select:none}.footer-right{display:flex;align-items:center}.company-name{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}@media (max-width: 768px){.footer-content{align-items:center;gap:var(--spacing-sm)}}@media (max-width: 768px){body{font-size:14px}h1{font-size:1.5rem;margin-bottom:var(--spacing-md)}h2{font-size:1.25rem}h3{font-size:1.125rem}h4{font-size:1rem}.page-title{font-size:1.5rem}.page-title::after{width:40px;height:3px;margin-top:var(--spacing-sm)}.page-description{font-size:0.875rem}.login-logo{margin:calc(var(--spacing-sm) * -1) calc(var(--spacing-sm) * -1) var(--spacing-lg);padding:var(--spacing-md) var(--spacing-sm);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.logo-image{max-width:180px}.container,.container-sm{padding:0 var(--spacing-sm)}.section{padding:var(--spacing-lg) 0}.card{padding:var(--spacing-md);margin-bottom:var(--spacing-md);border-radius:var(--radius-md)}.card-title{font-size:1rem}.card-description{font-size:0.75rem}.btn{padding:0.625rem 1.25rem;font-size:0.875rem}.btn-sm{padding:0.375rem 0.75rem;font-size:0.75rem}.btn-lg{padding:0.75rem 1.5rem;font-size:1rem}.btn-menu-back{padding:10px 20px;font-size:0.875rem}.card-footer{flex-direction:column;gap:var(--spacing-sm)}.card-footer .btn{width:100%}.form-group{margin-bottom:var(--spacing-md)}.form-label{font-size:0.75rem;margin-bottom:var(--spacing-xs)}.form-input,.form-textarea,.form-select{padding:0.625rem 0.75rem;font-size:0.875rem}.form-help-text,.form-error{font-size:0.75rem}.tickets{gap:var(--spacing-md);margin:var(--spacing-md) 0}.ticket-row{padding:var(--spacing-md);gap:var(--spacing-sm)}.ticket-name{font-size:1rem}.ticket-desc{font-size:0.75rem}.ticket-middle .total{font-size:1.25rem}.ticket-middle .unit{font-size:0.625rem}.ticket-right{min-width:auto}.buy-link{padding:0.625rem 1rem;font-size:0.875rem}.footer-links{margin-top:var(--spacing-lg);padding-top:var(--spacing-md)}.back-link{font-size:0.75rem}.flash{padding:var(--spacing-sm) var(--spacing-md);font-size:0.875rem}.site-footer{padding:var(--spacing-lg) 0}.footer-link,.company-name{font-size:0.75rem}.main-content{padding-bottom:var(--spacing-xl)}}.user-consultation-history-container{max-width:1200px;margin:20px auto;padding:20px;font-family:'Helvetica Neue', Arial, sans-serif}.user-consultation-history-container .page-title{text-align:center;font-size:24px;margin-top:0;margin-bottom:30px;color:#333}.user-consultation-history-container .reservations-table{width:100%;border-collapse:collapse;background-color:white;box-shadow:0 2px 8px rgba(0,0,0,0.1);margin-bottom:30px;font-size:13px}.user-consultation-history-container .reservations-table thead{background-color:#d4edda}.user-consultation-history-container .reservations-table th{padding:12px 8px;text-align:center;font-weight:bold;color:#333;border:1px solid #c3e6cb;white-space:nowrap}.user-consultation-history-container .reservations-table tbody tr{border-bottom:1px solid #dee2e6}.user-consultation-history-container .reservations-table tbody tr:hover{background-color:#f8f9fa}.user-consultation-history-container .reservations-table td{padding:10px 8px;text-align:center;color:#333;border:1px solid #dee2e6}.user-consultation-history-container .reservations-table td a{color:#007bff;text-decoration:none}.user-consultation-history-container .reservations-table td a:hover{text-decoration:underline}.user-consultation-history-container .btn-info{padding:6px 12px;background-color:transparent;color:#4a90e2;border:none;border-radius:4px;font-size:13px;cursor:pointer;text-decoration:none;display:inline-block;transition:color 0.3s;font-weight:normal}.user-consultation-history-container .btn-info:hover{color:#357abd;text-decoration:underline}.user-consultation-history-container .btn-secondary{padding:12px 30px;background-color:#6c757d;color:white;border:none;border-radius:4px;font-size:16px;cursor:pointer;font-weight:bold}.user-consultation-history-container .btn-secondary:hover{background-color:#5a6268}.user-consultation-history-container .no-reservations{text-align:center;padding:60px 20px;font-size:18px;color:#6c757d;background-color:white;border-radius:4px;border:1px solid #dee2e6;margin-bottom:30px}.user-consultation-history-container .footer-actions{display:flex;justify-content:center;gap:20px}.user-consultation-history-container .modal{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.5);justify-content:center;align-items:center}.user-consultation-history-container .modal-content{background-color:white;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,0.15);max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.user-consultation-history-container .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #dee2e6}.user-consultation-history-container .modal-header h3{margin:0;font-size:20px;color:#333;font-weight:bold}.user-consultation-history-container .modal-close{background:none;border:none;font-size:28px;color:#6c757d;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:color 0.2s}.user-consultation-history-container .modal-close:hover{color:#333}.user-consultation-history-container .modal-body{padding:24px}.user-consultation-history-container .questionnaire-detail,.user-consultation-history-container .report-detail{margin:0}.user-consultation-history-container .questionnaire-item,.user-consultation-history-container .report-item{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #e9ecef}.user-consultation-history-container .questionnaire-item:last-child,.user-consultation-history-container .report-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.user-consultation-history-container .questionnaire-label,.user-consultation-history-container .report-label{font-weight:bold;color:#333;font-size:14px;margin-bottom:8px}.user-consultation-history-container .questionnaire-value,.user-consultation-history-container .report-value{color:#333;font-size:14px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.user-consultation-history-container .report-form-modal-message{margin:0 0 20px 0;font-size:14px;color:#333}.user-consultation-history-container .report-form-modal-actions{display:flex;gap:12px}.user-consultation-history-container .btn-primary{padding:10px 20px;background-color:#4CAF50;color:white;border:none;border-radius:4px;font-size:14px;cursor:pointer;text-decoration:none;display:inline-block}.user-consultation-history-container .btn-primary:hover{background-color:#45a049}.trainer-report-container{max-width:800px;margin:20px auto;padding:20px}.trainer-report-container .page-title{font-size:24px;font-weight:bold;margin-bottom:20px;text-align:center;background-color:#c8e6c9;padding:10px}.trainer-report-container .report-details{background-color:#f5f5f5;padding:15px;margin-bottom:20px;border-radius:4px}.trainer-report-container .detail-row{display:flex;margin-bottom:10px;padding:8px 0;border-bottom:1px solid #e0e0e0}.trainer-report-container .detail-row:last-child{border-bottom:none}.trainer-report-container .detail-label{font-weight:bold;width:150px;background-color:#c8e6c9;padding:8px 12px;margin-right:15px}.trainer-report-container .detail-value{flex:1;padding:8px 12px}.trainer-report-container .notice-message{background-color:#fff3cd;color:#856404;padding:12px;margin-bottom:20px;border:1px solid #ffeeba;border-radius:4px}.trainer-report-container .form-section{margin-bottom:30px}.trainer-report-container .section-title{font-size:18px;font-weight:bold;background-color:#c8e6c9;padding:10px;margin-bottom:10px}.trainer-report-container .section-title--with-note{display:flex;align-items:center;gap:12px}.trainer-report-container .section-title-note{font-size:14px;font-weight:bold;color:#856404}.trainer-report-container .section-subtitle{font-size:14px;color:#666;margin-bottom:10px;padding-left:10px}.trainer-report-container .field-hint{color:#6c757d;font-size:12px;font-weight:normal}.trainer-report-container .field{margin-bottom:15px}.trainer-report-container .field label{display:block;font-weight:bold;margin-bottom:5px}.trainer-report-container .form-control{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:14px}.trainer-report-container .form-control:disabled{background-color:#e9ecef;cursor:not-allowed}.trainer-report-container textarea.form-control{resize:vertical}.trainer-report-container .form-actions{display:flex;gap:10px;justify-content:center;margin-top:30px}.trainer-report-container .btn{padding:12px 24px;border:none;border-radius:4px;cursor:pointer;font-size:16px;text-decoration:none;display:inline-block;text-align:center}.trainer-report-container .btn-primary{background-color:#4CAF50;color:white}.trainer-report-container .btn-primary:hover{background-color:#45a049}.trainer-report-container .btn-secondary{background-color:#f0ad4e;color:white}.trainer-report-container .btn-secondary:hover{background-color:#ec971f}.trainer-report-container .btn-secondary:disabled{background-color:#ccc;cursor:not-allowed}.trainer-report-container .btn-outline-primary{background-color:transparent;color:#0d6efd;border:1px solid #0d6efd}.trainer-report-container .btn-outline-primary:hover:not(:disabled){background-color:#0d6efd;color:white}.trainer-report-container .report-auto-generate{margin-bottom:16px}.trainer-report-container .report-auto-generate-note{font-size:12px;color:#666;margin-top:8px}.trainer-report-container .section-title-note,.trainer-report-container .report-auto-generate-note.report-note-emphasis{font-size:14px;font-weight:bold;color:#856404}.report-generation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;z-index:9999}.report-generation-overlay-inner{background:white;padding:32px;border-radius:8px;text-align:center;max-width:320px}.report-generation-overlay-inner .spinner{width:48px;height:48px;margin:0 auto 16px;border:4px solid #e0e0e0;border-top-color:#0d6efd;border-radius:50%;animation:report-generation-spin 0.8s linear infinite}.report-generation-overlay-inner p{margin:0 0 8px}.report-generation-overlay-notes{font-size:12px;color:#666;text-align:left;margin:12px 0 0;padding-left:20px}.report-generation-overlay-notes li{margin-bottom:6px}.report-generation-overlay-notes li:last-child{margin-bottom:0}@keyframes report-generation-spin{to{transform:rotate(360deg)}}.reservable-time-slots-container{max-width:1400px;margin:20px auto;padding:20px;font-family:'Helvetica Neue', Arial, sans-serif}.reservable-time-slots-container .page-title{text-align:center;font-size:24px;margin-top:0;margin-bottom:8px;color:#333}.reservable-time-slots-container .warning-message{background-color:#fff3cd;border:1px solid #ffc107;padding:6px 15px;margin-bottom:15px;border-radius:4px;text-align:center;color:#856404;font-size:13px;line-height:1.4}.reservable-time-slots-container .error-message{background-color:#fee;border:2px solid #dc3545;border-left:6px solid #dc3545;padding:12px 20px;margin-bottom:20px;border-radius:4px;box-shadow:0 2px 8px rgba(220,53,69,0.15);text-align:center}.error-message .error-content{color:#721c24}.error-message .error-content strong{display:block;font-size:15px;margin-bottom:4px;font-weight:bold;color:#721c24}.error-message .error-content p{margin:0;font-size:13px;line-height:1.5;color:#721c24}.calendar-header{margin-bottom:20px}.week-navigation{display:flex;justify-content:flex-end;align-items:center;gap:15px;margin-bottom:15px}.nav-button{padding:10px 20px;background-color:#007bff;color:white;text-decoration:none;border-radius:4px;font-weight:bold;transition:background-color 0.3s;border:none;cursor:pointer}.nav-button:hover{background-color:#0056b3}.nav-link{padding:10px 20px;color:#007bff;text-decoration:underline;font-size:14px;background:none;border:none;cursor:pointer}.nav-link:hover{color:#0056b3}.calendar-table-wrapper{overflow-x:auto;overflow-y:auto;max-height:600px;margin-bottom:20px;position:relative;z-index:1;border:1px solid #dee2e6;border-radius:4px}.calendar-grid-container{position:relative;min-width:900px;z-index:1}.calendar-table{width:100%;border-collapse:collapse;background-color:white;box-shadow:0 2px 8px rgba(0,0,0,0.1);user-select:none;position:relative;z-index:1;table-layout:fixed}.calendar-table thead{position:sticky;top:0;z-index:100}.calendar-table thead::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background-color:#dee2e6;z-index:101}.calendar-table thead::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background-color:#dee2e6;z-index:101}.calendar-table thead tr{position:relative}.calendar-table th{padding:12px 8px;text-align:center;border-left:1px solid #dee2e6;border-right:1px solid #dee2e6;border-top:none;border-bottom:none;font-weight:bold;color:#495057;background-color:#f8f9fa;position:sticky;top:0;z-index:100}.time-header{width:80px;background-color:#e9ecef}.date-header{min-width:120px;font-size:14px}.time-cell{padding:8px;text-align:center;background-color:#f8f9fa;border:1px solid #dee2e6;font-size:13px;color:#6c757d;font-weight:500}.slot-cell{padding:0;border:1px solid #dee2e6;text-align:center;cursor:pointer;position:relative;height:40px;background-color:#ffffff;transition:background-color 0.2s}.cell-content{position:relative;width:100%;height:100%}.slot-cell[data-reserved="true"]{cursor:not-allowed;pointer-events:none}.time-block{position:absolute;top:2px;left:2px;right:2px;border-radius:6px;padding:4px;font-size:12px;transition:all 0.2s;box-shadow:0 1px 3px rgba(0,0,0,0.1);overflow:visible;box-sizing:border-box;z-index:1;pointer-events:auto}.reservable-block{background:linear-gradient(135deg, #5e9ff2 0%, #4a8fe7 100%);color:white;border:none;z-index:1}.reservable-block:hover{background:linear-gradient(135deg, #4a8fe7 0%, #3b7dd6 100%);box-shadow:0 4px 8px rgba(0,0,0,0.2);transform:translateY(-1px);z-index:3}.reserved-block{background-color:#fff59d;color:#f57f17;border:none;cursor:default;pointer-events:none;display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:2}.reserved-block .block-content{overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important;max-width:calc(100% - 8px) !important;min-width:0 !important;flex-shrink:1 !important}.block-content{font-weight:500;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 4px;box-sizing:border-box}.slot-cell.selecting{background-color:#e3f2fd}.block-delete-btn{position:absolute;top:2px;right:2px;width:20px;height:20px;border:none;border-radius:50%;background-color:rgba(255,255,255,0.95);color:#757575;font-size:16px;font-weight:bold;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center;padding:0;transition:all 0.2s;box-shadow:0 2px 4px rgba(0,0,0,0.2);z-index:10;opacity:0}.time-block:hover .block-delete-btn{display:flex;opacity:1}.block-delete-btn:hover{background-color:#616161;color:white;transform:scale(1.15)}.resize-handle{position:absolute;left:0;right:0;height:8px;cursor:ns-resize;z-index:20;display:none;background:rgba(255,255,255,0.3);transition:background 0.2s}.resize-handle-top{top:0;border-top-left-radius:6px;border-top-right-radius:6px}.resize-handle-bottom{bottom:0;border-bottom-left-radius:6px;border-bottom-right-radius:6px}.time-block:hover .resize-handle{display:block}.resize-handle:hover{background:rgba(255,255,255,0.5)}.resize-handle::after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);width:30px;height:3px;background:rgba(255,255,255,0.8);border-radius:2px}.btn{padding:12px 40px;border:none;border-radius:4px;font-size:16px;font-weight:bold;cursor:pointer;transition:all 0.3s}.btn-primary{background-color:#28a745;color:white}.btn-primary:hover{background-color:#218838;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,0.2)}.calendar-footer{margin-top:20px;text-align:center}.footer-actions{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}.footer-actions .btn{min-width:200px}.toast-notification{position:fixed;top:24px;left:50%;transform:translateX(-50%) translateY(-100px);background-color:#ffffff;color:#333;padding:14px 20px;border-radius:8px;font-size:14px;font-weight:500;box-shadow:0 6px 16px rgba(0,0,0,0.12),0 3px 6px rgba(0,0,0,0.08);z-index:1000;opacity:0;transition:all 0.35s cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none;min-width:320px;max-width:500px;display:flex;align-items:center;gap:10px;border-left:4px solid #ccc}.toast-notification::before{content:'';width:20px;height:20px;flex-shrink:0;background-size:contain;background-repeat:no-repeat;background-position:center}.toast-notification.show{opacity:1;transform:translateX(-50%) translateY(0)}.toast-notification.success{border-left-color:#52c41a;background-color:#f6ffed;color:#135200}.toast-notification.success::before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="%2352c41a"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"/></svg>')}.toast-notification.error{border-left-color:#ff4d4f;background-color:#fff2f0;color:#a8071a}.toast-notification.error::before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="%23ff4d4f"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clip-rule="evenodd"/></svg>')}@media (max-width: 768px){.calendar-table{font-size:12px}.date-header{min-width:80px}.time-cell{padding:4px;font-size:11px}.slot-cell{height:30px}.nav-button{padding:8px 15px;font-size:14px}}.trainer-reservations-list-container{max-width:1400px;margin:20px auto;padding:20px;font-family:'Helvetica Neue', Arial, sans-serif}.trainer-reservations-list-container .page-title{text-align:center;font-size:24px;margin-top:0;margin-bottom:30px;color:#333}.trainer-reservations-list-container .reservations-table{width:100%;border-collapse:collapse;background-color:white;box-shadow:0 2px 8px rgba(0,0,0,0.1);margin-bottom:30px;font-size:13px}.trainer-reservations-list-container .reservations-table thead{background-color:#d4edda}.trainer-reservations-list-container .reservations-table th{padding:12px 8px;text-align:center;font-weight:bold;color:#333;border:1px solid #c3e6cb;white-space:nowrap}.trainer-reservations-list-container .reservations-table tbody tr{border-bottom:1px solid #dee2e6}.trainer-reservations-list-container .reservations-table tbody tr:hover{background-color:#f8f9fa}.trainer-reservations-list-container .reservations-table td{padding:10px 8px;text-align:center;color:#333;border:1px solid #dee2e6}.trainer-reservations-list-container .reservations-table td a{color:#007bff;text-decoration:none;word-break:break-all}.trainer-reservations-list-container .reservations-table td a:hover{text-decoration:underline}.trainer-reservations-list-container .btn-report{padding:6px 12px;background-color:#007bff;color:white;border:none;border-radius:4px;font-size:13px;cursor:pointer;text-decoration:none;display:inline-block;transition:background-color 0.3s}.trainer-reservations-list-container .btn-report:hover{background-color:#0056b3;text-decoration:none}.trainer-reservations-list-container .btn-info{padding:6px 12px;background-color:transparent;color:#4a90e2;border:none;border-radius:4px;font-size:13px;cursor:pointer;text-decoration:none;display:inline-block;transition:color 0.3s;font-weight:normal}.trainer-reservations-list-container .btn-info:hover{color:#357abd;text-decoration:underline}.trainer-reservations-list-container .btn-cancel{padding:6px 12px;background-color:#e74c3c;color:white;border:none;border-radius:4px;font-size:13px;font-weight:bold;cursor:pointer;transition:background-color 0.3s}.trainer-reservations-list-container .btn-cancel:hover{background-color:#d43f3a}.trainer-reservations-list-container .status-cell{color:#6c757d;font-weight:bold}.trainer-reservations-list-container .no-reservations{text-align:center;padding:60px 20px;font-size:18px;color:#6c757d;background-color:white;border-radius:4px;border:1px solid #dee2e6;margin-bottom:30px}.trainer-reservations-list-container .footer-actions{display:flex;justify-content:center;gap:20px}.trainer-reservations-list-container .btn{padding:12px 30px;border-radius:4px;font-weight:bold;font-size:16px;cursor:pointer;transition:background-color 0.3s;text-decoration:none;display:inline-block;text-align:center;border:none}.trainer-reservations-list-container .btn-secondary{background-color:#6c757d;color:white}.trainer-reservations-list-container .btn-secondary:hover{background-color:#5a6268}.trainer-reservations-list-container .modal{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.5);justify-content:center;align-items:center}.trainer-reservations-list-container .modal-content{background-color:white;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,0.15);max-width:600px;width:90%;max-height:90vh;overflow-y:auto;animation:trainerReservationsListModalFadeIn 0.3s ease-out}@keyframes trainerReservationsListModalFadeIn{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.trainer-reservations-list-container .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #dee2e6}.trainer-reservations-list-container .modal-header h3{margin:0;font-size:20px;color:#333;font-weight:bold}.trainer-reservations-list-container .modal-close{background:none;border:none;font-size:28px;color:#6c757d;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:color 0.2s}.trainer-reservations-list-container .modal-close:hover{color:#333}.trainer-reservations-list-container .modal-body{padding:24px}.trainer-reservations-list-container .modal-body p{margin:0 0 16px 0;font-size:16px;color:#333;line-height:1.6}.trainer-reservations-list-container .modal-body p:last-child{margin-bottom:0}.trainer-reservations-list-container .form-group{margin-top:16px}.trainer-reservations-list-container .form-label{display:block;margin-bottom:8px;font-weight:bold;color:#333;font-size:14px}.trainer-reservations-list-container .form-label.required-label::after{content:' *';color:#dc3545}.trainer-reservations-list-container .form-control{width:100%;padding:10px 12px;font-size:14px;line-height:1.5;color:#333;background-color:#fff;border:1px solid #ced4da;border-radius:4px;box-sizing:border-box;resize:vertical}.trainer-reservations-list-container .form-control:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 3px rgba(0,123,255,0.25)}.trainer-reservations-list-container .form-control::placeholder{color:#6c757d}.trainer-reservations-list-container .warning-text{color:#dc3545;padding:12px;background-color:#fff5f5;border-left:4px solid #dc3545;border-radius:4px;margin-top:16px}.trainer-reservations-list-container .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #dee2e6;background-color:#f8f9fa;border-radius:0 0 8px 8px}.trainer-reservations-list-container .modal-footer .btn{padding:10px 24px;font-size:14px}.trainer-reservations-list-container .btn-danger{background-color:#e74c3c;color:white}.trainer-reservations-list-container .btn-danger:hover{background-color:#d43f3a}.trainer-reservations-list-container .questionnaire-detail{margin:0}.trainer-reservations-list-container .questionnaire-item{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #e9ecef}.trainer-reservations-list-container .questionnaire-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.trainer-reservations-list-container .questionnaire-label{font-weight:bold;color:#333;font-size:14px;margin-bottom:8px}.trainer-reservations-list-container .questionnaire-value{color:#333;font-size:14px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.trainer-reservations-list-container .toast-notification{position:fixed;top:24px;left:50%;transform:translateX(-50%) translateY(-100px);background-color:#ffffff;color:#333;padding:14px 20px;border-radius:8px;font-size:14px;font-weight:500;box-shadow:0 6px 16px rgba(0,0,0,0.12),0 3px 6px rgba(0,0,0,0.08);z-index:1000;opacity:0;transition:all 0.35s cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none;min-width:320px;max-width:500px;display:flex;align-items:center;gap:10px;border-left:4px solid #ccc}.trainer-reservations-list-container .toast-notification::before{content:'';width:20px;height:20px;flex-shrink:0;background-size:contain;background-repeat:no-repeat;background-position:center}.trainer-reservations-list-container .toast-notification.show{opacity:1;transform:translateX(-50%) translateY(0)}.trainer-reservations-list-container .toast-notification.success{border-left-color:#52c41a;background-color:#f6ffed;color:#135200}.trainer-reservations-list-container .toast-notification.success::before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="%2352c41a"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"/></svg>')}.trainer-reservations-list-container .toast-notification.error{border-left-color:#ff4d4f;background-color:#fff2f0;color:#a8071a}.trainer-reservations-list-container .toast-notification.error::before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="%23ff4d4f"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clip-rule="evenodd"/></svg>')}@media (max-width: 1200px){.trainer-reservations-list-container .reservations-table{font-size:12px}.trainer-reservations-list-container .reservations-table th,.trainer-reservations-list-container .reservations-table td{padding:8px 5px}.trainer-reservations-list-container .btn-cancel,.trainer-reservations-list-container .btn-report{padding:5px 10px;font-size:12px}}@media (max-width: 768px){.trainer-reservations-list-container{padding:10px}.trainer-reservations-list-container .reservations-list{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -10px;padding:0 10px}.trainer-reservations-list-container .reservations-table{font-size:11px;min-width:900px}.trainer-reservations-list-container .reservations-table th,.trainer-reservations-list-container .reservations-table td{padding:6px 4px;white-space:nowrap}.trainer-reservations-list-container .reservations-table td a{white-space:normal;max-width:150px;display:inline-block;overflow:hidden;text-overflow:ellipsis}.trainer-reservations-list-container .btn-cancel,.trainer-reservations-list-container .btn-report{padding:4px 8px;font-size:11px;white-space:nowrap}.trainer-reservations-list-container .footer-actions{flex-direction:column}.trainer-reservations-list-container .btn{width:100%}}.campaign-code-readonly{margin:0;padding:0.75rem 1rem;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#333;font-size:16px}.withdraw-section{margin-top:40px;padding-top:20px;border-top:1px solid #dee2e6;text-align:center}.btn-withdraw{padding:10px 24px;background-color:transparent;color:#dc3545;border:1px solid #dc3545;border-radius:4px;font-size:14px;cursor:pointer;transition:all 0.3s}.btn-withdraw:hover{background-color:#dc3545;color:white}.modal{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.5);justify-content:center;align-items:center}.modal-content{background-color:white;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,0.15);max-width:500px;width:90%;animation:modalFadeIn 0.3s ease-out}@keyframes modalFadeIn{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #dee2e6}.modal-header h3{margin:0;font-size:20px;color:#333;font-weight:bold}.modal-close{background:none;border:none;font-size:28px;color:#6c757d;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:color 0.2s}.modal-close:hover{color:#333}.modal-body{padding:24px}.warning-box{background-color:#fff5f5;border:1px solid #f5c6cb;border-left:4px solid #dc3545;border-radius:4px;padding:16px;margin-bottom:20px}.warning-title{margin:0 0 12px 0;font-size:16px;font-weight:bold;color:#dc3545}.warning-list{margin:0;padding-left:20px;color:#721c24}.warning-list li{margin-bottom:8px;line-height:1.5}.warning-list li:last-child{margin-bottom:0}.confirm-text{margin:0;font-size:16px;color:#333;text-align:center;font-weight:bold}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #dee2e6;background-color:#f8f9fa;border-radius:0 0 8px 8px}.modal-footer .btn{padding:10px 24px;border-radius:4px;font-weight:bold;font-size:14px;cursor:pointer;transition:background-color 0.3s;text-decoration:none;display:inline-block;text-align:center;border:none}.modal-footer .btn-secondary{background-color:#6c757d;color:white}.modal-footer .btn-secondary:hover{background-color:#5a6268}.modal-footer .btn-danger{background-color:#dc3545;color:white}.modal-footer .btn-danger:hover{background-color:#c82333}@media (max-width: 768px){.modal-content{width:95%;margin:10px}.modal-header{padding:16px 20px}.modal-body{padding:20px}.modal-footer{padding:12px 20px;flex-direction:column}.modal-footer .btn{width:100%}}.reservations-container,.reservation-confirm-container,.reservation-complete-container{max-width:1400px;margin:20px auto;padding:20px;font-family:'Helvetica Neue', Arial, sans-serif}.reservations-container .page-title,.reservation-confirm-container .page-title,.reservation-complete-container .page-title{text-align:center;font-size:24px;margin-top:0;margin-bottom:20px;color:#333}.reservations-container .filter-section{background-color:white;padding:15px 20px;margin-bottom:20px;border-radius:4px;border:1px solid #dee2e6}.reservations-container .filter-row{display:flex;gap:20px;margin-bottom:10px}.reservations-container .filter-row:last-child{margin-bottom:0}.reservations-container .filter-item{display:flex;align-items:center;gap:10px}.reservations-container .filter-item label{font-weight:bold;color:#333;min-width:120px}.reservations-container .filter-select{padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px;min-width:200px;background-color:white}.reservations-container .ticket-count{font-size:16px;font-weight:bold;color:#333}.reservations-container .calendar-header{margin-bottom:20px}.reservations-container .week-navigation{display:flex;justify-content:flex-end;align-items:center;gap:15px;margin-bottom:15px}.reservations-container .nav-button,.reservation-confirm-container .nav-button,.reservation-complete-container .nav-button{padding:10px 20px;background-color:#007bff;color:white;text-decoration:none;border-radius:4px;font-weight:bold;transition:background-color 0.3s;border:none;cursor:pointer}.reservations-container .nav-button:hover,.reservation-confirm-container .nav-button:hover,.reservation-complete-container .nav-button:hover{background-color:#0056b3}.reservations-container .nav-button:disabled{opacity:0.5;cursor:not-allowed;background-color:#6c757d}.reservations-container .nav-button:disabled:hover{background-color:#6c757d}.calendar-table-wrapper{overflow-x:auto;overflow-y:auto;max-height:600px;margin-bottom:20px;position:relative;z-index:1;border:1px solid #dee2e6;border-radius:4px;-webkit-overflow-scrolling:touch;transform:translateZ(0)}.calendar-grid-container{min-width:900px;transform:translateZ(0)}.calendar-table{width:100%;border-collapse:separate;border-spacing:0;background-color:white;box-shadow:0 2px 8px rgba(0,0,0,0.1);user-select:none;position:relative;z-index:1;table-layout:fixed}.calendar-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:100}.calendar-table th{padding:12px 8px;text-align:center;border-left:1px solid #dee2e6;border-right:1px solid #dee2e6;font-weight:bold;color:#495057;background-color:#f8f9fa;position:-webkit-sticky;position:sticky;top:0;z-index:100}.time-header{width:80px;background-color:#e9ecef !important;position:-webkit-sticky;position:sticky;top:0;left:0;z-index:102;will-change:transform;transform:translateZ(0)}.date-header{min-width:120px;font-size:14px}.time-cell{padding:8px;text-align:center;background-color:#f8f9fa !important;border:1px solid #dee2e6;font-size:13px;color:#6c757d;font-weight:500;position:-webkit-sticky;position:sticky;left:0;z-index:10;will-change:transform;transform:translateZ(0)}.slot-cell{padding:0;border:1px solid #dee2e6;text-align:center;position:relative;min-height:40px;background-color:white}.slot-cell.my-reserved{background-color:white;cursor:not-allowed}.slot-cell.reserved,.slot-cell.disabled{background-color:#e8e8e8;cursor:not-allowed}.slot-cell:not(.my-reserved):not(.reserved):not(.disabled){cursor:pointer}.slot-cell:not(.my-reserved):not(.reserved):not(.disabled):hover{background-color:#e3f2fd}.slot-cell.selected{background-color:#90caf9}.cell-content{position:absolute;top:0;left:0;width:100%;height:100%;min-height:40px;display:flex;align-items:center;justify-content:center;padding:2px;box-sizing:border-box}.my-reserved-block{background-color:#fff59d;color:#f57f17;padding:4px;border-radius:6px;font-size:12px;font-weight:500;width:100%;height:100%;text-align:center;box-shadow:0 1px 3px rgba(0,0,0,0.1);display:flex;align-items:center;justify-content:center;box-sizing:border-box}.selected-block{background:linear-gradient(135deg, #64b5f6 0%, #2196f3 100%);color:white;padding:4px;border-radius:6px;font-size:12px;font-weight:bold;width:100%;height:100%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0,0,0,0.2);box-sizing:border-box}.calendar-footer{display:flex;justify-content:center;margin-top:20px}.footer-actions{display:flex;gap:20px;align-items:center}.reservations-container .btn,.reservation-confirm-container .btn,.reservation-complete-container .btn,.questionnaire-container .btn,.review-container .btn{padding:12px 30px;border-radius:4px;font-weight:bold;font-size:16px;cursor:pointer;transition:background-color 0.3s;text-decoration:none;display:inline-block;text-align:center;border:none}.reservations-container .btn-primary,.reservation-confirm-container .btn-primary,.reservation-complete-container .btn-primary,.questionnaire-container .btn-primary,.review-container .btn-primary{background-color:#28a745;color:white}.reservations-container .btn-primary:hover,.reservation-confirm-container .btn-primary:hover,.reservation-complete-container .btn-primary:hover,.questionnaire-container .btn-primary:hover,.review-container .btn-primary:hover{background-color:#218838}.reservations-container .nav-link,.reservation-confirm-container .nav-link,.reservation-complete-container .nav-link{padding:10px 20px;color:#007bff;text-decoration:underline;font-size:14px;background:none;border:none;cursor:pointer}.reservations-container .nav-link:hover,.reservation-confirm-container .nav-link:hover,.reservation-complete-container .nav-link:hover{color:#0056b3}.toast-notification{position:fixed;top:24px;left:50%;transform:translateX(-50%) translateY(-100px);background-color:#ffffff;color:#333;padding:14px 20px;border-radius:8px;font-size:14px;font-weight:500;box-shadow:0 6px 16px rgba(0,0,0,0.12),0 3px 6px rgba(0,0,0,0.08);z-index:1000;opacity:0;transition:all 0.35s cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none;min-width:320px;max-width:500px;display:flex;align-items:flex-start;gap:10px;border-left:4px solid #ccc;line-height:1.6}.toast-notification.error{align-items:flex-start}.toast-notification::before{content:'';width:20px;height:20px;flex-shrink:0;background-size:contain;background-repeat:no-repeat;background-position:center}.toast-notification.show{opacity:1;transform:translateX(-50%) translateY(0)}.toast-notification.success{border-left-color:#52c41a;background-color:#f6ffed;color:#135200}.toast-notification.success::before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="%2352c41a"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"/></svg>')}.toast-notification.error{border-left-color:#ff4d4f;background-color:#fff2f0;color:#a8071a}.toast-notification.error::before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="%23ff4d4f"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clip-rule="evenodd"/></svg>')}.step-indicator{display:flex;justify-content:center;align-items:center;gap:20px;margin-bottom:30px;padding:20px 0}.step-item{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;flex:1;max-width:200px}.step-item:not(:last-child)::after{content:'';position:absolute;top:20px;left:calc(50% + 30px);width:calc(100% - 60px);height:2px;background-color:#dee2e6;z-index:0}.step-item.completed:not(:last-child)::after{background-color:#007b95}.step-number{width:40px;height:40px;border-radius:50%;background-color:#dee2e6;color:#6c757d;display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:16px;position:relative;z-index:1}.step-item.active .step-number{background-color:#007b95;color:white}.step-item.completed .step-number{background-color:#007b95;color:white}.step-label{font-size:14px;color:#6c757d;text-align:center}.step-item.active .step-label{color:#007b95;font-weight:bold}.step-item.completed .step-label{color:#007b95}.confirm-details{background-color:white;padding:20px;border-radius:4px;margin-bottom:30px;border:1px solid #dee2e6}.confirm-details-title{font-size:20px;font-weight:bold;margin-bottom:15px;color:#333;padding-bottom:10px;border-bottom:2px solid #007b95}.detail-row{display:flex;margin-bottom:15px;align-items:flex-start}.detail-row:last-child{margin-bottom:0}.detail-row.description-row{flex-direction:column}.detail-label{font-weight:bold;min-width:150px;color:#333}.detail-value{flex:1;color:#333}.description-textarea{width:100%;padding:10px;border:1px solid #ced4da;border-radius:4px;font-size:14px;font-family:inherit;resize:vertical}.confirm-actions{display:flex;justify-content:center;gap:20px}.questionnaire-container,.questionnaire-section{background-color:white;padding:20px;border-radius:4px;margin-bottom:30px;border:1px solid #dee2e6}.questionnaire-container{max-width:1400px;margin:20px auto;padding:20px;font-family:'Helvetica Neue', Arial, sans-serif}.questionnaire-container .page-title{text-align:center;font-size:24px;margin-top:0;margin-bottom:20px;color:#333}.questionnaire-title{font-size:20px;font-weight:bold;margin-bottom:15px;color:#333;padding-bottom:10px;border-bottom:2px solid #007b95}.questionnaire-notice{background-color:#fff3cd;border:1px solid #ffeeba;border-radius:4px;padding:15px;margin-bottom:25px;color:#856404;font-size:14px;line-height:1.6}.questionnaire-notice p{margin:0}.questionnaire-actions,.review-actions{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;margin-top:30px}.questionnaire-actions .btn,.review-actions .btn{width:100%;max-width:300px}.questionnaire-section .form-group{margin-bottom:25px}.questionnaire-section .form-label{display:block;margin-bottom:8px;font-weight:bold;color:#333;font-size:14px}.questionnaire-section .form-label-required::after{content:" *";color:#dc3545}.questionnaire-section .form-select,.questionnaire-section .form-input,.questionnaire-section .form-textarea{width:100%;padding:10px;border:1px solid #ced4da;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color 0.2s ease, box-shadow 0.2s ease}.questionnaire-section .form-select:focus,.questionnaire-section .form-input:focus,.questionnaire-section .form-textarea:focus{outline:none;border-color:#007b95;box-shadow:0 0 0 3px rgba(0,123,149,0.1)}.questionnaire-section .form-textarea{min-height:120px;resize:vertical}.questionnaire-section .radio-group{display:flex;gap:10px;align-items:center;margin-top:8px}.questionnaire-section .radio-group input[type="radio"]{width:18px;height:18px;cursor:pointer;accent-color:#007b95;margin-right:4px;margin-left:0}.questionnaire-section .radio-label{display:inline-flex;align-items:center;gap:0;font-weight:normal;cursor:pointer;font-size:14px;color:#333;margin-left:0}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268}.btn-outline{background:transparent;border:1px solid #6c757d;color:#6c757d}.btn-outline:hover{background-color:#f8f9fa}.questionnaire-preview{margin-top:20px;padding-top:15px;border-top:1px dashed #dee2e6}.preview-title{font-size:16px;font-weight:bold;margin:0 0 12px 0;color:#333}.preview-list{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.preview-item{padding:12px;border:1px solid #e9ecef;border-radius:6px;background-color:#f8f9fa}.preview-label{font-weight:bold;color:#333;margin-bottom:6px;font-size:13px}.preview-value{white-space:pre-wrap;color:#333;font-size:14px;line-height:1.6}.review-container{max-width:1400px;margin:20px auto;padding:20px;font-family:'Helvetica Neue', Arial, sans-serif}.review-container .page-title{text-align:center;font-size:24px;margin-top:0;margin-bottom:20px;color:#333}.review-alert{background-color:#fff7e6;border:1px solid #ffd591;border-radius:4px;padding:16px 20px;margin-bottom:30px;display:flex;align-items:flex-start;gap:12px}.review-alert .alert-icon{font-size:24px;line-height:1;flex-shrink:0}.review-alert .alert-content{flex:1}.review-alert .alert-title{font-weight:bold;font-size:15px;color:#ad6800;margin-bottom:4px}.review-alert .alert-message{font-size:14px;color:#874d00;line-height:1.5}.questionnaire-confirm-section{background-color:white;padding:20px;border-radius:4px;margin-bottom:30px;border:1px solid #dee2e6}.questionnaire-confirm-list{margin-top:15px}.confirm-item{display:flex;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e9ecef;align-items:flex-start}.confirm-item:last-child{margin-bottom:0;border-bottom:none;padding-bottom:0}.confirm-label{font-weight:bold;min-width:200px;color:#333;font-size:14px}.confirm-value{flex:1;color:#333;font-size:14px;line-height:1.6;white-space:pre-wrap}.review-actions,.final-confirm-actions{display:flex;justify-content:center;gap:20px}.complete-message{background-color:#f6ffed;padding:40px;border-radius:4px;margin-bottom:30px;text-align:center;border:1px solid #b7eb8f}.complete-message p{font-size:18px;color:#135200;margin:0}.complete-actions{display:flex;justify-content:center}@media (max-width: 768px){.reservations-container,.reservation-confirm-container,.reservation-complete-container{margin:10px auto;padding:10px}.reservations-container .page-title,.reservation-confirm-container .page-title,.reservation-complete-container .page-title{font-size:18px;margin-bottom:12px}.reservations-container .filter-section{padding:10px 12px;margin-bottom:12px}.filter-row{flex-direction:column;gap:8px;margin-bottom:8px}.filter-item{flex-direction:column;align-items:flex-start;gap:4px}.filter-item label{min-width:auto;font-size:12px}.filter-select{width:100%;min-width:auto;padding:6px 10px;font-size:13px}.reservations-container .ticket-count{font-size:14px}.reservations-container .calendar-header{margin-bottom:12px}.reservations-container .nav-button,.reservation-confirm-container .nav-button,.reservation-complete-container .nav-button{padding:8px 14px;font-size:13px}.calendar-table-wrapper{max-height:350px;margin-bottom:12px}.calendar-grid-container{min-width:500px}.calendar-table th{padding:6px 2px;font-size:11px}.time-header{width:45px;font-size:10px;position:-webkit-sticky;position:sticky;top:0;left:0;z-index:102;background-color:#e9ecef !important;will-change:transform;transform:translateZ(0)}.date-header{min-width:65px;font-size:10px}.time-cell{padding:4px 2px;font-size:10px;position:-webkit-sticky;position:sticky;left:0;z-index:10;background-color:#f8f9fa !important;will-change:transform;transform:translateZ(0)}.slot-cell{min-height:32px}.cell-content{min-height:32px}.my-reserved-block{font-size:9px;padding:2px}.selected-block{font-size:9px;padding:2px}.week-navigation{justify-content:center}.footer-actions{flex-direction:column;gap:10px}.btn{width:100%}.confirm-actions{flex-direction:column;gap:10px}.detail-row{flex-direction:column;margin-bottom:10px}.detail-label{min-width:auto;margin-bottom:4px;font-size:12px}.detail-value{font-size:14px}.step-indicator{gap:8px;margin-bottom:20px;padding:15px 0}.step-item{max-width:none}.step-item:not(:last-child)::after{top:16px;left:calc(50% + 20px);width:calc(100% - 40px);height:2px}.step-number{width:32px;height:32px;font-size:14px}.step-label{font-size:12px}.confirm-details{padding:12px;margin-bottom:20px}.confirm-details-title{font-size:18px;margin-bottom:12px;padding-bottom:8px}.description-textarea{padding:8px;font-size:13px}.questionnaire-section{padding:12px;margin-bottom:20px}.questionnaire-title{font-size:18px;margin-bottom:12px;padding-bottom:8px}.questionnaire-notice{padding:12px;margin-bottom:20px;font-size:13px}.questionnaire-section .form-group{margin-bottom:20px}.questionnaire-section .form-label{font-size:13px;margin-bottom:6px}.questionnaire-section .form-select,.questionnaire-section .form-input,.questionnaire-section .form-textarea{padding:8px;font-size:13px}.questionnaire-section .form-textarea{min-height:100px}.questionnaire-section .radio-group{flex-direction:row;gap:10px;align-items:center}.questionnaire-section input[type="radio"]{width:16px;height:16px}.review-container,.questionnaire-container{margin:10px auto;padding:10px}.review-container .page-title,.questionnaire-container .page-title{font-size:18px;margin-bottom:12px}.questionnaire-confirm-section{padding:12px;margin-bottom:20px}.confirm-item{flex-direction:column;margin-bottom:15px;padding-bottom:10px}.confirm-label{min-width:auto;margin-bottom:6px;font-size:13px}.confirm-value{font-size:13px}.questionnaire-actions,.review-actions,.final-confirm-actions{flex-direction:column;gap:12px;margin-top:20px}.questionnaire-actions .btn,.review-actions .btn{width:100%;max-width:none}.complete-message{padding:24px;margin-bottom:20px}.complete-message p{font-size:14px}.calendar-footer{margin-top:12px}.toast-notification{min-width:280px;max-width:90%;padding:10px 14px;font-size:13px}}.modal{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.5);justify-content:center;align-items:center}.modal-content{background-color:white;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,0.15);max-width:800px;width:90%;max-height:90vh;overflow-y:auto;animation:modalFadeIn 0.3s ease-out}@keyframes modalFadeIn{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #dee2e6;position:sticky;top:0;background-color:white;z-index:1}.modal-header h3{margin:0;font-size:20px;color:#333;font-weight:bold}.modal-close{background:none;border:none;font-size:28px;color:#6c757d;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;line-height:1;transition:color 0.2s}.modal-close:hover{color:#333}.modal-body{padding:24px}.trainer-photos img{max-width:100%;height:auto;border-radius:4px;margin-bottom:10px;display:block}.trainer-qualifications,.trainer-message{margin-bottom:20px}.trainer-qualifications h4,.trainer-message h4{margin-bottom:8px;font-size:16px;font-weight:bold;color:#333}.trainer-qualifications p,.trainer-message p{white-space:pre-wrap;line-height:1.6;color:#555}.link-text{font-size:14px;color:#007bff;text-decoration:underline;cursor:pointer}.link-text:hover{color:#0056b3}.reservations-list-container{max-width:1200px;margin:20px auto;padding:20px;font-family:'Helvetica Neue', Arial, sans-serif}.reservations-list-container .page-title{text-align:center;font-size:24px;margin-top:0;margin-bottom:30px;color:#333}.reservations-list-container .reservations-table{width:100%;border-collapse:collapse;background-color:white;box-shadow:0 2px 8px rgba(0,0,0,0.1);margin-bottom:30px}.reservations-list-container .reservations-table thead{background-color:#d4edda}.reservations-list-container .reservations-table th{padding:15px 10px;text-align:center;font-weight:bold;color:#333;border:1px solid #c3e6cb}.reservations-list-container .reservations-table tbody tr{border-bottom:1px solid #dee2e6}.reservations-list-container .reservations-table tbody tr:hover{background-color:#f8f9fa}.reservations-list-container .reservations-table td{padding:12px 10px;text-align:center;color:#333;border:1px solid #dee2e6}.reservations-list-container .reservations-table td a{color:#007bff;text-decoration:none;word-break:break-all}.reservations-list-container .reservations-table td a:hover{text-decoration:underline}.reservations-list-container .btn-cancel{padding:8px 16px;background-color:#e74c3c;color:white;border:none;border-radius:4px;font-size:14px;font-weight:bold;cursor:pointer;transition:background-color 0.3s}.reservations-list-container .btn-cancel:hover{background-color:#d43f3a}.reservations-list-container .status-cell{color:#6c757d;font-weight:bold}.reservations-list-container .no-reservations{text-align:center;padding:60px 20px;font-size:18px;color:#6c757d;background-color:white;border-radius:4px;border:1px solid #dee2e6;margin-bottom:30px}.reservations-list-container .footer-actions{display:flex;justify-content:center;gap:20px}.reservations-list-container .btn{padding:12px 30px;border-radius:4px;font-weight:bold;font-size:16px;cursor:pointer;transition:background-color 0.3s;text-decoration:none;display:inline-block;text-align:center;border:none}.reservations-list-container .btn-secondary{background-color:#6c757d;color:white}.reservations-list-container .btn-secondary:hover{background-color:#5a6268}.reservations-list-container .modal{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.5);justify-content:center;align-items:center}.reservations-list-container .modal-content{background-color:white;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,0.15);max-width:500px;width:90%;animation:reservationsListModalFadeIn 0.3s ease-out}@keyframes reservationsListModalFadeIn{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.reservations-list-container .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #dee2e6}.reservations-list-container .modal-header h3{margin:0;font-size:20px;color:#333;font-weight:bold}.reservations-list-container .modal-close{background:none;border:none;font-size:28px;color:#6c757d;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:color 0.2s}.reservations-list-container .modal-close:hover{color:#333}.reservations-list-container .modal-body{padding:24px}.reservations-list-container .modal-body p{margin:0 0 16px 0;font-size:16px;color:#333;line-height:1.6}.reservations-list-container .modal-body p:last-child{margin-bottom:0}.reservations-list-container .warning-text{color:#dc3545;padding:12px;background-color:#fff5f5;border-left:4px solid #dc3545;border-radius:4px;margin-top:16px}.reservations-list-container .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #dee2e6;background-color:#f8f9fa;border-radius:0 0 8px 8px}.reservations-list-container .modal-footer .btn{padding:10px 24px;font-size:14px}.reservations-list-container .btn-danger{background-color:#e74c3c;color:white}.reservations-list-container .btn-danger:hover{background-color:#d43f3a}.reservations-list-container .toast-notification{position:fixed;top:24px;left:50%;transform:translateX(-50%) translateY(-100px);background-color:#ffffff;color:#333;padding:14px 20px;border-radius:8px;font-size:14px;font-weight:500;box-shadow:0 6px 16px rgba(0,0,0,0.12),0 3px 6px rgba(0,0,0,0.08);z-index:1000;opacity:0;transition:all 0.35s cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none;min-width:320px;max-width:500px;display:flex;align-items:center;gap:10px;border-left:4px solid #ccc}.reservations-list-container .toast-notification::before{content:'';width:20px;height:20px;flex-shrink:0;background-size:contain;background-repeat:no-repeat;background-position:center}.reservations-list-container .toast-notification.show{opacity:1;transform:translateX(-50%) translateY(0)}.reservations-list-container .toast-notification.success{border-left-color:#52c41a;background-color:#f6ffed;color:#135200}.reservations-list-container .toast-notification.success::before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="%2352c41a"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"/></svg>')}.reservations-list-container .toast-notification.error{border-left-color:#ff4d4f;background-color:#fff2f0;color:#a8071a}.reservations-list-container .toast-notification.error::before{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="%23ff4d4f"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clip-rule="evenodd"/></svg>')}@media (max-width: 768px){.reservations-list-container{padding:10px;margin:10px auto}.reservations-list-container .page-title{font-size:18px;margin-bottom:16px}.reservations-list-container .reservations-list{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -10px;padding:0 10px}.reservations-list-container .reservations-table{font-size:11px;min-width:600px;margin-bottom:16px}.reservations-list-container .reservations-table th{padding:8px 4px;font-size:10px;white-space:nowrap}.reservations-list-container .reservations-table td{padding:8px 4px;font-size:11px}.reservations-list-container .reservations-table td:nth-child(5){max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservations-list-container .reservations-table td:nth-child(5) a{display:block;overflow:hidden;text-overflow:ellipsis}.reservations-list-container .btn-cancel{padding:5px 8px;font-size:10px;white-space:nowrap}.reservations-list-container .footer-actions{flex-direction:column;margin-top:16px}.reservations-list-container .footer-actions .btn{width:100%;padding:10px 20px;font-size:14px}.reservations-list-container .no-reservations{padding:40px 16px;font-size:14px;margin-bottom:16px}.reservations-list-container .modal-content{width:95%;margin:10px}.reservations-list-container .modal-header{padding:16px}.reservations-list-container .modal-header h3{font-size:16px}.reservations-list-container .modal-body{padding:16px}.reservations-list-container .modal-body p{font-size:14px}.reservations-list-container .modal-footer{padding:12px 16px;flex-direction:column;gap:8px}.reservations-list-container .modal-footer .btn{width:100%;padding:10px 16px}}.trainers-list-container{font-family:'Helvetica Neue', Arial, sans-serif}.trainers-list-container .page-title{text-align:center;font-size:24px;margin-top:0;margin-bottom:20px;color:#333}.trainers-list-container .trainers-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:20px;margin-top:30px}.trainers-list-container .trainer-card{background:white;border:1px solid #dee2e6;border-radius:8px;padding:20px;cursor:pointer;transition:box-shadow 0.3s, transform 0.2s}.trainers-list-container .trainer-card:hover{box-shadow:0 4px 12px rgba(0,0,0,0.1);transform:translateY(-2px)}.trainers-list-container .trainer-photo img{width:100%;max-width:200px;height:200px;object-fit:cover;border-radius:4px;margin:0 auto;display:block}.trainers-list-container .trainer-photo-placeholder{background:#f8f9fa;border-radius:4px;height:200px;display:flex;align-items:center;justify-content:center;color:#6c757d;font-size:14px}.trainers-list-container .trainer-name{font-size:18px;font-weight:bold;margin-bottom:10px;color:#333;text-align:center}.trainers-list-container .trainer-message-preview{font-size:14px;color:#666;line-height:1.5;margin-bottom:10px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.trainers-list-container .trainer-link{font-size:14px;color:#007bff;text-decoration:underline;margin-top:10px;text-align:center}.trainers-list-container .back-link{margin-top:30px;text-align:center}@media (max-width: 768px){.trainers-list-container .trainers-grid{grid-template-columns:1fr;gap:15px}.trainers-list-container .trainer-card{padding:15px}}
