.crs{--crs-pad:16px;--crs-primary:#0B6E4F;--crs-ink:#0f172a;--crs-muted:#64748b;--crs-line:#e2e8f0;min-height:100dvh;max-width:100%;overflow-x:hidden;background:#f3f4f6;color:var(--crs-ink);padding-bottom:calc(96px + env(safe-area-inset-bottom, 0px))}.crs,.crs *,.crs :after,.crs :before{box-sizing:border-box}.crs-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:4px;padding:calc(10px + env(safe-area-inset-top, 0px)) 12px 10px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--crs-line)}.crs-top{position:sticky;top:0;z-index:20;background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.06)}.crs-top .crs-pass{margin:0;border-radius:0;border-left:0;border-right:0;border-top:0;background:#E6F5EF}.crs-back{width:44px;height:44px;border:0;border-radius:999px;background:transparent;color:var(--crs-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.crs-back:active{background:#f1f5f9}.crs-header__titles{text-align:center;min-width:0}.crs-header__titles h1{margin:0;font-size:1.08rem;font-weight:850}.crs-header__titles p{margin:2px 0 0;font-size:.78rem;color:var(--crs-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crs-header__spacer{width:44px}.crs-mode-tabs{display:flex;gap:8px;margin:0 0 14px;padding:4px;border-radius:12px;background:#eef2f6}.crs-mode-tabs__btn{flex:1;min-height:40px;border:0;border-radius:9px;background:transparent;color:#64748b;font-size:.9rem;font-weight:750;font-family:inherit;cursor:pointer}.crs-mode-tabs__btn.is-on{background:#fff;color:#0b6e4f;box-shadow:0 1px 4px rgba(15,23,42,.08)}.crs-body{padding:14px var(--crs-pad) 24px;display:grid;gap:20px;width:100%;max-width:100%;overflow-x:hidden}.crs-pass{display:flex;align-items:flex-start;gap:12px;padding:14px 16px 16px;border-radius:16px;background:#E6F5EF;border:1px solid #a7d7c5}.crs-pass__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;background:#fff;border:1px solid #a7d7c5;color:#0B6E4F}.crs-pass__body{flex:1;min-width:0}.crs-pass__name{margin:0;font-size:1.05rem;font-weight:850;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}.crs-pass__meta{margin:5px 0 0;font-size:.86rem;color:var(--crs-muted);font-weight:600}.crs-pass__meta strong{font-weight:800;color:#0B6E4F}.crs-pass__sub{margin:3px 0 0;font-size:.82rem;font-weight:650;color:var(--crs-muted)}.crs-pass__hint{margin:5px 0 0;font-size:.75rem;color:#94a3b8}.crs-section{min-width:0;max-width:100%}.crs-section--soft{padding:12px 14px;border-radius:12px;background:#fff;border:1px solid var(--crs-line)}.crs-section__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.crs-section__title{margin:0;font-size:.95rem;font-weight:800}.crs-section__done{font-size:.72rem;font-weight:750;color:#0B6E4F;background:#E6F5EF;border-radius:999px;padding:3px 8px}.crs-section__note{font-size:.73rem;font-weight:700;color:var(--crs-muted);white-space:nowrap}.crs-locked{padding:22px 14px;border-radius:12px;background:#f8fafc;border:1px dashed #cbd5e1;text-align:center}.crs-locked p{margin:0;font-size:.88rem;font-weight:650;color:#94a3b8}.crs-reveal{animation:crs-rise .28s ease both}@keyframes crs-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.crs-reveal{animation:none}}.crs-assigned{margin:0;font-size:.98rem;font-weight:800;color:#0f172a}.crs-date-rail-wrap{display:flex;align-items:stretch;gap:8px;max-width:100%;min-width:0}.crs-date-rail-wrap>.crs-date-chip.is-cal{flex:0 0 56px;align-self:stretch}.crs-date-rail{display:flex;flex:1 1 auto;gap:8px;overflow-x:auto;overflow-y:hidden;min-width:0;max-width:100%;padding-bottom:2px;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.crs-date-rail::-webkit-scrollbar{display:none}.crs-today{display:flex;align-items:center;gap:10px;min-height:54px;padding:0 14px;border:1px solid #a7d7c5;border-radius:12px;background:#E6F5EF}.crs-today span{flex:0 0 auto;padding:3px 8px;border-radius:999px;background:#0B6E4F;color:#fff;font-size:.72rem;font-weight:800}.crs-today strong{color:#064E3B;font-size:.92rem;font-weight:800}.crs-today.is-off{border-color:#e2e8f0;background:#f8fafc}.crs-today.is-off span{background:#94a3b8}.crs-today.is-off strong{color:#94a3b8}.crs-date-chip{flex:0 0 56px;height:64px;border:1px solid var(--crs-line);border-radius:12px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;scroll-snap-align:start;font-family:inherit;color:var(--crs-ink);transition:border-color .16s ease,background-color .16s ease}.crs-date-chip span{font-size:.7rem;color:var(--crs-muted);font-weight:650}.crs-date-chip strong{font-size:1.05rem;font-weight:850}.crs-date-chip.is-on{border-color:var(--crs-primary);background:#E6F5EF}.crs-date-chip.is-on,.crs-date-chip.is-on span{color:var(--crs-primary)}.crs-date-chip.is-weekend strong{color:#dc2626}.crs-date-chip.is-on.is-weekend strong{color:var(--crs-primary)}.crs-date-chip.is-off{background:#f8fafc;color:#cbd5e1;cursor:default}.crs-date-chip.is-off span,.crs-date-chip.is-off strong{color:#cbd5e1}.crs-date-chip.is-cal{align-items:center;justify-content:center;color:var(--crs-primary);background:#E6F5EF;border-color:#A7D7C5}.crs-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.crs-time{min-height:44px;border:1px solid var(--crs-line);border-radius:10px;background:#fff;font-size:.95rem;font-weight:750;cursor:pointer;font-family:inherit;color:var(--crs-ink)}.crs-time.is-on{border-color:var(--crs-primary);background:#E6F5EF;color:var(--crs-primary);box-shadow:inset 0 0 0 1px var(--crs-primary)}.crs-facility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.crs-facility{min-height:48px;border:1px solid var(--crs-line);border-radius:10px;background:#fff;font-size:.92rem;font-weight:750;cursor:pointer;font-family:inherit}.crs-facility.is-on{border-color:var(--crs-primary);background:#E6F5EF;color:var(--crs-primary)}.crs-instructor-rail{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none}.crs-instructor-rail::-webkit-scrollbar{display:none}.crs-instructor{flex:0 0 104px;padding:12px 10px;border:1px solid var(--crs-line);border-radius:12px;background:#fff;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;font-family:inherit}.crs-instructor.is-on{border-color:var(--crs-primary);background:#E6F5EF;box-shadow:inset 0 0 0 1px var(--crs-primary)}.crs-instructor.is-off{opacity:.45;cursor:default}.crs-instructor__avatar{width:40px;height:40px;border-radius:999px;background:#C8E8DB;color:#0B6E4F;display:inline-flex;align-items:center;justify-content:center;font-weight:800}.crs-instructor__name{font-size:.88rem;font-weight:800}.crs-instructor__title{font-size:.72rem;color:var(--crs-muted)}.crs-summary{padding:16px;border-radius:16px;background:#fff;border:1px solid #e2e8f0}.crs-summary .crs-section__head{margin-bottom:4px}.crs-summary__rows{margin:0;display:grid}.crs-summary__row{display:flex;align-items:center;gap:12px;padding:10px 0}.crs-summary__row+.crs-summary__row{border-top:1px solid #f1f5f9}.crs-summary__row dt{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;min-width:92px;margin:0;font-size:.82rem;font-weight:650;color:var(--crs-muted)}.crs-summary__icon{display:inline-flex;align-items:center;justify-content:center;color:#94a3b8}.crs-summary__row dd{flex:1;min-width:0;margin:0;font-size:.9rem;font-weight:700;color:#0f172a;line-height:1.4;text-align:right;word-break:keep-all;overflow-wrap:anywhere}.crs-summary__row.is-strong dd{font-weight:800;color:#0B6E4F}.crs-summary__row.is-strong .crs-summary__icon{color:#0B6E4F}.crs-summary__note{margin:10px 0 0;padding-top:10px;border-top:1px solid #f1f5f9;font-size:.78rem;color:#94a3b8;line-height:1.4}.crs-empty{margin:0;font-size:.88rem;color:var(--crs-muted);line-height:1.45}.crs-fail{margin:0;padding:10px 12px;border-radius:10px;background:#fef2f2;color:#b91c1c;font-size:.86rem;font-weight:650}.crs-cta-spacer{height:calc(88px + env(safe-area-inset-bottom, 0px));flex-shrink:0}.crs-cta-fixed{position:fixed;right:0;bottom:0;left:50%;z-index:40;width:min(100%,var(--ca-max,100%));margin:0;transform:translateX(-50%);padding:0;background:transparent}.crs-cta-bar,.crs-cta-fixed{max-width:none;box-sizing:border-box}.crs-cta-bar{position:relative;left:auto;bottom:auto;z-index:auto;width:100%;transform:none;padding:10px 16px calc(12px + env(safe-area-inset-bottom, 0px));background:#fff;border-top:1px solid #e5e7eb;box-shadow:none;border-radius:0}.crs-cta-bar__hint{font-size:.8rem;color:#0f172a;font-weight:700;line-height:1.35}.crs-cta-bar__hint,.crs-cta-bar__summary{margin:0 0 8px;text-align:center}.crs-cta-bar__summary p{margin:0;font-size:.82rem;font-weight:700;color:#334155;line-height:1.4}.crs-party{display:flex;flex-wrap:wrap;gap:8px}.crs-party__btn{min-width:64px;min-height:40px;padding:0 12px;border:1px solid var(--crs-line);border-radius:10px;background:#fff;font-size:.9rem;font-weight:750;cursor:pointer;font-family:inherit}.crs-party__btn.is-on{border-color:var(--crs-primary);background:#E6F5EF;color:var(--crs-primary)}.crs-practice-offsets{display:flex;flex-wrap:nowrap;gap:4px;width:100%;overflow:hidden}.crs-practice-offsets__btn{flex:1 1 0;min-width:0;min-height:40px;padding:0 2px;border:1px solid var(--crs-line);border-radius:10px;background:#fff;font-size:.72rem;font-weight:750;line-height:1.15;white-space:nowrap;cursor:pointer;font-family:inherit}.crs-practice-offsets__btn.is-on{border-color:var(--crs-primary);background:#E6F5EF;color:var(--crs-primary)}.crs-practice-offsets__hint{margin:8px 0 0;font-size:.82rem;font-weight:700;color:var(--crs-primary);line-height:1.35}.crs-facility-grid.is-dense{grid-template-columns:repeat(3,minmax(0,1fr))}.crs-cta{width:100%;min-height:52px;height:auto;border:0;border-radius:14px;font-size:1rem;font-weight:800;cursor:pointer;font-family:inherit}.crs-cta,.crs-cta-bar.is-ready .crs-cta,.crs-cta:not(:disabled):not([aria-disabled=true]){background:#0b6e4f;color:#fff;-webkit-text-fill-color:#fff}.crs-cta:disabled,.crs-cta[aria-disabled=true]{background:#cbd5e1;color:#fff;-webkit-text-fill-color:#fff;cursor:default;opacity:1}.crs-dialog,.crs-sheet{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center}.crs-dialog{align-items:center;padding:20px}.crs-sheet__dim{position:absolute;inset:0;border:0;background:rgba(15,23,42,.4);cursor:pointer}.crs-sheet__panel{position:relative;width:100%;max-width:var(--ca-max,100%);max-height:72dvh;overflow:auto;padding:16px 16px calc(16px + env(safe-area-inset-bottom, 0px));border-radius:18px 18px 0 0;background:#fff}.crs-sheet__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.crs-sheet__head button{width:36px;height:36px;border:0;border-radius:999px;background:#f1f5f9;font-size:1.2rem;cursor:pointer}.crs-cal-head{justify-content:space-between;gap:8px;margin-bottom:12px}.crs-cal-head,.crs-cal-nav{display:flex;align-items:center}.crs-cal-nav{gap:6px}.crs-cal-nav strong{min-width:76px;text-align:center;font-size:1rem;font-weight:850}.crs-cal-nav button{width:34px;height:34px;border:0;border-radius:999px;background:#f1f5f9;font-size:1.1rem;line-height:1;cursor:pointer;font-family:inherit}.crs-cal-close{border:0;padding:8px 10px;border-radius:10px;background:transparent;color:var(--crs-muted);font-size:.88rem;font-weight:700;cursor:pointer;font-family:inherit}.crs-cal-week{margin-bottom:6px;text-align:center;font-size:.72rem;color:var(--crs-muted);font-weight:700}.crs-cal-grid,.crs-cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.crs-cal-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;border:0;border-radius:10px;background:transparent;font-size:.9rem;font-weight:700;cursor:pointer;font-family:inherit;line-height:1}.crs-cal-day__num{display:block}.crs-cal-day__dots{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:3px;pointer-events:none}.crs-cal-day__dot{width:6px;height:6px;border-radius:50%;flex:0 0 auto}.crs-cal-day__dot.is-upcoming{background:var(--crs-primary)}.crs-cal-day__dot.is-done{background:#94a3b8}.crs-cal-day.is-on .crs-cal-day__dot.is-upcoming{background:#fff}.crs-cal-day.is-on .crs-cal-day__dot.is-done{background:rgba(255,255,255,.65)}.crs-cal-day.is-off .crs-cal-day__dot.is-upcoming{background:#86efac}.crs-cal-day.is-off .crs-cal-day__dot.is-done{background:#cbd5e1}.crs-cal-day.is-today{box-shadow:inset 0 0 0 1px var(--crs-primary);color:var(--crs-primary)}.crs-cal-day.is-on{background:var(--crs-primary);color:#fff}.crs-cal-day.is-off{color:#cbd5e1;cursor:default}.crs-cal-foot{margin-top:14px;padding-top:12px;border-top:1px solid var(--crs-line)}.crs-cal-foot__picked{margin:0 0 10px;text-align:center;font-size:.92rem;font-weight:800;color:var(--crs-ink)}.crs-cal-foot__picked.is-empty{color:#94a3b8;font-weight:650}.crs-dialog__panel{position:relative;width:100%;max-width:340px;padding:18px 16px 14px;border-radius:16px;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.18)}.crs-dialog__panel h3{margin:0 0 10px;font-size:1.08rem;font-weight:850;text-align:center}.crs-dialog__body p{margin:0;text-align:center;font-size:.92rem;font-weight:700;line-height:1.45}.crs-dialog__policy{margin:10px 0 0;text-align:center;font-size:.76rem;color:var(--crs-muted)}.crs-dialog__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.crs-dialog__actions.is-single{grid-template-columns:1fr}.crs-dialog__link{border:0;padding:0;background:transparent;color:#0B6E4F;font-size:inherit;font-weight:700;text-decoration:underline;cursor:pointer;font-family:inherit}.crs-dialog__cancel,.crs-dialog__ok{min-height:44px;border-radius:10px;font-size:.95rem;font-weight:750;cursor:pointer;font-family:inherit}.crs-dialog__cancel{border:1px solid var(--crs-line);background:#fff;color:var(--crs-ink)}.crs-dialog__ok{border:0;background:var(--crs-primary);color:#fff}.crs-dialog__ok:disabled{opacity:.6;cursor:default}.crs-pass__role{margin:0 0 3px;color:#64748b;font-size:.72rem;font-weight:700}.crs-pro-member{display:flex;align-items:flex-start;gap:12px;margin:0 16px 12px;padding:14px 16px;border-radius:16px;background:#fff;border:1px solid #e5e8eb}.crs-pro-member--fixed{background:#f7f8fa}.crs-pro-member__body{flex:1;min-width:0}.crs-pro-member__role{margin:0 0 3px;color:#64748b;font-size:.72rem;font-weight:700}.crs-pro-member__name{margin:0;font-size:1.05rem;font-weight:800;letter-spacing:-.02em;color:#191f28}.crs-pro-member__counts,.crs-pro-member__meta{margin:4px 0 0;color:#8b95a1;font-size:.8125rem;line-height:1.4}.crs-pro-member__change{padding:8px 12px;border:1px solid #d1d6db;background:#fff;color:#191f28;font-size:.8125rem;cursor:pointer}.crs-pro-member__change,.crs-pro-member__fixed-badge{flex:0 0 auto;margin-top:2px;border-radius:999px;font-weight:700}.crs-pro-member__fixed-badge{padding:6px 10px;background:#e8eef5;color:#4e5968;font-size:.75rem}.crs-pass__included{margin:10px 0 0;color:#0B6E4F;font-size:.82rem;font-weight:700}.crs-pass__usage{display:grid;width:100%;gap:3px;margin-top:12px;padding:11px 12px;border:1px solid #c8e8db;border-radius:12px;background:#F5FAF8;text-align:left}.crs-pass__usage--section{margin-top:0}.crs-pass__usage span{color:#64748b;font-size:.72rem}.crs-pass__usage strong{color:#064E3B;font-size:.88rem}.crs-pass__usage:disabled{opacity:1}.crs-usage-sheet__list{display:grid;gap:8px;padding:8px 18px 24px}.crs-usage-sheet__item{display:flex;align-items:center;justify-content:space-between;min-width:0;padding:14px;border:1px solid var(--crs-line);border-radius:14px;background:#fff;text-align:left}.crs-usage-sheet__item.is-on{border-color:#0B6E4F;background:#E6F5EF}.crs-usage-sheet__item span{display:grid;min-width:0;gap:5px}.crs-usage-sheet__item small{overflow-wrap:anywhere;color:#64748b}.crs-usage-sheet__item i{color:#0B6E4F;font-style:normal;font-weight:900}.crs-usage-sheet__footer{padding:0 18px 20px}.crs-usage-sheet__footer button{width:100%;min-height:48px;border:0;border-radius:13px;color:#fff;background:#0B6E4F;font-weight:800}.crs-usage-sheet__footer button:disabled{background:#cbd5e1}.crs-member-search{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid var(--crs-line);background:#fff;color:var(--crs-muted)}.crs-member-search input{flex:1;border:0;outline:none;font:inherit;font-size:.95rem;color:var(--crs-ink);background:transparent}.crs-member-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px;max-height:min(52vh,420px);overflow:auto}.crs-member-row{width:100%;display:grid;gap:2px;text-align:left;padding:14px 16px;border-radius:14px;border:1px solid var(--crs-line);background:#fff;color:var(--crs-ink);cursor:pointer}.crs-member-row:disabled{opacity:.6;cursor:default}.crs-member-row strong{font-size:1rem;font-weight:800}.crs-member-row span{font-size:.8125rem;color:var(--crs-muted)}.crs-empty-inline{margin:14px 0 0;color:var(--crs-muted);font-size:.875rem;text-align:center}