/* Final mobile layer: consistent viewport, touch controls and contained content. */
@media(max-width:900px) {
  :root { --mobile-nav-h:64px; --mobile-dock-h:64px; --mobile-bottom:calc(var(--mobile-nav-h) + var(--mobile-dock-h) + env(safe-area-inset-bottom)); }
  html,body { width:100%; min-width:0; }
  .app,.main { width:100%; height:100dvh; min-width:0; }
  .topbar { padding:calc(8px + env(safe-area-inset-top)) 12px 8px; gap:8px; min-height:60px; }
  .topbar .page-title { font-size:18px; line-height:1.3; }
  .topbar .mobile-header-actions { gap:6px; }
  .topbar .mobile-header-actions>button { width:44px; min-width:44px; }
  .content { margin-bottom:var(--mobile-bottom); padding:16px 12px 24px; scroll-padding:16px 0 24px; overscroll-behavior-y:contain; }
  .content-inner,#view,#view>section,#view>div { min-width:0; max-width:100%; }
  .mobile-action-dock { height:var(--mobile-dock-h); box-sizing:border-box; bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom)); padding:8px 12px; gap:12px; }
  .mobile-action-dock .mobile-bottom-automation { flex:1; justify-content:center; min-width:0; border-radius:10px; min-height:44px; height:44px; font-size:13px; }
  .mobile-action-dock .mobile-add { height:44px; min-height:44px; width:44px; border-radius:12px; }
  #mobileNav { height:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom)); padding:4px 6px calc(4px + env(safe-area-inset-bottom)); }
  .mobile-nav-item { min-height:52px; font-size:11px; gap:3px; }
  .card { border-radius:12px; }
  .card-pad { padding:16px; }
  .card-head { gap:12px; margin-bottom:16px; }
  .card-head>*,.row>div,.field { min-width:0; }
  .card-head>.row { width:100%; gap:10px; }
  .card-title { font-size:15px; line-height:1.4; overflow-wrap:anywhere; }
  .btn { min-height:44px; justify-content:center; padding:10px 12px; line-height:1.35; white-space:normal; touch-action:manipulation; }
  .icon-btn { min-width:44px; min-height:44px; touch-action:manipulation; }
  .field input,.field select,.field textarea,.input,.mail-search input,.mail-chart-field select,.mail-chart-field input { font-size:16px; min-width:0; max-width:100%; box-sizing:border-box; }
  .field input,.field select,.input { min-height:44px; }
  .field textarea { min-height:110px; }
  .command-intro { padding-right:0; min-height:0; margin-bottom:18px; gap:12px; }
  .command-intro h1 { font-size:26px; }
  .command-intro p { font-size:13px; line-height:1.6; }
  .command-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .metric-card { padding:14px; min-height:110px; gap:8px; }
  .metric-copy strong { font-size:25px; line-height:1.2; }
  .metric-copy small { font-size:12px; line-height:1.4; }
  .metric-copy em { font-size:11px; line-height:1.5; }
  .metric-arrow { display:none; }
  .tile-row,.tile-row.tight { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .tile-row>* { min-width:0; padding:12px; }
  .split-wide,.command-layout { grid-template-columns:minmax(0,1fr); gap:16px; }
  .live-rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .live-rail>* { min-width:0; padding:14px; }
  .live-rail .btn { grid-column:1/-1; }
  .workflow-console-head { padding:18px 16px; gap:14px; }
  .workflow-identity { min-width:0; }
  .workflow-identity h2 { font-size:20px; overflow-wrap:anywhere; }
  .workflow-actions { padding:16px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .workflow-actions .btn { width:100%; }
  .workflow-actions small { grid-column:1/-1; text-align:left; }
  .workflow-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .workflow-mini { min-width:0; padding:14px; }
  .workflow-mini strong { white-space:normal; overflow:visible; font-size:18px; overflow-wrap:anywhere; }
  .workflow-feed { padding:16px; }
  .execution-row { grid-template-columns:3px minmax(0,1fr); gap:8px; }
  .execution-row>.badge { grid-column:2; justify-self:start; }
  .execution-row strong,.execution-row small { white-space:normal; overflow-wrap:anywhere; }
  .table-tools { gap:8px; padding:12px 0; }
  .table-tools select { flex:1 1 110px; min-width:0; min-height:44px; font-size:14px; }
  .table-tools .btn { flex:1 1 auto; }
  #view tbody tr { padding:14px; margin-bottom:10px; }
  #view tbody td { grid-template-columns:minmax(76px,.32fr) minmax(0,1fr); gap:10px; font-size:13px; line-height:1.5; }
  #view tbody td::before { font-size:11px; line-height:1.5; }
  #lwExecFeed { overflow:visible; }
  .mail-app { height:auto; min-height:0; overflow:visible; }
  .mail-appbar { height:auto; gap:10px; }
  .mail-appbar-title { display:flex; width:auto; }
  .mail-appbar-actions { margin-left:auto; }
  .mail-appbar-actions .btn { font-size:12px; }
  .mail-appbar-actions .icon-btn { display:inline-flex; }
  .mail-search { flex:1 1 100%; order:3; min-height:44px; width:100%; }
  .mail-columns { height:auto; min-height:0; display:block; overflow:visible; }
  .mail-folders { display:none; }
  .mail-list-pane { display:flex; overflow:visible; }
  .mail-message-list { max-height:none; overflow:visible; }
  .mail-message { min-height:90px; padding:14px 12px; }
  .mail-message-line time { font-size:12px; }
  .mail-mobile-folders { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:12px; }
  .mail-mobile-folders button { min-height:44px; font-size:13px; }
  .mail-connection-warning { position:static; margin:12px; }
  .mail-reader-content img { max-width:100%; height:auto; }
  .drawer .mail-reader-content { overflow-wrap:anywhere; }
  .drawer .mail-reader-content table { max-width:100%; }
  .drawer-body { min-height:0; overflow:auto; }
  .drawer-foot,#drawerFoot { gap:8px; }
  .drawer-foot .btn,#drawerFoot .btn { flex:1 1 120px; }
  .toasts { bottom:calc(var(--mobile-bottom) + 12px); left:12px; right:12px; }
  .toast { min-width:0; max-width:100%; width:100%; box-sizing:border-box; }
  .mail-chart-controls { align-items:stretch; }
  .mail-chart-filters { width:100%; margin-left:0; }
  .mail-chart-field { min-width:0; flex:1 1 115px; }
  .mail-chart-custom .mail-chart-field:first-child { flex-basis:100%; }
  .mail-chart-custom .mail-chart-field:not(:first-child) { flex-basis:140px; }
}
@media(max-width:380px) {
  .content { padding-left:10px; padding-right:10px; }
  .card-pad { padding:12px; }
  .page-title { font-size:16px; }
  .workflow-actions { grid-template-columns:1fr; }
  .metric-card { padding:12px; }
  .metric-copy strong { font-size:23px; }
  .live-rail { grid-template-columns:1fr; }
  .mail-appbar-title small { display:none; }
}
@media(max-width:900px) and (orientation:landscape) and (max-height:500px) {
  :root { --mobile-nav-h:52px; --mobile-dock-h:56px; }
  .topbar { min-height:52px; padding-top:4px; padding-bottom:4px; }
  .mobile-nav-item { min-height:44px; flex-direction:row; gap:6px; }
  .content { padding-top:12px; }
}
