
:root{
    --cor-preto: #1A1A1A;
    --cor-preto-fraco: #414141;
    --cor-preto-fraco-2: #262626;
    --cor-preto-contraste: #131313;

    --cor-dourado: #D1AE74;
    --cor-dourado-fraco: #d9bb8c;

    --cor-vermelho: #4D120E;
}

body{
    background-color: var(--cor-preto);
}

.body-supreme{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    min-height: 100vh;
}

a{
    text-decoration: none;
}

p{
    line-height: 130%;
}




/* // ================ | CONTAINER GERAL | ================ \\ */
.container-geral{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.container-geral *{
    transition: 0.3s;
}


/* // ============= | BOTÕES | ============= \\ */
.btn-danger{
    background: #EF2E35;
}
.btn-warning{
    background-color: var(--cor-dourado);
    border: 3px solid var(--cor-dourado);
}
.btn-warning:hover{
    background: transparent;
    color: var(--cor-dourado);
    border: 3px solid var(--cor-dourado);

}
.btn{
    padding: 0.6rem 1rem;
}
/* \\ ====================================== // */


/* // ============== | MAIN | ============== \\ */
.container-geral.info main{
    align-content: center;
}
.container-geral > main{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    /* background: #272727; */
    background: transparent;
    min-height: 90vh;
    padding: 1.5rem 1rem;
    border-radius: 24px 0px 0px 0px;
    align-content: start;
}

.container-geral h1{
    text-align: center;
    width: 100%;
    color: #fff;
}
.container-geral p{
    width: 100%;
    text-wrap: balance;
    color: #ccc;
    text-align: center;
}

/* // ======= | HEADER | ===== \\ */
.container-geral > main > header{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 1.5rem;
}
.container-geral > main > header h1{
    text-align: left;
}
.container-geral > main > header p{
    text-align: left;
}
/* \\ ======================== // */

/* // ======== | NAV | ======= \\ */
.container-geral > main > nav{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.container-geral > main > nav figure{
    width: 100%;
    max-width: 495px;
    aspect-ratio: 16 / 9;
    border-radius: 6px;
    overflow: hidden;
    border: 2px solid var(--cor-dourado);
    margin: 0rem;
}
.container-geral > main > nav figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.container-geral > main > nav > a{
    width: auto;
    padding: 0.5rem 1.5rem;
    border-radius: 8px;
    background-color: var(--cor-dourado-fraco);
    border: 2px solid var(--cor-dourado-fraco);
    color: var(--cor-preto-contraste);
    font-weight: bold;
    margin: 0.5rem;
}

.container-geral > main > nav > a:hover{
    transform: scale(1.03);
    background-color: transparent;
    color: var(--cor-dourado-fraco);
}
/* \\ ======================== // */
/* \\ ====================================== // */



/* // ======= | CAMPOS | ===== \\ */
.container-geral .form-group{
    display: flex;
    flex-wrap: wrap;
}
.container-geral .form-group .form-control{
    background-color: var(--cor-preto-fraco);
    min-height: 48px;
    color: #fff;
    border: 1px solid var(--cor-preto-contraste);
    border-radius: 6px;
}
.container-geral .form-group label small{
    color: var(--cor-dourado-fraco);
    font-size: 0.75rem;
}
.container-geral .form-group label{
    width: 100%;
    color: #fff;
    font-weight: 500;
    line-height: 100%;
    margin-bottom: 0.5rem;
}
.container-geral .form-group p{
    width: 100%;
    margin-top: 0.5rem;
    background: #414141;
    text-align: left;
    padding: 0.7rem;
    border-radius: 0px 0px 8px 8px;
    color: #fff;
    margin: 0;
}
.container-geral .form-group:not([class*="col"]){
    width: 100%;
}
.container-geral h3{
    width: 100%;
    color: var(--cor-dourado);
    line-height: 100%;
    margin-bottom: 0rem;
}
.container-geral h3:not(:first-child){
    margin-top: 1.5rem;
}
.container-geral form{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 0rem !important;
}
.container-geral hr{
    width: 100%;
    opacity: 25%;
    background-color: var(--cor-dourado-fraco);
}

.container-geral form footer{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
}
/* \\ ======================== // */



/* \\ ===================================================== // */






/* // ===================== | MIDIA | ===================== \\ */
.container-midia{
    width: 100%;
    display: flex;
    padding: 0rem;
    flex-wrap: wrap;
}
.card-midia{
    margin-bottom: 1rem;
    display: flex;
}
.card-midia > main{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    padding: 1rem;
    border-radius: 8px;
    border: 1px solid #000;
    gap: 1rem;
    background: var(--cor-preto-fraco);
}
.card-midia article{
    width: 100%;
    aspect-ratio: 16 / 9;
    display: block;
}

.card-midia .form-control{
    background: #fff !important;
    color: var(--cor-preto) !important;
}

.card-midia article > *{
    width: 100%;
    height: 100%;
    border-radius: 6px;
    object-fit: cover;
    object-position: center;
}

.card-midia .btn{
    width: 100%;
}
/* \\ ===================================================== // */




/* // ================= | SWEET ALERT | ================== \\ */
.swal2-success-circular-line-right,
.swal2-success-circular-line-left,
.swal2-success-fix{
    display: none !important;
}
.swal2-title{
    color: var(--cor-dourado) !important;
}
/* \\ ===================================================== // */











/* // ================ | CONTAINER TABELA | =============== \\ */
.container-tabela{
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-wrap: wrap;
    overflow-y: auto;
    min-width: 300px;
    margin-top: 2rem;
}
.container-tabela > *{
    width: 100%;
}
.container-tabela label{
    color: #fff;
}
.page-item.active .page-link{
    background-color: var(--cor-dourado);
    border-color: var(--cor-dourado);
}
.container-tabela .col-sm-12.col-md-6{
    padding: 0.5rem 0rem;
}
.container-tabela #table-search_info{
    color: #fff;
}
.container-tabela .row{
    margin: 0rem;
}
.container-tabela div{
    padding-left: 0rem !important;
    padding-right: 0rem !important;
}

.table-new{ 
    background-color: var(--cor-preto-contraste);
    border-radius: 8px;
}
.table-new tr th:first-child{
    border-radius: 8px 0px 0px 0px;
}
.table-new tr th{
    color: #fff;
    padding: 1rem 0.75rem;
    text-align: left;
    color: #ffe37c;
    line-height: 100%;
    border-bottom: 1px solid rgb(255, 255, 255, 15%) !important;
}
.table-new tr td:last-child{
    padding-right: 1rem;
}
.table-new tr td{
    color: #fff;
    vertical-align: middle;
    border: none;
    line-height: 100%;
}
.table-new tr:hover{
    background-color: var(--cor-preto-fraco);
}
.table-new tr td small{
    display: block;
    line-height: 150%;
    font-size: 0.85rem;
    margin-top: 0.25rem;
    color: #ccc;
}
.table-new tr td small i{
    margin-right: 0.5rem;
    color: var(--cor-dourado);
}

.table-new .imagem{
    width: 100%;
    aspect-ratio: 16 / 11;
    display: block;
}

.table-new .imagem.redonda{
    aspect-ratio: 16 / 16;
}

.table-new h2{
    width: 100%;
    font-size: 1.25rem;
    font-weight: bold;
    margin: 0rem;
}

.table-new .imagem.redonda img{
    border-radius: 190px;
    border: 2px solid var(--cor-dourado-fraco)
}
.table-new .imagem img{
    width: 100%;
    border-radius: 8px;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.table-new tr td:last-child div{
    display: flex;
    justify-content: end;
}

.table-new tr th:first-child,
.table-new tr td:first-child{
    text-align: center;
}
/* \\ ===================================================== // */





/* // ==================== | FILTRO | ===================== \\ */
.container-geral .filtro{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 2rem;
}

.container-geral .filtro div{
    width: 100%;
    margin-bottom: 1rem;
}
.container-geral .filtro div button{
    width: 100%;
    border-radius: 4px;
    min-height: 45px;
    text-align: center;
    border: none;
}
.container-geral .filtro div .form-control{
    width: 100%;
    min-height: 45px;
    border: none;
    background: var(--cor-preto-fraco);
    color: #fff;    
}
.container-geral .filtro div .form-control::placeholder{
    color: #818181;
}
.container-geral .filtro button:hover{
    transform: scale(1.1);
    background-color: var(--cor-dourado);
    color: #fff;
}
/* \\ ===================================================== // */







/* // ================== | SCROLL VAULT | ================= \\ */
.scroll-vault{
    scrollbar-width: thin;
    scrollbar-color: #6b6b6b #1e1e1e;
}

.scroll-vault::-webkit-scrollbar{
    width: 12px;
    height: 12px;
}

.scroll-vault::-webkit-scrollbar-track{
    background: #1e1e1e;
    border-radius: 10px;
}

.scroll-vault::-webkit-scrollbar-thumb{
    border-radius: 10px;
    border: 2px solid #1e1e1e;
    background: linear-gradient(to bottom,#6b6b6b 0%,#6b6b6b 88%,#c40000 88%,#c40000 100%);
}
/* \\ ===================================================== // */






:root{
    --tv-bg: rgba(0,0,0,.10);
    --tv-card: rgba(255,255,255,.04);
    --tv-border: rgba(255,255,255,.08);
    --tv-line: rgba(255,255,255,.08);
    --tv-text: #e9e9ea;
    --tv-muted: #b8b8ba;
}

/* scroll só quando tiver .scroll-valt */
.scroll-valt{
    scrollbar-width: thin;
    scrollbar-color: #6b6b6b #1e1e1e;
}
.scroll-valt::-webkit-scrollbar{ width:12px; height:12px; }
.scroll-valt::-webkit-scrollbar-track{ background:#1e1e1e; border-radius:10px; }
.scroll-valt::-webkit-scrollbar-thumb{
    border-radius:10px;
    border:2px solid #1e1e1e;
    background: linear-gradient(to bottom,#6b6b6b 0%,#6b6b6b 88%,#c40000 88%,#c40000 100%);
}

/* ===== table-venda ===== */
.table-venda{
    border: 1px solid var(--tv-border);
    border-radius: 14px;
    overflow: hidden;
    max-height: 650px;
    background: var(--tv-card);
    box-shadow: 0 20px 50px rgba(0,0,0,.45);
}

/* scroll direto no table-venda (não é filho) */
.table-venda{
    overflow: auto;
    background: var(--tv-bg);
}

.table-venda table{
    width: 100%;
    border-collapse: collapse;
    min-width: 720px;
}

.table-venda thead th{
    text-align: left;
    font-size: 14px;
    color: var(--tv-muted);
    font-weight: 600;
    padding: 14px 18px;
    background: rgba(0,0,0,.12);
}

.table-venda tbody td{
    padding: 14px 18px;
    font-size: 14.5px;
    border-top: 1px dashed var(--tv-line);
    vertical-align: middle;
    color: var(--tv-text);
}

.table-venda tbody tr:hover{
    background: rgba(255,255,255,.04);
}

.table-venda .col-name{ width: 42%; }
.table-venda .col-date{ width: 18%; color: var(--tv-muted); }
.table-venda .col-cat { width: 22%; color: var(--tv-muted); }
.table-venda .col-amt { width: 18%; text-align: right; font-variant-numeric: tabular-nums; }

.table-venda .name-cell{
    display: flex;
    align-items: center;
    gap: 12px;
}

.table-venda .avatar{
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .6px;
    color: rgba(255,255,255,.92);
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 6px 18px rgba(0,0,0,.25);
    flex: 0 0 34px;
}

.table-venda .avatar.a-purple{
    background: radial-gradient(circle at 30% 30%, #b48cff 0%, #6b35ff 60%, #3a1dbd 100%);
}
.table-venda .avatar.a-green{
    background: radial-gradient(circle at 30% 30%, #8bff9d 0%, #27a84a 55%, #13612a 100%);
}
.table-venda .avatar.a-blue{
    background: radial-gradient(circle at 30% 30%, #7dd7ff 0%, #1490ff 55%, #0b4aa0 100%);
}
.table-venda .avatar.a-slate{
    background: radial-gradient(circle at 30% 30%, #b0b7c4 0%, #5b667a 60%, #2b3240 100%);
}

.table-venda .person{
    font-weight: 650;
}

/* ===== Mobile ===== */
@media (max-width: 640px){

  /* tira a largura mínima que força scroll horizontal */
  .table-venda table{
    min-width: 0;
  }

  /* compacta paddings e fonte */
  .table-venda thead th{
    padding: 12px 12px;
    font-size: 13px;
  }
  .table-venda tbody td{
    padding: 12px 12px;
    font-size: 13.5px;
  }

  /* some com 2 colunas no mobile (Data e Categoria) */
  .table-venda .col-date,
  .table-venda .col-cat{
    display: none;
  }

  /* deixa Nome ocupar mais e Amount menor */
  .table-venda .col-name{ width: auto; }
  .table-venda .col-amt{
    width: 1%;
    white-space: nowrap;
  }

  /* avatar menor */
  .table-venda .avatar{
    width: 30px;
    height: 30px;
    flex-basis: 30px;
    font-size: 11px;
  }

  /* evita quebrar feio no nome */
  .table-venda .person{
    word-break: break-word;
  }
}























/* /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\| 992 |/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\  */
@media(min-width: 992px){

    .body-supreme{
        flex-wrap: nowrap;
        align-content: start;
        align-items: start;
    }


    /* // ================ | CONTAINER GERAL | ================ \\ */

    /* // ============== | MAIN | ============== \\ */
    .container-geral > main{
        padding: 3rem 2rem;
        padding-top: 1rem;
        padding-left: 1rem;
    }
    /* // ======= | HEADER | ===== \\ */
    .container-geral > main > header:has(+ nav){
        width: 50%;;
    }
    /* \\ ======================== // */

    /* // ======== | NAV | ======= \\ */
    .container-geral > main > header + nav{
        width: 50%;
        justify-content: end;
    }
    .container-geral > main > nav > a{
        margin: 1rem;
        margin-right: 0rem;
    }
    /* \\ ======================== // */

    /* \\ ====================================== // */

    /* \\ ===================================================== // */



    /* // ===================== | MIDIA | ===================== \\ */
    .card-midia{
        padding: 0.5rem;
    }
    /* \\ ===================================================== // */




    /* // ==================== | FILTRO | ===================== \\ */
    .container-geral .filtro{
        flex-wrap: nowrap;
    }

    .container-geral .filtro div{
        margin: 0rem;
        padding-right: 1rem;
    }
    .container-geral .filtro div:last-child{
        padding: 0rem;
    }

    .container-geral .filtro div:has(> button){
        max-width: 60px;
    }
    /* \\ ===================================================== // */



}
/* /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/  */