/* QSH V1.0.7 candidate · touch-first tablet 8.7 + phone 6 */
.app[data-view="pos"] .btn,.app[data-view="pos"] button,.app[data-view="pos"] input,.app[data-view="pos"] select{min-height:48px}
.app[data-view="pos"] input,.app[data-view="pos"] select{font-size:16px}
.pos-mobile-tabs{display:none}
.pos-today{display:grid;gap:8px;margin-bottom:12px}
#posToday{display:grid;gap:6px}
.pos-appt{display:grid;grid-template-columns:52px minmax(0,1fr);gap:2px 8px;width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-align:left;color:var(--ink)}
.pos-appt b{grid-row:1/3;color:var(--gold-2)}.pos-appt span{font-weight:700}.pos-appt small{color:var(--muted)}
.pos-customer-line,.pos-customer-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.pos-customer-meta{margin:8px 0}
.pos-next,.pos-note{margin:8px 0;padding:9px 10px;border-radius:10px;background:var(--bg-subtle);font-size:12px}.pos-note{border-left:3px solid var(--gold)}
.pos-pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.pos-pay-grid .pay-method{width:100%;border-radius:12px}
.split-pay-rows{display:grid;gap:8px;margin:12px 0}.split-pay-row{display:grid;grid-template-columns:1fr 1.2fr;gap:8px}.split-pay-row select,.split-pay-row input{min-height:48px;font-size:16px}
.booking-touch{max-width:620px;margin:0 auto}.booking-touch select,.booking-touch input,.booking-touch textarea{min-height:50px;font-size:16px}
.booking-policy{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--bg-subtle)}.booking-policy span{font-size:12px;color:var(--muted);line-height:1.5}
.booking-submit{min-height:54px;font-size:15px}
@media(min-width:981px) and (max-width:1366px){
.app[data-view="pos"] .topbar{height:58px;padding:7px 12px}
.app[data-view="pos"] .app-shell{grid-template-columns:minmax(0,1fr);min-height:calc(100vh - 58px)}
.app[data-view="pos"] .app-rail{display:none}
.app[data-view="pos"] .main[data-context="pos"]{height:calc(100vh - 58px);padding:8px 10px;overflow:hidden}
.app[data-view="pos"] .main[data-context="pos"]>.page-head{margin:0 0 6px}.app[data-view="pos"] .page-head h1{font-size:24px}.app[data-view="pos"] .page-head p{display:none}
.app[data-view="pos"] .pos{height:calc(100vh - 118px);grid-template-columns:minmax(225px,.72fr) minmax(390px,1.35fr) minmax(285px,.9fr);gap:8px}
.app[data-view="pos"] .panel{height:100%!important;max-height:none!important;overflow:auto!important;padding:10px!important;border-radius:14px!important}
.app[data-view="pos"] .catalog{grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:7px}.app[data-view="pos"] .item{min-height:76px;padding:10px 11px;border-radius:12px}
.app[data-view="pos"] .bottom-nav{display:none!important}
}
@media(min-width:768px) and (max-width:980px){
.app[data-view="pos"] .app-rail{display:none}.app[data-view="pos"] .app-shell{display:block}.app[data-view="pos"] .main[data-context="pos"]{padding:9px 10px}
.app[data-view="pos"] .pos{grid-template-columns:minmax(230px,.82fr) minmax(0,1.18fr);gap:8px}.app[data-view="pos"] .pos-pane-cart{grid-column:1/-1}
.app[data-view="pos"] .panel{padding:11px}.app[data-view="pos"] .catalog{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
.app[data-view="pos"] .main[data-context="pos"]{padding:8px 8px calc(var(--mobile-nav) + 14px + env(safe-area-inset-bottom))}
.app[data-view="pos"] .pos-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.app[data-view="pos"] .pos-head h1{font-size:22px}.app[data-view="pos"] .pos-head p{display:none}
.pos-mobile-tabs{position:sticky;top:0;z-index:70;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:6px 0;background:var(--ivory)}
.pos-mobile-tabs .btn{min-height:44px;padding:8px 6px}
.app[data-view="pos"] .pos{display:block}.app[data-view="pos"] .pos-pane{display:none}.app[data-view="pos"] .pos-pane.pos-pane-active{display:block}
.app[data-view="pos"] .panel{min-height:0!important;padding:11px!important;border-radius:14px!important}.app[data-view="pos"] .catalog{grid-template-columns:1fr;gap:7px}.app[data-view="pos"] .item{min-height:70px;padding:10px 12px}
.app[data-view="pos"] .payment-panel #cart{max-height:300px}.app[data-view="pos"] #checkout{position:sticky;bottom:calc(var(--mobile-nav) + 10px + env(safe-area-inset-bottom));z-index:80;min-height:54px}
.app[data-view="pos"] .dhub{display:none}
.booking-date-time{grid-template-columns:1fr 1fr}.booking-touch{padding:14px}.booking-touch .field{margin:0}.booking-submit{position:sticky;bottom:calc(var(--mobile-nav) + 10px + env(safe-area-inset-bottom));z-index:40;width:100%}
}
@media(max-width:430px){.split-pay-row{grid-template-columns:1fr}.booking-date-time{grid-template-columns:1fr}.pos-pay-grid{grid-template-columns:1fr 1fr}}
@media(max-width:767px){
.app[data-view="pos"] .pos .pos-pane{display:none!important}
.app[data-view="pos"] .pos .pos-pane.pos-pane-active{display:block!important}
.app[data-view="pos"] .pos .pos-pane.pos-pane-cart.pos-pane-active{display:flex!important;flex-direction:column}
.app[data-view="pos"] .pos-pane-cart #checkout{position:static!important;bottom:auto!important;margin-top:8px}
}

/* V1.0.7 RBAC admin */
.rbac-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,180px) auto;gap:8px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.rbac-row small{display:block;color:var(--muted);margin-top:2px}.rbac-row select{min-height:44px}.rbac-row .btn{min-height:44px}
@media(max-width:767px){.rbac-row{grid-template-columns:1fr}.rbac-row select,.rbac-row .btn{width:100%}}
