/* HittLive · base comum das ferramentas (usa os tokens de /movimento/tokens-movimento.css) */
.so-leitor { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ft { margin: 1.5rem 0 2rem; }
.ft button, .ft a.btn, .ft select, .ft input { font-family: var(--em-texto); }
.ft button:focus-visible, .ft a:focus-visible, .ft select:focus-visible, .ft input:focus-visible, .ft summary:focus-visible { outline: 3px solid var(--em-goiaba-forte); outline-offset: 3px; }
.ft-acoes { display: flex; flex-wrap: wrap; gap: 0.625rem; margin: 1rem 0 0; }
.ft-campo { display: grid; gap: 0.25rem; margin: 0 0 1rem; }
.ft-campo label, .ft-campo > span { font-weight: 700; font-size: 0.9375rem; }
.ft-campo input[type="number"], .ft-campo select { min-height: 48px; width: 100%; max-width: 11rem; border-radius: 0.75rem; border: 2px solid var(--em-borda-campo); padding: 0.5rem 0.75rem; font-size: 1.125rem; color: var(--em-tinta); background: #fff; }
.ft-campo select { max-width: 100%; }
.ft-marca { display: flex; gap: 0.625rem; align-items: flex-start; margin: 0 0 1rem; }
.ft-marca input { width: 1.5rem; height: 1.5rem; margin: 0.125rem 0 0; flex: none; accent-color: var(--em-vinho); }
.ft-marca label { font-size: 1rem; line-height: 1.4; min-height: 44px; display: flex; align-items: center; }
.ft-saida { margin: 1rem 0 0; }
.ft-aviso { font-size: 0.875rem; color: var(--em-tinta-suave); margin: 0.75rem 0 0; }
