/* @import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap");
@import "https://cdn.jsdelivr.net/npm/bulma@1.0.0/css/bulma.min.css";
*/
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

:root{
    /* Aliases to master variables from custon.css */
    /* primarias */
    --black-pr: var(--theme-text-primary, #000000); /* Fallback for safety during transition */
    --dark-color: var(--text-strong, #363537);      /* General dark text/elements */
    --grey-pr: var(--theme-text-muted, #888888);
    --orange-pr: var(--primary-color, #FF7707);
    --orange-dark-pr: var(--button-primary-hover-bg, #D66100);
    --orange-light: var(--primary-color-light, #f2d0b5); /* Mapped to closest light orange */
    --orange-light1: var(--primary-color-light, #f2d0b5);

    /* secundarias */
    --grey0-sc: var(--theme-border-strong, #C5AB96);
    --grey1-sc: var(--theme-border-primary, #EFE2D9); /* Mapped to closest light grey */
    --grey2-sc: var(--theme-border-primary, #EFE2D9);
    --grey3-sc: var(--theme-border-card, #FFF4EB);
    --grey4-sc: var(--theme-border-card, #FFF4EB);    /* Mapped to closest very light grey/off-white */
    --grey-arrow: var(--theme-body-background, #FFF9F5);

    /* cores de apoio - mapped to master status colors, shades might slightly change */
    --green-op: var(--status-success-bg, #28a745);
    --lime-op: var(--status-success-bg, #28a745); 
    --red-op: var(--status-danger-bg, #dc3545);
    --blue-op: var(--status-info-bg, #17a2b8);
}

* {
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
}

body,
html {
    background-color: var(--theme-body-background);
    width: 100%;
    height: 100%;
    font-family: "Open Sans", Roboto-Regular, sans-serif;
    overflow: hidden;
}

h1{
    font: normal normal bold 24px/33px "Open Sans";
}
h2{
    font: normal normal bold 18px/24px "Open Sans";
}
h3 {
    font: normal normal bold 16px/22px "Open Sans";
}
p{
    /* height: 18px; */
    text-align: left;
    font: normal normal normal 13px/18px "Open Sans";
    letter-spacing: 0px;
    color: var(--theme-text-primary);
    opacity: 1;
}

.main{
    position: relative;
    width: 100%;
    height: fit-content;
    z-index: 1;
}
.content{
    position: absolute;
    top: 0;
    left: 0;
    margin: 65px 0px 0px 0px;
    padding: 20px 20px 35px 85px;
    width: 100%;
    min-width: 81%;
    height: fit-content;
    transition: all 200ms;
}
.content h3{
    margin-bottom: 10px;
    max-width: 100%;
    text-align: left;
    letter-spacing: 0px;
    color: var(--theme-text-primary); /* Replaced --black-pr with master var */
    opacity: 1;
}

/*---------------SELECT----------------*/
select, #btn-selecaoEmpresa, .multiselect, .dropdown .dropdown-toggle{
    padding: 0 20px;
    width: 100%;
    height: 48px;
    background: var(--input-background) 0% 0% no-repeat padding-box;
    border: 1px solid var(--theme-border-primary);
    text-align: left;
    font: normal normal normal 13px/18px "Open Sans";
    border-radius: 8px;
    outline: none;
    cursor: pointer;
    opacity: 1;
}
.dropdown-menu.show{
    margin: 0;
    padding: 0;
    width: 100%;
    border-radius: 0;
}
option, .dropdown .dropdown-item{
    width: 100%;
    height: 30px;
    background: var(--input-background) 0% 0% no-repeat padding-box;
    text-align: left;
    font: normal normal normal 13px/18px "Open Sans";
}
.dropdown .dropdown-item:hover{
    background: var(--theme-text-link) 0% 0% no-repeat padding-box; /* #1967d2 is a blue, like a link */
    color: var(--theme-text-on-primary);
}
select:hover, #btn-selecaoEmpresa:hover,  .dropdown .dropdown-toggle:hover{
    transition: 200ms;
    background: var(--input-background) 0% 0% no-repeat padding-box;
    border: 1px solid var(--theme-border-strong);
    border-radius: 8px;
    opacity: 1;
}
select:focus-within, #btn-selecaoEmpresa:focus-within, .dropdown .dropdown-toggle:focus-within{
    transition: 200ms;
    border: 1px solid var(--theme-border-strong); /* #998677 is a darker C5AB96 */
}

/*---------------INPUTS----------------*/
.dataTables_wrapper .dataTables_filter input,
input{
    text-align: left;
    font: normal normal normal 13px/18px "Open Sans"!important;
    background: var(--input-background) 0% 0% no-repeat padding-box!important;
    box-shadow: var(--box-shadow-default) !important;
    border: 1px solid var(--theme-border-primary) !important; /* #FFF4EB is --theme-border-card */
    border-radius: 8px!important;
    outline: none!important;
    transition: 300ms;
}
.dataTables_wrapper .dataTables_filter input:hover,
input:hover{
    border: 1px solid var(--theme-border-strong) !important;
}
input:disabled{
    background: var(--theme-border-card) 0% 0% no-repeat padding-box!important; /* #FFF4EB */
    border: 1px solid var(--theme-border-card) !important; /* #FFF4EB */
}
.dataTables_wrapper .dataTables_filter input:focus-visible,
input:focus-visible{
    border: 1px solid var(--input-focus-border-color) !important;
    background-color: var(--input-background);
}

/*---------------LOCK----------------*/
.eye-toggle {
    position: absolute;
    top: 12px;
    right: 10px;
    cursor: pointer;
}

.lock-log {
    width: 20px; /* ajuste o tamanho conforme necessário */
    height: auto;
}

.password-input-container {
    position: relative;
}

/*---------------LABELS----------------*/

label{
    margin: 0px 0px 5px 0px;
    max-width: 100%;
    max-height: 100%;
    text-align: left;
    font: normal normal bold 13px/18px "Open Sans";
    letter-spacing: 0px;
    color: var(--theme-text-primary); /* Replaced --black-pr */
    opacity: 1;
    user-select: none;
    line-height: normal;
}
/*-------------------BUTTONS-------------------*/
.content  .btn-primario, .modal-footer  .btn-primario, button.btn-primario, a.btn-primario,
.content  .btn-secundario, .modal-footer .btn-secundario, button.btn-secundario, a.btn-secundario,
.content  .btn-terciario, .modal-footer .btn-terciario, button.btn-terciario, a.btn-terciario{
    padding: 14px;
    height: 48px;
    font: normal normal bold 14px/19px "Open Sans";
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0;
    border-radius: 8px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px;
    opacity: 1;
    transition: all 200ms;
}

/*---------------PRIMARY-BUTTON----------------*/
.btn-primario{
    color: var(--button-primary-text) !important;
    background: var(--button-primary-bg) 0% 0% no-repeat padding-box!important;
    box-shadow: var(--box-shadow-default);
    border: none;
}
.btn-primario.extended{
    width: 373px;
}
.btn-primario:hover{
    background: var(--button-primary-hover-bg) 0% 0% no-repeat padding-box!important;
    color: var(--button-primary-text) !important; /* Assuming text color remains same on hover */
}
.btn-primario:focus{
    background: var(--button-primary-hover-bg) 0% 0% no-repeat padding-box!important;
    border: 1px solid var(--button-primary-focus-border) !important;
}
.btn-primario:disabled{
    background: var(--button-primary-bg) 0% 0% no-repeat padding-box!important;
    opacity: 0.3;
}

/*---------------SECOND-BUTTON----------------*/
.btn-secundario{
    background-color: var(--button-secondary-bg) !important;
    color: var(--button-secondary-text) !important;
    border: 1px solid var(--button-secondary-border) !important;
    box-shadow: var(--box-shadow-default);
}
.btn-secundario:hover{
    background: var(--button-secondary-hover-bg) 0% 0% no-repeat padding-box!important;
    border: 1px solid var(--button-secondary-hover-border) !important;
    color: var(--button-secondary-hover-text) !important;
}
.btn-secundario:focus{
    background: var(--button-secondary-hover-bg) 0% 0% no-repeat padding-box!important; /* Assuming focus similar to hover for bg */
    border: 1px solid var(--button-secondary-hover-border) !important; /* Assuming focus similar to hover for border */
    color: var(--button-secondary-hover-text) !important; /* Assuming focus similar to hover for text */
}
.btn-secundario:disabled{
    border: 1px solid var(--button-secondary-border) !important;
    color: var(--button-secondary-text) !important;
    opacity: 0.3; /* Standard disabled opacity */
}

/*---------------THIRD-BUTTON----------------*/
.btn-terciario{
    background-color: transparent!important;
    border: none!important;
    color: var(--button-tertiary-text) !important;
}
.btn-terciario:hover{
    color: var(--button-tertiary-hover-text) !important;
}
.btn-terciario:focus{
    border: 1px solid var(--button-tertiary-hover-text) !important; /* Border appears on focus */
    color: var(--button-tertiary-hover-text) !important;
}
.btn-terciario:disabled{
    color: var(--button-tertiary-text) !important;
    opacity: 0.3!important;
}

/* MODAL */
.modal-dialog{
    display: flex;
    align-items: center;
    justify-content: center;
}
.modal-content{
    width: 408px;
}
.modal-title{
    text-align: left;
    font: normal normal bold 24px/33px "Open Sans";
    letter-spacing: 0px;
    color: var(--theme-text-primary); /* Replaced --black-pr */
    opacity: 1;
}
.modal-content .modal-header{
    border: none;
    padding-bottom: 10px;
}
.modal-header div{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.modal-header div p{
    text-align: left;
    font: normal normal normal 14px/19px "Open Sans";
    letter-spacing: 0px;
    color: var(--theme-text-primary); /* Replaced --black-pr */
    opacity: 1;
}
.modal-body{
    width: 100%;
    padding: 0 1rem 1rem 1rem;
}
.modal-body .choose-modal{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 5px;
}
.modal-body .choose-modal span{
    text-align: left;
    font: normal normal bold 13px/18px "Open Sans";
    letter-spacing: 0px;
    color: var(--theme-text-primary); /* Replaced --black-pr */
    opacity: 1;
}
.modal-body input,
.modal-body select{
    width: 100%;
    height: 48px;
    padding: 0 20px;
    box-shadow: none!important;
}

.modal-body p{
    text-align: left;
    font: normal normal normal 14px/19px "Open Sans";
    letter-spacing: 0px;
    color: var(--theme-text-primary); /* Replaced --black-pr */
    opacity: 1;
}
.modal-footer{
    display: flex;
    gap: 10px;
}

.modal-footer button,
.modal-footer a{
    margin: 0;
    min-width: 90px;
}

/*---------------PADRÃO TABELAS----------------*/
.dataTables_wrapper .dataTables_filter{
    float: left;
    text-align: left;
}
.dataTables_wrapper .dataTables_filter input{
    position: absolute;
    top: 0;
    left: 0;
    margin: 0!important;
    padding-left: 40px!important;
    width: 40%;
    min-width: 195px;
    height: 48px;
    border: 1px solid var(--theme-border-primary) !important;
    z-index: 1;
}
.dataTables_wrapper .dataTables_filter label{
    margin-bottom: 50px;
    gap: 10px;
    text-align: center;
    font: normal normal normal 13px/18px "Open Sans";
    line-height: normal;
    letter-spacing: 0px;
    color: var(--theme-text-primary); /* Replaced --black-pr */
}
#tableLogs, #mytable, #tableDispositivos{
    position: relative;
    z-index: 1;
}

#myTableLinks thead th,
#tabelaVPN thead th,
#tableLogs thead th,
#mytable thead th,
#tableDispositivos thead th,
#tablebackup thead th,
#tableUsuCreditos thead th{
    min-width: 70px!important;
    height: 55px;
    /* UI Properties */
    vertical-align: middle;
    text-align: left;
    font: normal normal bold 14px/19px "Open Sans";
    letter-spacing: 0px;
    color: var(--theme-text-primary); /* Replaced --black-pr */
    opacity: 1;
    border-top: none;
}
#myTableLinks tbody td,
#tabelaVPN tbody td,
#tableLogs tbody td,
#mytable tbody td,
#tableDispositivos tbody td,
#tablebackup tbody td,
#tableUsuCreditos tbody td{
    min-width: 70px!important;
    height: 55px;
    max-height: 100px;
    vertical-align: middle;
    text-align: left;
    font: normal normal normal 13px/18px "Open Sans";
    letter-spacing: 0px;
    color: var(--theme-text-primary); /* Replaced --black-pr */
    opacity: 1;
}
#myTableLinks tbody tr:hover,
#tabelaVPN tbody tr:hover,
#tableLogs tbody tr:hover,
#mytable tbody tr:hover,
#tableDispositivos tbody tr:hover,
#tablebackup tbody tr:hover,
#tableUsuCreditos tbody tr:hover{
    transition: 200ms;
    background: var(--theme-body-background) 0% 0% no-repeat padding-box; /* #F9F1EB is close to --theme-body-background */
}
.dataTables_wrapper .dataTables_length{
    float: none;
}
.dataTables_wrapper .dataTables_length label{
    position: absolute;
    left: 20px;
    bottom: 10px;
    margin: 0;
    height: 30px;
    font: normal normal normal 13px/18px "Open Sans";
    line-height: normal;
    letter-spacing: 0px;
    color: var(--theme-text-primary); /* Replaced --black-pr */
}
.dataTables_wrapper .dataTables_length select {
    margin: 0;
    text-align: left;
    height: 30px;
    font: normal normal normal 14px/19px "Open Sans";
    color: var(--theme-text-primary); /* Replaced --black-pr */
    background: var(--input-background) 0% 0% no-repeat padding-box;
    border: 1px solid var(--theme-border-primary);
    letter-spacing: 0px;
    outline: none;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button,
.dataTables_wrapper .dataTables_paginate .paginate_button:hover{
    background: var(--theme-content-background) !important;
    text-align: left;
    font: normal normal normal 12px/17px "Open Sans";
    letter-spacing: 0px;
    color: var(--theme-text-primary);
    opacity: 1;
}
.dataTables_wrapper .dataTables_paginate{
    margin-top: 0!important;
    width: 100%;
    padding: 10px;
    float: right;
    text-align: right;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    background: var(--theme-content-background);
}
table.dataTable>tbody>tr.child>td.child{
    padding: 0;
}
table.dataTable>tbody>tr.child span.dtr-title{
    min-width: fit-content!important;
}
table.dataTable>tbody>tr.child ul.dtr-details{
    width: 100%;
    padding: 0;
    vertical-align: middle;
}
table.dataTable>tbody>tr.child ul.dtr-details>li{
    border-bottom: 1px solid var(--theme-border-primary);
    padding-top: 5px!important;
    padding-bottom: 5px!important;
    min-height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.back-arrow{
    all: unset;
    margin-left: 20px;
    min-width: fit-content;
    display: flex;
    justify-content: start;
    align-items: center;
    transition: all .1s;
    color: var(--orange-pr);
    gap: 10px;
}

.back-arrow i {
    font-weight: bolder;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    font-size: large;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--theme-body-background); /* --grey-arrow is aliased to --theme-body-background */
    border: 1px solid var(--theme-border-primary); /* --grey2-sc is aliased to --theme-border-primary */
}
.back-arrow span{
    font: normal normal normal 14px/18px "Open Sans";
}

.back-arrow i:hover{
    transition: all 200ms;
    background-color: var(--theme-border-primary); /* --grey2-sc is aliased to --theme-border-primary */
}

@media(max-width:425px){
    .dataTables_wrapper .dataTables_paginate{
        text-align: center;
    }
    .dataTables_wrapper .dataTables_length label{
        top: 65px;
        left: 0;
    }
    .dataTables_wrapper .dataTables_filter input{
        width: 100%;
    }
    .dataTables_wrapper .dataTables_filter{
        margin-top: 30px;
    }

    .user-f tbody .child ul:nth-child(2){
        display: flex;
        flex-direction: row;
    }
}
