/* Big Air Brain P0 mobile/iOS responsive hardening. */
.main-nav button span.nav-label{width:auto;color:inherit;font-size:inherit}
.main-nav .mobile-nav-close,.mobile-nav-backdrop,.mobile-nav-quick{display:none}
@media(max-width:820px){
 html,body{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
 html.mobile-nav-open,body.mobile-nav-open{overflow:hidden}
 .brain-app{min-width:0;overflow-x:hidden}
 .main-nav{display:flex;position:fixed;inset:0 auto 0 0;top:0;width:min(88vw,320px);max-width:320px;height:100dvh;max-height:100dvh;z-index:90;transform:translate3d(-102%,0,0);transition:transform .2s ease;background:#111411;padding-top:env(safe-area-inset-top);box-shadow:12px 0 35px #0008;overflow:hidden;overscroll-behavior:contain}
 .brain-app.nav-open .main-nav{transform:translate3d(0,0,0)}
 .main-nav .brand-sidebar{flex:0 0 auto;padding-right:52px}
 .main-nav nav{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:16px}
 body.master-reference-ui .main-nav nav button,body.master-reference-ui .main-nav a,.nav-footer button{min-height:44px;font-size:14px;touch-action:manipulation}
 .nav-footer{flex:0 0 auto;padding-bottom:max(10px,env(safe-area-inset-bottom));background:#111411}
 .main-nav .mobile-nav-close{display:grid;place-items:center;position:absolute;top:max(10px,env(safe-area-inset-top));right:10px;z-index:2;width:44px;height:44px;border:0;border-radius:9px;background:#202620;color:#fff;font-size:28px;line-height:1}
 .mobile-nav-backdrop{display:block;position:fixed;inset:0;z-index:80;border:0;background:#0009;padding:0;margin:0;width:100%;height:100dvh;opacity:1}
 .mobile-nav-backdrop[hidden]{display:none!important}
 .mobile-nav-quick{display:grid;gap:3px;margin:12px 0 0;padding:12px 0 0;border-top:1px solid var(--line)}
 .mobile-nav-quick>span{padding:0 12px 5px;color:#7f8b82;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
 .mobile-nav-quick button{display:flex!important}
 .mobile-nav-quick button[hidden]{display:none!important}
 .mobile-nav-toggle{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:8px;touch-action:manipulation;font-size:22px}
 .topbar{min-height:58px;height:auto;padding-top:env(safe-area-inset-top);padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right));gap:8px}
 .topbar>*{min-width:0}
 .global-search{min-width:0;flex:1;width:auto}
 .workspace,.workspace-header,#content,.card,.reference-screen,.park-workspace,.park-detail,.user-detail-grid,.invoice-editor,.detail-grid,.project-layout,.workgrid,.resource-context-grid,.resource-bottom-grid,.gantt-layout,.project-create-grid{min-width:0;max-width:100%}
 .workspace{padding-bottom:max(24px,env(safe-area-inset-bottom))}
 .workspace-actions,.toolbar,.actionbar,.reference-toolbar,.panel-title,.section-title,.resource-toolbar{max-width:100%}
 .tabs,.jobtabs,.park-tabs,.admin-tabs,.segmented,.project-nav{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
 .tabs button,.jobtabs button,.park-tabs button,.admin-tabs button,.segmented button,.project-nav button{min-height:44px;flex:0 0 auto;touch-action:manipulation}
 .table-wrap,.calendar,.final-permission-matrix{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
 .table-wrap table{width:max-content;min-width:100%}
 th,td{white-space:nowrap}
 td p,td .wrap,td .description{white-space:normal}
 button,.primary,.secondary,.ghost,.icon-btn,.topbar-icon{min-height:44px;touch-action:manipulation}
 input,select,textarea{font-size:16px;min-height:44px}
 textarea{min-height:96px}
 .modal-backdrop{height:100dvh;min-height:100dvh;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));place-items:end center;overflow:auto;overscroll-behavior:contain}
 .modal{width:100%;max-width:720px;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px);border-radius:14px 14px 8px 8px;padding-bottom:max(18px,env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
 .modal-actions{position:sticky;bottom:0;background:#fff;padding:10px 0 max(4px,env(safe-area-inset-bottom));z-index:2}
 .modal-actions button{flex:1;min-width:112px}
 .article-panel,.sticky{position:relative;top:auto;max-height:none}
 .calendar-grid,.resource-calendar{min-width:760px}
 .park-workspace,.user-detail-grid,.invoice-editor,.detail-grid,.resource-context-grid,.resource-bottom-grid,.gantt-layout,.project-create-grid{grid-template-columns:1fr!important}
 .park-list{max-height:none}
 .park-map-placeholder{min-height:180px}
}
@media(max-width:560px){
 .topbar{display:grid;grid-template-columns:44px minmax(0,1fr);grid-auto-rows:auto}
 .mobile-nav-toggle{grid-column:1;grid-row:1}
 .global-search{grid-column:2;grid-row:1;width:100%;margin:0}
 .topbar-new-project,.topbar-icon{display:none}
 .workspace{padding:12px 8px max(20px,env(safe-area-inset-bottom))}
 .workspace-header{gap:10px}
 .workspace-header h1{font-size:22px}
 .workspace-actions,.toolbar,.actionbar,.reference-toolbar,.panel-title,.section-title,.resource-toolbar{align-items:stretch}
 .workspace-actions>button,.toolbar>button,.toolbar>input,.toolbar>select,.actionbar>button{flex:1 1 140px}
 .form-grid,.calculation-panel,.two,.grid,.kpi-grid,.jobs-summary,.searchbox{grid-template-columns:1fr!important}
 .form-grid .span2,.calculation-panel .span2,.project-create-grid .span2{grid-column:auto!important}
 .final-override-row{grid-template-columns:1fr!important}
 .card{padding:12px}
 .empty,.empty-state{padding:24px 12px}
 .project-hero,.job-hero,.panel-title,.section-title{flex-direction:column;align-items:stretch}
 .meta-row{gap:8px 12px}
 .modal-head{align-items:flex-start}
}
@media(max-width:340px){
 .main-nav{width:min(94vw,300px)}
 .workspace{padding-left:6px;padding-right:6px}
 .card{padding:10px}
 .global-search{font-size:13px}
}
@media(hover:none) and (pointer:coarse){
 .main-nav button:hover,.main-nav a:hover,tbody tr:hover,.secondary:hover,.primary:hover{filter:none}
 button,a,[role=button]{-webkit-tap-highlight-color:rgba(116,201,71,.18)}
}
