.studiodesk{--sd-primary:#5b4bdb;--sd-ink:#172033;--sd-muted:#64748b;color:var(--sd-ink);font:inherit;max-width:100%}.studiodesk *{box-sizing:border-box}.sd-class-list{display:grid;gap:14px}.sd-class-card,.sd-booking-card,.sd-portal-card{border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:20px;margin:14px 0;box-shadow:0 5px 20px rgba(15,23,42,.04)}.sd-class-card{display:flex;justify-content:space-between;align-items:center;gap:20px}.sd-class-card h3{margin:5px 0 8px;font-size:1.25em}.sd-class-card p{margin:5px 0;color:var(--sd-muted)}.sd-class-category{font-size:.78em;text-transform:uppercase;letter-spacing:.08em;color:var(--sd-primary);font-weight:700}.sd-class-meta{font-weight:600}.sd-button{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border:0;border-radius:8px;background:var(--sd-primary);color:#fff!important;text-decoration:none!important;font-weight:700;cursor:pointer}.sd-button:hover{filter:brightness(.94)}.sd-full{font-weight:700;color:#b91c1c}.sd-booking-card label,.sd-register-form label{display:flex;flex-direction:column;gap:7px;margin:12px 0;font-weight:600}.sd-booking-card input,.sd-register-form input{max-width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:7px}.sd-table-wrap{overflow-x:auto}.sd-portal-card table{width:100%;border-collapse:collapse}.sd-portal-card th,.sd-portal-card td{padding:11px;border-bottom:1px solid #e5e7eb;text-align:left}.sd-portal-card th{font-size:.85em;color:var(--sd-muted)}@media(max-width:600px){.sd-class-card{display:block}.sd-class-card .sd-button{margin-top:12px;width:100%}.sd-portal-card{padding:13px}}
.sd-notice{padding:16px 18px;border-radius:12px;margin:16px 0}.sd-success{background:#ecfdf3;border:1px solid #a7f3d0;color:#065f46}.sd-class-card .sd-full{display:inline-block;padding:8px 12px;border-radius:8px;background:#f3f4f6;color:#6b7280;font-weight:600}
.sd-payment-options{margin:22px 0;padding:22px;border:1px solid #e7e7eb;border-radius:14px;background:#fff}.sd-payment-options form{margin:12px 0}.sd-payment-options label{display:block;margin:12px 0}.sd-payment-options input[type=text],.sd-payment-options input[type=file]{display:block;max-width:100%;margin-top:6px}.sd-payment-options h3,.sd-payment-options h4{margin-top:18px}.sd-payment-options .sd-button{cursor:pointer;border:0}

.sd-staff-heading,.sd-staff-class-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.sd-staff-heading h2{margin:6px 0}.sd-staff-heading>a{font-weight:600}.sd-staff-class{padding:18px 0;border-top:1px solid #e5e7eb}.sd-staff-class h3{margin:0 0 6px}.sd-staff-class-head p{margin:4px 0 14px;color:var(--sd-muted)}.sd-staff-class-head>span{font-size:.9em;color:var(--sd-muted)}.sd-staff-class table{width:100%;border-collapse:collapse}.sd-staff-class th,.sd-staff-class td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left}.sd-staff-class select{padding:8px;border:1px solid #cbd5e1;border-radius:7px}.sd-staff-class .sd-button{padding:8px 12px}.sd-instructor-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.sd-instructor-card{padding:18px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.sd-instructor-card h3{margin-top:0}@media(max-width:650px){.sd-staff-heading,.sd-staff-class-head{display:block}.sd-staff-class-head>span{display:block;margin-bottom:10px}.sd-staff-class form{min-width:160px}}

/* Customer dashboard and profile */
.sd-customer-dashboard{display:grid;gap:18px}.sd-customer-welcome,.sd-customer-heading,.sd-section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.sd-customer-welcome{padding:24px;border-radius:16px;background:linear-gradient(135deg,#f5f3ff,#fff);border:1px solid #e5e7eb}.sd-customer-welcome h2,.sd-customer-heading h2{margin:5px 0}.sd-customer-welcome p,.sd-customer-heading p{margin:5px 0;color:var(--sd-muted)}.sd-customer-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sd-customer-stats>div{padding:18px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.sd-customer-stats span{display:block;color:var(--sd-muted);font-size:.9em}.sd-customer-stats strong{display:block;font-size:28px;margin-top:5px}.sd-section-heading h3{margin:0}.sd-section-heading a,.sd-customer-heading>a{font-weight:700;text-decoration:none}.sd-customer-links{display:flex;flex-wrap:wrap;gap:10px}.sd-customer-links a{display:inline-block;padding:10px 14px;border:1px solid #e5e7eb;border-radius:9px;background:#fff;text-decoration:none;font-weight:600}.sd-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.sd-profile-grid label{display:flex;flex-direction:column;gap:7px;font-weight:600}.sd-profile-grid input{width:100%;max-width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:8px;font:inherit}.sd-profile-grid small{font-weight:400;color:var(--sd-muted)}.sd-customer-profile .sd-button{border:0}@media(max-width:650px){.sd-customer-welcome,.sd-customer-heading,.sd-section-heading{align-items:flex-start;flex-direction:column}.sd-customer-stats,.sd-profile-grid{grid-template-columns:1fr}.sd-customer-welcome .sd-button{width:100%}}

/* Studio branding */
.studiodesk .sd-brand-header{display:flex;align-items:center;margin:0 0 18px;padding:0}.studiodesk .sd-brand-header img{display:block;max-width:190px;max-height:90px;width:auto;height:auto;object-fit:contain}.studiodesk .sd-powered-by{margin:22px 0 0;padding:12px 0 0;border-top:1px solid #e5e7eb;text-align:center;font-size:12px;line-height:1.5;color:#64748b}.studiodesk .sd-powered-by a{color:inherit;text-decoration:none}.studiodesk .sd-powered-by a:hover{text-decoration:underline}

/* Branded customer registration */
.sd-registration-card{max-width:760px;margin-left:auto;margin-right:auto;padding:clamp(20px,4vw,34px)}
.sd-registration-heading{margin-bottom:22px}.sd-registration-heading h2{margin:7px 0 6px;font-size:clamp(1.5rem,3vw,2rem)}.sd-registration-heading p{margin:0;color:var(--sd-muted)}
.sd-registration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.sd-register-form label{display:flex;flex-direction:column;gap:7px;margin:0;font-weight:600;color:var(--sd-ink)}
.sd-register-form input{width:100%;min-height:44px;padding:11px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:var(--sd-ink);font:inherit}
.sd-register-form input:focus{outline:2px solid color-mix(in srgb,var(--sd-primary) 24%,transparent);border-color:var(--sd-primary)}
.sd-optional,.sd-registration-hint{font-size:.88em;font-weight:400;color:var(--sd-muted)}.sd-registration-hint{margin:12px 0 18px}
.sd-registration-error{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}
.sd-registration-login,.sd-register-link{margin:16px 0 0;color:var(--sd-muted)}.sd-registration-login a,.sd-register-link a{font-weight:700;color:var(--sd-primary);text-decoration:none}
@media(max-width:600px){.sd-registration-grid{grid-template-columns:1fr}.sd-registration-card{padding:18px}.sd-register-form .sd-button{width:100%}}

/* StudioDesk visual refresh — calm, premium wellness aesthetic */
.studiodesk{--sd-primary:#496b58;--sd-primary-dark:#304b3b;--sd-accent:#c98263;--sd-ink:#26352d;--sd-muted:#718078;--sd-line:#e4e9e3;--sd-soft:#f5f7f2;color:var(--sd-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}
.studiodesk h1,.studiodesk h2,.studiodesk h3,.studiodesk h4{color:var(--sd-ink);letter-spacing:-.025em;line-height:1.25}
.studiodesk .sd-brand-header{padding:0 0 16px;border-bottom:1px solid var(--sd-line);margin-bottom:22px}
.studiodesk .sd-brand-header img{max-width:180px;max-height:76px}
.studiodesk .sd-portal-card,.studiodesk .sd-booking-card,.studiodesk .sd-class-card,.studiodesk .sd-instructor-card,.studiodesk .sd-payment-options{border:1px solid var(--sd-line);border-radius:18px;background:#fff;box-shadow:0 10px 32px rgba(38,53,45,.055);padding:clamp(18px,3vw,28px)}
.studiodesk .sd-portal-card h2,.studiodesk .sd-booking-card h2{font-size:clamp(1.35rem,2.5vw,1.8rem);margin:0 0 16px}
.studiodesk .sd-class-list{gap:18px}
.studiodesk .sd-class-card{position:relative;overflow:hidden;align-items:center;gap:24px;border-radius:18px;transition:transform .2s ease,box-shadow .2s ease}
.studiodesk .sd-class-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(38,53,45,.10)}
.studiodesk .sd-class-card>div{min-width:0;flex:1}
.studiodesk .sd-class-card h3{font-size:1.35rem;margin:8px 0}
.studiodesk .sd-class-category{display:inline-flex;align-items:center;padding:5px 10px;border-radius:99px;background:#edf3ed;color:var(--sd-primary-dark);font-size:.72rem;letter-spacing:.09em}
.studiodesk .sd-class-card p{color:var(--sd-muted);line-height:1.55}
.studiodesk .sd-class-meta{color:var(--sd-primary-dark)!important;font-weight:700}
.studiodesk .sd-button{background:var(--sd-primary);border-radius:10px;padding:12px 19px;min-height:44px;box-shadow:0 4px 12px rgba(73,107,88,.16);transition:background .2s ease,transform .2s ease}
.studiodesk .sd-button:hover{background:var(--sd-primary-dark);filter:none;transform:translateY(-1px)}
.studiodesk .sd-button-secondary{background:#eef2ed!important;color:var(--sd-primary-dark)!important;box-shadow:none}
.studiodesk .sd-button-secondary:hover{background:#e1e9e1!important}
.studiodesk input:not([type=checkbox]):not([type=radio]),.studiodesk select,.studiodesk textarea{border:1px solid #d7dfd7;border-radius:10px;padding:11px 13px;min-height:44px;background:#fff;color:var(--sd-ink);font:inherit;max-width:100%}
.studiodesk input:focus,.studiodesk select:focus,.studiodesk textarea:focus{outline:3px solid rgba(73,107,88,.15);border-color:var(--sd-primary)}
.studiodesk label{color:var(--sd-ink)}
.studiodesk .sd-table-wrap{border:1px solid var(--sd-line);border-radius:14px;overflow-x:auto}
.studiodesk .sd-portal-card table,.studiodesk .sd-staff-class table{border-collapse:separate;border-spacing:0;min-width:620px}
.studiodesk .sd-portal-card th,.studiodesk .sd-staff-class th{background:#f5f7f3;color:#52645a;font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700}
.studiodesk .sd-portal-card th,.studiodesk .sd-portal-card td,.studiodesk .sd-staff-class th,.studiodesk .sd-staff-class td{padding:13px 15px;border-bottom:1px solid var(--sd-line)}
.studiodesk .sd-portal-card tr:last-child td,.studiodesk .sd-staff-class tr:last-child td{border-bottom:0}
.studiodesk .sd-customer-dashboard{gap:22px}
.studiodesk .sd-customer-welcome{position:relative;isolation:isolate;overflow:hidden;min-height:210px;padding:clamp(24px,4vw,42px);border:0;border-radius:22px;background:linear-gradient(105deg,rgba(35,61,47,.94) 0%,rgba(57,85,66,.88) 52%,rgba(57,85,66,.25) 100%),url('https://images.pexels.com/photos/3822622/pexels-photo-3822622.jpeg?auto=compress&cs=tinysrgb&w=1400') center 48%/cover;color:#fff}
.studiodesk .sd-customer-welcome h2,.studiodesk .sd-customer-welcome p{color:#fff;position:relative;z-index:1}
.studiodesk .sd-customer-welcome h2{font-size:clamp(1.7rem,3vw,2.35rem);max-width:620px}
.studiodesk .sd-customer-welcome p{opacity:.88;max-width:560px}
.studiodesk .sd-customer-welcome .sd-button{background:#fff;color:var(--sd-primary-dark)!important;box-shadow:none}
.studiodesk .sd-customer-stats{gap:14px}
.studiodesk .sd-customer-stats>div{border:1px solid var(--sd-line);border-radius:16px;padding:20px;background:linear-gradient(145deg,#fff,#f8faf6);box-shadow:0 6px 20px rgba(38,53,45,.035)}
.studiodesk .sd-customer-stats span{font-size:.83rem;font-weight:600;letter-spacing:.02em}
.studiodesk .sd-customer-stats strong{font-size:clamp(25px,3vw,34px);color:var(--sd-primary-dark)}
.studiodesk .sd-customer-links{gap:12px}
.studiodesk .sd-customer-links a{border:1px solid var(--sd-line);border-radius:12px;padding:12px 16px;color:var(--sd-primary-dark);background:#fff;transition:all .2s ease}
.studiodesk .sd-customer-links a:hover{background:#f1f5ef;border-color:#cbd8cb;transform:translateY(-1px)}
.studiodesk .sd-registration-card{max-width:680px;margin:28px auto;padding:clamp(22px,4vw,42px);border-radius:22px}
.studiodesk .sd-registration-heading{text-align:center}
.studiodesk .sd-registration-heading h2{font-size:clamp(1.7rem,3vw,2.2rem)}
.studiodesk .sd-registration-grid{gap:18px}
.studiodesk .sd-register-form input{min-height:48px;border-radius:10px}
.studiodesk .sd-register-form .sd-button{width:100%;margin-top:4px}
.studiodesk .sd-notice{border-radius:12px}
.studiodesk .sd-powered-by{border-color:var(--sd-line);margin-top:30px;padding-top:16px;color:#89958d}
.studiodesk .sd-powered-by a:hover{color:var(--sd-primary)}
.studiodesk .sd-announcements .sd-announcement{padding:16px 18px;margin:12px 0;border-radius:12px;background:#f5f7f2;border-left:4px solid var(--sd-accent)}
.studiodesk .sd-instructor-card{transition:transform .2s ease,box-shadow .2s ease}
.studiodesk .sd-instructor-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(38,53,45,.08)}
@media(max-width:680px){.studiodesk .sd-class-card{display:block}.studiodesk .sd-class-card .sd-button{width:100%;margin-top:12px}.studiodesk .sd-customer-welcome{background-position:62% center}.studiodesk .sd-customer-stats{grid-template-columns:1fr}.studiodesk .sd-portal-card{padding:17px}.studiodesk .sd-registration-card{margin:14px auto}}
@media(prefers-reduced-motion:reduce){.studiodesk *{transition:none!important;scroll-behavior:auto!important}}
/* Subtle navigation pictograms for common customer shortcuts. */
.studiodesk .sd-customer-links a:before{display:inline-block;margin-right:9px;font-size:1rem;line-height:1;opacity:.82}
.studiodesk .sd-customer-links a:nth-child(1):before{content:"▦"}
.studiodesk .sd-customer-links a:nth-child(2):before{content:"◷"}
.studiodesk .sd-customer-links a:nth-child(3):before{content:"♡"}
.studiodesk .sd-customer-links a:nth-child(4):before{content:"◉"}

/* StudioDesk v1.3.9 — customer-facing imagery and icon system */
.studiodesk .sd-class-card{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr) auto;align-items:stretch;gap:22px;padding:14px}
.studiodesk .sd-class-image{min-height:172px;border-radius:13px;background-image:url('https://images.pexels.com/photos/3822622/pexels-photo-3822622.jpeg?auto=compress&cs=tinysrgb&w=700');background-size:cover;background-position:center}
.studiodesk .sd-class-content{min-width:0;align-self:center}
.studiodesk .sd-class-card>.sd-button{align-self:center;white-space:nowrap}
.studiodesk .sd-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:#edf3ed;color:var(--sd-primary-dark);font-size:17px;flex:0 0 auto}
.studiodesk .sd-customer-links a{display:inline-flex;align-items:center;gap:10px}
.studiodesk .sd-customer-links a:before{font-family:'uicons-regular-rounded'!important;font-size:17px;font-style:normal;font-weight:400;line-height:1;margin:0;content:'\f1a2'}
.studiodesk .sd-customer-links a:nth-child(1):before{content:'\f1a2'}
.studiodesk .sd-customer-links a:nth-child(2):before{content:'\f2b5'}
.studiodesk .sd-customer-links a:nth-child(3):before{content:'\f2d1'}
.studiodesk .sd-customer-links a:nth-child(4):before{content:'\f1d8'}
.studiodesk .sd-section-heading a:after{content:'\f105';font-family:'uicons-regular-rounded';margin-left:7px;font-size:13px}
.studiodesk .sd-button:focus-visible,.studiodesk a:focus-visible{outline:3px solid rgba(201,130,99,.55);outline-offset:3px}
@media(max-width:760px){.studiodesk .sd-class-card{grid-template-columns:1fr;gap:14px}.studiodesk .sd-class-image{min-height:190px}.studiodesk .sd-class-card>.sd-button{width:100%}}
.studiodesk .sd-customer-links a:before{content:none!important;display:none!important}
.studiodesk .sd-customer-links a i{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--sd-primary);font-size:17px;font-style:normal}


/* StudioDesk v1.4.1 — cohesive customer portal experience */
.studiodesk{max-width:1240px;margin-left:auto;margin-right:auto;padding-left:clamp(14px,2.4vw,30px);padding-right:clamp(14px,2.4vw,30px)}
.studiodesk .sd-brand-header{display:flex;align-items:center;min-height:84px;padding:12px 4px 18px;margin-bottom:16px}
.studiodesk .sd-brand-header img{object-fit:contain;object-position:left center}
.studiodesk .sd-portal-nav{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:8px;margin:0 0 26px;border:1px solid var(--sd-line);border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(38,53,45,.035)}
.studiodesk .sd-portal-nav a{display:inline-flex;align-items:center;gap:9px;padding:10px 13px;border-radius:10px;color:#53645a;text-decoration:none;font-size:.91rem;font-weight:600;transition:background .18s ease,color .18s ease}
.studiodesk .sd-portal-nav a i{display:inline-flex;align-items:center;justify-content:center;width:20px;color:#78917f;font-size:16px;font-style:normal}
.studiodesk .sd-portal-nav a:hover,.studiodesk .sd-portal-nav a[aria-current="page"]{background:#edf3ed;color:var(--sd-primary-dark)}
.studiodesk .sd-portal-nav a[aria-current="page"] i{color:var(--sd-primary)}
.studiodesk .sd-customer-dashboard{display:grid;gap:22px}
.studiodesk .sd-customer-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:230px;padding:clamp(25px,4vw,48px);border-radius:24px;background:linear-gradient(100deg,rgba(29,53,40,.94),rgba(47,78,59,.78) 58%,rgba(47,78,59,.30)),url('https://images.pexels.com/photos/3822622/pexels-photo-3822622.jpeg?auto=compress&cs=tinysrgb&w=1600') center 48%/cover}
.studiodesk .sd-customer-welcome .sd-class-category{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.2)}
.studiodesk .sd-customer-welcome h2{font-weight:650;letter-spacing:-.04em;margin:13px 0 8px}
.studiodesk .sd-customer-welcome p{font-size:1.04rem;margin:0}
.studiodesk .sd-customer-welcome .sd-button{flex:0 0 auto;padding:13px 21px;border-radius:12px;font-weight:700}
.studiodesk .sd-customer-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.studiodesk .sd-customer-stats>div{position:relative;display:flex;flex-direction:column;gap:4px;min-height:145px;padding:21px 22px 18px 78px;border:1px solid var(--sd-line);border-radius:17px;background:#fff;box-shadow:0 7px 22px rgba(38,53,45,.035)}
.studiodesk .sd-customer-stats>div:before{position:absolute;left:21px;top:23px;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:#edf3ed;color:var(--sd-primary);font-family:'uicons-regular-rounded';font-size:19px}
.studiodesk .sd-customer-stats .sd-stat-bookings:before{content:'\f2b5'}
.studiodesk .sd-customer-stats .sd-stat-memberships:before{content:'\f2d1'}
.studiodesk .sd-customer-stats .sd-stat-packages:before{content:'\f1d8'}
.studiodesk .sd-customer-stats span{color:var(--sd-muted);font-size:.88rem}
.studiodesk .sd-customer-stats strong{font-size:2rem;line-height:1.2;font-weight:700}
.studiodesk .sd-customer-stats small{color:#89958d;font-size:.78rem}
.studiodesk .sd-portal-card{padding:clamp(19px,2.7vw,30px);margin:0}
.studiodesk .sd-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}
.studiodesk .sd-section-heading h3{margin:0;font-size:1.2rem;font-weight:700}
.studiodesk .sd-section-heading a{font-size:.88rem;font-weight:700;color:var(--sd-primary);text-decoration:none}
.studiodesk .sd-portal-card p{color:var(--sd-muted)}
.studiodesk .sd-portal-card table{width:100%;min-width:580px}
.studiodesk .sd-portal-card td{color:#526158;font-size:.91rem}
.studiodesk .sd-portal-card td small{color:#8a968e}
.studiodesk .sd-customer-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.studiodesk .sd-customer-links a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:58px;padding:12px;text-decoration:none;font-size:.88rem;font-weight:650}
.studiodesk .sd-customer-links a i{font-size:17px;color:var(--sd-primary)}
.studiodesk .sd-class-list{display:grid;gap:18px}
.studiodesk .sd-class-card{grid-template-columns:minmax(155px,230px) minmax(0,1fr) auto;padding:14px;gap:22px}
.studiodesk .sd-class-image{min-height:176px;border-radius:13px;background-color:#e9eee8;background-position:center;background-size:cover}
.studiodesk .sd-class-content h3{font-size:1.25rem;margin:8px 0}
.studiodesk .sd-class-content p{margin:7px 0}
.studiodesk .sd-class-card>.sd-button{min-width:125px;text-align:center;text-decoration:none}
.studiodesk .sd-booking-card{max-width:850px;margin:24px auto;padding:clamp(22px,4vw,38px)}
.studiodesk .sd-booking-card h2{font-size:clamp(1.5rem,3vw,2rem)}
.studiodesk .sd-booking-card form{display:grid;gap:16px;max-width:520px}
.studiodesk .sd-booking-card form label,.studiodesk .sd-profile-grid label{display:grid;gap:7px;font-weight:600}
.studiodesk .sd-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.studiodesk .sd-customer-profile{max-width:900px;margin:0 auto}
.studiodesk .sd-customer-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}
.studiodesk .sd-customer-heading h2{margin:9px 0 5px}
.studiodesk .sd-customer-heading>a{color:var(--sd-primary);font-weight:650;text-decoration:none}
.studiodesk .sd-registration-card{background:linear-gradient(145deg,#fff,#f8faf6);box-shadow:0 18px 50px rgba(38,53,45,.08)}
.studiodesk .sd-registration-heading p{max-width:520px;margin:0 auto 20px}
.studiodesk .sd-powered-by{text-align:center;font-size:.78rem;letter-spacing:.02em}
.studiodesk .sd-notice{padding:14px 17px;margin:15px 0}
@media(max-width:900px){.studiodesk .sd-customer-links{grid-template-columns:repeat(3,minmax(0,1fr))}.studiodesk .sd-class-card{grid-template-columns:180px minmax(0,1fr)}.studiodesk .sd-class-card>.sd-button{grid-column:2;justify-self:start}}
@media(max-width:640px){.studiodesk .sd-portal-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:6px}.studiodesk .sd-portal-nav a{padding:10px 8px;font-size:.82rem}.studiodesk .sd-customer-welcome{display:block;min-height:260px;background-position:62% center}.studiodesk .sd-customer-welcome .sd-button{display:inline-flex;margin-top:18px}.studiodesk .sd-customer-stats{grid-template-columns:1fr}.studiodesk .sd-customer-stats>div{min-height:112px}.studiodesk .sd-customer-links{grid-template-columns:repeat(2,minmax(0,1fr))}.studiodesk .sd-class-card{display:grid;grid-template-columns:1fr;padding:12px;gap:13px}.studiodesk .sd-class-image{min-height:205px}.studiodesk .sd-class-card>.sd-button{grid-column:1;width:100%;justify-self:stretch}.studiodesk .sd-profile-grid{grid-template-columns:1fr}.studiodesk .sd-customer-heading{display:block}.studiodesk .sd-customer-heading>a{display:inline-block;margin-top:10px}.studiodesk .sd-portal-card{padding:17px}}


/* StudioDesk v1.4.3 — membership pricing experience */
.studiodesk .sd-membership-page{padding:clamp(20px,3.5vw,38px)}
.studiodesk .sd-membership-hero{padding:10px 0 26px}
.studiodesk .sd-membership-hero h2{font-size:clamp(1.75rem,3.5vw,2.45rem);margin:12px 0 8px;max-width:720px}
.studiodesk .sd-membership-hero p,.studiodesk .sd-membership-section-heading p{color:var(--sd-muted);margin:0}
.studiodesk .sd-current-membership{display:flex;align-items:center;gap:18px;padding:20px 22px;margin:0 0 25px;border:1px solid #c9ddce;border-radius:17px;background:linear-gradient(110deg,#edf6ee,#fbfdf9)}
.studiodesk .sd-current-icon,.studiodesk .sd-plan-icon{display:flex;align-items:center;justify-content:center;flex:0 0 52px;width:52px;height:52px;border-radius:16px;background:#dcebdd;color:var(--sd-primary-dark);font-size:23px}
.studiodesk .sd-current-copy{flex:1;min-width:0}
.studiodesk .sd-current-label{font-size:.72rem;letter-spacing:.1em;font-weight:800;color:var(--sd-primary)}
.studiodesk .sd-current-copy h3{margin:3px 0;font-size:1.25rem}
.studiodesk .sd-current-copy p{margin:0;color:#63736a;font-size:.9rem}
.studiodesk .sd-active-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:99px;background:#dcebdd;color:#31583d;font-size:.8rem;font-weight:750;white-space:nowrap}
.studiodesk .sd-membership-empty{display:flex;align-items:center;gap:12px;padding:17px 19px;margin:0 0 25px;border:1px dashed #cbd8cc;border-radius:14px;background:#fafcf9;color:#63736a}
.studiodesk .sd-membership-empty>i{font-size:22px;color:var(--sd-primary)}
.studiodesk .sd-membership-empty strong{color:var(--sd-ink)}
.studiodesk .sd-membership-empty a{margin-left:auto;color:var(--sd-primary);font-weight:700}
.studiodesk .sd-membership-package-note{padding:17px 19px;margin:0 0 25px;border-radius:14px;background:#f7f8f4}
.studiodesk .sd-membership-package-note h3{margin:0 0 10px;font-size:1rem}
.studiodesk .sd-membership-package-note h3 i{color:var(--sd-primary);margin-right:7px}
.studiodesk .sd-membership-package-note p{margin:6px 0;color:#627067}
.studiodesk .sd-membership-section-heading{margin:0 0 18px}
.studiodesk .sd-membership-section-heading h3{font-size:1.55rem;margin:8px 0 4px}
.studiodesk .sd-membership-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px;align-items:stretch}
.studiodesk .sd-membership-plan{position:relative;display:flex;flex-direction:column;min-width:0;padding:25px 23px 22px;border:1px solid var(--sd-line);border-radius:19px;background:#fff;box-shadow:0 9px 28px rgba(38,53,45,.055);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.studiodesk .sd-membership-plan:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(38,53,45,.10)}
.studiodesk .sd-membership-plan.is-current{border:2px solid var(--sd-primary);background:linear-gradient(155deg,#fbfdf9,#f2f7f1);padding:24px 22px 21px}
.studiodesk .sd-plan-current-ribbon{display:flex;align-items:center;gap:7px;margin:-24px -22px 19px;padding:10px 20px;background:var(--sd-primary);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.09em}
.studiodesk .sd-plan-icon{margin-bottom:15px}
.studiodesk .sd-membership-plan h4{font-size:1.25rem;margin:0 0 6px}
.studiodesk .sd-plan-description{min-height:42px;color:var(--sd-muted);font-size:.9rem;margin:0 0 16px}
.studiodesk .sd-plan-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;padding:14px 0;border-top:1px solid var(--sd-line);border-bottom:1px solid var(--sd-line)}
.studiodesk .sd-plan-price strong{font-size:1.55rem;color:var(--sd-primary-dark);letter-spacing:-.03em}
.studiodesk .sd-plan-price span{font-size:.8rem;color:var(--sd-muted)}
.studiodesk .sd-plan-features{list-style:none!important;margin:17px 0 22px!important;padding:0!important;display:grid;gap:12px}
.studiodesk .sd-plan-features li{display:flex;align-items:center;gap:10px;color:#53645a;font-size:.9rem}
.studiodesk .sd-plan-features li i{display:inline-flex;justify-content:center;width:19px;color:var(--sd-primary);font-size:15px}
.studiodesk .sd-membership-plan .sd-button,.studiodesk .sd-membership-plan form .sd-button{width:100%;justify-content:center;text-align:center;margin-top:auto}
.studiodesk .sd-plan-active-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 15px;border-radius:10px;background:#e2eee3;color:#31583d;font-size:.9rem;font-weight:750}
.studiodesk .sd-membership-plan form{margin-top:auto}
@media(max-width:640px){.studiodesk .sd-membership-page{padding:17px}.studiodesk .sd-current-membership{align-items:flex-start;flex-wrap:wrap;padding:16px}.studiodesk .sd-active-pill{margin-left:70px}.studiodesk .sd-membership-empty{align-items:flex-start;flex-wrap:wrap}.studiodesk .sd-membership-empty a{margin-left:34px}.studiodesk .sd-membership-grid{grid-template-columns:1fr}.studiodesk .sd-plan-description{min-height:0}}


/* v1.4.4 — enforce responsive pricing columns against theme layout overrides */
.studiodesk .sd-membership-plans{display:block!important;width:100%!important;max-width:none!important}
.studiodesk .sd-membership-grid{display:grid!important;width:100%!important;max-width:none!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;align-items:stretch!important}
.studiodesk .sd-membership-plan{display:flex!important;flex-direction:column!important;box-sizing:border-box!important;width:auto!important;max-width:none!important;min-width:0!important;margin:0!important;padding:25px 22px!important;border:1px solid #e1e8e0!important;border-radius:18px!important;background:#fff!important;box-shadow:0 9px 28px rgba(38,53,45,.07)!important;overflow:hidden!important}
.studiodesk .sd-membership-plan.is-current{border:2px solid #496b58!important;background:linear-gradient(155deg,#fbfdf9,#f1f7f1)!important;padding:24px 21px!important}
.studiodesk .sd-membership-plan h4{font-size:1.2rem!important;line-height:1.3!important;margin:0 0 8px!important}
.studiodesk .sd-membership-plan .sd-plan-icon{display:flex!important;width:48px!important;height:48px!important;min-height:48px!important;align-items:center!important;justify-content:center!important;border-radius:14px!important;margin:0 0 15px!important;background:#edf3ed!important;color:#496b58!important;font-size:21px!important}
.studiodesk .sd-membership-plan .sd-plan-features{display:grid!important;list-style:none!important;padding:0!important;margin:17px 0 22px!important;gap:12px!important}
.studiodesk .sd-membership-plan .sd-plan-features li{display:flex!important;align-items:center!important;gap:9px!important;margin:0!important;padding:0!important}
.studiodesk .sd-membership-plan .sd-plan-current-ribbon{display:flex!important;margin:-24px -21px 18px!important;padding:10px 18px!important;background:#496b58!important;color:#fff!important}
.studiodesk .sd-membership-plan form{margin-top:auto!important}
.studiodesk .sd-membership-plan form button,.studiodesk .sd-membership-plan .sd-button{width:100%!important;display:flex!important;justify-content:center!important}
@media(max-width:900px){.studiodesk .sd-membership-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.studiodesk .sd-membership-grid{grid-template-columns:1fr!important}.studiodesk .sd-membership-plan{padding:22px 19px!important}}

.studiodesk .sd-receipt-success{display:block;padding:18px 20px;margin:18px 0 24px;border:1px solid #b9d8c1;border-radius:14px;background:#eff8f0;color:#285a36}
.studiodesk .sd-receipt-success strong{display:flex;align-items:center;gap:9px;font-size:1rem;color:#285a36}
.studiodesk .sd-receipt-success strong i{font-size:19px}
.studiodesk .sd-receipt-success p{margin:7px 0 0;color:#456b4e;font-size:.92rem}


/* StudioDesk v1.4.8 — customer class package pricing cards */
.studiodesk .sd-packages-page{padding:clamp(20px,3.5vw,38px)}
.studiodesk .sd-packages-hero{padding:10px 0 28px}
.studiodesk .sd-packages-hero h2{font-size:clamp(1.75rem,3.5vw,2.4rem);line-height:1.2;letter-spacing:-.035em;margin:12px 0 8px;max-width:760px}
.studiodesk .sd-packages-hero p,.studiodesk .sd-packages-heading p{margin:0;color:var(--sd-muted)}
.studiodesk .sd-packages-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 19px}
.studiodesk .sd-packages-heading h3{font-size:1.45rem;margin:0 0 5px}
.studiodesk .sd-packages-count{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:99px;background:#f0f5ef;color:#506e59;font-size:.8rem;font-weight:700;white-space:nowrap}
.studiodesk .sd-packages-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:19px!important;align-items:stretch;width:100%}
.studiodesk .sd-package-card{box-sizing:border-box;display:flex;flex-direction:column;min-width:0;margin:0;padding:23px 21px 21px;border:1px solid var(--sd-line);border-radius:18px;background:#fff;box-shadow:0 8px 25px rgba(38,53,45,.055);transition:transform .2s ease,box-shadow .2s ease}
.studiodesk .sd-package-card:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(38,53,45,.095)}
.studiodesk .sd-package-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 0 16px;border-radius:14px;background:#edf3ed;color:var(--sd-primary);font-size:21px}
.studiodesk .sd-package-card h4{font-size:1.2rem;line-height:1.3;margin:0 0 7px}
.studiodesk .sd-package-description{min-height:42px;margin:0 0 16px;color:var(--sd-muted);font-size:.9rem;line-height:1.5}
.studiodesk .sd-package-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;padding:14px 0;border-top:1px solid var(--sd-line);border-bottom:1px solid var(--sd-line)}
.studiodesk .sd-package-price strong{font-size:1.45rem;letter-spacing:-.03em;color:var(--sd-primary-dark)}
.studiodesk .sd-package-price span{font-size:.78rem;color:var(--sd-muted)}
.studiodesk .sd-package-features{display:grid;gap:12px;list-style:none!important;padding:0!important;margin:17px 0 22px!important}
.studiodesk .sd-package-features li{display:flex;align-items:flex-start;gap:10px;margin:0!important;padding:0!important;color:#5b6b61;font-size:.88rem;line-height:1.4}
.studiodesk .sd-package-features li>i{display:inline-flex;justify-content:center;flex:0 0 19px;width:19px;margin-top:2px;color:var(--sd-primary);font-size:15px}
.studiodesk .sd-package-features li strong{color:#34483a}
.studiodesk .sd-package-purchase{margin-top:auto}
.studiodesk .sd-package-purchase form{display:grid;gap:9px;margin:0}
.studiodesk .sd-package-purchase label{display:grid;gap:6px;color:#56665c;font-size:.84rem;font-weight:600}
.studiodesk .sd-package-purchase select{width:100%;max-width:100%}
.studiodesk .sd-package-purchase button,.studiodesk .sd-package-purchase .sd-button{display:flex;justify-content:center;width:100%;text-align:center}
.studiodesk .sd-packages-empty{padding:42px 20px;text-align:center;border:1px dashed #ccd8ce;border-radius:16px;background:#fafcf9}
.studiodesk .sd-packages-empty>i{font-size:30px;color:var(--sd-primary)}
.studiodesk .sd-packages-empty h3{margin:12px 0 6px}
.studiodesk .sd-packages-empty p{margin:0;color:var(--sd-muted)}
@media(max-width:900px){.studiodesk .sd-packages-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.studiodesk .sd-packages-page{padding:17px}.studiodesk .sd-packages-grid{grid-template-columns:1fr!important}.studiodesk .sd-package-description{min-height:0}.studiodesk .sd-packages-heading{align-items:flex-start;flex-direction:column}}

.studiodesk .sd-staff-portal .sd-staff-class{margin:18px 0;padding:20px;border:1px solid var(--sd-line);border-radius:16px;background:#fff}
.studiodesk .sd-staff-portal .sd-staff-class-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.studiodesk .sd-staff-portal .sd-staff-class-head h3{margin:0 0 5px}
.studiodesk .sd-staff-portal .sd-staff-class-head p{margin:0;color:var(--sd-muted)}
.studiodesk .sd-staff-portal td form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.studiodesk .sd-staff-portal td select{min-width:130px}

.studiodesk .sd-credit-overview{margin:22px 0}
.studiodesk .sd-credit-row{display:flex;align-items:center;gap:13px;padding:14px 0;border-top:1px solid var(--sd-line)}
.studiodesk .sd-credit-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:#edf4ed;color:var(--sd-primary);font-size:18px}
.studiodesk .sd-credit-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.studiodesk .sd-credit-copy strong{color:var(--sd-ink)}
.studiodesk .sd-credit-copy small,.studiodesk .sd-credit-balance small{color:var(--sd-muted);font-size:.8rem}
.studiodesk .sd-credit-balance{display:flex;flex-direction:column;align-items:flex-end;color:var(--sd-primary-dark);font-weight:750;text-align:right}
@media(max-width:560px){.studiodesk .sd-credit-row{align-items:flex-start;flex-wrap:wrap}.studiodesk .sd-credit-balance{margin-left:55px;align-items:flex-start;text-align:left}}

.studiodesk .sd-owned-packages{margin:20px 0 28px;padding:18px;border:1px solid #dce8dc;border-radius:16px;background:#f8fbf7}
.studiodesk .sd-owned-package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px}
.studiodesk .sd-owned-package{display:flex;align-items:center;gap:11px;padding:13px;background:#fff;border:1px solid var(--sd-line);border-radius:12px}
.studiodesk .sd-owned-package .sd-package-icon{display:flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;margin:0;border-radius:11px;background:#edf4ed;color:var(--sd-primary)}
.studiodesk .sd-owned-package>div{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}
.studiodesk .sd-owned-package small{font-size:.78rem;color:var(--sd-muted)}
.studiodesk .sd-owned-package>b{white-space:nowrap;color:var(--sd-primary-dark)}

.studiodesk .sd-login-form{display:grid;gap:14px;max-width:480px}
.studiodesk .sd-login-form label{display:grid;gap:6px;font-weight:600;color:var(--sd-ink)}
.studiodesk .sd-login-form input[type=text],.studiodesk .sd-login-form input[type=password]{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--sd-line);border-radius:9px;background:#fff;color:var(--sd-ink);font:inherit}
.studiodesk .sd-login-form .sd-login-remember{display:flex;align-items:center;gap:8px;font-weight:400}
.studiodesk .sd-login-form .sd-login-remember input{width:17px;height:17px}
.studiodesk .sd-login-form .sd-login-lost{margin:0;font-size:.9rem}
.studiodesk .sd-login-form .sd-button{justify-self:start;border:0;cursor:pointer}
.studiodesk .sd-notice.sd-error{padding:12px 15px;margin:0 0 16px;border:1px solid #f2caca;border-left:4px solid #c83b3b;border-radius:8px;background:#fff5f5;color:#8c2424}

.studiodesk .sd-password-recovery,.studiodesk .sd-password-reset{max-width:620px;margin:0 auto}
.studiodesk .sd-login-form{display:grid;gap:14px;max-width:480px}
.studiodesk .sd-login-form label{display:grid;gap:6px;font-weight:600;color:var(--sd-ink)}
.studiodesk .sd-login-form input[type=text],.studiodesk .sd-login-form input[type=password]{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--sd-line);border-radius:9px;background:#fff;color:var(--sd-ink);font:inherit}
.studiodesk .sd-login-form .sd-login-remember{display:flex;align-items:center;gap:8px;font-weight:400}
.studiodesk .sd-login-form .sd-login-remember input{width:17px;height:17px}
.studiodesk .sd-login-form .sd-login-lost{margin:0;font-size:.9rem}
.studiodesk .sd-login-form .sd-button{justify-self:start;border:0;cursor:pointer}
.studiodesk .sd-notice.sd-error{padding:12px 15px;margin:0 0 16px;border:1px solid #f2caca;border-left:4px solid #c83b3b;border-radius:8px;background:#fff5f5;color:#8c2424}

/* Interactive customer class calendar */
.studiodesk .sd-schedule-experience{margin:18px 0 30px;color:var(--sd-ink)}
.studiodesk .sd-schedule-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 24px}
.studiodesk .sd-schedule-heading h2{margin:7px 0;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.2}
.studiodesk .sd-schedule-heading p{margin:0;color:var(--sd-muted)}
.studiodesk .sd-view-switch{display:flex;gap:4px;padding:4px;border:1px solid var(--sd-line);border-radius:12px;background:#f7faf7;flex-shrink:0}
.studiodesk .sd-view-switch button{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 13px;border:0;border-radius:8px;background:transparent;color:var(--sd-ink);font:inherit;cursor:pointer}
.studiodesk .sd-view-switch button.is-active{background:#e8f0e9;color:var(--sd-primary-dark);font-weight:700}
.studiodesk .sd-schedule-filters{display:flex;gap:14px;flex-wrap:wrap;margin:0 0 18px}
.studiodesk .sd-schedule-filters label{display:grid;gap:6px;min-width:190px;color:var(--sd-muted);font-size:.88rem;font-weight:600}
.studiodesk .sd-schedule-filters select{min-height:43px;padding:8px 34px 8px 11px;border:1px solid var(--sd-line);border-radius:9px;background:#fff;color:var(--sd-ink);font:inherit}
.studiodesk .sd-calendar-view{padding:clamp(12px,2.5vw,22px);border:1px solid var(--sd-line);border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(38,53,45,.045)}
.studiodesk .sd-calendar-toolbar{display:flex;align-items:center;gap:12px;margin:0 0 16px}
.studiodesk .sd-calendar-toolbar h3{flex:1;margin:0;text-align:center;font-size:1.2rem}
.studiodesk .sd-calendar-toolbar button{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;padding:8px 12px;border:1px solid var(--sd-line);border-radius:9px;background:#fff;color:var(--sd-ink);cursor:pointer}
.studiodesk .sd-calendar-toolbar .sd-calendar-today{min-width:auto;background:#f1f6f1;font-weight:600}
.studiodesk .sd-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.studiodesk .sd-calendar-weekday{text-align:center;padding:9px 2px;color:var(--sd-muted);font-size:.8rem;font-weight:700}
.studiodesk .sd-calendar-day{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;min-height:83px;padding:9px;border:1px solid #edf1ed;border-radius:10px;background:#fff;color:var(--sd-ink);text-align:left;cursor:pointer}
.studiodesk .sd-calendar-day.is-empty{border-color:transparent;background:transparent;cursor:default}
.studiodesk .sd-calendar-day.has-classes{border-color:#d6e4d8;background:#f5f9f5}
.studiodesk .sd-calendar-day.is-selected{border:2px solid var(--sd-primary);padding:8px;background:#eef5ef}
.studiodesk .sd-calendar-day-number{font-weight:700}
.studiodesk .sd-calendar-day-count{display:block;max-width:100%;padding:4px 6px;border-radius:6px;background:#e1ede2;color:#355b45;font-size:.69rem;line-height:1.2;white-space:normal}
.studiodesk .sd-calendar-day-empty{font-size:.7rem}
.studiodesk .sd-calendar-legend{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 22px;color:var(--sd-muted);font-size:.8rem}
.studiodesk .sd-calendar-legend>span:first-child{display:flex;align-items:center;gap:7px}.studiodesk .sd-calendar-legend i{width:9px;height:9px;border-radius:50%;background:#6b9277}
.studiodesk .sd-selected-day{border-top:1px solid var(--sd-line);padding-top:18px}
.studiodesk .sd-selected-day-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.studiodesk .sd-selected-day-heading h3{margin:0;font-size:1.15rem}.studiodesk .sd-selected-day-heading>span{color:var(--sd-muted);font-size:.85rem}
.studiodesk .sd-calendar-class-card{display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:16px;padding:13px;margin:12px 0;border:1px solid var(--sd-line);border-radius:13px;background:#fff}
.studiodesk .sd-calendar-class-card>img,.studiodesk .sd-calendar-card-placeholder{width:112px;height:104px;object-fit:cover;border-radius:9px;background:#edf3ed}
.studiodesk .sd-calendar-card-placeholder{display:flex;align-items:center;justify-content:center;color:#66816d;font-size:1.5rem}
.studiodesk .sd-calendar-card-copy{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.studiodesk .sd-calendar-card-copy h4{margin:2px 0;font-size:1.05rem}.studiodesk .sd-calendar-card-copy p{margin:0;color:var(--sd-muted);font-size:.88rem}.studiodesk .sd-calendar-card-copy p i{margin-right:4px}.studiodesk .sd-calendar-card-copy strong{margin-top:3px}.studiodesk .sd-calendar-card-copy small{color:var(--sd-muted)}
.studiodesk .sd-calendar-class-card>.sd-button{white-space:nowrap}.studiodesk .sd-list-date-label{margin:22px 0 5px;color:var(--sd-primary-dark);font-weight:700}
.studiodesk .sd-calendar-empty{padding:18px;border-radius:10px;background:#f7faf7;color:var(--sd-muted)}
@media(max-width:700px){.studiodesk .sd-schedule-heading{display:block}.studiodesk .sd-view-switch{margin-top:16px;width:max-content}.studiodesk .sd-calendar-day{min-height:66px;padding:6px;gap:5px}.studiodesk .sd-calendar-day.is-selected{padding:5px}.studiodesk .sd-calendar-day-count{font-size:.62rem;padding:3px 4px}.studiodesk .sd-calendar-weekday{font-size:.7rem}.studiodesk .sd-calendar-class-card{grid-template-columns:76px minmax(0,1fr);gap:11px}.studiodesk .sd-calendar-class-card>img,.studiodesk .sd-calendar-card-placeholder{width:76px;height:84px}.studiodesk .sd-calendar-class-card>.sd-button{grid-column:1/-1;width:100%}.studiodesk .sd-calendar-toolbar{gap:6px}.studiodesk .sd-calendar-toolbar h3{font-size:1rem}.studiodesk .sd-calendar-toolbar button{min-width:38px;min-height:40px;padding:6px 9px}}
@media(max-width:390px){.studiodesk .sd-calendar-grid{gap:3px}.studiodesk .sd-calendar-day{min-height:58px;padding:4px}.studiodesk .sd-calendar-day.is-selected{padding:3px}.studiodesk .sd-calendar-day-number{font-size:.82rem}.studiodesk .sd-calendar-day-count{font-size:.56rem}.studiodesk .sd-calendar-legend{align-items:flex-start;flex-direction:column}}

.studiodesk .sd-appointment-date-filter{display:grid;gap:7px;max-width:280px;margin:18px 0}
.studiodesk .sd-appointment-date-filter input{min-height:44px;padding:9px 12px;border:1px solid var(--sd-line);border-radius:10px;font:inherit}
.studiodesk .sd-appointment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px;margin:18px 0}
.studiodesk .sd-appointment-slot,.studiodesk .sd-my-appointment{display:grid;gap:9px;padding:17px;border:1px solid var(--sd-line);border-radius:14px;background:#fff}
.studiodesk .sd-appointment-slot>strong{font-size:1.08rem;color:var(--sd-ink)}
.studiodesk .sd-appointment-slot>span,.studiodesk .sd-my-appointment>span{color:var(--sd-muted)}
.studiodesk .sd-appointment-slot form,.studiodesk .sd-my-appointment form{display:grid;gap:10px}
.studiodesk .sd-appointment-slot label,.studiodesk .sd-my-appointment label{display:grid;gap:5px}
.studiodesk .sd-appointment-slot select,.studiodesk .sd-my-appointment select{min-height:42px;border:1px solid var(--sd-line);border-radius:8px;padding:8px}
.studiodesk .sd-my-appointments{display:grid;gap:12px;margin-top:28px}
.studiodesk .sd-appointment-bank{padding:18px;margin:18px 0;background:#f8fbf7;border:1px solid var(--sd-line);border-radius:14px}
.studiodesk .sd-appointment-bank form{display:grid;gap:12px;max-width:480px}
.studiodesk .sd-appointment-bank label{display:grid;gap:6px}
@media(max-width:600px){.studiodesk .sd-appointment-grid{grid-template-columns:1fr}}

/* StudioDesk v1.6.1 — centered, studio-branded authentication experience */
.studiodesk.sd-auth-page{width:100%;max-width:100%;margin:0 auto;padding:clamp(12px,2.5vw,28px) clamp(12px,2vw,24px);display:flex;flex-direction:column;align-items:center}
.studiodesk.sd-auth-page>.sd-brand-header{width:100%;max-width:760px;min-height:0;justify-content:center;text-align:center;margin:0 auto 24px;padding:8px 0 20px;border-bottom:1px solid var(--sd-line)}
.studiodesk.sd-auth-page>.sd-brand-header img{max-width:min(220px,65vw);max-height:92px;width:auto;height:auto;object-position:center}
.studiodesk.sd-auth-page>.sd-portal-card{width:100%;margin:0 auto;padding:clamp(24px,4vw,42px);border:1px solid #e3e9e2;border-radius:22px;background:linear-gradient(145deg,#fff 0%,#fbfcfa 100%);box-shadow:0 18px 55px rgba(34,54,42,.085)}
.studiodesk.sd-auth-page>.sd-auth-card{max-width:520px}
.studiodesk.sd-auth-page>.sd-registration-card{max-width:590px}
.studiodesk.sd-auth-page .sd-auth-eyebrow{display:table;margin:0 auto 10px;padding:6px 11px;border-radius:99px;background:#edf3ed;color:var(--sd-primary-dark);font-size:.68rem;font-weight:800;letter-spacing:.12em;line-height:1.3}
.studiodesk.sd-auth-page .sd-auth-card h2,.studiodesk.sd-auth-page .sd-registration-heading h2{text-align:center;margin:0 0 9px;font-size:clamp(1.65rem,3vw,2.05rem);font-weight:650;letter-spacing:-.045em;color:#26352d}
.studiodesk.sd-auth-page .sd-auth-intro,.studiodesk.sd-auth-page .sd-registration-heading p{max-width:420px;margin:0 auto 25px;text-align:center;color:#78857d;font-size:.96rem;line-height:1.65}
.studiodesk.sd-auth-page .sd-login-form{display:grid;gap:15px;margin:0}
.studiodesk.sd-auth-page .sd-login-form label{display:grid;gap:7px;margin:0;color:#34443a;font-size:.9rem;font-weight:650}
.studiodesk.sd-auth-page .sd-login-form input:not([type=checkbox]),.studiodesk.sd-auth-page .sd-register-form input{width:100%;max-width:100%;min-height:49px;padding:12px 14px;border:1px solid #d8e1d8;border-radius:11px;background:#fff;color:#26352d;font:inherit;font-size:.96rem;box-shadow:inset 0 1px 2px rgba(30,50,38,.025);transition:border-color .18s ease,box-shadow .18s ease}
.studiodesk.sd-auth-page .sd-login-form input:focus,.studiodesk.sd-auth-page .sd-register-form input:focus{outline:0;border-color:var(--sd-primary);box-shadow:0 0 0 4px rgba(73,107,88,.12)}
.studiodesk.sd-auth-page .sd-login-form .sd-login-remember{display:flex;align-items:center;gap:9px;font-size:.88rem;font-weight:450;color:#64736a}
.studiodesk.sd-auth-page .sd-login-form input[type=checkbox]{width:17px;height:17px;margin:0;accent-color:var(--sd-primary)}
.studiodesk.sd-auth-page .sd-login-form .sd-button,.studiodesk.sd-auth-page .sd-register-form .sd-button{width:100%;min-height:49px;border-radius:11px;font-size:.92rem;font-weight:750;letter-spacing:.01em}
.studiodesk.sd-auth-page .sd-login-lost{margin:-2px 0 0;text-align:center;font-size:.84rem}
.studiodesk.sd-auth-page .sd-login-lost a,.studiodesk.sd-auth-page .sd-password-recovery a{color:var(--sd-primary);font-weight:650;text-decoration:none}
.studiodesk.sd-auth-page .sd-register-link,.studiodesk.sd-auth-page .sd-registration-login{margin:22px 0 0;padding-top:18px;border-top:1px solid #e8ede7;text-align:center;color:#78857d;font-size:.9rem}
.studiodesk.sd-auth-page .sd-register-link a,.studiodesk.sd-auth-page .sd-registration-login a{color:var(--sd-primary-dark);font-weight:750;text-decoration:none}
.studiodesk.sd-auth-page .sd-registration-heading{margin-bottom:24px;text-align:center}
.studiodesk.sd-auth-page .sd-registration-heading p{margin-bottom:0}
.studiodesk.sd-auth-page .sd-registration-grid{gap:17px 16px}
.studiodesk.sd-auth-page .sd-register-form label{gap:7px;color:#34443a;font-size:.88rem;font-weight:650}
.studiodesk.sd-auth-page .sd-register-form .sd-registration-hint{margin:13px 0 18px;font-size:.82rem;color:#7c8981}
.studiodesk.sd-auth-page .sd-register-form>p:last-child{margin:0}
.studiodesk.sd-auth-page .sd-powered-by{width:100%;max-width:760px;margin:24px auto 0;padding-top:14px;border-top:1px solid var(--sd-line);text-align:center}
.studiodesk.sd-auth-page .sd-password-recovery,.studiodesk.sd-auth-page .sd-password-reset{max-width:520px}
.studiodesk.sd-auth-page .sd-password-recovery h2,.studiodesk.sd-auth-page .sd-password-reset h2{text-align:center;margin-bottom:14px}
.studiodesk.sd-auth-page .sd-password-recovery>p{text-align:center}
@media(max-width:600px){.studiodesk.sd-auth-page{padding:10px 12px}.studiodesk.sd-auth-page>.sd-brand-header{margin-bottom:18px;padding-bottom:16px}.studiodesk.sd-auth-page>.sd-portal-card{padding:23px 18px;border-radius:17px}.studiodesk.sd-auth-page .sd-registration-grid{grid-template-columns:1fr;gap:14px}.studiodesk.sd-auth-page .sd-login-form{gap:14px}}

/* StudioDesk v1.6.2 — registration field alignment and refined form styling */
.studiodesk.sd-auth-page>.sd-registration-card{max-width:640px;padding:clamp(26px,4.2vw,46px)}
.studiodesk.sd-auth-page .sd-registration-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:19px;align-items:start}
.studiodesk.sd-auth-page .sd-register-form .sd-registration-grid>label{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:8px!important;min-width:0;width:100%;margin:0!important;line-height:1.35}
.studiodesk.sd-auth-page .sd-register-form .sd-field-label{display:flex;align-items:center;gap:7px;min-height:18px;line-height:1.35;color:#34443a;font-size:.9rem;font-weight:650}
.studiodesk.sd-auth-page .sd-register-form .sd-optional{display:inline-flex;align-items:center;padding:2px 7px;border-radius:20px;background:#f0f4ef;color:#758279;font-size:.72rem;font-weight:550;line-height:1.3}
.studiodesk.sd-auth-page .sd-register-form .sd-registration-grid input{display:block!important;box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;height:49px;min-height:49px;margin:0!important;padding:12px 14px;border:1px solid #d5dfd5;border-radius:10px;background:#fff;color:#26352d;font-size:15px;line-height:normal;box-shadow:0 1px 2px rgba(25,45,32,.025);}
.studiodesk.sd-auth-page .sd-register-form .sd-registration-grid input:hover{border-color:#b9c9ba}
.studiodesk.sd-auth-page .sd-register-form .sd-registration-grid input:focus{outline:0;border-color:var(--sd-primary);box-shadow:0 0 0 4px rgba(73,107,88,.12)}
.studiodesk.sd-auth-page .sd-register-form .sd-registration-hint{margin:16px 0 20px;font-size:.84rem;line-height:1.5;color:#78857d}
.studiodesk.sd-auth-page .sd-register-form>p:last-child{margin:0}
@media(max-width:600px){.studiodesk.sd-auth-page>.sd-registration-card{padding:24px 19px}.studiodesk.sd-auth-page .sd-registration-grid{grid-template-columns:minmax(0,1fr);row-gap:15px}.studiodesk.sd-auth-page .sd-register-form .sd-registration-grid>label{gap:7px!important}}


/* StudioDesk 1.9.2 — customer membership dashboard */
.studiodesk .sd-membership-overview{margin-bottom:22px}
.studiodesk .sd-dashboard-memberships{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin-top:16px}
.studiodesk .sd-dashboard-membership-card{min-width:0;padding:19px;border:1px solid var(--sd-line,#e4e9e4);border-radius:16px;background:#fff}
.studiodesk .sd-dashboard-membership-header{display:flex;align-items:center;gap:12px;margin-bottom:17px}
.studiodesk .sd-dashboard-membership-icon{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border-radius:13px;background:#edf3ed;color:var(--sd-primary,#496b58);font-size:19px}
.studiodesk .sd-dashboard-eyebrow{display:block;color:#7b887f;font-size:10px;font-weight:800;letter-spacing:.09em}
.studiodesk .sd-dashboard-membership-header h4{margin:3px 0 0;font-size:17px;line-height:1.3}
.studiodesk .sd-dashboard-status{margin-left:auto;padding:5px 10px;border-radius:30px;background:#eaf5ed;color:#287344;font-size:11px;font-weight:800}
.studiodesk .sd-dashboard-membership-meta{display:flex;flex-wrap:wrap;gap:10px 22px;padding:12px 0;border-top:1px solid #edf0ed;border-bottom:1px solid #edf0ed}
.studiodesk .sd-dashboard-membership-meta span{display:flex;flex-direction:column;gap:3px}
.studiodesk .sd-dashboard-membership-meta small,.studiodesk .sd-dashboard-allowance small{color:#78847c;font-size:11px}
.studiodesk .sd-dashboard-membership-meta strong{font-size:12px;color:#34443a}
.studiodesk .sd-dashboard-allowance{padding-top:15px}
.studiodesk .sd-dashboard-allowance-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.studiodesk .sd-dashboard-allowance-top>div{display:flex;flex-direction:column;gap:3px}
.studiodesk .sd-dashboard-allowance-top>div>strong,.studiodesk .sd-dashboard-unlimited>strong{font-size:13px;color:#34443a}
.studiodesk .sd-dashboard-allowance-top>b{white-space:nowrap;color:var(--sd-primary,#496b58);font-size:18px}
.studiodesk .sd-dashboard-allowance-top>b small{font-size:10px;font-weight:600}
.studiodesk .sd-dashboard-progress{height:8px;margin-top:10px;overflow:hidden;border-radius:20px;background:#edf1ed}
.studiodesk .sd-dashboard-progress span{display:block;height:100%;border-radius:20px;background:var(--sd-primary,#496b58);transition:width .2s ease}
.studiodesk .sd-dashboard-progress-period span{background:#819b87}
.studiodesk .sd-dashboard-allowance>p{margin:6px 0 0;color:#7b887f;font-size:11px}
.studiodesk .sd-dashboard-unlimited{display:flex;justify-content:space-between;gap:10px}
.studiodesk .sd-dashboard-unlimited span{color:#287344;font-size:12px;font-weight:700}
.studiodesk .sd-dashboard-term-allowance{margin-top:13px;padding-top:13px;border-top:1px solid #edf0ed}
.studiodesk .sd-dashboard-no-membership{display:flex;align-items:center;gap:13px;margin-top:15px;padding:17px;border-radius:13px;background:#f7f9f6}
.studiodesk .sd-dashboard-no-membership>i{font-size:22px;color:var(--sd-primary,#496b58)}
.studiodesk .sd-dashboard-no-membership>div{flex:1}
.studiodesk .sd-dashboard-no-membership strong{color:#34443a}
.studiodesk .sd-dashboard-no-membership p{margin:3px 0 0;color:#78847c;font-size:12px}
.studiodesk .sd-dashboard-package-credits{margin-top:20px;padding-top:17px;border-top:1px solid #edf0ed}
.studiodesk .sd-dashboard-package-credits h4{margin:0 0 8px;font-size:14px}
@media(max-width:600px){.studiodesk .sd-dashboard-no-membership{align-items:flex-start;flex-wrap:wrap}.studiodesk .sd-dashboard-no-membership .sd-button{width:100%;justify-content:center}.studiodesk .sd-dashboard-membership-meta{gap:10px 16px}}

/* StudioDesk 1.9.3 — pay-per-class booking guidance */
.studiodesk .sd-per-class-label{display:inline-block;margin-left:6px;color:#748078;font-size:11px;font-weight:600}
.studiodesk .sd-per-class-info{display:flex;flex-direction:column;gap:4px;margin:12px 0 16px;padding:13px 15px;border:1px solid #e3ebe3;border-left:3px solid var(--sd-primary,#496b58);border-radius:10px;background:#f7faf7}
.studiodesk .sd-per-class-info strong{font-size:12px;color:#34443a}
.studiodesk .sd-per-class-info span{font-size:12px;line-height:1.55;color:#66736a}

/* StudioDesk v1.14.3 — mobile customer portal layout and no-horizontal-scroll fix */
.studiodesk,
.studiodesk *{box-sizing:border-box;min-width:0}
.studiodesk{width:100%;max-width:1240px;overflow-x:clip}
.studiodesk img,.studiodesk video,.studiodesk iframe{max-width:100%;height:auto}
.studiodesk .sd-portal-card,
.studiodesk .sd-booking-card,
.studiodesk .sd-customer-dashboard,
.studiodesk .sd-customer-welcome,
.studiodesk .sd-customer-stats,
.studiodesk .sd-table-wrap{width:100%;max-width:100%;min-width:0}
.studiodesk .sd-portal-card table,
.studiodesk .sd-staff-class table{width:100%!important;min-width:0!important;max-width:100%;table-layout:fixed;border-collapse:collapse}
.studiodesk .sd-portal-card th,
.studiodesk .sd-portal-card td,
.studiodesk .sd-staff-class th,
.studiodesk .sd-staff-class td{white-space:normal;overflow-wrap:anywhere;word-break:normal;}
.studiodesk .sd-table-wrap{overflow-x:hidden}
.studiodesk .sd-customer-dashboard>*{min-width:0;max-width:100%}
.studiodesk .sd-customer-welcome>*{min-width:0;max-width:100%}
.studiodesk .sd-customer-links a{min-width:0;overflow-wrap:anywhere}
.studiodesk .sd-portal-nav a{min-width:0;overflow-wrap:anywhere}
.studiodesk .sd-section-heading{min-width:0;flex-wrap:wrap}
.studiodesk .sd-section-heading>*{min-width:0;max-width:100%}
.studiodesk .sd-dashboard-membership-header{min-width:0;flex-wrap:wrap}
.studiodesk .sd-dashboard-membership-header h4{min-width:0;overflow-wrap:anywhere}
.studiodesk input,.studiodesk select,.studiodesk textarea,.studiodesk button{max-width:100%}
@media(max-width:640px){
 .studiodesk{padding-left:12px!important;padding-right:12px!important;margin-left:auto!important;margin-right:auto!important}
 .studiodesk .sd-brand-header{width:100%;min-width:0}
 .studiodesk .sd-portal-nav{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));}
 .studiodesk .sd-portal-nav a{justify-content:flex-start;min-width:0;padding:9px 8px;font-size:.78rem;line-height:1.25}
 .studiodesk .sd-customer-welcome{width:100%;min-width:0;min-height:0;padding:22px 18px;display:flex;flex-direction:column;align-items:stretch;gap:12px;background-position:center;background-size:cover}
 .studiodesk .sd-customer-welcome h2{font-size:1.45rem;overflow-wrap:anywhere}
 .studiodesk .sd-customer-welcome p{font-size:.92rem;line-height:1.5;overflow-wrap:anywhere}
 .studiodesk .sd-customer-welcome .sd-button{width:100%;max-width:100%;margin:4px 0 0;white-space:normal;text-align:center}
 .studiodesk .sd-customer-stats{grid-template-columns:minmax(0,1fr);gap:12px}
 .studiodesk .sd-customer-stats>div{width:100%;min-height:100px;padding:17px 16px 16px 68px}
 .studiodesk .sd-customer-stats>div:before{left:15px;top:18px}
 .studiodesk .sd-customer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .studiodesk .sd-customer-links a{justify-content:flex-start;min-height:50px;padding:9px;font-size:.78rem;line-height:1.25}
 .studiodesk .sd-portal-card{width:100%;padding:15px 12px;margin:0;overflow:hidden}
 .studiodesk .sd-portal-card h2{font-size:1.25rem;overflow-wrap:anywhere}
 .studiodesk .sd-section-heading{align-items:flex-start;flex-direction:column;gap:6px}
 .studiodesk .sd-portal-card table,.studiodesk .sd-staff-class table{display:table;width:100%!important;min-width:0!important;table-layout:fixed}
 .studiodesk .sd-portal-card th,.studiodesk .sd-portal-card td,.studiodesk .sd-staff-class th,.studiodesk .sd-staff-class td{padding:8px 5px;font-size:.69rem;line-height:1.4;overflow-wrap:anywhere;}
 .studiodesk .sd-portal-card th{font-size:.63rem;letter-spacing:.035em}
 .studiodesk .sd-portal-card td small{font-size:.65rem;overflow-wrap:anywhere}
 .studiodesk .sd-table-wrap{overflow-x:hidden;border-radius:11px}
 .studiodesk .sd-dashboard-memberships{grid-template-columns:minmax(0,1fr)}
 .studiodesk .sd-dashboard-membership-card{padding:15px}
 .studiodesk .sd-dashboard-membership-meta{gap:9px 12px}
 .studiodesk .sd-profile-grid,.studiodesk .sd-registration-grid{grid-template-columns:minmax(0,1fr)}
 .studiodesk .sd-class-card{width:100%;min-width:0;grid-template-columns:minmax(0,1fr)}
 .studiodesk .sd-class-card>.sd-button{width:100%;min-width:0;white-space:normal}
 .studiodesk .sd-booking-card,.studiodesk .sd-payment-options{width:100%;padding:16px 13px;overflow:hidden}
 .studiodesk .sd-booking-card form{width:100%;min-width:0}
 .studiodesk form>*{min-width:0;max-width:100%}
 .studiodesk .sd-powered-by{width:100%;overflow-wrap:anywhere}
}


/* StudioDesk v1.14.10 — wider customer-facing shortcode layout.
   Break out of narrow theme content columns while remaining centred and responsive. */
.studiodesk{
    width:min(1200px,calc(100vw - 48px))!important;
    max-width:1200px!important;
    position:relative;
    left:50%;
    transform:translateX(-50%);
    margin-left:0!important;
    margin-right:0!important;
}
.studiodesk .sd-portal-card,
.studiodesk .sd-membership-page,
.studiodesk .sd-customer-dashboard,
.studiodesk .sd-booking-card{
    width:100%;
    max-width:none;
}
@media(max-width:640px){
    .studiodesk{
        width:calc(100vw - 24px)!important;
        max-width:none!important;
        left:50%;
        transform:translateX(-50%);
        padding-left:0!important;
        padding-right:0!important;
    }
}
