.linha-form { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; }
.linha-form .campo { flex: 1 1 220px; }
.linha-form input { text-transform: uppercase; letter-spacing: 0.08em; font-family: var(--mono); }
.ou { display: flex; align-items: center; gap: 10px; color: var(--tinta-fraca); font-size: 0.82rem; }
.ou::before, .ou::after { content: ""; flex: 1; border-top: 1px solid var(--linha); }
.soltar { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 22px; border: 1.5px dashed var(--linha-forte); border-radius: 18px; cursor: pointer; text-align: center; }
.soltar.sobre { border-color: var(--verde); background: rgba(24, 255, 0, 0.05); }
.veredito { display: flex; gap: 14px; align-items: center; }
.veredito .icone { flex: 0 0 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; font-size: 1.5rem; font-weight: 700; }
.veredito.valido .icone { background: var(--verde); color: #021100; box-shadow: var(--brilho); }
.veredito.invalido .icone { background: var(--erro-fundo); color: var(--erro); border: 1px solid rgba(255, 107, 94, 0.4); }
.trilha { list-style: none; margin: 0; padding: 0; font-size: 0.86rem; }
.trilha li { padding: 8px 0 8px 18px; border-left: 2px solid var(--linha-forte); position: relative; }
.trilha li::before { content: ""; position: absolute; left: -6px; top: 13px; width: 10px; height: 10px; border-radius: 50%; background: var(--verde); }
details summary { cursor: pointer; color: var(--tinta-suave); font-size: 0.9rem; }
.mt { margin-top: 8px; }
