﻿* {
    margin: 0;
    padding: 0;
    outline: 0;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

code,
input,
isindex,
kbd,
listing,
plaintext,
pre,
samp,
select,
textarea,
tt,
var,
xmp {
    font: inherit;
    white-space: normal;
}

address,
cite,
dfn,
em,
i,
var {
    font-style: normal;
}

a,
a img,
abbr,
acronym,
applet,
fieldset,
form,
iframe,
img,
object,
table {
    border: none;
    text-decoration: none;
}

caption,
center,
td,
th {
    text-align: left;
    vertical-align: middle;
}

q {
    quotes: "" "";
}

dir,
menu,
ol,
ul {
    list-style: none;
}

a {
    color: inherit;
}

font {
    color: inherit !important;
    font: inherit !important;
}

blink {
    text-decoration: none;
}

nobr {
    white-space: normal;
}

.clear {
    clear: both;
    display: block;
}

a,
abbr,
address,
b,
blockquote,
body,
caption,
cite,
code,
dd,
del,
dfn,
div,
dl,
dt,
em,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
object,
ol,
p,
pre,
q,
samp,
small,
span,
strong,
sub,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
tr,
ul,
var {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
}

body {
    font-family: "Montserrat", sans-serif;
    line-height: 1;
    color: #5d7082;
    font-weight: 400;
    background: #fff;
    display: flex;
    flex-direction: column;
}

html, body {
    height: 100%;
    margin: 0;
}

main {
    flex: 1;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

article,
aside,
dialog,
figure,
footer,
header,
nav,
section {
    display: block;
    margin: 0;
    position: relative;
    padding: 0;
    z-index: 2;
}

strong {
    font-weight: 700;
}

input[type="button"] {
    transition: background-color 1s ease;
}

    input[type="button"]:hover {
        background-color: #00a7fe !important;
    }

input:-webkit-autofill,
select:-webkit-autofill,
textarea:-webkit-autofill {
    background-color: #fff !important;
}

h2 {
    color: #58dc78;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

h3 {
    color: #58dc78;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    cursor: default;
}

h4,
h5 {
    color: #323232;
    font-size: 16px;
}

p {
    color: grey;
    font-size: 14px;
    line-height: 1.7;
}

.small {
    color: #b2b2b2;
    font-size: 12px;
    line-height: 1.5;
}

.micro {
    color: #b2b2b2;
    font-size: 11px;
    line-height: 1.65;
}

.form-group {
    position: relative;
    margin-bottom: 40px;
    font-family: Montserrat, sans-serif;
    padding-top: 15px;
}

    .form-group input {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        position: relative;
        background-color: transparent;
        font-size: 14px;
        width: 100%;
        padding: 10px 10px 10px 0;
        border-radius: 0;
        -webkit-box-shadow: none;
        box-shadow: none;
        border: none;
        border-bottom: 1px solid grey;
        height: auto;
        color: grey;
        z-index: 1;
        min-width: 100px;
    }

        .form-group input:focus {
            border-color: #66afe9;
            outline: 0;
        }

    .form-group select {
        background-color: transparent;
        font-size: 14px;
        padding: 10px 20px 10px 0;
        border-radius: 0;
        -webkit-box-shadow: none;
        box-shadow: none;
        border: none;
        border-bottom: 1px solid grey;
        height: auto;
        color: grey;
        z-index: 1;
        min-width: 100px;
    }

.form-group label {
    font-size: 11px;
    color: #b2b2b2;
    top: 0;
    left: 0;
    position: absolute;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    display: inline-block;
    max-width: 100%;
    margin-bottom: 5px;
}

    .form-group input:invalid:not(:focus) ~ label {
        font-size: 14px;
        top: 30px;
    }

#menuBeneficios {
    padding-top: 27px;
}

#txtNomeBeneficiario {
    width: 400px;
}

.header {
    font-size: 14px;
    line-height: 16px;
    background: #fff;
    -webkit-box-shadow: 0 2px 2px rgba(30, 80, 130, 0.15);
    box-shadow: 0 2px 2px rgba(30, 80, 130, 0.15);
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    bottom: 15px;
    z-index: 1001;
}

.menu-container {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header h1 {
    font-size: 0;
    width: 160px;
    height: 79px;
    padding: 0 15px 10px;
}

    .header h1 a {
        width: 160px;
        height: 79px;
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }

    .header h1 img {
        max-width: 144px;
        max-height: 75px;
    }

.box {
    border: 1px solid #e6e6e6;
    border-radius: 8px;
    -webkit-box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.19);
    box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.19);
    font-family: Montserrat, sans-serif;
    margin: 20px 0;
    padding: 25px 45px 25px 65px;
    position: relative;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}


    .box h3 {
        margin: 10px 0 20px;
    }

    .box:before {
        background: #58dc78;
        border-radius: 8px 0 0 8px;
        bottom: 0;
        content: "";
        left: 0;
        position: absolute;
        top: 0;
        width: 7px;
        transition: all 0.2s ease-in-out;
    }

    .box:hover:before {
        background: #8cffa8;
    }

    .box.totalPedidos {
        width: 800px;
        margin-top: 30px;
        cursor: pointer;
    }

        .box.totalPedidos:hover > h3,
        .box.totalPedidos:hover > a {
            color: #54d15e;
            -webkit-transition: all 0.2s ease-in-out;
            transition: all 0.2s ease-in-out;
        }

    .box.disabled {
        background-color: #0000001f; 
        color: #aaa;
        border: 1px dashed #ddd; 
        opacity: 0.8;
    }

        .box.disabled:hover:before {
            background: #003591;
        }

.btn3 {
    border-radius: 20px;
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    line-height: 1.15;
    min-width: 170px;
    height: 38px;
    padding: 10px 40px;
    text-align: center;
    background-color: transparent;
    color: #003591;
    transition: all 0.2s ease-in-out;
    border: 1px solid #003591;
    cursor: pointer;
}

.btn {
    border-radius: 20px;
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    line-height: 1.15;
    min-width: 170px;
    height: 38px;
    padding: 10px 40px;
    text-align: center;
    background-color: #58dc78;
    color: #fff;
    transition: all 0.2s ease-in-out;
    border: none;
    cursor: pointer;
}

    .btn.ico {
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 38px;
        padding-left: 0;
        padding-right: 0;
    }

        .btn.ico i {
            float: initial;
            display: table;
            margin: -3px auto 0;
        }

    .btn:not(:disabled):hover {
        background-color: #8cffa8;
    }

    .btn.confirm {
        background-color: #78be20;
        align-self: center;
    }

        .btn.confirm:not(:disabled):hover {
            background-color: #60981a;
        }

    .btn.disabled {
        background-color: #b2b2b2;
        align-self: center;
    }

        .btn.disabled:hover {
            background-color: #808080;
        }

    .btn i,
    .btn2 i {
        float: left;
        margin: -5px 10px 0 0;
    }

.btn2 {
    border-radius: 20px;
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    line-height: 1.15;
    min-width: 170px;
    height: 38px;
    padding: 10px 40px;
    text-align: center;
    background-color: #d52b1e;
    color: #fff;
    transition: all 0.2s ease-in-out;
    border: none;
    cursor: pointer;
}

    .btn2:not(:disabled):hover {
        background-color: #aa2218;
    }

.boxLogin {
    width: 600px;
    margin: 60px auto;
    display: block;
}

    .boxLogin h2 {
        padding-bottom: 15px;
    }

    .boxLogin input {
        width: 100%;
    }

.footer {
    background: #ffff;
    padding: 30px;
    display: flex;
    flex-direction: row;
    justify-content: center;
}

    .footer p {
        font-size: 12px;
        text-align: center;
    }

.loader div {
    margin: 0 auto 15px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.loader img {
    display: block;
    width: 31px;
    margin: 10px auto;
}

.control-group {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}



.content {
    display: block;
    clear: both;
    min-height: 70vh;
    width: 100%;
    padding: 15px;
}

.btn.resumo {
    margin: 100px auto 0;
    display: block;
    height: 150px;
}

.text-info {
    padding-bottom: 20px;
}

.modal {
    display: none;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    z-index: 2000;
}

    .modal header {
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        padding-bottom: 20px;
    }

    .modal > section {
        display: block;
        width: 500px;
        height: auto;
        padding: 20px;
        position: relative;
        margin: 80px auto 0;
        background-color: #fff;
        border: 1px solid #999;
        border: 1px solid rgba(0, 0, 0, 0.2);
        border-radius: 6px;
        -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
        box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
        background-clip: padding-box;
        outline: 0;
        border-top: solid 8px #003591;
    }

    .modal > .modal-termo {
        display: block;
        width: 1000px;
        height: auto;
        padding: 30px;
        position: relative;
        margin: 80px auto 0;
        background-color: #fff;
        border-top: solid 8px #003591;
        z-index: 1;
    }

    .modal-termo .close {
        padding: 10px;
    }

    .modal.large > section {
        width: 1000px;
    }

    .modal.medium > section {
        width: 600px;
    }

    .modal.termo > section {
        width: 800px;
    }

    .modal:after {
        content: "";
        display: block;
        width: 100%;
        position: fixed;
        top: 0;
        left: 0;
        height: 100vh;
        background: rgba(0, 0, 0, 0.5);
    }

    .modal.load > section {
        text-align: center;
    }

    .modal .close {
        background: transparent;
        cursor: pointer;
        border: none;
        color: #003591;
        margin: -20px -10px 0 0;
        font-size: 50px;
        line-height: 50px;
        position: absolute;
        top: 0; /* Define a distância do topo */
        right: 0; /* Alinha o elemento à direita */
    }

        .modal .close:hover {
            color: #0084ca;
        }


    .modal.large .close {
        margin: -120px -20px 0 0;
    }

    .modal footer {
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        padding-top: 20px;
    }

#menuBeneficios a {
}

.table {
    width: 100%;
}

.add-product-btn > span {
    padding: 0px 5px 0px 5px;
}

.table td {
    padding: 10px;
    /*border: 1px solid #1C6EA4;
        border-collapse: collapse;*/
}

.pedidoElab .table td {
    width: 100%;
}

.table thead th,
.table thead td {
    padding: 15px 10px;
    width: auto !important;
    border: none;
    color: #fff;
    background: #003591;
}

table.dataTable tbody th,
table.dataTable tbody td {
    padding: 8px 10px;
    width: auto !important;
}

.table tr:nth-child(even) {
    background-color: #f8f6ff;
}

.table td a {
    border-radius: 20px;
    font-family: Montserrat, sans-serif;
    font-size: 13px;
    line-height: 1.15;
    width: 170px;
    padding: 5px 15px;
    text-align: center;
    background-color: #006aa2;
    color: #fff;
    transition: all 0.2s ease-in-out;
    border: none;
    cursor: pointer;
}

    .table td a:hover {
        background-color: #0084ca;
    }

.table-beneficios-container {
    max-height: 320px;
    overflow-y: auto;
    border: 1px solid #ccc;
    padding: 5px;
}

    .table-beneficios-container th, .table-beneficios-container td {
        padding: 8px;
        border: 1px solid #ddd;
        text-align: left;
    }

    .table-beneficios-container td > a{
        display: inline-block;
    }

#gridpedido thead tr th {
    border: 1px solid #ddd;
    padding: 9px;
    text-align: center;
}

    .table-beneficios-container th,
    .table-beneficios-container td {
        text-align: center;
    }

    .table-beneficios-container tr:hover {
        background-color: #f0e9e9;
    }

    .table-beneficios-container input[type="checkbox"] {
        transform: scale(1.3);
        vertical-align: middle;
    }

.facaPedido {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

    .facaPedido h3 {
        margin: 40px 0 20px;
    }

    .facaPedido p {
        margin: 0 0 20px;
    }

.ul-pedido-recorrente {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: 16px;
    margin-bottom: 36px;
}

    .ul-pedido-recorrente li {
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin-right: 15px;
        width: 220px;
    }

        .ul-pedido-recorrente li .btn {
            height: 180px;
            padding-top: 70px;
            width: 120px;
        }

    .ul-pedido-recorrente input[type="checkbox"] {
        position: absolute;
        overflow: hidden;
        clip: rect(0 0 0 0);
        height: 1px;
        width: 1px;
        margin: -1px;
        padding: 0;
        border: 0;
    }

        .ul-pedido-recorrente input[type="checkbox"] + label:hover {
            background: #e2e2e2;
        }

        .ul-pedido-recorrente input[type="checkbox"] + label.css-label:hover:before {
            background: rgba(255, 255, 255, 0.5);
            border-radius: 5px;
            margin: -20px 0 0 -20px;
            position: absolute;
            width: 220px;
            height: 200px;
        }

        .ul-pedido-recorrente input[type="checkbox"]:checked + label {
            color: #58dc78;
            border: 2px solid#58dc78;
        }

    .ul-pedido-recorrente > li {
        display: flex;
        align-items: center;
        gap: 16px;
        margin: 16px 0;
        cursor: pointer;
        width: fit-content;
    }

        .ul-pedido-recorrente > li > label {
            display: flex;
            width: fit-content;
            align-items: center;
            gap: 8px;
            border: 1px solid #e2e2e2;
            border-radius: 24px;
            padding: 8px 12px;
            cursor: pointer;
        }

/* .ul-pedido-recorrente > li > label > i {
  background-color: #e1e1e1;
  padding: 10px;
  border-radius: 100%;
} */

.btn.pedInd {
    width: 500px;
}

.clonarPedido {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    width: 100%;
}

    .clonarPedido > * {
        display: flex;
        flex-direction: row;
        justify-content: center;
        margin-right: 15px;
        width: auto;
    }

    .clonarPedido div {
        margin-right: 15px;
    }

    .clonarPedido .k-select {
        display: flex;
        flex-direction: row;
        justify-content: center;
        font-size: 12px;
        color: #003591;
    }

        .clonarPedido .k-select .k-link {
            display: none;
        }

.pedidoIndividual {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
}



.formLine,
.formLine form {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

    .formLine .form-group {
        margin: 0 30px 20px 0;
    }

        .formLine .form-group label {
            font-size: 11px !important;
            top: 0 !important;
        }

        .formLine .form-group a {
            height: 25px;
            font-size: 12px;
            margin: 0 20px 0 10px;
        }

.btnActions {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.pedidoIndividual .selBenef {
    width: 500px;
    margin: 20px 0 0;
}

#modal-confirmacao-usuario .btn {
    width: 100%;
    margin: 0 5px 10px;
}

#modal-confirmacao-usuario .btn {
    width: 100%;
    margin: 0 5px 10px;
}

#modal-confirmacao-usuario label {
    padding-bottom: 20px;
    display: table;
}

.pedidoElab {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
}

.totaisProduto
{
    padding-bottom: 10px;
}

.totaisProduto form {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-end;
    width: 100%;
}

    .totaisProduto form .form-group {
        margin-right: 10px;
        margin-bottom: 0;
    }

.totaisProduto button {
    padding-right: 0;
    padding-left: 10px;
    margin-right: 15px;
    font-size: 14px;
}

    .totaisProduto button span {
        border: 2px solid #006aa2;
        font-weight: 700;
        display: block;
        float: right;
        color: #006aa2;
        background: #fff;
        height: 40px;
        width: 40px;
        border-radius: 25px;
        margin-top: -20px;
        line-height: 40px;
        text-align: center;
    }

    .totaisProduto button:hover span {
        border: 2px solid #0084ca;
        color: #0084ca;
    }

.beneficiarios-select form {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-end;
    width: 100%;
}

.beneficiarios-select button {
    padding-right: 0;
    padding-left: 10px;
    margin-right: 15px;
    font-size: 14px;
}

.formLineCol {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: nowrap;
}

    .formLineCol > div,
    .formLineCol > div form {
        display: flex;
        align-items: flex-end;
        flex-direction: row;
        justify-content: space-between;
        flex-wrap: wrap;
        flex-wrap: nowrap;
    }

    .formLineCol .form-group {
        margin-right: 10px;
        margin-bottom: 0;
    }

.pedidoElab nav {
    padding: 30px 0 30px;
    display: flex;
    align-items: flex-end;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: nowrap;
}

    .pedidoElab nav .pagination {
        display: flex;
        align-items: flex-end;
        flex-direction: row;
        justify-content: space-between;
        flex-wrap: nowrap;
    }

        .pedidoElab nav .pagination li {
            width: 35px;
            text-align: center;
            cursor: pointer;
            height: 35px;
            border: 1px solid #b2b2b2;
            border-radius: 50%;
            margin-right: 10px;
            color: grey;
            -webkit-box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.19);
            box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.19);
            padding: 8px 0;
        }

            .pedidoElab nav .pagination li:hover {
                z-index: 2;
                color: #23527c;
                background-color: #eee;
                border-color: #ddd;
            }

    .pedidoElab nav .maxPag {
        width: 300px;
        display: flex;
        align-items: flex-end;
        flex-direction: row;
        justify-content: space-between;
        flex-wrap: nowrap;
    }

        .pedidoElab nav .maxPag .form-group {
            width: 80px;
            margin-bottom: 0;
        }

.k-grid {
    margin-top: 50px;
}

    .k-grid td {
        border-width: 0 0 0 0;
        /*border: 1px solid #1C6EA4;
        border-collapse: collapse;*/
        font-size: 12px;
        font-family: Arial, sans-serif;
    }

.k-grid-header th,
.k-grid-content td {
    text-align: center !important;
    vertical-align: middle !important;
}

    .k-grid-header th a,
    .k-grid-content td a,
    .k-grid-content td input {
        display: inline-block !important;
        text-align: center !important;
        width: 100% !important;
    }

    .k-grid-header th.k-header,
    .k-filter-row th {
        padding: 15px 10px;
        border: none;
        color: #fff;
        background: #006aa2;
    }

.k-grid td a {
    border-radius: 20px;
    font-family: Montserrat, sans-serif;
    font-size: 13px;
    line-height: 1.15;
    min-width: 170px;
    padding: 5px 15px;
    text-align: center;
    background-color: transparent;
    color: #006aa2;
    transition: all 0.2s ease-in-out;
    border: none;
    cursor: pointer;
}

    .k-grid td a:hover {
        background-color: transparent;
        color: #0084ca;
    }

.impPlan > div {
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: nowrap;
    padding-top: 100px;
}

    .impPlan > div div {
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: space-between;
        flex-wrap: nowrap;
        width: 300px;
        padding-top: 50px;
        text-align: center;
    }

        .impPlan > div div .btn {
            margin-bottom: 30px;
            height: 100px;
            line-height: 80px;
        }

.impBenef h3 {
    margin: 40px 0 20px;
}

.impBenef a {
    margin: 0 20px 0 0;
}

.impBenef .formLine,
.impBenef .formLine form {
    padding-left: 0;
}

.histSel {
    display: flex;
    flex-direction: column;
    clear: both;
    min-height: 70vh;
    width: 100%;
    padding: 15px;
}

    .histSel .form-group {
        width: 180px;
        margin-bottom: 0;
    }

    .histSel .box .formLine {
        align-items: flex-end;
    }

    .histSel .formLine {
        margin: 10px 0 5px;
    }

        .histSel .formLine a {
            margin-right: 15px;
        }

.consVt .formLine {
    margin: 40px 0 30px;
}

.histSel .labelsPedidos {
    margin: 10px 0 5px;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

    .histSel .labelsPedidos span {
        display: table;
        border: 1px solid #e2e2e2;
        border-radius: 8px;
        margin-right: 16px;
        padding: 10px;
        font-size: 18px;
    }

.btn-outline {
    border: 1px solid #e2e2e2;
    border-radius: 8px;
    margin-right: 16px;
    padding: 6px 10px;
    font-size: 18px;
}

.consVt .form-group,
.consVt .form-group select {
    min-width: 300px;
}

.histSel .box.drpPed {
    width: 400px;
}

.acompPedido {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

    .acompPedido .passo label {
        display: block;
        font-size: 12px;
        width: auto;
        text-align: center;
        clear: both;
    }

        .acompPedido .passo label.lbl1 {
            float: right;
            padding-top: 0;
        }

    .acompPedido .passo img {
        float: left;
    }

    .acompPedido .passo .btn {
        margin-top: 15px;
        margin-right: 20px;
        float: left;
    }

.histBenef .formLine {
    margin: 20px 0 30px;
}

    .histBenef .formLine .btn {
        margin-right: 15px;
    }

.histBenef hr {
    display: none;
}

table.dataTable {
    margin: 15px 0 !important;
    float: left;
}

.beneficiarios-select-table {
    width: 100%;
    border-collapse: collapse;
}

    .beneficiarios-select-table tbody tr {
        cursor: pointer;
    }

    .beneficiarios-select-table th, .beneficiarios-select-table td {
        border: 1px solid #ccc;
        padding: 10px;
        text-align: left;
    }

    .beneficiarios-select-table th {
        background-color: #003591;
        color: white;
    }

    .beneficiarios-select-table tr:hover {
        background-color: #f1f1f1;
    }

    .beneficiarios-select-table tr.selected {
        background-color: #e0e0e0;
    }

#userModal .modal-content{
    width: 50%;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    z-index: 2;
    color: #23527c;
    background-color: #eee;
    border-color: #ddd;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    width: 35px;
    text-align: center;
    cursor: pointer;
    height: 35px;
    border: 1px solid #b2b2b2;
    border-radius: 50%;
    margin-right: 10px;
    color: grey;
    -webkit-box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.19);
    box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.19);
    padding: 8px 0;
}

#modal-beneficios .formLine {
    margin-bottom: 20px;
}

.loadinline {
    height: 38px;
    line-height: 31px;
    padding: 3px 0 0 15px;
}

    .loadinline img {
        float: left;
    }

.btn-secondary {
    background-color: #ccc;
}

/* Estilo para o cabeçalho do box de produtos (Passo 2) */
.box-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Botão de "Vincular benefício" dentro de products-box */
.add-product-btn {
    display: flex;
    align-items: center;
    font-weight: bold;
}

/* Container da tabela de beneficiários dentro do modal */
.beneficiarios-container {
    max-height: 320px;
    overflow-y: auto;
    box-shadow: inset 0 0 0 1px #ccc;
    margin-top: 10px;
}

/* Estilo para a estrutura do modal de usuário */
.modal-content {
    width: 50%;
    margin: auto;
    padding: 20px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Estilo para o footer do modal com os botões */
.modal-footer {
    display: flex;
    justify-content: center;
    padding-top: 15px;
}

/* Estilo de centralização para a seção de botões de ação */
.btnActions {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

/* Outros ajustes para garantir consistência e clareza visual */
.btn.confirm {
    display: flex;
    align-items: center;
    font-weight: bold;
}

.formLine .form-group {
    margin-bottom: 15px;
}

.beneficiarios-select-table {
    width: 100%;
    border-collapse: collapse;
}

    .beneficiarios-select-table th,
    .beneficiarios-select-table td {
        padding: 10px;
        text-align: left;
        border-bottom: 1px solid #ddd;
    }

    .beneficiarios-select-table tr.selected {
        background-color: #e0f7fa;
    }


.lds-ring {
    display: inline-block;
    width: 16px;
    height: 16px;
    color: #fff;
    position: relative;
}

    .lds-ring div {
        position: absolute;
        width: 12.8px;
        height: 12.8px;
        margin: 1.6px;
        border: 1.6px solid;
        border-radius: 50%;
        animation: spin 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
        border-color: currentColor transparent transparent transparent;
        box-sizing: border-box;
    }

        .lds-ring div:nth-child(1) {
            animation-delay: -0.45s;
        }

        .lds-ring div:nth-child(2) {
            animation-delay: -0.3s;
        }

        .lds-ring div:nth-child(3) {
            animation-delay: -0.15s;
        }

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}


#toast-container {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 3000;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.toast {
    display: flex;
    align-items: center;
    padding: 15px;
    background-color: #003591;
    color: #fff;
    border-radius: 5px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    opacity: 0;
    transform: translateY(20px);
    animation: slide-in 0.5s forwards, fade-out 0.5s 2.5s forwards;
}

@keyframes slide-in {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fade-out {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}