/* Demo "formulario": grade de campos, progresso, chave, lista suspensa e painel de sucesso. */
.fm{position:relative;display:flex;flex-direction:column;gap:18px}
.fm-cab{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:2px solid var(--cor);padding-bottom:14px}
.fm-cab b{font-size:32px;font-weight:800;color:var(--cort)}
.fm-prog{display:flex;flex-direction:column;align-items:flex-end;gap:8px;width:260px}
.fm-qt{font-size:19px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.fm-prog em{display:block;width:100%;height:8px;border-radius:4px;background:#EEF1F4;overflow:hidden}
.fm-prog .fm-bar{display:block;height:100%;width:0;background:var(--cor);border-radius:4px}
.fm-vp{position:relative}
.fm-vp.rola{height:312px;overflow:hidden;margin:0 -8px;padding:0 8px}
.fm-abas{display:grid}
.fm-abas > .fm-g{grid-area:1/1}
.fm-g{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:104px;column-gap:24px;align-content:start}
.fm-c{display:flex;flex-direction:column;gap:8px;position:relative}
.fm-c.largo{grid-column:1 / span 2}
.fm-c label{font-size:19px;font-weight:600;color:var(--muted)}
.fm-c label.at{color:var(--cort)}
.fm-in{position:relative;border:1px solid var(--line);border-radius:6px;padding:0 50px 0 16px;height:54px;display:flex;align-items:center;font-size:23px;font-weight:600;background:#FCFDFE;white-space:nowrap;overflow:hidden}
.fm-in .fm-ph{color:#A3ADB8;font-weight:500}
.fm-in.foco{border-color:var(--cor);box-shadow:0 0 0 4px color-mix(in srgb,var(--cor) 16%,transparent)}
.fm-in.foco > span[data-digita]:after{content:"";display:inline-block;width:3px;height:26px;background:var(--cor);margin-left:3px;vertical-align:-5px;animation:pisca .8s steps(1) infinite}
.fm-c .sel{height:54px;min-height:0}
.fm-tg{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:6px;height:62px;padding:0 18px;margin-top:14px;font-size:22px;font-weight:600;background:#FCFDFE}
.fm-pe{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:18px}
.fm-obs{font-size:18px;color:var(--muted);font-weight:500}
.fm-ok{position:absolute;inset:-10px;background:rgba(255,255,255,.97);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;z-index:5;opacity:var(--p,0);pointer-events:none}
.fm-ok .fm-okc{width:104px;height:104px;border-radius:52px;background:#1E7B3A;display:flex;align-items:center;justify-content:center;transform:scale(calc(.6 + var(--p,0) * .4))}
.fm-ok .fm-okc svg{width:62px;height:62px}
.fm-ok b{font-size:36px;font-weight:800;color:var(--ink);transform:translateY(calc((1 - var(--p,0)) * 16px))}
.fm-ok span{font-size:22px;color:var(--muted);font-weight:500}
.fm-vp,.fm-abas{position:relative;z-index:3}
.fm-c{z-index:1}
.fm-c:has(.sel.aberto){z-index:8}
.fm-vp.rola{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 16px,#000 calc(100% - 12px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 16px,#000 calc(100% - 12px),transparent 100%)}
