.coach-availability-modal-web{--width: 100%;--height: 100%;--max-width: 600px;--max-height: 800px;--border-radius: var(--app-radius-lg)}@media (min-width: 768px){.coach-availability-modal-web{--width: 450px;--height: 520px;--min-height: 520px;--box-shadow: 0 10px 20px rgba(0,0,0,.19), 0 6px 6px rgba(0,0,0,.23)}}.coach-availability-modal-content{--background: var(--app-bg);--padding-top: 8px;--padding-bottom: 8px}.coach-availability-date-card{border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow);border:1px solid #f2f2f2;overflow:hidden;margin-bottom:12px;background:#fff}.coach-availability-time-container{background:#fff;border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow);border:1px solid #f2f2f2;padding:12px;margin-bottom:0}.time-picker-wrapper{text-align:center}.time-label{font-size:12px;color:#888;margin-bottom:4px;font-weight:500}.coach-availability-time-picker{border-radius:var(--app-radius-md);border:1px solid #f5f5f5;overflow:hidden;--background: #fafafa;margin:0 auto;min-height:0;height:auto}.coach-availability-date-card ion-datetime{--background: #fff;padding-top:0;padding-bottom:0;min-height:250px}@media (min-width: 768px){.coach-availability-modal-content{--padding-start: 16px;--padding-end: 16px}.coach-availability-date-card{margin-bottom:8px}.coach-availability-date-card ion-datetime{min-height:320px;max-height:320px;overflow:hidden}.coach-availability-time-picker{min-height:0!important;height:100px!important}.coach-availability-time-container{padding:8px 12px}.time-picker-wrapper .time-label{margin-bottom:4px;font-size:12px}}.zz-coach-week-grid{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.08)}.zz-coach-week-grid .zz-week-dates{width:calc(100% - 16px);margin:0 auto}.zz-coach-grid-scroll-container{flex:1;overflow:auto;position:relative;overscroll-behavior:contain}.zz-coach-week-grid .zz-day-column{flex:0 0 auto;min-width:100px;width:calc(100vw / 3 - 10px);max-width:150px;position:relative;background:transparent;border-right:1px solid #f0f0f0;height:100%}@media (min-width: 768px){.zz-coach-week-grid .zz-day-column{min-width:110px;width:140px;max-width:160px}}@media (min-width: 1024px){.zz-coach-week-grid .zz-day-column{flex:1;min-width:0;width:auto;max-width:none;border-right:1px solid #e2e8f0}.zz-grid-content-wrapper{width:100%;min-width:0}.zz-header-cells,.zz-courses-area,.zz-course-columns{width:100%;display:flex}}.zz-admin-week-grid{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.08)}.zz-admin-week-grid .zz-week-dates{width:calc(100% - 16px);margin:0 auto}.zz-admin-grid-scroll-container{flex:1;overflow:auto;position:relative;overscroll-behavior:contain}.zz-grid-content-wrapper{position:relative;min-width:100%;width:-moz-fit-content;width:fit-content}.zz-grid-header-row{display:flex;position:sticky;top:0;z-index:100;background:#f8fafc;border-bottom:1px solid #e2e8f0}.zz-header-corner-cell{position:sticky;left:0;top:0;z-index:101;width:50px;flex-shrink:0;background:#f8fafc;border-right:1px solid #e2e8f0}.zz-header-cells{display:flex}.zz-grid-body-row{display:flex;position:relative}.zz-time-sidebar{position:sticky;left:0;z-index:90;width:50px;flex-shrink:0;background:#fff;border-right:1px solid #e2e8f0;padding-top:20px}.zz-courses-area{position:relative;display:flex;flex:1}.zz-admin-week-grid .zz-day-column{flex:0 0 auto;min-width:100px;width:calc(100vw / 3 - 10px);max-width:150px;position:relative;background:transparent;border-right:1px solid #f0f0f0;height:100%}@media (min-width: 768px){.zz-admin-week-grid .zz-day-column{min-width:110px;width:140px;max-width:160px}}@media (min-width: 1024px){.zz-admin-week-grid .zz-day-column{flex:1;min-width:0;width:auto;max-width:none;border-right:1px solid #e2e8f0}.zz-grid-content-wrapper{width:100%;min-width:0}.zz-header-cells,.zz-courses-area,.zz-course-columns{width:100%;display:flex}}.zz-time-label{display:flex;align-items:flex-start;justify-content:center;font-size:12px;color:#999;transform:translateY(-8px);height:60px}.zz-day-header{padding:8px 4px;text-align:center}.zz-day-title{font-size:14px;font-weight:600;color:#333}.zz-grid-lines{position:absolute;top:20px;left:0;right:0;bottom:0;z-index:1;pointer-events:none}.zz-grid-line{border-top:1px solid #e0e0e0;box-sizing:border-box;height:60px}.zz-current-time-line{position:absolute;left:0;right:0;border-top:2px solid #ff4d4f;z-index:25;pointer-events:none}.zz-time-dot{width:8px;height:8px;background:#ff4d4f;border-radius:50%;position:absolute;left:-4px;top:-5px}.zz-course-columns{position:relative;z-index:10;display:flex;padding-top:20px}.zz-course-card-absolute{position:absolute;left:4px;right:4px;border-radius:6px;padding:4px 6px;color:#fff;font-size:12px;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.15);cursor:pointer;z-index:15;transition:transform .2s,box-shadow .2s;border:1px solid rgba(255,255,255,.2)}.zz-course-card-absolute:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.2);z-index:20}.zz-course-card-absolute .course-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.zz-course-card-absolute .course-time{font-size:10px;opacity:.9}.zz-course-card-absolute .course-booking-count{font-size:10px;opacity:.95;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zz-empty-column-placeholder{height:100%;display:flex;align-items:center;justify-content:center;background-color:transparent}.zz-empty-text{color:#ccc;font-size:14px;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:4px}:root{--ion-color-primary: #0054e9;--ion-color-primary-rgb: 0, 84, 233;--ion-color-primary-contrast: #fff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #004acd;--ion-color-primary-tint: #1a65eb;--ion-color-secondary: #0163aa;--ion-color-secondary-rgb: 1, 99, 170;--ion-color-secondary-contrast: #fff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #015796;--ion-color-secondary-tint: #1a73b3;--ion-color-tertiary: #6030ff;--ion-color-tertiary-rgb: 96, 48, 255;--ion-color-tertiary-contrast: #fff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #542ae0;--ion-color-tertiary-tint: #7045ff;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #c5000f;--ion-color-danger-rgb: 197, 0, 15;--ion-color-danger-contrast: #fff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #ad000d;--ion-color-danger-tint: #cb1a27;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #636469;--ion-color-medium-rgb: 99, 100, 105;--ion-color-medium-contrast: #fff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #57585c;--ion-color-medium-tint: #737478;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #fff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e}html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar,html.ios .modal-footer-moving ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width: 768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: .18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base: var(--ion-color-primary, #0054e9) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;--ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #0163aa) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;--ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #6030ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd55b) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;--ion-color-contrast: var(--ion-color-success-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;--ion-color-tint: var(--ion-color-success-tint, #42d96b) !important}.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}.ion-color-danger{--ion-color-base: var(--ion-color-danger, #c5000f) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;--ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important}.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}.ion-color-medium{--ion-color-base: var(--ion-color-medium, #636469) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;--ion-color-tint: var(--ion-color-medium-tint, #737478) !important}.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}.ion-page{left:0;right:0;top:0;bottom:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}.ion-page.ion-page-overlay-passthrough{pointer-events:none}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports (padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports (padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: var(--safe-area-inset-top, env(safe-area-inset-top));--ion-safe-area-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom));--ion-safe-area-left: var(--safe-area-inset-left, env(safe-area-inset-left));--ion-safe-area-right: var(--safe-area-inset-right, env(safe-area-inset-right))}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translateZ(0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px rgba(0,0,0,.08)}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px rgba(0,0,0,.08)}.md .menu-content-reveal,.md .menu-content-push{box-shadow:4px 0 16px rgba(0,0,0,.18)}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:.3s transform cubic-bezier(.25,.8,.5,1)}@media (prefers-reduced-motion: reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}img{max-width:100%}hr{height:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{padding:0;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;padding:0;position:fixed;width:100%;max-width:100%;height:100%;max-height:100%;transform:translateZ(0);text-rendering:optimizeLegibility;overflow:hidden;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;text-size-adjust:none}html{font-family:var(--ion-font-family)}@supports (-webkit-touch-callout: none){html{font:var(--ion-dynamic-font, 16px var(--ion-font-family))}}a{background-color:transparent;color:var(--ion-color-primary, #0054e9)}h1,h2,h3,h4,h5,h6{margin-top:16px;margin-bottom:10px;font-weight:500;line-height:1.2}h1{margin-top:20px;font-size:1.625rem}h2{margin-top:18px;font-size:1.5rem}h3{font-size:1.375rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}:root{--ion-color-primary: #333333;--ion-color-primary-rgb: 51, 51, 51;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #2b2b2b;--ion-color-primary-tint: #474747;--ion-color-secondary: #c2baaf;--ion-color-secondary-rgb: 194, 186, 175;--ion-color-secondary-contrast: #ffffff;--ion-color-tertiary: #ebe7e0;--ion-color-tertiary-rgb: 235, 231, 224;--ion-color-tertiary-contrast: #333333;--ion-color-success: #8c9c8a;--ion-color-warning: #d9b991;--ion-color-danger: #c48b8b;--app-bg: #f9f9f9;--ion-background-color: #f9f9f9;--ion-background-color-rgb: 249, 249, 249;--ion-font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "SF Pro Text", "PingFang SC", "Hiragino Sans", "Noto Sans JP", sans-serif;--ion-font-weight-light: 300;--ion-font-weight-normal: 400;--ion-font-weight-medium: 500;--ion-font-weight-semibold: 600;--ion-font-weight-bold: 700;--ion-text-color: #2c2c2c;--ion-text-color-rgb: 44, 44, 44;--app-font-size-xs: 11px;--app-font-size-sm: 12px;--app-font-size-base: 13px;--app-font-size-md: 14px;--app-font-size-lg: 16px;--app-font-size-xl: 18px;--app-font-size-2xl: 20px;--app-radius-lg: 12px;--app-radius-md: 8px;--app-shadow: 0 4px 16px rgba(0, 0, 0, .04)}ion-content{--background: var(--app-bg)}.zz-card,ion-card.zz-card{border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow);border:none;overflow:hidden}.zz-list-card ion-item{--background: #fff;--border-radius: var(--app-radius-lg);margin:8px 0;box-shadow:var(--app-shadow);--inner-border-width: 0}.zz-badge{font-size:12px;padding:4px 8px;border-radius:999px}ion-button.zz-pill{--border-radius: 999px;height:40px;font-weight:600}ion-segment{background:#fff;border-radius:999px;padding:4px;box-shadow:var(--app-shadow);min-height:44px;display:flex;justify-content:center;align-items:center;overflow:visible;contain:none}ion-segment-button{--border-radius: 8px;--indicator-box-shadow: none;--indicator-color: transparent;--color-checked: var(--ion-color-primary);min-height:36px;min-width:0;flex:1;overflow:visible;contain:none}ion-segment-button::part(indicator){background:transparent!important;border:1.5px solid var(--ion-color-primary);border-radius:8px!important}.zz-schedule-week-toolbar{position:relative}.zz-schedule-week-toolbar .zz-filter-segment{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:auto!important;min-width:140px;max-width:60%!important;height:32px;min-height:32px!important;margin:0!important;z-index:10}.zz-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.zz-grid-item{background:#fff;border-radius:16px;box-shadow:var(--app-shadow);padding:12px 6px;text-align:center}.zz-grid-icon{width:44px;height:44px;border-radius:12px;margin:0 auto 6px;display:grid;place-items:center;font-size:22px;color:#fff}.zz-title{font-size:18px;font-weight:700}.zz-sub{color:#7a8599;font-size:13px}.zz-week-wrap{background:#fff;border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow);overflow:hidden}.zz-date-selector{display:flex;overflow-x:auto;padding:8px 0;border-bottom:1px solid #e0e0e0;background:#fff;position:sticky;top:0;z-index:5;-webkit-overflow-scrolling:touch;scrollbar-width:none}.zz-date-selector::-webkit-scrollbar{display:none}.zz-date-select-item{flex:1 0 auto;display:flex;flex-direction:column;align-items:center;padding:8px;border-radius:8px;cursor:pointer;transition:background-color .2s ease;margin:0;min-width:50px}.zz-date-select-item.selected{background-color:#007aff;color:#fff}.zz-date-day{font-size:14px;font-weight:600;margin-bottom:4px}.zz-date-number{font-size:16px;font-weight:700}.zz-selected-date-title{padding:12px 16px;font-size:18px;font-weight:700;color:#333;border-bottom:1px solid #e0e0e0}.zz-week-body{display:grid;grid-template-columns:70px 1fr;height:70vh;overflow:auto;position:relative;background:#fff}.zz-time-col{background:#fff;border-right:1px solid #e0e0e0;position:sticky;left:0;z-index:3}.zz-time-row{height:80px;display:flex;align-items:flex-start;justify-content:center;font-size:14px;color:#666;padding-top:8px;border-bottom:1px solid #f0f0f0}.zz-course-area{position:relative;border-left:1px solid #e0e0e0}.zz-hour-line{height:80px;border-bottom:1px solid #f0f0f0}.zz-course-block{position:absolute;border-radius:10px;padding:8px;color:#fff;font-size:12px;line-height:1.4;box-shadow:0 4px 10px rgba(0,0,0,.15);transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;overflow:hidden}.zz-filter-row{display:flex;flex-direction:column;width:100%}.zz-type-filter{margin-bottom:10px}.zz-teacher-filter{width:100%}@media (orientation: landscape){.zz-filter-row{flex-direction:row;align-items:center;justify-content:space-between}.zz-type-filter{flex:1;margin-bottom:0;margin-right:10px}.zz-teacher-filter{width:200px}}.zz-teacher-filter-title{font-size:14px;font-weight:600;color:#333;display:flex;align-items:center;gap:6px}.zz-filter-result{font-size:13px;font-weight:400;color:#666;background:#f5f7fa;padding:2px 8px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;min-width:60px;text-align:center}.zz-teacher-filter-list{padding:0;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.15);border-radius:8px;margin:0 8px 8px;overflow:hidden;max-height:250px;overflow-y:auto;transition:all .3s ease;transform-origin:top center;animation:floatIn .3s ease-out}.zz-teacher-filter-list ion-item{--min-height: 40px;--padding-start: 12px;--padding-end: 12px;font-size:14px}.zz-teacher-filter-list ion-checkbox{--size: 20px;margin-right:0;margin-left:auto}.zz-teacher-filter-list ion-label{font-size:14px;color:#333}.zz-filter-toolbar ion-icon{font-size:20px!important;color:var(--ion-color-primary)!important;transition:transform .2s ease}.zz-filter-toolbar ion-icon:active{transform:scale(1.2)}@keyframes floatIn{0%{opacity:0;transform:translateY(-10px) scale(.98);box-shadow:0 2px 8px rgba(0,0,0,.1)}to{opacity:1;transform:translateY(0) scale(1);box-shadow:0 4px 12px rgba(0,0,0,.15)}}@media (orientation: landscape){.zz-teacher-filter-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;padding:10px;margin:0 16px 16px}.zz-teacher-filter-list ion-item{flex:1 1 auto;min-width:120px;max-width:200px;--padding-start: 12px;--padding-end: 12px}}.zz-floating-filter-container{position:absolute;top:10px;z-index:1000;box-shadow:0 4px 12px rgba(0,0,0,.15);border-radius:8px;overflow:hidden;animation:floatIn .3s ease-out;max-width:300px;margin:0 auto;left:auto;right:10px}.zz-floating-filter-container .zz-teacher-filter-list{margin:0;border-radius:8px;box-shadow:none;animation:none}.zz-course-block:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.2)}.zz-course-title{font-weight:700;font-size:14px;margin-bottom:4px}.zz-course-sub{opacity:.9;font-size:12px}.zz-feature-list{display:flex;flex-direction:column;gap:12px}.zz-feature-card{display:flex;flex-direction:column;padding:16px;background:#fff;border-radius:16px;box-shadow:var(--app-shadow);border:1px solid rgba(0,0,0,.04);margin-bottom:12px}.zz-feature-body{display:flex;flex-direction:column;gap:12px}.zz-feature-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.zz-feature-title{font-size:16px;font-weight:700;color:#111;line-height:1.3}.zz-feature-coach{font-size:13px;color:#666;background:#f5f5f5;padding:2px 8px;border-radius:6px;white-space:nowrap}.zz-feature-time-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.zz-time-badge{background:#f0f7ff;color:var(--ion-color-primary);font-size:13px;font-weight:500;padding:4px 10px;border-radius:8px}.zz-time-time{font-weight:700;margin-left:4px}.zz-duration-badge{font-size:12px;color:#888;display:flex;align-items:center}.zz-duration-badge:before{content:"";display:inline-block;width:4px;height:4px;background:#ccc;border-radius:50%;margin-right:8px}.zz-feature-tags{display:flex;gap:6px;flex-wrap:wrap}.zz-feature-tag{font-size:11px;padding:3px 8px;border-radius:6px;background:#f2f5fa;color:#556070}.zz-feature-tag.type-group{background:#fff7ed;color:#ea580c;border:1px solid #ffedd5}.zz-feature-tag.type-private{background:#eff6ff;color:#2563eb;border:1px solid #dbeafe}.zz-feature-footer{display:flex;align-items:center;justify-content:space-between;margin-top:4px;padding-top:12px;border-top:1px dashed #eee}.zz-status-available{color:var(--ion-color-success);font-size:12px;font-weight:500}.zz-status-full{color:var(--ion-color-medium);font-size:12px}ion-button.zz-feature-cta{--height: 32px;--padding-start: 16px;--padding-end: 16px;--border-radius: 16px;--font-size: 13px;--font-weight: 600;--box-shadow: none;margin:0}.zz-login{--background: linear-gradient(155deg, #ffffff 0%, #f9f9f9 55%, #ebe7e0 100%)}.zz-login::part(scroll){display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100%}.zz-login-scroll::part(scroll){justify-content:flex-start;padding-top:20px;padding-bottom:20px}.zz-login-container{width:100%;max-width:400px;margin:0 auto;padding:0 24px}.zz-login-hero{display:flex;flex-direction:column;gap:6px}.zz-login-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:var(--ion-color-tertiary);color:var(--ion-color-primary-shade);font-weight:600;font-size:12px;width:-moz-fit-content;width:fit-content}.zz-login-card{margin-top:12px;background:#fff;border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow);padding:16px;display:flex;flex-direction:column;gap:10px}.zz-login-item{--background: #f7f9fb;--border-radius: var(--app-radius-md);--inner-padding-start: 12px;--inner-padding-end: 12px;--min-height: 72px;margin-bottom:6px}.zz-login-item ion-label{font-size:13px;color:#7a8599}.zz-login-item ion-input{font-size:15px}.zz-login-code{display:flex;gap:10px;align-items:center;width:100%}.zz-login-code ion-input{flex:1}.zz-login-links{display:flex;align-items:center;justify-content:space-between;gap:10px}.zz-login-remember{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#5f6b7a}.zz-login-remember ion-checkbox{--size: 18px}.zz-login-link-button{margin:0;min-height:24px;height:24px;font-size:12px}.zz-login-register{margin-top:16px;display:flex;align-items:center;justify-content:center}.zz-login-register-text{font-size:14px}.zz-login-register-button{margin:0 0 0 4px;min-height:unset;height:auto;font-size:14px;font-weight:600}.zz-login-footer{margin-top:18px;display:flex;flex-direction:column;gap:10px}.zz-login-quick{display:flex;gap:10px;flex-wrap:wrap}.zz-store-switch{font-weight:700}.zz-hero-scroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-bottom:14px;padding-bottom:4px}.zz-hero-scroll::-webkit-scrollbar{display:none}.zz-hero-scroll .zz-hero-card{position:relative;flex:0 0 80%;width:80%;height:32vh;min-height:180px;max-height:300px;border-radius:var(--app-radius-lg);overflow:hidden;box-shadow:var(--app-shadow);scroll-snap-align:start}.zz-hero-scroll img{width:100%;height:100%;object-fit:cover;display:block}.zz-hero-indicators{display:flex;justify-content:center;gap:8px;margin-bottom:14px;padding:0 12px}.zz-hero-indicator{width:8px;height:8px;border-radius:50%;background:rgba(0,0,0,.2);cursor:pointer;transition:all .3s ease}.zz-hero-indicator.active{width:24px;border-radius:4px;background:var(--ion-color-primary)}.store-action-open ion-icon{color:var(--ion-color-success)}.store-action-closed ion-icon{color:var(--ion-color-medium)}.zz-announcement-item{--padding-start: 0;--padding-end: 0;--inner-padding-start: 16px;--inner-padding-end: 16px;margin-bottom:8px;border-radius:var(--app-radius-lg);overflow:hidden}.zz-announcement-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.zz-announcement-item-title{font-size:16px;font-weight:700;color:#111;flex:1;margin-right:12px}.zz-announcement-item-type{padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;flex-shrink:0}.zz-type-important{background:#fee2e2;color:#dc2626}.zz-type-new{background:#dcfce7;color:#16a34a}.zz-type-promotion{background:#fef3c7;color:#d97706}.zz-type-info{background:#e0e7ff;color:#4f46e5}.zz-announcement-item-meta{font-size:12px;color:#6f7a8c;margin-bottom:8px}.zz-announcement-item-content{font-size:14px;line-height:1.5;color:#374151}.zz-store-card{display:flex;gap:12px;background:#fff;border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow);padding:14px;align-items:flex-start}.zz-store-logo{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--ion-color-primary),var(--ion-color-primary-tint));color:#fff;display:grid;place-items:center;font-weight:800}.zz-store-meta{flex:1;display:flex;flex-direction:column;gap:4px}.zz-store-name{font-weight:800;font-size:15px}.zz-store-sub{color:#6f7a8c;font-size:13px}.zz-store-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.zz-store-badge{padding:3px 8px;background:#fff7ea;color:#f19b1a;border-radius:999px;font-size:12px;font-weight:700}.zz-store-inline{display:inline-flex;gap:6px;align-items:center;color:#6f7a8c;font-size:13px}.zz-cta-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.zz-cta-card{background:#fff;border-radius:16px;padding:16px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:var(--app-shadow);text-decoration:none;color:#333;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;border:1px solid transparent}.zz-cta-card:active{transform:scale(.98)}.zz-cta-icon-box{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:4px}.zz-cta-label{font-size:13px;font-weight:600;color:#333;text-align:center}.zz-cta-card.success .zz-cta-icon-box{background:rgba(45,211,111,.1);color:var(--ion-color-success)}.zz-cta-card.warning .zz-cta-icon-box{background:rgba(255,196,9,.1);color:var(--ion-color-warning)}.zz-cta-card.secondary .zz-cta-icon-box{background:rgba(61,194,255,.1);color:var(--ion-color-secondary)}.zz-stat-item.clickable{cursor:pointer;position:relative;transition:opacity .2s}.zz-stat-item.clickable:active{opacity:.7}.zz-stat-item.clickable .zz-stat-value{color:var(--ion-color-primary);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}.zz-announcement-card{background:#fff;border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow);padding:12px;display:flex;align-items:center;gap:12px;margin-bottom:12px;margin-top:10px}.zz-announcement-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:10px;background:#fff4e5;color:#f19b1a;font-weight:700}.zz-announcement-body{flex:1;color:#6f7a8c;font-size:13px}.zz-mydata-card{display:block;padding:16px;background:#fff;border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow);margin-bottom:14px}.zz-mydata-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.zz-mydata-body{display:flex;flex-direction:column;gap:6px}.zz-stats-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;margin-top:16px;border-top:1px solid #f0f2f5;padding-top:16px}.zz-stat-item{display:flex;flex-direction:column;align-items:center;text-align:center}.zz-stat-value{font-size:18px;font-weight:800;color:#111;line-height:1.2}.zz-stat-value small{font-size:12px;font-weight:400;color:#666;margin-left:2px}.zz-stat-label{font-size:11px;color:#888;margin-top:4px}.zz-upcoming-box{background:#f8fafc;border-radius:12px;padding:10px 12px;display:flex;align-items:center;gap:10px;font-size:13px;color:#334155;margin-top:4px}.zz-upcoming-icon{color:var(--ion-color-primary);font-size:16px}.zz-section-head{display:flex;align-items:center;justify-content:space-between;margin:6px 0}.zz-section-head h2{margin:0}.zz-mybook-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.zz-mybook-card{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,.08);padding:16px;position:relative;transition:all .3s ease;border:1px solid #e2e8f0}.zz-mybook-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.12);border-color:#cbd5e1}.zz-mybook-title{font-size:16px;font-weight:700;color:#1e293b;margin-bottom:8px;display:flex;align-items:center;gap:8px}.zz-course-type-tag{font-size:10px;font-weight:600;padding:3px 8px;border-radius:999px;background:rgba(var(--ion-color-primary-rgb),.1);color:var(--ion-color-primary);margin-left:auto}.zz-mybook-sub{color:#64748b;font-size:13px;margin-bottom:10px;line-height:1.5;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.zz-mybook-sub .zz-datetime,.zz-mybook-sub .zz-coach{display:flex;align-items:center;gap:4px}.zz-mybook-status{display:inline-block;font-size:12px;font-weight:600;padding:4px 12px;border-radius:999px;margin-bottom:8px;text-transform:capitalize}.zz-mybook-status.已预约{background:rgba(var(--ion-color-primary-rgb),.1);color:var(--ion-color-primary)}.zz-mybook-status.已候补{background:rgba(245,158,11,.1);color:#f59e0b}.zz-mybook-status.待签到{background:rgba(59,130,246,.1);color:#3b82f6}.zz-mybook-status.已签到{background:rgba(16,185,129,.1);color:#10b981}.zz-mybook-status.待评价{background:rgba(99,102,241,.1);color:#6366f1}.zz-checkin-status{display:flex;align-items:center;gap:6px;font-size:12px;color:#10b981;margin-bottom:8px}.zz-checkin-icon{width:14px;height:14px;color:#10b981}.zz-mybook-actions{display:flex;gap:8px;margin-top:12px;justify-content:flex-end}.zz-mybook-btn{height:32px;--padding-start: 12px;--padding-end: 12px;border-radius:16px;font-size:13px;font-weight:600;--box-shadow: none;transition:all .2s ease}.zz-mybook-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.15)}.zz-mybook-btn.cancel{--background: rgba(239, 68, 68, .1);--color: #ef4444;--background-hover: rgba(239, 68, 68, .2)}.zz-mybook-btn.evaluate{--background: rgba(99, 102, 241, .1);--color: #6366f1;--background-hover: rgba(99, 102, 241, .2)}.zz-mybook-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #f1f5f9;font-size:12px;color:#94a3b8}.zz-evaluation-result{font-size:13px;color:#ffc107;font-weight:600;margin-top:4px}.zz-coach-record-summary{background:#fdfaf5;border-left:3px solid #ff8a7a;padding:10px 12px;border-radius:4px 8px 8px 4px;margin:10px 0;font-size:13px}.zz-record-item{margin-bottom:6px;line-height:1.4;color:#444}.zz-record-item strong{color:#ff8a7a;margin-right:4px;white-space:nowrap}.zz-rating-modal{--width: 90%;--max-width: 320px}.zz-section-title{font-size:17px;font-weight:700;color:#1e293b;margin:24px 0 12px;padding-bottom:10px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;line-height:1.2;letter-spacing:-.01em;position:relative}.zz-section-title:after{content:"";position:absolute;bottom:-1px;left:0;width:40px;height:2px;background:var(--ion-color-primary);border-radius:2px;transition:width .3s ease}.zz-section-title:hover:after{width:60px}.zz-package-actions{display:flex;gap:12px;margin-top:24px;padding:0 4px}.zz-package-action-btn{flex:1;height:42px;--border-radius: 12px;font-size:13px;font-weight:700;--box-shadow: 0 4px 12px rgba(0, 0, 0, .05);margin:0!important;transition:all .3s cubic-bezier(.4,0,.2,1)}.zz-package-action-btn:hover{transform:translateY(-2px);--box-shadow: 0 6px 16px rgba(0, 0, 0, .1)}.zz-package-action-btn:active{transform:translateY(0)}.zz-package-action-btn.modify{--background: rgba(var(--ion-color-primary-rgb), .1);--color: var(--ion-color-primary)}.zz-package-action-btn.suspend{--background: rgba(99, 102, 241, .1);--color: #6366f1}.zz-package-action-btn.cancel{--background: rgba(239, 68, 68, .1);--color: #ef4444}.zz-package-action-btn[disabled]{opacity:.5;--background: #f1f5f9;--color: #94a3b8;transform:none}.zz-mybook-footer .zz-location,.zz-mybook-footer .zz-capacity{display:flex;align-items:center;gap:4px}.zz-section-head{font-size:18px;font-weight:700;color:#1e293b;margin-bottom:12px;display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:2px solid #e2e8f0}.zz-section-head .zz-status-count{font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:#e2e8f0;color:#64748b}.zz-empty-state{text-align:center;padding:60px 20px;color:#64748b}.zz-empty-state .zz-empty-icon{font-size:48px;margin-bottom:16px;color:#cbd5e1}.zz-empty-state .zz-empty-title{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:8px}.zz-empty-state .zz-empty-subtitle{font-size:14px;color:#94a3b8;line-height:1.5}.zz-filter-toolbar{--background: transparent !important;--border-width: 0 !important;--border-color: transparent !important;--box-shadow: none !important;--box-shadow-bottom: none !important;--box-shadow-top: none !important;--border-style: none !important;--border-top: none !important;--border-left: none !important;padding:4px 16px!important;margin:0 0 -2px!important;border:none!important;outline:none!important;border-color:transparent!important;box-shadow:none!important;-webkit-box-shadow:none!important;border-top:none!important;border-left:none!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;position:relative!important;z-index:10!important}ion-header>.zz-filter-toolbar:first-child,ion-header>.zz-schedule-week-toolbar:first-child,ion-header.ion-no-border>ion-toolbar:first-child{padding-top:calc(env(safe-area-inset-top) + 6px)!important;min-height:calc(44px + env(safe-area-inset-top))!important}.zz-filter-container{display:flex;flex-direction:column;width:100%}@media (min-width: 768px){.zz-filter-container{flex-direction:row;align-items:center;justify-content:space-between}.zz-type-filter{flex:1;margin-right:16px}.zz-teacher-filter{flex:1}}.zz-week-grid-container{width:100%;background:#fff;border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,.08);margin-bottom:16px;position:relative;contain:none;display:block;overflow:visible}.zz-week-header{display:flex;align-items:center;justify-content:space-between;padding:12px 8px;background:#f8fafc;border-bottom:1px solid #e2e8f0;position:-webkit-sticky;position:sticky;top:0;z-index:1000;box-shadow:0 2px 4px rgba(0,0,0,.05);flex-shrink:0;contain:none;transform:translateZ(0);-webkit-transform:translateZ(0);isolation:isolate}ion-content{--offset-top: 0;--offset-bottom: 0;overflow:auto;-webkit-overflow-scrolling:touch;position:relative;contain:none;display:block}ion-content .zz-week-grid-container{height:auto;max-height:none}.zz-week-nav-btn{background:transparent;border:none;border-radius:50%;width:24px;height:24px;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#64748b}.zz-week-nav-btn:hover{background:#e2e8f0;color:#334155;transform:scale(1.1)}.zz-layout-toggle{font-size:16px}.zz-layout-toggle:hover{background:var(--ion-color-primary);color:#fff;border-color:var(--ion-color-primary)}.zz-week-dates{display:flex;gap:0;overflow-x:auto;padding:0 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.zz-week-dates::-webkit-scrollbar{display:none}.zz-date-select-item{flex:1 0 auto;display:flex;flex-direction:column;align-items:center;padding:6px 4px;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#fff;border:1px solid #e2e8f0;min-width:40px}.zz-week-dates{display:flex;gap:0;overflow-x:auto;padding:0 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch;width:100%}.zz-week-grid-container .zz-week-dates{width:calc(100% - 16px);margin:0 auto}.zz-date-select-item:hover{background:#f1f5f9;transform:translateY(-1px)}.zz-date-select-item.selected{background:var(--ion-color-primary);color:#fff;border-color:var(--ion-color-primary);box-shadow:0 2px 8px rgba(var(--ion-color-primary-rgb),.3)}.zz-date-day{font-size:7px;font-weight:600;margin-bottom:2px}.zz-date-number{font-size:8px;font-weight:700}.zz-week-grid{display:flex;width:100%;justify-content:flex-start;flex-wrap:nowrap;padding:0;flex:1;min-height:0;overflow:visible;align-items:flex-start;box-sizing:border-box}.zz-day-headers-row{position:-webkit-sticky;position:sticky;top:var(--zz-week-header-height, 0px);z-index:950;background:#f8fafc;border-bottom:1px solid #e2e8f0;pointer-events:none}.zz-day-headers-viewport{overflow:hidden}.zz-day-headers-row .zz-week-grid-content{will-change:transform;transform:translateZ(0)}.zz-week-grid-content{display:flex;justify-content:flex-start;flex-wrap:nowrap;min-width:auto;align-items:stretch;gap:0;box-sizing:border-box;margin:0;width:auto}.zz-week-grid-container{width:100%;background:#fff;border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,.08);overflow:visible;margin-bottom:16px;position:relative;contain:none}.zz-week-grid-vertical .zz-week-grid{flex-direction:column}.zz-week-grid-horizontal .zz-week-grid{display:block;flex-direction:row;overflow-x:auto;overflow-y:visible;min-height:300px;flex-wrap:nowrap;scrollbar-width:thin;scrollbar-color:rgba(var(--ion-color-primary-rgb),.5) transparent;-webkit-overflow-scrolling:touch;justify-content:flex-start;align-items:flex-start}.zz-week-grid-horizontal .zz-week-grid-content{justify-content:flex-start;width:-moz-max-content;width:max-content;margin:0 auto;flex-wrap:nowrap}.zz-week-grid-horizontal .zz-week-grid::-webkit-scrollbar{height:6px;background:transparent}.zz-week-grid-horizontal .zz-week-grid::-webkit-scrollbar-thumb{background-color:rgba(var(--ion-color-primary-rgb),.5);border-radius:3px}.zz-week-grid-horizontal .zz-day-column{min-width:150px;max-width:200px}.zz-week-grid-horizontal .zz-course-card{margin-bottom:8px}.zz-week-grid-horizontal .zz-day-header{padding:8px;text-align:center;border-bottom:1px solid #e2e8f0;background:#f8fafc}.zz-day-column{flex:0 0 auto;min-width:100px;max-width:150px;border-right:1px solid #e2e8f0;background:#fff;box-sizing:border-box;margin:0;padding:0;height:auto;min-height:300px}.zz-day-column--header{min-height:0;height:auto;background:#f8fafc}.zz-day-headers-row .zz-day-header{padding:4px;border-bottom:none}@media (max-width: 767px){.zz-week-grid-horizontal .zz-week-grid{overflow-x:auto;overflow-y:visible;justify-content:flex-start;padding:0;margin:0}.zz-week-grid-horizontal .zz-week-grid-content{justify-content:flex-start;width:-moz-max-content;width:max-content;margin:0 auto}.zz-week-grid-horizontal .zz-day-column{min-width:100px;width:calc(100vw / 3 - 10px);max-width:calc(100vw / 3 - 10px);flex:0 0 auto}}@media (min-width: 768px){.zz-week-grid-horizontal .zz-week-grid{justify-content:flex-start;padding:0;margin:0}.zz-week-grid-horizontal .zz-week-grid-content{justify-content:flex-start;width:-moz-max-content;width:max-content;margin:0 auto}.zz-week-grid-horizontal .zz-day-column{min-width:110px;width:140px;max-width:160px;flex:0 0 auto}}.zz-day-column:last-child{border-right:1px solid transparent}.zz-day-header{padding:6px 4px;text-align:center;border-bottom:1px solid #e2e8f0;background:#f8fafc;line-height:1.2}.zz-day-title{font-size:12px;font-weight:600;color:#1e293b}.zz-day-date{font-size:10px;color:#64748b}.zz-day-courses{padding:8px;min-height:300px;display:flex;flex-direction:column;gap:8px}.zz-empty-day{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#94a3b8;text-align:center}.zz-empty-icon{font-size:48px;margin-bottom:12px}.zz-empty-text{font-size:14px}.zz-course-card{border-radius:12px;padding:10px 12px;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px rgba(0,0,0,.15);overflow:hidden;height:130px;display:flex;flex-direction:column;justify-content:flex-start;text-align:center}.zz-course-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.2)}.zz-course-time{font-size:12px;font-weight:600;margin-bottom:6px;opacity:.9;white-space:nowrap}.zz-course-title{font-size:14px;font-weight:700;margin-bottom:4px;line-height:1.3;overflow:hidden;height:40px}.zz-course-coach{font-size:12px;opacity:.8;margin-bottom:4px}.zz-course-remaining{font-size:11px;opacity:.8;background:rgba(255,255,255,.2);padding:2px 8px;border-radius:999px;display:inline-block;margin-top:auto;align-self:center}.zz-filter-toolbar:before,.zz-filter-toolbar:after{content:none!important;border:none!important;box-shadow:none!important}ion-header{--background: #fff !important;--border-width: 0 !important;--border-color: #fff !important;--box-shadow: none !important;--box-shadow-bottom: none !important;--box-shadow-top: none !important;--border-style: none !important;--border-top: none !important;--border-left: none !important;border:none!important;outline:none!important;box-shadow:none!important;-webkit-box-shadow:none!important;background:#fff!important}ion-header:before,ion-header:after{content:none!important;border:none!important;box-shadow:none!important}ion-toolbar{--background: #fff !important;--border-width: 0 !important;--border-color: #fff !important;--box-shadow: none !important;--box-shadow-bottom: none !important;--box-shadow-top: none !important;--border-style: none !important;--border-top: none !important;--border-left: none !important;border:none!important;outline:none!important;box-shadow:none!important;-webkit-box-shadow:none!important;background:#fff!important}ion-toolbar:before,ion-toolbar:after{content:none!important;border:none!important;box-shadow:none!important}ion-page{--background: transparent !important;--border-width: 0 !important;--border-color: transparent !important;--box-shadow: none !important;border:none!important;outline:none!important;box-shadow:none!important;-webkit-box-shadow:none!important;background:transparent!important}ion-page:before,ion-page:after{content:none!important;border:none!important;box-shadow:none!important}ion-segment{--background: #f5f7fa !important;--border-width: 0 !important;--border-color: transparent !important;--box-shadow: none !important;border:none!important;outline:none!important;box-shadow:none!important;-webkit-box-shadow:none!important}ion-segment:before,ion-segment:after{content:none!important;border:none!important;box-shadow:none!important}ion-segment-button{--border-width: 0 !important;--border-color: transparent !important;--box-shadow: none !important;border:none!important;outline:none!important;box-shadow:none!important;-webkit-box-shadow:none!important}ion-segment-button:before,ion-segment-button:after{content:none!important;border:none!important;box-shadow:none!important}.zz-filter-segment{--background: #f5f7fa;--color: #64748b;--color-checked: var(--ion-color-primary);--border-radius: 12px;--padding: 4px;--indicator-color: transparent;--indicator-border-radius: 10px;--indicator-box-shadow: none;--border-width: 0px;--border-color: transparent;--box-shadow: none;min-height:40px!important;width:100%!important;max-width:100%!important;margin:0!important;display:flex!important;justify-content:space-around!important;align-items:center!important;overflow:visible!important;white-space:nowrap!important;scrollbar-width:none;-webkit-overflow-scrolling:touch;-webkit-appearance:none;appearance:none;border:none;outline:none;flex-shrink:0;padding-left:8px!important;padding-right:8px!important;contain:none!important;clip-path:none!important}.zz-filter-segment::-webkit-scrollbar{display:none}.zz-filter-segment ion-segment-button{--padding-start: 10px;--padding-end: 10px;--padding-top: 6px;--padding-bottom: 6px;--border-radius: 8px;--background-checked: transparent;--color-checked: var(--ion-color-primary);--indicator-height: 34px;min-height:32px!important;min-width:0!important;flex:1 1 0%!important;font-weight:600;font-size:14px;transition:all .2s ease;z-index:1001!important;overflow:visible!important;contain:none!important;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:none;outline:none}.zz-filter-segment ion-segment-button::part(native){min-height:36px}.zz-filter-segment ion-segment-button::part(indicator){background:transparent!important;border:1.5px solid var(--ion-color-primary)!important;box-shadow:none!important;border-radius:8px!important}.zz-filter-label{font-size:13px;font-weight:500;margin:0!important;padding:0!important;line-height:1.2;white-space:nowrap!important;overflow:visible!important}.zz-filter-segment ion-segment-button:after{z-index:1002!important}.zz-filter-segment ion-segment-button.ion-activatable{overflow:visible!important;contain:none}.zz-filter-segment ion-label{font-size:14px}.zz-filter-label{font-size:12px;font-weight:500;text-transform:none;letter-spacing:normal;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}@media (min-width: 768px){.zz-filter-segment{width:100%}}.zz-booking-confirm-modal{--width: 92%;--max-width: 420px;--height: 60vh;--max-height: 85vh;--border-radius: var(--app-radius-lg);--box-shadow: 0 20px 60px rgba(0, 0, 0, .2);--backdrop-opacity: .75;--background: #fff}.zz-booking-confirm-modal::part(backdrop){background-color:rgba(0,0,0,.7);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.zz-booking-confirm-modal ion-header{padding:0;margin:0}.zz-booking-confirm-modal ion-toolbar,.zz-date-picker-modal ion-toolbar{--border-width: 0 0 1px 0;--border-color: #eef1f6;--background: #fff;--min-height: 44px;--padding-top: 0;--padding-bottom: 0;margin-top:0!important;padding-top:0!important}.zz-booking-confirm-modal ion-title{font-size:18px;font-weight:700;color:#111;padding:0;margin:0;display:flex;align-items:center;justify-content:center;height:44px}.zz-booking-confirm-modal ion-buttons ion-button{--padding-start: 8px;--padding-end: 8px;--color: #6f7a8c}.zz-booking-confirm-modal ion-content{--background: #fff;height:100%}.zz-booking-confirm-modal ion-content.ion-padding{--background: #fff;--padding: 20px}.zz-booking-confirm-modal ion-chip{--background: #f8f9fa;--color: #6f7a8c;font-size:12px;font-weight:500;height:28px;border-radius:14px}.zz-booking-confirm-modal ion-chip[color=primary]{--background: rgba(var(--ion-color-primary-rgb), .1);--color: var(--ion-color-primary)}.zz-booking-confirm-modal ion-chip[color=secondary]{--background: rgba(99, 102, 241, .1);--color: #6366f1}.zz-booking-confirm-modal ion-chip[color=success]{--background: rgba(34, 197, 94, .1);--color: #22c55e}.zz-date-picker-modal{--width: 95%;--max-width: 360px;--height: 580px;--max-height: 90vh;--border-radius: var(--app-radius-lg);--box-shadow: 0 20px 60px rgba(0, 0, 0, .2);--backdrop-opacity: .75;--background: #fff}.zz-date-picker-modal ion-header{padding:0;margin:0}.zz-date-picker-modal ion-content{--background: #fff;height:100%}.zz-date-picker-modal ion-content.ion-padding{--background: #fff;--padding: 8px}.zz-date-picker-modal ion-datetime{margin:0 auto;width:100%;--calendar-background: #fff;--calendar-color: #333;--calendar-width: 100%;--calendar-height: auto;--calendar-border-radius: 8px;--calendar-selected-background: var(--ion-color-primary);--calendar-selected-color: #fff;--calendar-selected-border-radius: 50%;--calendar-today-background: rgba(var(--ion-color-primary-rgb), .15);--calendar-today-color: var(--ion-color-primary);--calendar-today-font-weight: 700;--calendar-weekdays-color: #64748b;--calendar-weekdays-font-size: 11px;--calendar-weekdays-font-weight: 600;--calendar-day-color: #334155;--calendar-day-font-size: 13px;--calendar-day-font-weight: 500;--calendar-day-padding: 2px;--calendar-outside-month-color: #cbd5e1;--calendar-outside-month-opacity: .6;--calendar-month-color: #1e293b;--calendar-month-font-size: 14px;--calendar-month-font-weight: 700;--calendar-year-color: #64748b;--calendar-year-font-size: 13px;--calendar-arrow-color: #64748b;--calendar-arrow-size: 20px;--calendar-arrow-opacity: .8;--calendar-divider-color: #e2e8f0;--calendar-transition: all .2s ease;--calendar-grid-color: rgba(226, 232, 240, .5);--calendar-grid-width: 1px}.zz-date-picker-modal ion-datetime::part(day){min-height:32px;min-width:32px;border-radius:50%;transition:all .2s ease}.zz-date-picker-modal ion-datetime::part(month-year){font-size:14px;font-weight:700;color:#1e293b;margin:4px 0}.zz-date-picker-modal ion-title{font-size:16px;font-weight:600;color:#111;padding:0;margin:0;display:flex;align-items:center;justify-content:center;height:44px}.zz-date-picker-modal ion-buttons ion-button{--padding-start: 8px;--padding-end: 8px;--color: #6f7a8c;--font-size: 13px;--font-weight: 500;--border-radius: 8px;--padding-top: 4px;--padding-bottom: 4px;transition:all .2s ease}.zz-date-picker-modal ion-button{--border-radius: var(--app-radius-lg);--height: 32px;--font-size: 13px;--font-weight: 600;--box-shadow: none;--padding-start: 12px;--padding-end: 12px;transition:all .2s ease}.zz-date-picker-modal ion-datetime::part(day){border-radius:50%;transition:all .2s ease}.zz-date-picker-modal ion-datetime::part(day):hover:not(.calendar-day-disabled):not(.calendar-day-outside-month){background-color:rgba(var(--ion-color-primary-rgb),.1);transform:translateY(-1px)}.zz-date-picker-modal ion-datetime::part(day.calendar-day-selected){box-shadow:0 2px 8px rgba(56,194,177,.3);transform:scale(1.1)}.zz-date-picker-modal ion-datetime::part(day.calendar-day-today){border:2px solid var(--ion-color-primary);font-weight:700}.zz-date-picker-modal ion-datetime::part(arrow){border-radius:50%;padding:6px;transition:all .2s ease}.zz-date-picker-modal ion-datetime::part(arrow):hover{background-color:rgba(100,116,139,.1);opacity:1;transform:scale(1.1)}.zz-date-picker-modal ion-datetime::part(month-year){font-size:14px;font-weight:700;color:#1e293b;margin:6px 0}.zz-date-picker-modal ion-datetime::part(weekday){font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;padding:4px 0}.zz-date-picker-modal ion-datetime::part(day-number){font-size:13px;font-weight:500;min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.zz-booking-confirm-modal ion-list{background:transparent}.zz-booking-confirm-modal ion-item{--background: #fff;--border-radius: var(--app-radius-md);margin:0;--inner-padding-start: 16px;--inner-padding-end: 16px;--min-height: 56px}.zz-booking-notice{margin-top:12px;color:#666;font-size:14px;line-height:1.4}.zz-modal-coach-info{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px;background:#f8f9fa;border-radius:12px}.zz-modal-coach-details{flex:1}.zz-modal-coach-name{font-weight:600;font-size:15px;color:#111}.zz-modal-coach-tags{color:#6f7a8c;font-size:13px}.zz-modal-course-cover{position:relative;height:180px;overflow:hidden;border-radius:12px;margin-bottom:16px}.zz-modal-course-cover img{width:100%;height:100%;object-fit:cover}.zz-modal-course-gradient{position:absolute;bottom:0;left:0;right:0;height:70px;background:linear-gradient(to top,rgba(0,0,0,.7),transparent)}.zz-modal-title{margin:0 0 12px;font-size:20px;font-weight:700;color:#111;text-align:center}.zz-modal-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;justify-content:center}.zz-modal-section-title{margin:0 0 8px;font-size:16px;font-weight:600;color:#111}.zz-modal-section{margin-bottom:16px}.zz-modal-section-content{margin:0 0 16px;line-height:1.6;color:#6f7a8c;font-size:14px}.zz-modal-booking-details{background:#fff;border-radius:12px;padding:16px;box-shadow:var(--app-shadow);margin-bottom:16px}.zz-modal-detail-row{margin-bottom:10px}.zz-modal-detail-row:last-child{margin-bottom:0}.zz-modal-detail-label{font-size:14px;color:#111;font-weight:600;margin-bottom:4px}.zz-modal-detail-value{font-size:13px;color:#6f7a8c}.zz-modal-notice{padding:12px;background:#fff4e5;border-radius:12px;margin-bottom:20px;border:1px solid #fed7aa}.zz-modal-notice-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.zz-modal-notice-title{font-weight:600;color:#f19b1a;font-size:14px}.zz-modal-notice-content{margin:0;font-size:13px;line-height:1.4;color:#92400e}.zz-modal-confirm-btn{height:40px;font-size:14px;font-weight:600;margin-top:8px}.zz-checkin-status{display:inline-flex;align-items:center;gap:4px;margin-top:6px;color:var(--ion-color-primary);font-weight:700;font-size:12px}.zz-checkin-icon{width:16px;height:16px;color:var(--ion-color-primary)}.zz-booking-confirm-modal .zz-modal-content{display:flex;flex-direction:column;height:100%;padding:12px 16px}.zz-booking-confirm-modal .zz-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #eef1f6}.zz-booking-confirm-modal .zz-modal-body{flex:1;padding:24px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.zz-booking-confirm-modal .zz-alert-icon{width:60px;height:60px;color:#f59e0b;margin-bottom:16px}.zz-booking-confirm-modal .zz-modal-message{font-size:16px;color:#334155;line-height:1.5}.zz-booking-confirm-modal .zz-modal-footer{display:flex;gap:12px;padding:16px;border-top:1px solid #eef1f6}.zz-booking-confirm-modal .zz-modal-footer ion-button{flex:1;height:40px;font-size:14px;font-weight:600}.zz-modal-close{padding:0;--size: 36px;--border-radius: 50%}.zz-course-detail-modal{--width: 95%;--max-width: 500px;--max-height: calc(100% - var(--ion-safe-area-top) - 40px);--border-radius: var(--app-radius-lg);--box-shadow: 0 20px 60px rgba(0, 0, 0, .15);--backdrop-opacity: .6;--background: #fff;align-items:center;margin-top:var(--ion-safe-area-top)}.zz-course-detail-modal .zz-modal-content{display:flex;flex-direction:column;height:100%}.zz-course-detail-modal ion-header{padding-top:0!important}.zz-course-detail-modal ion-toolbar{--min-height: 44px;--padding-top: 0;--padding-bottom: 0;--ion-safe-area-top: 0;padding-top:0!important}.zz-course-detail-modal ion-title{padding-top:0;padding-bottom:0;font-size:18px;font-weight:700}.zz-course-detail-modal ion-content{--padding-start: 20px;--padding-end: 20px;--padding-top: 12px;--padding-bottom: 12px}.zz-course-detail-modal .zz-modal-footer{display:flex;gap:12px;padding:12px 20px;border-top:1px solid #eef1f6}.zz-course-detail-modal .zz-modal-footer ion-button{flex:1;height:40px;font-size:14px;font-weight:600}.zz-course-detail{display:flex;flex-direction:column;gap:16px}.zz-course-detail .zz-course-title{font-size:20px;font-weight:700;color:#111;margin:0;padding-bottom:8px}.zz-course-info-list{background:#f8f9fa;border-radius:12px;padding:12px}.zz-course-info-list ion-item{--background: transparent;--inner-padding-start: 8px;--inner-padding-end: 8px;--min-height: 48px;--border-radius: 8px;margin-bottom:8px}.zz-course-info-list ion-item:last-child{margin-bottom:0}.zz-course-info-list ion-item ion-icon{width:20px;height:20px;color:#6f7a8c;margin-right:12px}.zz-course-info-list .zz-label-title{font-size:13px;color:#6f7a8c;display:inline-block;margin-right:12px;min-width:40px}.zz-course-info-list ion-text{font-size:14px;color:#111}.zz-coach-record-detail{background:#fff8f6;border:1px solid #ffece9;border-left:4px solid #ff8a7a;border-radius:12px;padding:16px;margin-top:8px}.zz-record-title{font-size:15px;font-weight:700;color:#ff8a7a;margin:0 0 12px;display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.5px}.zz-record-item{margin-bottom:12px}.zz-record-item:last-child{margin-bottom:0}.zz-record-label{font-size:12px;font-weight:700;color:#4a4a4a;margin-bottom:4px;opacity:.8}.zz-record-content{font-size:14px;color:#2c2c2c;line-height:1.6;background:rgba(255,255,255,.5);padding:8px;border-radius:6px}.zz-status-booked{color:var(--ion-color-primary);font-weight:600}.zz-status-completed{color:#6f7a8c;font-weight:600}.zz-pain-checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;width:100%}.zz-pain-checkbox-item{display:flex;align-items:center;gap:6px;padding:4px 0}.zz-course-description,.zz-course-notes{margin-top:8px}.zz-course-description h4,.zz-course-notes h4{font-size:16px;font-weight:600;color:#111;margin:0 0 8px}.zz-course-description p,.zz-course-notes p{font-size:14px;color:#6f7a8c;line-height:1.6;margin:0}.zz-course-notes{background:#fff4e5;padding:12px;border-radius:8px;border:1px solid #fed7aa}.zz-course-notes h4{color:#d97706}.zz-course-notes p{color:#92400e}.zz-section-divider{height:1px;background:linear-gradient(to right,transparent,#eef1f6,transparent);margin:20px 0;width:100%}.zz-coach-tab-bar{--background: #ffffff;--border-top: 1px solid #eef1f6;--color: #7a8599;--color-selected: var(--ion-color-primary);box-shadow:0 -2px 10px rgba(0,0,0,.05);height:60px}.zz-coach-tab-bar ion-tab-button{--color: #7a8599;--color-selected: var(--ion-color-primary);--padding-top: 8px;--padding-bottom: 8px;--ripple-color: rgba(var(--ion-color-primary-rgb), .2);transition:all .2s ease}.zz-coach-tab-bar ion-tab-button:hover{--color: var(--ion-color-primary)}.zz-coach-tab-bar ion-tab-button.tab-selected{--color: var(--ion-color-primary)}.zz-coach-tab-bar .zz-coach-tab-icon{font-size:24px;transition:transform .2s ease}.zz-coach-tab-bar ion-tab-button.tab-selected .zz-coach-tab-icon{transform:translateY(-2px);font-size:26px}.zz-coach-tab-bar .zz-coach-tab-label{font-size:12px;font-weight:600;margin-top:2px;letter-spacing:.3px;line-height:1.4;min-height:16px;display:flex;align-items:center;justify-content:center}.zz-tab-bar{--background: #ffffff;--border-top: 1px solid #eef1f6;--color: #7a8599;--color-selected: var(--ion-color-primary);box-shadow:0 -2px 10px rgba(0,0,0,.05);height:50px}.zz-tab-bar ion-tab-button{--color: #7a8599;--color-selected: var(--ion-color-primary);--padding-top: 6px;--padding-bottom: 6px;--ripple-color: rgba(var(--ion-color-primary-rgb), .2);transition:all .2s ease}.zz-tab-bar ion-tab-button:hover{--color: var(--ion-color-primary)}.zz-tab-bar ion-tab-button.tab-selected{--color: var(--ion-color-primary)}.zz-tab-bar .zz-tab-icon{font-size:20px;transition:transform .2s ease}.zz-tab-bar ion-tab-button.tab-selected .zz-tab-icon{transform:translateY(-1px);font-size:22px}.zz-tab-bar .zz-tab-label{font-size:11px;font-weight:600;margin-top:2px;letter-spacing:.3px;line-height:1.4;min-height:16px;display:flex;align-items:center;justify-content:center}.zz-coach-tab-bar{--background: #ffffff;--border-top: 1px solid #eef1f6;--color: #7a8599;--color-selected: var(--ion-color-primary);box-shadow:0 -2px 10px rgba(0,0,0,.05);height:50px}.zz-coach-tab-bar ion-tab-button{--color: #7a8599;--color-selected: var(--ion-color-primary);--padding-top: 6px;--padding-bottom: 6px}.zz-coach-tab-bar .zz-coach-tab-icon{font-size:20px}.zz-coach-tab-bar .zz-coach-tab-label{font-size:11px;font-weight:600;margin-top:2px}.zz-admin-tab-bar{--background: #ffffff;--border-top: 1px solid #eef1f6;--color: #7a8599;--color-selected: var(--ion-color-primary);box-shadow:0 -2px 10px rgba(0,0,0,.05);height:50px}.zz-admin-tab-bar ion-tab-button{--color: #7a8599;--color-selected: var(--ion-color-primary);--padding-top: 6px;--padding-bottom: 6px;--ripple-color: rgba(var(--ion-color-primary-rgb), .2);transition:all .2s ease}.zz-admin-tab-bar ion-tab-button:hover{--color: var(--ion-color-primary)}.zz-admin-tab-bar ion-tab-button.tab-selected{--color: var(--ion-color-primary)}.zz-admin-tab-bar .zz-admin-tab-icon{font-size:20px;transition:transform .2s ease}.zz-admin-tab-bar ion-tab-button.tab-selected .zz-admin-tab-icon{transform:translateY(-1px);font-size:22px}.zz-admin-tab-bar .zz-admin-tab-label{font-size:11px;font-weight:600;margin-top:2px;letter-spacing:.3px;line-height:1.4;min-height:16px;display:flex;align-items:center;justify-content:center}.zz-checkin-modal{--width: 95%;--max-width: 500px;--max-height: calc(90vh - 150px) ;--border-radius: var(--app-radius-lg);--box-shadow: 0 20px 60px rgba(0, 0, 0, .15);--backdrop-opacity: .6;--background: #fff}.zz-checkin-modal ion-header{--background: #fff;--border-width: 0;padding-top:0!important}.zz-checkin-modal ion-toolbar{--background: #fff;--border-width: 0;--min-height: 44px;min-height:44px;padding-top:0!important;--padding-top: 0 !important}.zz-checkin-modal ion-content{--background: #f6f8fb}.zz-checkin-header-content{padding:0 16px 16px;background:#fff;border-bottom-left-radius:24px;border-bottom-right-radius:24px;box-shadow:0 4px 12px rgba(0,0,0,.03);margin-bottom:16px;text-align:center}.zz-checkin-title{font-size:20px;font-weight:800;color:#111;margin-bottom:4px}.zz-checkin-sub{font-size:13px;color:#6f7a8c}.zz-student-list{padding:0 16px;background:transparent}.zz-student-item{--background: #fff;--border-radius: 16px;margin-bottom:12px;box-shadow:var(--app-shadow);--padding-start: 12px;--padding-end: 12px;--padding-top: 8px;--padding-bottom: 8px}.zz-student-info h3{font-weight:700;font-size:16px;margin-bottom:4px}.zz-student-info p{font-size:12px;color:#6f7a8c}.zz-checkin-segment{background:#f0f2f5;border-radius:999px;padding:3px;height:36px;min-height:36px}.zz-checkin-segment ion-segment-button{--indicator-color: #fff;--indicator-box-shadow: 0 2px 4px rgba(0,0,0,.1);--border-radius: 999px;--color: #6f7a8c;--color-checked: #111;min-height:30px;min-width:50px;font-size:12px;font-weight:600}.zz-checkin-segment-present.segment-button-checked{--color-checked: #10b981}.zz-checkin-segment-late.segment-button-checked{--color-checked: #f59e0b}.zz-checkin-segment-absent.segment-button-checked{--color-checked: #ef4444}.zz-checkin-footer{background:#fff;padding:12px 16px;border-top:1px solid #f0f2f5}.zz-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.zz-section-header h3{font-size:18px;font-weight:700;margin:0;color:#111}.zz-empty-block{padding:24px;text-align:center;color:#999;font-size:14px;background:#fff;border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow)}.zz-stats-card{background:linear-gradient(135deg,var(--ion-color-primary) 0%,var(--ion-color-primary-shade) 100%);border-radius:var(--app-radius-lg);padding:20px;display:flex;justify-content:space-around;align-items:center;color:#fff;box-shadow:0 8px 20px rgba(55,194,177,.25);margin-bottom:24px}.zz-stats-item{text-align:center}.zz-stats-value{font-size:28px;font-weight:800;line-height:1.2;margin-bottom:4px}.zz-stats-label{font-size:13px;opacity:.9;font-weight:500}.zz-stats-divider{width:1px;height:32px;background:rgba(255,255,255,.3)}.my-bookings-page .zz-filter-toolbar{padding-top:0!important;padding-bottom:0!important;min-height:36px!important;--min-height: 36px !important}.my-bookings-page .zz-filter-segment{min-height:32px!important;height:32px!important;margin-top:2px!important;margin-bottom:2px!important}.my-bookings-page .zz-filter-segment ion-segment-button{min-height:28px!important;--indicator-height: 28px !important;padding-top:2px!important;padding-bottom:2px!important;font-size:12px!important}.my-bookings-page .zz-filter-segment ion-segment-button::part(native){min-height:28px!important}.my-bookings-page ion-header>.zz-filter-toolbar:first-child{padding-top:calc(env(safe-area-inset-top) + 2px)!important;min-height:calc(36px + env(safe-area-inset-top))!important}.zz-filter-modal{--width: 90%;--max-width: 340px;--height: 500px;--max-height: 80vh;--border-radius: var(--app-radius-lg);--box-shadow: 0 20px 60px rgba(0, 0, 0, .2);--backdrop-opacity: .6;--background: #fff}.zz-right-drawer-modal{--width: 85%;--max-width: 320px;--height: 100%;--border-radius: 0;align-items:flex-end}.zz-right-drawer-modal::part(content){position:absolute;right:0;top:0;bottom:0;border-radius:0;box-shadow:-4px 0 16px rgba(0,0,0,.1);height:100%}.zz-drawer-section-header{background:#f8fafc;font-size:14px;font-weight:600;color:#64748b;padding-top:16px;padding-bottom:8px;min-height:auto;--min-height: 32px}.zz-drawer-footer{display:flex;gap:12px;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));padding-right:calc(12px + env(safe-area-inset-right));padding-left:calc(12px + env(safe-area-inset-left));background:#fff;border-top:1px solid #f1f5f9}.zz-right-drawer-modal ion-content{--padding-start: 10px;--padding-end: 10px;--padding-top: 10px;--padding-bottom: 10px}.zz-drawer-footer ion-button{flex:1;margin:0;height:36px;font-weight:600;font-size:14px}.zz-filter-modal ion-header{--background: #fff;--border-width: 0;margin-top:0!important;padding-top:0!important}.zz-filter-modal ion-toolbar{--background: #fff;--border-width: 0;--padding-top: 10px;--padding-bottom: 0;--min-height: 44px;padding-top:10px!important;margin-top:0!important;min-height:54px!important}.zz-filter-modal ion-title{font-size:16px;font-weight:700;color:#111}.zz-filter-modal ion-content{--background: #fff}.zz-filter-modal ion-list{padding:0}.zz-filter-modal ion-item{--background: #fff;--min-height: 48px;--border-color: #e2e8f0;--inner-border-width: 0 0 1px 0;font-size:14px}.zz-filter-modal ion-item:last-child{--inner-border-width: 0}.zz-filter-modal ion-checkbox{--size: 20px;margin-inline-start:0}
