/* Display exceptions are independent of the canonical workbook palette.
   Earlier layer gives semantic pairs precedence over blanket terminal rules. */
@layer ff-semantic {
 /* Browser display only. The canonical workbook keeps its own magenta palette. */
 html body:not([data-ff-appearance-theme="terminal"]){--ff-claim-other:#790093!important}
 /* A provider on a Late/red ticket still needs a purple font with >=4.5:1
    contrast. Supplier/Late intersections keep their existing background priority. */
 html body:not([data-ff-appearance-theme="terminal"]) .claims-sheet-table .claim-row-missed-payment[data-insurance="other_st_bolt_likewize"] :is(.claim-ticket-cell,.claim-ticket-cell a){color:#25002d!important}
 html body[data-ff-appearance-theme="terminal"]{--ff-sheet-header:#10200b!important;--ff-sheet-header-text:#70ff43!important;--ff-sheet-cell:#060a05!important;--ff-sheet-text:#56ff25!important}
 html body[data-ff-appearance-theme="terminal"] :is(.legend-assurant,.legend-jit,.legend-late,.legend-other_st_bolt_likewize){color:#06141a!important;background:#f5f8f2!important}
 html body[data-ff-appearance-theme="terminal"] .legend-other_st_bolt_likewize{color:#790093!important}
 html body[data-ff-appearance-theme="terminal"] .legend-jit{background:#fff200!important}
 html body[data-ff-appearance-theme="terminal"] .legend-late{background:#ff1d1d!important;color:#000!important}
 html body[data-ff-appearance-theme="terminal"] .claims-sheet-table tr:is([data-supplier="jit"],[data-supplier="used_jit_part"],[data-supplier="consignment"]) .claim-ticket-cell{background:#fff200!important;color:#06141a!important}
 html body[data-ff-appearance-theme="terminal"] .claims-sheet-table tr:is([data-supplier="jit"],[data-supplier="used_jit_part"],[data-supplier="consignment"]) .claim-ticket-cell a{color:#06141a!important}
 html body[data-ff-appearance-theme="terminal"] .claims-sheet-table .claim-row-missed-payment :is(.claim-ticket-cell,.claim-status-cell){background:#ff1d1d!important;color:#000!important}
 html body[data-ff-appearance-theme="terminal"] .claims-sheet-table .claim-row-missed-payment :is(.claim-ticket-cell,.claim-status-cell) a{color:#000!important}
 html body[data-ff-appearance-theme="terminal"] .claims-sheet-table tr[data-insurance="other_st_bolt_likewize"] .claim-ticket-cell{background:#f5f8f2!important;color:#790093!important}
 html body[data-ff-appearance-theme="terminal"] .claims-sheet-table tr[data-insurance="other_st_bolt_likewize"]:is([data-supplier="jit"],[data-supplier="used_jit_part"],[data-supplier="consignment"]) .claim-ticket-cell{background:#fff200!important}
 html body[data-ff-appearance-theme="terminal"] .claims-sheet-table tr[data-insurance="other_st_bolt_likewize"] .claim-ticket-cell a{color:#790093!important}
 html body[data-ff-appearance-theme="terminal"] :is(.claims-sheet-table,.claims-new-table) thead :is(th,td){background:#10200b!important;background-color:#10200b!important;color:#70ff43!important}
 html body[data-ff-appearance-theme="terminal"] :is(.ff-settings-loading,.ff-comms-loading,.ff-tool-document-loading,.ff-ds-loading,.ff-ds-refresh-message,.ff-ds-skeleton-card,.ff-settings-skeleton-section,.ff-comms-skeleton-rows,.ff-claims-view-status){background:#080d07!important;color:#56ff25!important;border-color:#34c708!important}
 html body[data-ff-appearance-theme="terminal"] :is(.ff-settings-placeholder,.ff-comms-placeholder,.ff-claims-placeholder,.ff-ds-placeholder,.ff-tool-document-skeleton>span){background:#204417!important;border-color:#34c708!important}
 html body[data-ff-appearance-theme="terminal"] :is([data-ff-utility-page],.ff-utility-document,.ff-private-details,.ff-private-tabs,.ds-panel,.ds-panel .source,.ds-panel .notice,.ds-panel details,.ds-panel .source-head){background:#080d07!important;color:#56ff25!important;border-color:#347c20!important}
 html body[data-ff-appearance-theme="terminal"] [data-ff-utility-page] :is(p,span,strong,small,summary,a,button,h1,h2,h3,label,pre,code){color:#a0e78b!important}
 html body[data-ff-appearance-theme="terminal"] [data-ff-utility-page] :is(button,.button,.ff-private-readiness){background:#10200b!important;color:#a0ff81!important;border-color:#34c708!important}
}
/* Cosmetic October layer. Business/status colors and focus remain authoritative. */
body[data-ff-season="halloween"]{--ff-season-accent:#d69a64;--ff-season-secondary:#a798cf}
html body.dark.ff-logo-shell[data-ff-season="halloween"] #hubHeaderShell .ff-home-tabs>a.active,
body[data-ff-season="halloween"] .ff-home-tabs a:hover{border-color:var(--ff-season-accent)!important}
html body.dark.ff-logo-shell[data-ff-season="halloween"] :is(#ffMainWorkspace,#ffServerUtilityPanel){border-color:#72543e!important}
body[data-ff-season="halloween"] :is(.ff-main-workspace-head,.hub-floating-utility-head){border-bottom-color:#635574!important}
.ff-seasonal-decoration{display:none}
body[data-ff-season="halloween"] .ff-seasonal-decoration{display:block;position:absolute;pointer-events:none}
.ff-halloween-web{width:clamp(95px,17vw,260px);left:0;top:0;fill:none;stroke:#a78abb;stroke-width:1.7;opacity:.42}
body[data-ff-season="halloween"] .ff-logo-home-scene::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 35% 42%,rgba(89,61,116,.12),transparent 40%),radial-gradient(ellipse at 65% 58%,rgba(160,92,39,.09),transparent 36%);
}

/* Viewport-corner origins, not the centered logo box or navigation bounds. */
.ff-web-right{left:auto!important;right:0;top:0;transform:scaleX(-1)}
.ff-web-bottom{left:auto!important;top:auto!important;right:0;bottom:0;transform:rotate(180deg)}
.ff-halloween-spider{left:3vw;top:30vh;width:clamp(38px,5vw,76px);fill:#35263f;stroke:#a888b9;stroke-width:2;opacity:.8}
.ff-spider-right{left:auto;right:3vw;top:40vh;transform:scaleX(-1)}
.ff-spider-eyes{stroke:#e9b77d;stroke-width:3}
body[data-ff-season="halloween"]{--ff-orange-trace:#ad7649;scrollbar-color:#b27a4e #151318}
html body.dark[data-ff-season="halloween"] :is(#ffMainWorkspace,.ff-centered-utility,.ff-private-action-card,.hub-floating-utility-panel,dialog[open]){border-color:#986c4a!important}
html body.dark[data-ff-season="halloween"] #hubHeaderShell :is(a,button):not(:disabled):not([aria-disabled=true]),
html body.dark[data-ff-season="halloween"] .ff-tool-nav a,
html body.dark[data-ff-season="halloween"] button:not(:disabled):not([data-tone]):not([data-claims-filter]):not([data-age-status]):not([data-comm-status]):not(.claims-status-card):not(.age-status-card):not(.ff28-status-tile):not([data-rma-view]){border-color:var(--ff-orange-trace)!important}
body[data-ff-season="halloween"] :is(#ffMainWorkspace,.ff-centered-utility,.sheet-scroll,.sheet-wrap)::-webkit-scrollbar{width:10px;height:10px}
body[data-ff-season="halloween"] :is(#ffMainWorkspace,.ff-centered-utility,.sheet-scroll,.sheet-wrap)::-webkit-scrollbar-track{background:#151318}
body[data-ff-season="halloween"] :is(#ffMainWorkspace,.ff-centered-utility,.sheet-scroll,.sheet-wrap)::-webkit-scrollbar-thumb{background:#b27a4e;border:2px solid #151318;border-radius:8px}
/* Progressive, bounded depth from natural scrolling; never changes layout. */
body[data-ff-season="halloween"] .ff-logo-home-scene::before{background-position:calc(var(--ff-scroll-depth,0)*14px) calc(var(--ff-scroll-depth,0)*-12px)}
body[data-ff-season="halloween"] #ffMainWorkspace{background-image:radial-gradient(ellipse at calc(25% + var(--ff-scroll-depth,0)*12%) 0%,rgba(117,75,147,.09),transparent 65%)!important}
@media(prefers-reduced-motion:reduce){body[data-ff-season="halloween"]{--ff-scroll-depth:0!important}body[data-ff-season="halloween"] .ff-logo-home-scene::before{background-position:0 0!important}body[data-ff-season="halloween"] #ffMainWorkspace{background-image:none!important}}
/* Material highlights are neutral overlays, never replacements for status hues. */
html body.dark[data-ff-season="halloween"] button:not(:disabled):not([data-tone]):not([data-claims-filter]):not([data-age-status]):not([data-comm-status]):not(.claims-status-card):not(.age-status-card):not(.ff28-status-tile){background-image:linear-gradient(180deg,rgba(255,255,255,.045),transparent 72%)!important}
html body.dark[data-ff-season="halloween"] :is(#ffMainWorkspace,.ff-centered-utility){box-shadow:0 16px 45px #0009,inset 0 1px 0 rgba(235,180,128,.09)!important}

/* Supplied atmospheric raster is decorative; brand remains a separate asset.
   Portrait art preserves edge pumpkins without stretching/cropping the logo. */
body[data-ff-season="halloween"] .ff-haunted-night{position:absolute;inset:0;z-index:-2;width:100%;height:100%}
.ff-haunted-night img{display:block;width:100%;height:100%;object-fit:cover;object-position:center bottom}
body[data-ff-season="halloween"] .ff-logo-home-scene::before{z-index:-1;background:radial-gradient(ellipse at 50% 45%,rgba(6,10,16,.2),transparent 65%),linear-gradient(180deg,rgba(5,8,14,.1),transparent 50%,rgba(5,8,14,.1))}
body[data-ff-season="halloween"] .ff-halloween-web{stroke:#c6c8cf;stroke-width:.8;opacity:.34}
body[data-ff-season="halloween"] .ff-halloween-spider{top:0;left:2.5vw;width:clamp(25px,3vw,45px);opacity:.65;stroke:#b5b4c1;stroke-width:1}
body[data-ff-season="halloween"] .ff-spider-right{top:0;left:auto;right:2.5vw}

.ff-web-bottom-left{left:0!important;top:auto!important;right:auto!important;bottom:0;transform:scaleY(-1)}

html body.dark.ff-logo-shell[data-ff-season="halloween"] #hubHeaderShell :is(a.hub-utility-link,a.btn,button,#hubAccountMenu>summary,#hubCalcContainer>summary){border-color:var(--ff-orange-trace)!important}

/* Personal Appearance lives inside Settings, never over operational content. */
html body #systemUtilityPanel .ff-appearance{margin:12px 0 20px;padding:0;border:1px solid #46505d;border-radius:8px;background:#1b2128;color:#f1f4f7;box-sizing:border-box;min-width:0}
html body #systemUtilityPanel .ff-appearance>summary{padding:12px 16px;min-height:44px;box-sizing:border-box;cursor:pointer;font:650 15px/1.4 system-ui}
html body #systemUtilityPanel .ff-appearance-body{padding:0 16px 16px;display:grid;gap:12px;min-width:0}
html body #systemUtilityPanel .ff-appearance-body p{margin:0;line-height:1.5}
html body #systemUtilityPanel .ff-appearance-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;align-items:start;min-width:0}
html body #systemUtilityPanel .ff-appearance-fields label{display:grid!important;gap:6px!important;font:600 14px/1.4 system-ui!important;min-width:0!important}
html body #systemUtilityPanel .ff-appearance :is(select,input[type=file]){width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;min-height:44px!important;margin:0!important;padding:8px!important;background:#141a21!important;border:1px solid #657383!important;border-radius:6px!important;color:#f1f4f7!important;font:400 14px/1.4 system-ui!important}
html body #systemUtilityPanel .ff-appearance input[type=file]::file-selector-button{min-height:32px;margin-right:8px;border:1px solid #657383;border-radius:4px;background:#27323e;color:#f1f4f7;cursor:pointer}
html body #systemUtilityPanel .ff-appearance-actions{display:flex!important;flex-wrap:wrap!important;gap:12px!important;align-items:center!important}
html body #systemUtilityPanel .ff-appearance-actions button{flex:0 1 auto!important;width:auto!important;max-width:100%!important;min-height:44px!important;margin:0!important;padding:8px 12px!important;font:600 14px/1.4 system-ui!important;white-space:normal!important;border-radius:6px!important}
html body #systemUtilityPanel .ff-appearance :is(.ff-appearance-help,small){color:#bec9d5!important;font:400 13px/1.5 system-ui!important;overflow-wrap:anywhere}
html body #systemUtilityPanel .ff-appearance-status:empty{display:none}
html body #systemUtilityPanel .ff-appearance [role=alert]{color:#ffd0c3!important}
html body #systemUtilityPanel .ff-appearance :is(button,select,input,summary):focus-visible{outline:3px solid #a8d2ff!important;outline-offset:3px!important}
html body #systemUtilityPanel .ff-appearance :disabled{opacity:.6!important;cursor:not-allowed!important}
.ff-appearance-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;filter:brightness(.4)}
html body[data-ff-appearance-pending] .ff-logo-home-scene{visibility:hidden}
html body[data-ff-custom-background=true] .ff-logo-home-scene :is(.ff-seasonal-decoration,.ff-home-logo){display:none!important}
html body[data-ff-custom-background=true] .ff-logo-home-scene::before{display:none!important}
@media(max-width:480px){html body #systemUtilityPanel .ff-appearance-body{padding:0 12px 12px}html body #systemUtilityPanel .ff-appearance>summary{padding:12px}html body #systemUtilityPanel .ff-appearance-fields{grid-template-columns:minmax(0,1fr)}}

html body #systemUtilityPanel .ff-appearance[data-system-view-pane]{margin:0!important;border:0!important;background:transparent!important}

/* A full optional terminal appearance. Important declarations in this named
   layer outrank the retained unlayered legacy page styles without selector wars.
   Layout, data, state labels, permissions and business handlers are unchanged. */
@layer ff-terminal {
 html body[data-ff-appearance-theme="terminal"]{--ff-terminal-bg:#050705;--ff-terminal-panel:#080d07;--ff-terminal-text:#56ff25;--ff-terminal-edge:#34c708;--ff-terminal-muted:#a0c88e;--ff-terminal-font:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;--ff-sheet-header:#10200b;--ff-sheet-header-text:#70ff43;--ff-sheet-grid:#234c17;--ff-sheet-cell:#060a05;--ff-sheet-text:#56ff25;--ff-sheet-muted:#a0c88e;--ff-sheet-link:#83ff55;background:#050705!important;color:#56ff25!important;color-scheme:dark}
 html body[data-ff-appearance-theme="terminal"],html body[data-ff-appearance-theme="terminal"] *{font-family:var(--ff-terminal-font)!important;scrollbar-color:#3ee00b #080c06!important;scrollbar-width:thin!important}
 html body[data-ff-appearance-theme="terminal"] :is(h1,h2,h3,h4,p,span,strong,small,label,legend,summary,a,button,input,select,textarea,output,th,td,pre,code){color:var(--ff-terminal-text)!important;text-shadow:none!important}
 html body[data-ff-appearance-theme="terminal"] .ff-logo-home-scene{background:linear-gradient(#050705,#0a0e09)!important}
 html body[data-ff-appearance-theme="terminal"] .ff-logo-home-scene::before{background:none!important}
 html body[data-ff-appearance-theme="terminal"] .ff-logo-home-scene :is(.ff-seasonal-decoration,.ff-haunted-night){display:none!important}
 html body[data-ff-appearance-theme="terminal"] :is(.ff-iris-mark,#ffWindowTray>summary>svg){filter:grayscale(1) sepia(1) hue-rotate(55deg) saturate(9) brightness(1.2)!important}
 html body[data-ff-appearance-theme="terminal"] #ffIrisLauncher::after{border-color:#34c708!important}
 html body[data-ff-appearance-theme="terminal"] .ff-home-logo{filter:grayscale(1) sepia(1) hue-rotate(55deg) saturate(8) brightness(.8)!important;opacity:.12!important}
 html body[data-ff-appearance-theme="terminal"] :is(.ff-native-window,.ff-window-titlebar,.ff-window-body,.ff-main-workspace-head,.hub-floating-utility-panel,.hub-floating-utility-body,.hub-floating-utility-head,.ff-centered-utility,.ff-centered-utility-body,.ff-claims-companion,.ff-claims-companion-content,.ff-claims-context,.ff-claims-info,.ff-claims-actions,.ff-claims-payment,.ff-desktop-help,.ff-sitemap,.ff-sketchpad,.ff-sketch-notes,.ff-sketch-area,.ff-iris-dialog,.ff-iris-messages,.ff-iris-message,.ff-shortcut-rename,.mp-status,.mp-notice,.mp-evidence,.mp-draft,.mp-section,.ff-iris-sample,#ffMainWorkspace,#systemUtilityPanel,#ffServerUtilityPanel,#ffDesktopMenu>button,#ffWorkspaceMenu,.ff-identity-description,dialog[open],.content-card,.card,.form-card,.message-card,.communication-preview,.ff28-template-editor,.ff-appearance,.ff-appearance-body){background:var(--ff-terminal-panel)!important;border-color:var(--ff-terminal-edge)!important;color:var(--ff-terminal-text)!important;box-shadow:none!important}
 html body[data-ff-appearance-theme="terminal"] :is(.ff-native-window,.ff-window-titlebar,.ff-window-body){border-radius:2px!important}
 html body[data-ff-appearance-theme="terminal"] :is(button,a.btn,summary,input,select,textarea,.system-settings-tab,.claims-status-card,.ff28-status-tile,.rma-stat,.age-status-card){background:#0a1007!important;border-color:#34c708!important;color:var(--ff-terminal-text)!important;box-shadow:none!important;text-shadow:none!important}
 html body[data-ff-appearance-theme="terminal"] :is(button,a.btn,summary,.system-settings-tab,.claims-status-card,.ff28-status-tile,.rma-stat,.age-status-card){border-radius:2px!important}
 html body[data-ff-appearance-theme="terminal"] :is(button,a.btn,summary):hover{background:#10240a!important;border-color:#7aff4c!important}
 html body[data-ff-appearance-theme="terminal"] :is([aria-selected="true"],[aria-pressed="true"],.active){background:#14350a!important;border-color:#83ff55!important}
 html body[data-ff-appearance-theme="terminal"] :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid #acff8b!important;outline-offset:2px!important}
 html body[data-ff-appearance-theme="terminal"] :is(input,textarea)::placeholder{color:#8ec17a!important;opacity:1!important}
 html body[data-ff-appearance-theme="terminal"] :disabled{opacity:.48!important}
 html body[data-ff-appearance-theme="terminal"] .ff-desktop-shortcut.ff-desktop-shortcut{background:transparent!important;border-color:transparent!important;font-size:12px!important}
 html body[data-ff-appearance-theme="terminal"] .ff-desktop-shortcut.ff-desktop-shortcut:is(:hover,:focus-visible,[data-dragging="true"]){background:#0d2008!important;border-color:#4df31b!important;border-radius:18px!important}
 html body[data-ff-appearance-theme="terminal"] :is(.ff-claims-grid-only,.ff-workbook,.ff-sheet-viewport,.sheet-wrap,.sheet-scroll,.claims-section-body,.claims-new-table-wrap,.ff-sheet-columns,.ff-sheet-valuebar,.ff-sheet-footer,.ff-sheet-address,.ff-sheet-tab){background:var(--ff-sheet-cell)!important;color:var(--ff-sheet-text)!important;border-color:var(--ff-sheet-grid)!important;box-shadow:none!important}
 html body[data-ff-appearance-theme="terminal"] :is(table,th,td){background:var(--ff-sheet-cell)!important;color:var(--ff-sheet-text)!important;border-color:var(--ff-sheet-grid)!important;font-family:var(--ff-terminal-font)!important}
 html body[data-ff-appearance-theme="terminal"] :is(thead th,.ff-sheet-columns,.ff-sheet-columns>*,.ff-sheet-row-number,.row-num){background:var(--ff-sheet-header)!important;color:var(--ff-sheet-header-text)!important}
 html body[data-ff-appearance-theme="terminal"] .ff-sheet-gutter-cell::before{background:var(--ff-sheet-header)!important;color:var(--ff-sheet-header-text)!important;border-color:var(--ff-sheet-grid)!important;font-family:var(--ff-terminal-font)!important}
 html body[data-ff-appearance-theme="terminal"] :is(.ff-sheet-selected,[aria-selected="true"]){outline-color:#84ff59!important;background:#173710!important}
 html body[data-ff-appearance-theme="terminal"] :is(.ff-sheet-range,.ff-sheet-in-range){background:#0e2508!important}
 html body[data-ff-appearance-theme="terminal"] input::file-selector-button{background:#0a1007!important;border:1px solid #34c708!important;color:#56ff25!important;font-family:var(--ff-terminal-font)!important}
 html body[data-ff-appearance-theme="terminal"] *::-webkit-scrollbar{width:10px;height:10px}
 html body[data-ff-appearance-theme="terminal"] *::-webkit-scrollbar-track,html body[data-ff-appearance-theme="terminal"] *::-webkit-scrollbar-corner{background:#080c06}
 html body[data-ff-appearance-theme="terminal"] *::-webkit-scrollbar-thumb{background:#3ee00b;border:2px solid #080c06;border-radius:0}
 html body[data-ff-appearance-theme="terminal"] *::-webkit-scrollbar-thumb:hover{background:#8aff5c}
}
