/* One utility anchor on landing and native workspace pages. Main workspaces
   retain their larger layout. Higher specificity retires legacy inline anchors. */
html body.dark.ff-logo-shell #hubHeaderShell #hubRightUtilityDock #hubCalcContainer[open]>.ff-centered-utility,
html body.dark.ff-logo-shell :is(#claimsToolsFloatingPanel,#communicationsToolsFloatingPanel,#systemUtilityPanel,#ffServerUtilityPanel,#calculatorUtilityPanel,#contextUtilityPanel){
  position:fixed!important;top:var(--ff-workspace-top,115px)!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translateX(-50%)!important;margin:0!important;
  width:min(1080px,calc(100vw - 24px))!important;max-width:1080px!important;min-width:0!important;
  height:auto!important;max-height:calc(100dvh - var(--ff-workspace-top,115px) - 16px)!important;overflow:auto!important;z-index:100010!important;
}
html body.dark.ff-logo-shell #hubHeaderShell #hubCalcContainer :is(#hubCalcContent,.hub-calc-floating-body,.hub-calc-panel.active,.hub-calc-repair-main,.hub-calc-quote-rail,.hub-calc-workbench-panel,.hub-calc-quote-rail>.hub-calc-section){height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;position:static!important}
html body.dark.ff-logo-shell #hubHeaderShell #hubCalcContainer #hubCalcRepairPanel .hub-calc-repair-grid{display:grid!important;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr)!important;height:auto!important;min-height:0!important;overflow:visible!important;gap:16px!important}
html body.dark.ff-logo-shell #hubHeaderShell #hubCalcContainer .hub-calc-repair-main{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto!important;gap:16px!important}
html body.dark.ff-logo-shell #hubHeaderShell #hubCalcContainer .hub-calc-workbench-head{align-items:flex-start!important;flex-wrap:wrap!important;gap:12px!important}
html body.dark.ff-logo-shell #hubHeaderShell #hubCalcContainer .hub-calc-workbench-head>div{flex:1 1 220px!important;min-width:0!important}
html body.dark.ff-logo-shell #hubHeaderShell #hubCalcContainer .hub-calc-workbench-head>button{flex:0 0 auto!important}
html body.dark.ff-logo-shell #hubHeaderShell #hubCalcContainer .hub-calc-scanbar{display:flex!important;align-items:flex-end!important;gap:8px!important}
html body.dark.ff-logo-shell #hubHeaderShell #hubCalcContainer .hub-calc-scanbar>label{flex:1!important;min-width:0!important}
html body.dark.ff-logo-shell #hubHeaderShell #hubCalcContainer .hub-calc-scanbar>button{flex:0 0 auto!important;margin:0!important}
html body.dark.ff-logo-shell #hubHeaderShell #hubCalcContainer :is(.hub-calc-action-row,.hub-calc-inline-actions){display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;position:static!important}
html body.dark.ff-logo-shell #hubHeaderShell #hubCalcContainer :is(.hub-calc-two,.hub-calc-three,.hub-calc-five,.hub-calc-quote-controls){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
html body.dark.ff-logo-shell #hubHeaderShell #hubCalcContainer .hub-calc-field{display:grid!important;gap:6px!important;min-width:0!important;margin:0!important}
html body.dark.ff-logo-shell #hubHeaderShell #hubCalcContainer button{min-height:40px!important;max-width:100%!important;white-space:normal!important}
html body.dark.ff-logo-shell #hubHeaderShell #hubCalcContainer .hub-calc-floating-body{padding:18px!important}
/* Identity is part of the header flow, so measured popup placement includes it. */
html body.ff-logo-shell #hubHeaderShell{padding:6px 12px 4px!important}
html body.ff-logo-shell #hubLeftUtilityDock{order:1}
html body.ff-logo-shell #hubHeaderShell #hubRightUtilityDock{order:2;margin-left:auto!important;justify-content:flex-end!important}
html body.ff-logo-shell #ffIdentityDock{order:3;display:flex;align-items:center;justify-content:flex-end;gap:8px;max-width:100%;position:relative}
html body.ff-logo-shell #hubHeaderShell>.ff-home-tabs{order:4}
#ffIdentityDock :is(.ff-dev-environment,.ff-site-badge){position:relative!important;inset:auto!important;margin:0!important;color:#f5ce87;font:700 12px/1.4 system-ui}
#ffIdentityDock :is(.ff-dev-environment>summary,.ff-site-badge>summary,span.ff-site-badge){padding:5px 8px;border:1px solid #806a36;border-radius:6px;background:#242018;cursor:pointer}
#ffIdentityDock .ff-account-menu{position:relative;margin:0}
#ffIdentityDock .ff-account-menu>summary{list-style:none;display:flex!important;align-items:center;gap:7px;cursor:pointer;min-height:40px;box-sizing:border-box;padding:7px 9px;border:1px solid #72543e;border-radius:8px;background:#19222ce8;color:#f5f7fa;font:650 13px system-ui}
#ffIdentityDock .ff-account-menu>summary::-webkit-details-marker{display:none}
#ffIdentityDock :is(.ff-account-content,.ff-identity-description,.ff-dev-environment-details){position:absolute;right:0!important;left:auto!important;top:calc(100% + 7px);z-index:100020;min-width:210px;max-width:min(340px,85vw);padding:14px;border:1px solid #50565e;border-radius:9px;background:#1b2026;box-shadow:0 10px 30px #0008;color:#dce1e7;font:13px/1.5 system-ui}
#ffIdentityDock .ff-account-content p{margin:0 0 12px}
#ffIdentityDock .ff-workspace-menu>summary{list-style:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:44px;min-height:44px;box-sizing:border-box;padding:4px 7px;font-size:10px}
#ffIdentityDock .ff-workspace-menu>summary::-webkit-details-marker{display:none}
#ffIdentityDock .ff-workspace-menu>.ff-identity-description::before{content:"";position:absolute;left:0;right:0;top:-9px;height:9px}
#ffIdentityDock .ff-workspace-menu .ff-account-content{position:static;min-width:0;max-width:none;padding:12px 0 0;margin-top:12px;border:0;border-top:1px solid #50565e;border-radius:0;background:transparent;box-shadow:none}
#ffIdentityDock :is(summary,a,button):focus-visible{outline:3px solid #d69a64;outline-offset:3px}
.ff-data-next-steps{padding:16px 18px;margin:12px 0 18px;border:1px solid #796044;border-radius:10px;background:#211e1a;color:#e9dfd2;font:14px/1.55 system-ui}
.ff-data-next-steps h3{margin:0 0 8px}.ff-data-next-steps li+li{margin-top:7px}
/* Native navigation still renders its owning page. Avoid an extra root dissolve. */
::view-transition-old(root),::view-transition-new(root){animation:none}
@media(max-width:760px){html body.dark.ff-logo-shell #hubHeaderShell #hubCalcContainer #hubCalcRepairPanel .hub-calc-repair-grid{grid-template-columns:minmax(0,1fr)!important}#ffIdentityDock .ff-account-name{max-width:130px;overflow-wrap:anywhere}html body.ff-logo-shell #hubHeaderShell{gap:6px!important}}

/* Wide workspaces use one header row. Panels measure this entire row rather
   than overlapping a second navigation row. Smaller screens keep wrapping. */
@media(min-width:1440px){
  html body.ff-logo-shell #hubHeaderShell{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;align-items:start!important;column-gap:12px!important;min-height:54px!important}
  html body.ff-logo-shell #hubHeaderShell #hubLeftUtilityDock{grid-column:1;grid-row:1;align-self:start}
  html body.ff-logo-shell #hubHeaderShell>.ff-home-tabs{grid-column:2;grid-row:1;order:2;flex:0 1 auto!important;align-self:start;width:max-content!important}
  html body.ff-logo-shell #hubHeaderShell #hubRightUtilityDock{grid-column:3;grid-row:1;order:3;align-self:start;padding-right:58px!important}
  html body.ff-logo-shell #hubHeaderShell #ffIdentityDock{position:absolute!important;right:12px;top:6px}
  html body.ff-logo-shell #hubHeaderShell :is(#hubLeftUtilityDock,#hubRightUtilityDock)>:is(a,button),html body.ff-logo-shell #hubHeaderShell #hubCalcContainer>summary{min-height:44px!important}
}
.ff-private-actions :is(button,a.ff-private-link){display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;min-height:44px!important;padding:9px 14px!important;border:1px solid #72543e!important;border-radius:8px!important;background:#19222ce8!important;color:#f5f7fa!important;font:650 14px/1.3 system-ui!important;text-decoration:none!important}

/* Source configuration must fit its popup, including long provider view labels.
   Zero-minimum tracks/children prevent intrinsic form widths from forcing a
   horizontal overflow; fields/actions and their owning forms are unchanged. */
html body.dark.ff-logo-shell #systemUtilityPanel .source-main-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
html body.dark.ff-logo-shell #systemUtilityPanel :is(.source-config-card,.source-field-grid>div,.source-scale-strip>div,.rma-source-global>div,.rma-source-row>div){min-width:0!important;max-width:100%!important;box-sizing:border-box!important;overflow-wrap:anywhere}
html body.dark.ff-logo-shell #systemUtilityPanel .source-field-grid{grid-template-columns:minmax(0,.72fr) minmax(0,1.55fr) minmax(0,.55fr)!important}
html body.dark.ff-logo-shell #systemUtilityPanel .source-field-grid-inventory{grid-template-columns:minmax(0,.62fr) minmax(0,1.35fr) minmax(0,.6fr) minmax(0,.6fr)!important}
html body.dark.ff-logo-shell #systemUtilityPanel .source-config-head{flex-wrap:wrap!important}
html body.dark.ff-logo-shell #systemUtilityPanel .source-config-head span{white-space:normal!important}
@media(max-width:1050px){html body.dark.ff-logo-shell #systemUtilityPanel .source-main-grid{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:700px){html body.dark.ff-logo-shell #systemUtilityPanel :is(.source-field-grid,.source-field-grid-inventory){grid-template-columns:minmax(0,1fr)!important}html body.dark.ff-logo-shell #systemUtilityPanel .rma-source-row{grid-template-columns:52px minmax(0,1fr) 130px!important}}
/* Legacy source labels contain controls inline after their caption. Stack the
   full-width fields so the caption cannot offset them beyond the popup edge. */
html body.dark.ff-logo-shell #systemUtilityPanel label>:is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
html body.dark.ff-logo-shell #systemUtilityPanel .source-pane-title{flex-wrap:wrap!important}
html body.dark.ff-logo-shell #systemUtilityPanel .source-pane-title>div{min-width:0!important;max-width:100%!important;overflow-wrap:anywhere}

/* Settings inherits a compact launcher context. Explanations and source paths
   must wrap in the panel rather than disappear behind its overflow boundary. */
html body.dark.ff-logo-shell #systemUtilityPanel :is(p,.small,code){white-space:normal!important;overflow-wrap:anywhere;min-width:0}

/* Consolidated header: shared nodes, no duplicated account or tool controls. */
html body.dark.ff-logo-shell #hubHeaderShell[data-ff-header]{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;align-items:start!important;padding:8px 12px!important;gap:12px!important}
html body.dark.ff-logo-shell #hubHeaderShell[data-ff-header] #hubLeftUtilityDock{grid-column:1!important;grid-row:1!important;display:flex!important;flex-wrap:wrap!important;position:relative!important;inset:auto!important;justify-content:flex-start!important;gap:6px!important;width:auto!important}
html body.dark.ff-logo-shell #hubHeaderShell[data-ff-header] #hubRightUtilityDock{grid-column:3!important;grid-row:1!important;display:flex!important;position:relative!important;inset:auto!important;justify-content:flex-end!important;gap:6px!important;width:auto!important}
html body.dark.ff-logo-shell #hubHeaderShell[data-ff-header] #ffIdentityDock{position:relative!important;inset:auto!important;order:0!important;margin:0!important}
html body.dark.ff-logo-shell #hubHeaderShell[data-ff-header] #ffIdentityDock .ff-identity-description{left:0!important;right:auto!important}
html body.dark.ff-logo-shell #hubHeaderShell[data-ff-header] .ff-home-tabs{grid-column:2!important;grid-row:1!important;position:relative!important;inset:auto!important;width:auto!important;display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:8px!important;margin:0!important;transform:none!important}
.ff-launcher-icon{display:inline-block;margin-right:6px;font:19px/1 system-ui;vertical-align:middle}
html body.dark.ff-logo-shell #ffMobileMenu{display:none!important}
@media(max-width:1100px) and (min-width:681px){html body.dark.ff-logo-shell #hubHeaderShell[data-ff-header]{grid-template-columns:minmax(0,1fr) auto!important}html body.dark.ff-logo-shell #hubHeaderShell[data-ff-header] .ff-home-tabs{grid-column:1 / -1!important;grid-row:2!important}html body.dark.ff-logo-shell #hubHeaderShell[data-ff-header] #hubRightUtilityDock{grid-column:2!important}}
@media(max-width:680px){
 html body.dark.ff-logo-shell #hubHeaderShell[data-ff-header]{grid-template-columns:minmax(0,1fr) auto!important;gap:6px!important;padding:6px 8px!important}
 html body.dark.ff-logo-shell #hubHeaderShell[data-ff-header] #hubRightUtilityDock{grid-column:2!important}
 html body.dark.ff-logo-shell #hubHeaderShell[data-ff-header] #hubLeftUtilityDock{gap:4px!important}
 html body.dark.ff-logo-shell #hubHeaderShell[data-ff-header] :is(#hubLeftUtilityDock,#hubRightUtilityDock) .ff-launcher-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 html body.dark.ff-logo-shell #hubHeaderShell[data-ff-header] :is(#hubLeftUtilityDock,#hubRightUtilityDock) :is(button,a){min-width:44px!important;min-height:44px!important;padding:7px!important}
 html body.dark.ff-logo-shell #hubHeaderShell[data-ff-header] .ff-launcher-icon{margin:0}
 html body.dark.ff-logo-shell #ffMobileMenu{display:inline-flex!important;align-items:center!important;justify-content:center!important}
 html body.dark.ff-logo-shell #hubHeaderShell[data-ff-header] .ff-home-tabs{display:none!important;position:absolute!important;left:8px!important;top:100%!important;right:auto!important;width:min(300px,calc(100vw - 16px))!important;padding:10px!important;background:#1a1e23!important;border:1px solid #96704e!important;border-radius:10px!important;z-index:100030!important;box-sizing:border-box!important}
 html body.dark.ff-logo-shell #hubHeaderShell[data-mobile-open] .ff-home-tabs{display:flex!important;flex-direction:column!important;align-items:stretch!important}
 html body.dark.ff-logo-shell #hubHeaderShell[data-mobile-open] .ff-home-tabs>a{justify-content:flex-start!important;text-align:left!important;min-height:44px!important}
}
/* Symmetric footer composition; corner artwork never shifts its center. */
html body.dark.ff-logo-shell :is(.ff-home-footer,.demo-footer,#demo-receipt){position:fixed!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:min(1000px,calc(100vw - 176px))!important;box-sizing:border-box!important;margin:0!important;padding:0!important;text-align:center!important;line-height:1.4!important;pointer-events:none;z-index:99980}
html body.dark.ff-logo-shell :is(.ff-home-footer,.demo-footer){display:block!important;bottom:8px!important;font-size:10px!important}
html body.dark.ff-logo-shell #demo-receipt{bottom:28px!important;font-size:10px!important;max-height:44px;overflow:auto;pointer-events:auto}

html body.dark.ff-logo-shell #hubHeaderShell[data-ff-header] #hubRightUtilityDock>#ffMobileMenu{display:none!important}
@media(max-width:680px){html body.dark.ff-logo-shell #hubHeaderShell[data-ff-header] #hubRightUtilityDock>#ffMobileMenu{display:inline-flex!important}}
#ffReadOnlySettings{position:relative}#ffReadOnlySettings>summary{cursor:pointer;min-height:44px;padding:10px;border:1px solid #96704e;border-radius:8px;background:#20252b;box-sizing:border-box}#ffReadOnlySettings>a{position:absolute;right:0;top:100%;min-width:160px;padding:12px;background:#20252b;border:1px solid #96704e}
@media(max-width:680px){html body.dark.ff-logo-shell #hubHeaderShell[data-ff-header] .ff-home-tabs{grid-column:1 / -1!important;grid-row:auto!important;max-width:none!important;justify-self:start!important}}
