/* Finance Flex customer UI: OD Preset v1.0 shared optical language.
   Scoped so the public marketplace and authenticated portals stay unchanged. */
body.od-ff-unified{
 --od-ff-ink:#0a2540;--od-ff-primary:#2563eb;--od-ff-border:#dae7f4;
 font-family:Inter,Arial,sans-serif!important;
 background:radial-gradient(ellipse at 84% 2%,#e3f0ff,transparent 42%),#f5f8ff;
 color:var(--od-ff-ink);
}
body.od-ff-unified :is(h1,h2,h3){font-family:Montserrat,Inter,sans-serif;letter-spacing:-.034em}
body.od-ff-unified :is(.card,.ff-builder,.ff-discover,.ff-smart-card,.ff-results,.ff-intro-note){
 border-radius:16px;border:1px solid var(--od-ff-border);
 box-shadow:0 10px 28px -24px rgba(10,37,64,.26),inset 0 1px 0 rgba(255,255,255,.8);
}
body.od-ff-unified .card{background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
body.od-ff-unified .ff-hero{border-radius:17px}
body.od-ff-unified .tabs button.selected,body.od-ff-unified .ff-pills button.on{
 background:#0a2540!important;color:#fff;
}
body.od-ff-unified input:not([type=range]),body.od-ff-unified select,body.od-ff-unified textarea{
 border:1px solid #d4e3f2;border-radius:10px;
}
body.od-ff-unified :is(input,button,select,textarea):focus-visible{outline:2px solid #2563eb;outline-offset:2px}
body.od-ff-unified :is(button.primary,.ff-selected-actions .primary,#calculate){
 border-radius:10px!important;background:#2563eb!important;border-color:#2563eb!important;color:#fff!important;
}
body.od-ff-unified :is(.ff-qic-status,.ff-finance-guidance,.ff-compact-summary){border-radius:12px}
body.od-ff-unified .footnote{color:#627f99}
@media(max-width:700px){body.od-ff-unified .ff-hero{border-radius:0}}
@media(prefers-reduced-motion:reduce){body.od-ff-unified *,body.od-ff-unified *::before,body.od-ff-unified *::after{animation:none!important;transition:none!important}}
