/* App-owned CI. Centralised tokens; no Shopify or Zoom document styles. */
@font-face{font-family:Jost;src:url('/brand-assets/jost-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Jost;src:url('/brand-assets/jost-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Jost;src:url('/brand-assets/jost-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
.uniti-app{
 --ci-font:Jost,sans-serif;--ci-ink:#2b364e;--ci-paper:#fff;--ci-soft:#f3f3f3;
 --ci-border:#cacdd3;--ci-lavender:#a197b0;--ci-radius:0px;
 /* App-specific derived surfaces and semantic colours, not claimed as brand tokens. */
 --ci-event:#f1eff4;--ci-selected:#e6e1eb;--ci-muted:#596274;
 --ci-wait:#fff8e7;--ci-error:#a32e25;--ci-error-surface:#fff0ee;
 --ci-space-1:4px;--ci-space-2:8px;--ci-space-3:16px;--ci-space-4:24px;--ci-space-5:32px;
 margin:0;background:var(--ci-paper);color:var(--ci-ink);font:400 16px/1.6 var(--ci-font);
}
.uniti-app main{padding:24px 32px;max-width:1440px;margin:auto}
.uniti-app p{max-width:none}
.uniti-app h1,.uniti-app h2,.uniti-app h3{font-family:var(--ci-font);font-weight:500}
.uniti-app h1{font-size:32px;line-height:1.2;margin:2px 0 0}
.uniti-app h2{font-size:23px;margin:0}.uniti-app h3{font-size:22px;margin:0 0 8px}
.uniti-app .preview-label{font-size:11px;letter-spacing:1px;color:var(--ci-muted);border-bottom:1px solid var(--ci-border);margin:0;padding:0 0 12px}
.uniti-app .app-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:24px 0}
.uniti-app .app-heading>p{color:var(--ci-muted);margin:0;font-size:15px}
.uniti-app .eyebrow{font-size:11px;letter-spacing:1.4px;margin:0;color:var(--ci-muted)}
.uniti-app section{border:0;border-radius:var(--ci-radius);background:var(--ci-paper);padding:0;margin:0}
.uniti-app summary{font-size:15px;min-height:44px;padding:10px 0;cursor:pointer}
.uniti-app .section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.uniti-app .sample-tag{font-size:11px;letter-spacing:.5px;padding:4px 10px;background:var(--ci-soft);border:1px solid var(--ci-border)}
.uniti-app #zone{font-size:13px;color:var(--ci-muted);margin:4px 0 16px}
.uniti-app button,.uniti-app input{font:400 14px/1 var(--ci-font);border:1.5px solid var(--ci-ink);border-radius:var(--ci-radius);min-height:44px;padding:12px 16px}
.uniti-app button{background:var(--ci-ink);color:var(--ci-paper);letter-spacing:.6px}
.uniti-app button:hover:not(:disabled){background:var(--ci-muted)}
.uniti-app button:disabled{opacity:.45;cursor:default}
.uniti-app button:focus,.uniti-app input:focus,.uniti-app summary:focus-visible{outline:2px solid var(--ci-ink);outline-offset:3px}
.uniti-app input{background:var(--ci-paper);color:var(--ci-ink);font-size:16px;line-height:1.2;border-color:var(--ci-border);padding:13px 15px}
.uniti-app .calendar-toolbar{gap:8px;margin:8px 0;display:inline-flex;margin-right:16px}
.uniti-app .calendar-toolbar button{background:var(--ci-paper);color:var(--ci-ink);font-size:13px;padding:10px 14px;border-color:var(--ci-border)}
.uniti-app .calendar-toolbar button[aria-pressed=true]{background:var(--ci-ink);color:var(--ci-paper);outline:0;border-color:var(--ci-ink)}
.uniti-app .calendar-note{color:var(--ci-muted);font-size:12px;margin:8px 0 12px}
.uniti-app .calendar-tabs{gap:0;border-bottom:1px solid var(--ci-border);padding:0;margin:0 0 12px}
.uniti-app .calendar-tabs button{background:var(--ci-paper);color:var(--ci-ink);border:0;border-bottom:3px solid transparent;padding:12px 18px;font-size:13px;letter-spacing:0}
.uniti-app .calendar-tabs button[aria-pressed=true]{outline:0;border-bottom-color:var(--ci-ink);background:var(--ci-soft)}
.uniti-app .calendar-scroll{border-color:var(--ci-border);border-radius:var(--ci-radius);background:var(--ci-paper)}
.uniti-app .calendar-grid{width:100%;grid-template-columns:54px repeat(var(--days),minmax(130px,1fr))}
.uniti-app .calendar-axis,.uniti-app .calendar-column,.uniti-app .calendar-day-heading,.uniti-app .calendar-gridline{border-color:var(--ci-border)}
.uniti-app .calendar-day-heading{background:var(--ci-soft);color:var(--ci-ink);font-weight:500;text-align:center;font-size:13px}
.uniti-app .calendar-hour{color:var(--ci-muted)}
.uniti-app .calendar-event{background:var(--ci-event);color:var(--ci-ink);border:1px solid var(--ci-border);border-left:3px solid var(--ci-lavender);border-radius:var(--ci-radius);font-size:12px;letter-spacing:0;line-height:1.35;padding:7px;min-height:80px}
.uniti-app .calendar-event:hover:not(:disabled),.uniti-app .calendar-event[aria-expanded=true]{background:var(--ci-selected);color:var(--ci-ink);border-left-color:var(--ci-ink)}
.uniti-app .calendar-event strong{font-weight:500}
.uniti-app .calendar-details{padding:20px;border:1px solid var(--ci-border);border-left:3px solid var(--ci-lavender);background:var(--ci-soft);margin:12px 0 16px;border-radius:var(--ci-radius)}
.uniti-app .calendar-details p{font-size:14px;margin:4px 0}.uniti-app .calendar-details button{margin-top:12px;width:auto}
.uniti-app .calendar-details:focus{outline:none}.uniti-app .calendar-details:focus-visible{outline:2px solid var(--ci-ink)}
.uniti-app .calendar-empty-message{background:var(--ci-paper);color:var(--ci-ink);font-weight:500}
.uniti-app .join-panel{margin-top:24px;padding:20px 0;border-top:1px solid var(--ci-border)}
.uniti-app .join-panel>p{font-size:13px;color:var(--ci-muted)}
.uniti-app #join{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:16px;max-width:none}
.uniti-app label{font-size:14px;margin:8px 0}.uniti-app #join button{margin-bottom:8px;min-height:48px;text-transform:uppercase;font-size:13px}
.uniti-app .form-note{font-size:12px!important}
.uniti-app .viewer-preview{border:1px solid var(--ci-border);margin:8px 0 24px}
.uniti-app .viewer-tools{padding:8px 12px;background:var(--ci-soft);justify-content:space-between}
.uniti-app .status{margin:0;font-size:14px}.uniti-app .status span{display:block;color:var(--ci-muted);font-size:12px}
.uniti-app .viewer-tools button{font-size:12px;min-height:44px;padding:10px}
.uniti-app .viewer-note{padding:24px;text-align:center;color:var(--ci-muted);font-size:13px}
.uniti-app .state-examples{border-top:1px solid var(--ci-border)}
.uniti-app .example-empty{border:1px solid var(--ci-border)}.uniti-app .example-empty>span{display:block;background:var(--ci-soft);padding:8px 12px;font-size:13px}
.uniti-app .example-empty>p{display:grid;place-items:center;min-height:240px;margin:0;font-weight:500}
.uniti-app .state{border-left:3px solid var(--ci-lavender);padding:12px 16px;background:var(--ci-soft);font-size:14px}
.uniti-app .waiting{background:var(--ci-wait)}.uniti-app .error{border-color:var(--ci-error);background:var(--ci-error-surface)}
.uniti-app .footnote{font-size:12px;color:var(--ci-muted);margin-top:20px}
@media(max-width:700px){
 .uniti-app main{padding:16px}.uniti-app h1{font-size:26px}.uniti-app .app-heading{display:block;padding:20px 0 12px}.uniti-app .app-heading>p{font-size:14px;margin-top:8px}
 .uniti-app .calendar-toolbar{display:flex;margin-right:0;gap:6px}.uniti-app .calendar-toolbar button{font-size:12px;padding:10px 12px}
 .uniti-app .calendar-tabs button{padding:12px 14px}.uniti-app .calendar-grid{grid-template-columns:44px repeat(var(--days),minmax(125px,1fr))}
 .uniti-app .calendar-grid.calendar-grid-blank{grid-template-columns:repeat(var(--days),minmax(125px,1fr))}
 .uniti-app #join{grid-template-columns:1fr;gap:0}.uniti-app #join button{margin:12px 0 0}.uniti-app h2{font-size:21px}
 .uniti-app .calendar-details{padding:16px}.uniti-app .preview-label{font-size:10px;letter-spacing:.6px}
}
.uniti-app .calendar-grid.calendar-grid-blank{grid-template-columns:repeat(var(--days),minmax(125px,1fr))}
/* Supplied studio identity and welcome photo; kept out of the workout viewer. */
.uniti-app .brand-heading{display:flex;align-items:center;gap:24px;min-width:0}
.uniti-app .studio-logo{display:block;width:84px;height:auto;flex:none;object-fit:contain}
.uniti-app .welcome-banner{display:grid;grid-template-columns:1fr minmax(280px,42%);height:190px;background:var(--ci-soft);margin:0 0 16px;overflow:hidden}
.uniti-app .welcome-copy{padding:28px 32px;align-self:center}
.uniti-app .welcome-copy>p:last-child{font-size:26px;font-weight:500;line-height:1.25;margin:8px 0 0}
.uniti-app .welcome-banner>picture img{display:block;width:100%;height:190px;object-fit:cover;object-position:50% 8%}
@media(max-width:700px){
 .uniti-app .brand-heading{gap:16px}.uniti-app .studio-logo{width:64px}
 .uniti-app .welcome-banner{grid-template-columns:1fr 44%;height:156px;margin-bottom:12px}
 .uniti-app .welcome-copy{padding:16px}.uniti-app .welcome-copy .eyebrow{font-size:9px;letter-spacing:1px}
 .uniti-app .welcome-copy>p:last-child{font-size:20px;line-height:1.25}
 .uniti-app .welcome-banner>picture img{height:156px;object-position:50% 25%}
}


.uniti-app .calendar-event{min-height:72px}.uniti-app .calendar-details .calendar-description{margin:16px 0}.uniti-app .introduction{max-width:920px;font-size:16px;line-height:1.6;margin:20px 0 24px}

/* Retain established embed layout/sizing and meeting lifecycle. */
.uniti-app.embed-page main{max-width:none;width:100%;padding:8px}

.uniti-app.embed-page main>.welcome-banner{flex-shrink:0}
.uniti-app.embed-page #join{margin:20px 0;gap:12px}
.uniti-app.embed-page #status{color:var(--ci-ink);background:var(--ci-soft);border-color:var(--ci-lavender)}
.uniti-app.embed-page #status[data-state=connected]{background:#e7f3eb;border-color:#28734e}
.uniti-app.embed-page #status[data-state=joining]{background:var(--ci-wait);border-color:#9b6c1c}
.uniti-app.embed-page #status[data-state=error]{background:var(--ci-error-surface);border-color:var(--ci-error)}
.uniti-app.embed-page #viewing-area{border-radius:0}
.uniti-app.embed-page #unlock-status:empty{display:none}
.uniti-app.embed-page [data-schedule-source]{color:var(--ci-muted);font-size:12px}
@media(max-width:600px){.uniti-app.embed-page main{padding:4px}.uniti-app.embed-page #join{gap:8px}}

.uniti-app .welcome-banner>picture{display:block;min-width:0;height:100%}
@media(min-width:701px){.uniti-app .welcome-banner>picture img{object-position:50% 58%}}

/* One cohesive identity/banner; never hide its nested heading during viewing. */
.uniti-app .welcome-banner{height:230px;grid-template-columns:minmax(0,1fr) 42%;grid-template-rows:auto 1fr;gap:0}
.uniti-app .welcome-banner>.app-heading{grid-column:1;grid-row:1;padding:24px 28px 8px;margin:0;display:block}
.uniti-app .welcome-banner .brand-heading{gap:18px}
.uniti-app .welcome-banner .studio-logo{width:72px;mix-blend-mode:multiply}
.uniti-app .welcome-banner h1{font-size:clamp(23px,2.4vw,32px);line-height:1.2}
.uniti-app .welcome-banner>.welcome-copy{grid-column:1;grid-row:2;padding:8px 28px 24px}
.uniti-app .welcome-copy>p:last-child{font-size:20px;font-weight:400;margin:0}
.uniti-app .welcome-banner>picture{grid-column:2;grid-row:1/3;min-height:230px}
.uniti-app .welcome-banner>picture img{height:230px;min-height:230px;object-fit:cover}
@media(max-width:700px){
 .uniti-app .welcome-banner{height:auto;grid-template-columns:1fr 44%;grid-template-rows:auto 156px}
 .uniti-app .welcome-banner>.app-heading{grid-column:1/-1;grid-row:1;padding:16px}
 .uniti-app .welcome-banner .studio-logo{width:56px}
 .uniti-app .welcome-banner h1{font-size:23px}
 .uniti-app .welcome-banner>.welcome-copy{grid-row:2;padding:16px}
 .uniti-app .welcome-banner>picture{grid-row:2;min-height:0}
 .uniti-app .welcome-banner>picture img{height:156px;min-height:0}
 .uniti-app .welcome-copy>p:last-child{font-size:19px}
}

/* Navy community panel; preserve the original side-by-side banner layout. */
.uniti-app .welcome-banner>.welcome-copy{background:var(--ci-ink);color:var(--ci-paper);align-self:stretch;display:flex;align-items:center;padding:16px 28px}
.uniti-app .welcome-copy>p:last-child{color:var(--ci-paper);font-size:20px;line-height:1.35}
@media(max-width:700px){
 .uniti-app .welcome-banner>.welcome-copy{padding:16px}
 .uniti-app .welcome-copy>p:last-child{font-size:19px}
}

/* Refined identity spacing and compact, single-line mobile phrases. */
@media(min-width:701px){
 .uniti-app .welcome-banner>.app-heading{padding-bottom:24px}
}
@media(max-width:700px){
 .uniti-app .welcome-banner .brand-heading{gap:10px}
 .uniti-app .welcome-banner .brand-heading>div{min-width:0}
 .uniti-app .welcome-banner .studio-logo{width:44px}
 .uniti-app .welcome-banner h1{font-size:clamp(14px,4.2vw,23px);white-space:nowrap}
 .uniti-app .welcome-banner>.welcome-copy{padding:12px 8px}
 .uniti-app .welcome-copy>p:last-child{font-size:clamp(12px,3.6vw,19px);line-height:1.4;white-space:nowrap}
}

@media(max-width:700px){
 .uniti-app .welcome-banner>.app-heading{padding:16px 10px}
 .uniti-app .welcome-banner .brand-heading{gap:8px}
 .uniti-app .welcome-banner .studio-logo{width:40px}
 .uniti-app .welcome-banner h1{font-size:clamp(16px,5vw,26px);letter-spacing:-.35px;white-space:nowrap}
 .uniti-app .welcome-banner>.welcome-copy{padding:12px 6px}
 .uniti-app .welcome-copy>p:last-child{font-size:clamp(13px,4.25vw,22px);letter-spacing:-.2px;line-height:1.4;white-space:nowrap}
}

/* Centre the message as a group while keeping its two lines left aligned. */
.uniti-app .welcome-banner>.welcome-copy{justify-content:center}
.uniti-app .welcome-copy>p:last-child{text-align:left;width:max-content}
@media(max-width:700px){
 .uniti-app .welcome-banner h1{font-size:clamp(17px,5.4vw,28px);letter-spacing:-.5px}
 .uniti-app .welcome-banner{grid-template-columns:60% 40%}
 .uniti-app .welcome-banner>.welcome-copy{padding:12px 4px}
 .uniti-app .welcome-copy>p:last-child{font-size:clamp(14px,4.65vw,23px);letter-spacing:-.3px}
}

.uniti-app .welcome-banner>.welcome-copy{justify-content:flex-start}
@media(max-width:700px){.uniti-app .welcome-banner>.welcome-copy{justify-content:center}}

.uniti-app .calendar-timezone select{border:1.5px solid var(--ci-border);border-radius:var(--ci-radius);background:var(--ci-paper);color:var(--ci-ink);font-family:var(--ci-font)}
.uniti-app .calendar-timezone-note{color:var(--ci-muted)}
.uniti-app .calendar-timezone select:focus-visible{outline:2px solid var(--ci-ink);outline-offset:3px}

/* Closing banner awaits the supplied source images becoming accessible. */
.uniti-app{--ci-status-soft:#e7ecf4;--ci-wait:#e7f3eb}
.uniti-app .closing-banner{display:grid;grid-template-columns:44% minmax(0,1fr);background:var(--ci-soft);border:0;margin:28px 0 0;padding:0;flex-shrink:0}
.uniti-app .closing-banner[hidden]{display:none}
.uniti-app .closing-banner picture{display:block;min-width:0}
.uniti-app .closing-banner img{display:block;width:100%;height:260px;object-fit:cover;object-position:40% 40%}
.uniti-app .closing-copy{padding:28px 32px;align-self:center;min-width:0}
.uniti-app .closing-copy h2{font-size:26px;line-height:1.25;margin:0 0 16px}
.uniti-app .closing-copy p{font-size:16px;line-height:1.6;margin:0}
.uniti-app .viewer-tools{background:var(--ci-status-soft)}
.uniti-app .waiting{background:var(--ci-wait);border-color:#28734e}
.uniti-app.embed-page #status[data-state=idle],.uniti-app.embed-page #status[data-state=closed]{background:var(--ci-status-soft)}
.uniti-app.embed-page #status[data-state=joining]{background:var(--ci-wait);border-color:#28734e}
.uniti-app.embed-page #join .join-explanation{grid-column:1/-1;order:-1;font-size:14px;margin-bottom:8px;max-width:760px}
@media(max-width:700px){
 .uniti-app .closing-banner{grid-template-columns:40% minmax(0,1fr)}
 .uniti-app .closing-banner picture{height:100%}
 .uniti-app .closing-banner img{height:100%;min-height:300px;object-position:50% 55%}
 .uniti-app .closing-copy{padding:20px 16px}
 .uniti-app .closing-copy h2{font-size:21px;margin-bottom:12px}
 .uniti-app .closing-copy p{font-size:14px;line-height:1.5}
}

.uniti-app .calendar-desktop .calendar-view-controls,.uniti-app .calendar-desktop-toolbar>.calendar-toolbar{margin:0}
.uniti-app .calendar-heading-block h2{margin:0 0 8px}
.uniti-app .calendar-heading-block p{margin:0;color:var(--ci-muted)}
.uniti-app .calendar-secondary-note{color:var(--ci-muted)}

/* Join introduction stays above the fields; the whole form still hides after joining. */
.uniti-app.embed-page #join #join-heading{grid-column:1/-1;order:-2;margin:0;font-size:24px}
.uniti-app.embed-page #join p.join-explanation{grid-column:1/-1;order:-1;font-size:14px;margin:0 0 8px;max-width:760px}
@media(max-width:700px){.uniti-app.embed-page #join #join-heading{font-size:21px}}

/* Mobile calendar accents only; dimensions and interaction stay unchanged. */
@media(max-width:700px){
 .uniti-app .calendar-day-heading{background:var(--ci-ink);color:var(--ci-paper);border-color:var(--ci-ink)}
 .uniti-app .calendar-tabs button[aria-pressed=true]{background:var(--ci-ink);color:var(--ci-paper);border-color:var(--ci-ink)}
}
.uniti-app .timezone-trigger{background:var(--ci-paper);color:var(--ci-ink);border:1.5px solid var(--ci-border);border-radius:var(--ci-radius);font-family:var(--ci-font);letter-spacing:normal;text-transform:none}
.uniti-app .timezone-search-panel input{font-family:var(--ci-font);border-radius:var(--ci-radius)}

/* Clear class status colours and readable class information. */
.uniti-app.embed-page #status[data-state=live],.uniti-app.embed-page #status[data-state=connected]{background:#e7f3eb;border-color:#28734e;color:#205b3d}
.uniti-app.embed-page #status[data-state=waiting],.uniti-app.embed-page #status[data-state=joining]{background:#e9f2fc;border-color:#326ba8;color:#234e7b}
.uniti-app.embed-page #status[data-state=left]{background:#fff3dc;border-color:#b47719;color:#80530c}
.uniti-app #live-class-summary{padding:16px 0;margin:12px 0}
.uniti-app #live-class-summary h2{margin:0 0 8px}
.uniti-app #live-class-summary[data-state=live] h2{color:#28734e}
.uniti-app #live-class-summary .live-class-title{font-weight:600;font-size:18px}
.uniti-app .field-error{display:block;color:#a12c30;font-size:14px;margin-top:6px}
.uniti-app .field-error[hidden]{display:none}
.uniti-app input[aria-invalid=true]{border-color:#a12c30}

/* Quiet policy footer with breathing room below the closing banner. */
.uniti-app nav[aria-label="Policies"]{display:block;width:100%;padding:28px 16px 20px;margin:0;text-align:center;font-size:10px;line-height:1.8;font-weight:400}
.uniti-app nav[aria-label="Policies"] a{font-size:inherit;font-weight:inherit;display:inline;color:inherit}

.uniti-app.embed-page .public-access-check{padding:24px 0 28px;margin:0;border:0;background:transparent}
.uniti-app.embed-page .public-access-check .access-check-copy{font-size:11px;line-height:1.6;color:#737b89;margin:0 0 14px;padding:0;font-weight:400}
.uniti-app .access-check-copy a{color:inherit;font-size:inherit;font-weight:inherit}
