.prestomed-modal{
    display:none;
    position:fixed;
    inset:0;
    z-index:999999;
}

.prestomed-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.65);
    backdrop-filter:blur(3px);
}

.prestomed-modal-box{

    position:absolute;

    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    width:92%;
    max-width:430px;

    max-height:92vh;

    overflow-y:auto;

    scrollbar-width:none;
    -ms-overflow-style:none;

    background:#FFF;

    border-radius:18px;

    padding:26px;

    box-shadow:0 20px 60px rgba(0,0,0,.25);

    animation:prestomedModal .25s ease;

}

.prestomed-modal-box::-webkit-scrollbar{
    display:none;
}

@keyframes prestomedModal{

    from{
        opacity:0;
        transform:translate(-50%,-47%);
    }

    to{
        opacity:1;
        transform:translate(-50%,-50%);
    }

}

.prestomed-modal-close{

    position:absolute;

    top:14px;
    right:14px;

    width:34px;
    height:34px;

    border:none;

    border-radius:50%;

    background:#F4F4F4;

    color:#888;

    font-size:22px;

    cursor:pointer;

    transition:.25s;

}

.prestomed-modal-close:hover{

    background:#FFE8E8;

    color:#FF0000;

}

.prestomed-modal-box h2{

    margin:0 0 8px;

    text-align:center;

    color:#0C7A1B;

    font-size:26px;

    font-weight:700;

}

.prestomed-modal-subtitle{

    margin-bottom:22px;

    text-align:center;

    color:#555;

    font-size:14px;

    line-height:1.6;

}

.prestomed-modal-subtitle strong{

    color:#0C7A1B;
    font-weight:700;

}

#prestomed-cpf-cadastro{

    color:#0C7A1B;

    font-weight:700;

}

.prestomed-field{

    margin-bottom:14px;

}

.prestomed-field label{

    display:block;

    margin-bottom:6px;

    font-size:14px;

    font-weight:600;

    color:#444;

}

.prestomed-field span{

    color:#FF0000;

}

.prestomed-field input{

    width:100%;

    height:48px;

    padding:0 15px;

    border:1px solid #DADADA;

    border-radius:10px;

    background:#FCFCFC;

    font-size:15px;

    transition:.25s;

    box-sizing:border-box;

}

.prestomed-field input:focus{

    outline:none;

    background:#FFF;

    border-color:#0C7A1B;

    box-shadow:
        0 0 0 3px rgba(12,122,27,.10),
        0 4px 14px rgba(12,122,27,.10);

}

.prestomed-error{

    display:block;

    min-height:16px;

    margin-top:5px;

    color:#FF0000;

    font-size:12px;

}

.prestomed-password{

    position:relative;

}

.prestomed-password input{

    padding-right:46px;

}

.prestomed-password-toggle{

    position:absolute;

    right:12px;
    top:50%;

    transform:translateY(-50%);

    width:24px;
    height:24px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:none;
    background:none;

    padding:0;

    cursor:pointer;

    color:#888;

    transition:.25s;

}

.prestomed-password-toggle:hover{

    color:#0C7A1B;

}

.prestomed-password-toggle:focus{

    outline:none;

}

.prestomed-icon-eye{

    width:20px;
    height:20px;

}

.prestomed-btn{

    width:100%;

    height:48px;

    margin-top:4px;

    border:none;

    border-radius:10px;

    background:linear-gradient(180deg,#12A328,#0C7A1B);

    color:#FFF;

    font-size:15px;

    font-weight:700;

    cursor:pointer;

    transition:.25s;

}

.prestomed-btn:hover{

    transform:translateY(-1px);

    box-shadow:0 10px 20px rgba(12,122,27,.25);

}

.prestomed-btn:active{

    transform:scale(.99);

}

.prestomed-btn-secundario{

    width:100%;

    height:46px;

    margin-top:10px;

    border:1px solid #0C7A1B;

    border-radius:10px;

    background:#FFF;

    color:#0C7A1B;

    font-size:15px;

    font-weight:600;

    cursor:pointer;

    transition:.25s;

}

.prestomed-btn-secundario:hover{

    background:#F4FBF5;

}

.prestomed-info{

    margin-top:18px;

    padding:14px 16px;

    border-radius:10px;

    background:#FFF8D9;

    border-left:4px solid #FFC107;

    color:#555;

    font-size:13px;

    line-height:1.7;
    
    text-align:justify;

}

.prestomed-info strong{

    color:#111;

}

.prestomed-info{

    text-align:justify;

}

.prestomed-qrcode{

    margin:28px 0 18px;

    text-align:center;

}

.prestomed-qrcode img{

    width:120px;

    max-width:100%;

    border-radius:10px;

}

.prestomed-download{

    margin-bottom:24px;

    text-align:center;

    font-size:15px;

    line-height:24px;

    color:#555;

}

.prestomed-download a{

    color:#0C7A1B;

    font-weight:700;

    text-decoration:none;

}

.prestomed-download a:hover{

    text-decoration:underline;

}



@media (max-width:768px){

    .prestomed-modal-box{

        width:94%;

        padding:22px;

    }

}

@media (max-width:480px){

    .prestomed-modal-box{

        width:95%;

        max-height:94vh;

        padding:20px;

    }

    .prestomed-modal-box h2{

        font-size:23px;

    }

    .prestomed-modal-subtitle{

        font-size:13px;

    }

    .prestomed-field input{

        height:46px;

        font-size:15px;

    }

    .prestomed-btn,
    .prestomed-btn-secundario{

        height:46px;

    }

    .prestomed-info{

        font-size:12.5px;

    }

}

.prestomed-alert {

    width: 100%;
    text-align: center;

}

.prestomed-alert-title {

    font-size: 24px;
    font-weight: 700;
    color: #1b3b6f;

    margin-bottom: 20px;

}

.prestomed-alert-message {

    font-size: 16px;
    line-height: 26px;
    color: #555;

    margin-bottom: 30px;

}

#prestomed-alert-ok {

    width: 100%;

}

.prestomed-lista-dependentes{

    margin-top:18px;

    margin-bottom:18px;

    max-height:260px;

    overflow-y:auto;

}

.prestomed-dependente{

    display:flex;

    align-items:center;

    gap:12px;

    padding:14px 16px;

    margin-bottom:10px;

    border:1px solid #DADADA;

    border-radius:10px;

    cursor:pointer;

    transition:.25s;

    background:#FFF;

}

.prestomed-dependente:hover{

    border-color:#0C7A1B;

    background:#F7FFF8;

}

.prestomed-dependente input{

    margin:0;

    transform:scale(1.1);

}

.prestomed-dependente span{

    flex:1;

    color:#444;

    font-size:15px;

    font-weight:600;

}