.floating-chat-button{position:fixed;bottom:25px;right:25px;width:70px;height:70px;border-radius:50%;background-color:#007bff;color:#fff;display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;font-size:20px;font-weight:700;line-height:1.3;text-decoration:none;box-shadow:0 4px 12px #0003;z-index:9999;transition:transform .2s ease-in-out}.floating-chat-button:hover{transform:scale(1.1)}.popup-backdrop{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.popup-content{background-color:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;width:100%;max-width:450px;padding:25px;text-align:center;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.popup-title{font-size:1.6rem;font-weight:700;margin-top:0;margin-bottom:1rem}.popup-body{margin-bottom:1.5rem}.popup-body p{margin:.5rem 0;color:#555;line-height:1.6}.popup-body hr{border:none;border-top:1px solid #eee;margin:1.5rem 0}.popup-info{font-size:.9rem;color:#777}.popup-footer{display:flex;justify-content:space-between;gap:10px}.popup-button{flex:1;padding:12px;font-size:1rem;font-weight:700;border-radius:8px;cursor:pointer;border:none;transition:background-color .2s,transform .1s}.popup-button:active{transform:scale(.98)}.popup-button.hide-today{background-color:#f0f0f0;color:#333}.popup-button.hide-today:hover{background-color:#e0e0e0}.popup-button.close{background-color:#007bff;color:#fff}.popup-button.close:hover{background-color:#0056b3}.home-page.container{padding:0;background-color:#f8f9fa;width:100%;max-width:100%}.hero-section{position:relative;width:100%;min-height:auto;padding:.5rem 1.5rem 1.5rem;display:flex;justify-content:center;align-items:center;flex-direction:column;box-sizing:border-box;color:#fff;text-align:center;background-color:#007bff}.hero-logo{width:200px;margin-bottom:.5rem}.hero-title{font-size:2rem;font-weight:700;margin:0 0 1rem}.hero-brand-film-link{display:inline-block;margin-top:1rem;padding:10px 20px;border:1px solid #cccccc;border-radius:50px;background-color:#fff;color:#000;text-decoration:none;font-weight:500;font-size:.9rem;white-space:nowrap;width:auto}.selection-wrapper{background-color:#f8f9fa;padding:2.5rem 1.5rem;margin-top:-20px;border-top-left-radius:24px;border-top-right-radius:24px;position:relative;z-index:1}.selection-guide{text-align:center;font-size:1.3rem;font-weight:700;color:#333;margin-bottom:1.5rem}.choice-container{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.choice-card{background-color:#fff;border-radius:16px;padding:2rem;width:100%;max-width:300px;text-align:center;box-shadow:0 8px 30px #00000014;cursor:pointer;transition:all .3s ease}.choice-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #007bff4d;background-color:#007bff;color:#fff}.card-icon{font-size:2.5rem;margin-bottom:1rem;transition:color .3s ease}.card-title{font-size:1.4rem;font-weight:600;color:#222;margin:0 0 .5rem;transition:color .3s ease}.card-description{font-size:1rem;color:#666;line-height:1.5;transition:color .3s ease}.choice-card:hover .card-title,.choice-card:hover .card-description,.choice-card:hover .card-icon{color:#fff}.professional-detail{display:flex;flex-direction:column;height:100%;background-color:#f8f9fa;overflow:hidden}.detail-content-scrollable{flex:1;overflow-y:auto;padding:0 1.5rem}.detail-profile{padding:1.5rem 0;text-align:center}.detail-name{font-size:1.8rem;margin:0}.detail-tabs{display:flex;border-bottom:1px solid #dee2e6}.tab-button{flex:1;padding:1rem;font-size:1rem;font-weight:700;border:none;background-color:transparent;cursor:pointer;color:#868e96;border-bottom:3px solid transparent;transition:all .2s ease}.tab-button.active{color:#007bff;border-bottom-color:#007bff}.detail-tab-content{padding:1.5rem 0}.detail-section{margin-bottom:2rem}.detail-section-title{font-size:1.1rem;margin:0 0 1rem;border-left:4px solid #007bff;padding-left:.75rem}.detail-info-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.detail-info-label{font-weight:500;color:#495057}.detail-info-value{font-size:1.1rem}.detail-info-value.price{font-weight:700;color:#007bff}.detail-specialty-text,.detail-address-text{line-height:1.6;color:#343a40}.detail-map-container{width:100%;height:200px;border-radius:8px;margin-top:1rem;background-color:#e9ecef}.detail-contact-section{text-align:center;padding:1rem;background-color:#e9ecef;border-radius:8px;margin:1rem 0}.detail-footer{padding:1rem 1.5rem;background-color:#fff;box-shadow:0 -2px 10px #00000014}.detail-next-button{width:100%;padding:1rem;font-size:1.1rem;font-weight:700;border:none;border-radius:12px;background-color:#007bff;color:#fff;cursor:pointer}.detail-loading,.detail-error{padding:3rem;text-align:center;font-size:1.2rem;color:#666}.list-page .page-title{font-size:1.5rem;margin:0;text-align:center}.list-page .pro-list-container{width:100%;max-width:600px;display:flex;flex-direction:column;gap:1rem}.list-page .pro-card{display:flex;align-items:flex-start;background-color:#fff;padding:1.5rem;border-radius:16px;border:1px solid #eee;transition:transform .2s,box-shadow .2s;cursor:default}.list-page .pro-card:hover{transform:translateY(-5px);box-shadow:0 6px 20px #00000014}.pro-card-image{width:80px;height:80px;border-radius:50%;object-fit:cover;margin-right:1.5rem;flex-shrink:0;align-self:center;aspect-ratio:1 / 1;background-color:#f0f0f0}.pro-card-info{flex-grow:1;display:flex;flex-direction:column;height:100%}.pro-card-info .pro-affiliation{font-size:1.2rem;font-weight:700;margin:0 0 .25rem;color:#222}.pro-card-info .pro-teacher-name{font-size:1rem;font-weight:500;color:#555;margin:.25rem 0 .75rem}.pro-card-info .parking-screen-info{font-size:.85rem;color:#777;margin-top:.1rem;margin-bottom:.75rem}.pro-card-info .pro-phrase{font-size:1rem;color:#000;margin:0 0 .75rem}.pro-card-info .package-info{font-size:.9rem;color:#555;margin:0 0 .5rem}.pro-card-info .price{font-size:1.2rem;font-weight:700;color:#007bff}.detail-button{width:100%;padding:12px;margin-top:auto;font-size:1rem;font-weight:700;color:#fff;background-color:#007bff;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease}.detail-button:hover{background-color:#0056b3}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;box-sizing:border-box}.modal-content{background-color:#f8f9fa;padding:2rem;border-radius:16px;width:100%;max-width:600px;box-shadow:0 5px 20px #0000004d;position:relative;max-height:90vh;overflow-y:auto}.modal-close-button{position:absolute;top:15px;right:15px;background:none;border:none;font-size:1.8rem;line-height:1;color:#888;cursor:pointer;transition:color .2s ease}.modal-close-button:hover{color:#000}.profile-section{text-align:center;margin-bottom:1.5rem}.profile-pic{width:120px;height:120px;border-radius:50%;object-fit:cover;margin-bottom:1rem;border:4px solid #f0f0f0}.pro-name{font-size:1.8rem;font-weight:700;margin:0}.golf-course{font-size:1.1rem;color:#555;margin-top:.25rem}.map-section{width:100%;margin-bottom:1.5rem}.map-container{width:100%;height:250px;border-radius:12px}.price-section{text-align:center;margin-bottom:1.5rem}.price-section .price{font-size:1.8rem;font-weight:700;color:#007bff;margin:0}.price-section .package-info{font-size:1rem;color:#777;margin-top:.25rem}.next-button{width:100%;padding:16px;font-size:1.2rem;font-weight:700;color:#fff;background-color:#007bff;border:none;border-radius:12px;cursor:pointer;transition:background-color .2s ease}.next-button:hover{background-color:#0056b3}.booking-page.container{max-width:600px;margin:0 auto;padding:1rem;display:flex;flex-direction:column;gap:1rem;box-sizing:border-box}.booking-page .content-card{background-color:#fff;border-radius:16px;box-shadow:0 4px 16px #00000012;padding:1.5rem}.booking-page .profile-section{display:flex;flex-direction:column;align-items:center;text-align:center}.booking-page .profile-pic{width:80px;height:80px;border-radius:50%;object-fit:cover;margin-bottom:1rem;border:3px solid #f0f0f0}.booking-page .pro-name{font-size:1.4rem;font-weight:700;margin:0 0 .25rem}.booking-page .golf-course{font-size:1rem;color:#666;margin:0}.booking-page .calendar-section{text-align:center}.booking-page .calendar-section .month-select{border:none;font-size:1.2rem;font-weight:700;color:#333;cursor:pointer;margin-bottom:1.5rem;background-color:transparent;padding:.5rem}.booking-page .calendar-section .month-select:focus{outline:none}.booking-page .calendar-section .calendar-dates-wrapper{display:flex;justify-content:space-between;align-items:center}.booking-page .calendar-section .calendar-dates{display:flex;justify-content:center;align-items:center;gap:.5rem;flex-grow:1}.booking-page .calendar-section .date-item{display:flex;flex-direction:column;align-items:center;justify-content:center;width:45px;height:55px;border-radius:50px;cursor:pointer;transition:all .2s ease-in-out}.booking-page .calendar-section .date-item:hover{background-color:#f0f0f0}.booking-page .calendar-section .date-item.selected{background-color:#007bff;color:#fff}.booking-page .calendar-section .date-item .day-of-week{font-size:.8rem;color:#888}.booking-page .calendar-section .date-item.selected .day-of-week{color:#fffc}.booking-page .calendar-section .date-item .day{font-size:1.1rem;font-weight:700}.booking-page .calendar-section .arrow{font-size:1.5rem;color:#aaa;cursor:pointer;padding:.5rem;-webkit-user-select:none;user-select:none}.booking-page .calendar-section .arrow:hover{color:#333}.booking-page .time-slots-container .period-filter-container{margin-bottom:1.5rem}.booking-page .time-slots-container .period-filter{width:100%;padding:12px;font-size:1rem;font-weight:600;border:1px solid #ddd;border-radius:8px;background-color:#f9f9f9}.booking-page .time-slots-container .time-period{margin-bottom:1.5rem}.booking-page .time-slots-container .time-period:last-child{margin-bottom:0}.booking-page .time-slots-container .period-title{font-size:1.1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid #f0f0f0}.booking-page .time-slots-container .hour-group{display:flex;align-items:flex-start;margin-bottom:1rem}.booking-page .time-slots-container .hour-label{font-weight:700;color:#555;width:50px;padding-top:10px;font-size:.9rem}.booking-page .time-slots-container .slots-grid{flex:1;display:flex;flex-wrap:wrap;gap:.5rem}.booking-page .time-slots-container .time-slot{padding:10px 16px;font-size:.9rem;border-radius:20px;cursor:pointer;transition:all .2s;font-weight:500}.booking-page .time-slots-container .time-slot.available{background-color:#007bff;color:#fff;border:1px solid #007bff}.booking-page .time-slots-container .time-slot.available:hover{background-color:#007bff;color:#fff}.booking-page .time-slots-container .time-slot.reserved{background-color:#f8f9fa;color:#ccc;border:1px solid #eee;cursor:not-allowed;text-decoration:line-through}.booking-page .time-slots-container .no-slots-message{text-align:center;padding:2rem 1rem;color:#888;font-size:1rem;background-color:#f8f9fa;border-radius:8px}.confirmation-page .info-card,.confirmation-page .timeline-card,.confirmation-page .notice-card,.confirmation-page .account-card{width:100%;max-width:600px;background-color:#fff;border-radius:16px;padding:1.5rem;margin-bottom:1rem;box-shadow:0 4px 12px #00000012;box-sizing:border-box}.confirmation-page .title{font-size:1.2rem;font-weight:700;margin-top:0;margin-bottom:1.5rem}.confirmation-page .info-card{cursor:default}.confirmation-page .pro-info{display:flex;align-items:center}.confirmation-page .profile-pic.small{width:80px;height:80px;border-radius:50%;object-fit:cover;margin-right:1.5rem;flex-shrink:0}.confirmation-page .pro-details{flex-grow:1}.confirmation-page .pro-details>p{margin:.3rem 0}.confirmation-page .golf-course{font-weight:700;font-size:1.1rem;color:#000}.confirmation-page .pro-name{font-size:1rem;font-weight:600;color:#333}.confirmation-page .package-info,.confirmation-page .reserved-time{font-size:.9rem;color:#555}.confirmation-page .price{font-size:1.5rem;color:#007bff;font-weight:700;margin-top:.75rem}.confirmation-page .info-card:hover{transform:none;box-shadow:0 4px 12px #00000012;background-color:#fff;color:inherit}.confirmation-page .timeline-wrapper{position:relative;width:100%;padding-bottom:1.5rem}.confirmation-page .timeline-graph{display:flex;height:40px;border-radius:8px;overflow:hidden;font-size:.8rem;font-weight:700;color:#fff;text-align:center}.confirmation-page .timeline-segment{display:flex;align-items:center;justify-content:center}.confirmation-page .timeline-segment.practice{background-color:#e9ecef;color:#495057}.confirmation-page .timeline-segment.lesson,.confirmation-page .timeline-segment.feedback{background-color:#007bff}.confirmation-page .timeline-label{position:absolute;top:45px;font-size:.8rem;color:#888;transform:translate(-50%)}.confirmation-page .timeline-label:first-child{transform:translate(0)}.confirmation-page .timeline-label:last-child{transform:translate(-100%)}.confirmation-page .notice-card ul{padding-left:1.2rem;margin:0;font-size:.85rem;color:#555;line-height:1.6}.confirmation-page .account-card{text-align:center;background-color:#f8f9fa;border:1px solid #e9ecef}.confirmation-page .account-card p{margin:.5rem 0}.confirmation-page .account-number{font-size:1.5rem;font-weight:700;letter-spacing:1px;color:#000}.confirmation-page .next-button{width:100%;max-width:600px;padding:16px;font-size:1.2rem;font-weight:700;color:#fff;background-color:#007bff;border:none;border-radius:12px;cursor:pointer;transition:background-color .2s ease;margin-top:1rem}.confirmation-page .next-button:hover{background-color:#0056b3}.user-info-page.container{display:flex;justify-content:center;align-items:center;padding:2rem 1.5rem;background-color:#f8f9fa;min-height:100vh}.user-form-card{width:100%;max-width:550px;background-color:#fff;padding:2rem 2.5rem;border-radius:16px;box-shadow:0 8px 24px #0000001a;text-align:center;box-sizing:border-box}.user-form-card .card-header{margin-bottom:2rem}.user-form-card .title{font-size:1.8rem;font-weight:700;margin-bottom:.75rem;color:#333}.user-form-card .subtitle{font-size:1rem;color:#666;line-height:1.5}.time-slot-picker-content{display:flex;flex-direction:column;height:100%;max-height:80vh}.time-picker-header{text-align:center;padding:1rem 1.5rem;border-bottom:1px solid #eee}.time-picker-header h3{margin:0 0 .5rem;font-size:1.2rem}.time-picker-header .subtitle{margin:0;font-size:.9rem;color:#666;line-height:1.4}.time-picker-header .subtitle span{display:block}.time-picker-body{padding:1.5rem;flex-grow:1;overflow-y:auto}.date-selection-group{margin-bottom:1.5rem;background-color:#f8f9fa;padding:1rem;border-radius:8px}.date-input-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.date-input-wrapper{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.date-input-button{font-size:1rem;font-weight:700;padding:.5rem;border:1px solid #ccc;border-radius:8px;cursor:pointer;background-color:#fff;appearance:none;-webkit-appearance:none;-moz-appearance:none;width:150px}.date-day-label{font-size:.9rem;color:#6c757d;font-weight:500;white-space:nowrap}.button-danger{background-color:#fbe0e0;color:#dc3545;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem}.time-grid{display:grid;grid-template-columns:1fr;gap:.5rem}.time-slot-button{padding:.75rem .5rem;font-size:.9rem;border:1px solid #ddd;border-radius:8px;background-color:#fff;cursor:pointer;transition:all .2s ease;text-align:center}.time-slot-button.selected{background-color:#007bff;color:#fff;border-color:#007bff;font-weight:700}.time-block-button{font-size:.9rem}.add-date-button{width:100%;padding:.75rem;font-size:1rem;border:1px dashed #ccc;border-radius:8px;background-color:#f0f2f5;color:#555;cursor:pointer;margin-top:1rem;transition:background-color .2s ease}.add-date-button:hover{background-color:#e4e6eb}.picker-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid #eee;background-color:#fff}.selection-counter{font-size:.9rem;color:#555;flex-grow:1}.footer-buttons{display:flex;gap:.75rem}.button{padding:.75rem 1.5rem;font-size:1rem;font-weight:700;border:none;border-radius:8px;cursor:pointer;background-color:#007bff;color:#fff;transition:all .2s ease}.button-secondary{background-color:#6c757d}.button:disabled{background-color:#e0e0e0;color:#a0a0a0;cursor:not-allowed;opacity:.7}.modal-backdrop{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background-color:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;width:100%;max-width:500px;height:90vh;max-height:700px;display:flex;flex-direction:column;z-index:1001;overflow:hidden}.time-picker-header{text-align:center;margin-bottom:20px;border-bottom:1px solid #eee;padding:0 25px 15px}.time-picker-header h3{margin:0 0 5px;font-size:1.4em}.time-picker-header .subtitle span{display:block;line-height:1.5;color:#666;font-size:.9em}.time-picker-body{flex:1;padding:0 25px 1rem;overflow-y:auto}.date-selection-group{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:15px;margin-bottom:15px}.date-input-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.date-input-button{flex-grow:1;padding:10px 12px;border:1px solid #ccc;border-radius:6px;background-color:#007bff;font-size:1em;font-weight:700;color:#f0f8ff;cursor:pointer;transition:all .2s;margin-right:10px}.date-input-button:hover{border-color:#007bff;background-color:#f0f8ff}.date-input-button::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.8;transition:opacity .2s}.date-input-button::-webkit-calendar-picker-indicator:hover{opacity:1}.button-danger{background:none;border:none;color:#dc3545;font-weight:700;cursor:pointer;padding:8px;white-space:nowrap}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem}.time-slot-button{padding:.5rem;border:1px solid var(--border-color);border-radius:6px;background-color:var(--background-color);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}.time-slot-button.selected{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color);font-weight:500}.add-date-button{width:100%;padding:.75rem;border:2px dashed var(--border-color);border-radius:8px;color:var(--text-color);background-color:transparent;cursor:pointer;transition:background-color .2s,border-color .2s}.add-date-button:hover{background-color:#f1f3f5;border-color:#ced4da}.picker-footer{padding:1rem;border-top:1px solid var(--border-color);margin-top:auto;display:flex;gap:1rem}.button-secondary{background-color:#fff;color:#343a40;border:1px solid var(--border-color)}.button-secondary:hover{background-color:#f8f9fa}.button{width:100%;padding:.875rem;font-size:1rem;font-weight:600;color:#fff;background-color:var(--primary-color);border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.button:hover{background-color:#0069d9}:root{--primary-color: #007bff;--primary-color-light: #e6f2ff;--border-color: #dee2e6;--text-color: #495057;--background-color: #f8f9fa}body{background-color:var(--background-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.container.user-info-page{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100%;padding:2rem 1rem}.info-card.user-form-card{width:100%;max-width:500px;background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;padding:2rem}.card-header{text-align:center;margin-bottom:2rem}.card-header .title{font-size:1.5rem;font-weight:600;color:#212529}.card-header .subtitle{font-size:.9rem;color:var(--text-color);margin-top:.5rem}.info-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;font-size:.875rem;color:#343a40}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;font-size:1rem;border:1px solid var(--border-color);border-radius:8px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #007bff26}.next-button{width:100%;padding:.875rem;font-size:1rem;font-weight:600;color:#fff;background-color:var(--primary-color);border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.next-button:hover{background-color:#0069d9}.schedule-trigger-button{display:flex;justify-content:space-between;align-items:center;width:100%;height:50px;padding:0 .75rem;text-align:left;background-color:#f8f9fa;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:background-color .2s}.schedule-trigger-button:hover{background-color:#f1f3f5}.schedule-trigger-button .selected{color:var(--primary-color);font-weight:600}.selection-summary-inline{margin-top:.75rem;padding:.75rem;background-color:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.summary-item-inline{display:flex;align-items:center;gap:.75rem;font-size:.875rem}.summary-item-inline+.summary-item-inline{margin-top:.5rem}.summary-date-inline{font-weight:500;color:#495057;flex-shrink:0;width:75px}.summary-times-inline{display:flex;flex-wrap:wrap;gap:.4rem}.time-tag-inline{background-color:var(--primary-color-light);color:var(--primary-color);padding:.2rem .5rem;border-radius:999px;font-size:.75rem;font-weight:500;line-height:1.5}.basic-multi-select .select__control{border:1px solid var(--border-color);border-radius:8px;min-height:45px;box-shadow:none}.basic-multi-select .select__control--is-focused{border-color:var(--primary-color);box-shadow:0 0 0 3px #007bff26}.basic-multi-select .select__placeholder{color:#aaa}.success-page{display:flex;align-items:center;justify-content:center;min-height:80vh;text-align:center}.success-card{background-color:#fff;border-radius:16px;box-shadow:0 8px 24px #0000001a;padding:40px;max-width:500px;width:100%}.success-icon{font-size:3rem;line-height:1;margin-bottom:1.5rem;color:#28a745}.success-title{font-size:1.8rem;font-weight:700;margin-bottom:1rem}.success-message{font-size:1rem;color:#555;line-height:1.6;margin-bottom:.5rem}.success-info{font-size:.9rem;color:#777;margin-top:1.5rem;margin-bottom:2rem}.thank-you-message{font-weight:700;margin-bottom:2rem}.home-button{width:100%;padding:15px;font-size:1.1rem;font-weight:700;color:#fff;background-color:#007bff;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.home-button:hover{background-color:#0056b3}.info-page{padding:2rem 1.5rem;background-color:#f8f9fa}.info-page .info-header{text-align:center;margin-bottom:2.5rem}.info-page .info-header h1{font-size:2.2rem;font-weight:700;margin-bottom:.5rem}.info-page .info-header p{font-size:1.1rem;color:#666}.info-page .info-grid-container{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.info-page .info-card{position:relative;background-color:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 6px 20px #0000000f;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;text-align:left}.info-page .info-card:hover{transform:translateY(-8px);box-shadow:0 12px 32px #007bff4d;background-color:#007bff;color:#fff}.info-page .card-icon{font-size:2rem;margin-bottom:.75rem}.info-page .card-question{font-size:1.1rem;font-weight:600;color:#333;margin:0 0 .5rem}.info-page .card-description{font-size:.9rem;color:#777;line-height:1.4;min-height:40px;white-space:pre-line}.info-page .card-arrow{position:absolute;bottom:12px;right:15px;font-size:1.5rem;font-weight:700;color:#ccc;transition:color .3s ease}.info-page .info-card:hover .card-question,.info-page .info-card:hover .card-description,.info-page .info-card:hover .card-icon,.info-page .info-card:hover .card-arrow{color:#fff}@media (min-width: 760px){.info-page .info-grid-container{grid-template-columns:repeat(3,1fr);gap:1.5rem}.info-page .info-card{padding:2rem}}.section-title{font-size:1.6rem;font-weight:700;margin-bottom:20px;text-align:center}.section-title.question{color:#d9534f}.section-title.quote{font-style:italic;color:#555;padding-left:15px;border-left:4px solid #f0ad4e}.main-copy{font-size:1.2rem;line-height:1.7;text-align:center;margin:30px 0}.section-title.question{color:#d9534f;font-size:1.6rem;font-weight:700;margin-bottom:30px}.team-logo{max-width:150px;margin:20px auto 30px}.intro-text{font-size:1.2rem;line-height:1.7}.highlight-text{font-size:1.1rem;line-height:1.8;text-align:center;margin:25px 0}.highlight-text.goal{font-weight:500;color:#007bff}.highlight-text.final-word{font-size:1.2rem}.representative-card{background-color:#f9f9f9;border-radius:12px;padding:25px;margin-top:20px;text-align:center}.rep-photo{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 4px 8px #0000001a;margin-bottom:20px}.rep-greeting{line-height:1.8;font-size:1.05em;color:#333}.section-title.highlight{color:#28a745;font-size:1.4rem;text-align:center;margin-bottom:30px}.intro-text{font-size:1.2rem;line-height:1.7;margin-bottom:30px}.content-image{max-width:100%;height:auto;border-radius:8px;margin:0 auto 20px}.content-image.comparison{border:1px solid #eee}.image-caption{font-size:1rem;color:#666;line-height:1.7;text-align:center}.image-caption strong{color:#333}.advantages-list{list-style:none;padding:0;display:flex;text-align:center;flex-direction:column;gap:20px}.advantages-list li{background-color:#f9f9f9;border-left:4px solid #007bff;padding:15px 20px;border-radius:0 8px 8px 0}.advantages-list li strong{font-size:1.1em;display:block;margin-bottom:5px}.advantages-list li p{margin:0;color:#555}.emphasis-box{background-color:#fffbe6;border:1px solid #ffeeba;color:#856404;padding:20px;border-radius:8px;margin-top:30px;text-align:center}.emphasis-box p{margin:0;font-size:1.2rem;line-height:1.7}.info-content .section{margin-bottom:40px}.section-title.highlight{color:#28a745;font-size:1.4rem;margin-bottom:20px}.section-title.quote{font-style:italic;color:#555;padding-left:15px;border-left:4px solid #f0ad4e;font-size:1.4rem;margin-bottom:20px}.process-list{list-style:none;padding-left:0;counter-reset:process-counter}.process-list li{counter-increment:process-counter;margin-bottom:20px;padding-left:45px;position:relative}.process-list li:before{content:counter(process-counter);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background-color:#007bff;color:#fff;font-weight:700;display:flex;justify-content:center;align-items:center}.process-list li strong{font-size:1.1em;display:block;margin-bottom:5px;text-align:left}.process-list li p{margin:5px 0 0;color:#666;font-size:.9em;text-align:left}.info-link-button{display:block;width:fit-content;margin:10px auto 0;padding:8px 16px;background-color:#007bff;color:#fff;text-decoration:none;border-radius:6px;font-weight:500;font-size:.9rem;transition:background-color .2s ease}.info-link-button:hover{background-color:#0056b3}.problem-dialogue{background-color:#f9f9f9;border-radius:8px;padding:20px;font-style:italic;color:#666;line-height:1.8;border:1px solid #eee}.solution-box{margin-top:30px}.solution-title{font-size:1.2rem;font-weight:700;margin-bottom:15px;padding-left:10px}.solution-title.before{color:#c9302c;border-left:3px solid #c9302c}.solution-title.after{color:#28a745;border-left:3px solid #28a745}.problem-list,.solution-list{list-style:none;padding-left:15px;font-size:1.1rem;line-height:1.8}.problem-list li:before{content:"❌";margin-right:10px}.solution-list li:before{content:"✅";margin-right:10px}.conclusion p{font-size:1.3rem;font-weight:700;text-align:center;line-height:1.8}.cta-section{text-align:center;margin-top:40px}.cta-button{width:100%;max-width:400px;padding:15px;font-size:1.2rem;font-weight:700;color:#fff;background-color:#007bff;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.cta-button:hover{background-color:#0056b3}.main-text{font-size:1.2rem;text-align:center;line-height:1.7;margin-bottom:10px}.sub-text{font-size:1.1rem;text-align:center;line-height:1.8;color:#666;margin-top:0}.divider{border-top:1px solid #eee;margin:50px 0}.info-detail-page{max-width:800px;margin:20px auto;padding:20px;background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d}.info-header{margin-bottom:20px}.back-button-large{background:none;border:none;font-size:1.1rem;font-weight:700;color:#555;cursor:pointer;padding:10px 0}.info-content .section{margin-bottom:30px}.info-content .section.text-center{text-align:center}.section-title.question{color:#d9534f;font-size:1.6rem;font-weight:700;margin-bottom:20px}.section-title.highlight{color:#007bff;font-size:1.4rem;margin-bottom:15px;text-align:center}.intro-text{font-size:1.1rem;line-height:1.7;color:#555}.payment-method{text-align:center}.payment-method .description{font-size:1.1rem;line-height:1.8;color:#333}.divider{border-top:1px solid #eee;margin:40px 0}.contact{background-color:#f0f8ff;border-radius:8px;padding:25px;text-align:center;line-height:1.8}.contact h4{font-size:1.2rem;margin-top:0}.contact .thanks{font-weight:700;margin-top:20px}.admin-page{background-color:#f8f9fa;min-height:100vh;color:#333}.admin-page .admin-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:#fff;box-shadow:0 2px 4px #0000000d}.admin-page .admin-profile{display:flex;align-items:center;gap:1rem}.admin-page .admin-notification-bell{position:relative;font-size:1.5rem;cursor:pointer}.admin-page .notification-dot{position:absolute;top:0;right:0;width:8px;height:8px;background-color:red;border-radius:50%;border:1px solid white}.admin-page .logout-button{background-color:#6c757d;color:#fff;border:none;padding:8px 14px;font-size:.9rem;border-radius:6px;cursor:pointer;transition:background-color .2s}.admin-page .logout-button:hover{background-color:#5a6268}.admin-page .notification-popup{position:fixed;top:80px;right:2rem;background-color:#fff;padding:1rem;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:1rem;z-index:100}.admin-page .admin-content{padding:2rem;max-width:1200px;margin:0 auto}.admin-page .admin-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.admin-page .admin-navigation h2{margin:0;font-size:1.8rem}.admin-page .admin-nav-buttons{display:flex;gap:.75rem}.admin-page .nav-button{padding:10px 18px;border:1px solid #ddd;background-color:#fff;border-radius:8px;cursor:pointer;font-weight:500;transition:background-color .2s,color .2s,border-color .2s}.admin-page .nav-button:hover{background-color:#007bff;color:#fff;border-color:#007bff}.admin-page .top-section-wrapper{margin-bottom:2rem}.admin-page .filters-container{display:flex;flex-wrap:wrap;gap:1rem;padding:1.5rem;background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014}.admin-page .admin-filters{display:flex;flex-grow:1;gap:1rem}.admin-page .admin-filters select,.admin-page .date-selector input{width:100%;padding:.75rem 1rem;border-radius:8px;border:1px solid #ddd;background-color:#f8f9fa;font-size:1rem}.admin-page .admin-filters>*{flex:1}.admin-page .reservation-list{display:flex;flex-direction:column;gap:1rem}.admin-page .reservation-item{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:1.25rem;background-color:#fff;border-radius:8px;border-left:6px solid #ccc;box-shadow:0 2px 8px #00000012;transition:box-shadow .2s}.admin-page .reservation-item:hover{box-shadow:0 4px 16px #0000001a}.admin-page .reservation-item.status-available{border-color:#6c757d}.admin-page .reservation-item.status-booked{border-color:#007bff}.admin-page .reservation-item.status-pending{border-color:#ffc107}.admin-page .reservation-item.status-blocked{border-color:#dc3545}.admin-page .info{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1.25rem;flex-grow:1}.admin-page .time{font-weight:700;font-size:1.2rem}.admin-page .status-text{font-weight:500}.admin-page .user-name{font-size:.95rem}.admin-page .coaching-part,.admin-page .channel{font-size:.9rem;color:#555}.admin-page .actions{display:flex;gap:.5rem;margin-left:1rem}.admin-page .action-button{padding:6px 12px;border:1px solid #ddd;border-radius:6px;background-color:#f8f9fa;cursor:pointer;font-size:.9rem;transition:background-color .2s,color .2s}.admin-page .action-button:hover{background-color:#e2e6ea}.admin-page .action-button.confirm{background-color:#28a745;color:#fff;border-color:#28a745}.admin-page .action-button.confirm:hover{background-color:#218838}.admin-page .action-button.cancel{background-color:#dc3545;color:#fff;border-color:#dc3545}.admin-page .action-button.cancel:hover{background-color:#c82333}.admin-page .action-button.release{background-color:#17a2b8;color:#fff;border-color:#17a2b8}.admin-page .action-button.release:hover{background-color:#138496}.admin-page .action-button.block{background-color:#343a40;color:#fff;border-color:#343a40}.admin-page .action-button.block:hover{background-color:#23272b}.all-reservation-page{max-width:1200px;margin:40px auto;padding:20px;font-family:sans-serif}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #eee}.page-header h1{margin:0;font-size:28px;color:#333}.back-button{padding:8px 16px;font-size:14px;font-weight:700;color:#fff;background-color:#555;border:none;border-radius:5px;cursor:pointer;transition:background-color .2s ease}.back-button:hover{background-color:#333}.table-wrapper{width:100%;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px #0000000d;overflow-x:auto}.table-wrapper table{width:100%;border-collapse:collapse}.table-wrapper th,.table-wrapper td{padding:12px 15px;text-align:left;border-bottom:1px solid #ddd;white-space:nowrap}.table-wrapper thead th{background-color:#f8f9fa;font-size:14px;color:#555;font-weight:600}.table-wrapper tbody td{font-size:14px;color:#333}.table-wrapper tbody tr:hover{background-color:#f1f1f1}.all-reservation-page>p{text-align:center;padding:40px;font-size:16px;color:#777}.reservation-section{margin-bottom:40px}.reservation-section h2{font-size:22px;color:#444;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #eee}.admin-setting-page{padding:2rem 2.5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:#f8f9fa;min-height:100vh}.admin-setting-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.admin-setting-header h1{font-size:2.25rem;font-weight:800;color:#212529;margin:0}.header-actions{display:flex;gap:1rem}.btn-add,.btn-nav{padding:12px 22px;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease-in-out}.btn-add{color:#fff;background-color:#0d6efd}.btn-add:hover{background-color:#0b5ed7;transform:translateY(-2px);box-shadow:0 4px 12px #0d6efd4d}.btn-nav{color:#212529;background-color:#e9ecef;border:1px solid #dee2e6}.btn-nav:hover{background-color:#dee2e6}.filter-bar{background-color:#fff;padding:1.5rem;border-radius:12px;margin-bottom:2rem;box-shadow:0 4px 15px #0000000f;display:flex;align-items:center;gap:1rem;border:1px solid #e9ecef}.filter-bar label{font-weight:600;font-size:1.1rem;color:#495057}.filter-select{padding:12px;min-width:250px;border-radius:8px;border:1px solid #ced4da;font-size:1rem;background-color:#fff;transition:border-color .2s,box-shadow .2s}.filter-select:focus{outline:none;border-color:#86b7fe;box-shadow:0 0 0 4px #0d6efd40}.filter-select:disabled{background-color:#e9ecef;cursor:not-allowed}.table-wrapper{background-color:#fff;border-radius:12px;box-shadow:0 4px 15px #0000000f;overflow:hidden;border:1px solid #e9ecef}.course-table{width:100%;border-collapse:collapse}.course-table th,.course-table td{padding:1.25rem 1.5rem;border-bottom:1px solid #dee2e6;text-align:left;vertical-align:middle}.course-table thead th{background-color:#f8f9fa;font-size:.9rem;font-weight:600;color:#495057;text-transform:uppercase;letter-spacing:.5px}.course-table tbody tr:last-child td{border-bottom:none}.course-table tbody tr:hover{background-color:#f8f9fa}.course-table-btn{padding:8px 14px;border:none;border-radius:6px;cursor:pointer;margin-right:8px;font-weight:600;transition:all .2s}.course-table-btn.btn--edit{background-color:#ffc107;color:#212529}.course-table-btn.btn--edit:hover{background-color:#ffca2c;transform:scale(1.05)}.course-table-btn.btn--delete{background-color:#dc3545;color:#fff}.course-table-btn.btn--delete:hover{background-color:#c82333;transform:scale(1.05)}.no-data-cell{text-align:center;padding:4rem;color:#6c757d;font-size:1.1rem}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{background-color:#fff;padding:2.5rem;border-radius:16px;width:90%;max-width:600px;box-shadow:0 10px 30px #0003;animation:slide-down .4s cubic-bezier(.25,.46,.45,.94)}@keyframes slide-down{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h2{margin-top:0;margin-bottom:2rem;text-align:center;font-weight:700;color:#212529}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.6rem;font-weight:600;color:#495057;font-size:.95rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:14px;border:1px solid #ced4da;border-radius:8px;box-sizing:border-box;font-size:1rem;transition:border-color .2s,box-shadow .2s;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#86b7fe;box-shadow:0 0 0 4px #0d6efd40}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2.5rem}.btn-cancel,.btn-submit{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease-in-out}.btn-cancel:hover{background-color:#5a6268}.btn-submit:hover{background-color:#0b5ed7}.admin-pro-page{padding:2rem;background-color:#f8f9fa;min-height:100vh}.admin-pro-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #dee2e6}.admin-pro-header h1{margin:0;font-size:2rem}.admin-pro-header .header-actions{display:flex;gap:1rem}.btn-nav,.btn-add{padding:10px 18px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-nav{background-color:#e9ecef}.btn-nav:hover{background-color:#ced4da}.btn-add{background-color:#0d6efd;color:#fff}.btn-add:hover{background-color:#0b5ed7}.btn-add:disabled{background-color:#6c757d;cursor:not-allowed}.filter-bar{display:flex;gap:1rem;margin-bottom:2rem;align-items:center}.filter-bar label{font-weight:700}.filter-bar select{padding:.5rem 1rem;border-radius:8px;border:1px solid #ddd}.table-wrapper{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;overflow:hidden}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;padding:2rem;border-radius:12px;width:90%;max-width:500px}.modal-content h2{margin-top:0}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem}.form-group input,.form-group textarea{width:100%;padding:.5rem;box-sizing:border-box}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.btn-cancel{background-color:#6c757d;color:#fff}.btn-submit{background-color:#0d6efd;color:#fff}.admin-detail-page{padding:2rem 2.5rem;background-color:#f8f9fa;min-height:100vh}.loading-container{display:flex;justify-content:center;align-items:center;min-height:80vh;font-size:1.5rem;color:#6c757d}.admin-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid #dee2e6}.admin-detail-header h1{margin:0;font-size:2.2rem}.detail-section{background-color:#fff;border-radius:12px;padding:2rem;margin-bottom:2.5rem;box-shadow:0 4px 15px #0000000f}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}.section-header h2{margin:0;font-size:1.5rem}.section-header div{display:flex;gap:1rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.info-grid p{margin:0;padding:.75rem;background-color:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.info-grid strong{margin-right:.5rem;color:#495057}.table-wrapper{overflow-x:auto}.pro-table{width:100%;border-collapse:collapse}.pro-table th,.pro-table td{padding:1rem 1.5rem;border-bottom:1px solid #dee2e6;text-align:left}.pro-table thead th{background-color:#f8f9fa;font-weight:600}.table-btn{padding:6px 12px;border:none;border-radius:6px;cursor:pointer;margin-right:8px}.btn--edit{background-color:#ffc107}.btn--delete{background-color:#dc3545;color:#fff}.no-data-cell{text-align:center;padding:3rem;color:#6c757d}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:#f8f9fa}.container{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;box-sizing:border-box}.global-header{position:sticky;top:0;left:0;width:100%;padding:.5rem 2rem;background-color:#fff;box-shadow:0 2px 4px #0000000d;z-index:1000;box-sizing:border-box;text-align:center}.header-logo{max-width:120px;height:auto;display:inline-block}.next-button{padding:14px 28px;font-size:1.1rem;font-weight:700;color:#fff;background-color:#007bff;border:none;border-radius:12px;cursor:pointer;box-shadow:0 4px 12px #007bff4d;transition:all .2s ease-in-out;width:100%;max-width:600px}.next-button:hover{background-color:#0056b3;transform:translateY(-2px)}.next-button:active{transform:translateY(0);box-shadow:0 2px 6px #007bff4d}.lesson-home-page,.list-page,.detail-page,.booking-page,.confirmation-page,.success-page{width:100%;padding:1.5rem 1rem;justify-content:flex-start}.lesson-home-page.container{background-color:#f8f9fa;justify-content:flex-start;padding-top:10rem;padding-left:1rem;padding-right:1rem}.lesson-home-page .lesson-content-wrapper{display:flex;flex-direction:column;align-items:center;width:100%;max-width:600px}.lesson-home-page .home-logo{max-width:220px;height:auto;margin-bottom:2rem}.lesson-home-page .selection-card{width:100%;background-color:#fff;border-radius:16px;padding:1.5rem 2rem;box-shadow:0 8px 24px #0000001a;box-sizing:border-box;display:flex;flex-direction:column;gap:1.5rem}.lesson-home-page .lesson-card-header{text-align:center;margin-bottom:.5rem}.lesson-home-page .lesson-card-header h3{margin:0 0 .5rem;font-size:1.5rem}.lesson-home-page .lesson-card-header p{margin:0;color:#666}.lesson-home-page .selection-box label{font-size:.8rem;font-weight:600;color:#888;margin-bottom:.5rem;display:block}.lesson-home-page .selection-box select{width:100%;padding:14px 20px;font-size:1rem;border-radius:12px;border:1px solid #EAEAEA;background-color:#f8f9fa;cursor:pointer;appearance:none;background-image:url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23333"><path d="M7 10l5 5 5-5H7z"/></svg>');background-repeat:no-repeat;background-position:right 1rem center;background-size:1.5em}.lesson-home-page .next-button{position:static;margin-top:1.5rem}.success-page .success-info-box .success-title{font-size:1.3rem;font-weight:700;margin:0 0 1rem;color:#007bff}.success-page .success-info-box .reservation-details{font-size:1.1rem}.success-page .success-info-box .reservation-details p{margin:.25rem 0}.success-page .success-message-card{text-align:center;line-height:1.8;font-size:1rem;color:#333}.login-container{justify-content:center;padding:2rem}.login-form{width:100%;max-width:400px;padding:2rem;border:1px solid #eee;border-radius:12px;box-shadow:0 4px 16px #00000014;background-color:#fff}.login-form h2{text-align:center;margin-top:0;margin-bottom:1.5rem}.login-form .next-button{margin-top:1rem}.all-reservation-container{flex:2;background-color:#f9f9f9;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.all-reservation-table-container{max-height:250px;overflow-y:auto}.all-reservation-container table{width:100%;border-collapse:collapse;font-size:14px}.all-reservation-container th,.all-reservation-container td{border:1px solid #ddd;padding:8px 12px;text-align:left}.all-reservation-container th{background-color:#f2f2f2;font-weight:700}
