/* Turnli v0.21.4 — responsive and customer-surface stabilization layer. */
:root{--tl-page-pad:clamp(12px,2.1vw,32px);--tl-public-max:70rem;--tl-join-max:46rem;--tl-status-max:47rem;--tl-touch:44px;--tl-elevation-card:0 10px 32px rgba(32,24,56,.07);--tl-elevation-popover:0 18px 48px rgba(28,21,49,.16);--tl-elevation-modal:0 28px 90px rgba(24,18,44,.24)}
*,*::before,*::after{box-sizing:border-box}
html,body{width:100%;max-width:100%;overflow-x:clip}
body{min-height:100dvh}
img,svg,video,canvas{max-width:100%}
:where(.app-shell-v2,.app-main-v2,.app-content-v2,.content-v2,.panel-v2,.settings-card-v2,.card,.public-shell,.join-shell,.status-shell,.kiosk-shell-v15,.tv-shell-v145,.floor-workspace,.canvas-panel,.queue-panel,.inspector,.support-business-grid-v21,.support-business-card-v21,.support-thread-v21,.branding-grid-v19,.branding-stack-v19){min-width:0}
:where(h1,h2,h3,p,strong,small,label,button,a,.queue-name,.customer-name,.workspace-name){overflow-wrap:anywhere}
:where(.btn,button,[role="button"],input,select,textarea){font:inherit}
:where(.modal-v2,.modal,.details-drawer-v15){box-shadow:var(--tl-elevation-modal);max-width:min(calc(100vw - 24px),64rem);max-height:calc(100dvh - 24px);overflow:hidden}
:where(.modal-body-v2,.modal-body,.details-body-v15){min-height:0;overflow:auto;overscroll-behavior:contain}
.app-content-v2{width:100%;max-width:1920px;margin-inline:auto;padding-inline:var(--tl-page-pad)}
.ops-grid-simple{align-items:start}
.next-card{height:auto!important;min-height:max-content!important}
.side-link-v2{font-size:max(.7rem,12px)}.side-group-label{font-size:max(.55rem,10px)}
.workspace-chip strong,.location-title strong{font-size:max(.69rem,12px)}.workspace-chip small,.location-title small{font-size:max(.58rem,10px)}
.panel-head-v2 h2{font-size:max(.87rem,14px)}.panel-head-v2 p{font-size:max(.59rem,11px)}
.queue-header-v2{font-size:max(.52rem,10px)}
.customer-cell strong,.service-cell strong,.wait-cell strong{font-size:max(.68rem,12px)}
.customer-cell small,.service-cell small,.wait-cell small{font-size:max(.55rem,10px)}
.queue-status-pill,.row-primary,.row-menu button{font-size:max(.56rem,10px)}
.page-head-v2,.panel-head-v2,.settings-head-v2{min-width:0;gap:12px}
.page-head-v2>div,.panel-head-v2>div,.settings-head-v2>div{min-width:0}
.table-wrap-v2,.queue-table-wrap,.history-table-wrap{max-width:100%;overflow:auto;overscroll-behavior-inline:contain}
.business-logo-fallback-v21{display:none}.business-logo-v19.image-unavailable .business-logo-fallback-v21{display:grid;width:100%;height:100%;place-items:center}

/* Branding editor and customer-facing identity */
.branding-grid-v19{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:clamp(12px,1.6vw,22px)}
.branding-preview-card-v19{top:76px;max-width:100%}
.branding-preview-stage-v19{min-height:clamp(320px,48vh,500px);padding:clamp(14px,2vw,24px)}
.branding-preview-device-v19{max-width:100%}
.branding-upload-copy-v19,.branding-upload-actions-v19{min-width:0}
.branding-upload-actions-v19 .btn{white-space:normal}
.business-logo-v19 img{max-width:100%;max-height:100%}
.public-shell{width:min(100% - (2 * var(--tl-page-pad)),var(--tl-public-max));margin-inline:auto}
.join-shell{width:min(100% - (2 * var(--tl-page-pad)),var(--tl-join-max));margin:clamp(10px,2vh,22px) auto 48px}
.status-shell{width:min(100% - (2 * var(--tl-page-pad)),var(--tl-status-max));margin-inline:auto}
.public-hero-card,.join-card-v2,.status-card-v2{max-width:100%}
.public-business-row,.join-business-head,.status-business-mini{min-width:0}
.public-business-row>div,.join-business-head>div,.status-business-mini>div{min-width:0}

/* Customer entry is intentionally narrower and denser than the public wait page. */
.join-business-head{padding:clamp(20px,3vw,27px) clamp(18px,3vw,28px) 18px}
.join-estimate{margin-inline:clamp(18px,3vw,28px)}
.join-form-v2{padding:6px clamp(18px,3vw,28px) clamp(20px,3vw,28px)}
.join-step{padding:0;margin-top:clamp(16px,2.4vh,22px)}
.join-step legend{margin-bottom:10px}
.service-picker{gap:7px}
.service-option{min-height:58px;padding:9px 12px}
.join-summary{margin:16px 0 10px}
.join-trust{margin-top:11px}

/* Branded backgrounds remain expressive without sacrificing public-page contrast. */
body.has-business-background-v19 .public-section{padding:clamp(18px,2.6vw,28px);border:1px solid rgba(38,31,55,.11);border-radius:24px;background:rgba(255,255,255,.94);box-shadow:var(--tl-elevation-card);backdrop-filter:blur(12px)}
body.has-business-background-v19 .public-section-head{margin-bottom:16px}
body.has-business-background-v19 .public-service-card,
body.has-business-background-v19 .public-info-grid article{background:rgba(255,255,255,.96);box-shadow:0 8px 26px rgba(27,21,43,.08)}
body.has-business-background-v19 .public-back{padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.9);color:#4f4858;box-shadow:0 6px 20px rgba(27,21,43,.08)}

/* Share & QR always keeps its header and controls within the visible viewport. */
#liveShareModal .modal-v2{display:flex;flex-direction:column;width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}
#liveShareModal .modal-head-v2{flex:0 0 auto;padding:18px 20px 13px;background:#fff}
#liveShareModal .modal-body-v2{flex:1 1 auto;min-height:0;padding:12px 20px 20px;overflow:auto;scrollbar-gutter:stable}
#liveShareModal .share-surface-section-v145{padding:12px;gap:9px}
#liveShareModal .qr-lockup>.qr-image-v2{width:clamp(140px,20dvh,184px)!important;height:clamp(140px,20dvh,184px)!important}
#liveShareModal .share-link-box{margin-top:0}
#liveShareModal .share-surface-actions-v145 .btn{min-height:42px}

/* Support portal */
.support-business-grid-v21{grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);align-items:start}
.support-business-card-v21,.support-thread-v21{min-height:clamp(380px,62dvh,680px);max-height:calc(100dvh - 190px)}
.support-ticket-list-v21,.support-message-list-v21{max-height:none;min-height:0;overflow:auto}
.support-thread-header-v21>div:first-child{min-width:0}
.support-message-v21{overflow-wrap:anywhere}

/* Tables & Floor: fit the available viewport instead of forcing tall panels. */
.floor-tab-card-v80,.floor-tab-card-v74{height:clamp(390px,calc(100dvh - 178px),860px)!important;min-height:0!important;max-height:860px}
html.turnli-floor-embedded .queue-panel,html.turnli-floor-embedded .inspector,html.turnli-floor-embedded .canvas-panel{height:clamp(350px,calc(100dvh - 76px),780px);min-height:0}
.floor-workspace{max-width:100%}
.floor-scroll{min-width:0;min-height:0;overscroll-behavior:contain}
.floor-canvas{max-width:none}
.canvas-toolbar,.panel-head,.seat-context,.inspector-head{min-width:0}
.canvas-toolbar>div,.panel-head>div,.seat-context>div,.inspector-head>div{min-width:0}

/* Public website */
.site-shell,.marketing-shell,.site-nav,.hero-v2-grid{width:min(100% - (2 * var(--tl-page-pad)),1200px);max-width:100%;margin-inline:auto}
.hero-v2{min-height:min(760px,calc(100dvh - 76px))}
.hero-v2-grid{min-height:min(680px,calc(100dvh - 76px));gap:clamp(28px,5vw,62px)}
.product-stage{max-width:100%}

@media(max-width:1180px){
  .branding-grid-v19{grid-template-columns:1fr}.branding-preview-card-v19{position:static}
  .support-business-grid-v21{grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr)}
}
@media(max-width:980px){
  .support-business-grid-v21{grid-template-columns:1fr}
  .support-business-card-v21,.support-thread-v21{min-height:0;max-height:none}
  .support-ticket-list-v21{max-height:min(42dvh,360px)}.support-message-list-v21{max-height:min(48dvh,430px)}
  .hero-v2{min-height:auto}.hero-v2-grid{grid-template-columns:1fr;min-height:auto;padding-block:72px 52px}.product-stage{height:min(560px,65vw)}
}
@media(max-width:760px){
  :root{--tl-page-pad:max(12px,env(safe-area-inset-left),env(safe-area-inset-right))}
  :where(.btn,button,[role="button"]){min-height:var(--tl-touch)}
  .app-content-v2{padding-inline:var(--tl-page-pad)!important}
  .page-head-v2,.panel-head-v2,.settings-head-v2,.support-business-head-v21,.support-thread-header-v21,.support-reply-actions-v21{align-items:stretch;flex-direction:column}
  .page-head-v2 .btn,.panel-head-v2 .btn,.settings-head-v2 .btn{width:100%}
  .modal-backdrop{padding-top:max(8px,env(safe-area-inset-top))!important}
  :where(.modal-v2,.modal){width:100%!important;max-width:100%!important;max-height:calc(100dvh - max(8px,env(safe-area-inset-top)))!important;border-radius:22px 22px 0 0!important}
  .branding-upload-v19{grid-template-columns:72px minmax(0,1fr);gap:12px}.branding-preview-tabs-v19{grid-template-columns:repeat(4,minmax(0,1fr));overflow:auto}.branding-preview-tabs-v19 button{font-size:.72rem;min-width:70px}.branding-preview-stage-v19{min-height:300px}.branding-savebar-v19 .btn{width:100%}
  .support-message-v21{max-width:92%}.support-form-grid-v21{grid-template-columns:1fr}
  .public-metrics{grid-template-columns:1fr 1fr}.public-metrics>div{border-inline:0!important;border-bottom:1px solid rgba(40,33,58,.09)}.public-metrics>div:nth-child(odd){border-right:1px solid rgba(40,33,58,.09)!important}.public-metrics>div:last-child{border-bottom:0}.public-cta-wrap{align-items:stretch;flex-direction:column}.public-cta-wrap .btn{width:100%}
  .floor-tab-card-v80,.floor-tab-card-v74{height:clamp(380px,calc(100dvh - 154px),720px)!important}
  html.turnli-floor-embedded .queue-panel,html.turnli-floor-embedded .canvas-panel{height:clamp(360px,calc(100dvh - 130px),720px);min-height:0!important}
  .hero-v2-grid{padding-block:54px 38px}.hero-copy-wrap h1{font-size:clamp(2.65rem,13vw,4.2rem);letter-spacing:-.06em}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .btn{width:100%}.product-stage{height:min(520px,100vw)}
}
@media(max-width:480px){
  .branding-upload-v19{grid-template-columns:1fr}.branding-asset-preview-v19{width:100%;height:120px}.branding-asset-preview-v19.wide{height:110px}.branding-preview-tabs-v19{grid-template-columns:repeat(2,minmax(0,1fr))}
  .public-shell,.join-shell,.status-shell{width:calc(100% - 20px)}
  .public-cover{min-height:138px}.business-monogram.business-logo-host-v19,.public-cover .business-logo-v19{width:86px;height:58px}.join-business-head{align-items:flex-start}.join-monogram.business-logo-host-v19,.join-business-head .business-logo-v19{width:56px;height:56px}
  .public-business-row{padding:20px 18px 16px}.public-business-row h1{font-size:clamp(1.45rem,8vw,1.9rem)}.public-metrics{margin-inline:18px;grid-template-columns:1fr}.public-metrics>div{padding:13px 0!important;border-right:0!important}.public-cta-wrap{padding:18px}
  .join-business-head{padding:18px 16px 14px}.join-business-head h1{font-size:1.3rem}.join-estimate{margin-inline:16px}.join-estimate>div{padding:13px 14px}.join-form-v2{padding:4px 16px 18px}.service-option{grid-template-columns:20px minmax(0,1fr) auto;min-height:56px;padding:9px 10px}.join-summary{grid-template-columns:1fr}
  body.has-business-background-v19 .public-section{padding:17px;border-radius:20px}.public-section-head{align-items:flex-start;flex-direction:column;gap:8px}.public-section-head>p{max-width:none}
  #liveShareModal .modal-head-v2{padding:16px 16px 12px}#liveShareModal .modal-body-v2{padding:10px 12px calc(16px + env(safe-area-inset-bottom))}#liveShareModal .share-surface-section-v145{padding:11px}#liveShareModal .qr-lockup>.qr-image-v2{width:min(170px,52vw)!important;height:min(170px,52vw)!important}
  .support-message-v21{max-width:96%}.support-thread-header-v21,.support-message-list-v21,.support-reply-v21{padding-inline:12px}
}
@media(max-height:760px) and (min-width:761px){
  .floor-tab-card-v80,.floor-tab-card-v74{height:calc(100dvh - 142px)!important;min-height:360px!important}
  html.turnli-floor-embedded .queue-panel,html.turnli-floor-embedded .inspector,html.turnli-floor-embedded .canvas-panel{height:calc(100dvh - 62px);min-height:330px}
  .branding-preview-stage-v19{min-height:300px}.support-business-card-v21,.support-thread-v21{min-height:360px;max-height:calc(100dvh - 148px)}
  .join-shell{margin-top:8px}.join-business-head{padding-block:17px 13px}.join-estimate>div{padding-block:12px}.join-step{margin-top:14px}.service-option{min-height:52px;padding-block:7px}.input-lg{height:46px}.join-trust{margin-top:8px}
  #liveShareModal .modal-v2{width:min(820px,calc(100vw - 24px))}#liveShareModal .modal-head-v2{padding-block:14px 10px}#liveShareModal .modal-body-v2{padding-top:9px}#liveShareModal .qr-lockup>.qr-image-v2{width:132px!important;height:132px!important}#liveShareModal .share-surface-section-v145{gap:7px;padding:10px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(prefers-reduced-transparency:reduce){body.has-business-background-v19 .public-nav,body.has-business-background-v19 .public-hero-card,body.has-business-background-v19 .join-card-v2,body.has-business-background-v19 .status-card-v2{backdrop-filter:none!important;background:#fff!important}}
