/* Modal base */
.fl-modal{position:fixed;inset:0;display:none;z-index:9999}
.fl-modal[aria-hidden="false"]{display:block}
.fl-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.fl-dialog{position:relative;max-width:560px;margin:6vh auto;background:#fff;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:24px}
@media (max-width:640px){.fl-dialog{margin:0;min-height:100%;border-radius:0;padding:20px}}
.fl-close{position:absolute;top:10px;right:12px;background:none;border:0;font-size:28px;line-height:1;cursor:pointer}
.fl-title{margin:8px 0 4px;font-size:20px;font-weight:700; text-align: center}
.fl-sub{margin:0 0 12px;color:#666; text-align: center}
.fl-view[hidden]{display:none !important}
.fl-spinner{width:48px;height:48px;border-radius:50%;border:4px solid #e5e7eb;border-top-color:#000;animation:sp 1s linear infinite;margin:12px auto}
@keyframes sp{to{transform:rotate(360deg)}}
.fl-pix-wrap{display:flex;justify-content:center;margin:12px 0}
.fl-pix-wrap img{width:220px;height:220px;object-fit:contain;border:1px solid #eee;border-radius:8px}
.fl-copy-row{display:flex;gap:8px;align-items:stretch;margin:10px 0}
.fl-copy-row textarea{flex:1;min-height:76px;padding:8px;border:1px solid #ddd;border-radius:8px;resize:none}
.fl-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:10px;border:0;background:#111;color:#fff;font-weight:600;cursor:pointer}
.fl-erro{color:#b91c1c}
.fl-expira,.fl-aguarde{color:#444}
.is-loading { opacity: .7; pointer-events: none; }