.nf-install-float{
    position:fixed !important;
    right:14px !important;
    bottom:84px !important;
    z-index:99990 !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    width:min(360px, calc(100vw - 24px)) !important;
    padding:11px 11px !important;
    border-radius:20px !important;
    background:
        radial-gradient(circle at top left, rgba(0,255,255,.18), transparent 36%),
        linear-gradient(145deg, rgba(2,8,23,.96), rgba(0,0,0,.92)) !important;
    border:1px solid rgba(0,255,255,.26) !important;
    box-shadow:0 18px 42px rgba(0,0,0,.42) !important;
    color:#fff !important;
    backdrop-filter:blur(14px) !important;
}

.nf-install-icon{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    border-radius:14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:rgba(255,255,255,.08) !important;
    overflow:hidden !important;
}

.nf-install-icon img{
    width:34px !important;
    height:34px !important;
    object-fit:contain !important;
}

.nf-install-text{
    min-width:0 !important;
    flex:1 !important;
}

.nf-install-text strong{
    display:block !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:950 !important;
    line-height:1.05 !important;
}

.nf-install-text span{
    display:block !important;
    margin-top:3px !important;
    color:rgba(255,255,255,.70) !important;
    font-size:11px !important;
    font-weight:700 !important;
    line-height:1.22 !important;
}

.nf-install-actions{
    display:flex !important;
    align-items:center !important;
    gap:6px !important;
}

.nf-install-btn{
    border:0 !important;
    min-height:34px !important;
    padding:0 13px !important;
    border-radius:999px !important;
    background:linear-gradient(135deg,#0055ff,#00d5ff) !important;
    color:#fff !important;
    font-size:11px !important;
    font-weight:950 !important;
    cursor:pointer !important;
    box-shadow:0 10px 24px rgba(0,120,255,.28) !important;
}

.nf-install-close{
    width:28px !important;
    height:28px !important;
    border:0 !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.10) !important;
    color:#fff !important;
    font-size:20px !important;
    line-height:1 !important;
    cursor:pointer !important;
}

.nf-install-modal{
    position:fixed !important;
    inset:0 !important;
    z-index:99999 !important;
    display:none !important;
    align-items:flex-end !important;
    justify-content:center !important;
    padding:16px !important;
    background:rgba(0,0,0,.56) !important;
    backdrop-filter:blur(8px) !important;
}

.nf-install-modal.show{
    display:flex !important;
}

.nf-install-sheet{
    width:min(460px,100%) !important;
    border-radius:24px !important;
    padding:18px !important;
    background:linear-gradient(145deg,#07172f,#020817) !important;
    border:1px solid rgba(0,255,255,.24) !important;
    box-shadow:0 22px 70px rgba(0,0,0,.48) !important;
    color:#fff !important;
}

.nf-install-sheet-head{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    margin-bottom:14px !important;
}

.nf-install-modal-icon{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    border-radius:16px !important;
    background:rgba(255,255,255,.08) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.nf-install-modal-icon img{
    width:38px !important;
    height:38px !important;
    object-fit:contain !important;
}

.nf-install-sheet h3{
    margin:0 !important;
    color:#fff !important;
    font-size:18px !important;
    font-weight:950 !important;
}

.nf-install-sheet p{
    margin:4px 0 0 !important;
    color:rgba(255,255,255,.72) !important;
    font-size:13px !important;
}

.nf-install-steps{
    display:grid !important;
    gap:10px !important;
}

.nf-install-step{
    display:flex !important;
    gap:10px !important;
    align-items:flex-start !important;
    padding:11px !important;
    border-radius:15px !important;
    background:rgba(255,255,255,.07) !important;
    border:1px solid rgba(255,255,255,.10) !important;
}

.nf-install-step b{
    width:24px !important;
    height:24px !important;
    min-width:24px !important;
    border-radius:50% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#00d5ff !important;
    color:#00111f !important;
    font-size:12px !important;
    font-weight:950 !important;
}

.nf-install-step span{
    color:rgba(255,255,255,.82) !important;
    font-size:13px !important;
    line-height:1.35 !important;
    font-weight:650 !important;
}

.nf-install-modal-close{
    width:100% !important;
    margin-top:14px !important;
    min-height:42px !important;
    border:0 !important;
    border-radius:14px !important;
    background:linear-gradient(135deg,#0055ff,#00d5ff) !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:950 !important;
    cursor:pointer !important;
}

@media(max-width:700px){
    .nf-install-float{
        left:10px !important;
        right:10px !important;
        bottom:82px !important;
        width:auto !important;
        border-radius:18px !important;
    }

    .nf-install-text strong{
        font-size:12px !important;
    }

    .nf-install-text span{
        font-size:10.5px !important;
    }

    .nf-install-btn{
        padding:0 11px !important;
    }
}

/* ===== NF PWA INSTALL POSIÇÃO MOBILE 20260623 ===== */

/* Estado inicial: aparece no meio da tela */
.nf-install-float{
    top:50% !important;
    bottom:auto !important;
    left:12px !important;
    right:12px !important;
    width:auto !important;
    max-width:360px !important;
    margin:0 auto !important;
    transform:translateY(-50%) !important;
    padding:10px 44px 10px 10px !important;
}

/* Ao rolar: vai para o topo */
.nf-install-float.nf-install-top{
    top:8px !important;
    bottom:auto !important;
    transform:none !important;
    z-index:99995 !important;
}

/* X ajustado no canto sem atrapalhar o botão instalar */
.nf-install-close{
    position:absolute !important;
    top:7px !important;
    right:7px !important;
    width:24px !important;
    height:24px !important;
    min-width:24px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.12) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    color:#ffffff !important;
    font-size:17px !important;
    font-weight:900 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    line-height:1 !important;
}

.nf-install-actions{
    padding-right:0 !important;
}

.nf-install-btn{
    min-width:70px !important;
    padding:0 12px !important;
}

/* Quando estiver no topo, empurra um pouco a página para não tampar conteúdo */
body.nf-install-has-top{
    padding-top:58px !important;
}

@media(max-width:700px){
    .nf-install-float{
        top:50% !important;
        left:10px !important;
        right:10px !important;
        bottom:auto !important;
        max-width:none !important;
        transform:translateY(-50%) !important;
        padding:9px 42px 9px 9px !important;
        border-radius:17px !important;
    }

    .nf-install-float.nf-install-top{
        top:8px !important;
        bottom:auto !important;
        transform:none !important;
    }

    .nf-install-icon{
        width:38px !important;
        height:38px !important;
        min-width:38px !important;
        border-radius:12px !important;
    }

    .nf-install-icon img{
        width:31px !important;
        height:31px !important;
    }

    .nf-install-text strong{
        font-size:11px !important;
    }

    .nf-install-text span{
        font-size:9.5px !important;
        line-height:1.15 !important;
    }

    .nf-install-btn{
        min-height:30px !important;
        min-width:64px !important;
        font-size:10px !important;
        padding:0 10px !important;
    }

    .nf-install-close{
        top:6px !important;
        right:6px !important;
        width:23px !important;
        height:23px !important;
        min-width:23px !important;
        font-size:16px !important;
    }
}

/* ===== FIM NF PWA INSTALL POSIÇÃO MOBILE ===== */


/* ===== NF PWA OCULTAR DESKTOP 20260703 ===== */
@media (min-width: 901px){
    .nf-install-float,
    .nf-install-modal,
    .nf-install-backdrop,
    #nfInstallFloat,
    #nfInstallModal,
    [data-nf-install],
    .pwa-install,
    .install-pwa{
        display:none !important;
        visibility:hidden !important;
        opacity:0 !important;
        pointer-events:none !important;
    }
}

html.nf-install-desktop-blocked .nf-install-float,
html.nf-install-desktop-blocked .nf-install-modal,
html.nf-install-desktop-blocked .nf-install-backdrop,
html.nf-install-desktop-blocked #nfInstallFloat,
html.nf-install-desktop-blocked #nfInstallModal{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
}
/* ===== FIM NF PWA OCULTAR DESKTOP ===== */
