/* @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[data-theme="light"] {
    --white-pr: #FFFFFF;
    --black-pr:#000000;
    --dark-color: #363537;
    --grey-pr:#888888;
    --orange-pr: #FF7707;
    --orange-dark-pr:#D66100;
    --orange-light: #FBC498;
    --orange-light1: #f2d0b5;

    --grey0-sc:#C5AB96;
    --grey1-sc:#E1CFC3;
    --grey2-sc:#EFE2D9;
    --grey3-sc:#FFF4EB;
    --grey4-sc:#F2EAE4;
    --grey-arrow: #FFF9F5;

    --green-op:#45BE7D;
    --lime-op:#B7E33A;
    --red-op:#CF4242;
    --blue-op: #67B7EC;

    /*svg*/
    --svg-pr: #999;
    --svg-sc: #555;

    --shadow: 0px 0px 10px #00000014;
    --login-bg: #FFFFFF;
    --inputs-bg: #FFFFFF;
    --inputs-text: #000000;
    --table-tr: #F9F1EB;
    --btn-secondario-hover: #FFF4EB;
}

:root[data-theme="dark"] {
    /* primarias */
    --white-pr: #37363d;
    --black-pr:#cac9d4;
    --dark-color: #363537;
    --grey-pr:#888888;
    --orange-pr: #ec6e07; /*botões*/
    --orange-dark-pr:#D66100;
    --orange-light: #FBC498;
    --orange-light1: #51463c;

    /* secundarias */
    --grey0-sc:#a5a4b4; /*text secundários*/
    --grey1-sc:#545454;
    --grey2-sc:#59595f; /*bordas*/
    --grey3-sc:#a9a9b8;
    --grey4-sc:#2f2f2f;
    --grey-arrow: #161616; /*fundo*/

    /* cores de apoio */
    --green-op:#45BE7D;
    --lime-op:#B7E33A;
    --red-op:#CF4242;
    --blue-op: #67B7EC;

    /*svg*/
    --svg-pr: #a8a8ad;
    --svg-sc: #757575;

    --shadow: 0px 3px 6px #00000056;
    --login-bg: #000000;
    --inputs-bg: #272727;
    --inputs-text: #FFFFFF;
    --table-tr: #2e2e30;
    --btn-secondario-hover: #2E2E32;

    /* Contextual Alerts */
    --alert-primary-bg: var(--blue-op);
    --alert-primary-border: var(--blue-op);
    --alert-primary-text: var(--inputs-text);
    --alert-secondary-bg: var(--grey0-sc);
    --alert-secondary-border: var(--grey0-sc);
    --alert-secondary-text: var(--inputs-text);
    --alert-success-bg: var(--green-op);
    --alert-success-border: var(--green-op);
    --alert-success-text: var(--inputs-text);
    --alert-danger-bg: var(--red-op);
    --alert-danger-border: var(--red-op);
    --alert-danger-text: var(--inputs-text);
    --alert-warning-bg: var(--orange-light);
    --alert-warning-border: var(--orange-light);
    --alert-warning-text: var(--black-pr);
    --alert-info-bg: var(--blue-op);
    --alert-info-border: var(--blue-op);
    --alert-info-text: var(--inputs-text);
    --alert-light-bg: var(--white-pr);
    --alert-light-border: var(--grey2-sc);
    --alert-light-text: var(--black-pr); /* Inherits from body but can be explicit */
    --alert-dark-bg: var(--grey0-sc);
    --alert-dark-border: var(--grey2-sc);
    --alert-dark-text: var(--inputs-text);

    /* Contextual Badges */
    --badge-primary-bg: var(--orange-pr);
    --badge-primary-text: var(--inputs-text);
    --badge-secondary-bg: var(--grey0-sc);
    --badge-secondary-text: var(--inputs-text);
    --badge-success-bg: var(--green-op);
    --badge-success-text: var(--inputs-text);
    --badge-danger-bg: var(--red-op);
    --badge-danger-text: var(--inputs-text);
    --badge-warning-bg: var(--orange-light);
    --badge-warning-text: var(--black-pr);
    --badge-info-bg: var(--blue-op);
    --badge-info-text: var(--inputs-text);
    --badge-light-bg: var(--grey2-sc);
    --badge-light-text: var(--black-pr);
    --badge-dark-bg: var(--grey0-sc);
    --badge-dark-text: var(--inputs-text);

    /* Standard Bootstrap Buttons */
    --btn-primary-bg: var(--blue-op);
    --btn-primary-border: var(--blue-op);
    --btn-primary-text: var(--inputs-text);
    --btn-primary-hover-bg: var(--blue-op);
    --btn-primary-hover-border: var(--blue-op);

    --btn-light-bg: var(--grey2-sc);
    --btn-light-border: var(--grey1-sc);
    --btn-light-text: var(--black-pr);
    --btn-light-hover-bg: var(--grey0-sc);

    --btn-dark-bg: var(--grey0-sc);
    --btn-dark-border: var(--grey0-sc);
    --btn-dark-text: var(--inputs-text);
    --btn-dark-hover-bg: var(--grey2-sc);

    /* Form Styling */
    --placeholder-color: var(--grey0-sc);
    --input-group-text-color: var(--black-pr);
    --input-group-text-bg: var(--grey2-sc);
    --input-group-text-border: var(--grey0-sc);
    --form-valid-color: var(--green-op);
    --form-valid-border-color: var(--green-op);
    --form-invalid-color: var(--red-op);
    --form-invalid-border-color: var(--red-op);

    /* Tables */
    --table-striped-bg: var(--table-tr);
    --thead-dark-color: var(--inputs-text);
    --thead-dark-bg: var(--dark-color);
    --thead-dark-border: var(--grey2-sc);
    --thead-light-color: var(--black-pr);
    --thead-light-bg: var(--grey2-sc);
    --thead-light-border: var(--grey0-sc);
}

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

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

h1,h2,h3,h4,h5,h6,p{
    color: var(--black-pr);
}

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(--black-pr);
    opacity: 1;
}

i {
    color: var(--black-pr);
    fill: var(--black-pr);
}

.main{
    all: unset;
    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(--black-pr);
    opacity: 1;
}

/*---------------SELECT----------------*/
select, #btn-selecaoEmpresa{
    padding: 0 20px;
    height: 48px;
    background: var(--inputs-bg) 0% 0% no-repeat padding-box!important;
    color: var(--inputs-text)!important;
    border: 1px solid #EFE2D9;
    text-align: left;
    font: normal normal normal 13px/18px "Open Sans"!important;
    border-radius: 8px!important;
    box-shadow: var(--shadow);
    outline: none;
    cursor: pointer;
    opacity: 1;
}
option{
    height: 48px;
    background: var(--inputs-bg) 0% 0% no-repeat padding-box;
}
select:hover, #btn-selecaoEmpresa:hover{
    transition: 200ms;
    background: var(--inputs-bg) 0% 0% no-repeat padding-box;
    border: 1px solid var(--grey0-sc);
    border-radius: 8px;
    opacity: 1;
}
select:focus-within, #btn-selecaoEmpresa:focus-within{
    transition: 200ms;
    border: 1px solid #998677;
}

/*---------------INPUTS----------------*/
.dataTables_wrapper .dataTables_filter input,
input, .text-script{
    text-align: left;
    font: normal normal normal 13px/18px "Open Sans"!important;
    background: var(--inputs-bg) 0% 0% no-repeat padding-box!important;
    box-shadow: var(--shadow)!important;
    color: var(--inputs-text)!important;
    border: 1px solid var(--grey3-sc)!important;
    border-radius: 8px!important;
    outline: none!important;
    transition: 300ms;
}
.dataTables_wrapper .dataTables_filter input:hover,
input:hover, .text-script:hover{
    border: 1px solid var(--grey0-sc)!important;
}
input:disabled, select:disabled{
    background: var(--grey3-sc) 0% 0% no-repeat padding-box!important;
    border: 1px solid var(--grey3-sc)!important;
}
.dataTables_wrapper .dataTables_filter input:focus-visible,
input:focus-visible, .text-script:focus-visible{
    border: 1px solid var(--orange-pr)!important;
    background-color: var(--inputs-bg);
}

/*---------------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(--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: #FFFFFF!important;
    background: var(--orange-pr) 0% 0% no-repeat padding-box!important;
    box-shadow: var(--shadow);
    border: none;
}
.btn-primario.extended{
    width: 373px;
}
.btn-primario:hover{
    background: #D66100 0% 0% no-repeat padding-box!important;
    color: white!important;
}
.btn-primario:focus{
    background: #D66100 0% 0% no-repeat padding-box!important;
    border: 1px solid #9E4700!important;
}
.btn-primario:disabled{
    background: var(--orange-pr) 0% 0% no-repeat padding-box!important;
    opacity: 0.3;
}

/*---------------SECOND-BUTTON----------------*/
.btn-secundario{
    background-color: transparent!important;
    color: var(--orange-pr)!important;
    border: 1px solid var(--orange-pr)!important;
    box-shadow: var(--shadow);
}
.btn-assinatura{
    background-color: transparent!important;
    color: #fff!important;
    border: 1px solid #fff!important;
    box-shadow: var(--shadow);
}
.btn-secundario:hover{
    background: var(--btn-secondario-hover) 0% 0% no-repeat padding-box!important;
    border: 1px solid #D66100!important;
    color: #D66100!important;
}
.btn-secundario:focus{
    background: var(--grey2-sc) 0% 0% no-repeat padding-box!important;
    border: 1px solid #D66100!important;
    color: #D66100!important;
}
.btn-secundario:disabled{
    border: 1px solid var(--orange-pr)!important;
    color: var(--orange-pr)!important;
}

/*---------------THIRD-BUTTON----------------*/
.btn-terciario{
    background-color: transparent!important;
    border: none!important;
    color: var(--orange-pr)!important;
}
.btn-terciario:hover{
    color: #D66100!important;
}
.btn-terciario:focus{
    border: 1px solid #D66100!important;
    color: #D66100!important;
}
.btn-terciario:disabled{
    color: var(--orange-pr)!important;
    opacity: 0.3!important;
}

/* MODAL */
.modal-dialog{
    display: flex;
    align-items: center;
    justify-content: center;
}
.modal-content{
    width: 408px;
    background: var(--white-pr);
}
.modal-title{
    text-align: left;
    font: normal normal bold 24px/33px "Open Sans";
    letter-spacing: 0px;
    color: var(--black-pr);
    opacity: 1;
}
.modal-content .modal-header{
    border: none;
    padding-bottom: 10px;
}

.modal-content .modal-header button span{
    color: var(--black-pr);
}

.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(--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(--black-pr);
    opacity: 1;
}
.modal-body input,
.modal-body select{
    width: 100%;
    height: 48px;
    padding: 0 20px;
    box-shadow: none!important;
    border: 1px solid #EFE2D9!important;
}

.modal-body input:hover,
.modal-body select:hover{
    border: 1px solid var(--grey0-sc)!important;
}

.modal-body input:focus-within,
.modal-body select:focus-within{
    border: 1px solid var(--orange-pr)!important;
}

.modal-body p{
    text-align: left;
    font: normal normal normal 14px/19px "Open Sans";
    letter-spacing: 0px;
    color: var(--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 #EFE2D9!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(--black-pr);
}
#tableLogs, .myTable, .tableDispositivos{
    position: relative;
    z-index: 1;
}

#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(--black-pr);
    opacity: 1;
    border-top: none;
}
#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(--black-pr);
    opacity: 1;
}
#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(--table-tr) 0% 0% no-repeat padding-box;
}
.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(--black-pr);
}
.dataTables_wrapper .dataTables_length select {
    margin: 0;
    text-align: left;
    height: 30px;
    font: normal normal normal 14px/19px "Open Sans";
    color: var(--black-pr);
    background: var(--inputs-bg) 0% 0% no-repeat padding-box;
    border: 1px solid #EFE2D9;
    letter-spacing: 0px;
    outline: none;
}

.dataTables_wrapper .dataTables_paginate .ellipsis{
    color: var(--black-pr);
    font: normal normal normal 12px/17px "Open Sans";
    letter-spacing: 0px;
    opacity: 1;
}

.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(--inputs-bg) !important;
    text-align: center;
    font: normal normal normal 12px/17px "Open Sans";
    letter-spacing: 0px;
    color: var(--black-pr)!important;
    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(--white-pr) 0% 0% no-repeat padding-box;
    box-shadow: var(--shadow) !important;
}
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 #EFE2D9;
    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(--grey-arrow);
    border: 1px solid var(--grey2-sc);
}
.back-arrow span{
    font: normal normal normal 14px/18px "Open Sans";
}

.back-arrow i:hover{
    background-color: var(--grey2-sc);
}

@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{
        width: 0px;
        margin: 20px 0 10px 10px;
    }

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

/* Generic Card Styling */
.card {
    background-color: var(--white-pr);
    border: 1px solid var(--grey2-sc); /* Default BS border is #0000001f, so using an adaptive grey */
    color: var(--black-pr);
}
.card-header {
    background-color: var(--grey-arrow);
    border-bottom: 1px solid var(--grey2-sc);
    color: var(--black-pr);
}

/* Contextual Alerts & Badges - Applied via CSS variables in :root[data-theme="dark"] */
:root[data-theme="dark"] .alert-primary { color: var(--alert-primary-text); background-color: var(--alert-primary-bg); border-color: var(--alert-primary-border); }
:root[data-theme="dark"] .alert-primary .alert-link { color: var(--alert-primary-text); font-weight: bold; }
:root[data-theme="dark"] .alert-secondary { color: var(--alert-secondary-text); background-color: var(--alert-secondary-bg); border-color: var(--alert-secondary-border); }
:root[data-theme="dark"] .alert-secondary .alert-link { color: var(--alert-secondary-text); font-weight: bold; }
:root[data-theme="dark"] .alert-success { color: var(--alert-success-text); background-color: var(--alert-success-bg); border-color: var(--alert-success-border); }
:root[data-theme="dark"] .alert-success button { color: var(--alert-success-text);}
:root[data-theme="dark"] .alert-success .alert-link { color: var(--alert-success-text); font-weight: bold; }
:root[data-theme="dark"] .alert-danger { color: var(--alert-danger-text); background-color: var(--alert-danger-bg); border-color: var(--alert-danger-border); }
:root[data-theme="dark"] .alert-danger button {color: var(--alert-danger-text);}
:root[data-theme="dark"] .alert-danger .alert-link { color: var(--alert-danger-text); font-weight: bold; }
:root[data-theme="dark"] .alert-warning { color: #000000; background-color: var(--alert-warning-bg); border-color: var(--alert-warning-border); }
:root[data-theme="dark"] .alert-warning .alert-link { color: var(--alert-warning-text); font-weight: bold; }
:root[data-theme="dark"] .alert-info { color: var(--alert-info-text); background-color: var(--alert-info-bg); border-color: var(--alert-info-border); }
:root[data-theme="dark"] .alert-info .alert-link { color: var(--alert-info-text); font-weight: bold; }
:root[data-theme="dark"] .alert-light { color: var(--alert-light-text); background-color: var(--alert-light-bg); border-color: var(--alert-light-border); }
:root[data-theme="dark"] .alert-dark { color: var(--alert-dark-text); background-color: var(--alert-dark-bg); border-color: var(--alert-dark-border); }

:root[data-theme="dark"] .badge-primary { color: var(--badge-primary-text); background-color: var(--badge-primary-bg); }
:root[data-theme="dark"] .badge-secondary { color: var(--badge-secondary-text); background-color: var(--badge-secondary-bg); }
:root[data-theme="dark"] .badge-success { color: var(--badge-success-text); background-color: var(--badge-success-bg); }
:root[data-theme="dark"] .badge-danger { color: var(--badge-danger-text); background-color: var(--badge-danger-bg); }
:root[data-theme="dark"] .badge-warning { color: var(--badge-warning-text); background-color: var(--badge-warning-bg); }
:root[data-theme="dark"] .badge-info { color: var(--badge-info-text); background-color: var(--badge-info-bg); }
:root[data-theme="dark"] .badge-light { color: var(--badge-light-text); background-color: var(--badge-light-bg); }
:root[data-theme="dark"] .badge-dark { color: var(--badge-dark-text); background-color: var(--badge-dark-bg); }

/* Standard Bootstrap Buttons - Applied via CSS variables in :root[data-theme="dark"] */
:root[data-theme="dark"] .btn-primary { background-color: var(--btn-primary-bg); border-color: var(--btn-primary-border); color: var(--btn-primary-text); }
:root[data-theme="dark"] .btn-primary:hover { background-color: var(--btn-primary-hover-bg); border-color: var(--btn-primary-hover-border); filter: brightness(0.9); }
/* TODO: Add .btn-secondary, .btn-success, .btn-danger, .btn-warning, .btn-info with similar structure if needed */
:root[data-theme="dark"] .btn-light { background-color: var(--btn-light-bg); border-color: var(--btn-light-border); color: var(--btn-light-text); }
:root[data-theme="dark"] .btn-light:hover { background-color: var(--btn-light-hover-bg); }
:root[data-theme="dark"] .btn-dark { background-color: var(--btn-dark-bg); border-color: var(--btn-dark-border); color: var(--btn-dark-text); }
:root[data-theme="dark"] .btn-dark:hover { background-color: var(--btn-dark-hover-bg); }


/* Form Styling - Placeholder and Input Group Text - Applied via CSS variables in :root[data-theme="dark"] */
:root[data-theme="dark"] .form-control::placeholder { color: var(--placeholder-color); opacity: 1; }
:root[data-theme="dark"] .form-control:-ms-input-placeholder { color: var(--placeholder-color); }
:root[data-theme="dark"] .form-control::-ms-input-placeholder { color: var(--placeholder-color); }
:root[data-theme="dark"] .input-group-text { color: var(--input-group-text-color); background-color: var(--input-group-text-bg); border-color: var(--input-group-text-border); }

/* Form Styling - Validation States - Applied via CSS variables in :root[data-theme="dark"] */
:root[data-theme="dark"] .is-valid { border-color: var(--form-valid-border-color) !important; }
:root[data-theme="dark"] .valid-feedback, :root[data-theme="dark"] .valid-tooltip { color: var(--form-valid-color) !important; }
:root[data-theme="dark"] .is-invalid { border-color: var(--form-invalid-border-color) !important; }
:root[data-theme="dark"] .invalid-feedback, :root[data-theme="dark"] .invalid-tooltip { color: var(--form-invalid-color) !important; }

/* Tables - Applied via CSS variables in :root[data-theme="dark"] */
:root[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd) { background-color: var(--table-striped-bg); }
:root[data-theme="dark"] .table .thead-dark th { color: var(--thead-dark-color); background-color: var(--thead-dark-bg); border-color: var(--thead-dark-border); }
:root[data-theme="dark"] .table .thead-light th { color: var(--thead-light-color); background-color: var(--thead-light-bg); border-color: var(--thead-light-border); }


/* List Group */
.list-group-item {
    background-color: var(--white-pr)!important;
    border: 1px solid var(--grey3-sc)!important; /* Default BS border is #dee2e6, using adaptive grey */
    color: var(--black-pr)!important;
}
.list-group-item-action{
    color: var(--black-pr)!important;
}
a.list-group-item, button.list-group-item {
    color: var(--orange-pr); /* Action items */
}
a.list-group-item:hover, button.list-group-item:hover,
a.list-group-item:focus, button.list-group-item:focus {
    background-color: var(--grey-arrow);
    color: var(--orange-pr);
}
.list-group-item.active {
    background-color: var(--orange-pr);
    border-color: var(--orange-pr);
    color: var(--inputs-text);
}

/* Breadcrumbs */
.breadcrumb {
    background-color: var(--grey2-sc);
    color: var(--black-pr);
}
.breadcrumb-item + .breadcrumb-item::before {
    color: var(--grey0-sc);
}
.breadcrumb-item.active {
    color: var(--grey-pr);
}
.breadcrumb-item a {
    color: var(--orange-pr);
}
