.zz-linkified-text{white-space:pre-wrap;overflow-wrap:anywhere}.zz-linkified-text a{color:#6d5b43;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.zz-linkified-text a:hover{color:#413629}.zz-linkified-text a:focus-visible{outline:2px solid #81786b;outline-offset:3px;border-radius:2px}.zz-private-staffing-summary{display:flex;flex-wrap:wrap;gap:0 8px;min-width:0;color:inherit;font-size:11px;font-weight:500;line-height:13px}.zz-private-staffing-summary>span{min-width:0;overflow-wrap:anywhere}.zz-course-card.zz-course-card-private{height:auto;min-height:150px}.zz-course-card.zz-course-card-private .zz-private-staffing-summary{justify-content:center;margin:2px 0 6px;flex-shrink:0}.member-cancellation-history{box-sizing:border-box;width:100%;min-width:0;padding:14px;border:1px solid #e4e1d9;border-radius:10px;background:#faf9f6;color:#625c52;overflow-wrap:anywhere;text-align:left}.member-cancellation-history h3{margin:0 0 12px;color:#4a463e;font-size:14px;font-weight:600}.member-cancellation-history p{margin:5px 0 0;font-size:12px;line-height:1.6;white-space:pre-wrap}.member-cancellation-history dl{margin:0;font-size:13px;line-height:1.6}.member-cancellation-history dl>div{display:flex;flex-wrap:wrap;gap:3px 12px;margin:7px 0}.member-cancellation-history dt{flex:0 0 112px;color:#8a8276}.member-cancellation-history dd{flex:1 1 150px;min-width:0;margin:0}.member-cancellation-history-notes{margin-top:10px;padding-top:8px;border-top:1px solid #e9e5dd}.member-cancellation-history-notes h4{margin:0 0 6px;font-size:12px;font-weight:600}.member-cancellation-history .member-cancellation-history-unavailable{margin:0;color:#8a8276}.member-cancellation-history.is-compact{margin:8px 0 10px;padding:8px 10px;border-radius:7px}.member-cancellation-history.is-compact p{margin:0}.member-cancellation-history.is-compact p+p{margin-top:3px}.member-cancellation-preview{box-sizing:border-box;width:100%;min-width:0;margin-top:18px;padding:14px;border:1px solid #e4e1d9;border-radius:10px;background:#faf9f6;color:#625c52;text-align:left;overflow-wrap:anywhere}.member-cancellation-preview h4{margin:0 0 12px;color:#4a463e;font-size:14px;font-weight:600}.member-cancellation-preview p{margin:6px 0 0;font-size:12px;line-height:1.6;white-space:pre-wrap}.member-cancellation-preview dl{margin:0;font-size:13px;line-height:1.6}.member-cancellation-preview dl>div{display:flex;flex-wrap:wrap;gap:3px 12px;margin:7px 0}.member-cancellation-preview dt{flex:0 0 112px;color:#8a8276}.member-cancellation-preview dd{flex:1 1 140px;min-width:0;margin:0}.member-cancellation-preview-notes{margin-top:10px;padding-top:8px;border-top:1px solid #e9e5dd}.member-cancellation-preview-notes h5{margin:0 0 6px;font-size:12px;font-weight:600}.member-cancellation-preview .member-cancellation-preview-approval{margin-bottom:12px;color:#805916}.member-cancellation-preview .member-cancellation-preview-error{color:#b42318}.member-cancellation-preview button{margin-top:12px;padding:7px 12px;border:1px solid #c7b78c;border-radius:6px;background:#fff;color:#74613c;font:inherit;font-size:13px;cursor:pointer}.member-cancellation-preview button:disabled{cursor:default;opacity:.5}ion-modal.zz-member-cancellation-modal{--height: min(84vh, 760px);--max-height: 84vh}.zz-member-cancellation-modal .zz-modal-content{display:flex;flex-direction:column;box-sizing:border-box;height:100%;min-height:0}.zz-member-cancellation-modal .zz-modal-content>.zz-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;justify-content:flex-start;padding:16px 4px}.zz-member-cancellation-modal .zz-modal-header,.zz-member-cancellation-modal .zz-modal-footer{flex:0 0 auto}.zz-member-cancellation-modal .zz-alert-icon{flex-shrink:0}.zz-member-cancellation-modal .zz-cancellation-notice{margin:14px 0 0;color:#6c6253;font-size:13px;line-height:1.6}.zz-member-cancellation-modal .zz-cancellation-error{margin:12px 0 0;color:#b42318;font-size:13px;line-height:1.6}.member-cancellation-result{box-sizing:border-box;width:100%;min-width:0;color:#625c52;text-align:left;overflow-wrap:anywhere}.member-cancellation-result>h3{margin:0 0 16px;color:#4a463e;font-size:16px;font-weight:600;line-height:1.6}.member-cancellation-result-unavailable{margin:0;padding:14px;border:1px solid #e4e1d9;border-radius:10px;background:#faf9f6;font-size:14px;line-height:1.7}.member-cancellation-result-waitlist{margin:0;padding:14px;border:1px solid #e4e1d9;border-radius:10px;background:#faf9f6;font-size:14px;line-height:1.6}.member-cancellation-result-waitlist>div{display:flex;flex-wrap:wrap;gap:3px 12px;margin:7px 0}.member-cancellation-result-waitlist dt{flex:0 0 112px;color:#8a8276}.member-cancellation-result-waitlist dd{flex:1 1 140px;min-width:0;margin:0}.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}}.member-lifecycle{margin:16px 0;padding:20px;border:1px solid #eceae6;border-radius:var(--app-radius-lg, 12px);background:#fff;color:var(--ion-text-color, #2c2c2c);color-scheme:light;box-shadow:var(--app-shadow)}.member-lifecycle h3{margin:0 0 18px;font-size:17px;font-weight:650}.lifecycle-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px 20px;margin-bottom:16px;padding:16px;border-radius:10px;background:#f7f6f3;font-size:13px;line-height:1.7}.lifecycle-summary strong{color:var(--ion-color-primary)}.member-lifecycle fieldset{border:0;padding:0;margin:0;min-width:0}.member-lifecycle details{border-top:1px solid #eeece8;padding:16px 0}.member-lifecycle summary{cursor:pointer;font-size:14px;font-weight:600;line-height:1.7}.member-lifecycle form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px;margin-top:12px}.member-lifecycle label{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:13px;color:#68635d}.member-lifecycle input,.member-lifecycle select,.member-lifecycle textarea{width:100%;min-width:0;min-height:44px;box-sizing:border-box;border:1px solid #e1ded8;border-radius:var(--app-radius-md, 8px);padding:10px 12px;color:var(--ion-text-color, #2c2c2c);background:#faf9f7;font:inherit}.member-lifecycle textarea{min-height:76px;resize:vertical}.member-lifecycle button{border:1px solid #ddd8d0;border-radius:var(--app-radius-md, 8px);padding:10px 16px;color:var(--ion-color-primary, #333);background:#f4f2ee;font:inherit;font-size:13px;font-weight:600;cursor:pointer;align-self:end;min-height:44px}.member-lifecycle form button{border-color:var(--ion-color-primary, #333);background:var(--ion-color-primary, #333);color:var(--ion-color-primary-contrast, #fff)}.member-lifecycle :is(input,select,textarea,button,summary):focus-visible{outline:2px solid var(--ion-color-primary, #333);outline-offset:2px}.member-lifecycle button:disabled{opacity:.5;cursor:default}.member-lifecycle p{font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.member-lifecycle article{padding:14px 0;border-bottom:1px solid #eeece8;font-size:14px}.member-lifecycle [role=alert]{color:#ab2929}.member-lifecycle [role=status]{color:#246747}.member-lifecycle .trial-ticket-settings-form{grid-template-columns:minmax(0,1fr)}.trial-ticket-settings-field{min-width:0}.lifecycle-select-field{min-width:0;align-self:end}.lifecycle-select-label{display:block;margin-bottom:8px;color:#68635d;font-size:13px;line-height:1.4}.lifecycle-field-wide{grid-column:1 / -1}.trial-ticket-select,.member-lifecycle-select{width:100%;min-width:0;height:44px;min-height:44px;max-height:44px;box-sizing:border-box;padding:0;--padding-top: 0;--padding-bottom: 0;--padding-start: 12px;--padding-end: 12px;border:0;box-shadow:inset 0 0 0 1px #e1ded8;border-radius:var(--app-radius-md, 8px);background:#faf9f7;color:var(--ion-text-color, #2c2c2c);font-size:16px}.trial-ticket-select::part(text),.member-lifecycle-select::part(text){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:22px}.member-lifecycle-select{transition:box-shadow .15s ease,background-color .15s ease}.member-lifecycle-select:not(.select-disabled):hover{box-shadow:inset 0 0 0 1px #b9b1a5;background:#f6f4f0}.member-lifecycle-select.select-disabled{opacity:.55}.trial-ticket-select::part(icon),.member-lifecycle-select::part(icon){flex-shrink:0;color:#817b73;opacity:1}.trial-ticket-select:focus-within,.member-lifecycle-select:focus-within{outline:2px solid var(--ion-color-primary, #333);outline-offset:2px}.member-lifecycle .trial-ticket-selection-info{margin:8px 2px 0;color:#777}.trial-ticket-picker-sheet,.member-lifecycle-picker-sheet{--background: #fff;--button-background: #fff;--button-background-selected: #f4f2ee;--button-color: #2c2c2c;--button-color-selected: var(--ion-color-primary, #333);--color: #777;--max-width: 520px;color-scheme:light}.trial-ticket-picker-sheet .action-sheet-button,.member-lifecycle-picker-sheet .action-sheet-button{height:auto;min-height:60px;padding-top:14px;padding-bottom:14px}.trial-ticket-picker-sheet .action-sheet-button-inner,.member-lifecycle-picker-sheet .action-sheet-button-inner{white-space:pre-line;overflow-wrap:anywhere;line-height:1.6;font-size:16px}.member-lifecycle-picker-sheet .action-sheet-selected{font-weight:650}@media (max-width: 600px){.member-lifecycle{padding:16px}.member-lifecycle form{grid-template-columns:minmax(0,1fr)}.member-lifecycle input,.member-lifecycle select,.member-lifecycle textarea{font-size:16px}}.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-withdraw-reason{margin:8px 0 0;color:#9f2d20;font-size:13px;line-height:1.5}.zz-coach-week-grid .zz-week-dates{width:calc(100% - 16px);margin:0 auto;touch-action:pan-y;user-select:none;-webkit-user-select:none}.zz-coach-week-grid .zz-date-select-item{-webkit-touch-callout:none}.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%;box-sizing:border-box}@media (max-width: 767px){.zz-coach-week-grid{--zz-mobile-day-width: calc( (100vw - 82px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)) / 3 );--zz-mobile-day-width: calc( (100dvw - 82px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)) / 3 )}.zz-coach-week-grid .zz-day-column{flex:0 0 var(--zz-mobile-day-width);width:var(--zz-mobile-day-width);min-width:var(--zz-mobile-day-width);max-width:var(--zz-mobile-day-width)}}@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-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 .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-coach-week-grid .zz-coach-private-card{box-sizing:border-box;display:flex;flex-direction:column;gap:0;padding:2px 4px}.zz-coach-week-grid .zz-coach-private-card .course-title{flex:0 0 auto;line-height:14px;margin-bottom:0}.zz-coach-week-grid .course-title-with-trial{display:flex;align-items:center;gap:3px}.zz-coach-week-grid .course-title-with-trial .course-title-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.zz-coach-week-grid .course-trial-badge{flex:0 0 auto;padding:0 3px;border-radius:3px;background:#ff4961;color:#fff;font-size:9px;font-weight:600;line-height:12px}.zz-coach-week-grid .zz-coach-card-staffing{flex:0 0 auto;min-width:0;margin:0;font-size:11px;line-height:13px;color:inherit}.zz-coach-week-grid .zz-coach-private-card .course-time{flex:0 0 auto;line-height:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-config-content{--background: var(--app-bg)}.admin-config-body{max-width:1008px;margin:0 auto;padding:24px;color:var(--ion-text-color)}.admin-config-intro{margin-bottom:24px}.admin-config-intro h1{margin:0;font-size:18px;font-weight:650}.admin-config-intro p{margin:6px 0 0;color:#777;font-size:13px;line-height:1.7}.admin-config-group{margin-bottom:18px;padding:20px;border:1px solid #eceae6;border-radius:12px;background:#fff;box-shadow:var(--app-shadow)}.admin-config-group-heading{margin-bottom:16px}.admin-config-group-heading h2{margin:0;color:#39352f;font-size:16px;font-weight:650}.admin-config-group-heading p{margin:6px 0 0;color:#888;font-size:12px;line-height:1.7}.admin-config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.admin-config-entry{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0;padding:16px;border:1px solid #eeeae4;border-radius:10px;background:#faf9f7;color:#39352f;text-align:left;font:inherit;cursor:pointer;transition:background .15s,border-color .15s}.admin-config-entry-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.admin-config-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#efede8;color:#81786b}.admin-config-icon ion-icon{font-size:22px}.admin-config-arrow{flex-shrink:0;color:#a59b8e;font-size:16px}.admin-config-entry-title{font-size:14px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.admin-config-entry-description{color:#817b73;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.admin-config-entry:focus-visible{outline:2px solid #81786b;outline-offset:3px}.admin-config-entry:active{background:#efede8;border-color:#c2baaf}@media (hover: hover){.admin-config-entry:hover{background:#f4f1eb;border-color:#c2baaf}}@media (max-width: 600px){.admin-config-body{padding:18px 14px}.admin-config-intro{margin-bottom:20px}.admin-config-group{padding:16px}.admin-config-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-config-entry{padding:12px}}@media (prefers-reduced-motion: reduce){.admin-config-entry{transition:none}}.store-management-page ion-button,.store-detail-modal ion-button{--border-radius: var(--app-radius-md);font-weight:600;min-height:40px}.store-search-toolbar{--padding-bottom: 10px}.store-search{max-width:1008px;margin:0 auto;padding:4px 24px;--background: var(--app-bg);--border-radius: var(--app-radius-lg);--box-shadow: none;--placeholder-color: #777;--icon-color: #817b73}.store-management-content,.store-detail-content{--background: var(--app-bg)}.store-management-body{max-width:1008px;margin:0 auto;padding:24px}.store-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.store-list-heading h2{display:flex;align-items:center;gap:10px;margin:0;font-size:18px;font-weight:650}.store-list-heading h2 span{padding:3px 9px;border-radius:999px;background:var(--ion-color-tertiary);color:#68635d;font-size:12px}.store-list-heading p,.store-detail-hero p{margin:6px 0 0;font-size:13px;color:#777;line-height:1.7}.store-list-heading ion-button{flex-shrink:0;margin:0}.store-list{padding:0;background:transparent}.store-list ion-item-sliding{margin-bottom:12px;border:1px solid #eceae6;border-radius:var(--app-radius-lg);background:#fff;box-shadow:var(--app-shadow)}.store-list ion-item.store-list-item{margin:0;box-shadow:none;--padding-start: 18px;--inner-padding-end: 16px;--padding-top: 8px;--padding-bottom: 8px;--detail-icon-color: #817b73}.store-icon{flex-shrink:0;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--ion-color-tertiary);color:#81786b;margin-right:16px}.store-icon ion-icon{font-size:24px}.store-list-label{min-width:0;white-space:normal!important}.store-list-label h2{margin:0 0 7px;font-size:16px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.store-address{display:flex;align-items:flex-start;gap:5px;color:#777;font-size:13px;line-height:1.7}.store-address ion-icon{flex-shrink:0;margin-top:3px;font-size:16px}.store-address span{min-width:0;overflow-wrap:anywhere}.store-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;font-size:12px;line-height:1.6}.store-capacity{margin-right:6px;color:#777}.store-capacity strong{color:var(--ion-text-color);font-weight:600}.store-course-tag{padding:3px 9px;border-radius:6px;background:#f5f3ef;color:#68635d}.store-empty-state{padding:48px 20px;text-align:center;border:1px solid #eceae6;border-radius:var(--app-radius-lg);background:#fff}.store-empty-state>ion-icon{font-size:36px;color:#a59b8e}.store-empty-state h3{font-size:16px;margin:16px 0 8px}.store-empty-state p{color:#777;font-size:13px;line-height:1.7}.store-batch-actions{max-width:1008px;margin:0 auto;padding:8px 24px}.store-detail-modal{--width: min(720px, calc(100vw - 48px) );--height: min(820px, 90vh);--border-radius: 20px;--ion-background-color: #fff;--ion-item-background: #fff}.store-detail-modal ion-header{box-shadow:0 1px #eae8e4}.store-detail-close{min-width:72px;min-height:44px}.store-detail-body{padding:24px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.store-detail-hero{display:flex;align-items:center;gap:18px;margin-bottom:24px}.store-detail-hero .store-icon{width:64px;height:64px;border-radius:20px;margin:0}.store-detail-hero .store-icon ion-icon{font-size:28px}.store-detail-hero>div:last-child{min-width:0}.store-detail-hero h2{margin:0;font-size:22px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.store-detail-section{margin-bottom:18px;padding:20px;border:1px solid #eceae6;border-radius:var(--app-radius-lg);background:#fff;box-shadow:var(--app-shadow)}.store-detail-section:last-child{margin-bottom:0}.store-section-heading{margin-bottom:12px}.store-section-heading h3{margin:0;font-size:16px;font-weight:650}.store-section-heading p{margin:5px 0 0;font-size:12px;color:#777;line-height:1.6}.store-detail-section ion-list{padding:0;background:transparent}.store-detail-section ion-item{--background: #fff;--padding-start: 0;--inner-padding-end: 0;--padding-top: 6px;--padding-bottom: 6px}.store-detail-section ion-label[position=stacked]{font-size:13px;color:#777;transform:none;margin-bottom:8px}.store-detail-section ion-input,.store-detail-section ion-textarea{font-size:14px;--placeholder-color: #999;--placeholder-opacity: 1;--padding-start: 12px;--padding-end: 12px;border-radius:var(--app-radius-md);background:#faf9f7}.store-detail-section ion-textarea{--padding-top: 12px;--padding-bottom: 12px}.store-detail-modal.is-readonly ion-input,.store-detail-modal.is-readonly ion-textarea{background:transparent;--padding-start: 0}.store-course-field{margin-top:16px}.store-field-label{margin-bottom:10px;font-size:13px;color:#777}.store-course-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.store-course-options ion-checkbox{min-width:0;padding:14px;border:1px solid #eceae6;border-radius:var(--app-radius-md);font-size:14px;--size: 20px;--border-color: #c2baaf}.store-course-options ion-checkbox.is-selected{border-color:#c2baaf;background:#f5f3ef}.store-detail-modal.is-readonly .store-course-options ion-checkbox{opacity:1}@media (max-width: 600px){.store-search{padding:4px 14px}.store-management-body{padding:18px 14px}.store-list-heading{align-items:flex-start;gap:8px}.store-list-heading p{font-size:12px}.store-list ion-item.store-list-item{--padding-start: 12px;--inner-padding-end: 10px}.store-list-item .store-icon{width:40px;height:40px;border-radius:12px;margin-right:12px}.store-list-item ion-checkbox{margin-right:10px!important}.store-list-item ion-reorder{margin-inline:4px 0}.store-batch-actions{padding:8px 14px}.store-detail-modal{--width: 100%;--height: 100%;--border-radius: 0}.store-detail-body{padding:20px 14px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.store-detail-hero{gap:14px;margin-bottom:20px}.store-detail-hero h2{font-size:20px}.store-detail-section{padding:16px}.store-detail-section ion-input,.store-detail-section ion-textarea{font-size:16px}}.course-config-page ion-button,.course-detail-modal ion-button{--border-radius: var(--app-radius-md);font-weight:600;min-height:40px}.course-search-toolbar{--padding-bottom: 10px}.course-search{max-width:1008px;margin:0 auto;padding:4px 24px;--background: var(--app-bg);--border-radius: var(--app-radius-lg);--box-shadow: none;--placeholder-color: #777;--icon-color: #817b73}.course-config-content,.course-detail-content{--background: var(--app-bg)}.course-config-body{max-width:1008px;margin:0 auto;padding:24px}.course-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.course-list-heading h2{display:flex;align-items:center;gap:10px;margin:0;font-size:18px;font-weight:650}.course-list-heading h2 span{padding:3px 9px;border-radius:999px;background:var(--ion-color-tertiary);color:#68635d;font-size:12px}.course-list-heading p,.course-detail-hero p{margin:6px 0 0;font-size:13px;color:#777;line-height:1.7}.course-list-heading ion-button{flex-shrink:0;margin:0}.course-list{padding:0;background:transparent}.course-list ion-item-sliding{margin-bottom:12px;border:1px solid #eceae6;border-radius:var(--app-radius-lg);background:#fff;box-shadow:var(--app-shadow)}.course-list ion-item.course-list-item{margin:0;box-shadow:none;--padding-start: 18px;--inner-padding-end: 16px;--padding-top: 8px;--padding-bottom: 8px;--detail-icon-color: #817b73}.course-icon{flex-shrink:0;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--ion-color-tertiary);color:#81786b;margin-right:16px}.course-icon ion-icon{font-size:24px}.course-list-label{min-width:0;white-space:normal!important}.course-list-label h2{margin:0 0 7px;font-size:16px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.course-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;font-size:12px;line-height:1.6}.course-empty-state{padding:48px 20px;text-align:center;border:1px solid #eceae6;border-radius:var(--app-radius-lg);background:#fff}.course-empty-state>ion-icon{font-size:36px;color:#a59b8e}.course-empty-state h3{font-size:16px;margin:16px 0 8px}.course-empty-state p{color:#777;font-size:13px;line-height:1.7}.course-batch-actions{max-width:1008px;margin:0 auto;padding:8px 24px}.course-detail-modal{--width: min(860px, calc(100vw - 48px) );--height: min(820px, 90vh);--border-radius: 20px;--ion-background-color: #fff;--ion-item-background: #fff}.course-detail-modal ion-header{box-shadow:0 1px #eae8e4}.course-detail-close{min-width:72px;min-height:44px}.course-detail-body{padding:24px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.course-detail-hero{display:flex;align-items:center;gap:18px;margin-bottom:24px}.course-detail-hero .course-icon{width:64px;height:64px;border-radius:20px;margin:0}.course-detail-hero .course-icon ion-icon{font-size:28px}.course-detail-hero>div:last-child{min-width:0}.course-detail-hero h2{margin:0;font-size:22px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.course-detail-section{margin-bottom:18px;padding:20px;border:1px solid #eceae6;border-radius:var(--app-radius-lg);background:#fff;box-shadow:var(--app-shadow)}.course-detail-section:last-child{margin-bottom:0}.course-section-heading{margin-bottom:12px}.course-section-heading h3{margin:0;font-size:16px;font-weight:650}.course-section-heading p{margin:5px 0 0;font-size:12px;color:#777;line-height:1.6}.course-detail-section ion-list{padding:0;background:transparent}.course-detail-section ion-item{min-width:0;--background: #fff;--padding-start: 0;--inner-padding-end: 0;--padding-top: 6px;--padding-bottom: 6px}.course-detail-section ion-label[position=stacked]{white-space:normal;max-width:100%;overflow-wrap:anywhere;font-size:13px;color:#777;transform:none;margin-bottom:8px}.course-detail-section ion-input,.course-detail-section ion-select,.course-detail-section ion-textarea{font-size:14px;--placeholder-color: #999;--placeholder-opacity: 1;--padding-start: 12px;--padding-end: 12px;border-radius:var(--app-radius-md);background:#faf9f7}.course-detail-section ion-textarea{--padding-top: 12px;--padding-bottom: 12px}.course-detail-modal.is-readonly ion-input,.course-detail-modal.is-readonly ion-select,.course-detail-modal.is-readonly ion-textarea{background:transparent;--padding-start: 0}@media (max-width: 600px){.course-search{padding:4px 14px}.course-config-body{padding:18px 14px}.course-list-heading{align-items:flex-start;gap:8px}.course-list-heading p{font-size:12px}.course-list ion-item.course-list-item{--padding-start: 12px;--inner-padding-end: 10px}.course-list-item .course-icon{width:40px;height:40px;border-radius:12px;margin-right:12px}.course-list-item ion-checkbox{margin-right:10px!important}.course-list-item ion-reorder{margin-inline:4px 0}.course-batch-actions{padding:8px 14px}.course-detail-modal{--width: 100%;--height: 100%;--border-radius: 0}.course-detail-body{padding:20px 14px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.course-detail-hero{gap:14px;margin-bottom:20px}.course-detail-hero h2{font-size:20px}.course-detail-section{padding:16px}.course-detail-section ion-input,.course-detail-section ion-select,.course-detail-section ion-textarea{font-size:16px}}.course-card-heading{display:flex;align-items:flex-start;gap:10px}.course-card-heading h2{flex:1;min-width:0}.course-type-tag{flex-shrink:0;margin-top:2px;padding:3px 10px;border-radius:6px;background:#f0efec;color:#555;font-size:12px;font-weight:500}.course-type-tag.private{background:var(--ion-color-tertiary);color:#786b59}.course-meta{margin-top:2px;gap:8px 14px;color:#777;font-size:13px}.course-meta>span{display:inline-flex;align-items:center;gap:5px}.course-meta ion-icon{flex-shrink:0;font-size:15px}.course-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.course-tag{padding:3px 9px;border-radius:6px;background:#f5f3ef;color:#68635d;font-size:12px;line-height:1.6}.course-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}.course-form-note{margin:12px 0 0;padding:12px 14px;border-radius:var(--app-radius-md);background:#f7f6f3;color:#68635d;font-size:12px;line-height:1.8}.course-detail-section ion-select{min-height:44px;width:100%}.course-detail-section ion-select::part(text){white-space:normal;overflow-wrap:anywhere}.course-detail-modal.is-readonly ion-select.select-disabled{opacity:1}.course-detail-modal.is-readonly .course-detail-section ion-label{opacity:1}@media (max-width: 600px){.course-form-grid{grid-template-columns:minmax(0,1fr);gap:4px}.course-card-heading{gap:8px}.course-meta{gap:6px 12px;font-size:12px}}.teacher-config-page ion-button,.teacher-detail-modal ion-button{--border-radius: var(--app-radius-md);font-weight:600;min-height:40px}.teacher-search-toolbar{--padding-bottom: 10px}.teacher-search{max-width:1008px;margin:0 auto;padding:4px 24px;--background: var(--app-bg);--border-radius: var(--app-radius-lg);--box-shadow: none;--placeholder-color: #777;--icon-color: #817b73}.teacher-config-content,.teacher-detail-content{--background: var(--app-bg)}.teacher-config-body{max-width:1008px;margin:0 auto;padding:24px}.teacher-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.teacher-list-heading h2{display:flex;align-items:center;gap:10px;margin:0;font-size:18px;font-weight:650}.teacher-list-heading h2 span{padding:3px 9px;border-radius:999px;background:var(--ion-color-tertiary);color:#68635d;font-size:12px}.teacher-list-heading p,.teacher-detail-hero p{margin:6px 0 0;font-size:13px;color:#777;line-height:1.7}.teacher-list-heading ion-button{flex-shrink:0;margin:0}.teacher-list{padding:0;background:transparent}.teacher-list ion-item-sliding{margin-bottom:12px;border:1px solid #eceae6;border-radius:var(--app-radius-lg);background:#fff;box-shadow:var(--app-shadow)}.teacher-list ion-item.teacher-list-item{margin:0;box-shadow:none;--padding-start: 18px;--inner-padding-end: 16px;--padding-top: 8px;--padding-bottom: 8px;--detail-icon-color: #817b73}.teacher-icon{flex-shrink:0;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--ion-color-tertiary);color:#81786b;margin-right:16px}.teacher-icon ion-icon{font-size:24px}.teacher-list-label{min-width:0;white-space:normal!important}.teacher-list-label h2{margin:0 0 7px;font-size:16px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.teacher-empty-state{padding:48px 20px;text-align:center;border:1px solid #eceae6;border-radius:var(--app-radius-lg);background:#fff}.teacher-empty-state>ion-icon{font-size:36px;color:#a59b8e}.teacher-empty-state h3{font-size:16px;margin:16px 0 8px}.teacher-empty-state p{color:#777;font-size:13px;line-height:1.7}.teacher-batch-actions{max-width:1008px;margin:0 auto;padding:8px 24px}.teacher-detail-modal{--width: min(860px, calc(100vw - 48px) );--height: min(820px, 90vh);--border-radius: 20px;--ion-background-color: #fff;--ion-item-background: #fff}.teacher-detail-modal ion-header{box-shadow:0 1px #eae8e4}.teacher-detail-close{min-width:72px;min-height:44px}.teacher-detail-body{padding:24px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.teacher-detail-hero{display:flex;align-items:center;gap:18px;margin-bottom:24px}.teacher-detail-hero .teacher-icon{width:64px;height:64px;border-radius:20px;margin:0}.teacher-detail-hero .teacher-icon ion-icon{font-size:28px}.teacher-detail-hero>div:last-child{min-width:0}.teacher-detail-hero h2{margin:0;font-size:22px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.teacher-detail-section{margin-bottom:18px;padding:20px;border:1px solid #eceae6;border-radius:var(--app-radius-lg);background:#fff;box-shadow:var(--app-shadow)}.teacher-detail-section:last-child{margin-bottom:0}.teacher-section-heading{margin-bottom:12px}.teacher-section-heading h3{margin:0;font-size:16px;font-weight:650}.teacher-section-heading p{margin:5px 0 0;font-size:12px;color:#777;line-height:1.6}.teacher-detail-section ion-list{padding:0;background:transparent}.teacher-detail-section ion-item{min-width:0;--background: #fff;--padding-start: 0;--inner-padding-end: 0;--padding-top: 6px;--padding-bottom: 6px}.teacher-detail-section ion-label[position=stacked]{white-space:normal;max-width:100%;overflow-wrap:anywhere;font-size:13px;color:#777;transform:none;margin-bottom:8px}.teacher-detail-section ion-input,.teacher-detail-section ion-select,.teacher-detail-section ion-textarea{font-size:14px;--placeholder-color: #999;--placeholder-opacity: 1;--padding-start: 12px;--padding-end: 12px;border-radius:var(--app-radius-md);background:#faf9f7}.teacher-detail-section ion-textarea{--padding-top: 12px;--padding-bottom: 12px}.teacher-detail-modal.is-readonly ion-input,.teacher-detail-modal.is-readonly ion-select,.teacher-detail-modal.is-readonly ion-textarea{background:transparent;--padding-start: 0}@media (max-width: 600px){.teacher-search{padding:4px 14px}.teacher-config-body{padding:18px 14px}.teacher-list-heading{align-items:flex-start;gap:8px}.teacher-list-heading p{font-size:12px}.teacher-list ion-item.teacher-list-item{--padding-start: 12px;--inner-padding-end: 10px}.teacher-list-item .teacher-icon{width:40px;height:40px;border-radius:12px;margin-right:12px}.teacher-list-item ion-checkbox{margin-right:10px!important}.teacher-list-item ion-reorder{margin-inline:4px 0}.teacher-batch-actions{padding:8px 14px}.teacher-detail-modal{--width: 100%;--height: 100%;--border-radius: 0}.teacher-detail-body{padding:20px 14px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.teacher-detail-hero{gap:14px;margin-bottom:20px}.teacher-detail-hero h2{font-size:20px}.teacher-detail-section{padding:16px}.teacher-detail-section ion-input,.teacher-detail-section ion-select,.teacher-detail-section ion-textarea{font-size:16px}}.teacher-card-heading{display:flex;align-items:flex-start;gap:10px}.teacher-card-heading h2{flex:1;min-width:0}.teacher-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.teacher-tag{padding:3px 9px;border-radius:6px;background:#f5f3ef;color:#68635d;font-size:12px;line-height:1.6}.teacher-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}.teacher-detail-section ion-select{min-height:44px;width:100%}.teacher-detail-section ion-select::part(text){white-space:normal;overflow-wrap:anywhere}.teacher-detail-modal.is-readonly ion-select.select-disabled{opacity:1}.teacher-detail-modal.is-readonly .teacher-detail-section ion-label{opacity:1}@media (max-width: 600px){.teacher-form-grid{grid-template-columns:minmax(0,1fr);gap:4px}.teacher-card-heading{gap:8px}}.teacher-fee-tag{flex-shrink:0;margin-top:2px;padding:3px 10px;border-radius:6px;background:var(--ion-color-tertiary);color:#786b59;font-size:12px;font-weight:500}.teacher-tags{margin:2px 0 10px}.teacher-tag{overflow-wrap:anywhere;max-width:100%}.teacher-tag.qualification{background:var(--ion-color-tertiary);color:#786b59}.teacher-assignment{display:flex;align-items:flex-start;gap:6px;margin-top:5px;color:#777;font-size:13px;line-height:1.7}.teacher-assignment ion-icon{flex-shrink:0;font-size:16px;margin-top:3px}.teacher-assignment span{min-width:0;overflow-wrap:anywhere;white-space:pre-line}.teacher-status{color:#777;font-size:13px;line-height:1.7}.teacher-fee-setting{margin-top:16px;padding:14px;border:1px solid #eceae6;border-radius:var(--app-radius-md);background:#faf9f7}.teacher-fee-setting ion-checkbox{width:100%;--size: 20px;--border-color: #c2baaf;font-size:14px}.teacher-detail-modal.is-readonly .teacher-fee-setting ion-checkbox{opacity:1}.teacher-schedule-editor{padding-bottom:18px;margin-bottom:16px;border-bottom:1px solid #eceae6}.teacher-schedule-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.teacher-schedule-fields ion-input{width:100%;min-width:0}.teacher-add-schedule{height:44px;margin:10px 0 0}.teacher-schedule-list{display:grid;gap:8px}.teacher-schedule-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:1px solid #eceae6;border-radius:var(--app-radius-md);background:#faf9f7}.teacher-schedule-row>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0;font-size:14px;line-height:1.6}.teacher-schedule-row ion-icon{flex-shrink:0;color:#81786b}.teacher-schedule-row strong{font-weight:600}.teacher-schedule-row span{color:#777}.teacher-schedule-row ion-button{flex-shrink:0;margin:0}.teacher-schedule-row ion-button ion-icon{color:inherit}@media (max-width: 600px){.teacher-assignment{font-size:12px}.teacher-schedule-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.teacher-schedule-fields ion-item:first-child{grid-column:1 / -1}.teacher-add-schedule{width:100%}.teacher-schedule-row{padding:8px 10px}.teacher-schedule-row>div{font-size:13px;gap:6px}}.package-config-page ion-button,.package-detail-modal ion-button{--border-radius: var(--app-radius-md);font-weight:600;min-height:40px}.package-search-toolbar{--padding-bottom: 10px}.package-search{max-width:1008px;margin:0 auto;padding:4px 24px;--background: var(--app-bg);--border-radius: var(--app-radius-lg);--box-shadow: none;--placeholder-color: #777;--icon-color: #817b73}.package-config-content,.package-detail-content{--background: var(--app-bg)}.package-config-body{max-width:1008px;margin:0 auto;padding:24px}.package-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.package-list-heading h2{display:flex;align-items:center;gap:10px;margin:0;font-size:18px;font-weight:650}.package-list-heading h2 span{padding:3px 9px;border-radius:999px;background:var(--ion-color-tertiary);color:#68635d;font-size:12px}.package-list-heading p,.package-detail-hero p{margin:6px 0 0;font-size:13px;color:#777;line-height:1.7}.package-list-heading ion-button{flex-shrink:0;margin:0}.package-list{padding:0;background:transparent}.package-list ion-item-sliding{margin-bottom:12px;border:1px solid #eceae6;border-radius:var(--app-radius-lg);background:#fff;box-shadow:var(--app-shadow)}.package-list ion-item.package-list-item{margin:0;--background: #fff;box-shadow:none;--padding-start: 18px;--inner-padding-end: 16px;--padding-top: 8px;--padding-bottom: 8px;--detail-icon-color: #817b73}.package-icon{flex-shrink:0;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--ion-color-tertiary);color:#81786b;margin-right:16px}.package-icon ion-icon{font-size:24px}.package-list-label{min-width:0;white-space:normal!important}.package-list-label h2{margin:0 0 7px;font-size:16px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.package-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;font-size:12px;line-height:1.6}.package-empty-state{padding:48px 20px;text-align:center;border:1px solid #eceae6;border-radius:var(--app-radius-lg);background:#fff}.package-empty-state>ion-icon{font-size:36px;color:#a59b8e}.package-empty-state h3{font-size:16px;margin:16px 0 8px}.package-empty-state p{color:#777;font-size:13px;line-height:1.7}.package-batch-actions{max-width:1008px;margin:0 auto;padding:8px 24px}.package-detail-modal{--width: min(860px, calc(100vw - 48px) );--height: min(820px, 90vh);--border-radius: 20px;--ion-background-color: #fff;--ion-item-background: #fff}.package-detail-modal ion-header{box-shadow:0 1px #eae8e4}.package-detail-close{min-width:72px;min-height:44px}.package-detail-body{padding:24px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.package-detail-hero{display:flex;align-items:center;gap:18px;margin-bottom:24px}.package-detail-hero .package-icon{width:64px;height:64px;border-radius:20px;margin:0}.package-detail-hero .package-icon ion-icon{font-size:28px}.package-detail-hero>div:last-child{min-width:0}.package-detail-hero h2{margin:0;font-size:22px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.package-detail-section{margin-bottom:18px;padding:20px;border:1px solid #eceae6;border-radius:var(--app-radius-lg);background:#fff;box-shadow:var(--app-shadow)}.package-detail-section:last-child{margin-bottom:0}.package-section-heading{margin-bottom:12px}.package-section-heading h3{margin:0;font-size:16px;font-weight:650}.package-section-heading p{margin:5px 0 0;font-size:12px;color:#777;line-height:1.6}.package-detail-section ion-list{padding:0;background:transparent}.package-detail-section ion-item{min-width:0;--background: #fff;--padding-start: 0;--inner-padding-end: 0;--padding-top: 6px;--padding-bottom: 6px}.package-detail-section ion-label[position=stacked]{white-space:normal;max-width:100%;overflow-wrap:anywhere;font-size:13px;color:#777;transform:none;margin-bottom:8px}.package-detail-section ion-input,.package-detail-section ion-select,.package-detail-section ion-textarea{font-size:14px;--placeholder-color: #999;--placeholder-opacity: 1;--padding-start: 12px;--padding-end: 12px;border-radius:var(--app-radius-md);background:#faf9f7}.package-detail-section ion-textarea{--padding-top: 12px;--padding-bottom: 12px}.package-detail-modal.is-readonly ion-input,.package-detail-modal.is-readonly ion-select,.package-detail-modal.is-readonly ion-textarea{background:transparent;--padding-start: 0}@media (max-width: 600px){.package-search{padding:4px 14px}.package-config-body{padding:18px 14px}.package-list-heading{align-items:flex-start;gap:8px}.package-list-heading p{font-size:12px}.package-list ion-item.package-list-item{--padding-start: 12px;--inner-padding-end: 10px}.package-list-item .package-icon{width:40px;height:40px;border-radius:12px;margin-right:12px}.package-list-item ion-checkbox{margin-right:10px!important}.package-list-item ion-reorder{margin-inline:4px 0}.package-batch-actions{padding:8px 14px}.package-detail-modal{--width: 100%;--height: 100%;--border-radius: 0}.package-detail-body{padding:20px 14px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.package-detail-hero{gap:14px;margin-bottom:20px}.package-detail-hero h2{font-size:20px}.package-detail-section{padding:16px}.package-detail-section ion-input,.package-detail-section ion-select,.package-detail-section ion-textarea{font-size:16px}}.package-card-heading{display:flex;align-items:flex-start;gap:14px}.package-card-heading h2{flex:1;min-width:0}.package-price{flex-shrink:0;color:#2d2b28;font-size:17px;font-weight:650;line-height:1.5}.package-meta{margin-top:5px;gap:8px 14px;color:#777;font-size:12px}.package-meta>span{display:inline-flex;align-items:center;gap:5px;overflow-wrap:anywhere}.package-meta ion-icon{flex-shrink:0;font-size:15px}.package-list-label .package-description{margin:7px 0;color:#888;font-size:12px;line-height:1.7}.package-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.package-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:6px;background:#f3f0ea;color:#726858;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.package-tag ion-icon{flex-shrink:0}.package-course-tags .package-tag{background:#f7f7f5;color:#777}.package-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}.package-detail-section ion-select{min-height:44px;width:100%}.package-detail-section ion-select::part(text){white-space:normal;overflow-wrap:anywhere}.package-detail-modal.is-readonly ion-select.select-disabled,.package-detail-modal.is-readonly .package-detail-section ion-label{opacity:1}.package-form-note{color:#777;font-size:13px;line-height:1.7}.package-quota-summary{display:flex;flex-wrap:wrap;gap:12px 24px;padding:12px 16px;margin:16px 0;border-radius:10px;background:#f7f5f1;font-size:12px;color:#777}.package-quota-summary strong{font-size:18px;color:#39352f;padding:0 4px}.package-course-category{margin-top:12px;border:1px solid #eceae6;border-radius:12px;overflow:hidden}.package-category-header{display:flex;align-items:center;gap:12px;padding:0 16px;background:#f8f7f4}.package-category-header ion-checkbox,.package-course-name ion-checkbox{flex-shrink:0;--size: 19px}.package-category-toggle{display:flex;align-items:center;justify-content:space-between;flex:1;min-width:0;min-height:54px;padding:12px 0;text-align:left;background:transparent;color:#39352f;font-size:14px;cursor:pointer}.package-category-toggle small{margin-left:12px;color:#888;font-size:12px}.package-category-toggle:focus-visible{outline:2px solid #81786b;outline-offset:-2px;border-radius:4px}.package-category-body{padding:12px 16px}.package-batch-count{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;background:#f8f7f4;color:#68635d;font-size:12px}.package-batch-count small{flex-basis:100%;font-size:11px;color:#888;line-height:1.6}.package-courses-section input[type=number]{width:90px;max-width:100%;min-height:36px;padding:6px 8px;border:1px solid #ddd9d2;border-radius:7px;text-align:center;background:#fff;color:#39352f;font-size:14px}.package-courses-section input:focus{outline:2px solid #a59b8e;outline-offset:1px}.package-course-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:14px 0;border-bottom:1px solid #f0eeeb}.package-course-row:last-child{border-bottom:0}.package-course-name{display:flex;align-items:center;gap:12px;flex:1;min-width:120px;color:#888;font-size:14px;line-height:1.6}.package-course-name span{overflow-wrap:anywhere}.package-course-row.is-selected .package-course-name{color:#39352f}.package-course-count{display:flex;align-items:center;gap:8px;color:#888;font-size:12px}.package-empty-state ion-button{height:44px}@media (max-width: 600px){.package-form-grid{grid-template-columns:minmax(0,1fr);gap:4px}.package-card-heading{flex-wrap:wrap;gap:0 8px}.package-card-heading h2{flex-basis:100%;margin-bottom:4px}.package-price{font-size:15px}.package-category-header{padding:0 12px}.package-category-body{padding:10px 12px}.package-course-count{margin-left:auto}.package-courses-section input[type=number]{font-size:16px}.package-quota-summary{gap:10px 16px;padding:12px}}.reports-content{--background: var(--app-bg)}.reports-page{max-width:1008px;margin:0 auto;padding:24px;color:var(--ion-text-color);--report-bar: #81786b;--report-bar-negative: #b4876d}.reports-intro{display:flex;align-items:center;justify-content:space-between;gap:16px}.reports-intro h1{margin:0;font-size:18px;font-weight:650}.reports-intro p{margin:6px 0 0;color:#777;font-size:13px;line-height:1.7}.reports-scope{flex-shrink:0;padding:6px 10px;background:#efede8;border-radius:6px;color:#726858;font-size:12px}.reports-page button{min-height:42px;padding:10px 16px;border:1px solid transparent;border-radius:8px;background:var(--ion-color-primary);color:#fff;font-size:13px;line-height:1.5;font-weight:600;cursor:pointer}.reports-page button:disabled{opacity:.45;cursor:default}.reports-page button:focus-visible,.reports-page input:focus-visible,.reports-page select:focus-visible{outline:2px solid #81786b;outline-offset:3px}.reports-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr) auto;gap:16px;align-items:end;margin:22px 0 14px;padding:20px;background:#fff;border:1px solid #eceae6;border-radius:12px;box-shadow:var(--app-shadow)}.reports-filters label{display:flex;flex-direction:column;gap:8px;min-width:0;color:#777;font-size:13px}.reports-filters input,.reports-filters select,.report-chart-controls select{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #e8e5df;border-radius:8px;background:#faf9f7;color:#39352f;font-size:14px}.reports-filters button{min-height:44px}.reports-period{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;margin:0 0 20px;color:#888;font-size:12px;line-height:1.8}.reports-tabs{display:flex;flex-wrap:wrap;gap:5px;padding:5px;margin:0 0 24px;border-radius:10px;background:#efede8}.reports-tabs button{flex:1 0 auto;max-width:100%;overflow-wrap:anywhere;background:transparent;color:#777;font-weight:500;padding:8px 12px}.reports-tabs button[aria-pressed=true]{background:#fff;color:#333;box-shadow:0 2px 5px rgba(0,0,0,.02);font-weight:600}.reports-section-title{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:14px}.reports-section-title h2{margin:0;font-size:18px;font-weight:650}.reports-page .reports-export{background:#fff;color:#555;border-color:#d9d5cd}.reports-note{padding:12px 16px;margin-bottom:18px;border:1px solid #e9e4db;border-radius:10px;background:#f4f1eb;color:#726858;font-size:12px;line-height:1.8}.reports-note p{margin:0}.reports-note p+p{margin-top:4px}.reports-table-card{margin:0 0 18px;padding:20px;border:1px solid #eceae6;border-radius:12px;background:#fff;box-shadow:var(--app-shadow);overflow:hidden}.reports-table-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:18px}.reports-table-heading h3{margin:0;color:#39352f;font-size:16px;font-weight:650}.reports-table-heading>span{color:#999;font-size:12px}.reports-table-note{margin:0 0 16px;color:#777;font-size:12px;line-height:1.8}.reports-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}.reports-metric{padding:20px;border:1px solid #eeeae4;border-radius:10px;background:#faf9f7;min-width:0}.reports-metric dt{font-size:12px;line-height:1.7;color:#817b73}.reports-metric dd{margin:12px 0 0;font-size:30px;line-height:1.2;font-weight:650;color:#39352f;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.reports-metric dd small{margin-left:4px;color:#888;font-size:14px;font-weight:500}.reports-table-scroll{overflow:auto;max-height:560px;border:1px solid #eeeae4;border-radius:8px}.reports-table-card table{border-collapse:collapse;width:100%;font-size:13px}.reports-table-card th,.reports-table-card td{padding:12px;border-bottom:1px solid #eeeae4;text-align:left;max-width:480px}.reports-table-card th{position:sticky;top:0;z-index:1;background:#f4f2ee;color:#726858;font-weight:600;white-space:nowrap}.reports-table-card td{white-space:normal;min-width:95px;overflow-wrap:anywhere;color:#555;font-variant-numeric:tabular-nums}.reports-table-card tr:last-child td{border-bottom:0}.reports-table-card tr:hover td{background:#faf9f7}.reports-warning{padding:10px 12px;border-radius:8px;background:#faf4e9;color:#93703e;font-size:12px;line-height:1.8}.reports-empty{padding:32px 16px;color:#888;font-size:13px;text-align:center}.reports-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;margin-bottom:14px;border:1px solid #ead8d5;border-radius:10px;background:#faf1ef;color:#985e55;font-size:13px;line-height:1.7}.reports-error button{flex-shrink:0}.reports-loading{display:flex;gap:10px;align-items:center;padding:14px 0;color:#817b73;font-size:13px}.reports-loading ion-spinner{width:20px;height:20px}.report-chart{padding:16px;margin:0 0 18px;border:1px solid #eeeae4;border-radius:10px;background:#faf9f7}.report-chart-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px;font-size:13px}.report-chart-controls label{color:#555;font-weight:600}.report-chart-controls select{width:auto;max-width:100%;min-height:38px;padding:8px 12px;background:#fff}.report-chart-controls>span{color:#888;font-size:12px}.report-chart-scroll{overflow-x:auto}.report-chart-content{min-width:0}.report-chart-row,.report-chart-axis{display:grid;grid-template-columns:minmax(90px,23%) minmax(0,1fr) 78px;gap:10px;align-items:center;min-height:44px}.report-chart-row:nth-child(2n){background:rgba(129,120,107,.024)}.report-chart-row svg{display:block;width:100%;height:36px}.report-chart-label{padding:6px 0;overflow-wrap:anywhere;color:#68635d;font-size:12px;line-height:1.5}.report-chart-value{color:#555;font-size:12px;font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere}.report-chart-axis{color:#999;font-size:11px}.report-chart-axis>span:last-child{text-align:right}.report-chart-ticks{display:flex;justify-content:space-between;gap:3px;font-variant-numeric:tabular-nums;font-size:10px}.report-chart-grid{stroke:#e9e4db;stroke-width:1}.report-chart-zero{stroke:#b0a796;stroke-width:1.5}.report-chart-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:14px;color:#888;font-size:12px;line-height:1.7}.report-chart-footer>div{display:flex;gap:12px;align-items:center}.reports-page .report-chart-footer button{min-height:36px;padding:6px 10px;font-size:12px}.report-chart-scroll:focus-visible,.reports-table-scroll:focus-visible{outline:2px solid #81786b;outline-offset:2px}@media (max-width:600px){.reports-page{padding:18px 14px}.reports-intro{align-items:flex-start;flex-wrap:wrap;gap:10px}.reports-scope{font-size:11px}.reports-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;padding:16px;margin-top:18px}.reports-filters input,.reports-filters select,.report-chart-controls select{padding:10px 8px;font-size:16px}.reports-tabs{gap:3px}.reports-tabs button{font-size:12px}.reports-section-title h2{font-size:17px}.reports-page .reports-export{font-size:12px;padding:8px 10px}.reports-table-card{padding:16px}.reports-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reports-metric{padding:14px}.reports-metric dd{font-size:26px}.report-chart{padding:10px}.report-chart-controls{gap:8px}.report-chart-controls>span{flex-basis:100%}.report-chart-row,.report-chart-axis{grid-template-columns:76px minmax(0,1fr) 60px;gap:6px}.report-chart-ticks span:nth-child(2),.report-chart-ticks span:nth-child(4){display:none}.reports-period{flex-direction:column;gap:2px}}.report-option-field{display:grid;gap:8px;min-width:0}.report-option-trigger:disabled{opacity:.5;cursor:default}.report-option-field>label{font-size:13px;color:#777}.report-option-field.is-inline{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.report-option-trigger,.reports-page button.report-option-trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #e8e5df;border-radius:8px;background:#faf9f7;color:#39352f;font-size:14px;font-weight:400;line-height:1.6;text-align:left;cursor:pointer}.report-option-trigger>span:first-child{overflow-wrap:anywhere}.report-option-hint{flex-shrink:0;color:#999;font-size:12px}.report-option-field.is-inline .report-option-trigger{width:auto;max-width:100%;background:#fff}.report-option-modal{--width: min(460px, calc(100vw - 28px) );--height: auto;--min-height: 0;--border-radius: 20px;--box-shadow: 0 20px 48px #00000026}.report-option-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:min(80vh,620px);background:#fff}.report-option-shell.has-search{grid-template-rows:auto auto minmax(0,1fr) auto}.report-option-shell.has-preview{grid-template-rows:auto minmax(80px,1fr) auto auto}.report-option-shell.has-search.has-preview{grid-template-rows:auto auto minmax(80px,1fr) auto auto}.report-option-preview{max-height:min(30vh,250px);padding:14px 20px;overflow-y:auto;border-top:1px solid #eeeae4}.report-option-search{display:flex;align-items:center;gap:8px;padding:14px 20px 0}.report-option-search input{flex:1;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #e8e5df;border-radius:8px;background:#faf9f7;color:#39352f;font:inherit;font-size:16px}.report-option-search input:focus-visible{outline:2px solid #81786b;outline-offset:2px}.report-option-search button{flex-shrink:0}.report-option-empty{margin:12px 0;color:#888;font-size:14px;line-height:1.7;text-align:center}.report-option-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px;border-bottom:1px solid #eeeae4}.report-option-header h3{margin:0;color:#39352f;font-size:18px;font-weight:650}.report-option-header p{margin:6px 0 0;color:#888;font-size:12px;line-height:1.7}.report-option-close{min-height:36px;padding:4px 8px;border-radius:6px;background:transparent;color:#777;font-size:13px;cursor:pointer}.report-option-options{display:grid;gap:10px;padding:16px 20px;overflow-y:auto}.report-option-item{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;width:100%;padding:10px 14px;border:1px solid #e8e5df;border-radius:8px;background:#fff;color:#68635d;font-size:14px;text-align:left;cursor:pointer}.report-option-item.is-selected{border-color:#a59b8e;background:#f4f1eb;color:#39352f;font-weight:600}.report-option-item>span:first-child{overflow-wrap:anywhere}.report-option-mark{flex-shrink:0;font-size:12px}.report-option-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 16px;border-top:1px solid #eeeae4}.report-option-footer ion-button{height:40px;min-height:40px;--border-radius: 8px;font-weight:600}.report-option-modal button:focus-visible,.report-option-trigger:focus-visible{outline:2px solid #81786b;outline-offset:2px}@media (max-width:600px){.report-option-trigger,.reports-page button.report-option-trigger{font-size:16px;padding:10px 8px}.report-option-header{padding:18px 16px}.report-option-options{padding:14px 16px}.report-option-search{padding:14px 16px 0}.report-option-preview{padding:12px 16px}.report-option-footer{padding:12px 16px 16px}}.ops-config-page ion-button,.ops-detail-modal ion-button{--border-radius: var(--app-radius-md);font-weight:600;min-height:40px}.ops-search-toolbar{--padding-bottom: 10px}.ops-search{max-width:1008px;margin:0 auto;padding:4px 24px;--background: var(--app-bg);--border-radius: var(--app-radius-lg);--box-shadow: none;--placeholder-color: #777;--icon-color: #817b73}.ops-config-content,.ops-detail-content{--background: var(--app-bg)}.ops-config-body{max-width:1008px;margin:0 auto;padding:24px}.ops-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.ops-list-heading h2{display:flex;align-items:center;gap:10px;margin:0;font-size:18px;font-weight:650}.ops-list-heading h2 span{padding:3px 9px;border-radius:999px;background:var(--ion-color-tertiary);color:#68635d;font-size:12px}.ops-list-heading p,.ops-detail-hero p{margin:6px 0 0;font-size:13px;color:#777;line-height:1.7}.ops-list-heading ion-button{flex-shrink:0;margin:0}.ops-list{padding:0;background:transparent}.ops-list ion-item-sliding{margin-bottom:12px;border:1px solid #eceae6;border-radius:var(--app-radius-lg);background:#fff;box-shadow:var(--app-shadow)}.ops-list ion-item.ops-list-item{margin:0;box-shadow:none;--padding-start: 18px;--inner-padding-end: 16px;--padding-top: 8px;--padding-bottom: 8px;--detail-icon-color: #817b73}.ops-icon{flex-shrink:0;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--ion-color-tertiary);color:#81786b;margin-right:16px}.ops-icon ion-icon{font-size:24px}.ops-list-label{min-width:0;white-space:normal!important}.ops-list-label h2{margin:0 0 7px;font-size:16px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.ops-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;font-size:12px;line-height:1.6}.ops-empty-state{padding:48px 20px;text-align:center;border:1px solid #eceae6;border-radius:var(--app-radius-lg);background:#fff}.ops-empty-state>ion-icon{font-size:36px;color:#a59b8e}.ops-empty-state h3{font-size:16px;margin:16px 0 8px}.ops-empty-state p{color:#777;font-size:13px;line-height:1.7}.ops-batch-actions{max-width:1008px;margin:0 auto;padding:8px 24px}.ops-detail-modal{--width: min(860px, calc(100vw - 48px) );--height: min(820px, 90vh);--border-radius: 20px;--ion-background-color: #fff;--ion-item-background: #fff}.ops-detail-modal ion-header{box-shadow:0 1px #eae8e4}.ops-detail-close{min-width:72px;min-height:44px}.ops-detail-body{padding:24px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.ops-detail-hero{display:flex;align-items:center;gap:18px;margin-bottom:24px}.ops-detail-hero .ops-icon{width:64px;height:64px;border-radius:20px;margin:0}.ops-detail-hero .ops-icon ion-icon{font-size:28px}.ops-detail-hero>div:last-child{min-width:0}.ops-detail-hero h2{margin:0;font-size:22px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.ops-detail-section{margin-bottom:18px;padding:20px;border:1px solid #eceae6;border-radius:var(--app-radius-lg);background:#fff;box-shadow:var(--app-shadow)}.ops-detail-section:last-child{margin-bottom:0}.ops-section-heading{margin-bottom:12px}.ops-section-heading h3{margin:0;font-size:16px;font-weight:650}.ops-section-heading p{margin:5px 0 0;font-size:12px;color:#777;line-height:1.6}.ops-detail-section ion-list{padding:0;background:transparent}.ops-detail-section ion-item{min-width:0;--background: #fff;--padding-start: 0;--inner-padding-end: 0;--padding-top: 6px;--padding-bottom: 6px}.ops-detail-section ion-label[position=stacked]{white-space:normal;max-width:100%;overflow-wrap:anywhere;font-size:13px;color:#777;transform:none;margin-bottom:8px}.ops-detail-section ion-input,.ops-detail-section ion-select,.ops-detail-section ion-textarea{font-size:14px;--placeholder-color: #999;--placeholder-opacity: 1;--padding-start: 12px;--padding-end: 12px;border-radius:var(--app-radius-md);background:#faf9f7}.ops-detail-section ion-textarea{--padding-top: 12px;--padding-bottom: 12px}.ops-announcement-content{min-width:0;padding:14px 0;color:#39352f;font-size:14px;line-height:1.8}.ops-announcement-content>p{margin:0 0 8px;color:#777;font-size:13px}.ops-announcement-editor-field{padding-top:14px}.ops-announcement-editor-field>p{margin:0 0 8px;color:#777;font-size:13px}.ops-announcement-editor-field>.ops-announcement-editor-hint{margin:8px 0 0;font-size:12px;line-height:1.7}.ops-announcement-link-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:12px}.ops-announcement-link-tools>span{color:#777;font-size:12px;line-height:1.7}.ops-announcement-link-form h4{margin:0;color:#70685c;font-size:13px;font-weight:600}.ops-announcement-link-form button:disabled{opacity:.5;cursor:default}.ops-announcement-link-feedback{margin:12px 0 0;color:#70685c;font-size:13px;line-height:1.7}.ops-announcement-link-form{display:grid;gap:12px;margin-top:12px;padding:16px;border:1px solid #e8e5df;border-radius:10px;background:#faf9f7}.ops-announcement-link-form label{display:grid;gap:7px;color:#777;font-size:13px}.ops-announcement-link-form input{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #e3ded5;border-radius:8px;background:#fff;color:#39352f;font:inherit;font-size:16px}.ops-announcement-link-form>div{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}.ops-announcement-link-form .ops-announcement-unlink{margin-right:auto}.ops-announcement-link-form button{min-height:40px;padding:8px 16px;border:1px solid #d9d5cd;border-radius:8px;color:#68635d;background:#fff;font-size:14px;cursor:pointer}.ops-announcement-link-form button[type=submit]{background:#81786b;border-color:#81786b;color:#fff}.ops-announcement-link-form :is(button,input):focus-visible{outline:2px solid #81786b;outline-offset:2px}.ops-announcement-link-form .ops-error{margin:0}.ops-detail-modal.is-readonly ion-input,.ops-detail-modal.is-readonly ion-select,.ops-detail-modal.is-readonly ion-textarea{background:transparent;--padding-start: 0}@media (max-width: 600px){.ops-search{padding:4px 14px}.ops-config-body{padding:18px 14px}.ops-list-heading{align-items:flex-start;gap:8px}.ops-list-heading p{font-size:12px}.ops-list ion-item.ops-list-item{--padding-start: 12px;--inner-padding-end: 10px}.ops-list-item .ops-icon{width:40px;height:40px;border-radius:12px;margin-right:12px}.ops-list-item ion-checkbox{margin-right:10px!important}.ops-list-item ion-reorder{margin-inline:4px 0}.ops-batch-actions{padding:8px 14px}.ops-detail-modal{--width: 100%;--height: 100%;--border-radius: 0}.ops-detail-body{padding:20px 14px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.ops-detail-hero{gap:14px;margin-bottom:20px}.ops-detail-hero h2{font-size:20px}.ops-detail-section{padding:16px}.ops-detail-section ion-input,.ops-detail-section ion-select,.ops-detail-section ion-textarea{font-size:16px}}.ops-page ion-button,.ops-modal ion-button{--border-radius: 8px;font-weight:600;min-height:40px}.ops-content,.ops-modal-content{--background: var(--app-bg)}.ops-body{max-width:1008px;margin:0 auto;padding:24px}.ops-modal{--width: min(860px, calc(100vw - 48px) );--height: min(820px, 90vh);--border-radius: 20px;--ion-item-background: #fff;--ion-background-color: #fff}.ops-modal ion-header{box-shadow:0 1px #eae8e4}.ops-modal .ops-detail-body{padding:24px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.ops-small-modal{--width: min(600px, calc(100vw - 48px) );--height: min(500px, 85vh)}.ops-list .ops-list-item{--background: #fff}.ops-list>ion-item.ops-list-item{margin-bottom:12px;border:1px solid #eceae6;border-radius:12px;box-shadow:var(--app-shadow)}.ops-card-heading{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:6px}.ops-card-heading h2{margin:0}.ops-tag{display:inline-flex;align-items:center;padding:3px 9px;border-radius:6px;background:#f2efea;color:#726858;font-size:12px;line-height:1.6;font-weight:500}.ops-tag.muted{background:#f2f2f2;color:#777}.ops-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;color:#777;font-size:12px;line-height:1.7}.ops-meta>span{display:inline-flex;align-items:center;gap:5px;overflow-wrap:anywhere}.ops-meta ion-icon{flex-shrink:0}.ops-list-label .ops-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow:hidden;margin-top:8px;color:#888;font-size:13px;line-height:1.7}.ops-row-actions{display:flex;gap:2px;margin-inline-start:8px}.ops-row-actions ion-button{min-width:38px;margin:0}.ops-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}.ops-detail-section ion-select{min-height:44px;width:100%}.ops-detail-section ion-select::part(text){white-space:normal;overflow-wrap:anywhere}.ops-modal.is-readonly ion-input,.ops-modal.is-readonly ion-select,.ops-modal.is-readonly ion-textarea{background:transparent;--padding-start: 0}.ops-modal.is-readonly ion-select.select-disabled,.ops-modal.is-readonly ion-label{opacity:1}.ops-form-note{margin:12px 0 0;padding:12px 14px;background:#f7f5f1;border-radius:8px;font-size:12px;color:#777;line-height:1.8}.ops-save-button,.ops-empty-state ion-button{height:44px}.ops-error{color:var(--ion-color-danger-shade);font-size:13px;line-height:1.7}.ops-admin-label p{overflow-wrap:anywhere;line-height:1.7;margin-top:5px}@media (max-width: 600px){.ops-body{padding:18px 14px}.ops-modal{--width: 100%;--height: 100%;--border-radius: 0}.ops-modal .ops-detail-body{padding:20px 14px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.ops-form-grid{grid-template-columns:minmax(0,1fr);gap:4px}.ops-row-actions{flex-direction:column;margin-inline-start:2px}.ops-row-actions ion-button{min-height:36px;height:36px}.ops-admin-list .ops-icon{display:none}}.zz-announcement-format-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:10px;border:1px solid #d8d3cb;border-radius:8px;background:#f8f7f5}.zz-announcement-format-toolbar button,.zz-announcement-format-toolbar select{min-height:34px;border:1px solid #c9c1b5;border-radius:6px;background:#fff;color:#332e28;font:inherit;font-size:14px;padding:5px 9px}.zz-announcement-format-toolbar button,.zz-announcement-format-toolbar label{display:inline-flex;align-items:center;gap:6px}.zz-announcement-format-toolbar button[aria-pressed=true]{background:#e6ded1;border-color:#82735d}.zz-announcement-format-toolbar :disabled{opacity:.55;cursor:default}.zz-announcement-format-toolbar label{font-size:13px;color:#635a50}.zz-announcement-format-hint{margin:7px 0;font-size:12px;color:#746b61}.zz-announcement-content-editor{min-height:180px;max-height:360px;overflow-y:auto;padding:12px;border:1px solid #d8d3cb;border-radius:8px;background:#fff;color:#332e28;font:inherit;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;cursor:text}.zz-announcement-content-editor:focus{outline:2px solid #9c8d76;outline-offset:1px}.zz-announcement-content-editor a{color:#6d5b43;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.zz-announcement-content-editor a:focus-visible{outline:2px solid #81786b;outline-offset:2px;border-radius:2px}.zz-announcement-content-editor.is-disabled{background:#f8f7f5;cursor:default}.member-detail-modal{--width: min(860px, calc(100vw - 48px) );--height: min(880px, 90vh);--border-radius: 20px;--ion-background-color: #fff;--ion-item-background: #fff;--ion-text-color: #2c2c2c;color-scheme:light}.member-detail-modal ion-toolbar{--background: #fff;--border-width: 0}.member-detail-modal ion-header{box-shadow:0 1px #eae8e4}.member-detail-modal ion-button{--border-radius: var(--app-radius-md);font-weight:600}.member-detail-modal .member-detail-close{min-width:72px;min-height:44px}.member-detail-tabs{--padding-start: 24px;--padding-end: 24px;--padding-bottom: 14px}.member-detail-tabs ion-segment{width:100%;min-width:0;margin:0;box-sizing:border-box;background:var(--app-bg);border:1px solid #eceae6;border-radius:12px;box-shadow:none}.member-detail-tabs ion-segment-button{flex:1 1 0;min-width:0;max-width:none;min-height:44px;font-size:14px;letter-spacing:0;--padding-start: 8px;--padding-end: 8px;--color: #777;--color-checked: var(--ion-color-primary)}.member-detail-tabs ion-segment-button ion-label{margin:6px 0;white-space:normal;text-overflow:clip;overflow:visible;line-height:22px}.member-detail-tabs ion-segment-button::part(indicator){background:#fff!important;border-color:#dedbd5}.member-detail-content{--background: var(--app-bg)}.member-detail-body{padding:24px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.member-detail-hero{display:flex;align-items:center;gap:20px;margin-bottom:24px}.member-detail-avatar{position:relative;width:76px;height:76px;flex-shrink:0;display:grid;place-items:center;padding:0;border:1px solid #e2ded7;border-radius:24px;background:var(--ion-color-tertiary);color:#8a8276}.member-detail-avatar>ion-icon{font-size:32px}.member-detail-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.member-detail-avatar-edit{position:absolute;right:-8px;bottom:-8px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:3px solid #fff;border-radius:50%;background:var(--ion-color-primary);color:#fff;font-size:17px;cursor:pointer}.member-detail-avatar-edit:disabled{cursor:default;opacity:.5}.member-detail-avatar-edit:focus-visible{outline:2px solid var(--ion-color-primary);outline-offset:3px}.member-detail-identity{min-width:0}.member-detail-eyebrow{font-size:12px;color:#817b73}.member-detail-identity h2{margin:4px 0 6px;font-size:23px;font-weight:650;line-height:1.3;overflow-wrap:anywhere}.member-detail-identity p{margin:0;color:#777;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.member-detail-identity .member-detail-hint{margin-top:4px;font-size:12px}.member-detail-section{margin-bottom:18px;padding:20px;background:#fff;border:1px solid #eceae6;border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow)}.member-detail-section:last-child{margin-bottom:0}.member-detail-section-heading{padding-bottom:16px}.member-detail-section-heading h3{margin:0;font-size:16px;font-weight:650}.member-detail-section-heading p{margin:5px 0 0;font-size:12px;color:#888;line-height:1.6}.member-detail-section ion-list{background:transparent;padding:0}.member-detail-section ion-item{--background: #fff;--color: #2c2c2c;--padding-start: 0;--inner-padding-end: 0;--padding-top: 6px;--padding-bottom: 6px;--border-color: #f0efec;font-size:14px}.member-detail-section ion-label{white-space:normal;overflow-wrap:anywhere}.member-detail-section ion-label[position=stacked]{color:#777;font-size:13px;transform:none;margin-bottom:6px}.member-detail-section ion-input,.member-detail-section ion-select,.member-detail-section ion-textarea{font-size:14px;--placeholder-color: #999;--placeholder-opacity: 1}.member-detail-section ion-textarea{--padding-top: 10px;--padding-bottom: 10px}.member-detail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}.member-detail-fields ion-item{min-width:0;--border-color: #f0efec;--border-width: 0 0 1px 0}.member-detail-modal.is-readonly .member-detail-section ion-select.select-disabled{opacity:1}.member-detail-modal:not(.is-readonly) .member-detail-section ion-input,.member-detail-modal:not(.is-readonly) .member-detail-section ion-select,.member-detail-modal:not(.is-readonly) .member-detail-section ion-textarea{background:#faf9f7;border-radius:8px;--padding-start: 10px;--padding-end: 10px}.member-password-status{padding:14px 16px;background:#f7f6f3;border:1px solid #ece8e1;border-radius:var(--app-radius-md);margin-bottom:12px;font-size:13px;line-height:1.8;color:#68635d;overflow-wrap:anywhere}.member-password-status strong{color:var(--ion-text-color);font-weight:600}.member-password-status ion-button{margin:10px 0 0}.member-detail-modal .member-lifecycle{margin:0 0 18px}.member-detail-modal #member-lifecycle-panel>.member-lifecycle{margin-bottom:0}@media (max-width: 600px){.member-detail-modal{--width: 100%;--height: 100%;--border-radius: 0}.member-detail-tabs{--padding-start: 16px;--padding-end: 16px}.member-detail-body{padding:18px 14px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.member-detail-hero{gap:16px;margin-bottom:20px}.member-detail-avatar{width:64px;height:64px;border-radius:20px}.member-detail-identity h2{font-size:20px}.member-detail-section{padding:16px;margin-bottom:14px}.member-detail-fields{grid-template-columns:minmax(0,1fr);gap:4px}.member-detail-section ion-input,.member-detail-section ion-select,.member-detail-section ion-textarea{font-size:16px}}.member-classification-banner{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:14px 16px;border:1px solid #e7e2d9;border-radius:12px;background:#f5f3ee;color:#393630}.member-classification-symbol{display:grid;place-items:center;flex:0 0 40px;height:40px;border:1px solid #e5dfd3;border-radius:12px;background:#fffdf8;color:#82745d;font-size:21px}.member-classification-intro{flex:1;min-width:0}.member-classification-intro strong{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:14px;font-weight:600;line-height:1.5}.member-classification-intro strong span{font-size:11px;font-weight:500;padding:2px 8px;border-radius:12px;background:#eae4d8;color:#75654d}.member-classification-intro p{margin:4px 0 0;color:#878077;font-size:12px;line-height:1.5}.member-classification-open{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;gap:6px;min-height:40px;padding:0 12px;border:1px solid #ddd5c8;border-radius:8px;background:#fff;color:#514a40;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.member-classification-open:hover{background:#faf8f3}.member-classification-modal{--width: 640px;--max-width: calc(100vw - 32px) ;--height: 760px;--max-height: 90%;--border-radius: 16px;color-scheme:light}.member-classification-modal ion-toolbar{--background: #fff;--color: #2c2c2c;--border-width: 0;--min-height: 64px}.member-classification-modal ion-title{font-size:17px;font-weight:600}.member-classification-modal ion-content{--background: #fff}.member-classification-form{margin:0;padding:0 24px 24px;color:#393630}.member-classification-description{margin:0 0 24px;color:#817b73;font-size:13px;line-height:1.7}.member-classification-form fieldset{min-width:0;margin:0;padding:0;border:0}.member-classification-form legend{display:flex;align-items:center;gap:8px;width:100%;margin-bottom:12px;padding:0;font-size:14px;font-weight:600}.member-classification-form legend>span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#efede7;color:#797164;font-size:12px}.member-classification-form legend small{margin-left:auto;color:#8a837a;font-size:12px;font-weight:400}.member-classification-form input[type=checkbox],.member-classification-form input[type=radio]{flex:0 0 17px;width:17px;height:17px;margin:0;accent-color:var(--ion-color-primary, #333);cursor:pointer}.member-classification-form input[type=search],.member-classification-form input[type=date]{box-sizing:border-box;width:100%;min-width:0;height:44px;padding:0 12px;border:1px solid #e4e0d9;border-radius:8px;background:#faf9f7;color:#393630;font:inherit;font-size:14px}.member-classification-search{margin-bottom:10px}.member-classification-search::placeholder{color:#a09a91}.member-classification-members{overflow:hidden;border:1px solid #e9e5df;border-radius:10px}.member-classification-select-all{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border-bottom:1px solid #e9e5df;background:#f7f6f3;font-size:12px;cursor:pointer}.member-classification-select-all small{margin-left:auto;color:#8a837a}.member-classification-member-list{max-height:clamp(128px,24vh,224px);overflow:auto;overscroll-behavior:contain}.member-classification-member{display:flex;align-items:center;gap:10px;min-height:64px;padding:8px 14px;border-bottom:1px solid #f0ede8;cursor:pointer}.member-classification-member:last-child{border-bottom:0}.member-classification-member:hover,.member-classification-member.is-selected{background:#faf9f6}.member-classification-avatar{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;background:#efede7;color:#827a6c;font-size:13px}.member-classification-person{display:grid;flex:1;min-width:0;gap:4px}.member-classification-person strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}.member-classification-person small{font-size:12px;color:#999087;overflow-wrap:anywhere}.member-classification-pending{flex-shrink:0;color:#978e7f;font-size:11px}.member-classification-empty,.member-classification-hint{margin:0;padding:16px;color:#8a837a;font-size:12px;line-height:1.6}.member-classification-form .member-classification-type{margin-top:24px}.member-classification-type-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.member-classification-type-options label{display:flex;align-items:center;gap:10px;padding:14px 12px;border:1px solid #e5e1da;border-radius:10px;background:#fff;cursor:pointer}.member-classification-type-options label.is-selected{border-color:#82796b;background:#f5f3ee;box-shadow:inset 0 0 0 1px #82796b}.member-classification-type-options label>span{display:grid;gap:6px}.member-classification-type-options strong{font-size:14px;font-weight:600}.member-classification-type-options small{color:#8b8378;font-size:12px;line-height:1.5}.member-classification-date{display:grid;gap:8px;margin-top:16px;font-size:13px}.member-classification-date small{color:#8b8378;font-size:12px;line-height:1.5}.member-classification-date>span small{margin-left:6px}.member-classification-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;padding-bottom:max(16px,env(safe-area-inset-bottom));border-top:1px solid #ece8e1;background:#fff}.member-classification-footer>div{display:grid;gap:4px}.member-classification-footer strong{color:#393630;font-size:14px;font-weight:600}.member-classification-footer span{color:#8a837a;font-size:12px}.member-classification-footer button{min-height:44px;flex-shrink:0;padding:0 20px;border:0;border-radius:9px;background:var(--ion-color-primary, #333);color:#fff;font:inherit;font-size:14px;font-weight:500;cursor:pointer}.member-classification-footer button:disabled{background:#e9e6e0;color:#a29b90;cursor:default}.member-classification-form fieldset:disabled{opacity:.6}.member-classification-error{padding:10px 12px;border-radius:8px;background:#fff1ef;color:#a4433e;font-size:13px;line-height:1.6}.member-classification-modal :is(input,button):focus-visible,.member-classification-open:focus-visible{outline:2px solid var(--ion-color-primary, #333);outline-offset:3px}@media (max-width: 600px){.member-classification-banner{gap:10px;padding:12px}.member-classification-symbol{display:none}.member-classification-intro p{max-width:23em}.member-classification-open{padding:0 10px;min-height:44px}.member-classification-modal{--width: 100%;--max-width: 100%;--height: 100%;--max-height: 100%;--border-radius: 0}.member-classification-form{padding:0 16px 24px}.member-classification-form input[type=search],.member-classification-form input[type=date]{font-size:16px}.member-classification-footer{padding-left:16px;padding-right:16px}.member-classification-type-options label{gap:8px;padding:12px 10px;align-items:flex-start}.member-classification-type-options input{margin-top:1px}}.schedule-time-trigger{display:flex;align-items:center;gap:12px;min-height:46px;padding:10px 14px;margin:4px 0 8px;border:1px solid #e8e4de;border-radius:8px;background:#faf9f7;color:#575047;cursor:pointer}.schedule-time-trigger ion-icon{font-size:20px;color:#92806b}.schedule-time-trigger strong{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.schedule-time-trigger span{color:#817b73;font-size:12px}.schedule-time-trigger:disabled{opacity:.6;cursor:default}.schedule-time-picker-modal{--width: min(460px, calc(100vw - 24px) );--height: min(650px, 90vh);--border-radius: 18px;--background: #fff;--backdrop-opacity: .28;--box-shadow: 0 20px 48px #00000026}.schedule-time-picker-modal ion-toolbar{--background: #fff;--border-color: #eeeae4}.schedule-time-picker-modal ion-title{font-size:17px;font-weight:600;color:#39352f}.schedule-time-picker-modal ion-button{--color: #716457;--border-radius: 8px;--box-shadow: none}.schedule-time-picker-modal ion-content{--background: #fff;--padding-start: 18px;--padding-end: 18px;--padding-top: 16px;--padding-bottom: 18px}.schedule-time-hint{margin:0 0 16px;color:#817b73;font-size:12px;line-height:1.6}.schedule-time-inputs{display:flex;align-items:flex-end;justify-content:center;gap:16px;color:#575047}.schedule-time-inputs>span{line-height:56px;font-size:26px}.schedule-time-inputs label{display:grid;gap:8px;text-align:center;font-size:12px}.schedule-time-inputs input{width:92px;height:56px;padding:8px;border:1px solid #ded7cc;border-radius:10px;background:#faf9f7;color:#39352f;text-align:center;font-size:28px;font-variant-numeric:tabular-nums}.schedule-time-error{color:#b34036;font-size:12px;text-align:center}.schedule-time-picker-modal h2{display:flex;align-items:baseline;gap:10px;margin:22px 0 10px;color:#575047;font-size:13px;font-weight:600}.schedule-time-picker-modal h2 small{font-size:11px;font-weight:400;color:#817b73}.schedule-time-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.schedule-time-grid button{min-height:40px;padding:6px 0;border:1px solid #e8e4de;border-radius:8px;background:#faf9f7;color:#575047;font-size:15px;font-variant-numeric:tabular-nums;cursor:pointer}.schedule-time-grid button[aria-pressed=true]{border-color:#817465;background:#817465;color:#fff;font-weight:600}.schedule-time-grid button:hover{border-color:#817465}.schedule-time-picker-modal ion-footer{padding:12px 18px max(12px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #eeeae4}.schedule-time-picker-modal ion-footer ion-button{margin:0;min-height:44px;--background: #39352f;--color: #fff}.schedule-time-trigger:focus-visible,.schedule-time-picker-modal input:focus-visible,.schedule-time-grid button:focus-visible{outline:2px solid #817465;outline-offset:3px}.admin-booking-modal{--width: min(760px, calc(100vw - 28px) );--height: min(850px, 90vh);--border-radius: 20px;--box-shadow: 0 20px 48px #00000026}.admin-booking-shell{display:flex;flex-direction:column;height:100%;min-height:0;color:#39352f;background:#fff}.admin-booking-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 18px;border-bottom:1px solid #eeeae4}.admin-booking-header h2{margin:0;font-size:20px;font-weight:650}.admin-booking-header p{margin:7px 0 0;color:#888;font-size:13px}.admin-booking-body{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable;padding:20px 24px}.admin-booking-shell fieldset{min-width:0;margin:0;padding:0;border:0}.admin-booking-filters{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.admin-booking-filters label,.admin-booking-teacher-field{display:grid;gap:8px;min-width:0;color:#777;font-size:13px}.admin-booking-filters input{width:100%;min-width:0;min-height:44px;padding:10px 11px;border:1px solid #e8e5df;border-radius:8px;color:#39352f;background:#faf9f7;font-family:inherit;font-size:14px}.admin-booking-filter-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 14px;color:#8a857d;font-size:12px}.admin-booking-text-button{flex-shrink:0;min-height:36px;padding:5px 8px;border:0;border-radius:6px;color:#70685c;background:transparent;font-size:13px;cursor:pointer}.admin-booking-course-section legend{display:flex;align-items:baseline;gap:10px;width:100%;margin-bottom:10px;font-size:14px;font-weight:600}.admin-booking-course-section legend span{color:#8a857d;font-size:12px;font-weight:400}.admin-booking-course-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin-bottom:12px}.admin-booking-course-actions>span{color:#8a857d;font-size:12px;line-height:1.6}.admin-booking-course-actions>div{display:flex;gap:8px;margin-left:auto}.admin-booking-course-actions .admin-booking-text-button{padding:5px 12px;border:1px solid #e8e5df;background:#faf9f7}.admin-booking-course-actions .admin-booking-text-button:hover:not(:disabled){border-color:#a59b8e;background:#f4f1eb}.admin-booking-course-list{display:grid;gap:9px;max-height:310px;overflow-y:auto;scrollbar-gutter:stable;padding:2px}.admin-booking-course-wrap{border:1px solid #e8e5df;border-radius:10px}.admin-booking-course-wrap.is-selected{border-color:#a59b8e;background:#f8f5ef}.admin-booking-course-wrap.is-unavailable{background:#f6f5f3;color:#928b82}.admin-booking-course-wrap.is-blocked{border-color:#d7a09a;background:#fff7f5}.admin-booking-course-warning{margin:0 0 10px;color:#9b3935;font-size:12px;line-height:1.7}.admin-booking-course-heading{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px}.admin-booking-course-badge{padding:2px 7px;border-radius:5px;background:#f8e5e1;color:#9b3935;font-size:11px;font-weight:600}.admin-booking-course-reason{margin:-2px 14px 14px 43px;color:#9b3935;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.admin-booking-course-reason strong{font-weight:600}.admin-booking-course{display:flex;align-items:center;gap:12px;min-width:0;padding:14px;cursor:pointer}.admin-booking-course-wrap>.admin-booking-teacher-field{margin:0 14px 14px 43px}.admin-booking-course input{flex-shrink:0;width:17px;height:17px;margin:0;accent-color:#827361}.admin-booking-course-info{display:grid;flex:1;gap:5px;min-width:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.admin-booking-course-name{font-size:15px;font-weight:600}.admin-booking-course-teacher{color:#8a857d;font-size:12px}.admin-booking-capacity{display:grid;flex-shrink:0;gap:4px;text-align:right;font-size:11px;color:#8a857d}.admin-booking-capacity strong{color:#70685c;font-size:16px;font-weight:600}.admin-booking-empty{margin:0;padding:30px 16px;border:1px dashed #e6e0d7;border-radius:10px;color:#8a857d;font-size:14px;line-height:1.7;text-align:center}.admin-booking-selection{display:grid;gap:14px;margin-top:20px;padding-top:18px;border-top:1px solid #eeeae4}.admin-booking-hint{margin:-3px 0 0;color:#8a857d;font-size:12px;line-height:1.6}.admin-booking-quota{display:grid;gap:10px;min-width:0}.admin-booking-quota h3{margin:0;color:#70685c;font-size:14px;font-weight:600}.admin-booking-quota-assets{display:grid;gap:8px;margin:0;padding:0;list-style:none}.admin-booking-quota-assets li{padding:10px 12px;border:1px solid #e8e5df;border-radius:8px;background:#faf9f7}.admin-booking-quota-assets li>div{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:5px 10px;color:#70685c;font-size:12px}.admin-booking-quota-assets strong{font-size:13px;font-weight:600}.admin-booking-quota-assets p{margin:7px 0 5px;color:#39352f;font-size:13px;line-height:1.6}.admin-booking-quota-assets b{font-weight:600}.admin-booking-quota-assets small{color:#8a857d;font-size:11px;line-height:1.6}.admin-booking-quota-warning{display:grid;gap:5px;margin:0;padding:10px 12px;border-radius:8px;background:#fff1ef;color:#9b3935;font-size:12px;line-height:1.7}.admin-booking-quota-warning button{justify-self:start}.admin-booking-quota-ready{margin:0;color:#4d7356;font-size:12px;line-height:1.6}.admin-booking-status>button{justify-self:start;padding-left:0}.admin-booking-error{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0;padding:12px 14px;border-radius:8px;color:#9b3935;background:#fff1ef;font-size:13px;line-height:1.7}.admin-booking-past-confirmation{margin-top:18px;padding:16px;border:1px solid #e5d4a6;border-radius:10px;background:#fffaf0}.admin-booking-past-confirmation h3{margin:0;color:#74572b;font-size:16px}.admin-booking-past-confirmation p{margin:9px 0 14px;color:#7a6a52;font-size:13px;line-height:1.7}.admin-booking-past-confirmation>div{display:flex;justify-content:flex-end;gap:10px}.admin-booking-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 16px;flex-shrink:0;padding:16px 24px;border-top:1px solid #eeeae4;background:#fff}.admin-booking-footer p{min-width:0;margin:0;color:#827b70;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.admin-booking-footer-feedback{display:grid;flex:1 1 260px;gap:7px;min-width:0}.admin-booking-status{display:grid;gap:4px;color:#70685c;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.admin-booking-status strong{font-weight:600}.admin-booking-status.is-error{color:#9b3935}.admin-booking-status.is-success{color:#4d7356}.admin-booking-status .admin-booking-refresh-status{color:#827b70;font-size:12px}.admin-booking-footer-actions{display:flex;align-items:center;flex-shrink:0;gap:8px;margin-left:auto}.admin-booking-results{margin-top:18px;padding-top:16px;border-top:1px solid #eeeae4}.admin-booking-results h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin:0 0 10px;font-size:15px}.admin-booking-results h3 span{color:#8a857d;font-size:12px;font-weight:400}.admin-booking-results ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.admin-booking-results li{display:grid;gap:4px;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.6;background:#f5f6f2}.admin-booking-results li strong{color:#4d7356;font-weight:500}.admin-booking-results li.is-error{background:#fff3ef}.admin-booking-results li.is-error strong{color:#9b3935}.admin-booking-results>p{color:#8a857d;font-size:12px;line-height:1.7}.admin-booking-past-confirmation ul{display:grid;gap:6px;margin:0 0 16px;padding-left:18px;color:#7a6a52;font-size:13px;line-height:1.6}.admin-booking-body::-webkit-scrollbar,.admin-booking-course-list::-webkit-scrollbar{width:12px}.admin-booking-body::-webkit-scrollbar-track,.admin-booking-course-list::-webkit-scrollbar-track{border-radius:8px;background:#f2efe9}.admin-booking-body::-webkit-scrollbar-thumb,.admin-booking-course-list::-webkit-scrollbar-thumb{min-height:40px;border:3px solid #f2efe9;border-radius:8px;background:#b8afa2}.admin-booking-primary-button,.admin-booking-secondary-button{flex-shrink:0;min-height:42px;padding:10px 20px;border:1px solid #827361;border-radius:8px;color:#fff;background:#827361;font-size:14px;font-weight:600;cursor:pointer}.admin-booking-secondary-button{color:#70685c;background:#fff;border-color:#e0d8cc}.admin-booking-shell button:disabled{opacity:.5;cursor:default}.admin-booking-shell :is(button,input):focus-visible{outline:2px solid #81786b;outline-offset:2px}.admin-booking-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 600px){.admin-booking-modal{--width: calc(100vw - 20px) ;--height: 92vh;--border-radius: 16px}.admin-booking-header{padding:18px 16px 15px}.admin-booking-body{padding:16px}.admin-booking-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.admin-booking-filters>.report-option-field{grid-column:1 / -1}.admin-booking-filters input{font-size:16px;padding:9px 7px}.admin-booking-filter-caption{align-items:flex-start}.admin-booking-filter-caption>span{padding-top:8px;line-height:1.6}.admin-booking-course{gap:9px;padding:12px 10px}.admin-booking-course-info{font-size:12px}.admin-booking-course-name{font-size:14px}.admin-booking-footer{padding:14px 16px calc(14px + env(safe-area-inset-bottom))}.admin-booking-footer{flex-wrap:wrap;gap:10px}.admin-booking-footer-actions{margin-left:auto}.admin-booking-primary-button,.admin-booking-secondary-button{padding:10px 15px}}.schedule-adjustment-modal{--width: min(820px, calc(100vw - 28px) );--height: min(900px, 92vh);--border-radius: 20px;--box-shadow: 0 20px 48px #00000026}.schedule-adjustment-shell{display:flex;flex-direction:column;height:100%;min-height:0;color:#39352f;background:#fff}.schedule-adjustment-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 18px;border-bottom:1px solid #eeeae4}.schedule-adjustment-header h2{margin:0;font-size:20px;font-weight:650}.schedule-adjustment-header p{margin:7px 0 0;color:#8a857d;font-size:13px}.schedule-adjustment-body{flex:1;min-height:0;padding:20px 24px;overflow-y:auto;scrollbar-gutter:stable}.schedule-adjustment-body::-webkit-scrollbar{width:12px}.schedule-adjustment-body::-webkit-scrollbar-track{background:#f2efe9;border-radius:8px}.schedule-adjustment-body::-webkit-scrollbar-thumb{min-height:40px;border:3px solid #f2efe9;border-radius:8px;background:#b8afa2}.schedule-adjustment-shell :is(p,li){font-size:13px;line-height:1.7;overflow-wrap:anywhere}.schedule-adjustment-shell h3{margin:0 0 8px;font-size:15px;font-weight:600}.schedule-adjustment-shell h4{margin:0 0 6px;font-size:13px;font-weight:600}.schedule-adjustment-shell small{display:block;color:#8a857d;font-size:12px;line-height:1.6}.schedule-adjustment-source{padding:15px 16px;border:1px solid #e7e0d5;border-radius:10px;background:#faf8f4}.schedule-adjustment-source p{margin:5px 0}.schedule-adjustment-shell fieldset{min-width:0;margin:20px 0;padding:0;border:0}.schedule-adjustment-shell legend{margin-bottom:10px;padding:0;font-size:14px;font-weight:600}.schedule-adjustment-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.schedule-adjustment-actions label{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid #e8e5df;border-radius:9px;cursor:pointer}.schedule-adjustment-actions label.is-selected{border-color:#a59b8e;background:#f8f5ef}.schedule-adjustment-actions strong{display:block;margin-bottom:4px;font-size:13px}.schedule-adjustment-shell input:is([type=radio],[type=checkbox]){flex-shrink:0;width:16px;height:16px;margin:2px 0;accent-color:#827361}.schedule-adjustment-scope{display:flex;flex-wrap:wrap;gap:10px 20px}.schedule-adjustment-scope label{display:flex;align-items:center;gap:7px;font-size:13px}.schedule-adjustment-field{display:grid;gap:8px;min-width:0;margin:18px 0;font-size:13px}.schedule-adjustment-field>span{font-weight:600}.schedule-adjustment-field :is(input,textarea){width:100%;min-width:0;min-height:42px;padding:10px 11px;border:1px solid #e8e5df;border-radius:8px;color:#39352f;background:#faf9f7;font-family:inherit;font-size:14px;line-height:1.6}.schedule-adjustment-field textarea{resize:vertical}.schedule-adjustment-timing{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px}.schedule-adjustment-teachers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.schedule-adjustment-target{display:grid;gap:14px;margin:18px 0}.schedule-adjustment-booking{display:flex;gap:10px;padding:10px 12px;border:1px solid #eeeae4;border-radius:8px;margin:7px 0}.schedule-adjustment-booking strong{font-size:13px;font-weight:600}.schedule-adjustment-selection-tools{display:flex;gap:8px;justify-content:flex-end;margin-bottom:8px}.schedule-adjustment-selection-tools button,.schedule-adjustment-message button{min-height:34px;padding:7px 12px;border:1px solid #e0d8cc;border-radius:7px;color:#70685c;background:#fff;font-size:12px;cursor:pointer}.schedule-adjustment-affected{padding:12px 14px;border-radius:9px;background:#f6f5f2;margin:18px 0}.schedule-adjustment-affected p{margin:0}.schedule-adjustment-hint{color:#8a857d}.schedule-adjustment-message{margin:14px 0;padding:12px 14px;border-radius:8px;color:#9b3935;background:#fff1ef}.schedule-adjustment-message p{margin:0 0 8px}.schedule-adjustment-message ul{margin:0;padding-left:20px}.schedule-adjustment-preview{margin-top:22px;padding-top:20px;border-top:1px solid #e5ded2}.schedule-adjustment-preview>section{margin-top:18px}.schedule-adjustment-before-after{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.schedule-adjustment-before-after>div{padding:12px;border:1px solid #e8e5df;border-radius:8px}.schedule-adjustment-before-after p{margin:4px 0}.schedule-adjustment-preview-members{display:grid;gap:8px;margin:0;padding:0;list-style:none}.schedule-adjustment-preview-members li{display:grid;gap:4px;padding:10px 12px;border:1px solid #e7e3dc;border-radius:8px;background:#faf9f7}.schedule-adjustment-preview-members li.is-error{border-color:#e3b7af;background:#fff6f4}.schedule-adjustment-preview-members strong{font-size:13px;font-weight:600}.schedule-adjustment-preview-members span{font-size:12px}.schedule-adjustment-history{margin-top:22px;padding-top:18px;border-top:1px solid #e5ded2}.schedule-adjustment-history summary{font-size:14px;font-weight:600;cursor:pointer}.schedule-adjustment-history ol{display:grid;gap:12px;margin:14px 0 0;padding:0;list-style:none}.schedule-adjustment-history li{padding:12px;border:1px solid #e8e5df;border-radius:9px;background:#faf9f7}.schedule-adjustment-history-heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 12px}.schedule-adjustment-history-heading span{color:#8a857d;font-size:12px}.schedule-adjustment-history p{margin:6px 0 0}.schedule-adjustment-error{color:#9b3935}.schedule-adjustment-confirmation{display:flex;align-items:flex-start;gap:10px;padding:14px;margin-top:18px;border:1px solid #e5d4a6;border-radius:8px;background:#fffaf0;color:#74572b;font-size:13px;line-height:1.7}.schedule-adjustment-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;flex-shrink:0;padding:15px 24px;border-top:1px solid #eeeae4;background:#fff}.schedule-adjustment-footer>[role=status]{display:grid;flex:1 1 240px;gap:4px;min-width:0;color:#827b70;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.schedule-adjustment-footer strong{font-weight:500}.schedule-adjustment-footer .is-error{color:#9b3935}.schedule-adjustment-footer .is-success{color:#4d7356}.schedule-adjustment-footer-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.schedule-adjustment-primary,.schedule-adjustment-secondary{min-height:42px;padding:9px 15px;border:1px solid #827361;border-radius:8px;color:#fff;background:#827361;font-size:13px;font-weight:600;cursor:pointer}.schedule-adjustment-secondary{color:#70685c;border-color:#e0d8cc;background:#fff}.schedule-adjustment-text-button{padding:6px 8px;border:0;color:#70685c;background:transparent;cursor:pointer;font-size:13px}.schedule-adjustment-shell button:disabled,.schedule-adjustment-shell fieldset:disabled{opacity:.55;cursor:default}.schedule-adjustment-shell :is(button,input,textarea):focus-visible{outline:2px solid #81786b;outline-offset:2px}.schedule-adjustment-picker{--width: min(580px, calc(100vw - 36px) );--height: min(620px, 80vh);--border-radius: 16px;--backdrop-opacity: .45;--box-shadow: 0 18px 50px #00000035}.schedule-adjustment-picker::part(backdrop){background:#302b24}.schedule-adjustment-picker::part(content){border:1px solid #e6ded2}@media (max-width: 600px){.schedule-adjustment-modal{--width: calc(100vw - 20px) ;--height: 94vh;--border-radius: 16px}.schedule-adjustment-header{padding:18px 16px 15px}.schedule-adjustment-body{padding:16px}.schedule-adjustment-actions,.schedule-adjustment-before-after,.schedule-adjustment-teachers{grid-template-columns:minmax(0,1fr)}.schedule-adjustment-timing{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.schedule-adjustment-timing>label:first-child{grid-column:1 / -1}.schedule-adjustment-timing .schedule-adjustment-field{margin:6px 0}.schedule-adjustment-field :is(input,textarea){font-size:16px}.schedule-adjustment-footer{padding:13px 16px calc(13px + env(safe-area-inset-bottom))}}.admin-cancellation-preview{color:#57524b;overflow-wrap:anywhere}.admin-cancellation-preview p{margin:5px 0 0;font-size:12px;line-height:1.7;white-space:pre-wrap}.admin-cancellation-preview .admin-cancellation-preview-warning{margin:10px 0;color:#8a6544}.admin-cancellation-preview-details{margin-top:12px;padding:12px;border:1px solid #e5ded3;border-radius:8px;background:#fff}.admin-cancellation-preview h4{margin:0 0 10px;color:#4b443b;font-size:13px;font-weight:600}.admin-cancellation-preview dl{margin:0;font-size:12px}.admin-cancellation-preview dl>div{display:flex;flex-wrap:wrap;gap:4px 12px;margin:6px 0}.admin-cancellation-preview dt{flex:0 0 96px;color:#817b73}.admin-cancellation-preview dd{flex:1 1 150px;margin:0;color:#4b443b}.admin-cancellation-preview ion-button{margin:8px 0 0;--border-color: #d8b5af;--color: #985e55}.admin-cancellation-preview [role=alert]{color:#b42318}.admin-cancellation-result{margin:0 0 16px;padding:14px 16px;border:1px solid #cfdfd3;border-radius:10px;background:#f2f7f3;color:#425e49;overflow-wrap:anywhere}.admin-cancellation-result h3{margin:0 0 12px;color:#36523d;font-size:14px;font-weight:600}.admin-cancellation-result p,.admin-cancellation-details p{margin:6px 0 0;font-size:12px;line-height:1.7;white-space:pre-wrap}.admin-cancellation-details dl{margin:0;font-size:12px}.admin-cancellation-details dl>div{display:flex;flex-wrap:wrap;gap:4px 12px;margin:6px 0}.admin-cancellation-details dt{flex:0 0 96px;color:#627c68}.admin-cancellation-details dd{flex:1 1 150px;margin:0;color:#36523d}.admin-cancellation-history{box-sizing:border-box;min-width:0;padding:12px 14px;border:1px solid #e2e6e0;border-radius:8px;background:#f7f9f6;color:#536358;overflow-wrap:anywhere}.admin-cancellation-history h4{margin:0 0 10px;color:#536358;font-size:13px;font-weight:600}.admin-cancellation-history .admin-cancellation-history-unavailable{margin:0;color:#746b61;font-size:12px;line-height:1.7}.schedule-students-panel{padding:18px;margin-bottom:22px;border:1px solid #eceae6;border-radius:12px;background:#fff;color:#57524b;overflow-wrap:anywhere}.schedule-students-panel h2{margin:0 0 14px;color:#39352f;font-size:16px;font-weight:600}.schedule-students-panel>section+section{border-top:1px solid #eeeae4;margin-top:16px;padding-top:16px}.schedule-students-panel h3{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 10px;color:#4b443b;font-size:14px;font-weight:600}.schedule-students-panel h3>span{flex-shrink:0;color:#817b73;font-size:12px;font-weight:400}.schedule-students-panel ul{list-style:none;padding:0;margin:0}.schedule-students-panel li{padding:10px 12px;border-radius:8px;background:#faf9f7}.schedule-students-panel li+li{margin-top:8px}.schedule-students-row-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.schedule-students-row-heading strong{min-width:0;font-size:14px;font-weight:600}.schedule-students-row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-left:auto}.schedule-students-status{padding:3px 7px;border-radius:5px;color:#726858;background:#f0ece4;font-size:11px}.schedule-students-status.is-cancelled{color:#817b73;background:#eeece8}.schedule-students-panel p{margin:5px 0 0;font-size:12px;line-height:1.7;white-space:pre-wrap}.schedule-students-panel li p{color:#746b61}.schedule-students-panel .admin-cancellation-history{margin-top:10px}.schedule-students-feedback,.schedule-students-empty{color:#817b73}.schedule-students-feedback{margin-bottom:12px!important}.schedule-students-error{margin-bottom:14px;padding:10px 12px;border:1px solid #e7cbc5;border-radius:8px;background:#fdf6f4;color:#985e55}.schedule-students-error ion-button{margin:8px 0 0;--border-color: #d8b5af;--color: #985e55}.schedule-students-panel .schedule-students-cancel-entry{margin:0;height:32px;--border-radius: 7px;--border-color: #d8b5af;--color: #985e55;font-size:12px}.schedule-students-confirm{margin:14px 0;padding:14px;border:1px solid #ddc7b5;border-radius:10px;background:#fcfaf6;outline-color:#997b56}.schedule-students-confirm fieldset{display:flex;flex-wrap:wrap;gap:10px 16px;border:0;padding:0;margin:14px 0}.schedule-students-confirm legend{margin-bottom:8px;font-size:13px;font-weight:600}.schedule-students-confirm label{display:inline-flex;align-items:center;gap:6px;min-height:30px;font-size:13px;cursor:pointer}.schedule-students-confirm input{accent-color:#997b56}.schedule-students-confirm [role=alert]{color:#b42318}.schedule-students-confirm-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px}.schedule-students-confirm-actions ion-button{margin:0}@media (max-width: 480px){.schedule-students-panel{padding:14px}}.schedule-management-page .schedule-content{--background: var(--app-bg, #f9f9f9)}.schedule-management-page .schedule-content.is-list::part(scroll){overflow-y:scroll;scrollbar-gutter:stable}@supports not selector(::-webkit-scrollbar){.schedule-management-page .schedule-content.is-list::part(scroll){scrollbar-width:auto;scrollbar-color:#a59b8e #efede8}}.schedule-management-page .schedule-content.is-list::part(scroll)::-webkit-scrollbar{width:14px}.schedule-management-page .schedule-content.is-list::part(scroll)::-webkit-scrollbar-track{background:#efede8}.schedule-management-page .schedule-content.is-list::part(scroll)::-webkit-scrollbar-thumb{background:#a59b8e;border:3px solid #efede8;border-radius:7px}.schedule-management-page .schedule-content.is-list::part(scroll)::-webkit-scrollbar-thumb:hover{background:#817465}.schedule-management-page .schedule-toolbar{padding:6px 24px 16px;background:#fff;border-bottom:1px solid #eceae6;display:grid;gap:12px}.schedule-management-page .schedule-view-tabs{display:flex;gap:4px;width:100%;max-width:1072px;margin:auto;padding:4px;background:#f3f1ee;border-radius:10px}.schedule-management-page .schedule-view-tabs button{display:flex;justify-content:center;align-items:center;gap:7px;flex:1;min-width:0;min-height:37px;padding:8px;border:0;border-radius:7px;background:transparent;color:#817b73;font-size:14px;cursor:pointer}.schedule-management-page .schedule-view-tabs button[aria-pressed=true]{color:#39352f;background:#fff;font-weight:600;box-shadow:0 1px 4px rgba(57,53,47,.07)}.schedule-management-page .schedule-view-tabs ion-icon{font-size:16px}.schedule-management-page .schedule-store-picker{justify-self:center;width:min(320px,100%);min-height:42px;height:auto;margin:0;border:1px solid #ece7df;border-radius:9px;--border-radius: 9px;--background: #faf9f7;--color: #575047;--padding-start: 12px;--padding-end: 12px;--padding-top: 10px;--padding-bottom: 10px;font-size:13px}.schedule-management-page .schedule-store-picker span{white-space:normal;overflow-wrap:anywhere;line-height:1.5}.schedule-management-page .schedule-store-picker ion-icon{flex-shrink:0;color:#a59b8e;font-size:16px}.schedule-management-page .schedule-actions{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:8px;margin-right:16px}.schedule-management-page .schedule-actions ion-button{height:36px;min-height:36px;margin:0;--border-radius: 8px;--border-color: #e3dfd8;--border-width: 1px;--color: #71685e;--box-shadow: none;--padding-start: 13px;--padding-end: 13px;font-size:12px}.schedule-management-page .schedule-actions ion-button.schedule-add{--color: #fff;--background: #39352f}.schedule-management-page .schedule-actions ion-icon{font-size:16px}.schedule-management-page .schedule-filters{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;width:100%;max-width:1072px;margin:0 auto;padding-top:12px;border-top:1px solid #f0eeeb}.schedule-management-page .schedule-filter{display:flex;align-items:center;gap:7px;min-width:0;max-width:100%;min-height:38px;padding:8px 11px;border:1px solid #e8e4de;border-radius:8px;background:#faf9f7;font-size:12px;color:#71685e;cursor:pointer}.schedule-management-page .schedule-filter span{overflow-wrap:anywhere;text-align:left;line-height:1.6}.schedule-management-page .schedule-filter ion-icon{flex-shrink:0}.schedule-management-page .schedule-filters ion-button{height:36px;min-height:36px;margin:0;font-size:12px;--color: #81786b}.schedule-management-page .schedule-batch-toggle{margin-left:auto!important}.schedule-management-page button:focus-visible{outline:2px solid #81786b;outline-offset:3px}.schedule-management-page .schedule-body{max-width:1120px;margin:0 auto;padding:24px}.schedule-management-page .schedule-body.is-calendar{height:100%;padding:16px 24px;max-width:1440px}.schedule-management-page .schedule-calendar{height:100%;min-height:260px;display:flex;flex-direction:column;border:1px solid #eceae6;border-radius:12px;overflow:hidden;background:#fff}.schedule-management-page .schedule-list{padding:0;border:1px solid #eceae6;border-radius:12px;background:#fff;overflow:hidden;box-shadow:var(--app-shadow)}.schedule-management-page .schedule-list ion-item{--padding-start: 20px;--inner-padding-end: 20px;--padding-top: 12px;--padding-bottom: 12px;--border-color: #f0eeeb;--background: #fff;--background-hover: #faf9f7}.schedule-management-page .schedule-list .schedule-row-label{white-space:normal;min-width:0}.schedule-management-page .schedule-row-label h2,.schedule-management-page .schedule-row-label h3{color:#39352f;font-size:15px;line-height:1.6;overflow-wrap:anywhere}.schedule-management-page .schedule-row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;color:#817b73;font-size:12px;line-height:1.7}.schedule-management-page .schedule-row-meta span{min-width:0;overflow-wrap:anywhere}.schedule-management-page .schedule-row-meta ion-icon{flex-shrink:0;color:#a59b8e}.schedule-management-page .schedule-date-tile{background:#f4f1eb!important;color:#81705b!important;border-color:#e7dfd2!important;margin-inline-end:16px}.schedule-management-page .schedule-template-intro{padding:20px;margin-bottom:20px;border:1px solid #eceae6;border-radius:12px;background:#fff;color:#39352f}.schedule-management-page .schedule-template-intro p{line-height:1.8}.schedule-management-page .schedule-template-intro ion-button{height:42px;--border-radius: 8px;--box-shadow: none;margin:16px 0 0}.schedule-management-page .schedule-template-body ion-list-header{padding:0 0 12px;min-height:0;color:#817b73;font-size:13px}.schedule-management-page .schedule-batch-footer{padding-bottom:env(safe-area-inset-bottom);background:#fff}.schedule-management-page [role=alert] ion-button{height:38px}.schedule-modal{--width: min(720px, calc(100vw - 32px) );--height: min(86vh, 860px);--border-radius: 20px}.schedule-modal ion-toolbar{--background: #fff;--border-color: #eeeae4}.schedule-modal ion-title{color:#39352f;font-size:17px;font-weight:600}.schedule-modal ion-toolbar ion-button{height:36px;--color: #71685e;font-size:14px}.schedule-modal ion-content{--background: #f9f9f9;--padding-start: 24px;--padding-end: 24px;--padding-top: 20px;--padding-bottom: 24px}.schedule-modal ion-list{padding:6px;border:1px solid #eceae6;border-radius:12px;background:#fff;margin-bottom:18px}.schedule-modal ion-item{--background: #fff;--padding-start: 12px;--inner-padding-end: 12px;--padding-top: 7px;--padding-bottom: 7px;--border-color: #f0eeeb;--color: #57524b;font-size:14px}.schedule-modal ion-label{white-space:normal!important;line-height:1.6;overflow-wrap:anywhere}.schedule-modal ion-label[position=stacked]{color:#817b73;font-size:13px;transform:none;margin-bottom:8px}.schedule-modal ion-select{max-width:100%;width:100%;font-size:14px}.schedule-member-picker .report-option-field{width:100%;padding:4px 0}.schedule-edit-modal .schedule-member-picker-content{width:100%}.schedule-edit-modal .schedule-member-policy{color:#746b61;font-size:12px;line-height:1.7;margin:4px 0 10px}.schedule-edit-modal .schedule-target-history{width:100%;padding:8px 0;overflow-wrap:anywhere}.schedule-edit-modal .schedule-target-history h3{color:#4b443b;font-size:14px;margin:0 0 10px}.schedule-edit-modal .schedule-target-history ul{list-style:none;margin:0;padding:0}.schedule-edit-modal .schedule-target-history li{padding:10px 12px;margin-top:8px;border-radius:8px;background:#faf9f7}.schedule-edit-modal .schedule-target-history strong{color:#4b443b;font-size:14px}.schedule-edit-modal .schedule-target-history p{color:#746b61;font-size:12px;line-height:1.7;margin:4px 0;white-space:pre-wrap}.schedule-edit-modal .schedule-target-history [role=alert]{color:#b42318}ion-modal.schedule-member-modal{--height: min(80vh, 620px)}ion-modal.modal-default.show-modal~ion-modal.modal-default.schedule-member-modal{--backdrop-opacity: .28;--box-shadow: 0 20px 48px #00000026}.schedule-member-modal .report-option-shell{height:100%;max-height:none}.schedule-member-modal .report-option-options{align-content:start}.schedule-modal ion-select::part(text){white-space:normal;overflow-wrap:anywhere}.schedule-modal ion-input{font-size:15px;--color: #39352f}.schedule-modal ion-button{height:40px;--border-radius: 8px;--box-shadow: none}.schedule-modal ion-footer{border-top:1px solid #eceae6;background:#fff;padding-bottom:max(10px,env(safe-area-inset-bottom))!important}.schedule-modal ion-datetime{max-width:100%;margin:0 auto;--background: #fff;border-radius:12px}.schedule-date-modal{--width: min(560px, calc(100vw - 32px) )}.schedule-course-modal{--width: min(560px, calc(100vw - 32px) );--height: min(76vh, 700px)}@media (max-width: 600px){.schedule-management-page .schedule-toolbar{padding:4px 14px 12px;gap:10px}.schedule-management-page .schedule-actions{gap:6px}.schedule-management-page .schedule-actions ion-button{--padding-start: 9px;--padding-end: 9px}.schedule-management-page .schedule-body{padding:18px 14px}.schedule-management-page .schedule-body.is-calendar{padding:12px 0 0}.schedule-management-page .schedule-calendar{border-radius:0;border-left:0;border-right:0}.schedule-management-page .schedule-list ion-item{--padding-start: 12px;--inner-padding-end: 12px;--padding-top: 10px;--padding-bottom: 10px}.schedule-management-page .schedule-date-tile{margin-inline-end:10px;min-width:48px!important;padding:7px!important}.schedule-management-page .schedule-list ion-item>div[slot=end]{margin-inline-start:6px;font-size:11px!important}.schedule-management-page .schedule-template-intro{padding:16px}.schedule-modal{--width: 100%;--height: 100%;--border-radius: 0}.schedule-modal ion-content{--padding-start: 14px;--padding-end: 14px;--padding-top: 16px;--padding-bottom: 20px}.schedule-modal ion-input{font-size:16px}}.schedule-management-page .schedule-calendar .zz-admin-week-grid{border-radius:0;box-shadow:none}.schedule-management-page .schedule-calendar .zz-week-selector{background:#fff;box-shadow:none}.schedule-management-page .schedule-calendar .zz-week-dates{gap:4px}.schedule-management-page .schedule-calendar .zz-date-select-item{border:1px solid #ece7df;background:#fff;color:#817b73;border-radius:7px}.schedule-management-page .schedule-calendar .zz-date-select-item.selected{background:#f0ece5;border-color:#d5cbbc;color:#575047}.schedule-management-page .schedule-calendar .zz-date-day,.schedule-management-page .schedule-calendar .zz-date-number{font-size:11px;line-height:1.4}.schedule-management-page .schedule-calendar .zz-grid-header-row,.schedule-management-page .schedule-calendar .zz-header-corner-cell,.schedule-management-page .schedule-calendar .zz-day-header{background:#faf9f7;border-color:#e8e4de}.schedule-management-page .schedule-calendar .zz-admin-grid-scroll-container{scrollbar-width:thin;scrollbar-color:#c4bdb2 #f5f3ef}.schedule-management-page .schedule-calendar .zz-admin-grid-scroll-container::-webkit-scrollbar{width:7px;height:7px}.schedule-management-page .schedule-calendar .zz-admin-grid-scroll-container::-webkit-scrollbar-thumb{background:#c4bdb2;border-radius:6px}@media (max-width: 600px){.schedule-management-page .schedule-actions{gap:4px;margin-right:8px}.schedule-management-page .schedule-actions .schedule-action-label{display:none}.schedule-management-page .schedule-actions ion-button{width:34px;height:36px;--padding-start: 8px;--padding-end: 8px}.schedule-management-page .schedule-actions ion-icon{margin:0;font-size:18px}}@media (max-width: 600px){.schedule-management-page>ion-header>ion-toolbar>ion-title{padding-inline:8px;font-size:16px}}.schedule-management-page .schedule-top-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px) minmax(0,1fr);align-items:center;gap:12px;padding:8px 16px}.schedule-management-page .schedule-heading{display:flex;align-items:center;gap:12px;min-width:0}.schedule-management-page .schedule-heading h1{margin:0;white-space:nowrap;color:#39352f;font-size:18px;font-weight:600}.schedule-management-page .schedule-top-row .schedule-actions{justify-self:end;margin:0}.schedule-management-page .schedule-top-row .schedule-store-picker{width:100%}@media (min-width: 701px) and (max-width: 1100px){.schedule-management-page .schedule-top-row{grid-template-columns:minmax(0,1fr) minmax(0,280px) minmax(0,1fr)}.schedule-management-page .schedule-actions .schedule-action-label{display:none}.schedule-management-page .schedule-actions ion-button{width:34px;--padding-start: 8px;--padding-end: 8px}.schedule-management-page .schedule-actions ion-icon{margin:0}}@media (max-width: 700px){.schedule-management-page .schedule-top-row{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:8px}.schedule-management-page .schedule-top-row .schedule-store-picker{width:100%;min-width:0;min-height:36px;height:36px;--padding-start: 6px;--padding-end: 6px}.schedule-management-page .schedule-heading{gap:6px}.schedule-management-page .schedule-heading h1{font-size:16px}.schedule-management-page .schedule-actions .schedule-action-label{display:none}.schedule-management-page .schedule-actions{gap:4px}.schedule-management-page .schedule-actions ion-button{width:32px;--padding-start: 7px;--padding-end: 7px}.schedule-management-page .schedule-actions ion-icon{margin:0}}.schedule-management-page .schedule-type-filter{min-width:0;max-width:100%}.schedule-management-page .schedule-type-filter .report-option-field{gap:0}.schedule-management-page .schedule-type-filter label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.schedule-management-page .schedule-type-filter .report-option-trigger{min-height:38px;padding:8px 11px;gap:12px;font-size:12px;color:#71685e}.schedule-type-modal{--height: min(80vh, 430px)}.schedule-type-modal .report-option-shell{height:100%;max-height:none}.schedule-type-modal input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:#71685e;cursor:pointer}@media (max-width: 700px){.schedule-management-page .schedule-top-row .schedule-store-picker span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-management-page .schedule-top-row .schedule-store-picker ion-icon[slot=start]{display:none}.schedule-management-page .schedule-top-row .schedule-store-picker ion-icon[slot=end]{margin-left:3px;font-size:12px}.schedule-management-page .schedule-heading{gap:2px}.schedule-management-page .schedule-heading h1{font-size:14px}.schedule-management-page .schedule-heading ion-buttons{margin:0}.schedule-management-page .schedule-heading ion-back-button{width:28px;min-width:28px;--padding-start: 0;--padding-end: 0}.schedule-management-page .schedule-actions{gap:2px}.schedule-management-page .schedule-actions ion-button{width:28px;min-width:28px;--padding-start: 5px;--padding-end: 5px}.schedule-management-page .schedule-actions ion-icon{font-size:16px}}.schedule-management-page .schedule-filter-options{display:flex;align-items:center;gap:8px;min-width:0;flex:1;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#c4bdb2 #f5f3ef}.schedule-management-page .schedule-filter-options>*{flex-shrink:0}.schedule-management-page .schedule-filter-options::-webkit-scrollbar{height:4px}.schedule-management-page .schedule-filter-options::-webkit-scrollbar-thumb{background:#c4bdb2;border-radius:4px}.schedule-management-page .schedule-batch-toggle{flex-shrink:0;white-space:nowrap}@media (max-width: 700px){.schedule-management-page .schedule-filters,.schedule-management-page .schedule-filter-options{gap:5px}.schedule-management-page .schedule-filter{gap:3px;padding:8px 6px}.schedule-management-page .schedule-filter-options .schedule-filter>ion-icon:first-child{display:none}.schedule-management-page .schedule-type-filter .report-option-trigger{padding:8px 6px;gap:4px}.schedule-management-page .schedule-type-filter .report-option-hint{display:none}.schedule-management-page .schedule-filters ion-button{--padding-start: 5px;--padding-end: 5px}}.schedule-type-modal .report-option-header>div{min-width:0}.schedule-type-modal .report-option-close{flex-shrink:0;white-space:nowrap}.schedule-export-modal{--width: min(500px, calc(100vw - 28px) );--height: min(86vh, 570px);--border-radius: 20px}.schedule-export-modal ion-toolbar{--background: #fff;--border-color: #eeeae4}.schedule-export-modal ion-title{color:#39352f;font-size:18px;font-weight:600}.schedule-export-modal ion-toolbar ion-button{height:36px;--color: #817b73;font-size:13px}.schedule-export-modal .schedule-export-content{--background: #faf9f7;--padding-start: 24px;--padding-end: 24px;--padding-top: 20px;--padding-bottom: 16px}.schedule-export-store{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid #eae5dd;border-radius:8px;background:#f2efe9;font-size:12px;line-height:1.6;color:#817465}.schedule-export-store ion-icon{flex-shrink:0;margin-top:2px;font-size:16px}.schedule-export-store span{min-width:0;overflow-wrap:anywhere}.schedule-export-intro{margin:18px 0 14px}.schedule-export-intro h2{margin:0 0 5px;font-size:15px;font-weight:600;color:#39352f}.schedule-export-intro p{margin:0;font-size:12px;color:#8d877f;line-height:1.6}.schedule-month-picker{padding:12px;border:1px solid #ece7df;border-radius:12px;background:#fff}.schedule-month-year{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.schedule-month-year strong{font-size:15px;color:#575047}.schedule-month-year button{width:34px;height:32px;border:1px solid #e8e4de;border-radius:7px;background:#faf9f7;color:#817465;font-size:24px;line-height:1;cursor:pointer}.schedule-month-year button:disabled{opacity:.4;cursor:default}.schedule-month-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.schedule-month-options button{min-width:0;min-height:42px;border:1px solid #ece7df;border-radius:8px;background:#fff;color:#777167;font-size:14px;cursor:pointer}.schedule-month-options button[aria-pressed=true]{border-color:#a59b8e;background:#f0ece5;color:#39352f;font-weight:600}.schedule-export-selection{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:12px;font-size:12px;color:#817465}.schedule-export-selection button{min-height:32px;padding:4px 6px;background:transparent;color:#817465;cursor:pointer}.schedule-export-modal ion-footer{border-top:1px solid #eeeae4;background:#fff}.schedule-export-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 24px max(14px,env(safe-area-inset-bottom))}.schedule-export-actions ion-button{margin:0;height:42px;--border-radius: 8px;--box-shadow: none;font-size:14px}.schedule-export-actions ion-button[fill=outline]{--color: #817465;--border-color: #d9d3c9;--border-width: 1px}.schedule-export-modal button:focus-visible{outline:2px solid #817465;outline-offset:2px}@media (max-width: 600px){.schedule-export-modal .schedule-export-content{--padding-start: 16px;--padding-end: 16px;--padding-top: 16px}.schedule-export-actions{padding-left:16px;padding-right:16px}}.schedule-add-modal{--width: min(540px, calc(100vw - 28px) );--height: min(86vh, 600px);--border-radius: 20px}.schedule-add-modal ion-toolbar{--background: #fff;--border-color: #eeeae4}.schedule-add-modal ion-title{color:#39352f;font-size:18px;font-weight:600}.schedule-add-modal ion-toolbar ion-button{height:36px;--color: #817b73;font-size:13px}.schedule-add-content{--background: #faf9f7;--padding-start: 20px;--padding-end: 20px;--padding-top: 16px;--padding-bottom: 20px}.schedule-add-description{margin:0 0 14px;font-size:13px;color:#817b73}.schedule-add-options{display:grid;gap:10px}.schedule-add-options button{display:flex;align-items:center;gap:12px;width:100%;padding:16px;border:1px solid #e8e4de;border-radius:12px;background:#fff;color:#39352f;text-align:left;cursor:pointer}.schedule-add-options button>ion-icon{flex-shrink:0;font-size:22px;padding:10px;border-radius:10px;background:#f4f1eb;color:#92806b}.schedule-add-options button>span:nth-child(2){flex:1;min-width:0}.schedule-add-options strong,.schedule-add-options small{display:block;overflow-wrap:anywhere}.schedule-add-options strong{font-size:15px;font-weight:600;line-height:1.5}.schedule-add-options small{margin-top:5px;font-size:12px;line-height:1.6;color:#928b82}.schedule-add-options button>span:last-child{color:#a79e92;font-size:22px}.schedule-add-options button:hover{border-color:#bdb2a2;background:#fdfcfb}.schedule-add-options button:focus-visible{outline:2px solid #817465;outline-offset:2px}.schedule-modal .schedule-form-heading{margin:0 0 12px;color:#817465;font-size:14px;font-weight:600}.schedule-edit-modal .schedule-form-section,.schedule-template-modal .schedule-form-section{margin-bottom:22px;padding:8px}.schedule-edit-modal ion-select,.schedule-template-modal ion-select,.schedule-import-step ion-select{background:#faf9f7;border:1px solid #e8e4de;border-radius:8px;flex:0 0 auto;height:auto;padding:0;--padding-top: 10px;--padding-bottom: 10px;--padding-start: 12px;--padding-end: 12px;margin:4px 0 8px;min-height:46px}.schedule-edit-modal ion-select::part(icon),.schedule-template-modal ion-select::part(icon){margin-inline-start:auto;color:#a59b8e}.schedule-edit-modal ion-input,.schedule-template-modal ion-input{background:#faf9f7;border:1px solid #e8e4de;border-radius:8px;--padding-start: 12px;--padding-end: 12px;margin:4px 0 8px;min-height:42px}.schedule-edit-modal ion-item,.schedule-template-modal ion-item{--border-width: 0}.schedule-edit-modal ion-item>p,.schedule-template-modal ion-item>p{color:#928b82;line-height:1.7}.schedule-modal ion-datetime-button::part(native){min-height:42px;padding:10px 14px;border:1px solid #e8e4de;border-radius:8px;background:#faf9f7;color:#575047;font-size:14px}.schedule-modal .schedule-form-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 24px max(14px,env(safe-area-inset-bottom))!important}.schedule-form-footer ion-button{min-width:90px;margin:0;height:42px}.schedule-form-footer ion-button[fill=outline]{--color: #817465;--border-color: #d9d3c9;--border-width: 1px}.schedule-datetime-modal{--width: min(350px, calc(100vw - 28px) );--height: min(400px, 90vh);--max-height: 90vh;--border-radius: 16px}.schedule-datetime-modal ion-datetime{--background: #fff;--wheel-highlight-background: #f1eee8;--wheel-fade-background-rgb: 255,255,255;color:#575047;width:100%;max-width:100%;margin:0}.schedule-datetime-modal ion-datetime::part(wheel-item){font-size:20px}.schedule-choice-overlay{--background: #fff;--min-width: min(340px, calc(100vw - 32px) );--max-width: 460px}.schedule-choice-overlay .alert-wrapper{border-radius:18px;box-shadow:0 20px 48px rgba(0,0,0,.15)}.schedule-choice-overlay .alert-head{padding:16px 20px}.schedule-choice-overlay .alert-radio-group,.schedule-choice-overlay .alert-checkbox-group{border-color:#eeeae4;max-height:55vh}.schedule-choice-overlay .alert-radio-button,.schedule-choice-overlay .alert-checkbox-button{min-height:52px}.schedule-choice-overlay .alert-radio-label,.schedule-choice-overlay .alert-checkbox-label{color:#68635d;font-size:14px;white-space:normal;line-height:1.6;padding-block:14px}.schedule-choice-overlay [aria-checked=true]{background:#f4f1eb}.schedule-choice-overlay .alert-button{color:#716457;font-size:14px}.schedule-import-intro{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}.schedule-import-intro>ion-icon{flex-shrink:0;padding:12px;border-radius:12px;background:#f1eee8;color:#92806b;font-size:26px}.schedule-import-intro h2{margin:3px 0 7px;color:#39352f;font-size:18px;font-weight:600}.schedule-import-intro p,.schedule-import-step p{margin:0;color:#8d877f;font-size:12px;line-height:1.8}.schedule-import-step{padding:18px;margin-bottom:14px;border:1px solid #e8e4de;border-radius:12px;background:#fff}.schedule-import-step h3{display:flex;align-items:center;gap:9px;margin:0 0 10px;color:#575047;font-size:15px;font-weight:600}.schedule-import-step h3>span{color:#a59b8e;font-size:12px;font-weight:400}.schedule-import-step .schedule-step-number{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:#f1eee8;color:#817465}.schedule-import-step ion-button{margin:14px 0 0}.schedule-import-step ion-select{margin:12px 0 0}@media (max-width: 600px){.schedule-add-content{--padding-start: 14px;--padding-end: 14px}.schedule-add-options button{padding:13px;gap:10px}.schedule-add-options button>ion-icon{padding:8px;font-size:20px}.schedule-modal .schedule-form-footer{padding-left:14px!important;padding-right:14px!important}.schedule-import-step{padding:16px}}.schedule-datetime-modal .ion-page{background:#fff}.schedule-edit-modal ion-select::part(container),.schedule-template-modal ion-select::part(container),.schedule-import-step ion-select::part(container){width:100%}.schedule-edit-modal ion-select::part(text),.schedule-template-modal ion-select::part(text),.schedule-import-step ion-select::part(text){flex:1}.schedule-edit-modal ion-select.select-disabled,.schedule-template-modal ion-select.select-disabled{opacity:.7}.schedule-datetime-modal ion-datetime{min-width:0;height:100%}.schedule-detail-sync-note{padding:0 16px;color:#746b61;font-size:13px;line-height:1.6}.schedule-detail-sync-note [role=alert]{margin-bottom:12px;padding:10px 12px;border-radius:10px;background:#fff5e8;color:#845620}.schedule-management-page .schedule-trial-badge{display:inline-block;margin-top:4px;padding:2px 7px;border-radius:6px;background:#fff4e5;color:#8a5a00;font-size:12px}.schedule-preview-modal .csv-preview-content{box-sizing:border-box;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.schedule-preview-modal .csv-preview-controls{flex:0 1 auto;min-height:0;max-height:45%;overflow-y:auto;overflow-x:hidden;margin-bottom:12px;padding-right:4px}.schedule-preview-modal .csv-preview-summary strong{overflow-wrap:anywhere}.schedule-preview-modal .csv-preview-instructions{margin-top:6px;color:#64748b;font-size:13px}.schedule-preview-modal .csv-preview-instructions summary{width:fit-content;padding:4px 0;color:#71685e;cursor:pointer}.schedule-preview-modal .csv-preview-table-wrap{flex:1 1 0;min-height:0;min-width:0;max-height:none;overflow:scroll;scrollbar-gutter:stable;overscroll-behavior:contain}@supports not selector(::-webkit-scrollbar){.schedule-preview-modal .csv-preview-table-wrap,.schedule-preview-modal .csv-preview-controls{scrollbar-width:auto;scrollbar-color:#817465 #efede8}}.schedule-preview-modal .csv-preview-table-wrap::-webkit-scrollbar,.schedule-preview-modal .csv-preview-controls::-webkit-scrollbar{width:14px;height:14px}.schedule-preview-modal .csv-preview-table-wrap::-webkit-scrollbar-track,.schedule-preview-modal .csv-preview-table-wrap::-webkit-scrollbar-corner,.schedule-preview-modal .csv-preview-controls::-webkit-scrollbar-track{background:#efede8}.schedule-preview-modal .csv-preview-table-wrap::-webkit-scrollbar-thumb,.schedule-preview-modal .csv-preview-controls::-webkit-scrollbar-thumb{background:#817465;border:3px solid #efede8;border-radius:7px}.schedule-preview-modal .csv-preview-table-wrap::-webkit-scrollbar-thumb:hover,.schedule-preview-modal .csv-preview-controls::-webkit-scrollbar-thumb:hover{background:#62574b}.schedule-preview-modal .csv-preview-table-wrap:focus-visible,.schedule-preview-modal .csv-preview-controls:focus-visible,.schedule-preview-modal .csv-preview-instructions summary:focus-visible{outline:2px solid var(--ion-color-primary);outline-offset:2px}@media (max-width: 600px){.csv-preview-modal.schedule-preview-modal{--width: 100%;--height: 100%;--border-radius: 0}.schedule-preview-modal .csv-preview-content{padding:12px}.schedule-preview-modal .csv-preview-summary{gap:8px;margin-bottom:10px}}.schedule-preview-modal .csv-preview-counts{flex-wrap:wrap}.schedule-preview-modal .csv-preview-count.is-adjusted,.schedule-preview-modal .csv-preview-status.is-adjusted{background:#fff3d6;color:#8a5a00}.schedule-preview-modal .csv-preview-table tr.is-adjusted td{background:#fffbef}.schedule-preview-modal .csv-preview-table tr.is-adjusted .csv-preview-reasons{color:#166534}.schedule-preview-modal .csv-preview-capacity-reason{min-width:260px;max-width:360px;white-space:normal;overflow-wrap:anywhere;line-height:1.5}.schedule-preview-modal .csv-preview-reconfirm-notice{margin-bottom:14px;padding:12px 14px;border:1px solid #e9ca7c;border-radius:8px;background:#fffbef;color:#8a5a00;font-size:14px;line-height:1.6}.schedule-preview-modal .csv-preview-selection{width:60px;text-align:center}.schedule-preview-modal .csv-preview-table.has-frozen-columns{--csv-selection-width: 52px;--csv-row-number-width: 56px;--csv-course-name-width: 180px;--csv-reason-width: 280px;table-layout:fixed;min-width:0}.schedule-preview-modal .has-frozen-columns th,.schedule-preview-modal .has-frozen-columns td{box-sizing:border-box;min-width:0;max-width:none;white-space:normal;overflow-wrap:anywhere}.schedule-preview-modal .has-frozen-columns .csv-preview-frozen{position:sticky;z-index:3}.schedule-preview-modal .has-frozen-columns td.csv-preview-frozen{background:var(--csv-row-background, #fff)}.schedule-preview-modal .has-frozen-columns tr.is-valid{--csv-row-background: #f7fef9}.schedule-preview-modal .has-frozen-columns tr.is-error{--csv-row-background: #fff7f7}.schedule-preview-modal .has-frozen-columns tr.is-adjusted{--csv-row-background: #fffbef}.schedule-preview-modal .has-frozen-columns tr.is-unselected{--csv-row-background: var(--ion-color-light, #f4f5f8)}.schedule-preview-modal .has-frozen-columns th.csv-preview-frozen{z-index:4;background:#f8fafc}.schedule-preview-modal .has-frozen-columns .csv-preview-selection{left:0;width:var(--csv-selection-width)}.schedule-preview-modal .has-frozen-columns .csv-preview-row-number{left:var(--csv-selection-width);width:var(--csv-row-number-width);text-align:center}.schedule-preview-modal .has-frozen-columns .csv-preview-course-name{left:calc(var(--csv-selection-width) + var(--csv-row-number-width));width:var(--csv-course-name-width);box-shadow:4px 0 5px -4px rgba(113,104,94,.5)}@media (max-width: 600px){.schedule-preview-modal .csv-preview-table.has-frozen-columns{--csv-selection-width: 44px;--csv-row-number-width: 44px;--csv-course-name-width: 104px;--csv-reason-width: clamp(88px, calc(100vw - 232px) , 240px)}.schedule-preview-modal .has-frozen-columns th,.schedule-preview-modal .has-frozen-columns td{padding-left:8px;padding-right:8px}}.schedule-preview-modal .csv-preview-filter-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.schedule-preview-modal .csv-preview-filters{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:10px;background:#f0ece5}.schedule-preview-modal .csv-preview-filters button{min-height:36px;padding:6px 12px;border:0;border-radius:7px;background:transparent;color:#81786b;font:inherit;font-size:13px;cursor:pointer}.schedule-preview-modal .csv-preview-filters button[aria-pressed=true]{color:#39352f;background:#fff;font-weight:600;box-shadow:0 1px 4px rgba(57,53,47,.07)}.schedule-preview-modal .csv-preview-filters button:focus-visible{outline:2px solid var(--ion-color-primary);outline-offset:1px}.schedule-preview-modal .csv-preview-visible-count,.schedule-preview-modal .csv-preview-filter-hint{color:#64748b;font-size:13px}.schedule-preview-modal .csv-preview-filter-hint{margin:8px 0 12px;line-height:1.6}.schedule-preview-modal .csv-preview-table .csv-preview-filter-empty{padding:24px 12px;text-align:center;color:#64748b;white-space:normal}.schedule-preview-modal .csv-preview-selection-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.schedule-preview-modal .csv-preview-selection-actions ion-button{margin:0}.schedule-preview-modal .csv-preview-selection ion-checkbox{vertical-align:middle;--size: 20px}.schedule-preview-modal .csv-preview-status.is-pending,.schedule-preview-modal .csv-preview-table tr.is-unselected td{background:var(--ion-color-light, #f4f5f8);color:var(--ion-color-medium-shade, #6b7280)}.schedule-preview-modal .csv-preview-recalculation{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:12px 14px;border-radius:8px;background:var(--ion-color-light, #f4f5f8);font-size:14px;line-height:1.6}.schedule-preview-modal .csv-preview-recalculation.is-error{color:var(--ion-color-danger-shade, #b91c1c)}.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;box-sizing:border-box;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;line-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.zz-course-card-absolute .course-time{font-size:10px;line-height:12px;opacity:.9}.zz-course-card-absolute .course-booking-count{font-size:10px;line-height:12px;opacity:.95;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zz-course-card-absolute.zz-course-card-compact{padding:3px 5px}.zz-course-card-absolute.zz-course-card-compact .course-title{line-height:13px;margin-bottom:1px}.zz-course-card-absolute.zz-course-card-compact .course-time,.zz-course-card-absolute.zz-course-card-compact .course-booking-count{line-height:11px}.zz-course-card-absolute.zz-course-card-compact .course-booking-count{margin-top:1px}.zz-admin-week-grid .zz-course-card-private{padding:3px 5px}.zz-admin-week-grid .course-private-heading{display:flex;align-items:baseline;gap:4px;min-width:0;margin-bottom:2px}.zz-admin-week-grid .course-private-heading .course-title{flex:1 1 auto;min-width:0;margin-bottom:0;line-height:13px}.zz-admin-week-grid .course-private-heading .course-time{flex:0 0 auto;white-space:nowrap;font-size:9px;line-height:12px}.zz-admin-week-grid .course-staffing-summary{justify-content:flex-start;margin:0;font-size:11px;line-height:13px;white-space:normal;overflow:visible;text-overflow:clip}.zz-availability-slot{box-sizing:border-box}.zz-available-private-slot .availability-title,.zz-available-private-slot .availability-time{display:block;overflow:hidden;text-overflow:ellipsis;line-height:12px}.zz-available-private-slot .availability-time{font-size:10px;font-weight:400}.zz-admin-week-grid .zz-available-private-slot .availability-content{min-width:0;width:100%}.zz-admin-week-grid .zz-available-private-slot .availability-title{white-space:nowrap}.zz-admin-week-grid .course-title-with-trial,.zz-admin-week-grid .zz-available-private-slot .availability-title-with-trial{display:flex;align-items:center;gap:3px}.zz-admin-week-grid .course-title-with-trial .course-title-text,.zz-admin-week-grid .availability-title-with-trial .course-title-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.zz-admin-week-grid .course-trial-badge{flex:0 0 auto;padding:0 3px;border-radius:3px;background:#ff4961;color:#fff;font-size:9px;font-weight:600;line-height:12px}.zz-admin-week-grid .zz-available-private-slot .availability-staffing-status{display:block;white-space:nowrap;line-height:13px}.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}.rollover-tabs-toolbar{--padding-top: 6px;--padding-bottom: 12px}.rollover-tabs{max-width:960px;width:calc(100% - 48px);margin:0 auto;background:#f3f1ed;border-radius:10px;padding:4px;box-shadow:none}.rollover-tabs ion-segment-button{min-height:40px;--color: #817b73;--color-checked: #333;--background-checked: #fff;--border-radius: 7px;font-size:13px}.rollover-tabs ion-segment-button::part(indicator){border:0!important}.rollover-card{margin:0 0 16px;background:#fff;border:1px solid #eceae6;border-radius:12px;box-shadow:var(--app-shadow);overflow:hidden}.rollover-card ion-card-content{padding:20px;color:#39352f}.rollover-card ion-card-header{padding:20px 20px 0}.rollover-card ion-card-title{line-height:1.6;overflow-wrap:anywhere}.rollover-card ion-card-header>div{flex-wrap:wrap;gap:12px}.rollover-card ion-card-header>div>div{min-width:0;max-width:100%}.rollover-card ion-checkbox{flex-shrink:0;--size: 20px}.rollover-card ion-item{--background: transparent;--padding-start: 0;--inner-padding-end: 0;min-width:0}.rollover-card ion-label[position=stacked]{font-size:13px;color:#777;transform:none;margin-bottom:8px}.rollover-card ion-input,.rollover-card ion-select{min-height:44px;border-radius:8px;background:#faf9f7;--padding-start: 12px;--padding-end: 12px;font-size:14px}.rollover-card ion-searchbar{--background: #f8f7f4;--border-radius: 10px;--box-shadow: none}.rollover-card ion-button,.rollover-result-heading>ion-button{height:auto;min-height:44px;white-space:normal;--padding-top: 10px;--padding-bottom: 10px;line-height:1.5}.rollover-query-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.rollover-query-actions ion-button{min-width:160px}.rollover-result-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:8px 0 22px}.rollover-result-heading>div{flex:1;min-width:220px;line-height:1.7}.rollover-result-heading h3{font-size:18px}.rollover-result-heading>ion-button{flex-shrink:0;margin:0}.rollover-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:20px}.rollover-metrics>div>div:last-child{margin-top:5px;font-size:16px}.rollover-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:10px;background:#f3f0ea;color:#726858}.rollover-total strong{font-size:22px;color:#39352f}.rollover-history-modal ion-list{padding:0;border-radius:12px;overflow:hidden;border:1px solid #eceae6}.rollover-history-modal ion-item{--background: #fff}.rollover-history-modal ion-label{white-space:normal}.rollover-history-modal ion-label h2{overflow-wrap:anywhere}@media (max-width: 600px){.rollover-tabs{width:calc(100% - 28px)}.rollover-tabs ion-segment-button{font-size:12px;--padding-start: 4px;--padding-end: 4px}.rollover-card ion-card-content{padding:16px}.rollover-card ion-card-header{padding:16px 16px 0}.rollover-card ion-input,.rollover-card ion-select{font-size:16px}.rollover-query-actions{flex-direction:column}.rollover-query-actions ion-button{flex:auto!important;width:100%}.rollover-result-heading>ion-button{width:100%}.rollover-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.rollover-card ion-card-header>div>div:first-child{flex:1 1 100%}}.email-notifications-page ion-button,.email-job-filter-picker-modal ion-button{--border-radius: 8px;font-weight:600;min-height:40px}.email-settings-content{--background: var(--app-bg)}.email-settings-body{max-width:1008px;margin:0 auto;padding:24px}.email-page-heading{margin-bottom:24px}.email-page-heading h2{margin:0;font-size:18px;font-weight:650}.email-page-heading p,.email-section-heading p{margin:6px 0 0;color:#777;font-size:13px;line-height:1.7;font-weight:400}.email-tabs-toolbar{--padding-top: 6px;--padding-bottom: 12px}.email-main-tabs{max-width:960px;width:calc(100% - 48px);margin:0 auto}.email-main-tabs,.email-template-language-segment{padding:4px;background:#efede8;border-radius:10px;box-shadow:none}.email-main-tabs ion-segment-button,.email-template-language-segment ion-segment-button{min-height:40px;--color: #817b73;--color-checked: #333;--background-checked: #fff;--border-radius: 7px;font-size:13px}.email-main-tabs ion-segment-button::part(indicator),.email-template-language-segment ion-segment-button::part(indicator){border:0!important}.email-settings-list{background:transparent;padding:0}.email-settings-overview{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:start}.email-overview-section{min-width:0}.email-settings-section-title{margin:0 0 14px;color:#39352f;font-size:16px;font-weight:650}.email-settings-card,.email-job-filter-panel{margin:0 0 12px;padding:20px;background:#fff;border:1px solid #eceae6;border-radius:12px;box-shadow:var(--app-shadow)}.email-settings-card-main{min-width:0}.email-settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.email-settings-toggle-row ion-toggle{flex-shrink:0}.email-settings-card-title{color:#39352f;font-size:14px;line-height:1.6;font-weight:600}.email-settings-card-desc{margin:6px 0 0;font-size:12px;line-height:1.8;color:#888}.email-settings-mail-textarea,.email-template-card-input,.email-template-card-textarea{min-width:0;border:1px solid #e8e5df;border-radius:8px;background:#faf9f7;--padding-start: 12px;--padding-end: 12px;--padding-top: 12px;--padding-bottom: 12px;font-size:14px;color:#39352f}.email-settings-mail-textarea{margin:14px 0 12px}.email-settings-mail-actions{display:flex;justify-content:flex-end;margin-top:16px}.email-settings-mail-actions ion-button{height:40px}.email-settings-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:24px 0 16px}.email-settings-list>.email-settings-toolbar:first-child{margin-top:0}.email-section-heading h3{margin:0;color:#39352f;font-size:16px;font-weight:650}.email-job-toolbar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.email-template-language-segment{width:196px;min-height:40px}.email-template-language-segment ion-segment-button{min-height:32px;font-size:12px}ion-button.email-job-toolbar-button,ion-button.email-template-card-toggle,ion-button.email-job-card-toggle{--background: #f2f0eb;--color: #68635d;--border-radius: 8px;height:36px;min-height:36px;margin:0;font-size:12px}.email-empty-state{padding:28px 16px;background:#fff;border:1px solid #eceae6;border-radius:12px;color:#888;font-size:13px;line-height:1.7;text-align:center}.email-template-card,.email-job-card{--background: #fff;--inner-border-width: 0;--padding-start: 0;--inner-padding-start: 20px;--inner-padding-end: 20px;--padding-top: 6px;--padding-bottom: 6px;margin:0 0 14px;border:1px solid #eceae6;border-radius:12px;box-shadow:var(--app-shadow)}.email-template-card>ion-label,.email-job-card>ion-label{min-width:0;white-space:normal!important}.email-template-card-header,.email-job-card-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.email-template-card-header.is-expanded,.email-job-card-header.is-expanded{padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid #eeeae4}.email-template-card-main,.email-job-card-main{min-width:0;flex:1}.email-template-card-title,.email-job-card-title{display:block;color:#39352f;font-size:15px;line-height:1.6;font-weight:600;overflow-wrap:anywhere}.email-template-card-summary{margin-top:5px;color:#888;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.email-template-card-main p{margin:8px 0 0;color:#888;font-size:12px;line-height:1.7}.email-template-card-actions,.email-job-card-actions{display:flex;align-items:center;flex-shrink:0;gap:10px}.email-template-card-badge,.email-job-card-badge{padding:5px 8px;border-radius:6px;font-size:11px;font-weight:500}.email-template-card-detail{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:start}.email-template-editor{display:grid;gap:16px;min-width:0}.email-template-card-field{display:grid;gap:8px;min-width:0}.email-template-card-field-label,.email-template-card-preview-label{color:#817b73;font-size:12px;font-weight:500}.email-template-card-helper{color:#888;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.email-template-card-preview{padding:16px;border:1px solid #e9e4db;border-radius:10px;background:#f7f5f1;min-width:0}.email-template-card-preview>ion-button{height:38px;min-height:38px;margin:0 0 16px}.email-template-card-preview-subject{margin-top:6px;color:#39352f;font-size:14px;font-weight:600;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.email-template-card-preview-label-body{margin:16px 0 6px}.email-template-card-preview-body{color:#68635d;font-size:13px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.email-template-card-footer{grid-column:1 / -1;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding-top:16px;border-top:1px solid #eeeae4}.email-template-card-footer ion-button,.email-job-card-footer ion-button{height:40px;margin:0;font-size:13px}.email-job-filter-panel{display:grid;gap:16px}.email-job-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.email-job-filter-field{display:grid;gap:8px;min-width:0}.email-job-filter-field-action{align-content:end}.email-job-filter-label{color:#817b73;font-size:12px;line-height:1.5}.email-job-filter-trigger,.email-job-filter-input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #e8e5df;border-radius:8px;background:#faf9f7;color:#39352f;font-size:14px;line-height:1.6}.email-job-filter-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer}.email-job-filter-trigger:disabled{opacity:.45;cursor:default}.email-job-filter-trigger-value{overflow-wrap:anywhere}.email-job-filter-trigger-action{flex-shrink:0;color:#999;font-size:12px}.email-job-filter-trigger-clear{justify-content:center}.email-job-filter-input::placeholder{color:#999}.email-job-filter-summary{color:#888;font-size:12px}.email-job-card-recipient{margin:6px 0 0;color:#888;font-size:13px;overflow-wrap:anywhere}.email-job-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.email-job-card-chip{padding:4px 8px;border-radius:6px;background:#f6f4f0;color:#817b73;font-size:11px;line-height:1.7;overflow-wrap:anywhere}.email-job-card-detail{display:grid;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #eeeae4}.email-job-card-detail-item{margin:0;color:#888;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.email-job-card-snapshot{padding:16px;margin-top:6px;border:1px solid #e9e4db;border-radius:10px;background:#f7f5f1}.email-job-card-snapshot-label{margin-bottom:6px;color:#817b73;font-size:12px}.email-job-card-snapshot-subject{margin-bottom:16px;color:#39352f;font-size:14px;font-weight:600;overflow-wrap:anywhere}.email-job-card-snapshot-body{color:#68635d;font-size:13px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.email-job-card-error{margin:6px 0;padding:10px 12px;background:#faf1ef;border-radius:8px;color:#985e55;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.email-job-card-footer{display:flex;justify-content:flex-end;margin-top:8px}.email-job-filter-picker-modal{--width: min(460px, calc(100vw - 28px) );--height: auto;--min-height: 0;--border-radius: 20px;--box-shadow: 0 20px 48px #00000026}.email-job-filter-picker-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:min(80vh,620px);background:#fff}.email-job-filter-picker-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px;border-bottom:1px solid #eeeae4}.email-job-filter-picker-title{color:#39352f;font-size:18px;font-weight:650}.email-job-filter-picker-subtitle{margin-top:6px;color:#888;font-size:12px;line-height:1.7}.email-job-filter-picker-close{min-height:36px;padding:4px 8px;border-radius:6px;background:transparent;color:#777;font-size:13px;cursor:pointer}.email-job-filter-picker-options{display:grid;gap:10px;padding:16px 20px;overflow-y:auto}.email-job-filter-picker-option{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;width:100%;padding:10px 14px;border:1px solid #e8e5df;border-radius:8px;background:#fff;color:#68635d;font-size:14px;text-align:left;cursor:pointer}.email-job-filter-picker-option.is-selected{border-color:#a59b8e;background:#f4f1eb;color:#39352f;font-weight:600}.email-job-filter-picker-option-mark{flex-shrink:0;font-size:12px}.email-job-filter-picker-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 16px;border-top:1px solid #eeeae4}.email-job-filter-picker-footer ion-button{height:40px}.email-job-filter-picker-modal button:focus-visible,.email-notifications-page button:focus-visible,.email-job-filter-input:focus-visible{outline:2px solid #81786b;outline-offset:2px}@media (max-width:600px){.email-settings-body{padding:18px 14px}.email-main-tabs{width:calc(100% - 28px)}.email-settings-overview,.email-template-card-detail{grid-template-columns:minmax(0,1fr)}.email-settings-overview{gap:12px}.email-settings-card,.email-job-filter-panel{padding:16px}.email-settings-toggle-row{align-items:flex-start;gap:12px}.email-settings-toggle-row ion-toggle{margin-top:3px}.email-settings-toolbar{align-items:flex-start}.email-job-toolbar-actions{width:100%;gap:6px}.email-template-language-segment{width:176px}.email-template-card,.email-job-card{--inner-padding-start: 16px;--inner-padding-end: 16px}.email-template-card-header,.email-job-card-header{flex-direction:column;align-items:stretch;gap:12px}.email-template-card-actions,.email-job-card-actions{justify-content:flex-end}.email-template-card-actions ion-badge,.email-job-card-actions ion-badge{margin-right:auto}.email-settings-mail-textarea,.email-template-card-input,.email-template-card-textarea,.email-job-filter-input,.email-job-filter-trigger{font-size:16px}.email-job-filter-grid{grid-template-columns:minmax(0,1fr)}.email-template-card-preview,.email-job-card-snapshot{padding:14px}.email-job-filter-picker-header{padding:18px 16px}.email-job-filter-picker-options{padding:14px 16px}.email-job-filter-picker-footer{padding:12px 16px 16px}}.system-logs-page ion-content{--background: var(--app-bg, #f7f6f3)}.system-logs-body{max-width:1180px;margin:0 auto;padding:24px;color:#39352f}.system-logs-heading,.system-logs-results-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.system-logs-heading h1{font-size:22px;margin:0}.system-logs-heading p{color:#777;font-size:13px;line-height:1.7;margin:8px 0 0}.system-logs-panel{padding:20px;border:1px solid #eceae6;border-radius:12px;background:#fff;margin-bottom:18px;box-shadow:var(--app-shadow)}.system-logs-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:18px}.system-logs-filters label,.system-logs-lookup label{display:flex;flex-direction:column;gap:7px;color:#6e675e;font-size:13px}.system-logs-page input,.system-logs-page select,.system-logs-modal input{min-width:0;width:100%;border:1px solid #ddd8cf;border-radius:7px;padding:10px;font:inherit;color:#39352f;background:#fff;box-sizing:border-box}.system-logs-page button,.system-logs-modal button{padding:9px 14px;border:1px solid #d9d3c8;border-radius:8px;background:#faf9f7;color:#514b43;font:inherit;font-size:13px;cursor:pointer}.system-logs-page button.primary,.system-logs-modal button.primary{background:#81786b;color:#fff;border-color:#81786b}.system-logs-page button:disabled,.system-logs-modal button:disabled{cursor:default;opacity:.5}.system-logs-page button:focus-visible,.system-logs-modal button:focus-visible{outline:2px solid #81786b;outline-offset:2px}.system-logs-actions,.system-logs-pagination{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.system-logs-pagination{justify-content:center;margin-top:18px;font-size:13px;color:#777}.system-logs-lookup{display:flex;gap:10px;align-items:flex-end;margin:0 0 18px}.system-logs-lookup label{flex:1;max-width:480px}.system-logs-results-title h2{margin:0;font-size:16px}.system-logs-results-title span,.system-logs-empty{color:#888;font-size:13px}.system-logs-error{padding:12px;border-radius:8px;background:#fff1f0;color:#a74136}.system-logs-table-wrap{width:100%;overflow-x:auto}.system-logs-table-wrap table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.system-logs-table-wrap th{padding:10px 12px;color:#817b73;font-weight:500;background:#faf9f7;white-space:nowrap}.system-logs-table-wrap td{padding:14px 12px;border-bottom:1px solid #efede8;vertical-align:top;max-width:270px;overflow-wrap:anywhere;line-height:1.6}.system-logs-table-wrap small{display:block;color:#817b73;font-size:11px;margin-top:4px}.system-log-references{display:grid;gap:10px}.system-log-reference{display:grid;gap:2px;overflow-wrap:anywhere}.system-log-reference-kind,.system-log-name-note{font-size:12px;color:#817b73}.system-log-reference strong{font-size:13px;font-weight:500}.system-log-reference code{font-size:11px;color:#6e675e}.system-logs-timeline .system-log-references{margin-top:8px}.system-log-level{display:inline-block;border-radius:5px;padding:2px 6px;background:#eeece7;font-size:11px}.system-log-level.error{background:#fff1f0;color:#b24b3e}.system-logs-modal{--width: min(850px, 94vw);--height: min(850px, 90vh);--border-radius: 16px}.system-logs-detail{padding:24px;color:#39352f;overflow-wrap:anywhere;line-height:1.7}.system-logs-detail h2{font-size:20px;margin-top:0}.system-logs-detail h3{font-size:15px;margin:24px 0 10px}.system-logs-detail dl{padding:14px;background:#faf9f7;border-radius:10px}.system-logs-detail dl>div{display:grid;grid-template-columns:130px 1fr;gap:10px;font-size:13px;padding:6px 0}.system-logs-detail dt{color:#817b73}.system-logs-detail dd{margin:0}.system-logs-detail pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;border-radius:10px;background:#f3f1ed;padding:16px}.system-logs-timeline{list-style:none;margin:0;padding:0 0 0 16px;border-left:2px solid #dfd9ce}.system-logs-timeline li{padding:8px 0 16px}.system-logs-timeline time{display:block;color:#817b73;font-size:12px;margin-bottom:5px}.system-logs-timeline p{margin:5px 0 0;font-size:13px}@media (max-width: 650px){.system-logs-body{padding:16px 12px}.system-logs-panel{padding:14px}.system-logs-heading{align-items:stretch;flex-direction:column}.system-logs-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.system-logs-detail{padding:16px}.system-logs-detail dl>div{grid-template-columns:100px 1fr}}.approval-center-content{--background: var(--app-bg)}.approval-center-body{max-width:1008px;margin:0 auto;padding:24px;color:var(--ion-text-color)}.approval-center-intro{margin-bottom:24px}.approval-center-intro h1{margin:0;font-size:18px;font-weight:650}.approval-center-intro p{margin:6px 0 0;color:#777;font-size:13px;line-height:1.7}.approval-center-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.approval-center-card{display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:20px;border:1px solid #eceae6;border-radius:12px;background:#fff;color:#39352f;box-shadow:var(--app-shadow);font:inherit;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}.approval-center-card-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}.approval-center-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:#efede8;color:#81786b}.approval-center-icon ion-icon{font-size:24px}.approval-center-count{max-width:100%;padding:5px 10px;border:1px solid #ead8d5;border-radius:6px;background:#faf1ef;color:#985e55;font-size:12px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.approval-center-card-title{font-size:16px;font-weight:650;line-height:1.6;overflow-wrap:anywhere}.approval-center-card-description{flex:1;margin-top:6px;color:#817b73;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.approval-center-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid #eeeae4;color:#81786b;font-size:12px;line-height:1.5}.approval-center-card-footer ion-icon{flex-shrink:0;font-size:16px;color:#a59b8e}.approval-center-card:focus-visible{outline:2px solid #81786b;outline-offset:3px}.approval-center-card:active{background:#f4f1eb;border-color:#c2baaf}.approval-center-error{margin-bottom:18px;border:1px solid #ead8d5;border-radius:12px;background:#faf1ef}.approval-center-error ion-button{height:40px;min-height:40px;--border-radius: 8px}@media (hover: hover){.approval-center-card:hover{background:#faf9f7;border-color:#c2baaf}}@media (max-width: 600px){.approval-center-body{padding:18px 14px}.approval-center-intro{margin-bottom:20px}.approval-center-grid{grid-template-columns:minmax(0,1fr);gap:14px}.approval-center-card{padding:16px}.approval-center-card-top{margin-bottom:12px}.approval-center-card-footer{margin-top:14px;padding-top:12px}}@media (prefers-reduced-motion: reduce){.approval-center-card{transition:none}}.approval-page .approval-content{--background: var(--app-bg, #f9f9f9)}.approval-page .approval-body{max-width:1008px;margin:0 auto;padding:24px}.approval-page .approval-intro{margin-bottom:22px}.approval-page .approval-intro h1{margin:0 0 7px;font-size:21px;font-weight:650;color:#39352f}.approval-page .approval-intro p{margin:0;color:#817b73;font-size:13px;line-height:1.6}.approval-page .approval-tabs-wrap{background:#fff;padding:8px 24px 14px;border-bottom:1px solid #eceae6}.approval-page .approval-status-tabs{display:flex;gap:5px;max-width:960px;margin:auto;padding:4px;border-radius:10px;background:#f4f2ef}.approval-page .approval-status-tabs button{flex:1;min-width:0;min-height:38px;padding:8px;border:0;border-radius:7px;background:transparent;color:#817b73;font-size:14px;font-weight:500;cursor:pointer}.approval-page .approval-status-tabs button[aria-pressed=true]{background:#fff;color:#39352f;box-shadow:0 1px 4px rgba(57,53,47,.07);font-weight:650}.approval-page button:focus-visible{outline:2px solid #817b73;outline-offset:3px}.approval-page .approval-list{display:grid;gap:14px}.approval-page .approval-card{margin:0;border:1px solid #eceae6;border-radius:12px;box-shadow:var(--app-shadow, 0 4px 16px #00000004);background:#fff;cursor:pointer}.approval-page .approval-card:hover{border-color:#d9d4cc}.approval-page .compact-card-content{padding:20px}.approval-page .card-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px}.approval-page .user-info{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.approval-page .user-name{border:0;padding:0;background:none;text-align:left;font-size:16px;font-weight:650;color:#39352f;overflow-wrap:anywhere;cursor:pointer}.approval-page .request-time,.approval-page .course-time{color:#8d877f;font-size:12px;line-height:1.7}.approval-page .course-time{margin-top:5px}.approval-page .course-info{color:#57524b;font-size:14px;overflow-wrap:anywhere}.approval-page .course-name{font-weight:600}.approval-page .approval-change-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.approval-page .approval-change-row ion-icon{flex-shrink:0}.approval-page .approval-change-target,.approval-detail-modal .approval-change-target{color:#716457;font-weight:600}.approval-page .card-footer-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid #f0eeeb}.approval-page .reason-tag{min-width:0;font-size:12px;line-height:1.7;color:#817b73;overflow-wrap:anywhere}.approval-page .proof-indicator{display:inline-block;color:#817465}.approval-page .mini-actions{display:flex;flex-shrink:0;gap:7px}.approval-page .mini-btn{height:34px;min-height:34px;margin:0;font-size:12px;--padding-start: 13px;--padding-end: 13px;--border-radius: 7px}.approval-page .mini-btn.ion-color-success{--ion-color-base: #49433b !important;--background: #f1eee8}.approval-page .mini-btn.ion-color-danger{--ion-color-base: #985e55 !important;--background: #faf1ef}.approval-page .audit-info{color:#918b83;font-size:11px;line-height:1.6;text-align:right;overflow-wrap:anywhere}.approval-page .status-badge{flex-shrink:0;padding:6px 9px;border-radius:6px;font-weight:500;font-size:11px}.approval-page .status-badge.ion-color-warning{--ion-color-base: #f5efdf !important;--ion-color-contrast: #8c753c !important}.approval-page .status-badge.ion-color-success{--ion-color-base: #edf3ec !important;--ion-color-contrast: #63815f !important}.approval-page .status-badge.ion-color-danger{--ion-color-base: #f8eeeb !important;--ion-color-contrast: #a2675b !important}.approval-page .text-muted{border:1px dashed #e4e0da;border-radius:12px;padding:48px 16px;background:#fff;color:#928b82;font-size:14px}.approval-page [role=alert] ion-button,.approval-detail-modal [role=alert] ion-button{height:38px}.approval-detail-modal{--width: min(720px, calc(100vw - 40px) );--height: min(86vh, 860px);--border-radius: 20px}.approval-detail-modal ion-toolbar,.approval-image-modal ion-toolbar{--background: #fff;--border-color: #eeeae4}.approval-detail-modal ion-toolbar ion-button,.approval-image-modal ion-toolbar ion-button{height:36px;--color: #777167;font-size:14px}.approval-detail-modal .approval-detail-content{--background: #f9f9f9;--padding-start: 24px;--padding-end: 24px;--padding-top: 20px;--padding-bottom: 24px}.approval-detail-modal .detail-content ion-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid #eceae6;border-radius:12px;background:#fff;padding:6px;margin:0 0 18px}.approval-detail-modal .detail-content ion-item{--background: transparent;--padding-start: 10px;--inner-padding-end: 10px;--border-width: 0;align-self:start}.approval-detail-modal .detail-content ion-item ion-icon{color:#a0998d;font-size:18px;margin-inline-end:10px}.approval-detail-modal .detail-content ion-label{white-space:normal!important;margin:12px 0}.approval-detail-modal .detail-content ion-label h2{font-size:12px;color:#928b82;font-weight:400;margin-bottom:7px}.approval-detail-modal .detail-content ion-label p{font-size:14px;color:#49433b;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.approval-detail-modal .approval-wide-field,.approval-detail-modal .detail-content ion-list>div{grid-column:1 / -1}.approval-detail-modal .detail-content ion-list>div ion-button{height:38px}.approval-detail-modal .approval-info-note{padding:12px 14px;margin:0 0 20px;border-radius:9px;background:#f1eee8;color:#817465;font-size:12px;line-height:1.7}.approval-detail-modal .approval-member-avatar{display:flex;justify-content:center;margin-bottom:20px}.approval-detail-modal .approval-detail-footer{padding:14px 24px max(14px,env(safe-area-inset-bottom));border-top:1px solid #eceae6;background:#fff}.approval-detail-modal .detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.approval-detail-modal .detail-actions ion-button{margin:0;height:44px;--border-radius: 9px;--box-shadow: none;font-size:14px}.approval-detail-modal .detail-actions .ion-color-success{--ion-color-base: #39352f !important;--ion-color-shade: #2b2823 !important;--ion-color-tint: #57524b !important;--ion-color-contrast: #fff !important}.approval-detail-modal .detail-actions .ion-color-danger{--ion-color-base: #985e55 !important;--border-color: #e6d5d0}.approval-detail-modal .detail-proof-section{background:#fff;border:1px solid #eceae6;border-radius:12px;padding:16px;margin-top:18px}.approval-detail-modal .detail-proof-section h3{margin:0 0 14px;font-size:14px;color:#57524b}.approval-detail-modal .detail-proof-image{cursor:zoom-in;text-align:center}.approval-detail-modal .detail-proof-image img{max-width:100%;max-height:300px;border-radius:8px;object-fit:contain}.approval-image-modal{--width: min(900px, 94vw);--height: 90vh;--border-radius: 16px}.approval-image-modal .approval-image-content{--background: #f4f2ef;--padding-start: 16px;--padding-end: 16px;--padding-top: 16px;--padding-bottom: 16px}.approval-image-modal .approval-image-content::part(scroll){display:flex;align-items:center;justify-content:center}@media (max-width: 600px){.approval-page .approval-body{padding:18px 14px}.approval-page .approval-intro{margin-bottom:18px}.approval-page .approval-intro h1{font-size:19px}.approval-page .approval-tabs-wrap{padding:6px 14px 12px}.approval-page .compact-card-content{padding:16px}.approval-page .user-info{align-items:flex-start;flex-direction:column;gap:5px}.approval-page .card-footer-row{flex-wrap:wrap}.approval-page .mini-actions{margin-left:auto}.approval-page .audit-info{text-align:left}.approval-detail-modal,.approval-image-modal{--width: 100%;--height: 100%;--border-radius: 0}.approval-detail-modal .approval-detail-content{--padding-start: 14px;--padding-end: 14px;--padding-top: 16px;--padding-bottom: 20px}.approval-detail-modal .approval-detail-footer{padding-left:14px;padding-right:14px}.approval-detail-modal .detail-content ion-list{grid-template-columns:minmax(0,1fr)}}.teaching-home-content{--background: var(--app-bg)}.teaching-home-body{max-width:1008px;margin:0 auto;padding:24px;color:var(--ion-text-color)}.teaching-home-intro{margin-bottom:24px}.teaching-home-intro h1{margin:0;font-size:18px;font-weight:650}.teaching-home-intro p{margin:6px 0 0;color:#777;font-size:13px;line-height:1.7}.teaching-home-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;width:100%;min-width:0;padding:24px;border:1px solid #eceae6;border-radius:12px;background:#fff;color:#39352f;box-shadow:var(--app-shadow);font:inherit;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}.teaching-home-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:#efede8;color:#81786b}.teaching-home-icon ion-icon{font-size:24px}.teaching-home-card-copy{display:flex;flex-direction:column;min-width:0;gap:6px}.teaching-home-card-title{font-size:16px;font-weight:650;line-height:1.6;overflow-wrap:anywhere}.teaching-home-card-description{color:#817b73;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.teaching-home-card-action{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#81786b;font-size:12px;line-height:1.5}.teaching-home-card-action ion-icon{flex-shrink:0;font-size:16px;color:#a59b8e}.teaching-home-card:focus-visible{outline:2px solid #81786b;outline-offset:3px}.teaching-home-card:active{background:#f4f1eb;border-color:#c2baaf}@media (hover: hover){.teaching-home-card:hover{background:#faf9f7;border-color:#c2baaf}}@media (max-width: 600px){.teaching-home-body{padding:18px 14px}.teaching-home-intro{margin-bottom:20px}.teaching-home-card{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;padding:16px}.teaching-home-icon{width:44px;height:44px;border-radius:10px}.teaching-home-card-action{grid-column:1 / -1;border-top:1px solid #eeeae4;padding-top:12px}}@media (prefers-reduced-motion: reduce){.teaching-home-card{transition:none}}.class-record-content{--background: var(--app-bg)}.class-record-toolbar{max-width:1008px;margin:0 auto;padding:4px 24px 12px}.zz-class-record-toolbar-row{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.class-record-view-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border-radius:10px;background:#efede8}.class-record-view-tabs button{min-width:0;min-height:40px;padding:8px 12px;border:0;border-radius:8px;background:transparent;color:#777;font-size:13px;cursor:pointer}.class-record-view-tabs button[aria-pressed=true]{background:#fff;color:#39352f;font-weight:600;box-shadow:0 2px 5px rgba(0,0,0,.02)}.class-record-view-tabs button:focus-visible{outline:2px solid #81786b;outline-offset:2px}.zz-class-record-store-select{width:min(320px,100%);justify-self:center;min-width:0;min-height:44px;padding:0 12px;border:1px solid #e8e5df;border-radius:8px;background:#faf9f7;color:#39352f}.zz-class-record-store-select::part(text){text-align:center;white-space:normal;overflow-wrap:anywhere;font-size:13px;line-height:1.7}.zz-class-record-store-select::part(icon){color:#81786b;flex-shrink:0}.class-record-active-filters{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.class-record-active-filters ion-chip{height:auto;min-height:32px;margin:0;--background: #f4f1eb;--color: #726858;border-color:#d9d5cd}.class-record-active-filters ion-label{overflow-wrap:anywhere;min-width:0;line-height:1.5}.class-record-active-filters ion-icon{flex-shrink:0}.class-record-body{max-width:1008px;margin:0 auto;padding:24px}.class-record-body.is-calendar{max-width:1400px}.class-record-intro{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:24px}.class-record-intro h1{margin:0;color:#39352f;font-size:18px;font-weight:650}.class-record-intro p{margin:6px 0 0;color:#777;font-size:13px;line-height:1.7}.class-record-result-count{color:#817b73;background:#efede8;padding:6px 10px;border-radius:6px;font-size:12px}.class-record-day{margin-bottom:24px}.class-record-date{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin:0 0 12px;color:#68635d;font-size:14px;font-weight:600}.class-record-date>span{color:#999;font-size:12px;font-weight:400}.class-record-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.class-record-card{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0;width:100%;padding:20px;border:1px solid #eceae6;border-radius:12px;background:#fff;color:#39352f;box-shadow:var(--app-shadow);font:inherit;text-align:left;cursor:pointer}.class-record-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.class-record-course{min-width:0;font-size:16px;font-weight:650;line-height:1.6;overflow-wrap:anywhere}.class-record-status{flex-shrink:0;padding:4px 8px;border-radius:6px;background:#f1f1ef;color:#888;font-size:11px;line-height:1.6}.class-record-status.scheduled{background:#f4f1eb;color:#81705b}.class-record-status.in_progress{background:#edf3ef;color:#63816c}.class-record-type{align-self:flex-start;margin-bottom:4px;padding:3px 8px;border-radius:5px;color:#726858;background:#efede8;font-size:11px}.class-record-type.private{background:#f6eee5;color:#997b56}.class-record-meta{display:flex;align-items:flex-start;gap:8px;color:#777;font-size:13px;line-height:1.7}.class-record-meta ion-icon{flex-shrink:0;margin-top:3px;color:#a59b8e;font-size:15px}.class-record-meta>span{overflow-wrap:anywhere;min-width:0}.class-record-booking-teachers{display:grid;gap:6px;margin:4px 0;padding:10px 12px;border-radius:8px;background:#f8f5ef}.class-record-booking-teacher{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);align-items:baseline;gap:8px 14px;color:#70604d;font-size:12px;line-height:1.8}.class-record-booking-teacher strong{color:#39352f;font-size:13px;font-weight:500;overflow-wrap:anywhere}.class-record-booking-teacher>span{overflow-wrap:anywhere}.class-record-card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:12px;margin-top:auto;border-top:1px solid #eeeae4;color:#817b73;font-size:12px;line-height:1.7}.class-record-card-footer strong{color:#39352f}.class-record-flags{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.class-record-flags>span{display:inline-flex;align-items:center;gap:3px}.class-record-flags .is-absent{color:#985e55}.class-record-detail-link{color:#81786b}.class-record-card:focus-visible,.class-record-filter-modal button:focus-visible,.zz-class-record-grid-card:focus-visible{outline:2px solid #81786b;outline-offset:2px}.class-record-body>[role=alert]{background:#faf1ef;border:1px solid #ead8d5;border-radius:12px;margin-bottom:18px}.class-record-body>[role=alert] ion-button{height:40px;min-height:40px}.class-record-filter-modal{--width: min(640px, calc(100vw - 28px) );--height: min(86vh, 820px);--border-radius: 20px}.class-record-filter-body{padding:20px;background:var(--app-bg);min-height:100%}.class-record-filter-section{padding:16px;margin-bottom:16px;border:1px solid #eceae6;border-radius:12px;background:#fff}.class-record-filter-section:last-child{margin-bottom:0}.class-record-filter-title{margin-bottom:12px;color:#39352f;font-size:14px;font-weight:600}.class-record-filter-section ion-button{height:36px;min-height:36px;--border-radius: 8px}.class-record-filter-section ion-datetime{margin:0 auto;--background: #fff}.class-record-filter-tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.class-record-filter-tag{min-height:44px;min-width:0;padding:10px 12px;border:1px solid #e8e5df;border-radius:8px;background:#faf9f7;color:#68635d;font-size:13px;line-height:1.6;text-align:left;overflow-wrap:anywhere;cursor:pointer}.class-record-filter-tag.active{border-color:#a59b8e;background:#f4f1eb;color:#39352f;font-weight:600}.class-record-filter-footer{display:flex;justify-content:flex-end;gap:12px;padding:12px 20px max(16px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #eeeae4}.class-record-filter-btn{min-width:88px;min-height:44px;padding:10px 16px;border-radius:8px;border:1px solid #d9d5cd;font-size:14px;font-weight:600;cursor:pointer}.class-record-btn-reset{background:#fff;color:#68635d}.class-record-btn-confirm{background:var(--ion-color-primary);border-color:var(--ion-color-primary);color:#fff}@media (hover: hover){.class-record-card:hover{background:#faf9f7;border-color:#c2baaf}}@media (max-width: 600px){.class-record-toolbar{padding:4px 14px 12px}.zz-class-record-toolbar-row{grid-template-columns:minmax(0,1fr);gap:10px}.class-record-body{padding:18px 14px}.class-record-intro{margin-bottom:20px}.class-record-cards{grid-template-columns:minmax(0,1fr)}.class-record-card{padding:16px}.class-record-filter-modal{--width: 100%;--height: 100%;--border-radius: 0}.class-record-filter-body{padding:16px 14px}.class-record-filter-section{padding:14px}.class-record-filter-section ion-input{font-size:16px}}.zz-class-record-calendar-page{height:100%;display:flex;flex-direction:column}.zz-class-record-admin-grid{flex:1;min-height:0;margin:0}.zz-class-record-week-date{cursor:default}.zz-class-record-admin-grid .zz-header-corner-cell,.zz-class-record-admin-grid .zz-time-sidebar{width:38px;min-width:38px}.zz-class-record-admin-grid .zz-time-label{font-size:10px;justify-content:flex-start;padding-left:2px}.zz-class-record-day-column{cursor:default}.zz-class-record-grid-card{border-radius:8px;padding:6px 8px}.zz-class-record-grid-card.zz-short-record{min-height:0;padding:1px 4px;box-sizing:border-box}.zz-short-record .course-time,.zz-short-record .zz-class-record-grid-card-meta,.zz-short-record .zz-class-record-grid-card-footer{display:none}.zz-class-record-grid-card.group{background:linear-gradient(180deg,#3b82f6,#2563eb)}.zz-class-record-grid-card.private{background:linear-gradient(180deg,#f59e0b,#ea580c)}.zz-class-record-grid-card-header{display:flex;justify-content:space-between;gap:6px;align-items:flex-start;margin-bottom:4px}.zz-class-record-grid-card-type{font-size:10px;padding:1px 6px;border-radius:999px;background:rgba(255,255,255,.2);flex-shrink:0}.zz-class-record-grid-card-meta{font-size:10px;line-height:1.35;opacity:.95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zz-class-record-grid-card-footer{display:flex;flex-wrap:wrap;gap:6px;font-size:10px;margin-top:6px;opacity:.98}.zz-class-record-grid-card-footer .danger{color:#fee2e2}.zz-class-record-grid-card-footer .primary{color:#dbeafe}.zz-class-record-grid-card .course-title{white-space:normal;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.zz-class-record-grid-card .course-time{margin-bottom:4px}.zz-class-record-admin-grid .zz-empty-text{letter-spacing:2px}@media (min-width: 1024px){.zz-class-record-admin-grid .zz-day-column{width:auto}}.zz-class-record-calendar-page{height:min(72vh,760px);min-height:360px;gap:12px}.zz-class-record-calendar-page .zz-week-header{margin:0;padding:10px;background:#fff;border:1px solid #eceae6;border-radius:12px}.zz-class-record-calendar-page .zz-week-dates{min-width:0}.zz-class-record-week-date{min-width:0;flex:1;padding:4px 0}.zz-class-record-week-date .zz-date-day{font-size:11px}.zz-class-record-week-date .zz-date-number{font-size:13px}.zz-class-record-admin-grid{border:1px solid #eceae6;border-radius:12px;box-shadow:var(--app-shadow)}.zz-class-record-admin-grid .zz-admin-grid-scroll-container{scrollbar-color:#a59b8e #efede8;scrollbar-width:auto}.zz-class-record-admin-grid .zz-admin-grid-scroll-container::-webkit-scrollbar{width:10px;height:10px}.zz-class-record-admin-grid .zz-admin-grid-scroll-container::-webkit-scrollbar-thumb{background:#a59b8e;border:2px solid #efede8;border-radius:8px}.zz-class-record-admin-grid .zz-admin-grid-scroll-container::-webkit-scrollbar-track{background:#efede8}.zz-class-record-admin-grid .zz-grid-header-row,.zz-class-record-admin-grid .zz-header-corner-cell{background:#f4f2ee;border-color:#e8e5df}.zz-class-record-grid-card.group{background:#81786b}.zz-class-record-grid-card.private{background:#a78968}.zz-class-record-calendar-page .zz-week-nav-btn{flex-shrink:0;color:#81786b}.zz-class-record-calendar-page .zz-class-record-week-date{border-color:#e8e5df;background:#faf9f7;border-radius:6px}.zz-class-record-calendar-page .zz-week-dates{gap:2px}.zz-class-record-admin-grid .zz-day-header{background:#f4f2ee;color:#68635d}.class-detail-content{--background: var(--app-bg)}.class-detail-body{max-width:1008px;margin:0 auto;padding:24px;color:#39352f}.class-detail-panel{min-width:0;margin-bottom:18px;padding:20px;border:1px solid #eceae6;border-radius:12px;background:#fff;box-shadow:var(--app-shadow)}.class-detail-panel h2{margin:0 0 16px;color:#39352f;font-size:16px;font-weight:650;line-height:1.6}.class-detail-eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:#817b73;font-size:13px}.class-detail-hero h1{margin:14px 0 18px;color:#39352f;font-size:22px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.class-detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}.class-detail-meta p{display:flex;align-items:flex-start;gap:8px;min-width:0;margin:0;color:#777;font-size:13px;line-height:1.8}.class-detail-meta p:last-child{grid-column:1 / -1}.class-detail-meta ion-icon{flex-shrink:0;margin-top:4px;color:#a59b8e;font-size:16px}.class-detail-meta span{min-width:0;overflow-wrap:anywhere}.class-detail-prose{margin:0;color:#68635d;font-size:14px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.class-detail-prose.is-empty{color:#999}.class-detail-status{display:inline-block;flex-shrink:0;max-width:100%;padding:4px 8px;border-radius:6px;background:#f1f1ef;color:#888;font-size:11px;line-height:1.6;overflow-wrap:anywhere}.class-detail-status.group,.class-detail-status.booked,.class-detail-status.scheduled{color:#726858;background:#f4f1eb}.class-detail-status.private,.class-detail-status.late,.class-detail-status.waitlisted{color:#997b56;background:#f6eee5}.class-detail-status.present,.class-detail-status.in_progress{color:#63816c;background:#edf3ef}.class-detail-status.absent{color:#985e55;background:#faf1ef}.class-detail-section-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:4px}.class-detail-section-heading h2{margin-bottom:10px}.class-detail-section-heading>span{color:#999;font-size:12px}.class-detail-student{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid #eeeae4}.class-detail-student>.admin-cancellation-history{flex:none;width:100%}.class-detail-student:last-child{border-bottom:0;padding-bottom:0}.class-detail-member-link{display:flex;align-items:flex-start;gap:14px;flex:1;min-width:0;padding:4px;border:0;border-radius:8px;background:transparent;color:#39352f;font:inherit;text-align:left;cursor:pointer}.class-detail-member-link ion-avatar{flex-shrink:0;width:44px;height:44px;background:#efede8}.class-detail-member-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.class-detail-member-name{font-size:14px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}.class-detail-member-teacher{color:#70604d;font-size:13px;font-weight:500;line-height:1.8;overflow-wrap:anywhere}.class-detail-member-note{color:#888;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.class-detail-member-hint{color:#81786b;font-size:12px;line-height:1.7}.class-detail-student-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;max-width:46%}.class-detail-student-actions ion-button{margin:0;height:36px;min-height:36px;--border-radius: 8px;--border-color: #d9d5cd;--color: #68635d;--padding-start: 10px;--padding-end: 10px;font-size:12px}.class-detail-student-actions ion-button[color=danger]{--border-color: #d8b5af;--color: #985e55}.class-detail-empty-text{margin:12px 0 0;padding:16px 0;color:#999;font-size:13px;text-align:center}.class-detail-empty{padding:32px 20px;border:1px solid #eceae6;border-radius:12px;background:#fff;color:#888;text-align:center;font-size:14px}.class-detail-empty ion-button{height:40px;min-height:40px;--border-radius: 8px}.class-detail-modal{--width: min(720px, calc(100vw - 40px) );--height: min(86vh, 860px);--border-radius: 20px}.class-detail-modal-body{padding:24px;color:#39352f}.class-detail-modal-body>:last-child{margin-bottom:0}.class-detail-cancellation-modal{--width: min(620px, calc(100vw - 40px) );--height: min(86vh, 760px)}.class-detail-cancellation-body .class-detail-panel{margin-bottom:0}.class-detail-cancellation-reasons{display:flex;flex-wrap:wrap;gap:10px 16px;margin:20px 0 0;padding:0;border:0}.class-detail-cancellation-reasons legend{margin-bottom:10px;color:#4b443b;font-size:14px;font-weight:600}.class-detail-cancellation-reasons label{display:inline-flex;align-items:center;gap:6px;min-height:34px;color:#57524b;font-size:13px;cursor:pointer}.class-detail-cancellation-reasons input{accent-color:#997b56}.class-detail-cancellation-error{margin:16px 0 0;color:#b42318;font-size:13px;line-height:1.7;white-space:pre-wrap}.class-detail-cancellation-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:14px 24px calc(14px + var(--ion-safe-area-bottom, 0px));border-top:1px solid #eceae6;background:#fff}.class-detail-cancellation-actions ion-button{margin:0;--border-radius: 8px}.class-detail-member-hero{display:flex;align-items:center;gap:18px;margin-bottom:24px}.class-detail-member-hero ion-avatar{flex-shrink:0;width:72px;height:72px;background:#efede8}.class-detail-member-hero>div{min-width:0}.class-detail-member-hero h1,.class-detail-log-intro h1{margin:0;color:#39352f;font-size:20px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.class-detail-member-hero p,.class-detail-log-intro p{margin:6px 0 0;color:#888;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.class-detail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;margin:0}.class-detail-fields>div{min-width:0}.class-detail-fields .is-wide{grid-column:1 / -1}.class-detail-fields dt{margin-bottom:6px;color:#999;font-size:12px}.class-detail-fields dd{margin:0;color:#68635d;font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.class-detail-log-intro{margin-bottom:24px}.class-detail-panel .class-detail-icon-heading{display:flex;align-items:center;gap:10px}.class-detail-icon-heading ion-icon{flex-shrink:0;color:#81786b;font-size:20px}.class-detail-rating{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:12px;color:#888;font-size:13px}.class-detail-stars{color:#b59260;font-size:20px;letter-spacing:3px}.class-detail-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.class-detail-photo{min-width:0;overflow:hidden;border:1px solid #eeeae4;border-radius:10px;background:#faf9f7}.class-detail-photo>img{display:block;width:100%;aspect-ratio:1;object-fit:cover;cursor:pointer}.class-detail-photo>button{display:block;width:100%;min-height:36px;padding:8px;border:0;background:#f4f1eb;color:#726858;font-size:12px;cursor:pointer}.class-detail-photo-content{--background: #242320}.class-detail-photo-preview{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:16px}.class-detail-photo-preview img{max-width:100%;max-height:100%;object-fit:contain}.class-detail-body button:focus-visible,.class-detail-modal button:focus-visible{outline:2px solid #81786b;outline-offset:2px}@media (hover: hover){.class-detail-member-link:hover{background:#faf9f7}}@media (max-width: 600px){.class-detail-body,.class-detail-modal-body{padding:18px 14px}.class-detail-panel{padding:16px}.class-detail-hero h1{font-size:20px}.class-detail-meta{grid-template-columns:minmax(0,1fr);gap:8px}.class-detail-student{align-items:stretch;flex-direction:column;gap:10px}.class-detail-member-link{gap:12px}.class-detail-student-actions{max-width:100%;justify-content:flex-start;padding-left:4px}.class-detail-modal{--width: 100%;--height: 100%;--border-radius: 0}.class-detail-member-hero{gap:14px;margin-bottom:20px}.class-detail-member-hero ion-avatar{width:64px;height:64px}.class-detail-fields{gap:16px}.class-detail-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}: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;overflow:visible;--min-height: 48px}.zz-schedule-type-tabs{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:4px;width:max-content;min-width:max-content;max-width:68%;padding:3px;border-radius:12px;background:#f5f7fa;z-index:10;overflow:visible}.zz-schedule-type-button{flex:0 1 auto;min-width:max-content;height:30px;padding:0 12px;border:1.5px solid transparent;border-radius:9px;background:transparent;color:#64748b;font-size:12px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;appearance:none;-webkit-appearance:none;overflow:visible}.zz-schedule-type-button.active{border-color:var(--ion-color-primary);color:var(--ion-color-primary);background:#fff}.zz-schedule-type-button:disabled{opacity:.45}.zz-schedule-type-button:focus-visible{outline:2px solid rgba(var(--ion-color-primary-rgb),.25);outline-offset:1px}.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-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.zz-language-select-compact{--background: rgba(255, 255, 255, .82);--border-radius: 999px;--inner-padding-start: 10px;--inner-padding-end: 8px;--min-height: 34px;width:auto;max-width:150px;font-size:13px;box-shadow:0 2px 10px rgba(31,41,55,.06)}.zz-language-select-compact ion-select{min-height:34px;padding:0}.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}.csv-preview-modal{--width: min(1180px, 96vw);--height: min(820px, 92vh);--border-radius: 16px}.csv-preview-content{padding:16px}.csv-preview-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.csv-preview-summary p{margin:5px 0 0;color:#64748b;font-size:13px}.csv-preview-counts{display:flex;gap:8px;white-space:nowrap}.csv-preview-count,.csv-preview-status{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700}.csv-preview-count.is-valid,.csv-preview-status.is-valid{color:#166534;background:#dcfce7}.csv-preview-count.is-error,.csv-preview-status.is-error{color:#b91c1c;background:#fee2e2}.csv-preview-table-wrap{overflow:auto;max-height:calc(92vh - 210px);border:1px solid #e2e8f0;border-radius:12px}.csv-preview-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:12px}.csv-preview-table th,.csv-preview-table td{max-width:240px;padding:9px 10px;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;text-align:left;white-space:nowrap}.csv-preview-table th{position:sticky;top:0;z-index:2;color:#334155;background:#f8fafc;font-weight:700}.csv-preview-table tr.is-valid td{background:#f7fef9}.csv-preview-table tr.is-error td{background:#fff7f7}.csv-preview-table .csv-preview-reason-column,.csv-preview-table .csv-preview-reasons{min-width:280px;white-space:normal}.csv-preview-reasons{color:#b91c1c;line-height:1.5}.csv-preview-table tr.is-valid .csv-preview-reasons{color:#166534}.csv-preview-footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 16px;background:#fff;border-top:1px solid #e2e8f0}@media (max-width: 680px){.csv-preview-summary{align-items:flex-start;flex-direction:column}.csv-preview-footer ion-button{flex:1}}.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;touch-action:pan-y;user-select:none;-webkit-user-select:none}.zz-week-grid-container .zz-date-select-item{-webkit-touch-callout:none}.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-approval-detail-modal{--width: min(720px, calc(100vw - 24px) );--max-width: 720px;--height: min(82vh, 760px);--max-height: 82vh;--border-radius: 18px;--box-shadow: 0 24px 72px rgba(15, 23, 42, .22)}@media (min-width: 768px){.zz-approval-detail-modal{--width: min(720px, calc(100vw - 48px) )}}.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-right-drawer-modal ion-accordion-group{display:block}.zz-drawer-accordion-header{--background: #fff;--padding-start: 12px;--padding-end: 12px;--min-height: 52px;font-size:14px;font-weight:600}.zz-drawer-accordion-header ion-label{font-size:14px;font-weight:600;color:#111827}.zz-drawer-accordion-summary{font-size:12px;color:#64748b}.zz-drawer-accordion-content{margin-bottom:8px;background:#f8fafc;border-radius:12px;overflow:hidden}.zz-drawer-accordion-content ion-item{--background: #f8fafc;--padding-start: 12px;--padding-end: 12px;--min-height: 46px;--border-color: #e2e8f0;font-size:14px}.zz-drawer-accordion-content ion-item:last-child{--inner-border-width: 0}.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}.member-csv-import-notice{margin:8px 0;color:#68635d;font-size:12px}.member-csv-import-notice summary{cursor:pointer;line-height:1.7}.member-csv-import-notice p{margin:6px 0 0;line-height:1.7}.member-csv-settings{margin-bottom:10px;padding:10px 12px;border:1px solid #e6e3de;border-radius:10px;background:#fff;color-scheme:light}.member-csv-settings>summary{cursor:pointer;font-size:13px;line-height:1.6;color:#333}.member-csv-settings-summary{margin-left:12px;color:#817b73;font-size:12px}.member-csv-settings-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:12px}.member-csv-settings-toolbar label,.member-csv-type-field{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;font-size:13px;color:#68635d}.member-csv-settings-toolbar select,.member-csv-settings-toolbar input{box-sizing:border-box;height:36px;max-width:100%;padding:6px 10px;border:1px solid #e1ded8;border-radius:7px;color:#2c2c2c;background:#faf9f7;font:inherit}.member-csv-settings-toolbar select{width:210px}.member-csv-settings-toolbar input{width:150px}.member-csv-type-select{box-sizing:border-box;height:36px;min-height:36px;max-height:36px;padding:0;--padding-top: 0;--padding-bottom: 0;--padding-start: 10px;--padding-end: 10px;border:0;border-radius:7px;box-shadow:inset 0 0 0 1px #e1ded8;background:#faf9f7;color:#2c2c2c;color-scheme:light;font-size:13px;font-weight:400}.member-csv-type-select{width:180px}.member-csv-type-select::part(text){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.member-csv-type-select::part(icon){color:#817b73;opacity:1}.member-csv-type-select:focus-within{outline:2px solid var(--ion-color-primary);outline-offset:1px}.member-csv-picker-sheet{--background: #fff;--button-background: #fff;--button-background-selected: #f4f2ee;--button-color: #2c2c2c;--color: #777;--max-width: 520px;color-scheme:light}.member-csv-picker-sheet .action-sheet-button{min-height:52px;height:auto;padding-top:12px;padding-bottom:12px}.member-csv-picker-sheet .action-sheet-button-inner{white-space:normal;overflow-wrap:anywhere;font-size:16px;line-height:1.5}.member-csv-field-hint{font-size:12px;color:#888}.member-csv-table-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-bottom:10px}.member-csv-table-tools .member-csv-filter-summary{margin:0;gap:6px 10px}.member-csv-file-picker{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px}.member-csv-file-picker label{font-size:14px;min-width:0}.member-csv-file-picker input{max-width:100%;margin-left:8px}.member-csv-file-picker>span{font-size:12px;color:var(--ion-color-medium)}.member-csv-import-error{color:var(--ion-color-danger)}.member-csv-import-confirm{display:flex;align-items:flex-start;gap:10px;padding:14px 20px 0;font-size:13px;line-height:1.6;background:var(--ion-background-color, #fff)}.member-csv-import-confirm input{flex-shrink:0;margin-top:4px}.member-csv-email-option{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.member-csv-email-option input{width:18px;height:18px;margin:0;accent-color:var(--ion-color-primary)}.member-csv-preview-modal .csv-preview-counts{flex-wrap:wrap}.member-csv-filter-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-bottom:10px;font-size:12px;color:#64748b}.member-csv-filter-summary button{padding:6px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;cursor:pointer}.member-csv-filter-summary button:disabled{opacity:.5;cursor:default}.member-csv-column-filter{display:block;box-sizing:border-box;width:100%;min-width:90px;max-width:220px;margin-top:8px;padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;font:inherit;font-weight:400}.member-csv-column-filter:focus-visible{outline:2px solid var(--ion-color-primary);outline-offset:1px}.csv-preview-table .member-csv-row-column{box-sizing:border-box;width:64px;min-width:64px;max-width:64px;padding-left:7px;padding-right:7px;text-align:center}.member-csv-row-column .member-csv-column-filter{width:48px;min-width:0;max-width:48px;padding-left:4px;padding-right:4px}.member-csv-table{table-layout:fixed;min-width:0}.member-csv-table th,.member-csv-table td{padding:8px 7px;white-space:normal;overflow-wrap:anywhere}.member-csv-table th{vertical-align:bottom}.member-csv-table .member-csv-column-filter{width:100%;min-width:0;max-width:none;margin-top:6px;padding-left:4px;padding-right:4px}.member-csv-table .csv-preview-reason-column,.member-csv-table .csv-preview-reasons{min-width:0}.member-csv-preview-modal .csv-preview-table .member-csv-filter-empty{padding:24px 12px;text-align:center;color:#64748b}.member-csv-preview-empty{padding:48px 16px;text-align:center;color:var(--ion-color-medium);border:1px dashed #d7dde5;border-radius:10px;font-size:14px}.member-csv-preview-modal .csv-preview-summary strong{overflow-wrap:anywhere}.member-csv-preview-modal .csv-preview-content{box-sizing:border-box;display:flex;flex-direction:column;height:100%;min-height:0}.member-csv-preview-modal .csv-preview-content>:not(.csv-preview-table-wrap){flex-shrink:0}.member-csv-preview-modal .csv-preview-table-wrap{flex:1;min-height:220px;max-height:none;overflow:scroll;scrollbar-gutter:stable}@supports not selector(::-webkit-scrollbar){.member-csv-preview-modal .csv-preview-table-wrap{scrollbar-width:auto;scrollbar-color:#64748b #e2e8f0}}.member-csv-preview-modal .csv-preview-table-wrap::-webkit-scrollbar{width:14px;height:14px}.member-csv-preview-modal .csv-preview-table-wrap::-webkit-scrollbar-track,.member-csv-preview-modal .csv-preview-table-wrap::-webkit-scrollbar-corner{background:#e2e8f0}.member-csv-preview-modal .csv-preview-table-wrap::-webkit-scrollbar-thumb{background:#64748b;border:3px solid #e2e8f0;border-radius:7px}.member-csv-preview-modal .csv-preview-table-wrap::-webkit-scrollbar-thumb:hover{background:#475569}.member-csv-preview-modal .csv-preview-table-wrap:focus-visible{outline:2px solid var(--ion-color-primary);outline-offset:2px}@media (max-width: 600px){.member-csv-preview-modal{--width: 100%;--height: 100%;--border-radius: 0}.member-csv-preview-modal .csv-preview-content{padding:12px}.member-csv-preview-modal .csv-preview-summary{gap:8px;margin-bottom:10px}.member-csv-settings-toolbar label,.member-csv-type-field{width:100%}.member-csv-settings-toolbar input,.member-csv-settings-toolbar select{flex:1;min-width:0;font-size:16px;height:40px}.member-csv-settings-toolbar .member-csv-field-hint{flex-basis:100%}.member-csv-type-select{flex:1;min-width:0;height:40px;min-height:40px;max-height:40px;font-size:16px}}.member-management-content{--padding-start: 16px;--padding-end: 16px;--padding-top: 12px;--padding-bottom: 16px}.member-management-fixed-controls{display:grid;gap:12px;padding:12px 16px;background:var(--app-bg, #f9f9f9)}.member-management-fixed-controls .member-filter-bar,.member-management-fixed-controls .member-classification-banner{margin-bottom:0}.member-filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-bottom:16px}.member-filter-options{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px;border:1px solid #e8e4dd;border-radius:12px;background:#eeece7}.member-filter-options button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border:0;border-radius:8px;background:transparent;color:#837c71;font:inherit;font-size:13px;cursor:pointer}.member-filter-options button[aria-pressed=true]{background:#fff;color:#35322e;box-shadow:0 1px 5px rgba(57,48,34,.07);font-weight:600}.member-filter-options button:not(:disabled):hover{color:#393630;background:#faf9f6}.member-filter-options button:disabled{cursor:default;opacity:.5}.member-filter-options button:focus-visible{outline:2px solid var(--ion-color-primary);outline-offset:1px}.member-filter-count{min-width:20px;padding:2px 5px;border-radius:6px;background:#e3dfd7;color:#888073;font-size:11px;line-height:16px;font-variant-numeric:tabular-nums}.member-filter-options button[aria-pressed=true] .member-filter-count{background:#efede7;color:#514a40}.member-filter-result{color:#928a7f;font-size:12px}@media (max-width: 600px){.member-filter-bar{gap:8px}.member-filter-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:2px}.member-filter-options button{flex-direction:column;gap:3px;min-width:0;min-height:58px;padding:6px 2px;font-size:12px}.member-filter-count{font-size:10px;line-height:14px}.member-filter-result{padding-left:4px}}.member-list-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:8px}.member-list-heading .member-list-name{flex:1 1 120px;min-width:0;margin:0;font-weight:700;font-size:17px;color:#222;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-list-tags{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;max-width:100%;min-width:0}.member-list-tag{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:26px;max-width:100%;padding:4px 10px;border-radius:13px;font-size:12px;line-height:18px;font-weight:600;white-space:normal;overflow-wrap:anywhere}.member-list-tag ion-icon{flex-shrink:0;font-size:14px}.member-list-tag--pending{background:#fff4df;color:#92400e}.member-list-tag--set{background:#e6f4ea;color:#1e8e3e}.member-list-tag--neutral{background:#f1f3f4;color:#5f6368}.member-list-password-time{margin-bottom:8px;font-size:12px;line-height:18px;color:#5f6368;white-space:normal}@media (max-width: 600px){.member-list-heading .member-list-name{flex-basis:100%}.member-list-tags{justify-content:flex-start;width:100%}}
