/*
 * Turnli v0.22.0-rc1 — Visual Integrity System
 * Final release layer for cross-route sizing, graphics, responsive safety,
 * tenant branding readability, accessible controls, and floor presentation.
 * This intentionally refines the existing product instead of replacing it.
 */
:root{
  --tl-vi-control-h:40px;
  --tl-vi-touch-h:44px;
  --tl-vi-radius-sm:10px;
  --tl-vi-radius-md:14px;
  --tl-vi-radius-lg:18px;
  --tl-vi-line:rgba(53,45,67,.12);
  --tl-vi-shadow-card:0 8px 26px rgba(31,24,45,.065);
  --tl-vi-shadow-float:0 18px 52px rgba(31,24,45,.14);
  --tl-vi-shadow-modal:0 28px 90px rgba(25,19,36,.22);
  --tl-vi-page-pad:clamp(12px,1.4vw,22px);
  --tl-vi-reading:72rem;
  --tl-vi-status-live:#16875f;
  --tl-vi-status-warn:#9a6916;
  --tl-vi-status-danger:#b34458;
  --tl-vi-status-info:#5e48d2;
}

/* ---------- Global integrity: shrinkable layout, predictable media ---------- */
html{max-width:100%;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{max-width:100%;overflow-x:clip}
img,svg,canvas,video{max-width:100%}
img{height:auto}
:where(.app-main-v2,.view-shell-v2,.view-root-v2,.panel-v2,.settings-card-v2,.expansion-card-v15,
       .public-shell,.join-shell,.status-shell,.auth-shell,.onboarding-shell,.qr-print-card,
       .tv-shell-v145,.tv-main-v145,.tv-card-v145,.kiosk-shell-v15,.kiosk-step-v15,
       .modal-v2,.modal-body-v2,.details-drawer-v15,.drawer-body-v15,
       .floor-tab-v80,.floor-tab-card-v80,.floor-workspace,.canvas-panel,.queue-panel,.inspector,
       .table-grid-card-v0162,.workspace-select-v2,.workspace-current-v2){min-width:0}

:where(.workspace-name-v2,.workspace-current-v2 strong,.page-head-v2 h1,.panel-v2 h2,.settings-card-v2 h2,
       .public-business-row h1,.join-business-head h1,.status-business-mini strong,.tv-brand-v145 h1,
       .kiosk-step-v15 h1,.table-name,.section-label span,.queue-name,.service-name-v15,
       .team-member-copy-v5 strong,.team-member-copy-v5 small,.share-link-box strong,.status-link-box-v145 strong){
  overflow-wrap:anywhere;
}

/* Preserve compact single-line identity where wrapping would damage hierarchy. */
:where(.workspace-select-v2,.workspace-switch-v2 strong,.topbar-business-v2 strong,.status-business-mini strong,
       .tv-brand-v145 h1,.queue-name,.table-name){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- Unified controls ---------- */
:where(button,.btn,.btn-v2,.icon-btn-v2,.icon-text-btn,input,select,textarea){font:inherit}
:where(.btn,.btn-v2,.icon-text-btn){min-height:var(--tl-vi-control-h)}
:where(.icon-btn-v2,.modal-close,.drawer-close-v15){min-width:var(--tl-vi-control-h);min-height:var(--tl-vi-control-h)}
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),select,textarea){max-width:100%}
:where(input,select,textarea,button,.btn,.btn-v2,a):focus-visible{outline:3px solid color-mix(in srgb,var(--brand,#604bd6) 32%,transparent);outline-offset:2px}
button:disabled,.btn:disabled,.btn-v2:disabled{cursor:not-allowed}

/* ---------- App shell / navigation ---------- */
body.app-body .sidebar-v2{min-height:100dvh}
body.app-body .sidebar-brand-v2,body.app-body .workspace-switch-v2{min-width:0}
body.app-body .workspace-switch-v2{overflow:hidden}
body.app-body .workspace-switch-v2>div{min-width:0}
body.app-body .workspace-switch-v2 strong,body.app-body .workspace-switch-v2 small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.app-body .workspace-logo{flex:0 0 auto;isolation:isolate}
body.app-body .workspace-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
body.app-body .topbar-v2{gap:10px}
body.app-body .topbar-actions-v2{row-gap:6px}
body.app-body .page-head-v2{gap:10px 16px}
body.app-body .page-head-v2>div:first-child{min-width:0}
body.app-body .view-shell-v2{max-width:1920px;margin-inline:auto}
body.app-body .mobile-nav-v2{backdrop-filter:saturate(1.1) blur(18px);-webkit-backdrop-filter:saturate(1.1) blur(18px)}

/* Cards use one quiet elevation hierarchy instead of stacked shadows. */
:where(.panel-v2,.settings-card-v2,.expansion-card-v15,.day-ops-card-v15,.readiness-card-v15,
       .public-section,.join-card-v2,.status-card-v2,.auth-card,.kiosk-step-v15,.table-grid-card-v0162){
  border-color:var(--tl-vi-line);
}
:where(.panel-v2,.settings-card-v2,.expansion-card-v15,.public-section,.join-card-v2,.status-card-v2,.auth-card){
  box-shadow:var(--tl-vi-shadow-card);
}

/* ---------- Menus, popovers, modals, drawers ---------- */
:where(.modal-backdrop,.drawer-backdrop-v15){padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
:where(.modal-v2,.modal,.details-drawer-v15){max-height:calc(100dvh - max(24px,env(safe-area-inset-top) + env(safe-area-inset-bottom) + 16px));box-shadow:var(--tl-vi-shadow-modal)}
:where(.modal-body-v2,.modal-body,.details-drawer-body-v15,.drawer-body-v15){min-height:0;overflow:auto;overscroll-behavior:contain}
:where(.modal-actions-v2,.modal-footer-v2,.drawer-actions-v15){position:relative;z-index:2;background:inherit}
:where(.queue-action-portal,.popover-v2,.menu-v2,[role="menu"]){max-width:min(360px,calc(100vw - 24px));max-height:min(70dvh,560px)}

/* ---------- Tenant branding: stable logo geometry and readable backgrounds ---------- */
.business-logo-v19 img{object-fit:contain;object-position:center;image-rendering:auto}
.business-logo-v19.logo-wide:not(.workspace-logo){aspect-ratio:auto;max-width:min(230px,56vw)}
.business-logo-v19.logo-tall:not(.workspace-logo){aspect-ratio:auto;max-width:min(110px,28vw)}
.join-business-head .business-logo-v19.logo-wide{width:min(184px,48vw);height:64px}
.join-business-head .business-logo-v19.logo-tall{width:64px;height:82px}
.public-cover .business-logo-v19.logo-wide{width:min(220px,58vw);height:76px}
.public-cover .business-logo-v19.logo-tall{width:82px;height:104px}
.status-business-mini .business-logo-v19.logo-wide{width:72px;height:42px}
.status-business-mini .business-logo-v19.logo-tall{width:42px;height:54px}
.qr-business .business-logo-v19.logo-wide{width:132px;height:72px}
.qr-business .business-logo-v19.logo-tall{width:72px;height:94px}
.kiosk-business-lockup-v19 .business-logo-v19.logo-wide{width:min(230px,60vw);height:88px}
.kiosk-business-lockup-v19 .business-logo-v19.logo-tall{width:92px;height:118px}
.tv-brand-v145 .business-logo-v19.logo-wide{width:min(260px,19vw);height:88px}
.tv-brand-v145 .business-logo-v19.logo-tall{width:min(110px,8.5vw);height:112px}
.workspace-logo.has-business-logo-v19{max-width:44px;max-height:44px}
.workspace-logo.has-business-logo-v19 img{object-fit:contain!important}

body.business-background-pending-v21{--business-bg-image:none}
body.business-background-unavailable-v21{--business-bg-image:none}
body.has-business-background-v19 :where(.public-hero-card,.public-section,.join-card-v2,.status-card-v2,.auth-card){
  border-color:rgba(255,255,255,.5);
  box-shadow:0 18px 54px rgba(24,19,35,.14);
}
body.has-business-background-v19 :where(.public-nav,.status-turnli-lockup,.turnli-powered-v19){text-shadow:none}
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){
  body.has-business-background-v19 :where(.public-nav,.public-hero-card,.public-section,.join-card-v2,.status-card-v2,.kiosk-step-v15){background:#fff!important}
}

/* ---------- Public Queue / Join / Customer Status ---------- */
:where(.public-shell,.join-shell,.status-shell){width:min(calc(100% - 2*var(--tl-vi-page-pad)),var(--tl-vi-reading));margin-inline:auto}
.public-shell{padding-inline:0}
:where(.public-business-row,.join-business-head,.status-brand-row){min-width:0}
:where(.public-business-row>div,.join-business-head>div,.status-business-mini>div){min-width:0}
:where(.public-metrics,.public-info-grid,.join-summary,.status-details){grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}
.status-card-v2{overflow:clip}
.status-card-v2 .status-hero-copy{min-width:0}
.status-card-v2 .status-hero-copy h1{max-width:100%;text-wrap:balance}
.status-card-v2 .status-copy{max-width:64ch}
.status-card-v2 .status-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:8px}
.status-card-v2 .status-actions>*{min-width:0;width:100%}
.status-details>div{min-width:0}
.queue-stage-shell,.queue-stage-track{max-width:100%;min-width:0}
.queue-stage-person,.queue-stage-destination{flex-shrink:0}

/* Join form stays compact without becoming cramped. */
.join-card-v2 :where(.field,.field-v2,.form-field-v15){min-width:0}
.join-card-v2 :where(input,select,textarea){width:100%;box-sizing:border-box}
.join-card-v2 .join-actions{min-width:0}

/* ---------- QR ---------- */
.qr-print-card{width:min(760px,calc(100% - 24px));margin-inline:auto}
.qr-print-image,.qr-image-v2,.live-qr-box{box-sizing:border-box;isolation:isolate}
.qr-print-image{padding:clamp(12px,3vw,24px);background:#fff;border-radius:18px}
.qr-print-image :where(canvas,img,svg),.qr-image-v2 :where(canvas,img,svg),.live-qr-box :where(canvas,img,svg){display:block;max-width:100%;height:auto;margin:auto;background:#fff}
.qr-business{min-width:0}.qr-business>div{min-width:0}.qr-business h1{overflow-wrap:anywhere}
.qr-url{overflow-wrap:anywhere}

/* ---------- TV Queue ---------- */
.tv-body-v145{min-width:0;min-height:100dvh}
.tv-shell-v145{width:100%;max-width:3200px;margin-inline:auto;padding:clamp(18px,2.6vw,54px);gap:clamp(16px,2vw,34px)}
.tv-head-v145,.tv-main-v145,.tv-footer-v145{min-width:0}
.tv-card-v145{background:rgba(19,17,25,.86);border-color:rgba(255,255,255,.12);box-shadow:0 16px 54px rgba(0,0,0,.18)}
.tv-now-item-v145,.tv-next-item-v145{min-width:0}
.tv-now-item-v145>div,.tv-next-item-v145>div{min-width:0}
.tv-now-item-v145 strong,.tv-next-item-v145 strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tv-footer-v145{gap:clamp(12px,2vw,28px)}
.tv-message-v145{max-width:min(56ch,42vw)}
body[data-page="live-display"].has-business-background-v19 .tv-shell-v145{background:rgba(14,12,20,.8)!important}

/* ---------- Kiosk ---------- */
.kiosk-body-v15{min-height:100dvh;display:grid;place-items:center}
.kiosk-shell-v15{width:min(740px,100%);max-height:100%;margin:auto}
.kiosk-step-v15{max-width:100%;overflow:clip}
.kiosk-step-v15 :where(input,select,textarea){width:100%;box-sizing:border-box}
.kiosk-services-v15{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
.kiosk-service-v15{min-width:0;min-height:60px}
.kiosk-actions-v15{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:10px}
.kiosk-actions-v15>*{min-height:var(--tl-vi-touch-h)}

/* ---------- Tables & Floor: improve physical silhouette without changing model coordinates ---------- */
html.turnli-floor-embedded body[data-page="floor"]{overflow:hidden}
html.turnli-floor-embedded .app-shell,html.turnli-floor-embedded .main-shell{min-width:0}
html.turnli-floor-embedded .floor-workspace{min-width:0}
html.turnli-floor-embedded .floor-scroll{overscroll-behavior:contain}
html.turnli-floor-embedded .floor-canvas{isolation:isolate;touch-action:pan-x pan-y}
html.turnli-floor-embedded .floor-section{min-width:70px;min-height:54px}
html.turnli-floor-embedded .section-label{max-width:calc(100% - 10px);min-width:0}
html.turnli-floor-embedded .section-label>span:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
html.turnli-floor-embedded .floor-table{contain:layout style;min-width:58px;min-height:46px}
html.turnli-floor-embedded .floor-table .table-inner{min-width:0;max-width:100%;overflow:hidden}
html.turnli-floor-embedded .floor-table .table-name{max-width:100%}
html.turnli-floor-embedded .floor-table .table-capacity,
html.turnli-floor-embedded .floor-table .table-guest,
html.turnli-floor-embedded .floor-table .table-live-detail,
html.turnli-floor-embedded .floor-table .table-status-mini{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Shape-specific visual construction; these are presentation-only. */
html.turnli-floor-embedded .floor-table.table-shape-round{border-radius:999px!important}
html.turnli-floor-embedded .floor-table.table-shape-square{border-radius:10px!important}
html.turnli-floor-embedded .floor-table.table-shape-rectangle{border-radius:11px!important}
html.turnli-floor-embedded .floor-table.table-shape-communal{border-radius:8px!important}
html.turnli-floor-embedded .floor-table.table-shape-booth{border-radius:18px 18px 9px 9px!important}
html.turnli-floor-embedded .floor-table.table-shape-bar{border-radius:8px 8px 14px 14px!important}
html.turnli-floor-embedded .floor-table.table-shape-communal:before{
  content:"";position:absolute;left:14%;right:14%;top:50%;height:1px;background:currentColor;opacity:.08;pointer-events:none
}
html.turnli-floor-embedded .floor-table.table-shape-booth:before{
  content:"";position:absolute;inset:6px 8px auto;height:7px;border:1.5px solid currentColor;border-bottom:0;border-radius:10px 10px 0 0;opacity:.13;pointer-events:none
}
html.turnli-floor-embedded .floor-table.table-shape-bar:before{
  content:"";position:absolute;left:9px;right:9px;bottom:6px;height:5px;border-radius:2px;background:currentColor;opacity:.1;pointer-events:none
}
html.turnli-floor-embedded .floor-table[data-capacity-tier="large"] .table-name{font-size:clamp(11px,.9vw,13px)!important}
html.turnli-floor-embedded .floor-table.is-selected{outline:2px solid rgba(96,75,214,.28);outline-offset:2px}
html.turnli-floor-embedded body:not(.is-edit-mode) .resize-handle{display:none!important}
html.turnli-floor-embedded body.is-edit-mode .floor-table.is-selected:not(.status-seated) .resize-handle{min-width:24px!important;min-height:24px!important;display:grid!important;place-items:center!important}
html.turnli-floor-embedded .resize-handle svg{width:12px;height:12px}

/* Host stand and inspector must remain operational on shorter laptops. */
html.turnli-floor-embedded .queue-card{min-width:0}
html.turnli-floor-embedded .queue-card>div{min-width:0}
html.turnli-floor-embedded .queue-name{max-width:100%}
html.turnli-floor-embedded .find-table{flex:0 0 auto}
html.turnli-floor-embedded .inspector{min-width:0;overflow:hidden}
html.turnli-floor-embedded .inspector-content{min-height:0;overflow:auto;overscroll-behavior:contain}
html.turnli-floor-embedded .detail-grid>*{min-width:0;overflow-wrap:anywhere}
html.turnli-floor-embedded .action-grid{grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr))}
html.turnli-floor-embedded .floor-commandbar-v0167{min-width:0}
html.turnli-floor-embedded .floor-commandbar-v0167>*{min-width:0}
html.turnli-floor-embedded .floor-commandbar-v0167 .table-search{min-width:min(160px,100%)}

/* ---------- Data-heavy staff routes ---------- */
:where(.queue-row-v2,.team-row-v5,.team-invite-row-v5,.activity-item-v15,.history-row-v15,.service-row-v15){min-width:0}
:where(.queue-row-v2>*,.team-row-v5>*,.team-invite-row-v5>*,.activity-item-v15>*){min-width:0}
:where(.queue-row-v2 strong,.queue-row-v2 small,.activity-item-v15 strong,.service-row-v15 strong){overflow-wrap:anywhere}

/* ---------- Responsive phone / tablet ---------- */
@media (max-width:820px){
  :root{--tl-vi-page-pad:12px}
  /* Prevent iOS Safari focus zoom while keeping labels and helpers compact. */
  :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),select,textarea){font-size:16px!important}
  :where(button,.btn,.btn-v2,.icon-btn-v2,.icon-text-btn){min-height:var(--tl-vi-touch-h)}
  .public-nav-inner{gap:8px}
  .public-nav-actions{width:100%;justify-content:flex-start}
  :where(.public-shell,.join-shell,.status-shell,.auth-shell,.onboarding-shell){width:calc(100% - 24px)}
  :where(.public-hero-card,.public-section,.join-card-v2,.status-card-v2,.auth-card){border-radius:clamp(14px,4vw,20px)}
  .status-card-v2 .status-brand-row{align-items:flex-start}
  .status-turnli-lockup{flex:0 0 auto}
  .status-card-v2 .status-actions{grid-template-columns:1fr}
  .qr-print-card{width:calc(100% - 20px)}
  .qr-mobile-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .kiosk-body-v15{padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}
  .kiosk-step-v15{padding-inline:clamp(14px,4vw,24px)}
  :where(.modal-backdrop,.drawer-backdrop-v15){align-items:flex-end;padding:0}
  :where(.modal-v2,.modal,.details-drawer-v15){width:100%;max-width:100%;max-height:calc(94dvh - env(safe-area-inset-top));border-radius:20px 20px 0 0;margin:0}
  :where(.modal-actions-v2,.modal-footer-v2,.drawer-actions-v15){padding-bottom:max(12px,env(safe-area-inset-bottom))}
}

@media (max-width:430px){
  .topbar-actions-v2{width:100%;justify-content:flex-start}
  .topbar-actions-v2 .btn{flex:1 1 auto}
  .page-head-v2 h1{font-size:clamp(1.45rem,7.2vw,1.9rem)}
  .join-business-head{align-items:flex-start}
  .join-business-head .business-logo-v19.logo-wide{width:min(150px,48vw)}
  .status-business-mini{max-width:70%}
  .status-turnli-lockup{max-width:30%}
  .tv-shell-v145{padding:16px}
  .kiosk-step-v15 h1{font-size:clamp(1.75rem,9vw,2.4rem)}
  html.turnli-floor-embedded .floor-commandbar-v0167{align-items:stretch}
  html.turnli-floor-embedded .floor-commandbar-v0167 .table-search{width:100%!important;max-width:none!important}
}

/* ---------- Tablet / constrained desktop ---------- */
@media (min-width:821px) and (max-width:1180px){
  body.app-body .sidebar-v2{width:clamp(190px,20vw,218px)}
  body.app-body .topbar-v2{padding-inline:14px}
  .tv-main-v145{grid-template-columns:minmax(0,1.05fr) minmax(280px,.8fr)}
  html.turnli-floor-embedded .floor-workspace{grid-template-columns:minmax(210px,27vw) minmax(0,1fr)!important}
  html.turnli-floor-embedded .inspector{position:fixed;right:10px;top:10px;bottom:10px;width:min(340px,42vw);z-index:90;box-shadow:var(--tl-vi-shadow-float)!important}
}

/* ---------- Short laptop: preserve actions and usable working area ---------- */
@media (min-width:821px) and (max-height:800px){
  body.app-body .sidebar-v2{padding-top:10px;padding-bottom:10px}
  body.app-body .topbar-v2{min-height:56px;padding-block:6px}
  body.app-body .view-shell-v2{padding-top:12px;padding-bottom:16px}
  body.app-body .page-head-v2{margin-bottom:10px}
  body.app-body .page-head-v2 h1{font-size:clamp(1.6rem,2.25vw,2.15rem)}
  .floor-tab-card-v80{height:calc(100dvh - 170px)!important;min-height:500px!important}
  html.turnli-floor-embedded .summary-strip{min-height:42px!important}
  html.turnli-floor-embedded .canvas-toolbar{padding-block:8px!important}
  html.turnli-floor-embedded .inspector-content{max-height:calc(100dvh - 146px)}
  .tv-shell-v145{padding-block:clamp(16px,2.4vh,28px)}
  .kiosk-step-v15{padding-block:clamp(12px,2.4vh,22px)}
}

@media (min-width:821px) and (max-height:720px){
  body.app-body .topbar-v2{min-height:52px}
  body.app-body .page-head-v2 p:not(.view-kicker){display:none}
  .floor-tab-card-v80{height:calc(100dvh - 142px)!important;min-height:440px!important}
  html.turnli-floor-embedded .floor-canvas{min-height:430px}
  html.turnli-floor-embedded .queue-card{min-height:58px}
  html.turnli-floor-embedded .inspector-section{padding-block:10px!important}
}

/* ---------- Ultrawide / 4K ---------- */
@media (min-width:1920px){
  body.app-body .view-shell-v2{max-width:1880px}
  :where(.public-shell,.join-shell,.status-shell){max-width:1180px}
  .tv-shell-v145{max-width:3200px}
  .qr-print-card{max-width:820px}
}
@media (min-width:2560px){
  .tv-shell-v145{padding:clamp(46px,2vw,78px)}
  .tv-card-v145{border-radius:clamp(24px,1.2vw,38px)}
  .tv-now-item-v145 strong{font-size:clamp(4.2rem,3.5vw,7.5rem)}
}

/* ---------- Accessibility / lower-power rendering ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
@media (prefers-reduced-transparency:reduce){
  :where(.public-nav,.topbar-v2,.mobile-nav-v2,.modal-v2,.details-drawer-v15,.kiosk-step-v15,.tv-shell-v145){backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}
@media (forced-colors:active){
  :where(.btn,.btn-v2,.panel-v2,.settings-card-v2,.public-section,.join-card-v2,.status-card-v2,.floor-table){border:1px solid CanvasText!important}
}

/* Print keeps QR high contrast and removes glass/background effects. */
@media print{
  body.qr-print-page{background:#fff!important}
  .qr-print-card{box-shadow:none!important;border:0!important}
  .qr-print-image{background:#fff!important;filter:none!important}
}

/* Staff business identity uses the same resilient logo renderer as customer surfaces. */
.workspace-logo .workspace-logo-render-v21{width:100%;height:100%;border:0;border-radius:inherit;padding:2px;box-shadow:none;background:#fff}
.workspace-logo .workspace-logo-render-v21 img{width:100%;height:100%;object-fit:contain;object-position:center}
.workspace-logo .workspace-logo-render-v21.logo-wide,.workspace-logo .workspace-logo-render-v21.logo-tall{max-width:100%;max-height:100%}

@media(max-width:820px){
  body.has-business-background-v19,body[data-page="live-display"].has-business-background-v19{background-attachment:scroll!important}
}


/* v0.22.4 reliability + constrained-viewport completion layer — packaging boundary preserved through v0.23.0-rc1.17. */
.live-boot-actions-v224{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;width:100%}
.live-boot-actions-v224 .btn{min-width:min(150px,100%)}
:where(.modal-actions-v2,.modal-footer-v2,.modal-actions,.drawer-actions-v15){position:sticky;bottom:0;z-index:6;background:linear-gradient(180deg,rgba(255,255,255,.94),#fff 22%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
html.turnli-floor-embedded :where(.floor-commandbar-v0167 input,.floor-commandbar-v0167 button,.inspector button,.find-table){font-size:max(12px,1em)}
html.turnli-floor-embedded :where(.inspector button,.find-table,.floor-commandbar-v0167 button){min-height:40px}
@media (max-width:820px){
  :where(.public-shell,.join-shell,.status-shell,.kiosk-shell-v15,.modal-v2,.modal,.details-drawer-v15) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),select,textarea){font-size:16px!important;min-height:44px}
  :where(.modal-actions-v2,.modal-footer-v2,.modal-actions,.drawer-actions-v15){padding-bottom:max(12px,env(safe-area-inset-bottom));flex-wrap:wrap}
  :where(.modal-actions-v2,.modal-footer-v2,.modal-actions,.drawer-actions-v15) .btn{min-height:44px}
  html.turnli-floor-embedded :where(.floor-commandbar-v0167 input,.table-search input){font-size:16px!important;min-height:44px}
  html.turnli-floor-embedded :where(.inspector button,.find-table,.floor-commandbar-v0167 button){min-height:44px}
}
@media (min-width:821px) and (max-height:800px){
  :where(.modal-v2,.modal,.details-drawer-v15){max-height:calc(100dvh - 24px)}
  :where(.modal-actions-v2,.modal-footer-v2,.modal-actions,.drawer-actions-v15){box-shadow:0 -8px 18px rgba(34,28,68,.06)}
}
