/* ButterCorp 13.15.8: shared responsive layer. No zoom, transforms, UA sniffing,
   disabled pinch zoom, or viewport-width spoofing. Load after page styles. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body[data-bc-page]{min-width:0}
body[data-bc-page] :where(.panel,.card,.bc-content,.workspace,.grid-2,.grid-3,.form-grid,.top-ops-pair,.control-copy,.table-wrap){min-width:0}
body[data-bc-page] :where(input,select,textarea){max-width:100%}
body[data-bc-page] :where(.table-wrap,.activity,.catalog-list){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
body[data-bc-page] :where(.tabs,.admin-tabs,.toolbar,.filter-row){min-width:0}
body[data-bc-page] .tabs{flex-wrap:wrap}
body[data-bc-page] dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);overflow:auto}
body[data-bc-page="mfd"] .embedded-tool-card,
body[data-bc-page="mfd"] .mining-values-card{max-width:calc(100vw - 16px);height:min(920px,calc(100dvh - 16px));max-height:calc(100dvh - 16px)}
body[data-bc-page="mfd"] .embedded-tool-viewport,
body[data-bc-page="mfd"] .mining-frame-viewport{min-width:0;min-height:0}
/* Summary tables must stay tables, not inherit the Sell receipt flex rows. */
body[data-bc-page="reconciliation"] #batchSummary>.table-wrap{display:block;overflow:auto}
body[data-bc-page="reconciliation"] #batchSummary td{overflow-wrap:anywhere}

@media(min-width:1024px) and (max-width:1450px){
  /* Six direct children, explicitly placed: no inherited spans or empty tracks. */
  body[data-bc-page="mfd"] .topbar{grid-template-columns:minmax(150px,.7fr) minmax(330px,1.65fr) minmax(220px,1fr) 36px 36px!important;gap:5px;min-height:50px;padding:4px 6px}
  body[data-bc-page="mfd"] .brand{grid-column:1;grid-row:1;min-width:0;gap:6px}
  body[data-bc-page="mfd"] .brand-title{font-size:16px;line-height:1.1}
  body[data-bc-page="mfd"] .brand-sub{font-size:7px;letter-spacing:1px}
  body[data-bc-page="mfd"] .brand-mark{width:30px;height:34px;flex-shrink:0;font-size:20px}
  body[data-bc-page="mfd"] .top-ops-pair{grid-column:2;grid-row:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5px}
  body[data-bc-page="mfd"] .money-stack{grid-column:3;grid-row:1;min-width:0;padding:4px 6px;gap:5px}
  body[data-bc-page="mfd"] .clock{display:none}
  body[data-bc-page="mfd"] .notification-bell-btn{grid-column:4;grid-row:1;min-width:0;width:36px}
  body[data-bc-page="mfd"] .settings-menu-btn{grid-column:5;grid-row:1;min-width:0;width:36px}
  body[data-bc-page="mfd"] .top-ops-pair>.top-control{grid-column:auto;height:40px;min-height:40px;padding:3px 5px;gap:4px}
  body[data-bc-page="mfd"] .control-icon{font-size:16px}
  body[data-bc-page="mfd"] .ship-cap{font-size:9px;max-width:55px}
  body[data-bc-page="mfd"] .control-copy select{font-size:16px}
  body[data-bc-page="mfd"] .money-primary strong{font-size:16px}
  body[data-bc-page="mfd"] .money-secondary{padding-left:5px}
  body[data-bc-page="mfd"] .money-secondary b{font-size:9px}
  body[data-bc-page="mfd"] .money-secondary small{font-size:7px;letter-spacing:0}
  body[data-bc-page="mfd"] .action-strip{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}
  body[data-bc-page="mfd"] .action{height:48px;grid-template-columns:16px minmax(0,1fr);padding:6px 5px}
  body[data-bc-page="mfd"] .action strong{font-size:16px}
  body[data-bc-page="mfd"] .action span{font-size:14px}
  body[data-bc-page="mfd"] .action small{font-size:8px;letter-spacing:0}
  body[data-bc-page="mfd"] .mode-banner{flex-direction:row;align-items:center;flex-wrap:wrap;min-height:38px;gap:5px;padding:4px 6px}
  body[data-bc-page="mfd"] #autoSourceText{flex:1 1 150px;min-width:0}
  body[data-bc-page="mfd"] .mode-quick-links{width:auto;margin-left:auto;justify-content:flex-end}
  body[data-bc-page="mfd"][data-mfd-mode="dispatch"] #modeQuickLinks{width:100%;grid-template-columns:repeat(7,minmax(0,1fr))!important}
  body[data-bc-page="mfd"] .dispatch-hauler-bar{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)!important}
  body[data-bc-page="mfd"] .dispatch-context-actions{min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 32px!important}
  body[data-bc-page="mfd"] .hauling-workspace{grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr) minmax(0,.75fr)}
  body[data-bc-page="mfd"] .missions-workspace{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)}
  body[data-bc-page="mfd"] .transfer-workspace{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:768px) and (max-width:1023px){
  body[data-bc-page="mfd"] .topbar{grid-template-columns:minmax(0,1fr) minmax(220px,1fr) 38px 38px!important;gap:5px;padding:5px 7px}
  body[data-bc-page="mfd"] .brand{grid-column:1;grid-row:1;min-width:0}
  body[data-bc-page="mfd"] .brand-title{font-size:18px}
  body[data-bc-page="mfd"] .brand-sub{font-size:8px}
  body[data-bc-page="mfd"] .money-stack{grid-column:2;grid-row:1;min-width:0}
  body[data-bc-page="mfd"] .notification-bell-btn{grid-column:3;grid-row:1;width:38px;min-width:0}
  body[data-bc-page="mfd"] .settings-menu-btn{grid-column:4;grid-row:1;width:38px;min-width:0}
  body[data-bc-page="mfd"] .top-ops-pair{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-bc-page="mfd"] .top-ops-pair>.top-control{grid-column:auto}
  body[data-bc-page="mfd"] .clock{display:none}
  body[data-bc-page="mfd"] .action-strip{grid-template-columns:repeat(5,minmax(0,1fr))}
  body[data-bc-page="mfd"] .action{height:44px;padding:5px 8px}
  body[data-bc-page="mfd"] .action strong{font-size:18px}
  body[data-bc-page="mfd"][data-mfd-mode="dispatch"] #modeQuickLinks{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body[data-bc-page="mfd"] .dispatch-hauler-bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  body[data-bc-page="mfd"] .dispatch-context-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[data-bc-page="mfd"] .dispatch-context-reserve{display:none}
  .bc-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;position:static}
  .bc-brand strong,.bc-page-title{font-size:18px}.bc-brand small{font-size:8px}
  .bc-content>.hero-grid,.grid-2,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1450px){
  body[data-bc-page="reconciliation"] #batchSummary{position:static;max-height:none;overflow:visible;box-shadow:none;padding:10px;margin:10px 0}
  body[data-bc-page="reconciliation"] #batchSummary table{font-size:13px;min-width:570px}
  body[data-bc-page="reconciliation"] #batchSummary th,
  body[data-bc-page="reconciliation"] #batchSummary td{padding:7px 8px}
  body[data-bc-page="reconciliation"] #batchSummary .batch-number{font-size:16px}
  body[data-bc-page="reconciliation"] #batchSummary p{margin:7px 0}
  body[data-bc-page="reconciliation"] #batchSummary small{font-size:12px}
  body[data-bc-page="reconciliation"] #batchSummary button{font-size:13px;padding:7px 9px}
  body[data-bc-page="mfd"] .embedded-tool-head{min-height:48px;padding:7px 10px;gap:8px}
  body[data-bc-page="mfd"] #embeddedToolSubtitle{display:none}
  body[data-bc-page="mfd"] .embedded-tool-title-wrap h2{font-size:18px;margin:0}
  body[data-bc-page="mfd"] .embedded-tool-head .section-kicker{font-size:11px}
  body[data-bc-page="mfd"] .embedded-tool-actions a,
  body[data-bc-page="mfd"] .embedded-tool-return{padding:7px 9px;font-size:14px}
  body[data-bc-page="mfd"] .mining-frame-viewport iframe{width:100%;height:100%;transform:none}
  body[data-bc-page="mfd"] #salesFrame{height:calc(100vh - 170px)!important;height:calc(100dvh - 170px)!important;min-height:360px!important}
  body[data-bc-page="mining"] .filter-panel{display:flex;flex-wrap:wrap;align-items:stretch}
  body[data-bc-page="mining"] .search-box{flex:1 1 240px}
  body[data-bc-page="mining"] .resource-grid{grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr))}
  body[data-bc-page="admin"] :where(.catalog-grid-v11,.finance-summary-grid,.grid-3){grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-bc-page] :where(.admin-tabs,.filter-row,.catalog-controls){max-width:100%;overflow-x:auto}
  body[data-bc-page] :where(.modal,.modal-card,.modal-panel,.catalog-modal-card,.request-catalog-card,.mfd-modal-card){max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto}
  body[data-bc-page="mfd"] .embedded-tool-card{overflow:hidden}
}
@media(max-width:767px){
  body[data-bc-page="mfd"] .topbar{grid-template-columns:minmax(0,1fr) 38px 38px!important}
  body[data-bc-page="mfd"] .brand{grid-column:1;grid-row:1}
  body[data-bc-page="mfd"] .brand-title{font-size:17px}
  body[data-bc-page="mfd"] .brand-sub{letter-spacing:1px}
  body[data-bc-page="mfd"] .notification-bell-btn{grid-column:2;grid-row:1;min-width:0}
  body[data-bc-page="mfd"] .settings-menu-btn{grid-column:3;grid-row:1}
  body[data-bc-page="mfd"] .top-ops-pair{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-bc-page="mfd"] .top-ops-pair>.top-control{grid-column:auto;min-width:0}
  body[data-bc-page="mfd"] .money-stack{grid-column:1/-1;grid-row:3}
  body[data-bc-page="mfd"] .clock{display:none}
  body[data-bc-page="mfd"] .action-strip{grid-template-columns:repeat(5,minmax(0,1fr))}
  body[data-bc-page="mfd"] .action{height:42px;display:flex;justify-content:center;align-items:center;padding:4px 2px}
  body[data-bc-page="mfd"] .action strong{font-size:14px}
  body[data-bc-page="mfd"] .action span,body[data-bc-page="mfd"] .action small{display:none}
  body[data-bc-page="mfd"] .dispatch-hauler-bar{grid-template-columns:minmax(0,1fr)!important}
  body[data-bc-page="mfd"] .commodity-card{grid-template-columns:minmax(0,1fr)!important}
  body[data-bc-page="mfd"] .dispatch-context-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[data-bc-page="mfd"] .dispatch-context-reserve{display:none}
  body[data-bc-page="mfd"] .top-ops-pair .ship-cap{display:none}
  body[data-bc-page="admin"] :where(.catalog-grid-v11,.finance-summary-grid,.grid-3){grid-template-columns:minmax(0,1fr)}
  body[data-bc-page="reconciliation"] .card-actions{flex-wrap:wrap}
}
/* Keep Safari from zooming a form merely because an input font is below 16px.
   This does not scale the page or disable the user's pinch/text zoom. */
@media(any-pointer:coarse){
  body[data-bc-page] :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:16px!important}
}
