/* RevFood CRM 2 v1.3.0: responsive shell and operational UI safeguards. */
html,body{max-width:100%;min-width:0}
.crm-app,.crm-workspace,.crm-workspace>*,[data-section-panel],.crm-panel,.panel-heading>*,.channel-workbench,.meta-publication-layout>*{min-width:0}
.crm-workspace :is(h1,h2,h3,p,span,b,small,label,td,th){overflow-wrap:anywhere}
.crm-workspace :is(button,a,input,select,textarea,summary){touch-action:manipulation}
.crm-workspace :is(button,a.table-action,.primary-button,summary){min-height:44px}
.crm-workspace :is(input,select,textarea){max-width:100%;font-size:16px}
.table-wrap,.ops-person-table-wrap,.ops-stock-table-wrap{max-width:100%;overflow:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.table-wrap>table{min-width:max(680px,100%)}
.table-wrap:focus-within{outline:2px solid rgba(101,116,49,.28);outline-offset:2px}
dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
dialog .lead-form{min-width:0;padding-bottom:max(24px,env(safe-area-inset-bottom))}
dialog .panel-heading{position:sticky;z-index:2;top:0;background:#11140f}
dialog .panel-heading button{min-width:44px;min-height:44px}
.dialog-actions,.workspace-actions,.channel-workbench-actions,.integration-actions,.panel-heading-actions,.role-actions{flex-wrap:wrap}
.role-preview-banner{width:min(760px,calc(100vw - 24px));top:max(8px,env(safe-area-inset-top));flex-wrap:wrap}
.crm-user,.crm-user>*{min-width:0}
.admin-menu summary{box-sizing:border-box;width:100%;min-width:0;min-height:44px;touch-action:manipulation}
.admin-menu summary b,.admin-menu summary span{display:block;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.25}
.admin-menu-list,.language-menu>div{box-sizing:border-box;max-width:calc(100vw - 24px);max-height:min(70dvh,520px);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.admin-menu-list button{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:11px 12px;white-space:normal;overflow-wrap:anywhere;touch-action:manipulation}
#logout-button{box-sizing:border-box;min-width:44px;min-height:44px;padding:10px 12px}

@media(max-width:900px){
 .crm-app:not([hidden]){display:block;min-height:100dvh}
 .crm-sidebar{position:fixed!important;inset:0 auto 0 0!important;z-index:80;width:min(320px,88vw)!important;height:100dvh!important;padding:max(18px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom))!important;display:flex!important;flex-direction:column;overflow:hidden!important;transform:translateX(0);opacity:1}
 .crm-app.sidebar-collapsed .crm-sidebar{transform:translateX(-105%);opacity:0;pointer-events:none}
 .crm-sidebar-toggle{z-index:90;top:max(12px,env(safe-area-inset-top));left:min(302px,calc(88vw - 18px));width:44px;height:44px}
 .crm-app.sidebar-collapsed .crm-sidebar-toggle{left:12px}
 .crm-sidebar .sidebar-navigation{flex:1 1 auto;min-height:0;display:grid!important;grid-template-columns:1fr!important;gap:4px!important;margin-top:18px!important;direction:ltr;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scroll-padding-bottom:18px}
 .crm-sidebar nav button,.crm-sidebar nav summary{min-height:44px}
 .crm-sidebar .crm-user{flex:0 0 auto;width:100%;margin-top:12px!important;padding:12px 0 0!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center!important;gap:6px 12px!important}
 .crm-sidebar .crm-user .admin-menu{grid-column:1/-1}
 .crm-sidebar .crm-user>small{grid-column:1;display:block!important;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.3}
 .crm-sidebar #logout-button{grid-column:2;grid-row:2;justify-self:end}
 .crm-sidebar .admin-menu-list{left:0;right:0;bottom:calc(100% + 8px);width:auto;max-width:100%;max-height:min(50dvh,calc(100dvh - max(18px,env(safe-area-inset-top)) - max(18px,env(safe-area-inset-bottom)) - 112px));overflow-y:auto;overflow-x:hidden}
 .crm-sidebar-backdrop{position:fixed;z-index:75;inset:0;border:0;background:rgba(7,9,6,.56);backdrop-filter:blur(2px)}
 .crm-sidebar-backdrop[hidden]{display:none!important}
 .crm-workspace{width:100%;padding:76px clamp(14px,4vw,30px) max(40px,env(safe-area-inset-bottom))!important}
 .crm-workspace>header{gap:16px}
 .workspace-tabs,.crm-section-tabs,.directory-tabs,.publication-channel-tabs,.listing-filters{max-width:100%;flex-wrap:nowrap!important;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
 .workspace-tabs button,.crm-section-tabs button,.directory-tabs button,.publication-channel-tabs button,.listing-filters button{flex:0 0 auto;min-height:44px;white-space:normal}
 .channel-summary,.channel-integration,.olx-finance,.panel-heading,.roles-page-heading{align-items:flex-start;flex-direction:column}
 .panel-heading{gap:12px}
 .panel-heading>span{max-width:100%}
 .overview-grid,.crm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .meta-publication-journal article{grid-template-columns:minmax(0,1fr);align-items:start}
 .audit-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
}

@media(max-width:600px){
 .crm-workspace{padding-inline:12px!important}
 .crm-workspace>header h1,.roles-page-heading h2{font-size:clamp(29px,9vw,38px)!important;line-height:1.05}
 [data-section-panel]{padding-top:20px}
 .overview-grid,.crm-stats,.mini-stats,.supplier-grid,.production-flow,.channel-grid,.integration-card-grid,.audit-toolbar,.ops-calculator-result,.ops-cash-summary article,.inbound-channel-grid{grid-template-columns:1fr!important}
 .overview-card{min-height:170px}.overview-card strong{font-size:48px}
 .crm-panel{margin-top:18px;border-radius:12px}
 .panel-heading{padding:16px}
 .panel-heading h2{font-size:19px;line-height:1.2}
 .workspace-actions,.workspace-actions .primary-button,.channel-workbench-actions,.channel-workbench-actions .primary-button,.dialog-actions,.dialog-actions>button,.dialog-actions>a,.integration-actions,.integration-actions>*{width:100%}
 .dialog-actions{flex-direction:column-reverse}
 dialog{width:100vw!important;max-width:100vw;margin:0;max-height:100dvh;height:auto;border-inline:0}
 dialog[open]{inset-block-start:0}
 dialog .lead-form{padding:0 16px max(20px,env(safe-area-inset-bottom))!important}
 dialog .lead-form .panel-heading{margin-inline:-16px;padding-left:16px;padding-right:10px}
 .form-grid,.permission-grid,.olx-attribute-fields,.ops-line-choice{grid-template-columns:1fr!important}
 .permission-option{min-height:52px}
 .role-preview-banner{left:12px;right:12px;width:auto;transform:none}
 .role-preview-banner button{width:100%;min-height:44px}
 .operational-note{padding:16px;gap:10px;grid-template-columns:1fr}
 .operational-note b{grid-row:auto;max-width:none}
 .table-wrap{margin-inline:0;border-radius:0}
 .table-wrap>table{min-width:660px}
 .ops-person-table,.ops-stock-table,.ops-cash-table,.ops-tariff-table,.ops-staff-table,.ops-supplier-table,.ops-customer-table{min-width:760px!important}
 .table-pager{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;width:100%;gap:8px}
 .table-pager span{min-width:0;text-align:center}
 .lookup-control,.resource-details label:last-child{grid-template-columns:1fr}
 .resource-details label:last-child select{border-left:1px solid rgba(240,241,233,.24)}
 .meta-assets article,.olx-finance{align-items:stretch;flex-direction:column}
 .release-list article{padding:18px 0;gap:10px;grid-template-columns:1fr}.release-list time{text-align:left}
}

@media(max-height:520px) and (orientation:landscape) and (max-width:900px){
 .crm-sidebar{width:min(360px,72vw)!important}
 .crm-sidebar-toggle{left:min(342px,calc(72vw - 18px))}
 .crm-app.sidebar-collapsed .crm-sidebar-toggle{left:12px}
 dialog{max-height:100dvh}
 .crm-workspace{padding-top:66px!important}
}

@media(hover:none){
 .crm-workspace :is(button,a,summary):hover{transform:none}
 .crm-sidebar :is(button,summary):hover{transform:none}
 .admin-menu-list button:hover{transform:none;background:transparent}
 .admin-menu-list button:active,.admin-menu-list button:focus-visible,.admin-menu-list button.active{background:rgba(166,174,114,.17)}
}

@media(prefers-reduced-motion:reduce){
 .crm-sidebar,.crm-sidebar-toggle{transition:none!important}
}
