/* Mobile refinements shared by the isolated FareFuels design previews. */
.mobile-my-trips{display:none}
@media(max-width:760px){
  html{scroll-padding-top:18px}
  body{font-size:15px}
  .announcement{font-size:11px;line-height:1.6;padding:8px 13px}
  button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
  input:not([type=radio]):not([type=checkbox]):not([type=range]),select,textarea,
  .field input,.field select,.date-field input,.compact-field select,
  .auth-field>input,.password-field input,.guest-fields input,.settings-fields input,.settings-fields select,
  .table-filters select,.search-input input,.trip-search input,.trip-filters select,
  .report-filter-fields input,.report-filter-fields select,.promo-tester input,.promo-tester select,
  .sample-form select,.sample-form textarea,.detail-status select,.sample-action select,
  .room-label select,.fare-label select,.login-card label>input{font-size:16px;line-height:1.5}
  input:not([type=radio]):not([type=checkbox]):not([type=range]),select{min-height:44px}
  textarea{min-height:120px}
  input[readonly]{color:#526f88}
  button:not(.dialog-close),.primary-link,.outline-link,.search-button,.secondary-button,
  .guest-link,.account-nav,.card-link,.trip-card-footer a,.detail-document-links a,
  #dialog-body a,#account-dialog-body a,#info-body a,.back-link{min-height:44px}
  .primary-link,.outline-link,.search-button,.secondary-button,.guest-link,.account-nav,
  .trip-card-footer a,.detail-document-links a,.back-link{display:inline-flex;align-items:center;justify-content:center;white-space:normal;line-height:1.5;font-size:12px}
  .search-button,.auth-submit,.login-card .search-button,.payment-section .search-button{font-size:14px;padding:14px 16px}
  .primary-link,.secondary-button,.outline-link{padding:11px 13px;font-size:12px}
  .header nav{flex-wrap:wrap;gap:3px 8px}
  .header nav a,header nav a{font-size:12px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:9px 7px}
  .mobile-my-trips{display:inline-flex}
  .header-actions .login,.header-actions .login-button{font-size:12px!important;min-height:44px}
  .header-actions .account-nav{font-size:12px;padding:10px}
  .brand small{font-size:8px;letter-spacing:1.2px;line-height:1.5}
  .service-title strong{font-size:13px;line-height:1.6}
  .service-title small{font-size:11px;line-height:1.7}
  .tabs button{font-size:13px}
  .form-options p,.hotel-prompt{font-size:12px;line-height:1.8}
  .trip-types label{font-size:13px;min-height:44px;padding:10px}
  .trip-types input,.fare-options input{min-height:0;flex-shrink:0}
  .field{font-size:12px;gap:9px;min-height:122px}
  .field small,.field small[id]{font-size:12px;line-height:1.6}
  .field .airport-code,.airport strong{font-size:17px}
  .airport{padding-left:14px;padding-right:20px}
  .airport:nth-of-type(2){padding-left:27px}
  .swap{width:44px;height:44px;left:calc(50% - 22px);top:61px;font-size:22px}
  .fare-options legend{font-size:13px;margin-bottom:12px}
  .fare-options label{flex:1 1 43%;min-height:73px;padding:12px 9px}
  .fare-options strong{font-size:12px;line-height:1.5}
  .fare-options small{font-size:11px;line-height:1.6}
  .fare-options input{height:15px;width:15px;margin-top:2px;margin-right:6px}
  .hotel-guidance,.hotel-guidance p{font-size:12px;line-height:1.8}
  .search-note,.destination-note,.trips-note,.table-note,.workspace-footnote,.small-note,
  .privacy-note,.sample-note,.settings-note,.dialog-note,.fine-print,.tax-note,.breakdown-note,
  .auth-field small{font-size:12px;line-height:1.8}
  .eyebrow,.preview-chip,.sample-badge,.sample-tag,.status-pill{font-size:10px;line-height:1.7;white-space:normal}
  .section-intro,.launch>div>p:not(.eyebrow),.steps p,.card-copy p{font-size:14px;line-height:1.8}
  .card-copy>small,.card-category{font-size:10px;line-height:1.6}
  .card-copy>strong,.card-link{font-size:12px;line-height:1.7}
  .travel-card{grid-template-columns:38% 62%}
  .card-copy{padding:18px 14px}
  .destination-grid .travel-card{min-height:280px}
  .card-image>span{font-size:10px;line-height:1.6}
  .explore-filters button{font-size:13px}
  .steps h3{font-size:15px}
  .route-grid strong{font-size:14px;line-height:1.6}
  .route-grid small{font-size:12px}
  .route-grid>a{min-height:85px}
  .search-top,.section-heading,.results-heading,.checkout-heading,.page-heading,.card-heading{min-width:0}
  .sort-label{font-size:13px;flex-wrap:wrap;white-space:normal}
  .sort-label select{font-size:16px;max-width:100%}
  .check-label,.preview-consent,.review-label{font-size:13px;line-height:1.8;min-height:44px;align-items:flex-start;padding:6px 0}
  .check-label input,.preview-consent input{width:18px;height:18px;margin-top:4px;flex-shrink:0}
  .budget-label{font-size:13px}
  .filters h3{font-size:17px}
  .trip-bar{align-items:flex-start;flex-direction:column}
  .trip-bar p:last-child{font-size:13px}
  .trip-bar .outline-link{font-size:12px}
  .breadcrumb{font-size:12px;line-height:1.8;flex-wrap:wrap}
  .breadcrumb a{min-height:34px;display:inline-flex;align-items:center}
  .result-copy h3{font-size:19px;line-height:1.4}
  .result-location,.result-policy{font-size:12px;line-height:1.8}
  .result-perks span{font-size:11px;line-height:1.6}
  .result-price{align-items:flex-start;text-align:left;justify-content:flex-start}
  .result-price>small,.fare-price>small{font-size:11px;line-height:1.7}
  .result-price>p,.fare-price>p{font-size:12px;line-height:1.8}
  .result-price .search-button,.fare-price .search-button{font-size:12px;display:flex;align-items:center;justify-content:center;min-height:48px}
  .result-price>span,.fare-price>span{font-size:11px;line-height:1.7}
  .flight-result-bottom{font-size:12px;line-height:1.7;gap:12px}
  .airline-line h3{font-size:17px}
  .airline-line small,.leg-label{font-size:12px;line-height:1.8}
  .leg-time span,.leg-line{font-size:12px;line-height:1.7;overflow-wrap:anywhere}
  .leg{gap:12px}
  .checkout-progress,.progress{flex-wrap:wrap;font-size:12px;line-height:1.6;gap:8px 12px}
  .checkout-progress b,.progress b{padding:9px 12px}
  .selected-hotel{align-items:flex-start}
  .selected-hotel img{width:80px;height:110px}
  .selected-hotel h2{font-size:20px;line-height:1.4}
  .selected-hotel p,.room-perks,#room-policy,.policy{font-size:12px;line-height:1.8}
  .room-perks{flex-wrap:wrap}
  .guest-fields label,.room-label,.fare-label{font-size:12px;line-height:1.6}
  .guest-fields{grid-template-columns:1fr}
  .summary-line{font-size:13px;line-height:1.7}
  .payment-placeholder strong{font-size:14px;line-height:1.7}
  .payment-placeholder p{font-size:12px;line-height:1.8}
  .add-ons .check-label{flex-wrap:wrap}
  .add-ons strong{font-size:12px}
  .passenger-title{font-size:14px}
  .auth-card{padding:25px 21px 29px}
  .auth-tabs>a{font-size:14px;min-height:44px;padding-bottom:13px}
  .auth-field,.signup-names .auth-field{font-size:13px;line-height:1.6}
  .auth-intro,.intro{font-size:14px;line-height:1.8}
  .auth-options,.login-hint{font-size:12px;line-height:1.8;gap:10px}
  .auth-options button,.login-hint button{font-size:13px;min-height:44px}
  .password-field button{font-size:13px;min-height:44px;min-width:44px}
  .password-field{padding-top:4px;padding-bottom:4px}
  .story-content>p,.login-story>p{font-size:13px;line-height:1.8}
  .auth-story{min-height:275px;max-height:none}
  .login-card label{font-size:13px;line-height:1.6}
  .trip-stats span{font-size:12px}
  .trip-stats>div{padding:15px 11px}
  .trip-tabs{gap:20px;overflow-x:auto}
  .trip-tabs button{font-size:13px;min-height:48px;white-space:nowrap}
  .trip-tabs button span{font-size:10px}
  .trip-filters{flex-wrap:wrap}
  .trip-search{flex-basis:100%}
  .trip-filters select{flex:1}
  .trip-card-header>span,.trip-status,.trip-main-info>small{font-size:11px;line-height:1.6}
  .trip-card-header{align-items:flex-start;flex-wrap:wrap}
  .trip-main-info h3{font-size:18px;line-height:1.5}
  .trip-main-info p{font-size:13px;line-height:1.8}
  .trip-icon{width:38px;height:42px}
  .trip-amount{padding-left:0;flex-wrap:wrap;gap:8px 14px}
  .trip-amount>small{font-size:10px}
  .trip-card-footer{gap:8px 17px}
  .trip-card-footer button{font-size:13px}
  .trip-card-footer a{font-size:13px;justify-content:flex-start}
  .document-toolbar{font-size:13px;line-height:1.8;gap:12px}
  .document-toolbar>a{min-height:44px;display:flex;align-items:center}
  .confirmation-hero>p:not(.eyebrow),.description{font-size:14px;line-height:1.8}
  .detail-item small{font-size:11px;line-height:1.7}
  .detail-item strong{font-size:13px}
  .detail-grid{gap:22px 16px}
  .document-links>a{min-height:84px}
  .document-links strong{font-size:14px;line-height:1.7}
  .document-links small{font-size:12px;line-height:1.7}
  .next-steps p{font-size:13px;line-height:1.8}
  .summary-row,.summary-row strong{font-size:13px;line-height:1.7}
  .document-reference small{font-size:11px;line-height:1.7}
  .document-reference strong{font-size:13px;line-height:1.8;overflow-wrap:anywhere}
  .invalid-strip{font-size:11px;line-height:1.8}
  .document-section h2{font-size:17px;line-height:1.6}
  .document-leg-label{font-size:11px;line-height:1.8}
  .document-flight-route p,.flight-line{font-size:12px;line-height:1.8;overflow-wrap:anywhere}
  .hotel-document-overview p{font-size:13px;line-height:1.8}
  .stay-dates small{font-size:11px;line-height:1.7}
  .stay-dates strong{font-size:15px;line-height:1.7}
  .stay-dates p,.inclusion-grid>div,.price-row{font-size:13px;line-height:1.8}
  .inclusion-grid b{font-size:12px;line-height:1.7}
  .document-footer>strong,.document-footer p{font-size:12px;line-height:1.8}
  .document-footer>span{font-size:10px;line-height:1.7}
  .admin-sidebar nav{gap:5px;scrollbar-width:thin;padding-bottom:12px}
  .admin-sidebar nav a,.admin-sidebar nav button{font-size:13px!important;min-height:44px;padding:10px 12px!important;line-height:1.6;flex-shrink:0}
  .admin-sidebar nav span{font-size:17px}
  .workspace-tag{font-size:10px;line-height:1.8}
  .workspace-top{height:auto;min-height:66px;padding:12px 17px;align-items:flex-start}
  .workspace-top>div:first-child{flex-wrap:wrap;gap:8px}
  .workspace-breadcrumb{font-size:12px;line-height:1.8}
  .admin-avatar{flex-shrink:0}
  .admin-avatar strong{font-size:10px}
  .metrics{grid-template-columns:1fr 1fr;gap:12px}
  .metrics article{padding:17px 13px}
  .metrics article>span{font-size:12px;line-height:1.7}
  .metrics article>strong{font-size:26px;line-height:1.3;overflow-wrap:anywhere}
  .metrics article>small{font-size:11px;line-height:1.8}
  .page-heading>div>p:last-child{font-size:14px;line-height:1.8}
  .page-heading h1{font-size:28px;line-height:1.3}
  .card-heading{align-items:flex-start;flex-wrap:wrap;gap:10px}
  .card-heading h2{font-size:18px;line-height:1.6}
  .card-heading>span,.card-heading>a{font-size:12px;line-height:1.7}
  .muted,.chart-caption,.mix-row>div:first-child,.chart-row>div:first-child{font-size:13px;line-height:1.8}
  .chart-row strong{font-size:14px}
  .attention-item strong{font-size:13px;line-height:1.8}
  .attention-item small{font-size:12px;line-height:1.8}
  .attention-item button{min-width:64px;font-size:13px}
  .status-tabs{gap:22px;scrollbar-width:thin}
  .status-tabs button{min-height:50px;font-size:13px;line-height:1.6}
  .table-filters{flex-wrap:wrap}
  .table-filters .search-input{flex-basis:100%}
  .table-filters>select{flex:1;min-width:0}
  .search-input{padding-top:5px;padding-bottom:5px}
  .table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:5px}
  .table-scroll:before{content:'Swipe to view all columns →';display:block;position:sticky;left:0;width:fit-content;max-width:100%;font-size:12px;color:#547c99;line-height:1.8;padding:0 0 12px}
  .table-scroll:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
  .table-scroll table,.finance-table-card .table-scroll table{min-width:940px}
  .table-scroll th,.finance-table-card table th{font-size:12px;line-height:1.7;padding:13px}
  .table-scroll td,.finance-table-card table td{font-size:13px;line-height:1.8;padding:14px 13px}
  .table-scroll td strong,.finance-table-card table td strong{font-size:13px;line-height:1.8}
  .table-scroll td small,.finance-table-card table td small{font-size:12px;line-height:1.8}
  .table-scroll td>button{font-size:13px;padding:10px 13px;min-width:85px}
  .table-scroll .record-status,.table-scroll .finance-state,.table-scroll .sample-state,.table-scroll .account-state{font-size:12px;line-height:1.8}
  .reconcile-state,.payment-label,.priority-label,.priority-label.high{font-size:12px;line-height:1.8}
  .count-badge,.card-heading h2 b{font-size:12px}
  .workflow-banner strong,.workflow-banner p{font-size:13px;line-height:1.8}
  .finance-bottom>section>p:not(.eyebrow),.settings-boundary p:not(.eyebrow),.activity-empty,.activity-item{font-size:13px;line-height:1.8}
  .detail-overview small,.profile-details small,.detail-grid small{font-size:11px;line-height:1.7}
  .detail-overview strong,.profile-details strong,.detail-grid strong{font-size:13px;line-height:1.8;overflow-wrap:anywhere}
  .finance-breakdown>div,.finance-breakdown strong{font-size:13px;line-height:1.8}
  .sample-action>label,.detail-status label,.sample-form label,.sample-change label{font-size:13px;line-height:1.8}
  .refund-timeline>div{font-size:11px;line-height:1.8}
  .refund-timeline small{font-size:10px;line-height:1.7}
  .action-message,.sample-message,.sample-success,#status-message,.success-message{font-size:13px;line-height:1.8}
  .report-filter-fields>label{font-size:12px}
  .report-filter-fields button{font-size:12px;height:auto;min-height:44px}
  .report-filters .muted{font-size:13px;line-height:1.8}
  .report-filter-fields>label{flex-basis:100%}
  .settings-layout{display:flex;flex-direction:column}
  .settings-layout>section,.settings-layout>aside{width:100%;min-width:0}
  .settings-tabs{gap:23px;scrollbar-width:thin}
  .settings-tabs button{font-size:13px;min-height:50px}
  .settings-fields{grid-template-columns:1fr}
  .settings-fields label{font-size:13px;line-height:1.7}
  .settings-intro{font-size:14px;line-height:1.8}
  .settings-save{flex-wrap:wrap}
  .settings-save .primary-link{font-size:12px}
  .settings-save>span{font-size:12px;line-height:1.8}
  .settings-summary>div,.settings-summary strong{font-size:13px;line-height:1.8}
  .toggle-row strong{font-size:14px;line-height:1.7}
  .toggle-row small{font-size:12px;line-height:1.8}
  .toggle-row{min-height:80px}
  .toggle-row input{min-width:44px;min-height:26px;height:26px;width:44px}
  .toggle-row input:before{height:20px;width:20px}
  .toggle-row input:checked:before{left:21px}
  .integration-card{flex-wrap:wrap;gap:12px}
  .integration-card strong{font-size:14px;line-height:1.7}
  .integration-card small{font-size:12px;line-height:1.8}
  .integration-card button{font-size:12px;padding:10px}
  .integration-card>div{min-width:140px}
  .offer-meta>small,.offer-detail{font-size:12px;line-height:1.8}
  .sample-state,.offer-visual>span{font-size:11px;line-height:1.7}
  .offer-copy>p,.customer-offer-preview p{font-size:14px;line-height:1.8}
  .offer-benefit{font-size:14px;line-height:1.8}
  .offer-actions button{font-size:12px;line-height:1.7;padding:11px}
  .promo-tester label{font-size:13px}
  .promo-tester button{font-size:12px;height:auto;min-height:44px}
  .message>strong{font-size:12px;line-height:1.8}
  .message>p{font-size:14px;line-height:1.8}
  .message>small{font-size:11px;line-height:1.8}
  #dialog-body,#account-dialog-body,#info-body{font-size:14px;line-height:1.8}
  .support-state-form button{height:auto}
  dialog{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
  .dialog-close{min-height:44px;min-width:44px;right:5px;top:5px;font-size:28px}
  #operations-dialog h2,#workspace-dialog h2,#finance-dialog h2,#booking-dialog h2{padding-right:12px}
  footer .footer-bottom,.footer-bottom{font-size:12px;line-height:1.8}
  .footer-grid>div>a:not(.brand),.footer-grid>div>span{font-size:13px;line-height:1.8;min-height:35px}
}
@media(max-width:360px){
  .service-bar{flex-wrap:wrap;gap:14px}
  .service-title{border:0;border-top:1px solid var(--line);padding:13px 0 0;width:100%}
  .service-title strong,.service-title small{max-width:none}
  .tabs{width:100%}
  .tabs button{flex:1}
  .flight-fields{grid-template-columns:1fr 1fr}
  .flight-fields .field:not(.airport){grid-column:1/-1;border-right:0;min-height:110px}
  .hotel-fields .field{grid-column:1/-1;border-right:0!important}
  .signup-names{grid-template-columns:1fr}
  .signup-names .auth-field{margin-top:18px}
  .document-flight-route{grid-template-columns:1fr 1fr;gap:16px}
  .document-flight-route>.flight-line{grid-column:1/-1;grid-row:2}
  .document-flight-route>div:last-child{grid-column:2;grid-row:1}
  .leg{gap:8px}
  .leg-time strong{font-size:21px}
  .detail-grid,.detail-overview,.profile-details,.inclusion-grid{grid-template-columns:1fr}
  .metrics article>strong{font-size:23px}
  .header-actions{margin-left:0}
  .settings-save>.primary-link{width:100%}
}
@media(max-width:760px){
  .flight-fields .airport{grid-column:1/-1;border-right:0;min-height:0;padding:14px 16px;gap:5px}
  .flight-fields .airport:nth-of-type(2){padding-left:16px}
  .flight-fields .swap{position:relative;grid-column:1/-1;justify-self:end;margin:-22px 14px;top:auto;left:auto;z-index:2}
}
@media(min-width:761px) and (max-width:1024px){
  input:not([type=radio]):not([type=checkbox]):not([type=range]),select,textarea,
  .field input,.field select,.guest-fields input,.settings-fields input,.settings-fields select,
  .table-filters select,.search-input input,.report-filter-fields input,.report-filter-fields select,
  .auth-field>input,.password-field input,.sample-form select,.sample-form textarea{font-size:16px;line-height:1.5;min-height:44px}
  .flight-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flight-fields .field{font-size:12px;min-height:126px;gap:9px;padding:17px 18px;border-bottom:1px solid var(--line)}
  .flight-fields .field:nth-of-type(even){border-right:0}
  .flight-fields .field small{font-size:12px;line-height:1.6}
  .flight-fields .airport{padding-right:26px}
  .flight-fields .airport:nth-of-type(2){padding-left:28px}
  .flight-fields .swap{width:44px;height:44px;left:calc(50% - 22px);top:66px}
  .hotel-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hotel-fields .destination-field{grid-column:1/-1;border-right:0}
  .hotel-fields .field{min-height:120px;border-bottom:1px solid var(--line);font-size:12px}
  .hotel-fields .field small{font-size:12px;line-height:1.6}
  .hotel-fields .field:nth-of-type(2),.hotel-fields .field:nth-of-type(4){border-right:1px solid var(--line)}
  .hotel-fields .field:nth-of-type(3),.hotel-fields .field:nth-of-type(5){border-right:0}
  .report-filter-fields>label{min-width:170px}
  .settings-layout{grid-template-columns:1fr}
  .settings-layout>aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .settings-boundary{margin-top:0}
  .signup-names{grid-template-columns:1fr}
  .signup-names .auth-field{margin-top:18px}
  .table-scroll{overflow-x:auto;max-width:100%;scrollbar-width:thin;overscroll-behavior-x:contain}
  .table-scroll:before{content:'Scroll to view all columns →';display:block;position:sticky;left:0;width:fit-content;font-size:12px;color:#547c99;padding-bottom:12px}
}
@media(min-width:761px) and (max-width:1024px){
  .sort-label select,.room-label select,.fare-label select,.trip-filters select,.promo-tester select{font-size:16px;line-height:1.5;min-height:44px}
  button,.primary-link,.outline-link,.search-button,.secondary-button,.admin-sidebar nav a{min-height:44px}
}
@media(min-width:761px) and (max-width:1024px){
  .checkout-layout{grid-template-columns:minmax(0,1fr) minmax(0,280px)}
  .checkout-layout>div,.checkout-layout>.price-summary{min-width:0}
  .fare-label select,.room-label select{width:100%;min-width:0}
}
@media(min-width:761px) and (max-width:900px){
  .checkout-layout{grid-template-columns:minmax(0,1fr)}
  .checkout-layout>.price-summary{grid-row:1;position:static}
}
