body.awq-mobile {
  padding-bottom: calc(78px + env(safe-area-inset-bottom));
}
body.awq-mobile .occ-nav-bar,
body.awq-mobile .occ-status-strip,
body.awq-mobile .occ-site-footer,
body.awq-mobile #board-container,
body.awq-mobile .fs-toolbar,
body.awq-mobile .flt-toolbar,
body.awq-mobile #flight-loading { display: none !important; }
body.awq-mobile .occ-content-area { min-height: 70dvh; padding: 10px 12px 30px; }
body.awq-mobile .view-section { min-width: 0; }
body.awq-mobile .mobile-flight-board { max-width: 720px; margin: 0 auto; }
body.awq-mobile .mobile-flight-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin: 8px 2px 18px; }
body.awq-mobile .mobile-flight-heading small { color:var(--accent-primary); font:700 10px var(--font-mono); letter-spacing:.12em; }
body.awq-mobile .mobile-flight-heading h1 { margin:5px 0 0; font:800 28px var(--font-display); }
body.awq-mobile .mobile-flight-heading p { margin:3px 0 0; color:var(--text-muted); font-size:12px; }
body.awq-mobile .mobile-flight-tools { display:flex; gap:8px; margin-bottom:10px; }
body.awq-mobile .mobile-flight-tools input { flex:1; min-width:0; min-height:46px; padding:0 14px; border:1px solid var(--border-light); border-radius:10px; background:var(--bg-panel); color:var(--text-primary); font:500 14px var(--font-ui); }
body.awq-mobile .mobile-flight-tools button { min-height:46px; }
body.awq-mobile .mobile-flight-selection { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
body.awq-mobile .mobile-flight-selection p { flex-basis:100%; margin:0; color:var(--text-muted); font-size:12px; }
body.awq-mobile .mobile-flight-selection [hidden] { display:none; }
body.awq-mobile .mobile-flight-card.selected { border-color:var(--accent-primary); }
body.awq-mobile .mobile-card-actions [data-mobile-select] { padding:0 8px; }
body.awq-mobile .mobile-card-actions [data-mobile-select][aria-pressed="true"] { color:var(--accent-primary); background:var(--nav-bg-active); border-color:var(--accent-primary); }
body.awq-mobile .mobile-filter-row { display:flex; gap:7px; overflow-x:auto; padding:2px 1px 12px; scrollbar-width:none; }
body.awq-mobile .mobile-filter-row button { min-height:40px; padding:0 14px; border:1px solid var(--border-light); border-radius:999px; background:var(--bg-panel); color:var(--text-secondary); font:700 10px var(--font-ui); letter-spacing:.06em; }
body.awq-mobile .mobile-filter-row button.active { border-color:var(--accent-primary); background:var(--nav-bg-active); color:var(--accent-primary); }
body.awq-mobile .mobile-flight-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px; margin:0 0 10px; padding:12px; border:1px solid var(--border-light); border-radius:14px; background:var(--bg-panel); box-shadow:var(--shadow-soft); }
body.awq-mobile .mobile-card-main { display:flex; flex-direction:column; align-items:flex-start; min-width:0; gap:5px; padding:2px; border:0; background:transparent; color:inherit; text-align:left; }
body.awq-mobile .mobile-flight-title { color:var(--accent-primary); font:800 21px var(--font-display); }
body.awq-mobile .mobile-route { font:700 15px var(--font-mono); }
body.awq-mobile .mobile-route b { margin:0 5px; color:var(--text-muted); }
body.awq-mobile .mobile-flight-meta { color:var(--text-muted); font:500 11px var(--font-mono); }
body.awq-mobile .mobile-status { padding:4px 8px; border-radius:999px; font:800 9px var(--font-ui); letter-spacing:.04em; }
body.awq-mobile .mobile-status.safe { color:var(--status-safe); background:var(--status-safe-bg); }
body.awq-mobile .mobile-status.warning { color:var(--status-warning); background:var(--status-warning-bg); }
body.awq-mobile .mobile-status.critical { color:var(--status-critical); background:var(--status-critical-bg); }
body.awq-mobile .mobile-card-actions { display:flex; flex-direction:column; align-items:center; gap:3px; }
body.awq-mobile .mobile-card-actions button { min-width:42px; min-height:40px; border:1px solid var(--border-subtle); border-radius:8px; background:var(--bg-panel-alt); color:var(--text-secondary); font:700 13px var(--font-ui); }
body.awq-mobile .mobile-card-actions button:disabled { opacity:.35; }
body.awq-mobile .mobile-card-actions .mobile-remove { border:0; color:var(--status-critical); background:transparent; font-size:9px; }
body.awq-mobile .mobile-empty { padding:32px 16px; border:1px dashed var(--border-medium); border-radius:14px; color:var(--text-muted); text-align:center; }
body.awq-mobile .mobile-empty strong { color:var(--text-primary); }
body.awq-mobile .mobile-empty p { font-size:13px; }
body.awq-mobile .mobile-bottom-nav { position:fixed; z-index:9000; inset:auto 0 0; display:grid; grid-template-columns:repeat(5,1fr); padding:7px 6px calc(7px + env(safe-area-inset-bottom)); border-top:1px solid var(--nav-border); background:var(--nav-bg); backdrop-filter:blur(18px); }
body.awq-mobile .mobile-bottom-nav button { display:flex; min-height:52px; flex-direction:column; align-items:center; justify-content:center; gap:3px; border:0; border-radius:10px; background:transparent; color:var(--text-muted); font:700 10px var(--font-ui); }
body.awq-mobile .mobile-bottom-nav button span { font-size:17px; line-height:1; }
body.awq-mobile .mobile-bottom-nav button.active { background:var(--nav-bg-active); color:var(--accent-primary); }
body.awq-mobile .mobile-more-panel { position:fixed; z-index:8999; inset:auto 10px calc(68px + env(safe-area-inset-bottom)); max-height:min(72dvh,680px); overflow-y:auto; padding:10px; border:1px solid var(--border-light); border-radius:16px; background:var(--bg-panel); box-shadow:var(--shadow-lift); }
body.awq-mobile .mobile-more-panel[hidden] { display:none; }
body.awq-mobile .mobile-more-panel header { position:sticky; top:-10px; display:flex; justify-content:space-between; align-items:center; padding:8px 8px 12px; background:var(--bg-panel); font-size:16px; }
body.awq-mobile .mobile-more-panel h2 { margin:12px 8px 4px; color:var(--text-muted); font:800 10px var(--font-ui); letter-spacing:.1em; }
body.awq-mobile .mobile-more-panel > button,
body.awq-mobile .mobile-more-panel > a { display:flex; align-items:center; min-height:46px; padding:0 12px; border:0; border-radius:8px; background:transparent; color:var(--text-primary); text-decoration:none; text-align:left; font:700 12px var(--font-ui); }
body.awq-mobile .mobile-more-panel > button:hover,
body.awq-mobile .mobile-more-panel > a:hover { background:var(--nav-bg-active); color:var(--accent-primary); }
body.awq-mobile .mobile-more-panel [data-close-more] { width:44px; justify-content:center; font-size:23px; }
body.awq-mobile .mobile-more-panel [hidden] { display:none !important; }
body.awq-mobile .mobile-more-panel .mobile-desktop-link { margin-top:10px; border-top:1px solid var(--border-subtle); color:var(--accent-primary); }
body.awq-mobile .mobile-links-menu { position:fixed !important; z-index:9001 !important; top:auto !important; right:10px !important; bottom:calc(68px + env(safe-area-inset-bottom)) !important; left:10px !important; width:auto !important; max-height:70dvh; overflow-y:auto; }
body.awq-mobile .flight-detail-drawer { position:fixed; z-index:9500; inset:0; width:100%; max-width:none; height:100dvh; max-height:100dvh; border:0; border-radius:0; transform:translateX(100%); }
body.awq-mobile .flight-detail-drawer.open { transform:translateX(0); }
body.awq-mobile .drawer-backdrop { z-index:9499; }
body.awq-mobile .drawer-head { padding:calc(14px + env(safe-area-inset-top)) 16px 14px; }
body.awq-mobile .drawer-body { padding:14px 16px calc(20px + env(safe-area-inset-bottom)); }
body.awq-mobile .drawer-actions { position:sticky; bottom:0; padding:10px 14px calc(10px + env(safe-area-inset-bottom)); background:var(--bg-panel); }
body.awq-mobile .form-grid { grid-template-columns:1fr; gap:8px; }
body.awq-mobile .modal-overlay { z-index:9600; align-items:flex-end; padding:0; }
body.awq-mobile .modal-box { width:100% !important; max-width:none; max-height:calc(100dvh - env(safe-area-inset-top)); margin:0; border-radius:16px 16px 0 0; }
body.awq-mobile .modal-header { padding:14px 16px; }
body.awq-mobile .modal-body { padding:0 16px calc(20px + env(safe-area-inset-bottom)); }
body.awq-mobile .modal-tabs { margin:12px 16px 16px; }
body.awq-mobile .modal-input,
body.awq-mobile input,
body.awq-mobile select,
body.awq-mobile textarea { font-size:16px; }
body.awq-mobile .occ-content-area table { display:block; max-width:100%; overflow-x:auto; }
body.awq-mobile .occ-content-area button,
body.awq-mobile .occ-content-area a,
body.awq-mobile .occ-content-area input,
body.awq-mobile .occ-content-area select { touch-action:manipulation; }
@media (orientation:landscape) and (max-height:600px) {
  body.awq-mobile .mobile-flight-heading { margin-bottom:10px; }
  body.awq-mobile .mobile-flight-heading h1 { font-size:24px; }
  body.awq-mobile .flight-detail-drawer { overflow-y:auto; }
  body.awq-mobile .mobile-more-panel { max-height:calc(100dvh - 82px); }
}

body.awq-mobile .mobile-action-menu summary { min-height:44px; display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--text-secondary); font:700 10px var(--font-ui); }
body.awq-mobile .mobile-action-menu .mobile-remove { min-height:44px; font-size:11px; }

body.awq-mobile .occ-content-area button,
body.awq-mobile .modal-overlay button,
body.awq-mobile .occ-content-area [role="button"],
body.awq-mobile .leaflet-control-zoom a { min-height:44px; min-width:44px; }
body.awq-mobile .leaflet-control-zoom a { line-height:44px; }
body.awq-mobile .modal-body > [style*="grid-template-columns"] { grid-template-columns:1fr !important; }

/* NOTAM analysis: keep station controls and flight windows readable on touch screens. */
body.awq-mobile #view-notam > div:first-child { gap:12px !important; margin-bottom:16px !important; }
body.awq-mobile #view-notam > div:first-child > div:last-child { width:100%; gap:8px !important; }
body.awq-mobile #view-notam > div:first-child .control-btn { flex:1; padding:8px; font-size:10px; }
body.awq-mobile #view-notam #sync-status:empty { display:none; }
body.awq-mobile #view-notam .kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
body.awq-mobile #view-notam .kpi-card { display:flex; flex-direction:column; align-items:flex-start; gap:6px; min-width:0; padding:10px 8px; }
body.awq-mobile #view-notam .kpi-label { font-size:10px; letter-spacing:.03em; line-height:1.4; min-height:28px; }
body.awq-mobile #view-notam .kpi-val { order:1; font-size:22px; }
body.awq-mobile #view-notam .kpi-val.text { font-size:13px; line-height:22px; }
body.awq-mobile #view-notam .kpi-sub { order:2; white-space:normal; font-size:9px; line-height:1.4; }
body.awq-mobile #view-notam .notam-sticky-control-centre { position:static; padding:14px 0 0; margin-bottom:14px; }
body.awq-mobile #view-notam .notam-control-header { display:grid; gap:12px; padding:0 14px 12px; }
body.awq-mobile #view-notam .stn-label-group { gap:10px; }
body.awq-mobile #view-notam .stn-label-text { font-size:11px; }
body.awq-mobile #view-notam .stn-title-badge { font-size:18px; }
body.awq-mobile #view-notam .notam-actions-group { min-width:0; align-items:stretch; gap:8px; }
body.awq-mobile #view-notam .notam-btn-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
body.awq-mobile #view-notam .notam-ctrl-btn-premium { justify-content:center; height:auto; min-height:44px; padding:10px; white-space:nowrap; }
body.awq-mobile #view-notam .query-timestamp-premium { line-height:1.5; overflow-wrap:anywhere; }
body.awq-mobile #view-notam .notam-tabs-nav { gap:8px; padding:0 14px 14px; }
body.awq-mobile #view-notam .notam-tab-btn { flex:0 0 auto; padding:10px 12px; font-size:13px; gap:6px; }
body.awq-mobile #view-notam .tab-badge { flex-shrink:0; }
body.awq-mobile #view-notam .sticky-flight-banner { flex-direction:column; margin:0 0 16px; }
body.awq-mobile #view-notam .sticky-flight-banner > div:first-child { display:grid !important; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); }
body.awq-mobile #view-notam .banner-leg-item { min-width:0; padding:12px 14px; border-right:0; border-bottom:1px solid var(--border-light); }
body.awq-mobile #view-notam .banner-leg-item .flt-num { display:flex; align-items:center; gap:6px; font-size:17px; }
body.awq-mobile #view-notam .banner-leg-item .route { white-space:nowrap; font-size:14px; }
body.awq-mobile #view-notam .banner-leg-item > div:last-child { white-space:nowrap; }
body.awq-mobile #view-notam .sticky-flight-banner > div:last-child { min-width:0 !important; padding:12px 14px !important; border-left:0 !important; text-align:left !important; }
body.awq-mobile #view-notam .sticky-flight-banner > div:last-child > div:first-child { justify-content:flex-start !important; line-height:1.6; }
body.awq-mobile #view-notam #sticky-active-wndw { overflow-wrap:anywhere; }
body.awq-mobile #view-notam .notam-grid { margin-top:16px; gap:12px; }
body.awq-mobile #view-notam .notam-window-axis { flex-wrap:wrap; padding:10px 12px; gap:6px; line-height:1.5; }
body.awq-mobile #view-notam .nw-val { flex-basis:100%; overflow-wrap:anywhere; }
body.awq-mobile #view-notam .notam-card-header { flex-direction:column; gap:12px; padding:14px; }
body.awq-mobile #view-notam .notam-card-header > div { min-width:0; width:100%; }
body.awq-mobile #view-notam .notam-card-header > div:last-child { margin-left:0 !important; min-width:0 !important; text-align:left !important; }
body.awq-mobile #view-notam .notam-chip { max-width:100%; overflow-wrap:anywhere; }
body.awq-mobile #view-notam .notam-time-band { flex-wrap:wrap; padding:10px 14px; }
body.awq-mobile #view-notam .ntb-track { flex-basis:100%; }
body.awq-mobile #view-notam .notam-raw-text { padding:14px; font-size:12px; overflow-wrap:anywhere; }
body.awq-mobile #view-notam .warning-banner { align-items:flex-start; padding:12px; }
body.awq-mobile #view-notam .back-to-top-btn { bottom:calc(84px + env(safe-area-inset-bottom)); right:14px; }
@media (min-width:600px) {
  body.awq-mobile #view-notam .notam-control-header { grid-template-columns:auto minmax(0,1fr); align-items:start; }
  body.awq-mobile #view-notam .notam-actions-group { max-width:360px; justify-self:end; width:100%; }
}


body.awq-mobile .mobile-board-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:12px; }
body.awq-mobile .mobile-board-actions small { flex:1 1 160px; color:var(--text-muted); font-size:11px; line-height:1.5; }
body.awq-mobile #bulk-fab { bottom:calc(84px + env(safe-area-inset-bottom)); right:16px; z-index:9100; }
body.awq-mobile #bulk-fab[hidden] { display:none !important; }
body.awq-mobile #bulk-action-panel { bottom:calc(150px + env(safe-area-inset-bottom)); right:12px; left:12px; width:auto; max-width:420px; margin-left:auto; max-height:calc(100dvh - 170px - env(safe-area-inset-bottom)); z-index:9101; }
body.awq-mobile #bulk-action-panel .bulk-body { overflow-y:auto; min-height:0; }
body.awq-mobile #bulk-action-panel button { min-height:44px; min-width:44px; }
body.awq-mobile #modal-bulk-dof { align-items:center; padding:16px; }
body.awq-mobile #modal-bulk-dof .modal-box { max-width:420px; border-radius:16px; max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow-y:auto; }


/* OFP Brief & Cross-Check Engine (#view-ofp): mobile & touch layout */
body.awq-mobile #view-ofp .ofp-shell { padding:6px 2px 24px; gap:12px; }
body.awq-mobile #view-ofp .ofp-topbar { flex-direction:column; align-items:stretch; padding:12px; gap:12px; }
body.awq-mobile #view-ofp .ofp-brand { min-width:0; }
body.awq-mobile #view-ofp .ofp-kpi-strip { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; }
body.awq-mobile #view-ofp .ofp-kpi-pill { min-width:0; padding:8px 10px; }
body.awq-mobile #view-ofp .ofp-kpi-pill.tankering { grid-column:1 / -1; min-height:44px; }
body.awq-mobile #view-ofp .ofp-cmd-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; }
body.awq-mobile #view-ofp .ofp-cmd-actions .ofp-btn { justify-content:center; width:100%; min-height:44px; padding:8px 10px; font-size:11.5px; }
body.awq-mobile #view-ofp .ofp-workspace { grid-template-columns:1fr; min-height:0; gap:12px; }
body.awq-mobile #view-ofp .ofp-list-pane { max-height:360px; }
body.awq-mobile #view-ofp .ofp-search-input { min-height:44px; font-size:16px; }
body.awq-mobile #view-ofp .ofp-filter-btn { min-height:44px; padding:6px 4px; font-size:11px; }
body.awq-mobile #view-ofp .ofp-inspector-pane { max-height:none; }
body.awq-mobile #view-ofp .ofp-inspector-body { padding:12px; gap:12px; }
body.awq-mobile #view-ofp .ofp-hero { flex-direction:column; align-items:flex-start; padding:12px 14px; gap:10px; }
body.awq-mobile #view-ofp .ofp-hero-actions { width:100%; justify-content:flex-start; }
body.awq-mobile #view-ofp .ofp-back-list-btn { display:inline-flex; min-height:44px; }
body.awq-mobile #view-ofp .ofp-grid-4,
body.awq-mobile #view-ofp .ofp-grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
body.awq-mobile #view-ofp .ofp-check-row { grid-template-columns:1fr; gap:6px; padding:10px 12px; }
body.awq-mobile #view-ofp .ofp-modal-backdrop { z-index:9600; align-items:flex-end; padding:0; }
body.awq-mobile #view-ofp .ofp-modal { max-width:none; width:100%; max-height:calc(100dvh - env(safe-area-inset-top)); border-radius:16px 16px 0 0; }
body.awq-mobile #view-ofp .ofp-modal-body { padding:14px 16px; }
body.awq-mobile #view-ofp .ofp-modal-foot { padding:12px 16px calc(12px + env(safe-area-inset-bottom)); }
@media (max-width:420px) {
  body.awq-mobile #view-ofp .ofp-grid-4,
  body.awq-mobile #view-ofp .ofp-grid-3,
  body.awq-mobile #view-ofp .ofp-cmd-actions { grid-template-columns:1fr; }
}
