body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:#fff}.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}.content-card,.info-card,.timeline-card,.notice-card,.account-card,.user-form-card,.success-info-box,.success-message-card{width:100%;max-width:600px;background-color:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 4px 12px #0000000d;box-sizing:border-box}.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}.list-page,.detail-page,.booking-page,.confirmation-page,.user-info-page,.success-page{background-color:#f8f9fa;padding:2rem 1rem;justify-content:flex-start}.home-page.container{justify-content:center;padding:2rem;background-color:#f8f9fa}.home-page .home-content-wrapper{display:flex;flex-direction:column;align-items:center;width:100%;max-width:500px}.home-page .home-logo{max-width:220px;height:auto;margin-bottom:2rem}.home-page .selection-card{width:100%;background-color:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 8px 24px #0000001a;box-sizing:border-box;display:flex;flex-direction:column;gap:1rem}.home-page .selection-box{position:relative;width:100%}.home-page .selection-box label{font-size:.8rem;font-weight:600;color:#888;margin-bottom:.5rem;display:block}.home-page .selection-box select{width:100%;padding:14px 20px;font-size:1.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}.home-page .selection-box select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.home-page .next-button{width:100%;margin-top:1.5rem}.list-page .page-title{font-size:1.5rem;margin:0}.list-page .pro-list-container{width:100%;max-width:600px;display:flex;flex-direction:column;gap:1rem}.list-page .pro-card,.detail-page .pro-card{display:flex;align-items:stretch;background-color:#fff;padding:1rem;border-radius:12px;border:1px solid #eee}.list-page .pro-card{cursor:pointer;transition:transform .2s,box-shadow .2s}.list-page .pro-card:hover{transform:translateY(-5px);box-shadow:0 6px 16px #0000001a}.pro-card-image{width:80px;height:80px;border-radius:50%;object-fit:cover;margin-right:1rem;flex-shrink:0;align-self:center}.pro-card-info{flex-grow:1;display:flex;flex-direction:column}.pro-card-info .pro-name{font-size:1.2rem;font-weight:700;margin:0 0 .25rem}.pro-card-info .package-info{font-size:.9rem;color:#555;margin:0 0 .5rem}.pro-card-info .price{font-size:1.1rem;font-weight:700;text-align:right;color:#007bff;margin-top:auto;padding-top:.5rem}.pro-card-info .parking-info{font-size:.85rem;color:#555;margin:.5rem 0}.pro-card-info .pro-teacher-name{font-size:.9rem;font-weight:600;color:#333;margin:.25rem 0 .5rem}.detail-page.container{padding-bottom:2rem}.detail-page .content-card{display:flex;flex-direction:column;gap:1.5rem}.detail-page .profile-section{display:flex;flex-direction:column;align-items:center;gap:.25rem}.detail-page .profile-pic{width:100px;height:100px;border-radius:50%;object-fit:cover}.detail-page .pro-name{margin:.5rem 0 0;font-size:1.5rem}.detail-page .golf-course{margin:0;font-size:.9rem;color:#666}.detail-page .map-section{padding:0 1.5rem}.detail-page .map-container{width:100%;height:250px;border-radius:12px;border:1px solid #eee}.detail-page .price-section{text-align:center}.detail-page .price{font-size:2rem;font-weight:700;margin:0;color:#007bff}.detail-page .package-info{font-size:1rem;color:#666;margin-top:.5rem}.detail-page .next-button{position:static;margin-top:1.5rem}.booking-page .profile-section{text-align:center}.booking-page .profile-pic{width:100px;height:100px;border-radius:50%;object-fit:cover;margin-bottom:.5rem;border:3px solid #eee}.booking-page .pro-name{font-size:1.3rem;font-weight:700;margin:.5rem 0}.booking-page .golf-course{font-size:1rem;color:#666;margin:0}.booking-page .calendar-section{text-align:center;margin:0}.booking-page .month-select{background:transparent;border:none;font-size:1rem;font-weight:700;color:#333;cursor:pointer;padding:0;appearance:none;margin-bottom:1.5rem}.booking-page .month-select:focus{outline:none}.booking-page .calendar-dates-wrapper{display:flex;justify-content:space-between;align-items:center;padding:0 10px}.booking-page .calendar-dates{display:flex;justify-content:center;align-items:center;gap:10px}.booking-page .date-item{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:45px;height:55px;border-radius:25px;cursor:pointer;transition:background-color .2s}.booking-page .date-item.selected{background-color:#4a5c8a;color:#fff}.booking-page .date-item .day-of-week{font-size:.8rem;color:#888}.booking-page .date-item.selected .day-of-week{color:#fffc}.booking-page .date-item .day{font-size:1.1rem;font-weight:700}.booking-page .arrow{font-size:1.5rem;color:#888;cursor:pointer;padding:5px}.booking-page .time-slots-container{display:flex;flex-direction:column;align-items:center;gap:10px}.booking-page .time-slot{width:100%;padding:15px;font-size:1rem;border-radius:8px;border:1px solid #333;cursor:pointer;transition:background-color .2s,color .2s}.booking-page .time-slot.available{background-color:#007bff;color:#fff;font-weight:700;border:none}.booking-page .time-slot.reserved{background-color:#4a5c8a;color:#fff;border-color:#4a5c8a;cursor:not-allowed}.confirmation-page .info-card .title{font-size:1.2rem;font-weight:700;margin-top:0;margin-bottom:1rem}.confirmation-page .pro-info{display:flex;align-items:center}.confirmation-page .profile-pic.small{width:80px;height:80px;margin-right:1rem}.confirmation-page .pro-details{flex-grow:1}.confirmation-page .pro-details>p{margin:.25rem 0}.confirmation-page .reserved-time{font-weight:700}.confirmation-page .pro-info .price{font-size:1.5rem;font-weight:700}.confirmation-page .timeline-wrapper{position:relative;width:95%;margin:0 auto;padding-bottom:1.5rem}.confirmation-page .timeline-graph{display:flex;width:100%;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:#a0a0a0}.confirmation-page .timeline-segment.lesson{background-color:#4a5c8a}.confirmation-page .timeline-segment.feedback{background-color:#6a7c9a;line-height:1.2}.confirmation-page .timeline-label{position:absolute;top:45px;font-size:.7rem;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:.8rem;color:#555;line-height:1.6}.confirmation-page .account-card{text-align:center;background-color:#f0f3f8;border:1px solid #E0E3E8}.confirmation-page .account-card p{margin:.25rem 0}.confirmation-page .account-number{font-size:1.5rem;font-weight:700;letter-spacing:1px}.user-info-page .user-form-card{padding:2rem}.user-info-page .card-header{text-align:center;margin-bottom:2rem}.user-info-page .card-header .title{font-size:1.3rem;font-weight:700;margin:0 0 .5rem}.user-info-page .card-header .subtitle{font-size:.9rem;color:#666;margin:0}.info-form{width:100%;display:flex;flex-direction:column;gap:1.5rem}.info-form .form-group{display:flex;flex-direction:column}.info-form .form-group label{font-size:.9rem;font-weight:600;margin-bottom:.5rem}.info-form input,.info-form select{width:100%;padding:14px;font-size:1rem;border-radius:8px;border:1px solid #EAEAEA;background-color:#f8f9fa;box-sizing:border-box;appearance:none}.info-form input:focus,.info-form select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.info-form select{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}.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}.admin-page{background-color:#f8f9fa;min-height:100vh}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:#fff;box-shadow:0 2px 4px #0000000d}.admin-profile{display:flex;align-items:center;gap:1rem}.logout-button{background-color:#6c757d;color:#fff;border:none;padding:6px 12px;font-size:.9rem;border-radius:6px;cursor:pointer;margin-left:1rem;transition:background-color .2s}.logout-button:hover{background-color:#5a6268}.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}.notification-popup button{background:none;border:none;font-size:1.2rem;cursor:pointer}.admin-content{padding:2rem}.admin-content h2{margin-top:0}.admin-filters{display:flex;gap:1rem;margin-bottom:1.5rem}.admin-filters select{padding:.5rem 1rem;border-radius:8px;border:1px solid #ddd}.date-selector{margin-bottom:1.5rem;font-weight:700}.reservation-list{display:flex;flex-direction:column;gap:.75rem}.reservation-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:#fff;border-radius:8px;border-left:5px solid}.reservation-item .info{display:flex;align-items:center;gap:1rem}.reservation-item .time{font-weight:700}.reservation-item .user-name{font-size:.9rem;color:#555}.reservation-item .coaching-part{font-size:.85rem;color:#888;margin-left:.75rem;font-style:italic}.reservation-item.status-available{border-color:#ccc}.reservation-item.status-booked{border-color:#4a5c8a}.reservation-item.status-pending{border-color:#ffc107}.reservation-item.status-blocked{border-color:#dc3545}.actions button{padding:.4rem .8rem;border:1px solid #ddd;border-radius:6px;background-color:#f8f9fa;cursor:pointer}.actions button:hover{background-color:#e2e6ea}.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}
