/* Last screen layer: finger-sized controls without enlarging printed reports. */
@media screen and (max-width:700px), screen and (any-pointer:coarse){
 /* The minimums intentionally override the compact desktop control sizes. */
 body :is(button,a.btn,summary,[role="button"]){
  min-height:48px!important;min-width:48px!important;max-width:100%;
  touch-action:manipulation;line-height:1.35;white-space:normal;
  -webkit-tap-highlight-color:#1768e52b;
 }
 body :is(button,a.btn,[role="button"]){overflow-wrap:anywhere}
 body :is(button,a.btn,summary,[role="button"]):focus-visible{outline:3px solid #1768e5;outline-offset:3px}
 body button:not(:disabled):active,body a.btn:active{filter:brightness(.94)}
 body [hidden]{display:none!important}
 body button.link{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--primary);font:inherit;text-align:left}
 .sidebar button.link{color:inherit}
 body :is(input,select,textarea):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]){
  min-height:48px!important;font-size:16px!important;max-width:100%;
  scroll-margin-block:5rem;
 }
 body textarea{line-height:1.5;min-height:104px!important}
 body summary{padding:12px 10px;line-height:1.4}
 body :is(.actions,.tabs,.period-tabs,.weekly-result-actions){gap:8px}
 .workspace .actions,dialog .actions{gap:8px}
 body label:has(>input:is([type="checkbox"],[type="radio"])),.mode-menu label{
  min-height:48px!important;display:flex;align-items:center;gap:12px;padding:8px;cursor:pointer;line-height:1.4;
 }
 body input:is([type="checkbox"],[type="radio"]){flex:0 0 auto;accent-color:var(--primary)}
 body .mode-menu fieldset{gap:8px}
 body .mode-menu legend,body .mode-menu .mode-hint{font-size:13px;line-height:1.5}
 body .mode-menu label{font-size:16px}
 body .mode-picker summary{min-height:48px;padding:12px}
 .workspace .table a[href],.field-record a[href]{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:6px 4px;overflow-wrap:anywhere;white-space:normal}
 body .liters-client-count.link{display:inline-flex;align-items:center;min-height:44px!important;padding:6px 4px;font-size:13px;line-height:1.35}
 .funnel-stage .pipeline-liters .liters-client-count{display:flex;min-width:48px}
 .dashboard-charts .funnel-row{min-height:64px;gap:8px}
 .dashboard-charts .funnel-shape{min-height:64px}
 .table-wrap{overscroll-behavior-x:contain}
 dialog{overscroll-behavior:contain;scroll-padding-block:5rem 1rem}
 dialog>.panel-head{position:sticky;top:-1px;z-index:3;background:#fff;padding:8px 0;border-bottom:1px solid var(--line);align-items:center;gap:12px}
 dialog>.panel-head h2{min-width:0;overflow-wrap:anywhere}
 dialog>.panel-head>button{flex:0 0 auto}
 dialog .actions>button[type="submit"]{flex:1 1 100%;width:100%}
 dialog .actions>.form-msg{flex:1 1 100%;max-width:100%}
 #field-capture>.actions{margin-top:8px}
 #field-capture>.actions>button[type="submit"]{min-height:52px!important;font-size:16px}
 .sidebar-tools>.sidebar-tool{font-size:14px}
 .sidebar .nav{gap:8px}
 .sidebar .nav button{padding:12px;font-size:15px}
 .direction-nav-group>summary{padding:12px 10px}
}
@media screen and (min-width:701px) and (any-pointer:coarse){
 .sidebar-toggle{width:48px;left:calc(var(--sidebar-width) - 24px);background:#153c63}
 .app-shell.sidebar-collapsed .sidebar-toggle{left:0}
}
@media screen and (max-width:700px){
 body{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
 .sidebar.mobile-ready .sidebar-tools{gap:8px}
 .sidebar.mobile-ready .sidebar-tools>.mobile-menu-toggle,.sidebar.mobile-ready .sidebar-tools>.account-password{padding:12px 8px}
 .sidebar.mobile-ready .sidebar-tools>.push-settings{padding:12px}
 .sidebar.mobile-ready.mobile-menu-open>.nav{max-height:60dvh;gap:8px;overscroll-behavior-y:contain}
 .workspace .topbar{align-items:stretch;gap:8px}
 .workspace .topbar>#task-alert,.workspace .topbar>#field-pending-button{justify-content:center;flex:1 1 150px;width:auto}
 .workspace .task-traffic{justify-content:center;width:100%;min-height:46px}
 .workspace .actions>button,.workspace .actions>a.btn{flex:1 1 140px}
 .workspace .table.mobile-cards td .actions{gap:8px}
 .workspace .table.mobile-cards td .actions>button{margin:0}
 .workspace .filters .btn,.workspace .period-tabs .btn{width:100%}
 .workspace .period-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .workspace .filters .field{min-width:0!important}
 .workspace .page{padding-bottom:max(1rem,env(safe-area-inset-bottom,0px))}
 .login-main{padding-bottom:max(1.25rem,env(safe-area-inset-bottom,0px))}
 .login-form .actions{align-items:stretch;gap:8px}
 .login-form .actions>button{width:100%;justify-content:center}
 dialog:not(.field-camera-dialog){position:fixed;inset:auto;top:calc(var(--pulso-viewport-top,0px) + 8px);left:0;right:0;margin:0 auto;width:calc(100% - 16px);max-width:calc(100% - 16px);max-height:min(94dvh,calc(var(--pulso-viewport-height,100dvh) - 16px));padding:12px;overflow-y:auto}
 dialog:not(.field-camera-dialog){scroll-padding-top:8rem}
 dialog>.panel-head{flex-wrap:wrap}
 dialog>.panel-head h2{flex:1 1 140px;margin:0;font-size:1rem}
 dialog>.panel-head>button{max-width:100%;font-size:14px}
 dialog .actions>button{flex:1 1 100%;width:100%}
 dialog .field input,dialog .field select{padding:12px}
 dialog.field-camera-dialog{top:calc(var(--pulso-viewport-top,0px) + 8px);bottom:auto;margin:0 auto;height:min(760px,calc(var(--pulso-viewport-height,100dvh) - 16px));max-height:calc(var(--pulso-viewport-height,100dvh) - 16px)}
 .field-camera-dialog video{max-height:min(48dvh,calc(var(--pulso-viewport-height,100dvh) * .48))}
 .field-camera-dialog .actions{gap:8px}
 #pulso-domain-transition .actions>button{width:100%;flex:1 1 100%}
}
@media screen and (max-width:700px) and (display-mode:standalone){
 body{padding-top:env(safe-area-inset-top,0px)}
}
