/* Shared device layout. Keep operational callbacks, brand assets and role access. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0}
.app-shell{grid-template-columns:245px minmax(0,1fr)}
.page,.topbar,.card,.field-group,.form>*,.grid>*{min-width:0}
.page img,.modal-card img,.public-doc img{max-width:100%}
.page h1,.page h2,.page h3,.modal-head h2{overflow-wrap:anywhere}
.table-wrap,.agc-premium-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.signature-wrap canvas{max-width:100%;touch-action:none}
input[type=checkbox],input[type=radio]{width:18px!important;height:18px!important;min-height:18px!important;max-height:18px;flex:0 0 18px;padding:0!important}
.consent-declaration{gap:10px;font-size:14px;line-height:1.5}
.agc-visit-order .kv{display:flex;justify-content:space-between;min-width:0}
.agc-visit-order .kv>span{min-width:0}
.agc-visit-order .kv>b{flex:none}
@media(min-width:981px) and (max-width:1199px){
 .app-shell{grid-template-columns:190px minmax(0,1fr)}
 .sidebar{padding:14px 8px}.brand{gap:7px;padding-inline:4px}.brand strong{font-size:11px}
 .topbar{padding:18px 18px 10px}.page{padding-inline:18px}
 .grid.two,.grid.equal-two{grid-template-columns:minmax(0,1fr)}
 .grid.three,.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
 body{padding-bottom:0}
 .app-shell{display:block;min-height:100dvh}
 .sidebar{height:100dvh;padding-top:calc(15px + env(safe-area-inset-top));padding-bottom:calc(15px + env(safe-area-inset-bottom))}
 .mobile-header{height:auto;min-height:60px;padding-top:calc(8px + env(safe-area-inset-top));padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
 .mobile-brand{flex:1;gap:7px}.mobile-brand strong{white-space:normal;font-size:11px;line-height:1.25}
 .mobile-brand img{flex:none;object-fit:contain}
 .bottom-nav{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:stretch}
 .bottom-nav button{min-width:0;min-height:52px;font-size:10px;line-height:1.2;white-space:normal}
 .bottom-nav button b{margin-bottom:4px}
 .page{padding-bottom:calc(86px + env(safe-area-inset-bottom))}
 .top-actions{width:100%;justify-content:flex-start;gap:8px}
 .top-actions .btn{min-height:44px}
 .btn,.btn.small,.header-icon,.icon-btn,.agc-nav-control{min-height:44px}
 .agc-nav-control{min-width:44px;width:44px;height:44px}
 input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea,.form.compact-form input,.form.compact-form select,.clean-intake input,.clean-intake select{font-size:16px!important;min-height:44px}
 #staffPin{font-size:24px!important}
 .agc-keyboard-open .bottom-nav{display:none}
 .agc-keyboard-open .page{padding-bottom:24px}
 .modal-card{min-width:0}.modal-head{gap:10px}.modal-head h2{min-width:0}
 .public-doc{padding:12px}.public-doc .public-a4{width:100%;min-width:0;padding:18px}
 .public-doc-actions{flex-wrap:wrap}
}
@media(max-width:640px){
 .page{padding-inline:max(10px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-right))}
 .topbar{padding:12px 10px 8px;gap:8px}.topbar-title-row{flex-basis:100%}.topbar h1{font-size:21px;line-height:1.2}
 .card{padding:14px}.section-head{flex-wrap:wrap}
 .form,.form.compact-form,.inline-fields,.grid.two,.grid.equal-two{grid-template-columns:minmax(0,1fr)}
 .form .full{grid-column:auto}
 .agc-visit-heading{padding:16px;flex-wrap:wrap;gap:12px}.agc-visit-heading>div:last-child{text-align:left}
 .agc-visit-heading h2{font-size:22px}.agc-visit-heading strong{font-size:22px}
 .agc-visit-body{padding:16px}.agc-visit-condition{padding:12px}
 .agc-visit-stages{flex-wrap:nowrap;overflow-x:auto;padding:10px 16px}.agc-visit-stages span{flex:none}
 .agc-visit-footer{padding:14px 16px}.agc-visit-footer .btn{flex:1 1 auto}
 .agc-visit-doc-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .agc-visit-doc-actions .btn{font-size:12px;min-height:44px}
 .agc-compact-calendar{width:100%;max-width:360px}.agc-compact-days button{min-height:40px;font-size:12px}
 .agc-premium-directory{padding:14px}.agc-premium-donut-layout{flex-wrap:wrap}
 .agc-premium-targets{grid-template-columns:minmax(0,1fr)}
 .table-wrap{margin-inline:0;border-radius:10px}
 .consent-declaration{font-size:14px;line-height:1.5}
 .public-doc .public-a4{padding:14px}.public-doc .agc-copy-brand{gap:10px}.agc-copy-brand h2{font-size:18px}
}
@media print{.bottom-nav,.mobile-header{display:none!important}body,.page{padding:0!important}}

.agc-pin-keypad button{touch-action:manipulation;-webkit-user-select:none;user-select:none;}
.agc-sale-list-total{display:block;margin:8px 0;font-size:18px;}
