/* Phone and tablet interaction layer. */
html{scroll-padding-top:160px}img,video{max-width:100%}input,select,textarea{scroll-margin-block:100px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}dialog{overscroll-behavior:contain}body:has(dialog[open]){overflow:hidden}dialog .close{position:sticky;top:0;z-index:3;min-width:44px;min-height:44px}#checkin-form{display:grid;gap:14px}#checkin-form .field{margin-bottom:0}.service-line{min-width:0}.service-line>*{min-width:0}
@media(max-width:1099px){
input,select,textarea,.view-admin .settings-actions input,.view-admin .settings-actions select{font-size:16px!important;min-height:48px}button,.primary,.secondary,.danger{min-height:44px}.top .actions a{padding:10px 0}.wrap{padding:0 24px}.headrow{flex-wrap:wrap}.job{align-items:flex-start}.job-right{min-width:200px;max-width:48%}.job-right .actions{justify-content:flex-end}.job-right .actions button{flex:1}.ledger{flex-wrap:wrap}.calendar-head{flex-wrap:wrap}.settings-actions{max-width:calc(100vw - 32px)}.view-admin .settings-actions{max-height:65dvh}.view-client #booking-start{grid-template-columns:1fr;gap:20px}.view-client .intro{position:static}.view-client .intro:after{display:none}.view-client .intro h1 br{display:none}.view-client .intro{margin-bottom:0}dialog{width:calc(100% - 40px);max-width:720px;max-height:90dvh;padding:28px}.demo-view-switcher a{min-height:44px;display:flex;align-items:center;padding:8px 12px}.demo-view-switcher{height:64px}body.has-view-switcher{padding-top:64px}.has-view-switcher.view-website>header,.has-view-switcher>.nav{top:64px}.view-website .slide-copy{padding:30px}.view-website .service-slide{min-height:0}
}
@media(min-width:651px) and (max-width:1099px){.view-staff .stats{grid-template-columns:repeat(3,minmax(0,1fr))}.transaction-start{grid-template-columns:repeat(2,minmax(0,1fr))}.view-admin #content.overview-layout{grid-template-columns:1fr}.view-admin .method-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.view-admin .method-card{display:flex;flex-direction:column;align-items:flex-start;border:0}.view-client .booking-route{display:flex;flex-wrap:wrap;gap:20px}.view-website .hero h1{font-size:48px}.view-website .hero-content{padding-top:150px}}
@media(max-width:650px){
.demo-view-switcher{height:64px;padding:8px 6px;gap:3px;justify-content:stretch}.demo-view-switcher a{flex:1;justify-content:center;text-align:center;white-space:normal;font-size:11px;line-height:15px;padding:6px 4px;min-width:0}.top{height:76px;padding:6px 16px;gap:8px}.top .actions{max-width:52%;gap:4px}.top a:not(.logo){font-size:11px}.wrap{padding:0 14px;margin:22px auto}.headrow{gap:16px}.headrow h1{font-size:30px}.panel{padding:18px;border-radius:14px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.view-staff .stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.view-staff .stat{padding:14px 10px}.view-staff .stat small{font-size:11px;line-height:1.5;display:block}.view-staff .stat strong{font-size:27px}.transaction-start{grid-template-columns:1fr;gap:10px}.transaction-start button{min-height:88px;padding:20px}.transaction-start b{font-size:18px}.job{padding:18px;gap:16px}.job-right{max-width:none;width:100%;min-width:0}.job-right .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.job-right .actions button{font-size:13px;padding:10px 8px;min-height:48px}.job p{overflow-wrap:anywhere}.job h3{font-size:19px}.grid{grid-template-columns:1fr}.summary{grid-template-columns:1fr 1fr;gap:14px}.summary strong{overflow-wrap:anywhere}.toolbar{padding:12px}.ledger{gap:12px}.ledger>div:first-child{flex-basis:60%}.ledger button{min-height:44px}.ledger-disclosure>summary,.checkin-extras>summary{min-height:44px;align-content:center}.view-admin .ledger-disclosure>summary{min-height:44px}.day{min-height:68px;padding:6px 4px}.day small{font-size:10px;overflow-wrap:anywhere}.calendar-panel{overflow:hidden}.calendar-grid{gap:3px}.calendar-head .actions{flex-wrap:wrap}.view-admin .settings-actions{width:min(340px,calc(100vw - 28px));padding:16px}.view-admin .settings-actions .admin-period{grid-template-columns:1fr}.view-admin .settings-actions .admin-period label{grid-column:1/-1}.view-admin .settings-actions button{min-height:44px}.view-admin .period-toggle button{min-height:44px}.view-admin .settings-toggle{width:48px;height:48px}.view-admin .settings-actions{top:62px}
dialog{width:calc(100% - 16px);max-width:none;max-height:calc(100dvh - 16px);padding:20px 16px calc(20px + env(safe-area-inset-bottom));border-radius:16px;margin:auto}.dialog-title{font-size:25px;margin-right:44px}.payment-total{padding:18px}.payment-total strong{font-size:30px}.service-line{padding:14px;gap:10px}.service-line .danger{min-height:44px}.checkin-extras{padding:12px}#transaction-form>.primary,#checkin-form>.primary{min-height:52px}dialog .panel{padding:16px}dialog .actions{gap:8px}dialog .actions>button{flex:1}dialog .field{font-size:14px}.view-client .panel{padding:20px 16px}.view-client .intro{padding:24px}.choice{padding:18px;min-height:96px}.view-client .check{font-size:13px}.view-client .check input{min-height:18px}.view-client .choice input{min-height:18px}.view-website .hero-content{padding:120px 6% 135px}.view-website .hero{min-height:600px}.view-website .hero h1{font-size:clamp(30px,8vw,44px)}.view-website header{height:80px}.view-website .button.small{min-height:44px}.view-website .carousel-controls{flex-wrap:wrap;gap:6px}.view-website .carousel-controls button{min-height:44px;font-size:11px}.view-website .slide-copy{padding:26px}.view-website .slide-image{height:260px}.view-website footer{flex-wrap:wrap;gap:16px}.foot{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
}
@media(max-height:550px) and (orientation:landscape){dialog{max-height:calc(100dvh - 12px);padding-top:16px}.dialog-title{margin-top:0}.view-website .hero-content{padding-top:110px}}
/* Staff workspace navigation */
.view-staff>.nav{display:flex;position:fixed;left:0;top:180px;bottom:0;width:190px;flex-direction:column;justify-content:flex-start;gap:8px;padding:24px 14px;background:#fff;border-right:1px solid #e4e5e9;border-bottom:0;overflow-y:auto;z-index:5}.view-staff>.nav button{flex:none;text-align:left;white-space:normal;font-size:14px;padding:14px;min-height:48px}.view-staff>.nav button.active{background:#fff0f2;color:#bc1930;box-shadow:inset 3px 0 #e6243c}.view-staff>.wrap{margin-left:190px;max-width:none}.view-staff>.foot{margin-left:190px}.view-staff #content:has(#client-results){background:#fff;border:1px solid #e4e5e9;border-radius:14px;padding:24px}.view-staff #content:has(#client-results)>.dialog-title{display:none}
@media(max-width:1099px){.view-staff>.nav{top:184px;width:160px;padding:16px 10px}.view-staff>.wrap,.view-staff>.foot{margin-left:160px}}
@media(max-width:650px){.view-staff>.nav{top:0;bottom:auto;position:sticky;width:100%;flex-direction:row;padding:8px;gap:6px;justify-content:flex-start;border-right:0;border-bottom:1px solid #e4e5e9}.has-view-switcher.view-staff>.nav{top:64px}.view-staff>.nav button{flex:1;text-align:center;padding:10px 6px;font-size:12px;min-height:48px}.view-staff>.wrap,.view-staff>.foot{margin-left:0}.view-staff #content:has(#client-results){padding:16px}}
.view-admin #content:has(#client-results){display:block;background:#fff;border:1px solid #e4e5e9;border-radius:14px;padding:24px;min-width:0}.view-admin #content:has(#client-results)>.dialog-title{display:none}@media(max-width:650px){.view-admin #content:has(#client-results){padding:16px}.view-admin>.nav{overflow-x:auto}.view-admin>.nav button{white-space:nowrap}}
