/* FFH V11 responsive shell: shared across portal and integrated modules */
:root{--ffh-touch:44px}
html{max-width:100%;overflow-x:clip}
.ffh-nav-toggle{display:none;min-height:42px;padding:9px 13px;border:1px solid #77818b;background:#343b42;color:#fff;border-radius:9px;font:700 13px/1.2 FFH-Montserrat,Montserrat,system-ui,sans-serif;cursor:pointer}
.ffh-topbar .ffh-nav a.ffh-current,.ffh-topbar .ffh-nav a[aria-current="page"],
.ffh-topbar .ffh-nav-dropdown.ffh-settings-current>summary{background:#4d5660!important;box-shadow:inset 0 -3px 0 #E10600;color:#fff!important}
.ffh-topbar .ffh-nav a.ffh-applications-active{background:#434b53!important;color:#fff!important;box-shadow:inset 0 -3px 0 #E10600!important}
.ffh-topbar .ffh-nav a.ffh-applications-active.ffh-current{background:#5c6570!important}
.ffh-topbar .ffh-nav-dropdown summary{font-size:14px!important;font-weight:700!important;line-height:1.3!important;min-height:43px!important;text-decoration:none!important}
.ffh-topbar .ffh-nav-dropdown summary::after{content:''!important;width:7px;height:7px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg);margin:0 0 4px 5px!important}
.ffh-topbar .ffh-nav-dropdown[open] summary::after{transform:rotate(225deg);margin-bottom:0!important}
.ffh-topbar .ffh-nav-dropdown-panel{z-index:9000;min-width:220px;}
.ffh-headrow,.ffh-navrow-inner{min-width:0}
.ffh-nav,.ffh-subnav-links{max-width:100%;min-width:0}
.ffh-navrow-inner .ffh-leave{margin-left:auto}
.ffh-form .ffh-actions,.ffh-actions,form .ffh-actions{display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap}
.ffh-form .ffh-actions>.ffh-button,.ffh-actions>button,.ffh-actions>a{flex:0 0 auto;min-height:42px}
.ffh-module-tools a,.ffh-module-tools button{white-space:normal!important}
.ffh-portal :is(.ffh-card,.ffh-table-wrap,.ffh-form,.ffh-page-heading){min-width:0;max-width:100%}
.ffh-portal .ffh-card:has(.ffh-form)>.ffh-form{max-width:100%}
.ffh-portal .ffh-field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ffh-portal .ffh-field-pair>*{min-width:0}
.ffh-portal .ffh-inline-check{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important}
.ffh-portal .ffh-inline-check input{width:18px!important;height:18px!important;min-height:18px!important;flex:none;margin:0!important}
.ffh-module-view .ffh-shell-header .ffh-subnav-links>a.ffh-current,.ffh-module-view .ffh-shell-header .ffh-subnav-links>a[aria-current=page]{background:#5c6570!important;box-shadow:inset 0 -3px #E10600!important}
.ffh-module-view .ffh-shell-header .ffh-subnav-links a{min-height:43px!important;white-space:normal!important;overflow-wrap:anywhere}
.ffh-module-view :is(.card,.panel,.table-responsive,.content,.content-area,.main,.wrap){min-width:0}
.ffh-module-view img,.ffh-portal img{max-width:100%}
.ffh-module-view table{border-collapse:collapse}
.ffh-module-view .table-responsive{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.ffh-module-view .ffh-module-legacy-hidden{display:none!important}
.ffh-module-view :is(button,.btn,input,select,textarea){max-width:100%}
body.ffh-module-view{max-width:100%;overflow-x:clip}
@media(max-width:1080px){
 .ffh-wide{width:calc(100% - 28px)!important}
 .ffh-headrow{gap:10px;flex-wrap:wrap}
 .ffh-navrow-inner{gap:9px;min-height:55px;flex-wrap:wrap}
 .ffh-nav-toggle{display:inline-flex;align-items:center;gap:8px;justify-content:center}
 .ffh-navrow-inner nav.ffh-nav{display:none!important;order:3;flex:1 0 100%;width:100%;max-width:100%;padding:7px 0 12px;gap:5px;flex-wrap:wrap;overflow:visible}
 .ffh-navrow-inner.ffh-mobile-expanded nav.ffh-nav{display:flex!important}
 .ffh-navrow-inner .ffh-leave{order:2;max-width:calc(100% - 128px);white-space:normal;font-size:12px;min-height:42px}
 .ffh-navrow-inner .ffh-module-ident{order:1;flex:1 0 100%;margin:6px 0 3px;min-width:0}
 .ffh-navrow-inner .ffh-module-nav{order:4!important}
 .ffh-topbar .ffh-nav-dropdown[open]>.ffh-nav-dropdown-panel{position:absolute!important;left:0!important;right:auto!important;top:100%!important;max-width:calc(100vw - 30px)!important}
 .ffh-footer-inner{gap:12px}
}
@media(max-width:680px){
 html,body{width:100%;max-width:100%;overflow-x:clip}
 .ffh-headrow{padding:10px 0!important;display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}
 .ffh-brand{flex:1;min-width:160px;gap:10px}
 .ffh-brand picture img{width:56px!important;max-width:56px!important;height:56px!important;object-fit:contain}
 .ffh-brand-title{font-size:clamp(15px,4.2vw,20px)!important;white-space:normal;overflow-wrap:anywhere}
 .ffh-brand-title small{font-size:10px!important;line-height:1.4!important}
 .ffh-person{gap:10px;width:auto;max-width:100%;flex:1 1 100%;justify-content:space-between}
 .ffh-person-link{max-width:calc(100% - 100px)}
 .ffh-person-link span{max-width:100%;min-width:0}
 .ffh-person-link strong{font-size:12px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:190px}
 .ffh-person-link small{font-size:10px!important}
 .ffh-logout{font-size:12px!important;min-height:42px;padding:9px 13px!important}
 .ffh-wrap{width:calc(100% - 24px)!important;max-width:100%}
 .ffh-main{padding:24px 0 50px}
 .ffh-card{padding:18px!important}
 .ffh-portal .ffh-field-pair{grid-template-columns:minmax(0,1fr)}
 .ffh-navrow-inner .ffh-leave{max-width:calc(100% - 112px);padding:8px 10px!important;text-align:center;font-size:11px!important}
 .ffh-navrow-inner .ffh-leave span{display:block}
 .ffh-module-ident{max-width:100%}
 .ffh-topbar .ffh-nav a,.ffh-topbar .ffh-nav-dropdown summary{font-size:13px!important;min-height:43px!important;padding:11px 12px!important}
 .ffh-navrow-inner nav.ffh-nav,.ffh-subnav-links{max-width:100%;min-width:0;flex-wrap:wrap!important}
 .ffh-module-view :is(.container,.container-fluid,.wrap,.app-shell,.content,.main,.main-view,main){max-width:100%!important;min-width:0!important}
 .ffh-module-view .row{max-width:100%}
 .ffh-module-view .modal-dialog{max-width:calc(100vw - 20px)!important;margin:10px!important}
 .ffh-module-view :is(.grid,.section-card,.cards,.card-grid){max-width:100%;min-width:0}
 .ffh-module-view .ffh-shell-header .ffh-subnav-links>a{max-width:100%;min-height:42px!important;white-space:normal!important;font-size:12px!important}
 .ffh-module-view .ffh-shell-footer img{object-fit:contain}
 .ffh-portal .ffh-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(display-mode:standalone){
 body.ffh-module-view,body.ffh-portal{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
 .ffh-portal .ffh-navrow-inner,.ffh-module-view .ffh-navrow-inner{max-width:100vw;min-width:0}
 .ffh-module-view>.wrap,.ffh-module-view>.app-shell,.ffh-module-view>.container-fluid{max-width:calc(100% - 12px)!important;width:calc(100% - 12px)!important}
}
@media(prefers-reduced-motion:reduce){.ffh-topbar *{scroll-behavior:auto!important}}

.ffh-push-offer{position:fixed;z-index:99998;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:min(390px,calc(100vw - 32px));padding:20px;border-top:5px solid #E10600;border-radius:12px;background:white;color:#1F2328;box-shadow:0 9px 42px #0004;font:13px/1.5 FFH-Montserrat,Montserrat,system-ui,sans-serif}
.ffh-push-offer strong{display:block;font-size:17px}.ffh-push-offer p{color:#6B6F76}.ffh-push-offer .ffh-actions{margin-top:15px;gap:8px;display:flex;flex-wrap:wrap}
