.ff{flex-direction:column;display:flex;position:relative}.ff__icon{color:#003a9980;pointer-events:none;z-index:2;justify-content:center;align-items:center;transition:color .22s;display:flex;position:absolute;top:20px;left:16px}.ff__control{width:100%;height:60px;color:var(--text-dark);background:#ffffffe0;border:1.5px solid #003a9929;border-radius:16px;outline:none;padding:0 16px 0 46px;font-family:inherit;font-size:.96rem;transition:border-color .22s,box-shadow .22s,background .22s}.ff--textarea .ff__control{resize:vertical;height:auto;min-height:122px;padding-top:24px;line-height:1.6}.ff__control::placeholder{color:#003a9957}.ff__label{color:var(--brand-blue);pointer-events:none;transform-origin:0 0;background:#fff;border-radius:4px;padding:0 6px;font-size:.72rem;font-weight:600;transition:color .2s;position:absolute;top:-9px;left:46px}.ff__req{color:var(--error)}.ff__control:focus{border-color:var(--brand-teal);background:#fff;box-shadow:0 0 0 4px #008ca824,0 10px 24px #003a991a}.ff__control:focus~.ff__icon{color:var(--brand-teal)}.ff--error .ff__control{border-color:var(--error)}.ff--error .ff__control:focus{box-shadow:0 0 0 4px #e53e3e24,0 8px 22px #e53e3e1f}.ff--error .ff__label,.ff--error .ff__icon{color:var(--error)}.ff__error{color:var(--error);margin-top:6px;padding-left:4px;font-size:.78rem;font-weight:600}.ff--select .ff__control{text-align:left;cursor:pointer;align-items:center;padding-right:44px;display:flex}.ff__placeholder{color:#003a9980}.ff--datefloat .ff__control{cursor:pointer;padding-top:0}.ff__chevron{color:#003a9980;pointer-events:none;transition:color .22s,transform .22s;position:absolute;top:20px;right:16px}.ff--select .ff__control:focus~.ff__chevron,.ff__control--open~.ff__chevron{color:var(--brand-teal);transform:rotate(180deg)}.ff__menu{z-index:20;background:#fff;border:1px solid #003a991f;border-radius:16px;outline:none;max-height:280px;margin:0;padding:.4rem;list-style:none;animation:.16s cubic-bezier(.22,1,.36,1) ffMenuIn;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 20px 48px #003a992e,0 4px 14px #00000014}@keyframes ffMenuIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ff__option{color:var(--text-dark);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:.6rem;padding:.65rem .75rem;font-size:.9rem;transition:background .15s;display:flex}.ff__option--active{background:#008ca814}.ff__option--selected{background:#008ca81f;font-weight:600}.ff__opt-check{color:var(--brand-teal);flex-shrink:0}@media (max-width:480px){.ff__control{height:54px;font-size:.92rem}.ff__label{font-size:.68rem}}@media (prefers-reduced-motion:reduce){.ff__label,.ff__control,.ff__icon{transition:none}}
.fu{flex-direction:column;gap:.5rem;display:flex}.fu__label{color:var(--brand-blue);padding-left:4px;font-size:.82rem;font-weight:700}.fu__zone{cursor:pointer;background:#ffffffc7;border:1.5px dashed #003a993d;border-radius:18px;justify-content:center;align-items:center;min-height:96px;padding:1rem 1.25rem;transition:border-color .22s,background .22s,box-shadow .22s;display:flex;position:relative}.fu__zone:hover,.fu__zone:focus-visible{border-color:var(--brand-teal);background:#008ca80d}.fu__zone--drag{border-color:var(--brand-teal);background:#008ca814;box-shadow:0 0 0 4px #008ca81f}.fu__zone--filled{background:#2e9e440d;border-style:solid;border-color:#2e9e4457}.fu--error .fu__zone{border-color:var(--error)}.fu__input{opacity:0;pointer-events:none;position:absolute;inset:0}.fu__prompt{color:#003a9999;text-align:center;flex-direction:column;align-items:center;gap:.35rem;font-size:.88rem;display:flex}.fu__prompt strong{color:var(--brand-blue)}.fu__hint{opacity:.75;font-size:.74rem}.fu__file{width:100%;color:var(--brand-green-text);align-items:center;gap:.6rem;font-size:.88rem;font-weight:600;display:flex}.fu__filename{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.fu__filesize{opacity:.75;flex-shrink:0;font-size:.78rem;font-weight:500}.fu__remove{width:28px;height:28px;color:var(--error);cursor:pointer;background:#e53e3e1a;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,transform .2s;display:flex}.fu__remove:hover{background:#e53e3e2e;transform:scale(1.08)}
