@media (max-width:720px){
  html,body{max-width:100%;overflow-x:clip;background:#f3f5f7}
  body{font-size:14px;-webkit-tap-highlight-color:transparent}
  button,input,select{max-width:100%}
  .shell{width:100%;max-width:100%;padding:0 0 calc(32px + env(safe-area-inset-bottom))}

  /* Mobile app bar */
  .masthead{position:relative;z-index:40;min-height:60px;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;padding:8px 16px;border-bottom:1px solid rgba(16,42,67,.08);background:rgba(255,255,255,.94)}
  .brand{grid-column:1;grid-row:1;min-width:0;margin:0;font-size:14px;white-space:nowrap}
  .brand-mark{font-size:12px}
  .masthead-actions{grid-column:3;grid-row:1;order:initial;width:auto;justify-self:end;padding:0;border:0}
  .masthead-actions>a,.account-name{display:none}
  .masthead .masthead-actions .text-button{min-width:48px;height:44px;min-height:44px;padding:0 12px;border-color:#dfe5ea;border-radius:10px;background:#fff;font-size:12px}
  .live{grid-column:4;grid-row:1;order:initial;width:14px;min-height:40px;margin:0;overflow:hidden;font-size:0;white-space:nowrap}
  .live span{margin:0}
  .membership-switch{grid-column:2;grid-row:1;order:initial;justify-self:end;width:92px;min-height:32px;margin:0;padding:2px;border-radius:8px;background:#edf1f4}
  .membership-switch label{height:44px;display:grid;place-items:center;margin:-6px 0;flex:1}
  .membership-switch span{width:100%;min-width:0;min-height:28px;padding:0 6px;border-radius:6px;color:#87929d;font-size:11px;font-weight:650}

  /* Search flow: mode → route → date → action */
  .query-area{width:calc(100% - 24px);margin:12px auto 0}
  .search-panel{position:relative;overflow:visible;border-radius:12px;box-shadow:0 1px 2px rgba(11,31,51,.04),0 8px 24px rgba(11,31,51,.035)}
  .query-mode{padding:0}
  .query-help{top:2px;right:2px;width:44px;height:44px;display:grid;place-items:center}
  .mode-options{min-height:48px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0 4px;border-bottom:1px solid #e8edf1}
  .mode-option{min-width:0;min-height:48px;padding:0 3px;font-size:12px;font-weight:650;white-space:nowrap}
  .mode-option span{font-size:12px}
  .mode-option.is-active::after{right:8px;left:8px;bottom:-1px;height:2px}
  .mode-option:focus-visible{outline:0;background:#f5f7f9}
  .query-help~.mode-options .mode-option:last-child{padding-right:28px}
  .query-row,.query-row.is-connection{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:10px;padding:12px}
  .query-row .route-fields{grid-column:1/-1;min-width:0;min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);overflow:visible;border:0;border-radius:10px;background:#f5f7f9;box-shadow:inset 0 0 0 1px #e5eaef}
  .query-row .route-fields .field{min-width:0;padding:10px 12px}
  .query-row .route-fields .field label{margin-bottom:4px;font-size:10px}
  .query-row .route-fields input{height:25px;min-width:0;padding:0;border:0;background:transparent;font-size:15px;font-weight:720;text-overflow:ellipsis}
  .query-row .route-fields .swap{align-self:center;width:44px;height:44px;min-height:44px;padding:11px;border:0;border-radius:999px;background:#fff;box-shadow:0 1px 3px rgba(11,31,51,.1)}
  .month-field,.connection-date-field,.connection-duration-control{grid-column:1;min-width:0;height:52px;min-height:52px;padding:7px 10px;border:0;border-radius:10px;background:#f5f7f9;box-shadow:inset 0 0 0 1px #e5eaef}
  .query-row .month-field input,.query-row .connection-date-field input{height:25px;font-size:14px}
  .query-row .search-button{grid-column:2;min-width:0;height:52px;min-height:52px;margin:0;padding:0 10px;border-radius:10px;font-size:13px}
  .query-row .refresh-option{grid-column:1/-1;min-height:44px;margin:-2px 0 -6px;padding:0 2px;font-size:11px}
  .query-row .refresh-option input{width:18px;height:18px}
  .query-row.is-connection .connection-date-field{grid-column:1/-1}
  .query-row.is-connection .connection-settings{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .query-row.is-connection .connection-setting{min-height:72px;padding:6px 8px;border:0;border-radius:10px;background:#f5f7f9;box-shadow:inset 0 0 0 1px #e5eaef}
  .query-row.is-connection .connection-stepper,.query-row.is-connection .connection-stop-options{height:44px;margin-top:1px;background:#edf1f4}
  .query-row.is-connection .connection-stepper{grid-template-columns:44px minmax(0,1fr) 44px}
  .query-row.is-connection .connection-stepper button,.query-row.is-connection .connection-stop-options button{height:44px}
  .query-row.is-connection .search-button{grid-column:1/-1}
  .query-row.is-connection .refresh-option{grid-column:1/-1}

  /* iOS month control: keep Safari localized fields on one line. */
.query-row,.query-row.is-connection{grid-template-columns:minmax(0,1fr) 92px}
.month-field{height:56px;min-height:56px;padding:7px 10px 8px}
.query-row .month-field input[type="month"]{width:100%;min-width:0;max-width:none;height:28px;padding:0;overflow:hidden;color:var(--ink);font-family:inherit;font-size:14px;font-weight:700;line-height:28px;letter-spacing:-.02em;white-space:nowrap}
.query-row .month-field input[type="month"]::-webkit-datetime-edit{display:flex;width:100%;min-width:0;align-items:center;padding:0;overflow:hidden;white-space:nowrap}
.query-row .month-field input[type="month"]::-webkit-datetime-edit-fields-wrapper{display:flex;min-width:0;flex-wrap:nowrap;align-items:center;overflow:hidden;white-space:nowrap}
.query-row .month-field input[type="month"]::-webkit-calendar-picker-indicator{flex:0 0 auto;margin:0 0 0 4px;padding:0}
.query-row .search-button{height:56px;min-height:56px}

  /* Results are content, not another dashboard panel */
  .results,.empty-state{width:calc(100% - 24px);margin:12px auto 0}
  .results{padding:14px 12px;border-radius:12px;box-shadow:0 1px 2px rgba(11,31,51,.04)}
  .empty-state{min-height:64px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.72);box-shadow:none;font-size:12px}
  .empty-state svg{width:24px;height:24px}
  .results-head{gap:10px;margin-bottom:12px}
  .results-head h2,.results h2{font-size:17px;line-height:1.3}
  .results-summary,.result-stats{gap:12px}
  .results-summary strong,.result-stat strong,.stat-value{font-size:18px}
  .results-summary span,.result-stat span,.stat-label{font-size:10px}
  .month-calendar{border:0;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 1px #e7ebef}
  .calendar-weekday{min-height:28px;padding:7px 2px;font-size:10px}
  .calendar-blank,.calendar-day{min-height:56px;border-color:#edf0f3}
  .calendar-day{justify-items:center;gap:4px;padding:6px 3px;text-align:center}
  .calendar-day strong,.calendar-day span{width:100%;text-align:center}
  .calendar-day strong{font-size:16px}
  .calendar-day span{font-size:10px;line-height:1.2;letter-spacing:-.02em}
  .calendar-open-hint{display:none}
  .calendar-day-detail{width:calc(100% - 12px);max-width:none;margin:6px;padding:12px;border-radius:10px;box-shadow:0 6px 20px rgba(11,31,51,.1)}
  .calendar-detail-head button{width:56px;min-width:56px;height:40px;min-height:40px;padding:0;border-radius:9px;font-size:11px}
  .flight-row{min-width:0}
  .flight-detail-row{min-width:0;min-height:64px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:10px 0}
  .flight-detail-row>strong{grid-column:1;grid-row:1;font-size:13px}
  .flight-detail-row>span{grid-column:1;grid-row:2;min-width:0;font-size:11px;line-height:1.45}
  .flight-side{grid-column:2;grid-row:1/3;width:56px;align-self:center;align-items:stretch}
  .flight-side>b{width:56px;text-align:center;font-size:11px}
  .flight-side .monitor-flight-button,.flight-side .purchase-flight-link{width:56px;min-width:56px;height:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:9px;font-size:11px;text-align:center}
  .flight-side .purchase-flight-link{color:#fff;border:1px solid var(--runway);background:var(--runway)}
  .flight-side .monitor-flight-button{color:#173b5e;border:1px solid #9babb9;background:#fff}

  /* Monitoring becomes a mobile flight stack */
  .monitor-section{width:calc(100% - 24px);margin:12px auto 0;padding:14px 12px;border-radius:12px;box-shadow:0 1px 2px rgba(11,31,51,.04)}
  .section-heading{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:0 2px 8px;border-bottom:0}
  .section-heading h2{font-size:17px}
  .section-heading .secondary-button{min-height:44px;padding:0 12px;border-radius:10px}
  .monitor-list{gap:8px}
  .monitor-empty,.monitor-loading{min-height:88px;padding:16px;border-radius:10px;font-size:12px}
  .monitor-card{min-width:0;display:grid;grid-template-columns:1fr;gap:8px;padding:12px;border-radius:12px;background:#f9fbfc;box-shadow:inset 0 0 0 1px #e5eaef}
  .monitor-card::before{width:3px;border-radius:12px 0 0 12px}
  .monitor-title-row{gap:6px}
  .monitor-title-row h3{font-size:16px}
  .status-pill{min-height:22px;padding:0 7px;font-size:10px}
  .monitor-route{gap:6px;margin-top:6px;font-size:16px;line-height:1.3}
  .monitor-route span{color:var(--ink-muted)}
  .monitor-meta{max-width:100%;margin-top:4px;font-size:11px;line-height:1.4;overflow-wrap:anywhere}
  .monitor-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:8px 0;border-top:1px solid #e7ebef;border-bottom:1px solid #e7ebef}
  .monitor-metrics div{min-width:0;min-height:40px;padding:0 6px;border-left:1px solid #e7ebef}
  .monitor-metrics div:first-child{border-left:0;padding-left:0}
  .monitor-metrics div:last-child{padding-right:0}
  .monitor-metrics strong{font-size:12px;overflow-wrap:anywhere}
  .monitor-metrics span{font-size:10px}
  .monitor-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .monitor-actions button{min-width:0;min-height:44px;padding:0 8px;border:0;border-radius:10px;color:var(--runway);background:#f0f3f5;font-size:12px}
  .monitor-actions .monitor-primary-action{min-height:44px;color:var(--runway);background:var(--runway-soft);box-shadow:inset 0 0 0 1px #d7e0e7}
  .monitor-actions button[data-action="edit"]{color:var(--runway);background:#f0f3f5}
  .monitor-actions button[data-action="delete"]{color:#a94f47;background:#fff;box-shadow:inset 0 0 0 1px #ebd2cf}
  .monitor-actions button:disabled{color:var(--ink-muted);background:#f3f5f6;box-shadow:none;opacity:.65}

  .destination-popover{width:calc(100% - 24px);max-width:calc(100% - 24px);max-height:min(58vh,460px);border-radius:14px;box-shadow:0 18px 48px rgba(11,31,51,.18)}

  /* Weekend explorer: compact itinerary cards, not nested admin rows. */
  .results:has(.explore-grid){padding:16px 12px}
  .results:has(.explore-grid) .result-head{padding:0 4px 14px;border-bottom:1px solid #edf0f3}
  .results:has(.explore-grid) .result-head h2{max-width:240px;font-size:16px;line-height:1.45}
  .results:has(.explore-grid) .summary{width:auto;margin-left:auto;gap:20px}
  .results:has(.explore-grid) .summary div{min-width:44px;text-align:right}
  .results:has(.explore-grid) .summary strong{font-size:20px;line-height:1}
  .results:has(.explore-grid) .summary span{display:block;margin-top:5px;font-size:10px;white-space:nowrap}
  .explore-grid{gap:12px;padding:0}
  .explore-card{padding:0 14px;border-color:#e5eaef;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(11,31,51,.025)}
  .explore-card-head{min-height:50px;padding:0;border-bottom:1px solid #edf0f3}
  .explore-card-head h3{font-size:16px;font-weight:700;letter-spacing:-.01em}
  .explore-card-head>strong{padding:4px 7px;border-radius:6px;color:#4f6172;background:#f2f5f7;font-size:10px;font-weight:700}
  .explore-trip-row{gap:8px;padding:12px 0;border-top:0;border-bottom:1px solid #edf0f3}
  .explore-trip-row:last-child{border-bottom:0}
  .explore-trip-date{display:block}
  .explore-trip-date strong{display:block;min-width:0;font-size:13px;line-height:1.4;letter-spacing:-.01em;white-space:nowrap}
  .explore-trip-meta{display:flex;align-items:center;gap:5px;margin-top:6px}
  .explore-trip-meta span{display:inline-flex;align-items:center;min-height:22px;margin:0;padding:0 7px;border-radius:999px;color:#657383;background:#f2f5f7;font-size:10px;line-height:1;white-space:nowrap}
  .explore-trip-meta span:last-child{color:#24557a;background:#edf4f8}
  .explore-trip-leg{display:grid;grid-template-columns:22px minmax(58px,auto) minmax(0,1fr);gap:8px;font-size:11px}
  .explore-trip-leg b{width:22px;height:22px;color:#24557a;background:#edf4f8;font-size:10px;font-weight:700}
  .explore-trip-leg strong{min-width:0;color:#24303d;font-size:11px;font-weight:650;font-variant-numeric:tabular-nums}
  .explore-trip-leg span{min-width:0;color:#657383;font-size:11px;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
  .explore-more{border-top:0}
  .explore-more summary{min-height:44px;justify-content:center;border-top:1px solid #edf0f3;color:#24557a;font-size:11px}
}

@media (max-width:374px){
  .masthead{padding-right:12px;padding-left:12px}
  .brand{font-size:13px}.live{font-size:11px}
  .query-area,.results,.empty-state,.monitor-section{width:calc(100% - 16px)}
  .mode-option,.mode-option span{font-size:11px}
  .query-row,.query-row.is-connection{grid-template-columns:minmax(0,1fr) 96px;padding:10px}
  .query-row .route-fields .field{padding-right:9px;padding-left:9px}
  .monitor-route{font-size:16px}
}
