/* Approved desktop styles are unchanged; these refinements apply to phones only. */
.mobile-flow-tools{display:none}
@media(max-width:760px){
 /* Shorter activity cards; keep the title and full details one tap away. */
 .route-page .campaign-grid:has(.campaign-illustrated){gap:10px}
 .route-page .campaign-grid>.campaign-illustrated{grid-template-columns:96px minmax(0,1fr);min-height:0}
 .route-page .campaign-grid>.campaign-illustrated>.campaign-body{padding:10px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
 .route-page .campaign-grid>.campaign-illustrated .campaign-body h2{font-size:15px;line-height:1.4;margin:0}
 .route-page .campaign-grid>.campaign-illustrated .campaign-body p{font-size:12px;line-height:1.5;margin:0;-webkit-line-clamp:2}
 .route-page .campaign-grid>.campaign-illustrated .card-action{min-height:32px;margin:0;font-size:12px}
 .route-page .campaign-grid>.campaign-illustrated .page-tag{line-height:1.3;margin:0}
 .campaign-image>span{right:6px;top:6px;padding:2px 5px;font-size:9px}

 /* A stable visible-viewport anchor also follows Safari's keyboard pan offset. */
 dialog.service-modal,
 dialog.service-modal:is(.service-modal-wallet,.service-modal-wide,.service-modal-support),
 dialog.service-modal:has(.df-flow),dialog.service-modal:has(.wheel-preview),dialog.service-modal:has(.wheel-result){
  bottom:calc(var(--mobile-viewport-keyboard-inset,0px) + max(10px,env(safe-area-inset-bottom,0px)));
  transition:none;
 }
 dialog.service-modal .service-modal-content{max-height:none;overscroll-behavior-y:contain;overflow-anchor:none}
 dialog.account-modal{top:var(--mobile-viewport-top,0px);bottom:auto;transition:none}
 dialog.service-modal:has(#service-search){top:var(--mobile-viewport-top,0px);bottom:auto}
 dialog.service-modal .ui-field :is(input,textarea,select),dialog.account-modal .account-input>input{font-size:16px}

 /* Remove every reserved control slot. The tools occupy an independent layer. */
 .account-tabs{padding-right:0}
 .df-flow>.df-stepper,.wheel-preview>.ui-wheel-intro{padding-right:0}
 .df-binding-row .df-binding-actions,.df-binding-row>div:first-child>p{padding-right:0}
 .preview-toolbar:empty{display:none}
 .preview-panel-heading>.state-preview-toggle{margin:0}
 .sample-panel>.ui-panel-heading:has(>h2:only-child){margin-bottom:12px}
 body:is([data-route="/records/transactions"],[data-route="/records/games"]) .sample-panel>.ui-panel-heading{display:none}
 .reward-grid-expanded>.ui-reward>h3{margin-right:0}
 .reward-grid-expanded .cashback-card-top{padding-right:0}
 .mobile-flow-tools{display:block;position:fixed;z-index:35;right:16px;top:calc(var(--phone-header,64px) + env(safe-area-inset-top,0px) + 16px);margin:0;color:#acd6c8;font-size:11px;line-height:1.5}
 .mobile-flow-tools[hidden]{display:none}
 .mobile-flow-tools>summary{display:flex;align-items:center;justify-content:center;min-height:32px;min-width:74px;padding:5px 10px;list-style:none;border:1px dashed #6f9d8d88;border-radius:18px;background:#20342ff2;cursor:pointer;box-shadow:0 3px 12px #0003}
 .mobile-flow-tools>summary::-webkit-details-marker{display:none}
 .mobile-flow-options{position:absolute;right:0;top:calc(100% + 7px);width:min(270px,calc(100vw - 32px));max-height:50dvh;overflow-y:auto;overscroll-behavior:contain;border:1px solid #45665b;border-radius:14px;padding:6px 12px;background:#202c28;box-shadow:0 12px 36px #0008}
 .mobile-flow-options>div{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:48px;border-bottom:1px solid #ffffff0d}
 .mobile-flow-options>div:last-child{border-bottom:0}
 .mobile-flow-options .state-preview-toggle{position:static!important;transform:none!important;flex:0 0 34px;width:34px;height:34px}
 dialog>.mobile-flow-tools{top:calc(var(--mobile-viewport-top,0px) + env(safe-area-inset-top,0px));right:16px;z-index:100}
 dialog.account-modal>.mobile-flow-tools,dialog.service-modal:has(#service-search)>.mobile-flow-tools{right:70px;top:calc(var(--mobile-viewport-top,0px) + env(safe-area-inset-top,0px) + 10px)}
 .member-subnav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;border-bottom:0;padding:0;margin:0 0 16px;overflow:visible}
 .member-subnav>.ui-tab{border:1px solid #454f4b;border-radius:10px;background:#292e2b;min-height:44px;font-size:12px;padding:9px 3px;color:#bdc8c2}
 .member-subnav>.ui-tab.is-current{color:#b5fff0;background:linear-gradient(120deg,#21443b,#243732);border-color:#4c9c89;box-shadow:inset 0 0 0 1px #77d5bc0b}
 .sidebar>nav>.mobile-logout{margin-top:12px;margin-bottom:8px;border-top:1px solid #ffffff12;border-radius:0;padding-top:16px}

 /* One pair of game actions, inside the lower data card. */
 .game-detail.has-insights.is-combined-preview>.detail-copy{justify-content:flex-start}
 .game-detail.has-insights.is-combined-preview>.detail-copy>.detail-actions{display:none}
 .game-detail.has-insights.is-combined-preview>.detail-copy dl{margin-bottom:0}
 .game-detail.has-insights.is-combined-preview .gip-combined-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid #77c5a529}
 .game-detail.has-insights.is-combined-preview .gip-combined-actions .btn{padding-inline:6px;font-size:12px;min-width:0}

 /* Two metrics fill the row instead of leaving a third empty column. */
 .sample-metrics:has(>div:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .sample-metrics>div{padding:9px 10px;display:flex;flex-direction:column;justify-content:center}
 .sample-metrics>div>small{margin-bottom:4px}
 .sample-metrics>div>strong{font-size:16px;line-height:1.35}
 .sample-metrics .sample-money{align-items:baseline}
 .sample-metrics .sample-currency{align-self:baseline}
 .sample-filter{padding:10px;gap:8px;margin-bottom:12px}
}
