/* Shared mobile refinements. Wide financial tables keep their own scroll area. */
html body :is(main,.content,.page,.panel,.card,fieldset){min-width:0}
html body :is(.table-wrap,.report-table-wrap,.cash-table-wrap,.account-table-wrap,.meeting-table-wrap,.gcs-table-scroll){max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
html body :is(.table-wrap,.report-table-wrap,.cash-table-wrap,.account-table-wrap,.meeting-table-wrap):focus-visible{outline:2px solid #5e76b1;outline-offset:3px}
html body img{max-width:100%}
.admin-menu-close,.finance-menu-close{display:none}
.admin-menu-toggle svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
body:has(.admin-nav) .admin-nav{align-items:stretch}
body:has(.admin-nav) .admin-nav>a:not(.active):not(:hover){background:transparent}
body:has(.admin-nav) .admin-nav .sidebar-brand{display:flex;flex-shrink:0}
body:has(.admin-nav) .admin-nav .sidebar-section-title{display:block;flex-shrink:0}
body:has(.admin-nav) .admin-nav .sidebar-spacer{display:block}
.admin-menu-shade{position:fixed;inset:0;background:#10192aa8;border:0;z-index:55;padding:0}
.admin-menu-shade[hidden]{display:none}
html body :is(.form-grid,.cash-form-grid,.meeting-form-grid,.library-form-grid,.task-form-grid,.financial-toolbar,.treasury-filters)>*{min-width:0}
@media(max-width:800px){
  body:has(.admin-nav) .admin-nav{width:min(290px,calc(100vw - 32px));visibility:hidden;overscroll-behavior:contain;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom))}
  body.admin-menu-open:has(.admin-nav){overflow:hidden}
  body.admin-menu-open:has(.admin-nav) .admin-nav{visibility:visible}
  .admin-menu-close{display:flex;align-self:flex-end;align-items:center;justify-content:center;width:44px;height:44px;background:#ffffff17;color:white;border:1px solid #ffffff25;border-radius:9px;font-size:24px;cursor:pointer}
  body:has(.admin-nav) .admin-menu-toggle{min-width:44px;min-height:44px;flex:none}
  html body:has(.admin-nav) .btn{min-height:44px}
  html body:has(.admin-nav) :is(.form-control,input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:16px;min-height:44px}
  body:has(.admin-nav) .admin-top-title{min-width:0;overflow-wrap:anywhere}
  body:has(.admin-nav) .page{padding:22px 16px 40px}
  body:has(.admin-nav) .panel{padding:16px}
  body:has(.admin-nav) .company-overview-row>div{min-width:0;overflow-wrap:anywhere}
  body:has(.admin-nav) .form-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
  .finance-shell .finance-sidebar{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);overscroll-behavior:contain}
  .finance-menu-close{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;align-self:flex-end;margin:10px 12px 0;border:1px solid #ffffff25;border-radius:9px;background:#ffffff17;color:#fff;font-size:24px;cursor:pointer;flex:none}
  .finance-shell .finance-top-left{flex:1;min-width:0}.finance-shell .finance-breadcrumb{min-width:0;flex:1}
  .finance-shell .finance-topbar{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  .gcs-finance-embedded .content{padding-bottom:max(32px,env(safe-area-inset-bottom))}
  html body :is(.btn,.home-button,.home-filter,.icon-btn,.finance-icon-btn,.report-mini-btn,.report-comment-button,.report-attachment-manage,.gcs-event-clear){min-height:44px}
  html body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]),select,textarea){font-size:16px;min-height:44px}
  html body :is(input[type=date],input[type=datetime-local],input[type=month],input[type=file]){min-width:0;max-width:100%;width:100%}
  html body input[type=file]{overflow:hidden}
  html body :is(.page-head,.task-hero,.library-hero,.account-header,.report-event-hero,.cash-hero){min-width:0;gap:16px}
  html body :is(.page-head>div,.task-hero>div,.library-hero>div,.cash-hero>div){min-width:0;max-width:100%}
  html body :is(.inline-actions,.screen-report-actions,.category-actions,.task-hero-actions,.library-hero-actions){flex-wrap:wrap;gap:8px;max-width:100%}
  html body :is(.cash-modal-overlay,.modal-overlay,.library-modal-backdrop,.report-attachment-modal){padding:10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}
  html body :is(dialog,.cash-modal,.modal,.library-modal,.report-attachment-dialog){min-width:0;max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);overscroll-behavior:contain}
  html body :is(dialog,.cash-modal,.modal,.library-modal){overflow-y:auto}
  html body :is(.cash-modal header,.library-modal header,.meeting-dialog-head){gap:12px}
  html body :is(.cash-modal header button,.library-modal-x,.meeting-dialog-head button,.report-attachment-close){min-width:44px;min-height:44px;flex-shrink:0}
  html body :is(.cash-modal footer,.modal-form footer,.library-modal footer,dialog footer){flex-wrap:wrap;gap:8px;padding-bottom:env(safe-area-inset-bottom)}
  html body :is(.cash-modal footer,.modal-form footer,.library-modal footer,dialog footer)>.btn{flex:1 1 120px}
  html body :is(.gcs-event-select-menu){max-width:calc(100vw - 36px);max-height:min(360px,60dvh);overscroll-behavior:contain}
  html body .gcs-event-option{min-height:44px}
  html body .gcs-event-option span{overflow-wrap:anywhere;min-width:0}
  html body :is(.topbar-brand,.topbar-actions){min-width:0}
  html body .topbar-brand>div{min-width:0}
  html body .topbar-brand strong{overflow-wrap:anywhere}
}
@media(max-width:480px){
  html body :is(.treasury-filters,.meeting-filters,.meetings-filters,.activity-filter-grid,.library-form-grid,.cash-payment-line,.report-payment-allocation){grid-template-columns:minmax(0,1fr)}
  html body :is(.treasury-filters,.meeting-filters,.meetings-filters,.library-form-grid,.cash-payment-line)>*{grid-column:1/-1}
  html body :is(.financial-pending-summary,.cash-payment-summary){grid-template-columns:minmax(0,1fr)}
  html body .task-assignee-list{grid-template-columns:minmax(0,1fr)}
  html body .cash-modal{padding:16px}
  html body :is(.task-hero,.library-hero,.cash-hero,.page-head){flex-direction:column;align-items:stretch}
  html body :is(.task-hero-actions,.library-hero-actions,.screen-report-actions){width:100%;justify-content:flex-start}
  html body :is(.task-hero-actions,.library-hero-actions,.screen-report-actions)>.btn{flex:1 1 110px}
  html body :is(.activities-body,.meetings-body) .topbar{height:auto;min-height:72px;flex-wrap:wrap;gap:8px;padding-block:10px}
  html body :is(.activities-body,.meetings-body) .topbar-actions{width:100%;justify-content:flex-end}
  html body :is(.activities-body,.meetings-body) .topbar-brand span{white-space:normal}
  html body .home-organizations{grid-template-columns:minmax(0,1fr)}
  html body .home-brand span{font-size:1rem}
}
@media(prefers-reduced-motion:reduce){html body .admin-nav{transition:none}}
