:root{--os-electric-green:#8fdaaf;--os-boast-blue:#002d78;--os-pro-yellow:#fcda01;--os-rally-red:#ed1856;--os-beginner-blue:#00aaff;--os-floor-fawn:#fce6d2;--os-get-green:#16403e;--os-drive-darkness:#2f2626;--os-dark-red:#5d0023;--os-bronze:#c77329;--os-silver:#b3b3b3;--os-gold:#ffbd01;--os-white:#ffffff;--os-green-100:#e8f7ef;--os-green-200:#c8ecd8;--os-green-300:#8fdaaf;--os-green-700:#2c7a52;--os-fawn-100:#fef7ef;--os-fawn-200:#fce6d2;--os-blue-900:#001b48;--os-blue-600:#1f4fa0;--os-ink-700:#4a3f3f;--os-ink-400:#8c8080;--os-line:#e7ddd4;--color-primary:var(--os-boast-blue);--color-primary-ink:var(--os-white);--color-accent:var(--os-electric-green);--color-accent-ink:var(--os-boast-blue);--color-highlight:var(--os-pro-yellow);--color-danger:var(--os-rally-red);--color-info:var(--os-beginner-blue);--surface-page:var(--os-floor-fawn);--surface-card:var(--os-white);--surface-inverse:var(--os-boast-blue);--surface-deep:var(--os-get-green);--text-strong:var(--os-drive-darkness);--text-body:var(--os-ink-700);--text-muted:var(--os-ink-400);--text-on-dark:var(--os-white);--text-on-accent:var(--os-boast-blue);--border-subtle:var(--os-line);--border-strong:var(--os-drive-darkness);--focus-ring:var(--os-beginner-blue);--font-headline:"Kanit",system-ui,sans-serif;--font-subhead:"Hanken Grotesk",system-ui,sans-serif;--font-body:"Georama",system-ui,sans-serif;--font-location:"Kanit",system-ui,sans-serif;--weight-headline:800;--weight-headline-mid:600;--weight-subhead:600;--weight-body:400;--weight-body-strong:600;--weight-location:100;--text-display:clamp(3rem,7vw,5.5rem);--text-h1:clamp(2.25rem,4.5vw,3.5rem);--text-h2:clamp(1.75rem,3vw,2.5rem);--text-h3:1.5rem;--text-eyebrow:0.8125rem;--text-lg:1.25rem;--text-base:1rem;--text-sm:0.875rem;--text-xs:0.75rem;--leading-display:0.92;--leading-tight:1.05;--leading-snug:1.25;--leading-body:1.6;--tracking-display:-0.01em;--tracking-eyebrow:0.14em;--tracking-body:0}*,:after,:before{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:var(--surface-page);color:var(--text-strong);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body)}h1,h2,h3{font-family:var(--font-headline);font-weight:var(--weight-headline);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);margin:0 0 .5rem}.os-eyebrow,h1,h2,h3{text-transform:uppercase}.os-eyebrow{font-family:var(--font-subhead);font-size:var(--text-eyebrow);font-weight:var(--weight-subhead);letter-spacing:var(--tracking-eyebrow);color:var(--text-muted)}.os-card{background:var(--surface-card);border:1px solid var(--border-subtle);padding:1.25rem 1.5rem}.os-page{max-width:64rem;margin:0 auto;padding:2.5rem 1.5rem}a{color:var(--os-blue-600)}.os-shell{min-height:100vh;display:flex;flex-direction:column;background:#f2f4f9}.os-topbar{background:var(--os-boast-blue);color:#fff;padding:0 28px}.os-topbar-row{justify-content:space-between;height:58px}.os-brand,.os-topbar-row{display:flex;align-items:center}.os-brand{gap:9px;font-family:var(--font-headline);font-weight:800;font-size:17px;letter-spacing:.02em;color:#fff;text-decoration:none}.os-brand-mark{width:30px;height:30px;display:block}.os-brand-sub{color:#9fb6dd;font-family:var(--font-headline);font-weight:600;font-size:13px;padding-left:14px;border-left:1px solid rgba(255,255,255,.2);margin-left:14px}.os-tabs{display:flex;gap:2px;overflow-x:auto}.os-tab{display:flex;align-items:center;min-height:42px;padding:0 14px;font-family:var(--font-headline);font-weight:600;font-size:14px;color:rgba(255,255,255,.7);border-bottom:3px solid transparent;text-decoration:none;white-space:nowrap}.os-tab[aria-current=page]{color:#fff;border-bottom-color:var(--os-electric-green)}.os-tab:hover{color:#fff}.os-who{display:flex;align-items:center;gap:10px;font-family:var(--font-headline);font-size:13px}.os-who small{display:block;color:#9fb6dd;font-size:11px;font-family:var(--font-body)}.os-main{padding:22px 28px 40px;display:flex;flex-direction:column;gap:16px;flex-grow:1}.os-title{font-family:var(--font-headline);font-weight:800;font-size:24px;color:var(--os-boast-blue);line-height:1.1;margin:0;text-transform:none}.os-sub{font-size:13px;color:#7c7e86;margin:3px 0 0}.os-h2{font-family:var(--font-headline);font-weight:700;font-size:15px;color:var(--os-boast-blue);margin:0 0 10px;text-transform:none;display:flex;justify-content:space-between;align-items:baseline}.os-card{background:#fff;border:1px solid #e5e7ec;border-radius:12px;box-shadow:0 2px 10px rgba(15,28,58,.05);padding:15px}.os-grid{display:grid;grid-gap:16px;gap:16px}.os-lab{font-weight:700;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#9aa0aa}.os-lab,.os-label{font-family:var(--font-headline)}.os-label{display:block;font-weight:600;font-size:12.5px;color:#4a3f3f;margin-bottom:4px}.os-input{width:100%;border:1px solid #c3cad6;border-radius:8px;padding:9px 12px;font:inherit;font-size:14px;background:#fff}.os-input:focus{outline:2px solid var(--focus-ring);outline-offset:1px}.os-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:9px 16px;font-family:var(--font-headline);font-weight:600;font-size:13.5px;border:1px solid #c3cad6;background:#fff;color:var(--os-boast-blue);cursor:pointer;text-decoration:none;white-space:nowrap}.os-btn-primary{background:var(--os-boast-blue);color:#fff;border-color:var(--os-boast-blue)}.os-btn-small{padding:6px 12px;font-size:12.5px}.os-btn:disabled{opacity:.5;cursor:not-allowed}.os-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 9px;font-family:var(--font-headline);font-weight:600;font-size:11.5px;white-space:nowrap}.os-error{color:var(--os-rally-red);font-size:13px;margin:.6rem 0 0}.os-muted{color:#7c7e86;font-size:13px}.os-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #edeff3;border-radius:8px;overflow:hidden;font-size:13.5px}.os-table th{text-align:left;padding:8px 12px;font-family:var(--font-headline);font-weight:700;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#9aa0aa;background:#fff}.os-table td{padding:8px 12px;border-top:1px solid #edeff3;vertical-align:middle}.os-table tr:hover td{background:#f4f7fd}.os-count{background:#fff;border:1px solid #e5e7ec;border-radius:16px;padding:15px 16px;box-shadow:0 2px 10px rgba(15,28,58,.05);text-decoration:none;color:inherit;display:block}.os-count b{display:block;font-family:var(--font-headline);font-weight:800;font-size:26px;color:var(--os-boast-blue);line-height:1}.os-count span{display:block;font-size:12.5px;color:#7c7e86;margin-top:6px;font-weight:600}.os-count small{display:block;font-size:11.5px;font-weight:700;margin-top:4px;min-height:14px;color:#1c3c86}.os-banner{border-radius:10px;padding:10px 14px;font-size:13px}.os-banner-warn{background:#fff7e6;border:1px solid #f2dfae;color:#7a5200}.os-banner-info{background:#eaf2ff;border:1px solid #d7e3f5;color:#1c3c86}.os-avatar{width:34px;height:34px;border-radius:50%;background:#e6ebf6;color:var(--os-boast-blue);display:inline-grid;place-items:center;font-family:var(--font-headline);font-weight:700;font-size:13px}@media (max-width:800px){.os-main,.os-topbar{padding-left:14px;padding-right:14px}}.os-gridwrap{display:grid;grid-gap:0;gap:0;border:1px solid #e5e7ec;border-radius:10px;overflow:hidden;background:#fff}.os-gridhead{display:contents}.os-gridhead>div{background:#f6f7fa;border-bottom:1px solid #e5e7ec;border-right:1px solid #eef0f4;padding:8px 6px;font-family:var(--font-headline);font-weight:700;font-size:12px;color:var(--os-boast-blue);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.os-gridhead>div:first-child{text-align:left}.os-gridtimes{position:relative;border-right:1px solid #eef0f4;background:#fafbfd}.os-gridtimes span{position:absolute;left:6px;transform:translateY(-50%);font-size:11px;color:#9aa0aa;font-family:var(--font-headline);font-weight:600}.os-gridcol{position:relative;border-right:1px solid #eef0f4;background-image:repeating-linear-gradient(to bottom,#f0f2f6 0,#f0f2f6 1px,transparent 1px,transparent var(--hour-px))}.os-gridcol:last-child{border-right:0}.os-gridx{overflow-x:auto;max-width:100%;border:1px solid #e5e7ec;border-radius:10px;background:#fff}.os-gridx-inner{display:grid;grid-template-columns:96px minmax(0,1fr)}.os-gridx{max-height:calc(100vh - 220px);overflow-y:auto}.os-gridx-corner{top:0;z-index:4}.os-gridx-corner,.os-gridx-court{position:-webkit-sticky;position:sticky;left:0;z-index:2;background:#f6f7fa;border-right:1px solid #e5e7ec;border-bottom:1px solid #eef0f4;font-family:var(--font-headline);font-weight:700;font-size:12px;color:var(--os-boast-blue);padding:8px 10px;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.os-gridx-hours{position:-webkit-sticky;position:sticky;top:0;z-index:3;height:30px;border-bottom:1px solid #e5e7ec;background:#fafbfd}.os-gridx-hours span:first-child{transform:none;margin-left:4px}.os-gridx-hours span:last-child{transform:translateX(-100%);margin-left:-4px}.os-gridx-hours span{position:absolute;top:8px;transform:translateX(-50%);font-size:11px;color:#9aa0aa;font-family:var(--font-headline);font-weight:600}.os-gridrow{position:relative;height:64px;min-width:0;border-bottom:1px solid #eef0f4;background-image:repeating-linear-gradient(to right,#f0f2f6 0,#f0f2f6 1px,transparent 1px,transparent var(--hour-px))}.os-gridrow .os-block{top:4px;bottom:4px;left:auto;right:auto;padding:3px 5px}.os-gridrow .os-block em{font-size:9px}.os-gridrow .os-block b{white-space:normal;line-height:1.15;max-height:2.3em;overflow:hidden}.os-gridrow .os-block small{display:none}.os-block{position:absolute;left:3px;right:3px;border-radius:7px;padding:4px 6px;font-size:11.5px;line-height:1.25;overflow:hidden;text-decoration:none;color:#1e2a44;border:1px solid transparent;display:block}.os-block b{font-family:var(--font-headline);font-weight:700;font-size:11px}.os-block b,.os-block small{display:block;white-space:nowrap;text-overflow:ellipsis}.os-block small{color:inherit;opacity:.8;overflow:hidden}.os-block[data-tone=lesson]{background:#e6f7ee;border-color:#bfe8d0}.os-block[data-tone=program]{background:#eaf2ff;border-color:#cfdcf5}.os-block[data-tone=member]{background:#eef4fb;border-color:#c9d9ee;border-left:3px solid #5b86c4;color:#1e2a44}.os-block[data-tone=maint]{background:#f7f0e6;border-color:#eadcc2}.os-block[data-tone=hold]{background:#fffbe8;border:1.5px dashed #d9b64a}.os-block[data-tone=open]{background:#fbfbfd;border:1.5px dashed #b9bdc9;color:#5c606c}.os-block[data-tone=held]{background:#f3f3f5;border:1.5px dotted #c3c6cf;color:#9a9ea8}.os-block[data-tone=conflict]{background:#fdeceb;border:1.5px solid #ed1856}.os-block[data-tone=gone]{background:#fafafa;border-color:#e5e7ec;color:#a7abb5;text-decoration:line-through}.os-block[aria-current=true]{outline:2px solid var(--os-boast-blue);outline-offset:1px}.os-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#5c6270}.os-legend i{display:inline-block;width:12px;height:12px;border-radius:4px;vertical-align:-2px;margin-right:5px}.os-kv{display:grid;grid-template-columns:110px 1fr;grid-gap:4px 10px;gap:4px 10px;font-size:13px}.os-kv dt{color:#7c7e86}.os-kv dd{margin:0}.os-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;background:#f6f7fa;border:1px solid #e5e7ec;border-radius:8px;padding:8px 10px;white-space:pre-wrap;word-break:break-all;margin:0}.os-mode{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-family:var(--font-headline);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.os-mode[data-live=false]{background:#fff7e6;color:#7a5200;border:1px solid #f2dfae}.os-mode[data-live=true]{background:#fdeceb;color:#b3123f;border:1px solid #f5c2cf}.os-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#eaf2ff;color:#1c3c86;padding:4px 10px;font-size:12.5px}.os-chip button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:0}.os-field{display:flex;flex-direction:column;gap:4px}.os-input,.os-select{width:100%;border:1px solid #c3cad6;border-radius:8px;padding:8px 10px;font:inherit;font-size:13.5px;background:#fff;color:var(--text-strong)}.os-block em{display:block;font-style:normal;font-family:var(--font-headline);font-weight:800;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.os-block[data-tone=lesson] em{color:#1c7a4a}.os-block[data-tone=program] em{color:#1c3c86}.os-block[data-tone=maint] em{color:#7a5200}.os-block[data-tone=lesson]{border-left:3px solid #2eaa6a}.os-block[data-tone=program]{border-left:3px solid #4a76d6}.os-modal-backdrop{position:fixed;inset:0;background:rgba(15,28,58,.45);z-index:40;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto}.os-modal-close{position:absolute;inset:0}.os-modal{position:relative;background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(15,28,58,.3);padding:18px 20px;width:min(560px,100%);max-height:calc(100vh - 80px);overflow-y:auto}.os-pending{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--os-boast-blue,#1c3c86);margin-left:6px;vertical-align:middle;animation:os-pulse .9s ease-in-out infinite}.os-block .os-pending{position:absolute;top:4px;right:4px;margin:0}.os-block:has(.os-pending){opacity:.6}button[aria-busy=true]{opacity:.7;cursor:progress}@keyframes os-pulse{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.cx-head{justify-content:space-between;align-items:flex-end;gap:14px}.cx-acts,.cx-head{display:flex;flex-wrap:wrap}.cx-acts{gap:6px}.cx-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:10px;gap:10px;margin-top:14px}.cx-strip .os-count{padding:12px 14px;border-radius:14px}.cx-strip .os-count b{font-size:24px}.cx-day{margin-top:20px}.cx-day>h2{font-family:var(--font-headline);font-weight:800;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#1c3c86;margin:0 0 8px;display:flex;align-items:baseline;gap:10px}.cx-day>h2 small{font-family:var(--font-body);font-weight:500;letter-spacing:0;text-transform:none;color:#7c7e86;font-size:12.5px}.cx-list{display:grid;grid-gap:8px;gap:8px}.cx-row{display:grid;grid-template-columns:132px 1fr auto;grid-gap:14px;gap:14px;align-items:center;background:#fff;border:1px solid #e5e7ec;border-left:5px solid #cfd5df;border-radius:14px;padding:12px 14px 12px 16px;box-shadow:0 2px 10px rgba(15,28,58,.04)}.cx-row[data-state=open]{border-left-color:#e6b820}.cx-row[data-state=booked],.cx-row[data-state=live]{border-left-color:#2eaa6a}.cx-row[data-state=programme]{border-left-color:#4a76d6}.cx-row[data-state=grid]{border-left-color:#8fa3c8}.cx-row[data-prime=true]{background:linear-gradient(90deg,#fff,#fff 70%,#fff5f7)}.cx-time b{display:block;font-family:var(--font-headline);font-weight:800;font-size:17px;color:var(--os-boast-blue);line-height:1.05}.cx-time span{display:block;font-size:12px;color:#7c7e86;margin-top:3px}.cx-what b{display:block;font-family:var(--font-headline);font-weight:700;font-size:15px;color:#1e2a44;line-height:1.15}.cx-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.cx-tag{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 9px;font-family:var(--font-headline);font-weight:600;font-size:11px;letter-spacing:.02em;background:#f1f2f5;color:#5b6472}.cx-tag.empty{background:#fff4d6;color:#7a5200}.cx-tag.grid{background:#eaf2ff;color:#1c3c86}.cx-tag.on{background:#1c7a4a;color:#fff}.cx-tag.prime{background:#ffe6ec;color:#a4123c}.cx-tag.prog{background:#e6f7ee;color:#1c7a4a}.cx-tag.link{text-decoration:none}.cx-do{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.cx-do form{display:inline}.cx-switch{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:6px 12px 6px 8px;font-family:var(--font-headline);font-weight:700;font-size:12.5px;border:1px solid #c3cad6;background:#fff;color:var(--os-boast-blue);cursor:pointer}.cx-switch i{width:30px;height:18px;border-radius:999px;background:#cfd5df;position:relative;transition:background .15s}.cx-switch i:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s}.cx-switch[data-on=true]{background:#e6f7ee;border-color:#bfe8d0;color:#1c7a4a}.cx-switch[data-on=true] i{background:#2eaa6a}.cx-switch[data-on=true] i:after{transform:translateX(12px)}.cx-empty{background:#fff;border:1px dashed #c3cad6;border-radius:14px;padding:26px 20px;text-align:center;color:#5b6472;font-size:14px}.cx-empty b{display:block;font-family:var(--font-headline);font-weight:700;color:var(--os-boast-blue);font-size:16px;margin-bottom:4px}.os-cover summary{list-style:none;cursor:pointer}.os-cover summary::-webkit-details-marker{display:none}.os-cover[open]{grid-column:1/-1}.os-cover[open]>form{background:#f6f7fa;border-radius:12px;padding:12px 14px}.tk-lanes{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.tk-lane{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:7px 14px;font-family:var(--font-headline);font-weight:600;font-size:13px;border:1px solid #c3cad6;background:#fff;color:var(--os-boast-blue);text-decoration:none}.tk-lane[aria-current=page]{background:var(--os-boast-blue);color:#fff;border-color:var(--os-boast-blue)}.tk-lane b{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:999px;padding:0 6px;font-size:11.5px;background:rgba(0,45,120,.08)}.tk-lane[aria-current=page] b{background:rgba(255,255,255,.2)}.tk-lane.hot b{background:#ffe6ec;color:#a4123c}.tk-row{display:grid;grid-template-columns:9px 1fr auto;grid-gap:14px;gap:14px;background:#fff;border:1px solid #e5e7ec;border-radius:14px;padding:12px 14px 12px 12px;box-shadow:0 2px 10px rgba(15,28,58,.04)}.tk-row>i{border-radius:4px;background:#cfd5df}.tk-row[data-src=coach]>i{background:#4a76d6}.tk-row[data-src=member]>i{background:#2eaa6a}.tk-row[data-src=website]>i{background:#e6b820}.tk-row[data-src=grid]>i{background:#8fa3c8}.tk-row[data-hot=true]>i{background:#ed1856}.tk-title{font-family:var(--font-headline);font-weight:700;font-size:15px;color:#1e2a44;line-height:1.15}.tk-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:5px;font-size:12.5px;color:#7c7e86}.tk-meta a{color:#1c3c86}.tk-thread{margin-top:10px;border-top:1px solid #edeff3;padding-top:8px;display:grid;grid-gap:6px;gap:6px;font-size:13px}.tk-thread small{color:#9aa0aa;font-size:11.5px;margin-left:6px}.tk-do{display:flex;gap:6px;flex-wrap:wrap;align-items:center;justify-content:flex-end}@media (max-width:720px){.os-topbar-row{height:auto;padding:8px 0;flex-wrap:wrap;gap:6px}.os-brand-sub,.os-who>span:nth-child(2){display:none}.os-who form{margin-left:auto}.os-main{padding:14px 12px 40px}.cx-row{grid-template-columns:1fr;gap:8px;padding:12px 12px 12px 14px}.cx-time{display:flex;align-items:baseline;gap:10px}.cx-time span{margin:0}.cx-do{justify-content:flex-start}.cx-do .os-btn,.cx-switch{min-height:40px}.tk-row{grid-template-columns:6px 1fr}.tk-do{grid-column:2;justify-content:flex-start}.os-count b{font-size:20px}}.cx-h{font-family:var(--font-headline);font-weight:800;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#1c3c86;margin:22px 0 8px}.cx-what .cx-with{font-weight:500;color:#5a6275}.os-diff{margin:6px 0 10px;border:1.5px solid #f0d78a;background:#fffbe8;border-radius:10px;padding:8px 12px;font-size:13px}.os-diff summary{cursor:pointer;font-weight:600;color:#7a5a00;list-style:none}.os-diff summary:before{content:"⚠ "}.os-diff summary b{font-size:15px}.os-diff-list{display:grid;grid-gap:4px;gap:4px;margin-top:8px}.os-diff-row{display:grid;grid-template-columns:110px 70px 1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:6px 8px;border-radius:8px;background:#fff;border:1px solid #f0e2b0;color:inherit;text-decoration:none}.os-diff-row:hover{border-color:#d9b64a}.os-diff-row em{color:#7a5a00;font-style:normal;font-size:12px}.os-diff-toggle{font-size:12.5px;color:#5a4600;margin-top:4px}@media (max-width:720px){.os-diff-row{grid-template-columns:1fr;gap:2px}}.cx-tag.warn{background:#fff4d6;color:#7a5a00;border-color:#f0d78a}.cx-bookonly{margin-top:22px;border:1.5px dashed #d9b64a;border-radius:12px;padding:10px 14px;background:#fffdf5}.cx-bookonly summary{cursor:pointer;font-weight:600;color:#7a5a00}.cx-bookonly summary b{font-size:16px}.cx-bookonly p{font-size:13px;color:#5a4600;margin:8px 0 10px;line-height:1.5}.cx-bookonly .cx-row{opacity:.85}.os-block em{white-space:normal;line-height:1.15;max-height:2.3em;letter-spacing:.06em}.os-block b{white-space:normal;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.os-gridrow .os-block b{max-height:none}.os-block[data-family=academy][data-tone=program]{background:#ece9fb;border-color:#cfc8f0 #cfc8f0 #cfc8f0 #6a5acd}.os-block[data-family=academy][data-tone=program] em{color:#4a3a9c}.os-block[data-family=school][data-tone=program]{background:#f1eef7;border-color:#d8d2e6 #d8d2e6 #d8d2e6 #8e7fb0;color:#4b4560}.os-block[data-family=school][data-tone=program] em{color:#6b5e8a}.os-block[data-family=fitness][data-tone=program]{background:#fdf1e7;border-color:#f3d6bb #f3d6bb #f3d6bb #e0853a}.os-block[data-family=fitness][data-tone=program] em{color:#9a4f10}.os-block[data-family=league][data-tone=program]{background:#e6f5f7;border-color:#bfe2e8 #bfe2e8 #bfe2e8 #2a9bb0}.os-block[data-family=league][data-tone=program] em{color:#1a6b7c}.cx-switch[data-pending=true]{opacity:.75;cursor:progress}.cx-switch[data-pending=true] i:after{animation:os-blink 1s infinite}@keyframes os-blink{50%{opacity:.4}}.gc{margin-top:16px;border:1px solid #e3e6ee;border-radius:12px;padding:12px 14px;background:#fff}.gc-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.gc-counts{font-size:12.5px;color:#5b6272}.gc-day{margin-top:10px}.gc-dayname{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#5b6272;margin-bottom:4px}.gc-list{list-style:none;margin:0;padding:0}.gc-row{display:grid;grid-template-columns:84px 118px 1fr;grid-gap:10px;gap:10px;align-items:center;padding:6px 0;border-top:1px solid #eef0f4;font-size:14px}.gc-row:first-child{border-top:0}.gc-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 8px;text-align:center}.gc-tag.new{background:#e6f7ee;color:#1c7a4a}.gc-tag.cancelled{background:#ffe6ec;color:#a4123c}.gc-tag.changed{background:#fff4d6;color:#7a5200}.gc-when{font-weight:600;white-space:nowrap}.gc-what b{display:block;font-weight:600}.gc-what small{color:#5b6272}.gc-row.is-cancelled .gc-what b{text-decoration:line-through;-webkit-text-decoration-color:#c9a0aa;text-decoration-color:#c9a0aa}@media (max-width:640px){.gc-row{grid-template-columns:84px 1fr}.gc-when{grid-column:2}.gc-what{grid-column:1/-1}}