.app-topbar{background:#fff}
.workspace-menu-toggle{display:none}
.workspace-menu-swipe-edge{display:none}
.workspace-menu-backdrop{position:fixed;inset:0;z-index:80;border:0;background:#102f285c;opacity:0;visibility:hidden;transition:opacity .22s,visibility .22s;cursor:pointer}
.workspace-menu{position:fixed;z-index:81;display:flex;flex-direction:column;gap:24px;background:var(--white);border:1px solid var(--line);color:var(--ink);min-width:0;overflow-y:auto;overscroll-behavior:contain}
.workspace-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.workspace-menu-heading h2{margin:0;font-size:13px;letter-spacing:1.5px;font-weight:650;text-transform:uppercase;color:var(--muted)}
.workspace-menu-close{min-width:44px;min-height:44px;padding:10px}
.workspace-menu-company{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.workspace-menu-company strong{font-size:19px;line-height:1.4;overflow-wrap:anywhere}
.workspace-menu-brand{display:block;width:100%;max-width:140px;min-width:0;line-height:0}
.workspace-menu-brand .brand-company-logo{width:140px;height:36px}
.workspace-menu-company .tag{font-size:11px}
#app .workspace-menu-company .tag.premium-badge,#app .top-right .tag.premium-badge{position:relative;isolation:isolate;overflow:hidden;gap:7px;min-height:36px;padding:5px 13px 5px 9px;border:1px solid #bd9856;border-radius:999px;background:linear-gradient(118deg,#493b28,#2c302a 48%,#183332);color:#ffe7a5;font-size:12px;font-weight:700;letter-spacing:.2px;box-shadow:inset 0 1px 0 #fff3b526,0 3px 10px #a77b2826;animation:premium-badge-glow 4.8s ease-in-out infinite}
.tag.premium-badge::before{display:none}
.premium-badge::after,.workspace-menu-toggle-premium::after{content:"";position:absolute;z-index:0;top:-100%;bottom:-100%;left:-70%;width:45%;background:linear-gradient(90deg,transparent,#fff5cb70,transparent);transform:translateX(0) rotate(20deg);pointer-events:none;animation:premium-badge-sheen 5s ease-in-out infinite}
.premium-badge-stars,.premium-badge-label{position:relative;z-index:1}
.premium-badge-stars{width:25px;height:25px;flex:none;overflow:visible;fill:currentColor}
.premium-badge-star{filter:drop-shadow(0 0 3px #ffcf6599);transform-box:fill-box;transform-origin:center;animation:premium-star-glow 3.6s ease-in-out infinite}
.premium-badge-sparkle{fill:#fff4d1;transform-box:fill-box;transform-origin:center;animation:premium-star-twinkle 3.2s ease-in-out infinite}
.premium-badge-sparkle-small{animation-delay:1.2s}
@keyframes premium-badge-glow{0%,100%{box-shadow:inset 0 1px 0 #fff3b526,0 3px 10px #a77b2826}50%{box-shadow:inset 0 1px 0 #fff3b540,0 3px 15px #d9ac4b4d}}
@keyframes premium-badge-sheen{0%,60%{transform:translateX(0) rotate(20deg)}88%,100%{transform:translateX(550%) rotate(20deg)}}
@keyframes premium-star-glow{0%,100%{opacity:.82;transform:scale(.94) rotate(-4deg)}50%{opacity:1;transform:scale(1.08) rotate(5deg)}}
@keyframes premium-star-twinkle{0%,65%,100%{opacity:.35;transform:scale(.65)}30%{opacity:1;transform:scale(1.1)}}
@media(prefers-reduced-motion:reduce){.premium-badge,.premium-badge *,.premium-badge::after,.workspace-menu-toggle-premium,.workspace-menu-toggle-premium *,.workspace-menu-toggle-premium::after{animation:none!important}.premium-badge::after,.workspace-menu-toggle-premium::after{display:none}}
.workspace-menu .workspace-nav{display:flex;flex-direction:column;gap:6px;max-width:none;margin:0;padding:0;border:0}
.workspace-menu .workspace-nav a{display:flex;align-items:center;gap:12px;min-height:50px;padding:12px 14px;border:1px solid transparent;border-radius:11px;text-decoration:none;color:var(--muted);font-size:14px;line-height:1.4}
.workspace-menu .workspace-nav a svg{width:20px;height:20px;flex-shrink:0}
.workspace-menu .workspace-nav a:hover{background:var(--wash);color:var(--green)}
.workspace-menu .workspace-nav a[aria-current=page]{background:#e7efe6;border-color:#d4e1d1;color:var(--green);font-weight:650}
.workspace-menu-footer{margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}
#app .btn[data-action=logout]{width:44px;height:44px;min-width:44px;min-height:44px;flex-shrink:0;justify-content:center;padding:10px;gap:0;border:1px solid #b82f2f;border-radius:12px;background:#c93636;color:#fff;box-shadow:none;transition:background-color .16s,border-color .16s}
#app .btn[data-action=logout] svg{width:20px;height:20px;stroke-width:2}
#app .btn[data-action=logout]:hover:not(:disabled){background:#b62d2d;border-color:#a42626;box-shadow:none}
#app .btn[data-action=logout]:active:not(:disabled){background:#a42626;border-color:#922020}
#app:has(>.workspace-menu)>.app-topbar>.top-right{display:none}
#app:has(>.workspace-menu)>.app-topbar{justify-content:flex-start;flex-wrap:nowrap;gap:12px}
#app:has(>.workspace-menu)>.app-topbar>.brand{min-width:0;flex-basis:auto}
@media(min-width:1024px) and (hover:hover) and (pointer:fine){
  #app:has(>.workspace-menu){--workspace-menu-width:240px;--workspace-menu-gap:28px}
  #app:has(>.workspace-menu)>:is(.app-topbar,.customer-layout,.ready-layout,.footer,.wizard-layout){width:calc(90% - var(--workspace-menu-width) - var(--workspace-menu-gap));max-width:none;margin-left:calc(5% + var(--workspace-menu-width) + var(--workspace-menu-gap));margin-right:5%;padding-left:0;padding-right:0}
  .workspace-menu{width:var(--workspace-menu-width);top:24px;bottom:24px;left:5%;padding:24px 16px;border-radius:18px}
  .workspace-menu-close{display:none}
  .workspace-menu-heading.is-untitled{display:none}
  #app:has(>.workspace-menu)>.app-topbar.has-company-logo{display:none}
  #app:has(>.workspace-menu)>.app-topbar.has-company-logo~.customer-layout{margin-top:24px}
}
@media(max-width:1023px),(hover:none),(pointer:coarse){
  #app:has(>.workspace-menu)>.app-topbar{--workspace-header-padding-top:20px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;padding-top:calc(var(--workspace-header-padding-top) + env(safe-area-inset-top,0px))}
  #app:has(>.workspace-menu)>.app-topbar>.brand{grid-column:2;grid-row:1;justify-self:center;justify-content:center;max-width:100%;height:44px;gap:8px;overflow:hidden}
  #app:has(>.workspace-menu)>.app-topbar>.brand .brand-mark{width:32px;height:32px;max-height:32px}
  #app:has(>.workspace-menu)>.app-topbar>.brand .brand-company-logo{width:240px;max-width:100%;object-position:center}
  #app:has(>.workspace-menu)>.app-topbar>.brand-custom .brand-wordmark{font-size:18px;line-height:1.2;max-height:44px}
  #app:has(>.workspace-menu)>.app-topbar>.top-right{display:flex;grid-column:3;grid-row:1;justify-self:end;width:auto;margin-left:0;gap:0}
  #app:has(>.workspace-menu)>.app-topbar>.top-right>:not([data-action=logout]){display:none}
  .workspace-menu-footer{display:none}
  #app:has(>.workspace-menu)>.app-topbar>.workspace-menu-toggle{display:inline-flex;grid-column:1;grid-row:1;flex-shrink:0;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;border-color:var(--line);color:var(--green)}
  #app:has(>.workspace-menu)>.app-topbar>.workspace-menu-toggle-premium{position:relative;isolation:isolate;overflow:hidden;border-color:#bd9856;background:linear-gradient(118deg,#493b28,#2c302a 48%,#183332);color:#ffe7a5;box-shadow:inset 0 1px 0 #fff3b526,0 3px 10px #a77b2826;animation:premium-badge-glow 4.8s ease-in-out infinite}
  .workspace-menu-toggle-premium>svg{position:relative;z-index:1}
  .workspace-menu-toggle-premium>.workspace-menu-sparkle{position:absolute;top:3px;right:3px;width:10px;height:10px;overflow:visible;filter:drop-shadow(0 0 2px #ffcf6599)}
  #app:has(>.workspace-menu)>.app-topbar.has-company-logo{min-height:56px;padding-top:calc(6px + env(safe-area-inset-top,0px));padding-bottom:6px;border-bottom:0}
  .workspace-menu-heading.is-untitled{position:absolute;top:calc(10px + env(safe-area-inset-top,0px));right:10px}
  .workspace-menu-heading.is-untitled+.workspace-menu-company{padding-right:40px}
  .workspace-menu{top:0;left:0;bottom:0;width:min(340px,calc(100% - 28px));padding:calc(20px + env(safe-area-inset-top,0px)) 20px max(20px,env(safe-area-inset-bottom));border-radius:0 20px 20px 0;border-width:0 1px 0 0;box-shadow:12px 0 40px #123c281c;transform:translateX(-100%);visibility:hidden;transition:transform .24s ease,visibility .24s}
  .workspace-menu-open>.workspace-menu{transform:translateX(0);visibility:visible}
  .workspace-menu-open>.workspace-menu-backdrop{opacity:1;visibility:visible}
  html:has(#app.workspace-menu-open),body:has(#app.workspace-menu-open){overflow:hidden}
  #app:has(>.appointment-list-page)>.app-topbar{display:none}
  #app:has(>.workspace-menu)>.appointment-list-page{margin-top:calc(12px + env(safe-area-inset-top,0px))}
  #app:has(>.appointment-list-page) .workspace-menu-footer{display:block}
  #app:has(>.appointment-list-page)>.workspace-menu-swipe-edge{display:block;position:fixed;top:0;bottom:0;left:0;width:16px;z-index:79;touch-action:pan-y}
  .appointment-list-heading>div:first-child{display:flex;align-items:center;gap:10px}
  .appointment-list-heading .workspace-menu-toggle{display:inline-flex;flex:none;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;border-color:var(--line);color:var(--green)}
}
@media(prefers-reduced-motion:reduce){.workspace-menu,.workspace-menu-backdrop{transition:none}}
@media(max-width:520px){#app:has(>.workspace-menu)>.app-topbar{--workspace-header-padding-top:14px}}
