.fm-caja{background:var(--superficie);border-radius:16px;max-width:640px;margin:0 auto;padding:28px;box-shadow:0 8px 30px #08191c14}.fm-aviso{background:var(--papel-2);border:1px solid var(--gris-claro);color:var(--texto-suave);border-radius:10px;margin-bottom:22px;padding:14px 16px;font-size:13px;line-height:1.5}.fm-legal{border:1px solid var(--ambar);color:var(--tinta-2);background:#fff8e8;border-radius:10px;margin-bottom:22px;padding:14px 16px;font-size:13px;line-height:1.5}.fm-legal b{color:var(--tinta)}.fm-legal a{color:var(--tinta);text-underline-offset:2px;font-weight:600;text-decoration:underline}.fm-legal a:hover{color:var(--brasa)}.fm-campo{margin-top:18px}.fm-campo label{color:var(--tinta);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.fm-drop{border:2px dashed var(--gris-claro);text-align:center;cursor:pointer;color:var(--texto-suave);border-radius:12px;padding:20px;font-size:13px;transition:border-color .18s,background .18s}.fm-drop:hover,.fm-drop.fm-drag-over{border-color:var(--ambar);background:var(--papel)}.fm-drop.fm-tiene-archivo{border-style:solid;border-color:var(--autorizado);color:var(--tinta)}.fm-drop input[type=file]{display:none}.fm-nombre-archivo{color:var(--tinta);word-break:break-all;margin-top:6px;font-weight:600;display:block}.fm-campo input[type=password]{box-sizing:border-box;border:1px solid var(--gris-claro);width:100%;font-size:14px;font-family:var(--body);border-radius:10px;padding:12px 14px}.fm-modo-toggle{grid-template-columns:1fr 1fr;gap:10px;display:grid}.fm-radio{border:1px solid var(--gris-claro);cursor:pointer;border-radius:10px;align-items:flex-start;gap:8px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.fm-radio:has(input:checked){border-color:var(--ambar);background:var(--papel-2)}.fm-radio input{width:auto;margin-top:3px}.fm-radio strong{color:var(--tinta);font-size:13.5px;display:block}.fm-modo-desc{color:var(--texto-suave);margin-top:2px;font-size:12px;line-height:1.4;display:block}.fm-visor{margin-top:18px}.fm-visor-nav{color:var(--texto-suave);justify-content:center;align-items:center;gap:14px;margin-bottom:10px;font-size:13px;display:flex}.fm-visor-btn{border:1px solid var(--gris-claro);background:var(--superficie);cursor:pointer;border-radius:8px;width:32px;height:32px;font-size:16px;line-height:1}.fm-visor-btn:disabled{opacity:.35;cursor:not-allowed}.fm-visor-lienzo{border:1px solid var(--gris-claro);touch-action:none;background:#fff;border-radius:8px;max-width:100%;margin:0 auto;position:relative;overflow:hidden}#fm-canvas{max-width:100%;display:block}.fm-sello{box-sizing:border-box;cursor:move;touch-action:none;-webkit-user-select:none;user-select:none;background:#185fa51f;border:2px solid #185fa5;border-radius:4px;align-items:stretch;display:flex;position:absolute}.fm-sello-texto{color:#0c2f57;pointer-events:none;flex-direction:column;flex:1;justify-content:space-between;padding:6px 8px;font-size:10px;line-height:1.3;display:flex;overflow:hidden}.fm-sello-texto strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.fm-sello-resize{cursor:nwse-resize;touch-action:none;background:#185fa5;border:2px solid #fff;border-radius:50%;width:18px;height:18px;position:absolute;bottom:-6px;right:-6px}.fm-visor-ayuda{color:var(--texto-suave);text-align:center;margin-top:8px;font-size:12px}@media (width<=560px){.fm-modo-toggle{grid-template-columns:1fr}}.fm-checkbox{color:var(--texto-suave);align-items:center;gap:8px;margin-top:18px;font-size:13px;display:flex}.fm-checkbox input{width:auto}.fm-submit{border-radius:10px;width:100%;margin-top:22px;padding:14px 20px;font-size:15px}.fm-submit:disabled{opacity:.6;cursor:wait}#firmador-estado{margin-top:20px}.fm-log{color:var(--texto-suave);margin:6px 0;font-size:13px}.fm-log-ok{color:var(--autorizado);font-weight:600}.fm-log-error{color:var(--brasa);font-weight:600}.fm-log-aviso{color:var(--ambar-alto);font-weight:600}#firmador-descarga{margin-top:18px}#firmador-descarga a{text-decoration:none;display:inline-block}@media (width<=560px){.fm-caja{border-radius:12px;padding:20px}}
