body {
    background: #f6f7fb;
}

.card h6 {
    color: #666;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-size: .8rem;
}

.btn-icon {
    padding: 0.4rem 0.6rem;
    font-size: 0.58rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.35rem;
}

/* Piscar */
.piscar {
    animation: blink 1s infinite;
}

@keyframes blink {
    0% {opacity:1;}
    50% {opacity:0;}
    100% {opacity:1;}
}

td.plano-usado {
    font-size: 0.5rem;
    white-space: nowrap;
}

#visualizarModal .modal-body {
    max-height: calc(100vh - 200px);
    overflow-y: auto;
}

#visualizarModal table th,
#visualizarModal table td {
    font-size: 0.85rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 150px;
}

#visualizarModal table th:nth-child(1),
#visualizarModal table td:nth-child(1) {
    max-width: 120px;
}

#visualizarModal table th:nth-child(2),
#visualizarModal table td:nth-child(2) {
    max-width: 100px;
}

#visualizarModal table th:nth-child(3),
#visualizarModal table td:nth-child(3) {
    max-width: 80px;
}

#visualizarModal table th:nth-child(4),
#visualizarModal table td:nth-child(4) {
    max-width: 100px;
}

#visualizarModal .btn,
#receberModal .btn {
    font-size: 0.8rem;
    padding: 0.25rem 0.5rem;
    min-width: 70px;
}

#btn-pdf {
    font-size: 0.75rem;
    padding: 0.2rem 0.4rem;
    min-width: 60px;
}

.modal-header {
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    min-height: unset;
}

.modal-title {
    font-size: 1rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.modal-header .btn-close {
    font-size: 0.8rem;
}

.modal-footer {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.main-content {
    padding-top: 80px;
}

.table td.cpf-col,
.table th.cpf-col {
    max-width: 130px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 0.9rem;
}

.btn-sm i {
    font-size: 1rem;
    margin: 0;
}

input[type="text"] {
    text-transform: capitalize;
}

/* ============================
   RESPONSIVIDADE
============================ */

.table-responsive {
    overflow-x: auto;
}

img {
    max-width: 100%;
    height: auto;
}

@media (max-width: 768px) {

    body {
        font-size: 14px;
    }

    .main-content {
        padding-top: 70px;
        padding-left: 10px;
        padding-right: 10px;
    }

    .navbar-brand {
        font-size: 1rem;
    }

    .navbar-nav .nav-link {
        padding: 10px 0;
    }

    h1 {
        font-size: 1.7rem;
    }

    h2 {
        font-size: 1.5rem;
    }

    h3 {
        font-size: 1.3rem;
    }

    .table {
        font-size: 12px;
    }

    .table th,
    .table td {
        white-space: nowrap;
    }

    .btn {
        min-height: 40px;
    }

    .form-control,
    .form-select {
        font-size: 16px;
    }

    .modal-dialog {
        margin: 10px;
    }

    .btn-sm {
        padding: 0.25rem 0.5rem;
    }

    .cpf-col {
        max-width: 90px !important;
    }
}
@media (max-width: 768px) {

    #receberModal .modal-dialog {
        margin: 10px;
    }

    #receberModal .modal-content {
        border-radius: 12px;
    }

    #receberModal .form-label {
        font-size: 13px;
        margin-bottom: 4px;
    }

    #receberModal .form-control {
        font-size: 14px;
    }

    #receberModal .modal-footer {
        flex-direction: row;
        justify-content: space-between;
    }
}

.icon-box{
    width:55px;
    height:55px;
    border-radius:12px;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:1.5rem;
}

.dashboard-kpi{
    border-radius:16px;
    transition:.2s;
}

.dashboard-kpi:hover{
    transform:translateY(-2px);
}

.kpi-icon{
    font-size:1.8rem;
    margin-bottom:5px;
}

.kpi-title{
    color:#6c757d;
    font-size:.85rem;
    font-weight:600;
}

.kpi-value{
    font-size:1.7rem;
    font-weight:700;
    color:#212529;
}