@font-face{font-family:Inter;src:url(/fonts/Inter-roman.var.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{font-family:Inter,sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased;font-optical-sizing:none;color:#51359a;background:#f8f4ec;font-weight:400;--ink: #51359a;--muted: rgb(81 53 154 / 72%);--peach: #ffd3ac;--paper: #f8f4ec;--tile: #fffbf6;--line: rgb(81 53 154 / 10%);--radius-tile: 24px;--radius-button: 26px;--tile-shadow: 0 5px 16px rgb(81 53 154 / 5.5%), inset 0 1px 1px rgb(248 244 236 / 65%);--button-shadow: 0 4px 9px rgb(81 53 154 / 14%), inset 0 1px 1px rgb(248 244 236 / 12%);--app-safe-top: calc( max(env(safe-area-inset-top, 0px), var(--tg-safe-area-inset-top, 0px)) + var(--tg-content-safe-area-inset-top, 0px) );--app-safe-bottom: calc( max( env(safe-area-inset-bottom, 0px), var(--tg-safe-area-inset-bottom, 0px) ) + var(--tg-content-safe-area-inset-bottom, 0px) );--app-safe-left: calc( max(env(safe-area-inset-left, 0px), var(--tg-safe-area-inset-left, 0px)) + var(--tg-content-safe-area-inset-left, 0px) );--app-safe-right: calc( max(env(safe-area-inset-right, 0px), var(--tg-safe-area-inset-right, 0px)) + var(--tg-content-safe-area-inset-right, 0px) )}*{box-sizing:border-box}body{margin:0;min-width:320px;overflow-x:clip;padding-inline:var(--app-safe-left) var(--app-safe-right)}button,input,textarea,select{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;border:0;background:none;padding:0;transition:background-color .2s ease,color .18s ease,border-color .2s ease,box-shadow .2s ease,opacity .16s ease;touch-action:manipulation}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:36px;line-height:38px;letter-spacing:-1.44px}h2{font-size:18px;line-height:24px;letter-spacing:-.36px}h3,p{font-size:15px;line-height:21px}a{color:inherit}.app-shell{max-width:1120px;min-height:100svh;margin:0 auto;padding-bottom:max(32px,var(--app-safe-bottom))}.center-screen{display:grid;place-items:center;padding:24px}.app-header{position:sticky;top:0;z-index:20;isolation:isolate;display:flex;flex-direction:column;gap:8px;padding:calc(12px + var(--app-safe-top)) 24px 8px}.app-header:before{content:"";position:absolute;inset:0 0 -18px;z-index:-1;pointer-events:none;background:var(--paper);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 24px),transparent 100%);mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 24px),transparent 100%);transition:background-color .2s ease,box-shadow .2s ease}.app-header[data-scrolled=true]:before{background:#f8f4ecd1}.brand-row{display:flex;align-items:center;justify-content:space-between;height:40px;gap:16px;padding-inline:8px}.wordmark{font-weight:700;font-size:30px;line-height:32px;letter-spacing:-1.2px}.brand-caption{font-size:14px;line-height:20px;color:var(--muted);text-align:right;white-space:nowrap}.primary-nav{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(3,1fr);padding:4px;border-radius:28px;background:#51359a0f}.nav-indicator{position:absolute;z-index:-1;inset-block:4px;left:4px;width:calc((100% - 8px) / 3);border-radius:24px;background:var(--tile);box-shadow:0 2px 8px #51359a17,inset 0 1px #fffc;transition:transform .52s cubic-bezier(.22,1.28,.36,1),opacity .16s ease;pointer-events:none}.nav-indicator[data-hidden=true]{opacity:0}.primary-nav button{min-height:44px;position:relative;border-radius:24px;font-size:14px;line-height:20px;font-weight:500;color:var(--muted);transition:color .18s ease}.primary-nav button[aria-current]{color:var(--ink)}.page-content{padding:12px 24px 24px}.page-stack{display:flex;flex-direction:column;gap:16px;min-width:0}.greeting{font-size:28px;line-height:30px;letter-spacing:-1.12px;overflow-wrap:anywhere}.caption{font-size:11px;line-height:15px}.muted{color:var(--muted)}.eyebrow{font-size:11px;line-height:15px;text-transform:uppercase;letter-spacing:.66px;color:var(--muted)}.display-heading{font-size:56px;line-height:54px;letter-spacing:-2.24px;font-weight:700}.design-icon{display:block;flex-shrink:0}.tile{background:var(--tile);border:1px solid var(--line);border-radius:var(--radius-tile);box-shadow:var(--tile-shadow)}.primary-button,.secondary-button{min-height:52px;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;border-radius:var(--radius-button);font-size:15px;font-weight:500;line-height:20px;width:100%}.primary-button{background:var(--ink);color:var(--paper);box-shadow:var(--button-shadow)}.secondary-button{background:var(--tile);border:1px solid var(--line);box-shadow:var(--tile-shadow)}.primary-button.compact{width:136px;min-height:44px;padding:10px 16px;border-radius:24px}.text-link{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;position:relative;width:fit-content;text-decoration:none;text-align:left}.text-link:after{content:"";position:absolute;inset:-13px 0;min-height:44px}.text-link:disabled:after{pointer-events:none}.pass-wrap,.class-card-wrap{position:relative;isolation:isolate}.pass-card{--pass-thickness: 5px;--pass-perspective: 1000px;position:relative;perspective:var(--pass-perspective);perspective-origin:50% 50%;container-type:inline-size;border-radius:var(--radius-tile);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.pass-card:active{cursor:grabbing}.pass-card:focus-visible{outline:2px solid var(--ink);outline-offset:6px}.pass-rotor{position:relative;border-radius:inherit;will-change:transform;transform-style:preserve-3d}.pass-face{border-radius:inherit;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;isolation:isolate}.pass-front{background:linear-gradient(140deg,#ffdcba,var(--peach) 65%,#ffcca2);transform:translateZ(calc(var(--pass-thickness) / 2))}.pass-rim-segment{position:absolute;left:0;top:0;transform-origin:0 0;pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:linear-gradient(to bottom,#edbe98,#e2ad83 45%,#ffe8cf)}.pass-face:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;box-shadow:inset 0 1px 1px #fffbf6e5,inset 1px 0 #fffbf659,inset 0 -2px 1px #a9673b1f}.pass-face-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:clamp(12px,3.15cqi,18px);padding:clamp(18px,5.2cqi,30px);min-height:clamp(264px,70cqi,400px);border-radius:inherit}.pass-front .pass-face-content>*{position:relative}.pass-front .pass-face-content>.pass-main{transform:none}.pass-card .pass-balance{transform:none}.pass-card .pass-illustration{transform:none;pointer-events:none;-webkit-touch-callout:none}.pass-card:not([data-side=front]) .pass-front,.pass-card:not([data-side=back]) .pass-back{pointer-events:none}.pass-back{position:absolute;inset:0;background:linear-gradient(140deg,#ffdfc0,var(--peach) 70%,#ffcca2);color:var(--ink);transform:rotateY(180deg) translateZ(calc(var(--pass-thickness) / 2))}.pass-back .pass-face-content{height:100%;min-height:0;align-items:stretch;justify-content:space-between;gap:12px}.pass-secret-header{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:clamp(18px,4.7cqi,24px);line-height:1.25;font-weight:650;letter-spacing:-.8px}.pass-secret-details{display:grid;grid-template-columns:minmax(0,1fr) clamp(64px,22cqi,120px);align-items:center;gap:12px;min-height:0}.pass-secret-expiry,.pass-secret-expiry time{display:flex;flex-direction:column}.pass-secret-expiry{gap:5px}.pass-secret-label,.pass-secret-deadline{font-size:clamp(11px,2.9cqi,14px);line-height:1.45;font-weight:400;letter-spacing:0;color:var(--muted)}.pass-secret-date{font-size:clamp(26px,8.8cqi,44px);line-height:1.15;font-weight:550;letter-spacing:-1.1px;white-space:nowrap}.pass-secret-deadline{margin-top:5px;font-variant-numeric:tabular-nums}.pass-secret-art{width:100%;height:clamp(80px,25cqi,132px);max-height:100%;min-height:0;overflow:visible;pointer-events:none;fill:none;stroke:var(--ink);stroke-linecap:round;stroke-linejoin:round}.secret-heart-echo{stroke-width:1.4px;opacity:.18}.secret-heart-highlight{stroke:var(--tile);stroke-width:3px;transform:translateY(1px);opacity:.7}.secret-heart-line,.secret-heart-tail{stroke-width:2.4px;stroke-dasharray:1;stroke-dashoffset:0}.pass-card[data-side=back] .secret-heart-line{animation:secret-draw 1s .18s both cubic-bezier(.22,1,.36,1)}.pass-card[data-side=back] .secret-heart-tail{animation:secret-draw .6s .8s both ease-out}.pass-secret-caption{font-size:clamp(12px,3.15cqi,15px);line-height:1.45;color:var(--muted);letter-spacing:-.1px}.pass-secret-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid rgb(81 53 154 / 12%);box-shadow:0 -1px #fffbf666;font-size:clamp(12px,3.15cqi,15px);line-height:1.5;font-weight:500;letter-spacing:-.2px}@keyframes secret-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.card-sheen{position:absolute;inset:0;border-radius:inherit;pointer-events:none}.pass-bottom{margin-top:8px}.pass-top,.pass-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.pass-label{color:var(--ink);font-size:clamp(14px,3.65cqi,19px);line-height:1.4;letter-spacing:-.28px;font-weight:600}.pass-expiry{font-size:clamp(11px,2.9cqi,15px);line-height:1.45;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.pass-main{display:grid;grid-template-columns:minmax(0,.46fr) minmax(0,.54fr);gap:12px;height:clamp(136px,35.6cqi,200px);flex-shrink:0;align-items:center}.pass-balance{display:flex;flex-direction:column;justify-content:center;gap:0;height:100%}.pass-balance-label{font-size:clamp(11px,2.9cqi,15px);line-height:1.45;font-weight:500;color:var(--muted)}.count-line{display:flex;gap:8px;align-items:baseline;white-space:nowrap}.pass-count{display:inline-block;font-size:clamp(80px,23cqi,128px);line-height:1;letter-spacing:-.05em;font-weight:550;font-variant-numeric:lining-nums tabular-nums}.pass-count[data-digits="2"]{font-size:clamp(56px,17.8cqi,100px)}.pass-count[data-digits="3"]{font-size:clamp(36px,11cqi,64px);letter-spacing:-.04em}.count-line:has([data-digits="2"]){gap:6px}.count-line:has([data-digits="2"]) .pass-total{font-size:clamp(18px,5.2cqi,28px)}.count-line:has([data-digits="3"]) .pass-total{font-size:clamp(16px,4.2cqi,22px)}.pass-total{font-size:clamp(18px,5.8cqi,32px);line-height:1.25;letter-spacing:-.66px;color:var(--muted);font-variant-numeric:tabular-nums}.pass-unit{font-size:clamp(12px,3.4cqi,18px);line-height:1.4;letter-spacing:-.13px;white-space:nowrap}.pass-illustration{width:100%;height:100%;min-height:0;object-fit:contain}.visit-capsules{display:flex;justify-content:space-between;gap:8px;height:clamp(8px,2.1cqi,10px);flex-shrink:0}.visit-capsules span{flex:1 1 0;max-width:clamp(35px,9.2cqi,56px);height:100%;min-width:0;border-radius:999px;background:var(--ink);transition:opacity .42s ease,background-color .42s ease}.visit-capsules .used{opacity:.2}.pass-bottom .caption{font-size:clamp(10px,2.9cqi,15px);line-height:1.45}.section-label{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:36px}.section-label h2{font-size:18px;line-height:24px;font-weight:700}.section-label .text-link{flex-shrink:0}.next-class{gap:16px}.class-card{position:relative;padding:16px;display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%;text-align:left;color:var(--ink)}.class-card.booked:disabled{opacity:1;cursor:progress}.class-header{display:flex;gap:16px;align-items:flex-start}.class-date{width:48px;flex-shrink:0;display:flex;flex-direction:column;gap:4px}.class-date strong{font-size:34px;line-height:34px;letter-spacing:-1.36px}.class-date span{font-size:11px;line-height:15px;color:var(--muted)}.class-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.class-time-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.class-time-row strong{font-size:28px;line-height:30px;letter-spacing:-1.12px}.class-time-row .caption{flex-shrink:0}.class-details h3{font-size:14px;line-height:20px;font-weight:400;overflow-wrap:anywhere}.class-details .caption{overflow-wrap:anywhere}.class-action{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}.cancel-caption{overflow-wrap:anywhere}.studio-link{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;min-height:44px;padding:3px 0}.studio-link>span{flex:1;font-size:15px;line-height:21px}.studio-link .design-icon:first-child{margin-top:4px}.studio-link .design-icon:last-child{align-self:center}.studio-link small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:15px}.empty-pass{display:flex;flex-direction:column;gap:16px;padding:24px;background:var(--peach)}.empty-pass h2{font-size:44px;line-height:44px;letter-spacing:-1.76px}.empty-next{padding:20px;display:flex;flex-direction:column;gap:8px}.plan-options{display:flex;flex-direction:column;gap:8px;isolation:isolate;position:relative}.plan-option{min-height:112px;width:100%;position:relative;display:flex;align-items:center;gap:16px;padding:16px;text-align:left;color:var(--ink);transition:background-color .56s cubic-bezier(.22,1,.36,1),border-color .48s ease,box-shadow .48s ease}.plan-option.selected{background:var(--peach);border-color:#51359a1f}.plan-count{width:52px;flex-shrink:0;font-size:56px;line-height:56px;letter-spacing:-2.24px}.plan-description{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0;font-size:15px;line-height:21px}.plan-description small,.plan-cost small{font-size:11px;line-height:15px;color:var(--muted)}.plan-cost{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.plan-cost strong{font-size:24px;line-height:26px;letter-spacing:-.96px;white-space:nowrap}.plan-cost small{color:var(--ink)}.plan-selected-label{opacity:0;translate:0 3px;transition:opacity .36s ease,translate .42s cubic-bezier(.22,1,.36,1)}.selected .plan-selected-label{opacity:1;translate:0 0}.history-link{font-size:12px;line-height:18px;min-height:32px}.pass-history{border-top:1px solid var(--line);padding-top:16px;font-size:14px}.disclosure-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;cursor:pointer;min-height:44px}.disclosure-toggle>span{display:flex}.motion-collapse{overflow:hidden}.class-list,.admin-section,.legal-document-body{display:flex;flex-direction:column;gap:16px;min-width:0}.schedule-loading{min-height:180px}.schedule-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px}.week-controls{display:flex;align-items:center;gap:0}.week-controls button{display:grid;place-items:center;width:28px;height:38px;position:relative;flex-shrink:0}.week-controls button:after{content:"";position:absolute;inset:0 -8px}.week-controls .eyebrow{white-space:nowrap;letter-spacing:0;font-size:10px}.pass-brief{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:40px}.pass-brief>.caption{min-width:0}.pass-brief .text-link{flex-shrink:0;margin-left:auto}.pass-brief .design-icon{width:12px;height:12px}.week-strip{display:flex;align-items:center;justify-content:space-between;gap:4px}.week-strip button{display:flex;flex:1;max-width:48px;min-width:0;height:58px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:16px}.week-strip span{font-size:11px;line-height:15px;color:var(--muted);text-transform:capitalize}.week-strip strong{font-size:18px;line-height:22px;font-weight:500}.week-strip .selected{background:var(--ink);color:var(--paper)}.week-strip .selected span{color:var(--paper)}.class-group{display:flex;flex-direction:column;gap:12px}.class-day-label{font-size:14px;line-height:20px;text-transform:none}.class-day-label:first-letter{text-transform:uppercase}.cancellation-note{display:flex;gap:8px;align-items:center}.cancellation-note .design-icon{width:16px;height:16px}.cancellation-note p{font:inherit}.empty-state{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:16px;padding:24px;font-size:14px;line-height:21px}.back-link{min-height:28px;font-size:13px}.info-card{padding:20px;display:flex;flex-direction:column;gap:16px}.route-media-inner{display:flex;flex-direction:column;gap:12px}.route-media-inner img,.route-media-inner video{width:100%;height:auto;border-radius:16px;display:block}.legal-links{display:flex;gap:16px;flex-wrap:wrap;font-size:11px}.legal-links a{display:flex;align-items:center;min-height:44px}.payment-card{padding:20px;display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start;justify-content:space-between}.payment-card strong{font-size:15px;line-height:21px}.payment-card .caption{margin-top:4px}.payment-actions{display:flex;flex-direction:column;gap:16px;width:100%}.payment-actions .text-link{min-height:32px}.admin-entry{margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}.admin-entry button{min-height:32px}.quick-adjustment{display:grid;gap:12px}.customer-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.customer-card-heading h2{min-width:0;overflow-wrap:anywhere}.customer-card-heading .text-link{min-height:32px;flex-shrink:0}.moderation-confirm,.offline-selected-customer{padding:18px;border:1px solid var(--line);border-radius:22px;background:var(--paper)}.moderation-bookings{padding-left:18px;font-size:14px;line-height:1.5}.moderation-history summary{cursor:pointer;font-size:13px;color:var(--muted)}.offline-owner-choice{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:4px;overflow-wrap:anywhere}.offline-owner-choice small{font-size:11px;color:var(--muted)}.offline-link-note{max-width:40ch;margin-top:6px}.pending-link-card h2{font-size:clamp(28px,8vw,40px);line-height:1.1}.pass-link-hint{display:grid;gap:12px;padding:20px}.quick-adjustment-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quick-adjustment-actions .secondary-button{min-width:0;min-height:54px;padding:14px 12px;gap:8px;font-size:16px;white-space:nowrap}.adjustment-notice{min-height:21px}@media(max-width:370px){.quick-adjustment-actions{gap:8px}.quick-adjustment-actions .secondary-button{padding-inline:8px;gap:6px;font-size:14px}}.admin-tabs,.adjustment-mode{display:flex;gap:4px;background:#51359a0d;border-radius:24px;padding:4px}.admin-tabs button,.adjustment-mode button{flex:1;padding:10px 8px;border-radius:20px;min-height:44px;font-size:13px;line-height:18px;display:flex;justify-content:center;align-items:center;gap:6px}.admin-tabs{overflow-x:auto;scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.admin-tabs button{flex:1 0 auto;white-space:nowrap;padding-inline:14px}.prices-intro{display:grid;gap:10px}.price-editor-card{display:grid;gap:14px}.price-editor-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.price-editor-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.price-editor-controls input{min-width:0;width:100%;font-variant-numeric:tabular-nums;font-size:24px}.price-editor-controls .primary-button{width:auto;min-height:54px;padding:14px 20px;font-size:14px}@media(max-width:370px){.price-editor-controls{grid-template-columns:minmax(0,1fr)}.price-editor-controls .primary-button{width:100%}}.admin-tabs .selected,.adjustment-mode .selected{background:var(--ink);color:var(--paper)}.search-field{display:flex;align-items:center;gap:8px;padding-left:16px;border:1px solid var(--line);border-radius:20px;background:var(--tile)}.search-field input{border:0;background:transparent;min-width:0;width:100%;padding:16px 12px 16px 0;outline-offset:0;font-size:13px;color:var(--ink)}.customer-card{display:flex;flex-direction:column;padding:20px;gap:8px}.customer-card h2{font-size:18px;overflow-wrap:anywhere}.customer-pass{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:16px;margin-top:8px}.customer-pass>div{flex:1;min-width:0}.customer-pass strong{font-size:14px}.customer-pass .caption{margin-top:4px}.customer-balance{font-size:32px;line-height:34px}.customer-pass .text-link{min-height:44px}.form-card label{display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:20px;min-width:0}.form-card input{min-width:0;width:100%;border:1px solid rgb(81 53 154 / 20%);background:var(--paper);border-radius:16px;padding:12px;min-height:48px;color:var(--ink);font-size:16px;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.form-card input:focus{background:var(--tile);border-color:#51359a6b}.form-card input::placeholder{color:var(--muted);font-size:13px}.form-card.tile{padding:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.offline-owner-hint{margin-top:-6px}.offline-pass-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offline-owner-name .disclosure-toggle{width:100%;font-size:13px;color:var(--muted)}.offline-owner-name .form-grid{padding:10px 0 4px}.purchase-date-field{display:grid;gap:8px}.purchase-date-trigger{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:12px 16px;border:1px solid rgb(81 53 154 / 20%);background:var(--paper);border-radius:18px;text-align:left;font-size:16px;transition:background-color .2s ease,border-color .2s ease}.purchase-date-trigger[aria-expanded=true]{background:var(--tile);border-color:var(--ink)}.purchase-date-trigger span{flex:1;min-width:0;white-space:nowrap}.purchase-date-trigger svg{flex-shrink:0}.purchase-date-trigger svg:last-child{transition:rotate .24s ease}.purchase-date-trigger .is-open{rotate:180deg}.purchase-date-calendar{margin-top:2px;padding:16px 12px 8px;border:1px solid var(--line);border-radius:24px;background:var(--paper)}.purchase-date-calendar .calendar-date-only .calendar-day{height:42px;border-radius:14px;padding:0}.offline-validity{display:grid;gap:4px;padding:15px 18px;border-radius:18px;background:#ffd5b16b}.offline-validity strong{font-size:16px;font-weight:500}.form-error{color:var(--ink);font-size:13px;line-height:19px;border-left:3px solid var(--ink);padding-left:12px}.rule-summary{padding-top:16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.rule-summary p{font-size:14px}.balance-preview{display:flex;align-items:baseline;gap:12px;margin:12px 0 20px}.balance-preview strong{font-size:48px;line-height:48px;font-weight:400;letter-spacing:-1.92px}.history-item{display:flex;flex-direction:column;gap:6px;padding-block:14px;border-bottom:1px solid var(--line);font-size:14px;line-height:20px;overflow-wrap:anywhere}.history-item small{color:var(--muted);font-size:11px;line-height:15px}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stats-grid article{padding:16px;display:flex;flex-direction:column;gap:8px}.stats-grid strong{font-size:24px;letter-spacing:-.96px;overflow-wrap:anywhere}.admin-payment{display:flex;flex-direction:column;gap:16px;padding:20px}.notice{position:fixed;z-index:50;left:50%;bottom:max(16px,var(--app-safe-bottom));width:calc(100% - 32px);max-width:398px;display:flex;align-items:flex-start;gap:8px;padding:16px;border-radius:20px;border:1px solid var(--line);background:var(--tile);box-shadow:0 8px 32px #51359a29}.notice p{font-size:13px;line-height:19px;flex:1}.notice button{width:28px;height:28px;display:grid;place-items:center;flex-shrink:0}.modal{position:fixed;inset-block:var(--app-safe-top) var(--app-safe-bottom);margin:auto;max-width:410px;width:calc(100% - 32px);max-height:calc(100svh - 48px - var(--app-safe-top) - var(--app-safe-bottom));overflow-y:auto;border:1px solid var(--line);border-radius:28px;padding:28px 24px;background:var(--tile);color:var(--ink);box-shadow:0 20px 64px #51359a24}.modal::backdrop{background:#51359a24;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:backdrop-enter .24s ease both}.modal[data-closing=true]::backdrop{animation:backdrop-exit .16s ease both}.modal h2{overflow-wrap:anywhere;padding-right:24px;margin-bottom:20px;font-size:28px;line-height:30px;letter-spacing:-1.12px}.modal h3{margin-top:20px}.modal-close{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%}.onboarding-shell{max-width:560px;padding:calc(32px + var(--app-safe-top)) 24px max(32px,var(--app-safe-bottom))}.onboarding-gate{display:flex;flex-direction:column;gap:16px}.onboarding-gate h1{font-size:36px;line-height:38px}.onboarding-mark{display:grid;place-items:center;width:48px;height:48px;background:var(--peach);border-radius:16px}.onboarding-primary{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;min-height:52px;background:var(--ink);color:var(--paper);border-radius:26px;box-shadow:var(--button-shadow)}.onboarding-phone-form{display:flex;flex-direction:column;gap:12px}.onboarding-phone-form input{width:100%;padding:14px 16px;border:1px solid var(--line);background:var(--tile);border-radius:18px;color:var(--ink)}.onboarding-phone-form button:not(.onboarding-primary){min-height:48px;background:var(--tile);border:1px solid var(--line);border-radius:24px}.legal-shell{max-width:840px;margin-inline:auto;padding:calc(24px + var(--app-safe-top)) 24px max(24px,var(--app-safe-bottom))}.legal-poster-topbar{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:28px}.legal-poster-topbar button{min-height:44px;font-size:13px;color:var(--muted)}.legal-poster-topbar .active{color:var(--ink);border-bottom:2px solid var(--ink)}.legal-kicker{text-transform:uppercase;font-size:11px;letter-spacing:.66px;margin-bottom:16px}.legal-content{display:flex;flex-direction:column;gap:16px;margin-top:28px}.legal-content h3{margin-top:16px;font-size:21px;line-height:26px}.legal-content p,.legal-content li{font-size:15px;line-height:24px}.legal-content ul{padding-left:20px;margin:0}.legal-loading{display:grid;place-items:center;min-height:200px}.spin{animation:spin 1s linear infinite;flex-shrink:0}.page-content>.page-stack>:not(.class-list,.admin-section),.page-content>.admin-entry{animation:page-block-enter .38s 32ms cubic-bezier(.22,1,.36,1) backwards;transform-origin:50% 0}.page-content>.page-stack>:is(h1,.eyebrow,.schedule-heading,.back-link,.pass-brief,.week-strip,.admin-tabs,.cancellation-note,.caption,.legal-links){animation:page-heading-enter .16s ease-out backwards}.page-content>.home-page>:is(.pass-wrap,.empty-pass),.page-content>.plans-page>.plan-options{animation-delay:0ms}.modal .page-stack>*{animation:item-enter .42s cubic-bezier(.22,1,.36,1) backwards}.design-icon{transition:translate .26s cubic-bezier(.22,1,.36,1)}@media(hover:hover)and (pointer:fine){.primary-button:hover:not(:disabled){background-color:#472c8d}.secondary-button:hover:not(:disabled),.modal-close:hover{background-color:#51359a0d}.text-link:hover .design-icon,.primary-button:hover .design-icon,.studio-link:hover .design-icon:last-child{translate:3px 0}}@keyframes page-block-enter{0%{opacity:0;translate:0 8px;scale:.985}to{opacity:1;translate:0 0;scale:1}}@keyframes page-heading-enter{0%{opacity:0}to{opacity:1}}@keyframes item-enter{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@keyframes backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes backdrop-exit{0%{opacity:1}to{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:600px){.app-header{padding-inline:32px;padding-top:calc(20px + var(--app-safe-top));gap:16px}.page-content{padding:24px 32px 40px}.page-stack{gap:24px}.home-page{max-width:640px;margin-inline:auto}.greeting{font-size:36px;line-height:1.1}.display-heading{font-size:72px;line-height:.98}.info-page,.payments-page{max-width:720px;margin-inline:auto}.admin-page{max-width:880px;margin-inline:auto}.week-strip button{max-width:64px;height:64px}}@media(min-width:700px){.plan-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.plan-option{flex-direction:column;align-items:flex-start;min-width:0;min-height:280px;gap:16px;padding:24px}.plan-count{width:auto;font-size:72px;line-height:1}.plan-description{flex:0}.plan-cost{margin-top:auto;align-items:flex-start}.plans-page>.primary-button{max-width:360px}.class-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px}.class-list>.empty-state{grid-column:1 / -1}}@media(min-width:900px){.app-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,400px);align-items:center;gap:40px;padding-bottom:16px}.brand-row{padding-inline:0}.home-page{display:grid;max-width:none;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"greeting greeting" "pass next" "pass action" "pass studio";align-items:start;align-content:start;column-gap:32px;row-gap:20px}.home-page>.greeting{grid-area:greeting;margin-bottom:4px}.home-page>:is(.pass-wrap,.empty-pass){grid-area:pass;min-width:0}.home-page>.next-class{grid-area:next;gap:16px}.home-page>.primary-button{grid-area:action}.home-page>.studio-link{grid-area:studio}.admin-page .form-card{max-width:640px}}@media(max-width:400px){.app-header,.page-content{padding-inline:20px}.plan-count{width:40px;font-size:48px}.plan-option{gap:12px}.plan-cost strong{font-size:21px;line-height:24px}.plan-description{font-size:14px}.plan-description small{font-size:10px}.schedule-heading h1{font-size:30px;line-height:34px}.week-controls .eyebrow{font-size:9px}.class-time-row strong{font-size:26px}.class-header{gap:12px}.class-time-row .caption{font-size:10px}.section-label h2{font-size:17px}}@media(max-width:350px){.app-header,.page-content{padding-inline:16px}.brand-row{gap:12px}.brand-caption{font-size:12px;line-height:18px}.count-line{gap:6px}.class-header{gap:8px}.class-time-row{gap:4px}.class-time-row .caption{font-size:9px}.plan-cost strong{font-size:19px}.plan-option{gap:8px}.week-controls button{width:24px}.form-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.001ms!important}}.schedule-fields{border:0;padding:0;margin:0;min-width:0}.form-card textarea,.form-card select{width:100%;min-width:0;border:1px solid rgb(81 53 154 / 20%);background:var(--paper);color:var(--ink);border-radius:16px;padding:12px;min-height:48px;font:inherit;font-size:16px}.form-card textarea{resize:vertical}.form-card input:disabled{opacity:.6}.class-note{overflow-wrap:anywhere;white-space:pre-wrap;margin-top:16px}.payment-proof,.payment-reference{width:100%;display:grid;gap:8px;overflow-wrap:anywhere}.payment-reference code,.payment-proof code{font:inherit;-webkit-user-select:all;user-select:all}.refund-form{gap:20px}.refund-form label{display:grid;gap:8px}.refund-form .refund-agreement{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.5}.refund-agreement input[type=checkbox]{appearance:auto;width:20px;height:20px;min-height:20px;margin:2px 0 0;flex-shrink:0;accent-color:var(--purple)}.refund-form .refund-agreement{flex-direction:row}.refund-form .caption{font-size:13px;line-height:1.5}.refund-form .primary-button{white-space:normal;min-height:52px;height:auto;text-align:center}.form-card .form-check{display:flex;flex-direction:row;align-items:center;gap:12px;font-size:14px;line-height:1.5}.form-check input[type=checkbox],.migration-selection input{appearance:auto;width:20px;height:20px;min-height:20px;flex-shrink:0;accent-color:#51359a;margin:0}.pass-validity-editor{padding-bottom:24px;border-bottom:1px solid var(--line)}.migration-toolbar{display:grid;gap:12px;position:sticky;top:calc(var(--migration-header-height, 148px) + 8px);z-index:2;background:var(--paper);padding:12px 0}.migration-row{display:flex;align-items:flex-start;gap:14px;padding:20px;border:1px solid var(--line)}.migration-row.is-selected{border-color:#51359a;background:#f3eee8}.migration-selection{padding-top:3px;display:flex;cursor:pointer}.migration-person{display:grid;gap:8px;min-width:0;flex:1;overflow-wrap:anywhere}.migration-person h3{font-size:18px;line-height:1.25}.migration-person details{padding-top:6px}.migration-person summary{cursor:pointer;min-height:24px}.migration-editor .caption{font-size:13px;line-height:1.5}.migration-editor .primary-button{white-space:normal}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.schedule-toolbar .primary-button,.schedule-toolbar .secondary-button{width:auto;min-height:48px;padding:14px 20px;white-space:nowrap;font-size:14px}.date-calendar{--calendar-accent: #ffdab7;width:100%;min-width:0}.calendar-month-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:20px}.calendar-month-bar h3{margin:0;font-size:22px;line-height:28px;letter-spacing:-.65px;font-weight:600;text-align:center;text-transform:capitalize}.calendar-month-bar .calendar-arrow{width:40px;height:40px;flex:0 0 40px;border-radius:50%;display:grid;place-items:center;background:#51359a0d}.calendar-arrow:disabled{opacity:.3}.calendar-grid{width:100%}.calendar-weekdays,.calendar-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekdays{margin-bottom:8px}.calendar-weekdays [role=columnheader]{min-width:0;text-align:center;font-size:12px;color:var(--muted)}.calendar-weekdays span{display:grid;place-items:center;height:36px}.calendar-weekdays button{width:100%;min-height:36px;border-radius:12px;border:1px dashed rgb(81 53 154 / 20%);font-size:12px;font-weight:600}.calendar-row+.calendar-row{margin-top:4px}.calendar-row [role=gridcell]{min-width:0}.calendar-day{width:100%;height:68px;border-radius:18px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;padding:6px 0;position:relative;border:1px solid transparent;transition:background-color .22s ease,color .18s ease,border-color .18s ease}.calendar-number{font-size:17px;font-weight:500;line-height:20px}.calendar-day.has-classes{background:#51359a0a}.calendar-day.is-outside{opacity:.32}.calendar-day.is-today{border-color:#51359a59}.calendar-day.is-selected{background:var(--ink);color:var(--paper);opacity:1;border-color:var(--ink)}.calendar-day:disabled{opacity:.23}.calendar-day-detail{min-height:12px;display:flex;align-items:center;justify-content:center;gap:3px;font-size:10px;font-weight:500;line-height:12px;white-space:nowrap}.calendar-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:currentColor;flex-shrink:0}.calendar-day-detail.is-full{opacity:.45}.calendar-day-detail.is-booked .calendar-dot{background:#e1874d;width:5px;height:5px}.calendar-day.is-selected .calendar-day-detail.is-booked .calendar-dot{background:#ffdab7}.calendar-multiple .calendar-day.is-selected{background:var(--calendar-accent);color:var(--ink);border-color:transparent}.calendar-pick{min-height:12px}.calendar-foot{border-top:1px solid var(--line);padding-top:14px;margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:8px}.calendar-foot>span{color:var(--muted);font-size:11px;line-height:16px}.calendar-foot button{min-height:36px;padding:0 4px;font-size:12px;flex-shrink:0}.calendar-compact .calendar-day{height:44px;border-radius:13px;gap:2px}.calendar-compact .calendar-number{font-size:15px}.calendar-compact .calendar-month-bar h3{font-size:18px;line-height:24px}.calendar-compact .calendar-month-bar{margin-bottom:6px}.calendar-compact .calendar-foot{margin-top:10px;padding-top:8px}.calendar-compact .calendar-day-detail{min-height:7px}.calendar-compact .calendar-weekdays{margin-bottom:4px}.schedule-workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;align-items:start}.schedule-calendar-panel{padding:22px 18px 14px;min-width:0}.schedule-day-panel{min-width:0;gap:16px}.schedule-day-heading{display:flex;justify-content:space-between;align-items:center;min-height:58px;gap:12px}.schedule-day-heading .eyebrow{font-size:10px;margin-bottom:6px}.schedule-day-heading h3{font-size:26px;line-height:30px;font-weight:600;letter-spacing:-.7px}.schedule-add-day{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--paper);background:var(--ink);flex-shrink:0}.schedule-add-day:disabled{opacity:.3}.schedule-session{padding:22px;display:flex;flex-direction:column;gap:12px;overflow-wrap:anywhere}.schedule-session-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.schedule-session-top>strong{font-size:36px;line-height:40px;letter-spacing:-1.2px}.schedule-occupancy{display:flex;flex-direction:column;text-align:right;gap:2px;font-size:17px}.schedule-occupancy small{font-size:10px;color:var(--muted)}.schedule-session h4{font-size:17px;line-height:22px;font-weight:500}.schedule-session-actions{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:8px}.schedule-session-actions .text-link{min-height:36px;gap:6px;font-size:12px}.calendar-empty{padding:28px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}.calendar-empty-mark{width:48px;height:48px;border-radius:50%;background:#51359a0d;display:grid;place-items:center}.calendar-empty h4{font-size:19px;font-weight:500}.calendar-empty p{font-size:14px;line-height:21px}.calendar-empty span:not(.calendar-empty-mark){font-size:12px;line-height:18px;color:var(--muted)}.calendar-empty .text-link{min-height:40px;font-size:13px}.calendar-month-summary{text-align:center}.calendar-select-hint{display:flex;flex-direction:column;gap:8px;padding:0 6px 20px}.calendar-select-hint strong{font-size:18px;font-weight:500}.calendar-select-hint span{font-size:12px;color:var(--muted);line-height:18px}.selected-date-list{display:flex;flex-wrap:wrap;gap:6px;max-height:260px;overflow-y:auto;padding:2px}.selected-date-chip{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 12px;border-radius:20px;background:#ffdab7;font-size:12px}.calendar-batch-footer .primary-button{min-height:48px;padding:14px 16px;font-size:14px}.schedule-class-form.page-stack,.schedule-class-form .schedule-fields{gap:20px}.class-date-summary{display:flex;gap:12px;align-items:center;padding:16px;border-radius:20px;background:#51359a0d}.class-date-summary>div{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}.class-date-summary strong{font-size:17px;line-height:22px;font-weight:500}.class-date-summary span{font-size:12px;line-height:16px;color:var(--muted)}.class-date-summary .text-link{min-height:40px;font-size:12px}.class-time-field{display:flex;flex-direction:column;gap:10px}.class-time-field>span{font-size:13px}.class-time-input{display:flex;align-items:center;justify-content:center;gap:10px;padding:2px 20px;min-height:78px;border:1px solid var(--line);border-radius:22px;background:var(--paper)}.class-time-input select{width:82px;min-height:64px;appearance:none;-webkit-appearance:none;border:0;padding:4px;font-size:42px;font-weight:500;text-align:center;line-height:1.2;background:transparent;border-radius:12px;color:var(--ink);font-variant-numeric:tabular-nums}.class-time-input>span{font-size:34px;opacity:.4}.class-time-input select:disabled{opacity:.6}.class-time-presets{display:flex;justify-content:center;gap:8px}.class-time-presets button{min-height:36px;border-radius:20px;padding:6px 16px;background:#51359a0a;font-size:12px}.class-time-presets button[aria-pressed=true]{background:#ffdab7}.schedule-class-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.schedule-class-form .form-grid input{min-height:48px;padding:12px}.class-extra{border-top:1px solid var(--line);padding-top:4px}.class-extra>button{min-height:44px;font-size:14px}.class-extra .page-stack{gap:16px;padding-top:16px}.class-extra .caption{font-size:11px}.class-form-footer{position:sticky;bottom:-24px;margin:0 -2px -4px;padding:10px 2px 4px;background:linear-gradient(to bottom,transparent,var(--tile) 10px);z-index:1}.class-form-footer .primary-button{min-height:50px;font-size:15px;padding:14px 18px}.class-cancel-link{margin:-4px auto 0;min-height:40px}.client-calendar .date-calendar{padding:20px 16px 12px}.client-calendar .calendar-month-bar h3{font-size:20px}.client-calendar-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 12px;border-radius:20px;background:#51359a0d;font-size:12px}.client-week-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.client-week-heading>span{font-size:13px;text-align:center}.client-week-heading button{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--tile);flex-shrink:0}.client-week-heading button:disabled{opacity:.25}.week-strip button{position:relative}.week-strip button[data-empty=true]:not(.selected){opacity:.45}.week-strip button .week-day-mark{position:absolute;bottom:6px;height:4px;min-height:4px;width:4px;border-radius:50%;background:currentColor}.week-strip button[data-booked=true] .week-day-mark{background:#dc8d56;width:7px;height:4px;border-radius:3px}.week-strip button[data-today=true]:not(.selected){box-shadow:inset 0 0 0 1px #51359a38}@media(max-width:759px){.schedule-workspace{grid-template-columns:minmax(0,1fr);gap:24px}.schedule-calendar-panel{padding:18px 12px 10px}.schedule-day-panel{gap:14px}.calendar-day{height:60px;border-radius:16px}.calendar-month-bar{margin-bottom:12px}.calendar-month-bar h3{font-size:21px}.calendar-day-detail{gap:2px;font-size:9px}.calendar-batch-footer{position:sticky;bottom:12px;z-index:2}.calendar-empty{padding:24px}}@media(max-width:359px){.calendar-day{height:54px;border-radius:13px}.calendar-number{font-size:15px}.calendar-month-bar h3{font-size:18px}.calendar-weekdays,.calendar-row{gap:2px}.calendar-day-detail{font-size:8px}.class-date-summary{padding:12px;gap:8px}.class-date-summary>svg{display:none}.class-time-input{padding:2px 12px}.class-time-presets button{padding:6px 12px}}@media(hover:hover)and (pointer:fine){.calendar-day:hover:not(:disabled):not(.is-selected),.calendar-arrow:hover:not(:disabled),.calendar-weekdays button:hover{background:#51359a14}}@media(prefers-reduced-motion:reduce){.calendar-day{transition:none}}@media(max-width:759px){.schedule-toolbar{flex-direction:row;align-items:center;gap:10px}.schedule-toolbar>.caption{font-size:11px}.schedule-toolbar .primary-button,.schedule-toolbar .secondary-button{width:auto;min-height:44px;padding:12px 16px;font-size:12px}.calendar-day{height:52px}}@media(max-width:599px){.admin-tabs{display:flex}.admin-tabs button{font-size:12px;padding:8px 3px;min-height:44px}}@media(max-width:359px){.calendar-day{height:48px}.admin-tabs button{font-size:11px}}.studio-section-heading{display:flex;gap:24px;align-items:center;justify-content:space-between}.studio-section-heading p{margin-top:8px;max-width:460px}.studio-section-heading .primary-button{flex-shrink:0}.studio-admin-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:start;padding:24px}.studio-admin-card h3{margin:0 0 8px}.studio-admin-card p{margin:4px 0;overflow-wrap:anywhere}.studio-admin-card.is-archived{opacity:.65}.studio-media-editor{gap:12px}.studio-media-editor h3{margin:8px 0 0}.studio-media-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line, #e6deeb)}.studio-media-row label{min-width:0}.studio-media-row label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.studio-media-number{font-size:12px;opacity:.6}.studio-media-controls{display:flex;flex-direction:column;gap:2px}.studio-media-controls .icon-button{display:grid;place-items:center;width:36px;height:32px;border:0;background:transparent;color:inherit;border-radius:9px}.studio-upload-button{position:relative;display:flex!important;align-items:center;justify-content:center;flex-direction:row;gap:10px;border:1px dashed currentColor;padding:18px 12px;border-radius:20px;cursor:pointer}.studio-upload-button input[type=file]{position:absolute;width:100%;height:100%;opacity:0;inset:0;cursor:pointer;padding:0}.studio-upload-button:focus-within{outline:2px solid currentColor;outline-offset:3px}.studio-checkbox{display:flex!important;flex-direction:row;align-items:flex-start;gap:12px;font-size:14px}.studio-checkbox input[type=checkbox]{width:20px;height:20px;margin:0;flex-shrink:0;accent-color:#5535a0}.studio-checkbox p{margin:6px 0 0}.studio-route-title{overflow-wrap:anywhere}.studio-route-address{display:flex;gap:10px;align-items:flex-start}.studio-route-address svg{flex-shrink:0;margin-top:2px}.studio-directions{white-space:pre-wrap;overflow-wrap:anywhere}.studio-class-context{padding-bottom:20px;border-bottom:1px solid var(--line, #e6deeb)}.studio-class-context h2{margin:8px 0}.studio-choice{display:flex;gap:18px;text-align:left;align-items:center;padding:24px;width:100%;color:inherit}.studio-choice span{flex:1;min-width:0}.studio-choice strong,.studio-choice small{display:block}.studio-choice small{margin-top:6px;opacity:.65;font-size:14px;overflow-wrap:anywhere}.studio-route figure{margin:0}.studio-route figcaption{margin:8px 0 16px}.studio-route .route-media-inner img,.studio-route .route-media-inner video{display:block;width:100%;max-height:560px;object-fit:contain;border-radius:16px}.class-route-link{align-self:flex-start;margin:10px 18px 0;font-size:14px}.class-address{line-height:1.5;overflow-wrap:anywhere;margin-top:5px}.roster-open{margin-top:16px}.roster-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:#f0eaf4;border-radius:24px;padding:20px 12px}.roster-totals div{display:flex;flex-direction:column;gap:6px;text-align:center}.roster-totals strong{font-size:36px;line-height:1}.roster-totals span{font-size:12px;opacity:.7}.roster-capacity{display:grid;grid-template-columns:56px minmax(0,1fr) 56px;gap:12px;align-items:center}.roster-capacity input{min-width:0;width:100%;text-align:center;font-size:24px;padding:12px;border:1px solid #d6cce1;border-radius:20px;background:transparent;color:inherit}.roster-capacity button{padding:16px 0;min-width:0}.roster-list{padding:0;margin:0;list-style:none}.roster-list li{display:flex;gap:16px;align-items:center;border-bottom:1px solid #e6deeb;padding:18px 0}.roster-list li>div{flex:1;min-width:0;overflow-wrap:anywhere}.roster-list li p{margin:4px 0 0}.roster-index{font-size:12px;opacity:.5}.roster-empty{padding:24px;text-align:center}@media(max-width:600px){.studio-section-heading{flex-direction:column;align-items:stretch;gap:16px}.studio-admin-card{gap:12px;padding:20px}.studio-admin-card>.text-link{grid-column:2;justify-self:start}.studio-media-row input{padding:12px!important}.studio-choice{padding:20px}}
