/* Mobile web app: safe areas, accessible controls and compact navigation. */
html { -webkit-text-size-adjust:100%; }
body { padding-top:max(20px,env(safe-area-inset-top)); padding-bottom:max(40px,env(safe-area-inset-bottom)); }
button,a,input,select,summary { -webkit-tap-highlight-color:transparent; }
.chart-readout { overflow-wrap:anywhere; }
@media (pointer:coarse) {
 button,select,input:not([type=checkbox]),summary,.tabs a { min-height:44px; }
 input,select,textarea { font-size:16px!important; }
 .chart { touch-action:pan-y pinch-zoom; }
}
@media(max-width:600px) {
 body { padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right)); }
 header { grid-template-columns:minmax(0,1fr) auto;gap:10px; }
 header .head-btns { grid-column:2;grid-row:1;justify-self:end; }
 header .tabs { grid-column:1/-1;grid-row:2;flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin; }
 header .tabs a { flex:0 0 auto; }
 header .brand h1 { font-size:23px; }
 .wrap,.card,.col,.trading-workspace>* { min-width:0; }
 dialog { max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow-y:auto; }
 .profile-menu { max-width:calc(100vw - 24px);max-height:calc(100dvh - 110px);overflow-y:auto; }
 .chart-readout { min-height:8em;font-size:12px; }
 #zoom-info,#rp-zoom-info { flex:1 1 100%; }
 .tbl-wrap { max-width:100%;overflow-x:auto; }
}
