.rff-form{--rff-radius:12px;--rff-focus:0 0 0 3px rgba(34,113,177,.18)}
.rff-form :is(input,select,textarea,button):focus-visible{outline:2px solid #2271b1;outline-offset:2px;box-shadow:var(--rff-focus)}
.rff-form .rff-field.is-invalid :is(input,select,textarea){border-color:#b32d2e}.rff-inline-error{display:block;color:#b32d2e;font-size:12px;margin-top:5px}
.rff-external-progress{height:8px;background:#e9eef3;border-radius:999px;overflow:hidden;margin:14px 0}.rff-external-progress span{display:block;width:0;height:100%;background:currentColor;transition:width .25s ease}
.rff-live-summary{border:1px solid #dcdcde;border-radius:var(--rff-radius);padding:18px;background:#fff}.rff-live-summary dl{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:8px 14px}.rff-live-summary dt{font-weight:600}.rff-live-summary dd{margin:0;overflow-wrap:anywhere}
.rff-form[data-focus-mode="true"] .rff-section:not(.is-active){display:none}.rff-form .rff-save-state{font-size:12px;opacity:.75;margin-inline-start:10px}
@media(max-width:640px){.rff-live-summary dl{grid-template-columns:1fr}.rff-form .rff-actions{position:sticky;bottom:0;background:rgba(255,255,255,.96);padding:10px;z-index:4}}
@media(prefers-reduced-motion:reduce){.rff-form *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
