:root{--font-family: "Manrope", sans-serif;--font-size-xxs: 10px;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-md: 15px;--font-size-lg: 18px;--font-size-xl: 22px;--font-size-xxl: 28px;--font-weight-sm: 400;--font-weight-md: 500;--font-weight-lg: 600;--font-weight-xl: 700;--shadow-card: 0px 4px 20px rgba(0, 0, 0, .04), 0px 1px 3px rgba(0, 0, 0, .02);--shadow-button: 0px 4px 12px rgba(225, 29, 46, .15);--shadow-popover: 0px 10px 32px rgba(0, 0, 0, .08);--shadow-sticky: 0px -2px 10px rgba(0, 0, 0, .03)}@media(max-width:399px){:root{--font-size-xxs: 9px;--font-size-xs: 10px;--font-size-sm: 12px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 20px;--font-size-xxl: 24px}}@media(max-width:499px){:root{--font-size-xs: 10px;--font-size-sm: 12px;--font-size-md: 14px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-xxl: 24px}}@media(max-width:299px){:root{--font-size-xs: 8px;--font-size-sm: 10px;--font-size-md: 12px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-xxl: 20px}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;font-family:var(--font-family);color:var(--colors-neutral-800);background-color:var(--colors-background-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--colors-primary-300);font-weight:var(--font-weight-md);text-decoration:none;cursor:pointer;transition:color .15s ease}a:hover{color:var(--colors-primary-400);text-decoration:underline}a:active{color:var(--colors-primary-500)}a.is-disabled{pointer-events:none;opacity:.5;cursor:not-allowed}#app{background:var(--colors-background-page);min-height:100vh;display:flex;flex-direction:column}.main-content{margin:auto;padding:var(--spacing-md) 0;max-width:997px;width:100%;flex:1;font-size:var(--font-size-md);height:85vh}@media(max-width:1024px){.main-content{max-width:100%;padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}}.global{box-shadow:0 1px 3px #0000000d;padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-lg) auto;font-size:var(--font-size-sm);font-weight:var(--font-weight-md);text-align:center;border-radius:var(--radius-sm);align-items:center;display:flex;justify-content:center;gap:var(--spacing-sm);width:100%}.global .material-symbols-outlined{font-size:var(--font-size-md);flex-shrink:0}.global__error{border:1px solid var(--colors-state-error-100);background:var(--colors-state-error-50);color:var(--colors-state-error-100)}.global__error .material-symbols-outlined{color:var(--colors-state-error-100)}.global__success{border:1px solid var(--colors-state-success-100);background:var(--colors-state-success-50);color:var(--colors-state-success-100)}.global__success .material-symbols-outlined{color:var(--colors-state-success-100)}.global__info{border:1px solid var(--colors-state-info-100);background:var(--colors-state-info-50);color:var(--colors-state-info-100)}.global__info .material-symbols-outlined{color:var(--colors-state-info-100)}.page__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.page__header--actions{display:flex;gap:var(--spacing-lg);justify-content:flex-end}@media(max-width:768px){.page__header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.page__header--actions{flex-direction:column;width:100%;gap:var(--spacing-sm)}.page__header--actions .btn{width:100%}}.page-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-xl);color:var(--colors-neutral-900);margin-bottom:var(--spacing-md)}.divider{width:100%;height:1px;background:var(--colors-background-border);margin:var(--spacing-xl) 0}.divider--dashed{background:none;border-top:1px dashed var(--colors-background-border)}.info-list{list-style:none;margin:0;padding:0;width:100%}.info-list__item{display:flex;justify-content:space-between;align-items:center;border-bottom:1px dashed var(--colors-background-border);padding:var(--spacing-md);gap:var(--spacing-lg)}.info-list__item:last-child{border-bottom:none}@media(max-width:399px){.info-list__item{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs);padding:var(--spacing-sm) 0}}.info-list__label{color:var(--colors-neutral-500);display:flex;gap:var(--spacing-sm);align-items:center;flex-shrink:0}.info-list__label .material-symbols-outlined{font-size:var(--font-size-md)}@media(max-width:399px){.info-list__label{font-size:var(--font-size-sm)}}.info-list__value{font-weight:var(--font-weight-lg);color:var(--colors-neutral-800);text-align:right;word-break:break-word;overflow-wrap:break-word}.info-list__value .base-badge{font-style:italic}.info-list__value--email{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs)}.info-list__value--email .base-badge{padding:var(--spacing-xs) var(--spacing-md)}@media(max-width:399px){.info-list__value{text-align:left;font-size:var(--font-size-sm);width:100%;padding-left:calc(var(--font-size-md) + var(--spacing-sm))}}.invoice-toggle{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-lg);background:var(--colors-neutral-200);border:1px solid var(--colors-background-border);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none;margin-bottom:var(--spacing-lg)}.invoice-toggle:hover{border-color:var(--colors-neutral-300)}.invoice-toggle.is-active{background:var(--colors-state-success-50);border-color:var(--colors-state-success-100)}.invoice-toggle.is-active .toggle-label{color:var(--colors-state-success-100)}.thank-you-page{display:flex;justify-content:center;align-items:center;min-height:75vh;background-color:var(--colors-background-page);padding:var(--spacing-xl)}.thank-you-page .thank-you-card{max-width:540px;width:100%;background:var(--colors-background-surface);border:1px solid var(--colors-background-border);border-radius:var(--radius-lg);padding:var(--spacing-xxl);text-align:center;box-shadow:0 20px 25px -5px #0000000d,0 10px 10px -5px #00000005;animation:fadeIn .4s cubic-bezier(.16,1,.3,1)}.thank-you-page .thank-you-card .material-symbols-outlined.icon-only{font-size:48px;color:var(--colors-primary-300)}.thank-you-page .thank-you-card .material-symbols-outlined.spin{animation:spin .8s linear infinite}.thank-you-page .thank-you-card .thank-you-title{font-size:var(--font-size-xxl);font-weight:var(--font-weight-xl);color:var(--colors-neutral-900);margin:0 0 var(--spacing-md) 0;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.thank-you-page .thank-you-card .thank-you-title .celebrate-emoji{display:inline-flex;transform:translateY(-2px)}.thank-you-page .thank-you-card .thank-you-desc{font-size:var(--font-size-sm);color:var(--colors-neutral-500);line-height:1.6;margin-bottom:var(--spacing-xxl)}.thank-you-page .thank-you-card .card-divider{border-top:1px dashed var(--colors-background-border);margin-bottom:var(--spacing-xl)}.thank-you-page .thank-you-card .action-group{display:flex;flex-direction:column;gap:var(--spacing-md);width:100%}.header{background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--colors-background-border);box-shadow:0 2px 8px #0000000a;position:sticky;top:0;z-index:100;transition:background-color .3s ease,box-shadow .3s ease}.header__container{max-width:960px;margin:0 auto;padding:0 var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;height:70px}@media(max-width:1024px){.header__container{padding:0 var(--spacing-lg)}}.header__logo{font-weight:var(--font-weight-xl);font-size:var(--font-size-xl);cursor:pointer;color:var(--colors-primary-300);display:flex;align-items:center;flex:1;gap:var(--spacing-md);transition:transform .2s ease,filter .2s ease}.header__logo:hover{transform:translateY(-1px);color:var(--colors-primary-400)}.header__logo img{max-width:200px;height:auto;cursor:pointer;object-fit:contain}@media(max-width:768px){.header__logo img{max-width:150px}}@media(max-width:399px){.header__logo img{max-width:120px}}.header__nav{display:flex;align-items:center;gap:var(--spacing-md);position:relative}.header__nav--icon{display:flex;height:40px;width:40px;justify-content:center;align-items:center;border-radius:100%;background:var(--colors-neutral-100);border:1px solid var(--colors-background-border);transition:all .2s ease}.header__nav--icon:hover{background:var(--colors-neutral-200);border-color:var(--colors-neutral-300)}.header__nav--icon:hover .material-symbols-outlined{color:var(--colors-primary-300)}.header__nav--icon .material-symbols-outlined{font-size:var(--font-size-lg);color:var(--colors-neutral-600);transition:color .2s ease}.header__user{display:flex;align-items:center;cursor:pointer;position:relative;gap:var(--spacing-sm)}.header__user-avatar{overflow:hidden}.header__user-menu{position:absolute;top:calc(100% + 12px);right:0;background:var(--colors-background-surface);border:1px solid var(--colors-background-border);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);min-width:200px;display:none;flex-direction:column;padding:var(--spacing-xs) 0;z-index:200;overflow:hidden}.header__user-menu--open{display:flex;animation:headerDropdownIn .2s ease-out}.header__user-menu-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);color:var(--colors-neutral-700);cursor:pointer;transition:all .15s ease;border-bottom:1px solid var(--colors-neutral-200)}.header__user-menu-item:last-child{border-bottom:none}.header__user-menu-item:hover{background:var(--colors-neutral-150);color:var(--colors-neutral-900)}.header__user-menu-item:hover .material-symbols-outlined{color:var(--colors-primary-300)}.header__user-menu-item .material-symbols-outlined{font-size:var(--font-size-md);color:var(--colors-neutral-400);transition:color .15s ease}.header__cart{position:relative;cursor:pointer}.header__cart-badge{position:absolute;top:-4px;right:-4px;background:var(--colors-gradient-primary);color:var(--colors-neutral-100);font-size:10px;font-weight:var(--font-weight-xl);min-width:16px;height:16px;padding:0 4px;border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #e11d2e66;z-index:2}.header .cart-view{position:fixed;top:70px;left:0;height:calc(100vh - 70px);width:100%;background:#fffffffa;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--colors-background-border);border-bottom:3px solid var(--colors-primary-300);box-shadow:0 10px 25px -5px #0000001a;max-height:calc(100vh - 70px);overflow-y:auto;z-index:var(--z-index-dropdown)}.header .cart-view__container{max-width:960px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg);position:relative}.header .cart-view__header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-md);border-bottom:2px solid var(--colors-background-border)}.header .cart-view__header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-xl);color:var(--colors-neutral-900);margin:0}.header .cart-view__header .close-btn{cursor:pointer;color:var(--colors-neutral-500);transition:color .2s ease;display:flex;align-items:center}.header .cart-view__header .close-btn:hover{color:var(--colors-primary-300)}.header .cart-view__body{padding:var(--spacing-md) 0}.header .cart-view__empty{text-align:center;margin:var(--spacing-xxl) 0;min-height:300px;background:var(--colors-neutral-200);display:flex;flex-direction:column;justify-content:center;align-items:center}.header .cart-view__empty .material-symbols-outlined{font-size:56px;color:var(--colors-neutral-300)}.header .cart-view__empty p{color:var(--colors-neutral-400);margin:var(--spacing-md) 0;font-size:var(--font-size-md)}.header .cart-view__empty .btn{margin-top:var(--spacing-md)}.header .cart-view__empty .btn .material-symbols-outlined{font-size:var(--font-size-lg);color:var(--colors-secondary-50)}.header .cart-view__item{display:flex;align-items:center;padding:var(--spacing-xl) 0;border-bottom:1px solid var(--colors-background-border)}@media(max-width:768px){.header .cart-view__item{flex-direction:column;align-items:flex-start;position:relative;padding:var(--spacing-lg) var(--spacing-sm);gap:var(--spacing-sm)}}.header .cart-view__item .item-details{flex:1;width:100%}.header .cart-view__item .item-details .item-name{margin-bottom:var(--spacing-sm);display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-md)}.header .cart-view__item .item-details .item-name .court-name{font-weight:var(--font-weight-xl);color:var(--colors-neutral-900);font-size:var(--font-size-md)}.header .cart-view__item .item-details .item-meta{display:flex;align-items:center;gap:var(--spacing-xl);flex-wrap:wrap;font-size:var(--font-size-sm)}.header .cart-view__item .item-details .item-meta .value{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--colors-neutral-500)}.header .cart-view__item .item-details .item-meta .value .material-symbols-outlined{font-size:var(--font-size-md);color:var(--colors-neutral-400)}.header .cart-view__item .item-price{font-weight:var(--font-weight-xl);font-size:var(--font-size-lg);color:var(--colors-primary-300);margin:0 var(--spacing-xl)}@media(max-width:768px){.header .cart-view__item .item-price{margin:var(--spacing-xs) 0 0 0;font-size:var(--font-size-md)}}.header .cart-view__item .item-remove{background:none;border-radius:100%;border:none;color:var(--colors-state-error-100);cursor:pointer;transition:all .2s ease;opacity:.6;display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs)}@media(max-width:768px){.header .cart-view__item .item-remove{position:absolute;top:var(--spacing-lg);right:0;opacity:.8}}.header .cart-view__item .item-remove:hover{opacity:1;background:var(--colors-state-error-50);transform:scale(1.05)}.header .cart-view__footer{padding:var(--spacing-xl) 0 var(--spacing-md)}.header .cart-view__footer .total-row{display:flex;justify-content:flex-end;align-items:baseline;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.header .cart-view__footer .total-row .total-label{font-size:var(--font-size-md);color:var(--colors-neutral-500)}.header .cart-view__footer .total-row .total-amount{font-size:var(--font-size-xxl);font-weight:var(--font-weight-xl);color:var(--colors-neutral-900)}.header .cart-view__footer .footer-actions{display:flex;gap:var(--spacing-md);width:100%}.footer{margin-top:var(--spacing-xl);background:var(--colors-background-surface);color:var(--colors-secondary-400);border-top:1px solid var(--colors-background-border);padding:var(--spacing-md) var(--spacing-lg)}.footer__inner{display:flex;margin:0 auto;max-width:960px;align-items:center;justify-content:space-between}.footer__credits{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm)}.footer__credits .material-symbols-outlined{font-size:var(--font-size-sm)}@media(max-width:768px){.footer{padding:var(--spacing-md)}.footer__inner{flex-direction:column;gap:var(--spacing-sm)}.footer__credits{text-align:center;gap:var(--spacing-xs)}.footer__credits .material-symbols-outlined{font-size:var(--font-size-md)}}@keyframes bannerPulse{0%{box-shadow:0 0 #f59e0b66}70%{box-shadow:0 0 0 8px #f59e0b00}to{box-shadow:0 0 #f59e0b00}}@keyframes iconHeartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes modal-in{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes headerDropdownIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.slide-down-enter-active,.slide-down-leave-active{transition:all .3s cubic-bezier(.4,0,.2,1)}.slide-down-enter-from,.slide-down-leave-to{transform:translateY(-10px);opacity:0}.pop-enter-active{transition:opacity .22s ease,transform .22s ease}.pop-leave-active{transition:opacity .15s ease,transform .15s ease}.pop-enter-from{opacity:0;transform:scale(.97) translateY(8px)}.pop-enter-to,.pop-leave-from{opacity:1;transform:scale(1) translateY(0)}.pop-leave-to{opacity:0;transform:scale(.98) translateY(-4px)}.tips-fade-enter-active,.tips-fade-leave-active{transition:opacity .2s ease,max-height .2s ease}.tips-fade-enter-from,.tips-fade-leave-to{opacity:0}.dropdown-enter-active,.dropdown-leave-active{transition:opacity .15s ease,transform .15s ease}.dropdown-enter-from,.dropdown-leave-to{opacity:0;transform:translateY(-4px)}.expand-enter-active,.expand-leave-active{transition:opacity .25s ease,transform .25s ease}.expand-enter-from,.expand-leave-to{opacity:0;transform:translateY(-8px)}.loading-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center}.loading-overlay.is-global{background:#ffffffd9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loading-overlay.is-content{position:absolute;background:#ffffffb3;border-radius:var(--radius-lg)}.loading-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.loading-message{font-size:var(--font-size-sm);font-weight:var(--font-weight-lg);color:var(--colors-neutral-500);letter-spacing:.02em}.fade-enter-active,.fade-leave-active{transition:opacity .25s ease}.fade-enter-from,.fade-leave-to{opacity:0}.toast{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);z-index:var(--z-index-toast, 2000);display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);background:var(--colors-background-surface);box-shadow:var(--shadow-popover, 0 10px 32px rgba(0, 0, 0, .12));min-width:280px;max-width:400px}.toast--success{border-left:4px solid var(--colors-state-success-100)}.toast--error{border-left:4px solid var(--colors-state-error-100)}.toast--warning{border-left:4px solid var(--colors-state-warning-100)}.toast--info{border-left:4px solid var(--colors-interactive-200)}.toast__icon .material-symbols-outlined{font-size:var(--font-size-lg)}.toast__content{flex:1}.toast__message{font-size:var(--font-size-sm);color:var(--colors-neutral-900);margin:0}.toast__close{background:none;border:none;cursor:pointer;color:var(--colors-neutral-400)}.toast__close .material-symbols-outlined{font-size:var(--font-size-md)}.toast-fade-enter-active,.toast-fade-leave-active{transition:all .3s ease}.toast-fade-enter-from,.toast-fade-leave-to{opacity:0;transform:translate(20px)}.form__item{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg)}.form__label{font-size:var(--font-size-sm);color:var(--colors-neutral-800);text-align:left;font-weight:var(--font-weight-md)}.form__label.required:after{content:" *";color:var(--colors-state-error-100);font-weight:var(--font-weight-xl)}.form .is-disabled{pointer-events:none;opacity:.5;cursor:not-allowed}.form .form__input-wrapper{position:relative;display:flex;align-items:center}.form .form__input-wrapper.has-prefix .form__input{padding-left:40px}.form .form__input-wrapper.has-suffix .form__input{padding-right:40px}.form .form__input-wrapper.has-error .form__input-prefix,.form .form__input-wrapper.has-error .form__input-suffix,.form .form__input-wrapper.has-error .form__input{color:var(--colors-state-error-100)}.form .form__input-prefix{position:absolute;left:var(--spacing-md);display:flex;align-items:center;color:var(--colors-neutral-400);pointer-events:none}.form .form__input-prefix .material-symbols-outlined{font-size:var(--font-size-lg)}.form .form__input-suffix{position:absolute;right:var(--spacing-sm);display:flex;align-items:center;color:var(--colors-neutral-400)}.form .form__input-suffix .material-symbols-outlined{font-size:var(--font-size-lg)}.form__input{padding:var(--spacing-md);border:1px solid var(--colors-background-border);border-radius:var(--radius-sm);font-size:var(--font-size-md);background:var(--colors-background-surface);color:var(--colors-neutral-900);width:100%;transition:border-color .2s ease,box-shadow .2s ease}.form__input::placeholder{color:var(--colors-neutral-400);opacity:1}.form__input:-webkit-input-placeholder{color:var(--colors-neutral-400)}.form__input:-ms-input-placeholder{color:var(--colors-neutral-400)}.form__input:focus{border-color:var(--colors-interactive-200);outline:none;box-shadow:0 0 0 3px #2563eb1f}.form__input.error{border-color:var(--colors-state-error-100);box-shadow:0 0 0 3px var(--colors-state-error-50)}.form__input.error:focus{box-shadow:0 0 0 3px var(--colors-state-error-50)}.form__input:disabled{background:var(--colors-neutral-250);color:var(--colors-neutral-400);border-color:var(--colors-background-border);cursor:not-allowed;outline:none}.form__control{position:relative}.form__hint{font-size:var(--font-size-xs);color:var(--colors-neutral-500);margin-top:var(--spacing-xs);color:var(--colors-state-error-100)}.form__options{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm)}.form__options .checkbox-group{margin-top:0}.form__actions{display:flex;justify-content:center;margin-top:var(--spacing-xl);gap:var(--spacing-lg)}.form .checkbox-group{display:flex;flex-direction:row;align-items:center;font-size:var(--font-size-sm);color:var(--colors-neutral-700);gap:var(--spacing-sm);cursor:pointer}.form input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--colors-primary-300)}.form input[type=checkbox]:hover{accent-color:var(--colors-primary-400)}.form input[type=checkbox]:focus{accent-color:var(--colors-primary-400)}.form input[type=checkbox][readonly],.form input[type=checkbox]:disabled{accent-color:var(--colors-neutral-400);cursor:not-allowed;opacity:.6}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}@media(max-width:768px){.form-grid{grid-template-columns:1fr}}.password-tips{list-style:none;margin:var(--spacing-xs) 0 0;padding:var(--spacing-sm) var(--spacing-md);background:var(--colors-neutral-250);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:var(--spacing-xs)}.password-tips li{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--colors-neutral-500);transition:color .2s ease}.password-tips li .material-symbols-outlined{font-size:var(--font-size-sm)}.password-tips li.is-met{color:var(--colors-state-success-100)}.base-select{display:flex;flex-direction:column;gap:var(--spacing-xs)}.base-select__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-lg);color:var(--colors-neutral-700)}.base-select__label.required:after{content:" *";color:var(--colors-state-error-100)}.base-select__trigger{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--colors-background-border);border-radius:var(--radius-sm);background:var(--colors-background-surface);cursor:pointer;min-height:42px;transition:border-color .2s ease,box-shadow .2s ease;gap:var(--spacing-sm)}.base-select__trigger:hover:not(.base-select--disabled .base-select__trigger){border-color:var(--colors-neutral-400)}.base-select--open .base-select__trigger{border-color:var(--colors-primary-300);box-shadow:0 0 0 3px var(--colors-primary-50)}.base-select--error .base-select__trigger{border-color:var(--colors-state-error-100)}.base-select--disabled .base-select__trigger{opacity:.5;cursor:not-allowed;background:var(--colors-neutral-200)}.base-select__selected{flex:1;font-size:var(--font-size-md);color:var(--colors-neutral-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-select__selected.is-placeholder{color:var(--colors-neutral-400)}.base-select__arrow{font-size:var(--font-size-md);color:var(--colors-neutral-500);flex-shrink:0;transition:transform .2s ease}.base-select--open .base-select__arrow{color:var(--colors-primary-300)}.base-select__options{list-style:none;margin:0;padding:var(--spacing-xs) 0;background:var(--colors-background-surface);border:1px solid var(--colors-background-border);border-radius:var(--radius-md);box-shadow:0 8px 24px #0000001a;max-height:240px;overflow-y:auto}.base-select__option{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;font-size:var(--font-size-md);color:var(--colors-neutral-700);transition:background .15s ease;gap:var(--spacing-sm)}.base-select__option:hover{background:var(--colors-neutral-200)}.base-select__option--selected{background:var(--colors-primary-50);color:var(--colors-primary-300);font-weight:var(--font-weight-lg)}.base-select__option--empty{padding:var(--spacing-md);color:var(--colors-neutral-400);font-size:var(--font-size-sm);text-align:center;cursor:default}.base-select__check{font-size:var(--font-size-md);color:var(--colors-primary-300);flex-shrink:0}.base-select__error-msg{font-size:var(--font-size-sm);color:var(--colors-state-error-100);margin:0}.toggle-label{font-weight:var(--font-weight-lg);color:var(--colors-neutral-800);font-size:var(--font-size-md)}.toggle-switch{position:relative;width:44px;height:24px;background:var(--colors-neutral-300);border-radius:var(--radius-xl);transition:background .2s ease}.toggle-switch__thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background:var(--colors-background-surface);border-radius:50%;box-shadow:0 1px 3px #00000026;transition:transform .2s ease}.toggle-switch.is-on{background:var(--colors-state-success-100)}.toggle-switch.is-on .toggle-switch__thumb{transform:translate(20px)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-sm);font-size:var(--font-size-md);font-weight:var(--font-weight-lg);border:1px solid transparent;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .1s ease,opacity .2s ease,color .2s ease}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn .material-symbols-outlined{margin-right:var(--spacing-sm);font-size:var(--font-size-md);flex-shrink:0}.btn--primary{background:var(--colors-gradient-primary);color:var(--colors-neutral-100);box-shadow:var(--shadow-button)}.btn--primary:hover:not(:disabled){background:var(--colors-gradient-primaryHover);box-shadow:0 6px 16px #e11d2e40}.btn--secondary{border-color:var(--colors-secondary-300);background:var(--colors-background-surface);color:var(--colors-neutral-700)}.btn--secondary:hover:not(:disabled){background-color:var(--colors-secondary-100);border-color:var(--colors-secondary-300);color:var(--colors-neutral-900)}.btn--ghost{background:transparent;border-color:transparent;color:var(--colors-neutral-600);box-shadow:none}.btn--ghost:hover:not(:disabled){background:var(--colors-neutral-150, rgba(0, 0, 0, .04));color:var(--colors-neutral-900)}.btn--ghost:disabled{background:transparent!important;color:var(--colors-neutral-400)}.btn--large{width:100%;padding:var(--spacing-md) var(--spacing-xl)}.btn__spinner{animation:spin .8s linear infinite;margin-right:var(--spacing-sm);font-size:var(--font-size-md)}.time-slot-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.time-slot-grid__item{flex:1 1 100px;padding:var(--spacing-md) var(--spacing-xs);border-radius:var(--radius-sm);border:1px solid var(--colors-background-border);background:var(--colors-background-surface);text-align:center;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .15s ease,box-shadow .15s ease}@media(max-width:1024px){.time-slot-grid__item{flex:1 1 80px;padding:var(--spacing-md) var(--spacing-xs)}}.time-slot-grid__item:hover:not(.time-slot-grid__item--selected):not(.time-slot-grid__item--booked):not(.time-slot-grid__item--past){transform:translateY(-2px);border-color:var(--colors-neutral-300);box-shadow:0 4px 12px #0000000d;background:var(--colors-neutral-100)}.time-slot-grid__item:active:not(.time-slot-grid__item--booked):not(.time-slot-grid__item--past){transform:scale(.96)}.time-slot-grid__item--selected{background:var(--colors-state-success-50);color:var(--colors-state-success-100);border-color:var(--colors-state-success-100);font-weight:var(--font-weight-xl);box-shadow:0 4px 12px #2e75590f}.time-slot-grid__item--selected .time-slot-grid__time{font-weight:var(--font-weight-xl);color:var(--colors-state-success-100)}.time-slot-grid__item--booked{background:var(--colors-neutral-200);border-color:var(--colors-neutral-200);color:var(--colors-neutral-400);cursor:not-allowed;text-decoration:line-through;transform:none!important;box-shadow:none!important}.time-slot-grid__item--booked .time-slot-grid__time{color:var(--colors-neutral-400)}.time-slot-grid__item--past{background:var(--colors-neutral-200);border-color:var(--colors-neutral-300);color:var(--colors-neutral-300);cursor:not-allowed;pointer-events:none}.time-slot-grid__item--past .time-slot-grid__time{color:var(--colors-neutral-300)}.time-slot-grid__time{font-weight:var(--font-weight-md);color:var(--colors-neutral-800)}.time-slot-grid__empty{flex:1 1 100%;padding:var(--spacing-xl) var(--spacing-md);text-align:center;color:var(--colors-neutral-500);font-size:var(--font-size-sm);border:1px dashed var(--colors-background-border);border-radius:var(--radius-md);background:var(--colors-background-page)}.court-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);max-height:290px;overflow-y:auto;overflow-x:hidden;padding-top:var(--spacing-md);padding-right:var(--spacing-xs)}.court-list::-webkit-scrollbar{width:6px}.court-list::-webkit-scrollbar-track{background:transparent}.court-list::-webkit-scrollbar-thumb{background:var(--colors-neutral-300);border-radius:var(--radius-xl)}.court-list::-webkit-scrollbar-thumb:hover{background:var(--colors-neutral-400)}.court-list__item{flex:1 1 210px;padding:var(--spacing-md);border-radius:var(--radius-sm);border:1px solid var(--colors-background-border);background:var(--colors-background-surface);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);cursor:pointer;text-align:center;font-weight:var(--font-weight-md);color:var(--colors-neutral-800);transition:background .2s ease,border-color .2s ease,color .2s ease,transform .15s ease,box-shadow .15s ease}@media(max-width:1024px){.court-list__item{flex-direction:row;padding:var(--spacing-md) var(--spacing-lg);flex:1 1 140px}}.court-list__item:hover:not(.court-list__item--selected){transform:translateY(-2px);border-color:var(--colors-neutral-300);box-shadow:0 4px 12px #0000000d;background:var(--colors-neutral-100)}.court-list__item:hover:not(.court-list__item--selected) .court-list__icon{color:var(--colors-neutral-700)}.court-list__item:active{transform:scale(.98)}.court-list__item--selected{background:var(--colors-state-success-50);color:var(--colors-state-success-100);border-color:var(--colors-state-success-100);font-weight:var(--font-weight-lg);box-shadow:0 4px 12px #2e75590d}.court-list__item--selected .court-list__icon{color:var(--colors-state-success-100);font-variation-settings:"FILL" 1}.court-list__icon{margin-right:var(--spacing-xs);font-size:var(--font-size-lg);color:var(--colors-neutral-400);transition:color .2s ease;flex-shrink:0}.court-list__empty{flex:1 1 100%;padding:var(--spacing-xl) var(--spacing-md);text-align:center;color:var(--colors-neutral-500);border:1px dashed var(--colors-background-border);border-radius:var(--radius-md);background:var(--colors-background-page);font-size:var(--font-size-sm)}.court-list__loading{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);color:var(--colors-neutral-500);font-size:var(--font-size-sm);padding:var(--spacing-xl) var(--spacing-lg);width:100%}.court-list__loading .spinning{color:var(--colors-state-success-100);animation:spin 1s linear infinite}.date-selector{display:flex;flex-direction:column;gap:var(--spacing-sm);min-width:0}.date-selector__month,.date-selector__days{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0;padding:var(--spacing-sm) 0 0}.date-selector__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-xl);letter-spacing:.02em;color:var(--colors-neutral-500);margin:0 0 var(--spacing-xs);-webkit-user-select:none;user-select:none}.date-selector__month-tabs{display:flex;justify-content:flex-start;align-items:center;background:var(--colors-background-page);padding:var(--spacing-sm);border-radius:var(--radius-md);gap:var(--spacing-sm);overflow-x:auto;max-width:100%;white-space:nowrap;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.date-selector__month-tabs::-webkit-scrollbar{height:6px}.date-selector__month-tabs::-webkit-scrollbar-track{background:transparent}.date-selector__month-tabs::-webkit-scrollbar-thumb{background:var(--colors-neutral-400);border-radius:var(--radius-xl)}.date-selector__month-tabs-container{padding:var(--spacing-xs) 0}.date-selector__month-tabs .tab{flex:0 0 auto;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-lg);color:var(--colors-neutral-500);white-space:nowrap;cursor:pointer;border:1px solid transparent;transition:all .25s cubic-bezier(.4,0,.2,1)}.date-selector__month-tabs .tab:hover:not(.date-selector__month-tabs .tab--active){color:var(--colors-state-success-100);background:var(--colors-background-surface)}.date-selector__month-tabs .tab--active{background:var(--colors-state-success-50);color:var(--colors-state-success-100);border:1px solid var(--colors-state-success-100);box-shadow:0 2px 8px #2e75590a}.date-selector__days-viewport{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md) 0;overflow-x:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.date-selector__days-viewport::-webkit-scrollbar{height:5px}.date-selector__days-viewport::-webkit-scrollbar-track{background:transparent}.date-selector__days-viewport::-webkit-scrollbar-thumb{background:var(--colors-neutral-300);border-radius:var(--radius-xl)}.date-selector__days-viewport::-webkit-scrollbar-thumb:hover{background:var(--colors-neutral-400)}.date-selector__days-viewport .date-item{display:flex;flex-direction:column;min-width:60px;flex:1 1 60px;padding:var(--spacing-md) 0;border:1px solid var(--colors-background-border);border-radius:var(--radius-md);cursor:pointer;text-align:center;background:var(--colors-background-surface);transition:all .15s ease}.date-selector__days-viewport .date-item:hover:not(.selected){transform:translateY(-2px);border-color:var(--colors-neutral-300);box-shadow:0 4px 10px #0000000a}.date-selector__days-viewport .date-item:hover:not(.selected) .date-item__day{color:var(--colors-neutral-700)}.date-selector__days-viewport .date-item.selected{border-color:var(--colors-state-success-100);background-color:var(--colors-state-success-50);color:var(--colors-state-success-100);font-weight:var(--font-weight-xl);box-shadow:0 4px 12px #2e75590f}.date-selector__days-viewport .date-item.selected .date-item__day{color:var(--colors-state-success-100);opacity:.85}.date-selector__days-viewport .date-item.selected .date-item__date{color:var(--colors-state-success-100)}.date-selector__days-viewport .date-item__day{font-size:var(--font-size-xs);font-weight:var(--font-weight-md);margin-bottom:var(--spacing-xs);color:var(--colors-neutral-400);text-transform:uppercase;transition:color .15s ease}.date-selector__days-viewport .date-item__date{font-size:var(--font-size-lg);font-weight:var(--font-weight-xl);color:var(--colors-neutral-900)}.duration-selector{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.duration-selector__item{flex:1 1 120px;padding:var(--spacing-md) var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--colors-background-border);background:var(--colors-background-surface);display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;color:var(--colors-neutral-800);transition:background .2s ease,border-color .2s ease,color .2s ease,transform .15s ease,box-shadow .15s ease}.duration-selector__item:hover:not(.duration-selector__item--disabled):not(.duration-selector__item--selected){transform:translateY(-2px);border-color:var(--colors-neutral-300);box-shadow:0 4px 12px #0000000d;background:var(--colors-neutral-100)}.duration-selector__item:active:not(.duration-selector__item--disabled){transform:scale(.97)}.duration-selector__item--selected{background:var(--colors-state-success-50);color:var(--colors-state-success-100);border-color:var(--colors-state-success-100);font-weight:var(--font-weight-xl);box-shadow:0 4px 12px #2e75590f}.duration-selector__item--disabled{background:var(--colors-neutral-200);border-color:var(--colors-neutral-300);color:var(--colors-neutral-300);cursor:not-allowed;pointer-events:none}.activity-selector{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.activity-selector__item{flex:1 1 150px;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);border:1px solid var(--colors-background-border);background:var(--colors-background-surface);display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .15s ease,box-shadow .15s ease}@media(max-width:1024px){.activity-selector__item{flex-direction:row;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md)}}.activity-selector__item:hover:not(.activity-selector__item--disabled):not(.activity-selector__item--selected){transform:translateY(-2px);border-color:var(--colors-neutral-300);box-shadow:0 4px 12px #0000000d;background:var(--colors-neutral-100)}.activity-selector__item:hover:not(.activity-selector__item--disabled):not(.activity-selector__item--selected) .activity-selector__icon{color:var(--colors-neutral-700)}.activity-selector__item:active:not(.activity-selector__item--disabled){transform:scale(.98)}.activity-selector__item--selected{background:var(--colors-state-success-50);color:var(--colors-state-success-100);border-color:var(--colors-state-success-100);font-weight:var(--font-weight-lg);box-shadow:0 4px 12px #2e75590f}.activity-selector__item--selected .activity-selector__icon{color:var(--colors-state-success-100);font-variation-settings:"FILL" 1}.activity-selector__item--disabled{background:var(--colors-neutral-200);border-color:var(--colors-neutral-300);color:var(--colors-neutral-300);pointer-events:none;cursor:not-allowed}.activity-selector__item--disabled .activity-selector__icon{color:var(--colors-neutral-400)}.activity-selector__icon{margin-right:var(--spacing-sm);font-size:var(--font-size-lg);color:var(--colors-neutral-400);transition:color .2s ease;flex-shrink:0}@media(max-width:1024px){.activity-selector__icon{margin-right:var(--spacing-xs)}}.booking-summary{display:flex;flex-direction:column;width:100%;min-width:250px;max-width:350px;height:fit-content;padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--colors-background-border);background:var(--colors-background-surface);box-shadow:var(--shadow-card, 0 4px 16px rgba(0, 0, 0, .04));cursor:default;transition:transform .2s ease,box-shadow .2s ease}@media(max-width:1024px){.booking-summary{max-width:100%;width:100%;padding:var(--spacing-md) var(--spacing-lg)}}.booking-summary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}.booking-summary__title{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-xl);color:var(--colors-neutral-900);border-bottom:1px solid var(--colors-background-border);padding-bottom:var(--spacing-md)}.booking-summary__message{font-size:var(--font-size-sm);color:var(--colors-neutral-500);line-height:1.5;margin:var(--spacing-sm) 0;text-align:center;padding:var(--spacing-lg) 0}.booking-summary__detail{list-style-type:none;padding:0;margin:0}.booking-summary__item{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--colors-background-border);padding:var(--spacing-md) 0;gap:var(--spacing-md)}.booking-summary__item:last-of-type{border-bottom:none}.booking-summary__item .label{color:var(--colors-neutral-500);display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm)}.booking-summary__item .label .material-symbols-outlined{font-size:var(--font-size-md);color:var(--colors-neutral-400)}.booking-summary__item .value{text-align:right;font-weight:var(--font-weight-xl);color:var(--colors-neutral-900);word-wrap:break-word;white-space:normal}.booking-summary__item .value--calculating{display:inline-flex;align-items:center}.booking-summary__item .value .price-skeleton{display:inline-block;width:70px;height:1.2em;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--colors-neutral-300) 25%,var(--colors-neutral-200) 50%,var(--colors-neutral-300) 75%);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}.booking-summary__item .value.value--col{display:flex;flex-direction:column;gap:var(--spacing-xxs)}.booking-summary__item .value-mini{font-size:var(--font-size-xs);color:var(--colors-neutral-400);font-weight:var(--font-weight-md)}.booking-summary__action{width:100%;display:flex;gap:var(--spacing-sm);flex-direction:column;justify-content:center;margin-top:var(--spacing-md)}.booking-summary__hint{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--colors-neutral-400);margin-top:var(--spacing-sm)}.booking-summary__hint .material-symbols-outlined{font-size:var(--font-size-sm);color:var(--colors-neutral-400)}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f172a66;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:center;padding:var(--spacing-lg);z-index:9999}.modal-card{background:var(--colors-background-surface);border-radius:var(--radius-lg);border:1px solid var(--colors-background-border);box-shadow:0 20px 40px -10px #0000001f,0 0 1px #0000000d;max-width:500px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;position:relative;width:100%;animation:modalIn .25s cubic-bezier(.34,1.56,.64,1)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--colors-background-border);background:var(--colors-background-surface);gap:var(--spacing-md)}.modal-header__title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-xl);color:var(--colors-neutral-900);line-height:1.4}.modal-header__close{background:transparent;border:none;cursor:pointer;padding:var(--spacing-xs);margin:calc(var(--spacing-xs) * -1);border-radius:100%;display:inline-flex;align-items:center;justify-content:center;color:var(--colors-neutral-400);transition:all .15s ease}.modal-header__close:hover{background:var(--colors-neutral-150);color:var(--colors-neutral-800)}.modal-header__close:active{transform:scale(.92)}.modal-header__close .material-symbols-outlined{font-size:var(--font-size-xl)}.modal-body{padding:var(--spacing-xl);overflow-y:auto;position:relative;font-size:var(--font-size-sm);color:var(--colors-neutral-700);line-height:1.6}.modal-body__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#ffffffa6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:10;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.modal-footer{padding:var(--spacing-md) var(--spacing-xl) var(--spacing-lg);border-top:1px solid var(--colors-background-border);background:var(--colors-background-page);display:flex;justify-content:space-between;gap:var(--spacing-md)}.confirmation-modal{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-md) 0;gap:var(--spacing-md)}.confirmation-modal__icon .material-symbols-outlined{font-size:48px;color:var(--colors-state-error-100)}.confirmation-modal__message{font-size:var(--font-size-md);color:var(--colors-neutral-600);line-height:1.6}.base-badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-lg);line-height:1.2;text-transform:uppercase;white-space:nowrap;letter-spacing:.025em;word-spacing:.2em;width:fit-content;gap:var(--spacing-xs)}.base-badge .material-symbols-outlined{font-size:var(--font-size-xs)}.base-badge--green{background-color:var(--colors-state-success-50);color:var(--colors-state-success-100)}.base-badge--orange{background-color:var(--colors-state-warning-50);color:var(--colors-state-warning-100)}.base-badge--red{background-color:var(--colors-state-error-50);color:var(--colors-state-error-100)}.base-badge--blue{background-color:var(--colors-state-info-50);color:var(--colors-state-info-100)}.base-badge--gray{background-color:var(--colors-neutral-300);color:var(--colors-neutral-500)}.base-badge--yellow{background-color:var(--colors-accent-yellow-50);color:var(--colors-accent-yellow-100)}.base-badge--cyan{background-color:var(--colors-accent-cyan-50);color:var(--colors-accent-cyan-100)}.base-badge--purple{background-color:var(--colors-accent-purple-50);color:var(--colors-accent-purple-100)}.base-badge--lg{padding:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-xl);text-transform:capitalize}.home{display:flex;gap:var(--spacing-lg)}@media(max-width:1024px){.home{flex-direction:column;padding:var(--spacing-lg)}}.home__container{flex:1 1 0;min-width:0}.home__step{background:var(--colors-background-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);border:1px solid var(--colors-background-border);box-shadow:var(--shadow-card);transition:transform .2s ease,box-shadow .2s ease}.home__step:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}.home__step-title{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:var(--font-weight-xl);margin-top:0;margin-bottom:var(--spacing-lg);font-size:var(--font-size-md);color:var(--colors-neutral-900)}.home__step-icon{font-size:var(--font-size-lg);color:var(--colors-primary-300)}.home__step--notice{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);background-color:var(--colors-state-warning-50);border-left:4px solid var(--colors-state-warning-100);border-radius:var(--radius-sm) var(--radius-lg) var(--radius-lg) var(--radius-sm);color:var(--colors-state-warning-100);box-shadow:0 4px 14px #d9770614}.home__step--notice .title{display:flex;gap:var(--spacing-sm);align-items:center;font-size:var(--font-size-md);font-weight:var(--font-weight-xl)}.home__step--notice .title .material-symbols-outlined{font-size:var(--font-size-md);color:var(--colors-state-warning-100)}.home__step--notice .description{margin:0;padding-left:var(--spacing-xl);font-size:var(--font-size-sm);color:var(--colors-neutral-700);opacity:.9;line-height:1.5}.home__step.is-loading{pointer-events:none;opacity:.6;transition:opacity .2s ease}.home__skeleton-tabs,.home__skeleton-days,.home__skeleton-slots,.home__skeleton-durations,.home__skeleton-activities{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-md)}.home__clear{display:flex;cursor:pointer;justify-content:flex-end}.skeleton-pill{background:linear-gradient(90deg,var(--colors-neutral-200) 25%,var(--colors-neutral-250) 50%,var(--colors-neutral-200) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite var(--transition-main, ease-in-out);border-radius:var(--radius-md);height:34px;width:84px;border-radius:var(--radius-xl)}.skeleton-day{background:linear-gradient(90deg,var(--colors-neutral-200) 25%,var(--colors-neutral-250) 50%,var(--colors-neutral-200) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite var(--transition-main, ease-in-out);border-radius:var(--radius-md);height:64px;width:52px;border-radius:var(--radius-sm)}.skeleton-slot{background:linear-gradient(90deg,var(--colors-neutral-200) 25%,var(--colors-neutral-250) 50%,var(--colors-neutral-200) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite var(--transition-main, ease-in-out);border-radius:var(--radius-md);height:46px;width:76px;border-radius:var(--radius-sm)}.skeleton-duration{background:linear-gradient(90deg,var(--colors-neutral-200) 25%,var(--colors-neutral-250) 50%,var(--colors-neutral-200) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite var(--transition-main, ease-in-out);border-radius:var(--radius-md);height:46px;width:104px;border-radius:var(--radius-sm)}.skeleton-activity{background:linear-gradient(90deg,var(--colors-neutral-200) 25%,var(--colors-neutral-250) 50%,var(--colors-neutral-200) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite var(--transition-main, ease-in-out);border-radius:var(--radius-md);height:54px;width:128px;border-radius:var(--radius-sm)}.login__container{margin:auto;max-width:900px;width:100%;display:flex;gap:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);border:1px solid var(--colors-background-border);background:var(--colors-background-surface);box-shadow:var(--shadow-card);transition:transform .2s ease,box-shadow .2s ease;height:50vh;min-height:450px}@media(max-width:1024px){.login__container{flex-direction:column;width:100%;height:auto;min-height:unset;gap:var(--spacing-xl)}}.auth-login{flex:1;align-content:center;padding:0 var(--spacing-lg)}@media(max-width:1024px){.auth-login{order:1;padding:var(--spacing-md) 0}}.auth-login__link{font-size:var(--font-size-sm);text-align:center;color:var(--colors-neutral-500)}.auth-login .auth__loading-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);min-height:260px;width:100%;padding:var(--spacing-xl) 0;background-color:var(--colors-neutral-300);border-radius:var(--radius-md);animation:fadeIn .25s ease-out forwards}.auth-login .auth__loading-overlay .material-symbols-outlined{font-size:32px;color:var(--colors-primary-300);filter:drop-shadow(0 4px 12px rgba(221,29,46,.1))}.auth-login .auth__loading-overlay .material-symbols-outlined.spin{animation:spin 1s linear infinite}.auth-login .auth__loading-overlay p{font-size:var(--font-size-sm);font-weight:var(--font-weight-md);color:var(--colors-neutral-500);letter-spacing:.2px;margin:0}.auth-login__guest{font-size:var(--font-size-sm);text-align:center;color:var(--colors-neutral-500);margin-top:var(--spacing-sm)}.auth-login__guest a{color:var(--colors-primary-300);font-weight:var(--font-weight-lg);cursor:pointer}.auth-login__guest a:hover{color:var(--colors-primary-400)}.auth-login .form__options{margin-top:var(--spacing-md)}.animated__bg{flex:1;background:var(--colors-gradient-primary);color:var(--colors-neutral-100);display:flex;border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:var(--spacing-md);position:relative;overflow:hidden}@media(max-width:1024px){.animated__bg{height:220px;flex:none}}.animated__bg canvas{width:100%;height:100%;display:block}.animated__bg-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--colors-neutral-100);text-shadow:0 4px 12px rgba(0,0,0,.3);pointer-events:none;z-index:2;width:80%;display:flex;flex-direction:column;gap:var(--spacing-lg)}@media(max-width:1024px){.animated__bg-content{text-align:center;gap:var(--spacing-xs)}}.animated__bg-content span.title{font-size:var(--font-size-xxl);font-weight:var(--font-weight-xl);line-height:1.2}.animated__bg-content span.desc{font-size:var(--font-size-md);opacity:.85;line-height:1.5}.reset-password{margin-bottom:0}.checkout__header{margin-bottom:var(--spacing-xl)}.checkout__back{display:inline-flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;color:var(--colors-neutral-500);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs);transition:color .2s ease}.checkout__back:hover{color:var(--colors-primary-300)}.checkout__back .material-symbols-outlined{font-size:var(--font-size-md)}.checkout__main-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-xl);color:var(--colors-neutral-900)}.checkout__container{display:flex;background-color:var(--colors-background-surface);padding:var(--spacing-xl);box-shadow:0 10px 30px -10px #0000000f,0 1px 3px #00000005;border:1px solid var(--colors-background-border);border-radius:var(--radius-lg);gap:var(--spacing-xxl)}@media(max-width:1024px){.checkout__container{flex-direction:column;gap:var(--spacing-xl)}}.checkout__guest-hint{font-size:var(--font-size-sm);color:var(--colors-neutral-500);margin-bottom:var(--spacing-lg)}.checkout__guest-hint a{font-weight:var(--font-weight-lg)}.checkout__contact{flex:1.4}@media(max-width:1024px){.checkout__contact{order:1}}.checkout__contact--info{border:1px solid var(--colors-background-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl);background:var(--colors-background-page);overflow:hidden}.checkout__contact--info ul{list-style:none;padding:0;margin:0}.checkout__contact--info ul li{padding:var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--colors-background-border);font-size:var(--font-size-sm)}.checkout__contact--info ul li:last-child{border-bottom:none}.checkout__contact--info ul li .label{color:var(--colors-neutral-500)}.checkout__contact--info ul li .value{font-weight:var(--font-weight-xl);color:var(--colors-neutral-800)}.checkout__contact--action{margin-top:var(--spacing-xl)}.checkout .checkout__einvoice{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md)}.checkout__summary{flex:1}.checkout__summary--content{background-color:var(--colors-background-page);padding:var(--spacing-xl);border-radius:var(--radius-md);border:1px solid var(--colors-background-border)}.checkout__summary--content .summary-total{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding-bottom:var(--spacing-xl);border-bottom:2px dashed var(--colors-background-border);margin-bottom:var(--spacing-xl)}.checkout__summary--content .summary-total .summary-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--colors-neutral-500)}.checkout__summary--content .summary-total .summary-value{font-size:var(--font-size-xxl);font-weight:var(--font-weight-xl);color:var(--colors-primary-300)}.checkout__summary--content ul.summary-pricing{list-style:none;padding:var(--spacing-lg) 0 0;margin:var(--spacing-lg) 0 0;border-top:1px solid var(--colors-background-border)}.checkout__summary--content ul.summary-pricing li{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0;font-size:var(--font-size-sm);color:var(--colors-neutral-600)}.checkout__summary--content ul.summary-pricing li .label{color:var(--colors-neutral-500)}.checkout__summary--content ul.summary-pricing li .value{font-weight:var(--font-weight-xl);color:var(--colors-neutral-800)}.checkout__summary--content ul.summary-pricing li.summary-total-row{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px dashed var(--colors-background-border)}.checkout__summary--content ul.summary-pricing li.summary-total-row .label{font-weight:var(--font-weight-xl);color:var(--colors-neutral-900)}.checkout__summary--content ul.summary-pricing li.summary-total-row .value.highlight{font-size:var(--font-size-lg);color:var(--colors-primary-300)}.checkout__cart-list{max-height:380px;overflow-y:auto;margin-bottom:var(--spacing-lg);padding-right:var(--spacing-xs)}.checkout__cart-list::-webkit-scrollbar{width:5px}.checkout__cart-list::-webkit-scrollbar-thumb{background:var(--colors-neutral-300);border-radius:var(--radius-lg)}.checkout-item{background-color:var(--colors-background-surface);border:1px solid var(--colors-background-border);padding:var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.checkout-item:hover{border-color:var(--colors-primary-300);box-shadow:0 4px 12px #00000008}.checkout-item__main{display:flex;justify-content:space-between;align-items:center;font-weight:var(--font-weight-xl);margin-bottom:var(--spacing-md)}.checkout-item__main .activity-tag{background:var(--colors-background-tint);color:var(--colors-primary-300);font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.checkout-item__main .price{color:var(--colors-neutral-900)}.checkout-item__sub p{display:flex;align-items:center;gap:var(--spacing-sm);margin:var(--spacing-xs) 0;font-size:var(--font-size-sm);color:var(--colors-neutral-500)}.checkout-item__sub .material-symbols-outlined{font-size:var(--font-size-md);color:var(--colors-neutral-400)}.checkout-item .remove-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--colors-state-error-100);font-weight:var(--font-weight-xl);margin-top:var(--spacing-md);font-size:var(--font-size-xs);background:none;border:none;cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);margin-left:calc(var(--spacing-sm) * -1);border-radius:var(--radius-sm);transition:all .15s}.checkout-item .remove-btn .material-symbols-outlined{font-size:var(--font-size-md)}.checkout-item .remove-btn:hover{background:var(--colors-state-error-50)}.checkout .section-title{font-size:var(--font-size-md);font-weight:var(--font-weight-xl);margin:var(--spacing-lg) 0 var(--spacing-md);color:var(--colors-neutral-900)}.payment-page .payment-methods{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}@media(max-width:768px){.payment-page .payment-methods{grid-template-columns:1fr}}.payment-page .payment-option{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl) var(--spacing-md);border-radius:var(--radius-md);border:2px solid var(--colors-background-border);background:var(--colors-background-surface);cursor:pointer;transition:all .2s ease}.payment-page .payment-option:hover{border-color:var(--colors-primary-300)}.payment-page .payment-option.active{background-color:var(--colors-background-tint);border-color:var(--colors-primary-300)}.payment-page .payment-option.active .material-symbols-outlined,.payment-page .payment-option.active .payment-option__info .info__label,.payment-page .payment-option.active .payment-option__info .info__desc{color:var(--colors-primary-300)}.payment-page .payment-option .material-symbols-outlined{font-size:var(--font-size-xxl);color:var(--colors-neutral-400)}.payment-page .payment-option__info{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.payment-page .payment-option__info .info__label{font-weight:var(--font-weight-xl);font-size:var(--font-size-lg)}.payment-page .payment-option__info .info__desc{color:var(--colors-neutral-500)}.payment-page__countdown{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);transition:all .3s ease;background:var(--colors-state-info-50);color:var(--colors-state-info-100);border:1px solid var(--colors-state-info-100)}.payment-page__countdown .material-symbols-outlined{color:var(--colors-state-info-100);font-size:var(--font-size-lg)}.payment-page__countdown strong{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-xl)}.payment-page__countdown.is-urgent{background:var(--colors-state-warning-50);color:var(--colors-state-warning-100);border:1px solid var(--colors-state-warning-100);animation:bannerPulse 2s infinite ease-in-out}.payment-page__countdown.is-urgent .material-symbols-outlined{color:var(--colors-state-warning-100)}.payment-page__countdown.is-urgent strong{color:var(--colors-state-error-100)}.payment-page__countdown.is-expired{background:var(--colors-state-error-50);color:var(--colors-state-error-100);border:1px solid var(--colors-state-error-100);animation:none}.payment-page__countdown.is-expired .material-symbols-outlined{color:var(--colors-state-error-100)}.payment-page .pulse-icon{animation:iconHeartbeat 2s infinite ease-in-out}.payment-page__action{display:flex;flex-direction:column;justify-content:center;align-items:center}.profile{margin:0 auto;padding:var(--spacing-xl) var(--spacing-md);font-family:var(--font-family)}.profile__content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.profile-card{background:var(--colors-background-surface);padding:var(--spacing-xl);border-radius:var(--radius-md);border:1px solid var(--colors-background-border);box-shadow:0 2px 4px #00000005}.profile-card__title{font-size:var(--font-size-md);font-weight:var(--font-weight-xl);color:var(--colors-neutral-900);margin-top:0;padding-top:0;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--colors-background-border)}@media(max-width:768px){.profile-card__title{margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-md)}}@media(max-width:768px){.profile-card{padding:var(--spacing-md)}}.profile-page__actions{display:flex;justify-content:flex-end;margin-top:var(--spacing-md)}.profile .form,.profile .invoice-fields{display:flex;flex-direction:column;gap:var(--spacing-lg)}.profile .address-section-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-xl);color:var(--colors-neutral-600);margin:var(--spacing-sm) 0 0;padding-top:var(--spacing-lg);border-top:1px dashed var(--colors-background-border)}.profile .address-section-title .material-symbols-outlined{font-size:var(--font-size-md);color:var(--colors-primary-300)}.verification-banner{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--colors-state-warning-50);border:1px solid var(--colors-state-warning-100);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}@media(max-width:600px){.verification-banner{flex-direction:column;align-items:flex-start}}.verification-banner .material-symbols-outlined{font-size:28px;color:var(--colors-state-warning-100);flex-shrink:0}.verification-banner__content{flex:1}.verification-banner__title{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-md);font-weight:var(--font-weight-xl);color:var(--colors-state-warning-100)}.verification-banner__subtitle{margin:0;font-size:var(--font-size-sm);color:var(--colors-neutral-600);line-height:1.5}.order-page{display:flex;flex-direction:column;gap:var(--spacing-xl)}.order-page .page__header,.order-page .page__header .page-title,.order-page__search .form__item{margin-bottom:0}.order-page__search .search-clear{color:var(--colors-neutral-400);cursor:pointer;transition:color .2s ease;font-size:var(--font-size-lg);display:flex;align-items:center}.order-page__search .search-clear:hover{color:var(--colors-primary-300)}.order-page__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background-color:var(--colors-background-surface);border-radius:var(--radius-lg);border:1px solid var(--colors-background-border);box-shadow:var(--shadow-card);padding:var(--spacing-xxl) var(--spacing-xl);margin-top:var(--spacing-md)}.order-page__empty .material-symbols-outlined{font-size:48px;color:var(--colors-neutral-400);margin-bottom:var(--spacing-md)}.order-page__empty .btn .material-symbols-outlined{font-size:var(--font-size-md);color:var(--colors-neutral-100);margin:0 var(--spacing-sm) 0 0}.order-page__empty p{font-size:var(--font-size-md);color:var(--colors-neutral-500);margin:0 0 var(--spacing-xl) 0}.order-page__list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.order-page .order-card{background-color:var(--colors-background-card);border:1px solid var(--colors-background-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);cursor:pointer;overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.order-page .order-card:hover{transform:translateY(-2px);border-color:var(--colors-primary-100);box-shadow:0 8px 24px #0000000f}.order-page .order-card:hover .order-card__footer .view-detail-hint{color:var(--colors-primary-300)}.order-page .order-card:active{transform:translateY(0)}.order-page .order-card__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);background-color:var(--colors-neutral-200);border-bottom:1px solid var(--colors-background-border)}@media(max-width:399px){.order-page .order-card__header{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}}.order-page .order-card__left{display:flex;flex-direction:column;gap:var(--spacing-xxs)}.order-page .order-card__left .label{font-size:var(--font-size-xxs);text-transform:uppercase;letter-spacing:.5px;color:var(--colors-neutral-500)}.order-page .order-card__left .value{font-size:var(--font-size-md);font-weight:var(--font-weight-xl);color:var(--colors-neutral-900)}.order-page .order-card__body{padding:var(--spacing-sm) 0}@media(max-width:768px){.order-page .order-card__body{padding:var(--spacing-sm) var(--spacing-lg)}}.order-page .order-card .order-total{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--colors-background-tint);border-radius:var(--radius-sm);margin:var(--spacing-sm) var(--spacing-lg)}.order-page .order-card .order-total .total-label{font-size:var(--font-size-sm);color:var(--colors-neutral-600);font-weight:var(--font-weight-md)}.order-page .order-card .order-total .order-price{display:flex;align-items:baseline;gap:var(--spacing-xxs);color:var(--colors-primary-300);font-weight:var(--font-weight-xl)}.order-page .order-card .order-total .order-price .currency{font-size:var(--font-size-xs)}.order-page .order-card .order-total .order-price .amount{font-size:var(--font-size-xl)}@media(max-width:399px){.order-page .order-card .order-total{flex-direction:column;padding:var(--spacing-sm)}}.order-page .order-card__footer{display:flex;justify-content:center;padding:var(--spacing-lg);border-top:1px solid var(--colors-background-border);background-color:var(--colors-neutral-200)}.order-page .order-card__footer .view-detail-hint{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-md);font-weight:var(--font-weight-lg);color:var(--colors-neutral-500);transition:color .2s ease}.order-page .order-card__footer .view-detail-hint .material-symbols-outlined{font-size:var(--font-size-md)}.price-type{text-transform:capitalize}.order-detail-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.order-detail__header{background-color:var(--colors-background-surface);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--colors-background-border);margin-bottom:0;gap:var(--spacing-xl)}.order-detail__header-left{display:flex;align-items:center;gap:var(--spacing-lg)}.order-detail__header-left .back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--colors-background-border);background-color:var(--colors-background-surface);color:var(--colors-neutral-700);cursor:pointer;transition:all .2s ease}.order-detail__header-left .back-btn:hover{background-color:var(--colors-secondary-100);color:var(--colors-primary-300);border-color:var(--colors-primary-100)}.order-detail__header-left .back-btn.material-symbols-outlined{font-size:var(--font-size-lg)}.order-detail__header-left .page-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-xl);margin:0;color:var(--colors-neutral-900);display:-webkit-box;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere}.order-detail__header-left .page-subtitle{font-size:var(--font-size-sm);color:var(--colors-neutral-400);margin:var(--spacing-xxs) 0 0 0}@media(max-width:768px){.order-detail__header{gap:var(--spacing-lg)}.order-detail__header--actions{width:100%}.order-detail__header--actions .base-badge{width:100%;text-align:center;justify-content:center;padding:var(--spacing-sm) 0}}@media(max-width:399px){.order-detail__header-left .back-btn{width:26px;height:26px}.order-detail__header-left .back-btn.material-symbols-outlined{font-size:var(--font-size-lg)}.order-detail__header-left .page-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-xl);margin:0;color:var(--colors-neutral-900)}}.order-detail__card{background-color:var(--colors-background-card);border:1px solid var(--colors-background-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--spacing-lg) var(--spacing-xl)}@media(max-width:768px){.order-detail__card{padding:var(--spacing-md) var(--spacing-lg)}}.order-detail__card-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-xl);color:var(--colors-neutral-800);margin:0}.order-detail__card-title .material-symbols-outlined{color:var(--colors-primary-300);font-size:var(--font-size-lg)}.order-detail__card-header{justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md);border-bottom:1px solid var(--colors-background-border);padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-xl);display:flex;flex-direction:column}.amount-highlight{color:var(--colors-primary-300);font-size:var(--font-size-lg);font-weight:var(--font-weight-xl)}.booking-filters{width:100%;display:grid;align-items:center;gap:var(--spacing-sm);grid-template-columns:repeat(3,1fr)}.booking-filters.has-clear{grid-template-columns:repeat(4,1fr)}.booking-filters .btn{width:100%}@media(max-width:991px){.booking-filters,.booking-filters.has-clear{grid-template-columns:minmax(0,1fr)}}.booking-items{display:flex;flex-direction:column;gap:var(--spacing-xl)}.booking-items__empty{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-xl);color:var(--colors-neutral-400)}.booking-items__empty .material-symbols-outlined{font-size:40px;margin-bottom:var(--spacing-sm)}.booking-items__empty p{margin:0;font-size:var(--font-size-md)}.booking-item{border:1px solid var(--colors-background-border);box-shadow:var(--shadow-card);border-radius:var(--radius-md);overflow:hidden;background-color:var(--colors-background-surface)}.booking-item__header{display:flex;justify-content:space-between;align-items:center;background-color:var(--colors-secondary-100);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--colors-background-border)}@media(max-width:768px){.booking-item__header{flex-direction:column;gap:var(--spacing-xs)}}.booking-item__court{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:var(--font-weight-xl);color:var(--colors-neutral-900);font-size:var(--font-size-md)}.booking-item__court .material-symbols-outlined{font-size:var(--font-size-md);color:var(--colors-neutral-500)}.booking-item__court .value{display:-webkit-box;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere}@media(max-width:768px){.booking-item__court{order:1}}.booking-item__body{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--spacing-xl);padding:var(--spacing-lg)}@media(max-width:768px){.booking-item__body{grid-template-columns:1fr;gap:var(--spacing-lg)}}.booking-item__info{display:flex;flex-direction:column;justify-content:space-between;gap:var(--spacing-lg)}.booking-item__info .info-list__value{display:flex;gap:var(--spacing-sm)}.booking-item__info .info-list__value .base-badge{padding:var(--spacing-xs) var(--spacing-sm)}.booking-item__code{display:flex;align-items:center;gap:var(--spacing-sm);background-color:var(--colors-state-info-50);border:1px solid var(--colors-background-border);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);color:var(--colors-state-info-100)}.booking-item__code .value{display:flex;align-items:center;gap:var(--spacing-sm)}.booking-item__code .value .material-symbols-outlined{font-size:var(--font-size-md);color:var(--colors-state-info-100)}.booking-item__code strong{margin-left:auto;font-family:monospace;font-size:var(--font-size-lg);color:var(--colors-neutral-900);letter-spacing:1px;background:var(--colors-background-surface);padding:var(--spacing-xxs) var(--spacing-md);border-radius:var(--radius-xs);border:1px solid var(--colors-background-border)}@media(max-width:399px){.booking-item__code{flex-direction:column}.booking-item__code .material-symbols-outlined{font-size:var(--font-size-xs)}.booking-item__code strong{margin-left:unset}}.booking-item__pricing{background-color:var(--colors-neutral-200);border-radius:var(--radius-sm);padding:var(--spacing-md) var(--spacing-lg);display:flex;flex-direction:column;justify-content:center}@media(max-width:768px){.booking-item__pricing{padding:var(--spacing-md) var(--spacing-sm)}}.booking-item__pricing .pricing-header{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-lg);color:var(--colors-neutral-500);margin-bottom:var(--spacing-sm);border-bottom:1px solid var(--colors-background-border);padding-bottom:var(--spacing-sm)}.booking-item__pricing .pricing-header .material-symbols-outlined{font-size:var(--font-size-sm)}.booking-item__pricing .pricing-breakdown{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.booking-item__pricing .pricing-breakdown__row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);color:var(--colors-neutral-600);border-top:1px solid var(--colors-background-border);padding:var(--spacing-sm) 0}.booking-item__pricing .pricing-breakdown__row:first-child{border-top:none}.booking-item__pricing .pricing-breakdown__row .time-range{font-weight:var(--font-weight-md);color:var(--colors-neutral-800)}.booking-item__pricing .pricing-breakdown__row .rate{font-size:var(--font-size-sm);color:var(--colors-neutral-500)}.booking-item__pricing .pricing-breakdown__row .slot-price{font-weight:var(--font-weight-lg);font-size:var(--font-size-md);color:var(--colors-neutral-700)}@media(max-width:768px){.booking-item__pricing .pricing-breakdown__row{display:grid;grid-template-columns:1fr auto;row-gap:var(--spacing-xxs)}.booking-item__pricing .pricing-breakdown__row .time-range{grid-column:1;grid-row:1;font-size:var(--font-size-sm)}.booking-item__pricing .pricing-breakdown__row .rate{grid-column:1/span 2;grid-row:2;font-size:var(--font-size-xs);color:var(--colors-neutral-400)}.booking-item__pricing .pricing-breakdown__row .slot-price{grid-column:2;grid-row:1;text-align:right;font-size:var(--font-size-sm)}}.booking-item__pricing .pricing-breakdown__total{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed var(--colors-background-border);padding-top:var(--spacing-sm);margin-top:var(--spacing-xxs);font-weight:var(--font-weight-xl);color:var(--colors-neutral-900)}.booking-item__pricing .pricing-breakdown__total .label{font-size:var(--font-size-md)}.booking-item__pricing .pricing-breakdown__total .value{font-size:var(--font-size-lg);color:var(--colors-primary-300)}@media(max-width:768px){.booking-item__pricing .pricing-breakdown__total .label{font-size:var(--font-size-sm)}.booking-item__pricing .pricing-breakdown__total .value{font-size:var(--font-size-md)}}.booking-item--past{opacity:.6}
