/* FazUp CRM Modal v1.1 */
.fazup-modal-overlay{position:fixed;inset:0;z-index:10000;background:rgba(6,3,56,.65);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;transition:opacity .25s ease}
.fazup-modal-overlay.fazup-visible{opacity:1}
.fazup-modal-card{background:#fff;border-radius:20px;padding:36px;max-width:420px;width:100%;position:relative;box-shadow:0 25px 60px rgba(0,0,0,.25),0 0 0 1px rgba(0,0,0,.04);transform:translateY(20px) scale(.97);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.fazup-modal-overlay.fazup-visible .fazup-modal-card{transform:translateY(0) scale(1)}

/* Close button */
.fazup-modal-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border:none;background:transparent;border-radius:8px;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;padding:0}
.fazup-modal-close:hover{background:#f3f4f6;color:#374151}

/* Header com icon + texto lado a lado */
.fazup-modal-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px}
.fazup-modal-icon{width:44px;height:44px;border-radius:12px;background:#EEF2FF;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.fazup-modal-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:20px;font-weight:800;color:#0C0560;margin:0;line-height:1.25}
.fazup-modal-subtitle{font-family:'Inter',sans-serif;font-size:13px;color:#6b7280;margin:4px 0 0;line-height:1.4}

/* Fields grid */
.fazup-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fazup-field{margin-bottom:12px}
.fazup-field label{display:block;font-family:'Inter',sans-serif;font-size:12px;font-weight:600;color:#374151;margin-bottom:5px;letter-spacing:.02em}
.fazup-req{color:#ef4444}
.fazup-opt{color:#9ca3af;font-weight:400}
.fazup-field input{width:100%;padding:11px 14px;border:1.5px solid #e5e7eb;border-radius:10px;font-family:'Inter',sans-serif;font-size:14px;color:#1f2937;background:#fafafa;transition:all .15s;outline:none;box-sizing:border-box}
.fazup-field input:focus{border-color:#0055F7;background:#fff;box-shadow:0 0 0 3px rgba(0,85,247,.08)}
.fazup-field input::placeholder{color:#c0c4cc}

/* Input com ícone */
.fazup-input-icon{position:relative}
.fazup-input-icon svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);pointer-events:none;z-index:1}
.fazup-input-icon input{padding-left:36px}

/* Submit button */
.fazup-modal-btn{width:100%;padding:14px;border:none;border-radius:12px;background:linear-gradient(135deg,#0055F7,#0044CC);color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;margin-top:4px;box-shadow:0 4px 16px rgba(0,85,247,.25)}
.fazup-modal-btn:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(0,85,247,.35)}
.fazup-modal-btn:hover svg{transform:translateX(3px)}
.fazup-modal-btn svg{transition:transform .15s}
.fazup-modal-btn:active{transform:translateY(0)}
.fazup-modal-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}

/* Spinner */
.fazup-spinner{animation:fazup-spin .8s linear infinite}
@keyframes fazup-spin{to{transform:rotate(360deg)}}

/* Error */
.fazup-error{margin:10px 0 0;padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;font-size:13px;font-family:'Inter',sans-serif;text-align:center}

/* Badges */
.fazup-modal-badges{display:flex;gap:6px;margin-top:16px;flex-wrap:nowrap;justify-content:center}
.fazup-modal-badges span{font-family:'Inter',sans-serif;font-size:11px;color:#6b7280;display:flex;align-items:center;gap:3px;background:#f9fafb;padding:5px 8px;border-radius:6px;border:1px solid #f3f4f6;white-space:nowrap}

/* Success */
.fazup-success{text-align:center;padding:24px 0 8px}
.fazup-success-icon{margin-bottom:20px}
.fazup-check-path{stroke-dasharray:50;stroke-dashoffset:50;animation:fazup-check .6s ease .2s forwards}
@keyframes fazup-check{to{stroke-dashoffset:0}}

/* Mobile */
@media(max-width:480px){
    .fazup-modal-card{padding:24px 20px;border-radius:16px}
    .fazup-fields-grid{grid-template-columns:1fr}
    .fazup-modal-title{font-size:18px}
    .fazup-field input{padding:12px 14px;font-size:16px}
    .fazup-input-icon input{padding-left:36px}
    .fazup-modal-badges{justify-content:center}
}