/* BookSys studio brand layer (canonical, flattened).
 * install_theme() replaces the token marker below with the validated palette.
 * One effective declaration per scope/selector/property; component rules read
 * only --sb-* tokens. The Online indicator green is intentionally literal.
 * Regenerate after edits: python3 templates/theme-tools/flatten_brand.py
 */
@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap");

:root{
  /* Studio palette (validated by theme_tools.validate_palette) */
  --sb-canvas:#f2eee6;
  --sb-paper:#fffdf8;
  --sb-soft:#e8e1d4;
  --sb-ink:#282722;
  --sb-muted:#6e6559;
  --sb-line:#d5cab9;
  --sb-accent:#a75438;
  --sb-accent-deep:#88412b;
  --sb-danger:#a2424b;
  --sb-shadow:0 14px 36px -18px rgba(40,39,34,.28);
  --sb-display:"Manrope","Manrope",system-ui,sans-serif;
  --sb-body:"Manrope",system-ui,sans-serif;
  /* Bridge: every legacy token the native screens read maps to one semantic token. */
  --canvas:var(--sb-canvas)!important;--paper:var(--sb-paper)!important;
  --paper-deep:var(--sb-canvas)!important;--card:var(--sb-paper)!important;
  --soft:var(--sb-soft)!important;--ink:var(--sb-ink)!important;
  --muted:var(--sb-muted)!important;--line:var(--sb-line)!important;
  --brand:var(--sb-ink)!important;--brand-dark:var(--sb-accent)!important;
  --brand-soft:var(--sb-soft)!important;--danger:var(--sb-danger)!important;
  --pink:var(--sb-ink)!important;--pink-dark:var(--sb-accent)!important;--pink-soft:var(--sb-soft)!important;
  --rose:var(--sb-soft)!important;--beige:var(--sb-canvas)!important;--cream:var(--sb-paper)!important;
  --teal:var(--sb-ink)!important;--teal-dark:var(--sb-accent)!important;--mint:var(--sb-soft)!important;
  --coral:var(--sb-accent)!important;--rust:var(--sb-ink)!important;
  --rust-deep:var(--sb-accent)!important;--rust-pale:var(--sb-soft)!important;
  --shadow:var(--sb-shadow)!important;
}
.login-card,.surface,.visit-card,.card-choice label{border-color:var(--sb-line)!important;box-shadow:var(--sb-shadow)!important}
.login-card::before{background:var(--sb-ink)!important}
.field input,.field select,.field textarea{background:var(--sb-paper)!important;color:var(--sb-ink)!important;border-color:var(--sb-line)!important}
.field select:focus,.field textarea:focus{border-color:var(--sb-ink)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--sb-ink) 10%,transparent)!important}
.login-btn:hover{border-color:var(--sb-ink)!important}
.secondary-btn,.cancel-btn{color:var(--sb-ink)!important;border-color:var(--sb-line)!important}
.past-card .date-tile{background:var(--sb-soft)!important;color:var(--sb-ink)!important}
.info-row{border-color:var(--sb-line)!important}
.card-choice label:hover{background:var(--sb-soft)!important;border-color:var(--sb-ink)!important;box-shadow:none!important}
.past-card,.tabs{background:var(--sb-canvas)!important}
.tab-btn.active{box-shadow:none!important}
.visit-card:hover{border-color:var(--sb-muted)!important;box-shadow:var(--sb-shadow)!important}
.booking-dialog::backdrop{background:color-mix(in srgb,var(--sb-ink) 55%,transparent)!important}
.page-head > .outline-nav:hover{background:var(--sb-ink)!important;color:var(--sb-paper)!important;border-color:var(--sb-ink)!important}
body{background:var(--sb-canvas)!important;color:var(--sb-ink)!important;font-size:14px}
a{color:var(--sb-accent-deep)}
:focus-visible{outline:2px solid var(--sb-accent)!important;outline-offset:2px}
.topbar{background:var(--sb-paper)!important;border-bottom:1px solid var(--sb-line)!important;color:var(--sb-ink)!important;box-shadow:none!important}
.topbar a,.topbar-site{color:var(--sb-ink)!important;border-color:var(--sb-line)!important;font-family:var(--sb-body)}
.outline-nav{color:var(--sb-ink)!important;border-color:var(--sb-line)!important}
.topbar-toggle-bars,.topbar-toggle-bars::before,.topbar-toggle-bars::after{background:var(--sb-ink)!important}
.topbar-menu{background:var(--sb-paper)!important;border-color:var(--sb-line)!important}
.calendar-wrap{color:var(--sb-ink)}
.toolbar b,.week-date{color:var(--sb-ink)!important}
.nav-week .btn{border:1px solid var(--sb-line)!important;border-radius:999px!important;box-shadow:none!important}
.nav-week .btn.disabled{opacity:.4}
.day-title{color:var(--sb-accent-deep)!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--sb-line)!important}
.ref-class-row{background:var(--sb-paper)!important;border:1px solid var(--sb-line)!important;border-radius:16px!important;color:var(--sb-ink)!important;box-shadow:none!important;transition:box-shadow .25s,border-color .25s}
.ref-class-row:hover{border-color:var(--sb-accent)!important;box-shadow:var(--sb-shadow)!important}
.class-row.unavailable{opacity:.6}
.class-time{color:var(--sb-ink)!important}
.class-name{color:var(--sb-ink)!important}
.trainer,.class-info{color:var(--sb-muted)!important}
.trainer i{color:var(--sb-accent)!important}
.price{font-weight:600}
.book{border:0!important;border-radius:999px!important;cursor:pointer;white-space:nowrap!important;min-inline-size:max-content!important;flex-shrink:0!important;transition:background .2s,transform .2s}
.book:hover{transform:translateY(-1px)}
.nonbookable{background:var(--sb-soft)!important;color:var(--sb-muted)!important;border-radius:999px!important;border:0!important}
button.book,.nonbookable{width:120px!important;max-width:none!important;min-height:36px!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:nowrap!important;flex-shrink:0!important}
.empty-week{color:var(--sb-muted)!important;text-align:center;padding:40px 0}
.booking-dialog{background:var(--sb-paper)!important;color:var(--sb-ink)!important;border:1px solid var(--sb-line)!important;border-radius:22px!important;box-shadow:0 30px 70px -25px color-mix(in srgb,var(--sb-ink) 50%,transparent)!important}
.booking-dialog::backdrop{backdrop-filter:blur(3px)}
.booking-title{color:var(--sb-ink)!important}
.booking-meta{background:var(--sb-canvas)!important;border:1px solid var(--sb-line)!important;border-radius:12px!important;color:var(--sb-ink)!important;display:grid;gap:6px;box-sizing:border-box}
.field-label,.dialog-eyebrow,.ref-dropin-label{color:var(--sb-muted)!important;letter-spacing:.06em}
.booking-input{background:var(--sb-paper)!important;border:1px solid var(--sb-line)!important;border-radius:12px!important;color:var(--sb-ink)!important}
.field-error,.form-message.error{color:var(--sb-danger)!important}
.form-message.success{background:var(--sb-soft)!important;color:var(--sb-ink)!important;border-radius:12px!important;border:0!important}
.booking-submit{border:0!important;border-radius:999px!important;font-weight:600!important}
.dialog-close{color:var(--sb-ink)!important;background:var(--sb-canvas)!important;border-radius:50%!important;border:1px solid var(--sb-line)!important}
.ref-header{color:var(--sb-ink)!important;border:0!important}
.ref-brand span{color:var(--sb-ink)!important}
.ref-description{color:var(--sb-muted)!important}
.ref-leave,.ref-signin{color:var(--sb-ink)!important;border-color:var(--sb-line)!important;background:var(--sb-paper)!important;border-radius:999px!important}
.ref-signin svg{stroke:currentColor}
.ref-day{border:1px solid var(--sb-line)!important;border-radius:16px!important}
.ref-day.is-past{opacity:.45}
.ref-day-dots i{background:var(--sb-accent)!important}
.ref-filters-button,.ref-view-switch button{background:var(--sb-paper)!important;color:var(--sb-ink)!important;border:1px solid var(--sb-line)!important}
.ref-view-switch button[aria-pressed="true"]{background:var(--sb-soft)!important;border-color:var(--sb-accent)!important}
.ref-filters-button svg,.ref-view-switch svg{stroke:currentColor}
.ref-filter-panel{background:var(--sb-paper)!important;color:var(--sb-ink)!important;border-color:var(--sb-line)!important}
.ref-filter-group h2{color:var(--sb-ink)!important}
.ref-filter-heading{font-family:var(--sb-display)!important;color:var(--sb-ink)!important}
.ref-filter-backdrop{background:color-mix(in srgb,var(--sb-ink) 35%,transparent)!important}
.ref-class-image{border-radius:12px!important;filter:none}
.ref-time strong{color:var(--sb-ink)!important}
.ref-time small,.price span{color:var(--sb-muted)!important}
.ref-occupancy-track{background:var(--sb-soft)!important}
.ref-occupancy-fill{background:var(--sb-accent)!important}
.ref-dropin-row{background:var(--sb-canvas)!important;border:1px solid var(--sb-line)!important;border-radius:12px!important;color:var(--sb-ink)!important}
.admin-body{background:var(--sb-canvas)!important}
.sidebar{color:var(--sb-canvas)!important;border:0!important}
.sidebar .brand-mark{font-family:var(--sb-display)!important}
.sidebar .brand-copy strong{color:var(--sb-paper)!important}
.sidebar .brand-copy small,.sidebar-label,.sidebar-note small{color:var(--sb-line)!important}
.side-nav-link{color:var(--sb-soft)!important;border-radius:12px!important}
.sidebar-note{background:color-mix(in srgb,var(--sb-paper) 6%,transparent)!important;border-color:color-mix(in srgb,var(--sb-paper) 12%,transparent)!important;color:var(--sb-canvas)!important}
.sidebar-powered a{color:var(--sb-line)!important}
.admin-body .topbar{background:var(--sb-canvas)!important}
.topbar-heading h1,.page-content h2{font-family:var(--sb-display)!important;color:var(--sb-ink)!important}
.page-content h1{font-family:var(--sb-display)!important;color:var(--sb-ink)!important;font-weight:600!important}
.page-content h3{color:var(--sb-ink)!important}
.topbar-heading .eyebrow,.topbar-heading p{color:var(--sb-muted)!important}
.date-chip{border:1px solid var(--sb-line)!important}
.menu-toggle span{background:var(--sb-ink)!important}
.page-content .card,.page-content .panel{border-color:var(--sb-line)!important}
.page-content table{background:var(--sb-paper)!important;border-color:var(--sb-line)!important;color:var(--sb-ink)}
.page-content th{color:var(--sb-muted)!important;background:var(--sb-canvas)!important}
.page-content td{border-color:var(--sb-line)!important}
.page-content input,.page-content select,.page-content textarea{border-color:var(--sb-line)!important;border-radius:10px!important;font-family:var(--sb-body)}
.page-content textarea:focus{border-color:var(--sb-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--sb-accent) 20%,transparent)!important}
.login-body{background:var(--sb-canvas)!important}
.login-shell,.login-panel{border-color:var(--sb-line)!important}
.login-copy h1,.login-copy h2,.login-brand strong{color:var(--sb-ink)!important}
.login-copy p,.login-security,.login-powered,.login-powered a{color:var(--sb-muted)!important}
.login-form input{border:1px solid var(--sb-line)!important;border-radius:12px!important;background:var(--sb-paper)!important;color:var(--sb-ink)!important}
.login-form button,.login-form [type="submit"]{border:0!important;border-radius:999px!important}
.login-error{background:var(--sb-soft)!important;color:var(--sb-danger)!important;border-color:var(--sb-line)!important}
body,button,input,select,textarea,.booking-dialog,.booking-input,.booking-submit,.book,.nonbookable,.footer,.outline-nav{font-family:var(--sb-body)!important}
.toolbar b,.toolbar-top>div:first-child b{font-family:var(--sb-display)!important;font-size:17px!important;font-weight:400!important;letter-spacing:0}
.week-date,.week-date b{font-family:var(--sb-body)!important;font-size:14px!important;font-weight:600!important;letter-spacing:.01em}
.day-title{font-family:var(--sb-body)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase;line-height:1.3!important;padding:16px 4px 7px!important}
.class-row{font-size:13px!important;line-height:1.35!important}
.class-row .class-name,.class-name{font-family:var(--sb-body)!important;font-size:15px!important;font-weight:600!important;line-height:1.3!important;letter-spacing:0!important;overflow-wrap:anywhere;hyphens:auto;min-width:0}
.class-time,.ref-time strong{font-family:var(--sb-body)!important;font-size:13.5px!important;font-weight:600!important;font-variant-numeric:tabular-nums;white-space:nowrap}
.ref-time small{font-size:11.5px!important}
.trainer,.class-info{font-size:12.5px!important;line-height:1.35!important;min-width:0;overflow-wrap:anywhere}
.price{font-size:13px!important;font-variant-numeric:tabular-nums;white-space:nowrap}
.price span{font-size:11px!important;font-weight:500}
.book,.nonbookable{font-size:12.5px!important;font-weight:700!important;line-height:1.2!important;letter-spacing:.02em!important;white-space:normal;text-align:center}
.empty-week{font-family:var(--sb-body)!important;font-style:normal!important;font-size:14px!important}
.ref-brand span{font-family:var(--sb-display)!important;font-size:15px!important;font-weight:500!important;letter-spacing:.18em!important;text-transform:uppercase}
.ref-description{font-size:13px!important;line-height:1.5}
.ref-day-name{font-size:10.5px!important;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.ref-day-number{font-family:var(--sb-display)!important;font-size:17px!important;font-weight:500!important}
.ref-filters-button,.ref-view-switch button,.ref-leave,.ref-signin,.nav-week .btn{font-size:13px!important;font-weight:600}
.ref-filter-heading{font-size:16px!important;font-weight:500!important}
.ref-filter-group h2{font-family:var(--sb-body)!important;font-size:11px!important;font-weight:700!important;letter-spacing:.1em;text-transform:uppercase}
.ref-filter-check{font-size:13.5px!important}
.booking-title{font-family:var(--sb-display)!important;font-size:20px!important;font-weight:400!important;line-height:1.25!important;letter-spacing:0!important}
.booking-meta{font-size:13px!important;line-height:1.55}
.booking-input{font-size:14px!important}
.booking-submit{font-size:14px!important;letter-spacing:.02em}
.field-label,.dialog-eyebrow,.ref-dropin-label{font-size:11.5px!important;font-weight:600}
.ref-dropin-row{font-size:13px!important}
.ref-dropin-row strong{font-size:15px!important}
.page-title,.section-title,.login-copy h1,.login-copy h2{font-family:var(--sb-display)!important;font-weight:400!important;line-height:1.25!important;letter-spacing:0!important}
.page-title,.login-copy h1{font-size:24px!important}
.section-title,.login-copy h2{font-size:17px!important}
.visit-name,.date-day{font-family:var(--sb-body)!important;font-size:14.5px!important;font-weight:600!important}
.art-monogram,.login-brand strong{font-family:var(--sb-display)!important;font-weight:400!important}
.sidebar .brand-copy strong{font-family:var(--sb-display)!important;font-size:15px!important;font-weight:500!important}
.topbar-heading h1{font-size:22px!important;font-weight:400!important}
.page-content h2{font-size:17px!important;font-weight:500!important}
.page-content h3{font-size:15px!important;font-weight:600!important;font-family:var(--sb-body)!important}
@media (min-width:768px) and (max-width:1199.98px){
.class-row .class-name,.class-name{font-size:14px!important}
.trainer,.class-info{font-size:12px!important}
.book,.nonbookable{font-size:12px!important;padding-left:8px!important;padding-right:8px!important}
}
@media (max-width:767.98px){
.ref-wrap .nav-week{gap:6px}
.ref-wrap .nav-week .btn{font-size:11.5px!important;letter-spacing:0!important;padding:5px 6px!important;white-space:nowrap;min-width:0}
.ref-wrap .week-date{font-size:12px!important;margin:0!important;flex-shrink:0}
.class-row .class-name,.class-name{font-size:13px!important}
.day-title{font-size:11.5px!important;padding:14px 2px 6px!important}
.booking-title{font-size:18px!important}
.ref-day-number{font-size:15px!important}
.ref-brand span{font-size:13px!important;letter-spacing:.14em!important}
.page-title,.login-copy h1{font-size:21px!important}
}
.calendar-wrap .schedule:not(:has(.ref-class-row)){border:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important;box-shadow:none!important}
.schedule .day-title:not([data-date]){display:flex;align-items:center;gap:10px;min-height:0!important;margin:30px 0 4px!important;padding:0 18px 10px!important;border:0!important;border-bottom:1px solid var(--sb-line)!important;background:transparent!important;color:var(--sb-accent-deep)!important}
.schedule .day-title:not([data-date])::before{content:"";width:6px;height:6px;border-radius:50%;flex:none}
.schedule .day-title:not([data-date]):first-child{margin-top:6px!important}
.class-row:not(.ref-class-row){min-height:0!important;padding:14px 18px!important;margin:0!important;background:var(--sb-paper)!important;border:0!important;border-left:0!important;border-radius:0!important;border-bottom:1px solid color-mix(in srgb,var(--sb-line) 65%,transparent)!important;box-shadow:none!important;transition:background .2s ease}
.class-row:not(.ref-class-row):hover{background:var(--sb-canvas)!important;box-shadow:none!important;border-color:color-mix(in srgb,var(--sb-line) 65%,transparent)!important}
.class-row:not(.ref-class-row) + .day-title{margin-top:30px!important}
.class-row:not(.ref-class-row).unavailable,.class-row:not(.ref-class-row).unavailable:hover{background:var(--sb-canvas)!important;opacity:1}
.class-row:not(.ref-class-row).unavailable .class-name,.class-row:not(.ref-class-row).unavailable .class-time{color:var(--sb-muted)!important}
.class-row:not(.ref-class-row) .class-info{color:var(--sb-muted)!important;font-variant-numeric:tabular-nums}
.class-row:not(.ref-class-row) .book{padding:8px 14px!important;min-height:0!important}
.class-row:not(.ref-class-row) .nonbookable{background:transparent!important;color:var(--sb-muted)!important;font-weight:600!important;font-size:12px!important;letter-spacing:.04em!important}
.day-title:not([data-date]) + .class-row:not(.ref-class-row){border-top-left-radius:14px!important;border-top-right-radius:14px!important;margin-top:8px!important}
.class-row:not(.ref-class-row):has(+ .day-title),.class-row:not(.ref-class-row):last-of-type{border-bottom:0!important;border-bottom-left-radius:14px!important;border-bottom-right-radius:14px!important}
@media (max-width:767.98px){
.schedule .day-title:not([data-date]){margin:24px 0 4px!important;padding:0 12px 8px!important}
.class-row:not(.ref-class-row){padding:12px 14px!important;min-height:0!important;row-gap:4px!important}
.class-row:not(.ref-class-row) + .day-title{margin-top:24px!important}
}
.login-form [type="submit"]{background:var(--sb-ink)!important;color:var(--sb-paper)!important}
.ref-header{background:linear-gradient(180deg,var(--sb-soft),var(--sb-canvas))!important}
.ref-class-image{object-fit:contain!important;background:var(--sb-paper)!important;border:1px solid var(--sb-line)!important;padding:4px;box-sizing:border-box;opacity:.9}
.ref-booking-hero{background:linear-gradient(180deg,var(--sb-soft),var(--sb-paper))!important;display:flex;justify-content:center;align-items:center;min-height:0!important;padding:22px 0 6px!important}
.ref-booking-image{object-fit:contain!important;border-radius:0!important;position:static!important;filter:none!important}
.ref-booking-hero .dialog-close{position:absolute!important;top:12px;right:12px}
.class-row:not(.ref-class-row) .class-time{color:var(--sb-accent-deep)!important}
.page-content button[type="submit"]:hover{background:var(--sb-accent-deep)!important}
.sidebar{border-right:1px solid color-mix(in srgb,var(--sb-accent) 35%,transparent)!important}
.sidebar .brand-mark{background:var(--sb-ink)!important;color:var(--sb-line)!important;border:1px solid var(--sb-accent)!important}
.art-card{background:color-mix(in srgb,var(--sb-paper) 6%,transparent)!important;border-color:color-mix(in srgb,var(--sb-line) 45%,transparent)!important}
.art-orbit{border-color:color-mix(in srgb,var(--sb-line) 40%,transparent)!important}
.schedule .day-title:not([data-date])::before{background:var(--sb-accent)}
::selection{background:var(--sb-soft)!important;color:var(--sb-ink)!important}
html,body,.login-body,.admin-body,.page-content{background-color:var(--sb-canvas)!important}
.login-card,.surface,.visit-card,.card-choice label,.login-shell,.login-panel,.page-content .card,.page-content .panel{background:var(--sb-paper)!important;border:1px solid var(--sb-line)!important;color:var(--sb-ink)!important}
.field input:hover,.field select:hover,.login-form input:hover,.booking-input:hover{border-color:var(--sb-line)!important}
.field input:focus,.login-form input:focus,.booking-input:focus,.page-content input:focus,.page-content select:focus{border-color:var(--sb-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--sb-accent) 16%,transparent)!important;outline:0}
.field input::placeholder,.booking-input::placeholder,.login-form input::placeholder{color:var(--sb-muted)!important}
.login-btn:disabled,.booking-submit:disabled,.book:disabled{opacity:1}
.secondary-btn:hover,.cancel-btn:hover,.outline-nav:hover,.ref-leave:hover,.ref-signin:hover,.ref-filters-button:hover{background:var(--sb-soft)!important;color:var(--sb-ink)!important;border-color:var(--sb-line)!important}
.tab-btn{color:var(--sb-muted)!important}
.tab-btn:hover{color:var(--sb-ink)!important}
.card-choice input:checked + label{background:var(--sb-soft)!important;border-color:var(--sb-accent)!important;box-shadow:inset 0 0 0 1px var(--sb-accent)!important}
.profile-avatar,.date-tile,.avatar{background:var(--sb-soft)!important;color:var(--sb-ink)!important}
.date-chip,.ref-day,.nav-week .btn{background:var(--sb-paper)!important;border-color:var(--sb-line)!important;color:var(--sb-ink)!important}
.ref-day:hover,.nav-week .btn:hover,.date-chip:hover{background:var(--sb-soft)!important;border-color:var(--sb-line)!important}
.ref-day[aria-selected="true"]{background:var(--sb-ink)!important;border-color:var(--sb-ink)!important;color:var(--sb-paper)!important}
.ref-day.is-selected .ref-day-name,.ref-day.is-selected .ref-day-number{color:var(--sb-paper)!important}
.ref-day.is-selected .ref-day-dots i{background:var(--sb-line)!important}
.login-art{background:linear-gradient(160deg,var(--sb-muted) 0,var(--sb-ink) 65%,var(--sb-ink) 130%)!important}
.art-monogram{color:var(--sb-soft)!important}
.sidebar{background:var(--sb-ink)!important}
.side-nav-link:hover{background:color-mix(in srgb,var(--sb-paper) 9%,transparent)!important;color:var(--sb-paper)!important}
.side-nav-link.is-active{background:var(--sb-canvas)!important}
.page-content tr:hover td{background:var(--sb-soft)!important}
.booking-meta{padding:14px 16px!important}
.ref-booking-image{height:auto!important}
.price,.ref-dropin-row strong,.eyebrow,.choice-price{color:var(--sb-muted)!important}
.booking-input.input-error{border-color:var(--sb-danger)!important}
.page-head>.outline-nav *{color:inherit!important}
.ref-view-switch button[aria-pressed="true"],.card-choice input:checked+label,.card-choice input:checked+label *{color:var(--sb-ink)!important}
.book:disabled,.booking-submit:disabled,.login-btn:disabled,button:disabled{background:var(--sb-line)!important;color:var(--sb-ink)!important;border-color:var(--sb-line)!important;cursor:not-allowed}
.ref-filter-check input,input[type=checkbox],input[type=radio]{accent-color:var(--sb-ink)}
.admin-body .brand,.login-brand{align-items:center!important;gap:12px!important}
.admin-body .brand-mark,.login-brand .brand-mark{display:flex!important;align-items:center;justify-content:center;flex:0 0 64px!important;width:64px!important;height:64px!important;padding:7px!important;box-sizing:border-box;background:var(--sb-paper)!important;border:1px solid var(--sb-line)!important;border-radius:12px!important;overflow:hidden}
.admin-body .brand-mark img,.login-brand .brand-mark img{display:block!important;width:48px!important;height:48px!important;max-width:100%;object-fit:contain}
.admin-body .brand-copy{min-width:0;flex:1}
.admin-body .brand-copy strong{white-space:normal!important;overflow-wrap:anywhere}
.status-dot{background:#22c55e!important;box-shadow:0 0 0 4px rgba(34,197,94,.14),0 0 10px rgba(34,197,94,.45)!important}
.book,.booking-submit,.login-btn,.login-form button,.tab-btn.active,.ref-day.is-selected,.page-content button[type="submit"],.page-head > .outline-nav{background:var(--sb-ink)!important;color:var(--sb-paper)!important;border-color:var(--sb-ink)!important}
.book:hover,.booking-submit:hover,.login-btn:hover,.login-form button:hover{background:var(--sb-accent-deep)!important;color:var(--sb-paper)!important}
.book *,.booking-submit *,.login-btn *,.tab-btn.active *,.ref-day.is-selected *{color:inherit!important}
.sidebar *{color:var(--sb-soft)}
.side-nav-link.is-active,.side-nav-link.is-active *{color:var(--sb-ink)!important}
.ref-class-image,.ref-booking-image{aspect-ratio:1/1!important}
.ref-booking-image{width:84px!important}
.footer{background:var(--sb-canvas)!important;background-image:none!important;color:var(--sb-muted)!important;border-top:1px solid var(--sb-line)!important;box-shadow:none!important}
.footer a{color:var(--sb-accent-deep)!important}
/* Keep week navigation labels comfortably inside their borders. */
.nav-week .btn{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:8px 14px!important;box-sizing:border-box;line-height:1.2!important;white-space:nowrap}
.nav-week .btn>span[aria-hidden]{flex-shrink:0;font-size:18px;line-height:1}
/* Generic variant2 full-logo + Site button overrides */
.ref-brand img.header-logo,.studio-brand img.header-logo{width:clamp(150px,22vw,220px)!important;height:auto!important;max-height:52px!important;object-fit:contain!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.ref-brand>span,.studio-brand>span{display:none!important}
.ref-brand,.studio-brand{min-width:0!important;flex-shrink:1!important}
.ref-leave{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:6px 12px!important;border:1px solid var(--sb-line)!important;border-radius:999px!important;background:transparent!important;color:var(--sb-accent-deep)!important;line-height:1!important;white-space:nowrap!important;box-shadow:none!important;width:auto!important;height:auto!important}
.ref-leave>span{font-size:12px!important;line-height:1!important;white-space:nowrap!important;font-weight:600!important}
.ref-leave svg{width:14px!important;height:14px!important;flex:0 0 auto!important;display:block!important}
@media (max-width:480px){.ref-brand img.header-logo,.studio-brand img.header-logo{width:clamp(120px,38vw,150px)!important;max-height:40px!important}.ref-leave{padding:5px 9px!important}}
