body{background-color:#151515;color:#ddd;font-family:'proxima-nova',sans-serif;font-size:1rem;font-weight:100;}
 
::-webkit-scrollbar{width:5px!important;height:5px!important}
::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2)}
::-webkit-scrollbar-track{background:rgba(0,0,0,.08)}

.table>:not(caption)>*>* {
    color: #999;
    line-height:1.2rem;
    vertical-align: middle;
}
.table-hover>tbody>tr>*{
    vertical-align: middle;
}

tbody, td, tfoot, th, thead, tr{border-color:#444}

.modal{--bs-modal-bg:#202020}
.card{--bs-card-bg:transparent;color:#ddd}
.dropdown-menu{--bs-dropdown-bg:#404040}

.dropdown-item{color:#ddd;font-weight:100}
.dropdown-item:active{background:#222;color:#fff}
.dropdown-item:focus,
.dropdown-item:hover{background:#222;color:#fff}

.form-control,
.form-select{background-color:transparent;border-color:#333;color:#ddd}
.form-control:focus,
.form-select:focus{background-color:#303030;border-color:#444;box-shadow:none;color:#ddd;outline:none}

.form-control:disabled,
.form-select:disabled{background-color:#404040;color:#999}

.input-group-text{background-color:transparent;border-color:#333;color:#999}

.form-floating>.form-control-plaintext~label::after,
.form-floating>.form-control:focus~label::after,
.form-floating>.form-control:not(:placeholder-shown)~label::after,
.form-floating>.form-select~label::after{background-color:transparent}

.form-floating>.form-control-plaintext~label,
.form-floating>.form-control:focus~label,
.form-floating>.form-control:not(:placeholder-shown)~label,
.form-floating>.form-select~label{color:#999}

.form-control.is-invalid, .was-validated .form-control:invalid{border-color:#333}
.form-check-inline{margin:0}

.toast-container .toast {
    margin-bottom: 10px; /* Espaço entre toasts */
}

.btn {
    --bs-btn-font-weight: 200;
}

.badge {
    --bs-badge-font-weight: 100;
}   

a{color:#999;text-decoration:none}
a:hover{color:#9DA9E4}


.btn-check:focus+.btn, .btn:focus {box-shadow:none}
.navbar .bi, .sidebar .bi{margin:0 0.75rem 0 0}
svg{pointer-events:none}

.card{border:0}
.offcanvas.offcanvas-end{border:none}

.card.card-goals{border:1px solid #191919}
.card.card-goals .card-header{border:0;min-height:50px}
.card.card-goals .card-header h5{font-size:1rem}

.progress, .progress-stacked{
    --bs-progress-bg:transparent;
    --bs-progress-bar-color:#000;
    font-weight:200;
    height:30px;
    line-height:30px;
    font-size:1rem;
}

.bg-linear-gradient{background:#111!important;background:linear-gradient(130deg,#222 0%,#171717 70%)!important}
.bg-priority{background:#171717}
.bg-progress-priority{background:#555;color:#171717}

.bg-linear-color{background:#904fb6!important;background:linear-gradient(130deg,#149ea3 0%,#904fb6 70%)!important}

.creditcard-progress.progress,
.goal-progress.progress,
.budget-progress.progress{
    background:#000;
    height:20px;
    line-height:20px;
    font-size:0.75rem;
}

.creditcard-summary{cursor:pointer}

.datepicker .datepicker-switch,
.datepicker .next,
.datepicker .prev,
.datepicker tfoot tr th,
.datepicker td.day,
.datepicker td .month,
.datepicker td .year{color:#ddd}

.datepicker td.old.day,
.datepicker td.new.day,
.datepicker td .year.old,
.datepicker td .year.new
.datepicker td .month.old,
.datepicker td .month.new{color:#999}

.datepicker table tr td.day.focused,
.datepicker table tr td.day:hover{background:#222}

.datepicker table tr td.today,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today:hover{background:#333;color:#ddd}

.datepicker table tr td.active.active,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled.disabled,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active.disabled:hover.active,
.datepicker table tr td.active.disabled:hover.disabled,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.disabled:hover:hover,
.datepicker table tr td.active.disabled:hover[disabled],
.datepicker table tr td.active.disabled[disabled],
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active:hover.disabled,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active:hover:hover,
.datepicker table tr td.active:hover[disabled],
.datepicker table tr td.active[disabled],
.datepicker table tr td span.active.active,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled.disabled,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active.disabled:hover.active,
.datepicker table tr td span.active.disabled:hover.disabled,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.disabled:hover:hover,
.datepicker table tr td span.active.disabled:hover[disabled],
.datepicker table tr td span.active.disabled[disabled],
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active:hover.disabled,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active:hover:hover,
.datepicker table tr td span.active:hover[disabled],
.datepicker table tr td span.active[disabled]{background:#9DA9E4;background:linear-gradient(130deg,#149ea3 0%,#904fb6 70%);color:#ddd}

nav.navbar a.logo{display:inline-block}
nav.navbar .dropdown-item{color:#ddd;font-weight:100}

.datepicker table tr td span.focused,
.datepicker table tr td span:hover,
nav.navbar .dropdown-item.active,
nav.navbar .dropdown-item:active,
nav.navbar .dropdown-item:focus,
nav.navbar .dropdown-item:hover{background:#222;color:#fff}

nav.navbar .shortcuts{border-left:1px solid #444;font-size:1.1rem;font-weight:100;margin-bottom:0;padding-left:2rem;text-decoration:none}
nav.navbar .shortcuts a{color:#ddd}
nav.navbar .shortcuts a:hover{color:#8fc7f5}
nav.navbar .shortcuts.reverse{border-left:0;margin-left:0}
nav.navbar .shortcuts.reverse a{position:relative}
nav.navbar .shortcuts.reverse .badge{left:.8rem;position:absolute;top:-.8rem;font-size:.65rem;font-weight:200}

#menu-toggle{cursor:pointer;height:20px;width:20px;margin:0 auto;padding:0;position:relative;-webkit-transform: rotate(0deg);-moz-transform:rotate(0deg);-o-transform: rotate(0deg);transform:rotate(0deg);-webkit-transition:.5s ease-in-out;-moz-transition: .5s ease-in-out;-o-transition:.5s ease-in-out;transition: .5s ease-in-out}
#menu-toggle span{background:#fff;display:block;height:2px;left:0;opacity:1;position:absolute;width:100%;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:.15s ease-in-out;-moz-transition:.15s ease-in-out;-o-transition:.15s ease-in-out;transition:.15s ease-in-out}
#menu-toggle:hover span{background:#8fc7f5}
#menu-toggle span:nth-child(1){top:0px}
#menu-toggle span:nth-child(2),
#menu-toggle span:nth-child(3){top:7px}
#menu-toggle span:nth-child(4){top:14px}
#menu-toggle.open span:nth-child(1){top:16px;width:0%;left:50%}
#menu-toggle.open span:nth-child(2){-webkit-transform:rotate(45deg);-moz-transform: rotate(45deg);-o-transform: rotate(45deg);transform: rotate(45deg)}
#menu-toggle.open span:nth-child(3){-webkit-transform: rotate(-45deg);-moz-transform: rotate(-45deg);-o-transform: rotate(-45deg);transform: rotate(-45deg)}
#menu-toggle.open span:nth-child(4){left:50%;top:16px;width:0%}

#wrapper{overflow-x:hidden}
#sidebar{margin-left:-15rem;padding:6rem 0 0;min-height:100vh;-webkit-transition: margin 10s ease-out;-moz-transition: margin .10s ease-out;-o-transition: margin .10s ease-out;transition: margin .10s ease-out}
#sidebar .sidebar-container{flex-direction:column;width:15rem}
#sidebar .sidebar-heading{font-size:1.2rem;padding:0.875rem 1.25rem}
#sidebar .sidebar-fixed{max-height:100%;overflow-y:auto;padding:0 0 100px;position:fixed;width:15rem}
#sidebar .list-group-item,
#sidebar .accordion-item,
#sidebar .accordion-button,
#sidebar .accordion-button:not(.collapsed){background-color:transparent;border:none;box-shadow:none;border-radius: 0 .25rem .25rem 0}
#sidebar .accordion-button{padding:.5rem 1rem;transition: color .10s ease-in-out,background-color .10s ease-in-out,border-color .10s ease-in-out,box-shadow .10s ease-in-out,border-radius .10s ease}
#sidebar .accordion-button:after{background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23999999'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !important;transition: transform .10s ease-in-out}
#sidebar .accordion-body{padding: 0 0 0 2.25rem}
#sidebar a,
#sidebar button{color:#ddd;font-weight:100;text-decoration:none}
#sidebar a:hover,
#sidebar button:hover,
#sidebar .sidebar-active{background:rgba(32, 113, 228, 0.2);color:#ddd}
#sidebar .accordion a{font-size:0.9rem}

#sidebar .active{background:#9DA9E4;background:linear-gradient(130deg,#149ea3 0%,#904fb6 70%);;color:#ddd}
#wrapper.toggled #sidebar{margin-left:0}

#content{min-width:100vw;padding:5rem 0 0}

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

@keyframes increaseWidth {
    0% { width: 0%; }
    100% { width: 100%; }
}

.loading{animation: blink 1s infinite, increaseWidth 100ms ease-out forwards;background:#de5bcd;display:none;height:10px;position:absolute;bottom:-10px;width:0%}

.frame{border-radius:.25rem;background-color:#202020;padding:1.2rem;position:relative;margin-bottom: 1.5rem;box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);}
.frame.rounded{border-radius:20px 4px 20px 4px!important}
.frame .title,
.frame .nav-item{color:#999;font-size:1rem;font-weight:300}

.frame .title{line-height:1rem}
.frame .title small{display:block;font-size:0.75rem;font-weight:100}

.frame .actions a{color:#ddd}
.frame .actions a:hover{color:#8fc7f5}
.frame .navbar .bi{margin:0}
.frame .loading{background:#9DA9E4;bottom:auto;left:4px;top:0;max-width:calc(100% - 4px)}
.frame .loading.rounded{border-radius: 30px 4px 0 0!important}

.frame .refresh{display:inline-block;text-align:center;width:20px}

.frame.limits{height:calc(100vh - 110px);max-height:100vh}
.frame.limits .area{max-height:calc(100% - 60px);overflow-y:auto;overflow-x:hidden}

.frame .frame-content{height:300px;padding:1.2rem;margin:0 -1.2rem;overflow-y:auto}
.frame .frame-content.internal{height:calc(100vh - 284px)}
.frame .frame-content.h-auto{height:auto!important}

.frame .frame-content::-webkit-scrollbar,
.frame.limits .area::-webkit-scrollbar{
    width: 3px;
}

.frame .frame-content::-webkit-scrollbar-thumb,
.frame.limits .area::-webkit-scrollbar-thumb {
    background: #202020;
    border-radius: 10px;
}

.frame:hover .frame-content::-webkit-scrollbar-thumb,
.frame.limits:hover .area::-webkit-scrollbar-thumb{
    background: #e0e0e0;
}

.frame .frame-content::-webkit-scrollbar-thumb:hover,
.frame.limits .area::-webkit-scrollbar-thumb:hover {
    background: #c0c0c0;
}

.frame .frame-content::-webkit-scrollbar-track,
.frame.limits .area::-webkit-scrollbar-track {
    background: #202020;
    border-radius: 10px;
}

.frame .frame-content,
.frame.limits .area {
    scrollbar-width: thin;
    scrollbar-color: #202020 #202020;
}

.frame:hover .frame-content,
.frame.limits:hover .area {
    scrollbar-color: #e0e0e0 #202020;
}

.frame .frame-content,
.frame.limits .area {
    scrollbar-color: #202020 #202020; 
}

.frame .frame-content:hover,
.frame.limits .area:hover {
    scrollbar-color: #c0c0c0 #202020; 
}

.table{--bs-table-bg:none}

.table-hover>tbody>tr>* {
    --bs-table-bg-state: transparent;
    transition: var(--bs-table-bg-state) 0.5s ease;
    vertical-align:top;
}
.table-hover>tbody>tr:hover>* {
    --bs-table-color-state: #9DA9E4;
    --bs-table-bg-state: rgba(0, 0, 0, 0.02);    
}

.table-title{background-color:#171717}

th{font-weight:300}
.transaction th.title{border:0;color:#fff;font-weight:100;text-align:center}
.transaction th.title.income{background:#7381ce}
.transaction th.title.expense{background:#73cbce}

.transaction .category,
.transaction .subcategory{cursor:pointer}

.transaction .category td{background:#fff;color:#555;font-weight:200}
.transaction .subcategory td{background:#fff;color:#555;font-weight:200}
.transaction .hide{display:none}

.transaction .nivel{display:inline-block}


.transaction span.badge{display:initial;font-size:0.65rem;vertical-align:middle}
.transaction .arrow{width:30px}
.transaction .arrow.inline{display:inline-block}
.entry td{color:#aaa;font-size:0.8rem;font-weight:300;vertical-align:middle}
.entry.balance td{background-color:#171717;color:#777}
.entry .date {display:inline-block;width:40px}
.entry .date .today{color:#FF8551}

.entry.creditcard td{
    background-color:#1c1322;
}
.entry.creditcard-summary td{
    background-color:#2a1c33;
}

.status{color:#444;vertical-align:middle}
.status.status-pending{color:#999}
.status.status-confirmed{color:#94ce73}
.status.status-reconciled{color:#9DA9E4}
.status.status-overdue{color:#ce7373}


.transaction .total td,
.transaction .balance{border:0}

.transaction .balance.gain{background:#3ab99d;color:#fff}
.transaction .balance.loss{background:#FEA1A1;color:#fff}

.table td a:not(.btn,.status){color:#ddd;text-decoration:none}
.table td a:not(.btn,.status):hover{color:#8fc7f5}

.table th{vertical-align:top;line-height:1.25rem}
.table th small,
.table td small{font-size:0.75rem;font-weight:100}

.main{color:#3ab99d}
.gain{color:#3ab99d}
.loss{color:#FEA1A1}
.zero{color:#95BDFF}
.ico-card{color: #a575d1}
.pending{color:#95BDFF;font-size:0.8rem}
.borderless{border:none}

.inactive{opacity: 0.25}

.modal-header{border:none;position:relative}
.modal-title{color:#777;font-size:1.1rem;font-weight:200}
.modal .loading{background:#9DA9E4;left:0;top:0}

.btn-primary{--bs-btn-bg:#5b68aa;--bs-btn-border-color:#5b68aa}

.btn svg{vertical-align:text-top}
.btn-save{background-color:#3da179;color:#fff}
.btn-save:hover{background-color:#298b64;color:#fff}
.btn-continue{background-color:#217e58;color:#fff}
.btn-continue:hover{background-color:#17724c;color:#fff}

.btn-change{background-color:#777;color:#fff}
.btn-change:hover{background-color:#888;color:#fff}
.btn-shortcut{background-color:#000;color:#ccc}
.btn-shortcut:hover{background-color:#5b68aa;color:#fff}


.installments{color:#69a148;font-size:0.9rem;font-weight:200}
.repeat-installments,
.repeat-installments .installments,
.repeat-fixed,.repeat-only-fixed,.type-transfer,.type-dividend{display:none}

.dropdown-menu.overflow-auto{max-height:150px}
.dropdown-item .nivel{font-weight:100}
.bt-close{color:#777;cursor:pointer;font-weight:400}

#thumbnails-container {display:flex;flex-wrap:wrap}

.thumbnail{position:relative}
.thumbnail img{max-width:100px;max-height:100px;border:1px solid #ddd;border-radius:5px;padding:5px;object-fit:cover}
.thumbnail .file-type{width:100px;height:100px;display:flex;align-items:center;justify-content:center;border:1px solid #ddd;border-radius:5px;background-color:#f0f0f0;font-size:12px;text-align:center;padding:5px}
.confirmation-message span{font-size:0.9rem;font-weight:200}

.detail{cursor:pointer;display:inline-block;font-size:0.75rem;line-height:0.75rem;font-weight:100;white-space:nowrap;margin:0 .25rem .25rem 0;padding:3px 6px;position:relative;vertical-align:middle;border-radius:4px}
.account,.success{background-color:#2c8560;color:#fff}
.sell,.primary{background-color:#2663a8;color:#fff}
.buy,.priority{background-color:#da32da;color:#fff}
.transfer,.completed{background-color: #a86e26;color: #fff;vertical-align:middle}
.detail.tagoperation{background-color: #a86e26;color: #fff}
.tag,.canceled{background-color:#777;color:#fff}
.overdue,.negative{background-color:#bd5252;color:#fff}
.category{background-color: #4a58a0;color: #fff}
.fixed,.danger{background-color: #ad506c;color: #fff}
.dividen,.negotiated{background-color: #337585;color: #fff}

tr.highlight{background-color:rgba(0, 183, 255, 0.15)}
#totalBalance{border-radius:10px 4px 10px 4px;color:#fff;font-size:0.8rem;padding:3px 6px}
#totalBalance.gain{background:#2c8560}
#totalBalance.loss{background:#ce7373}

.invoice-open{background-color:#5b68aa;color:#fff;font-size:0.85rem}
.invoice-close{background-color:#c76060;color:#fff;font-size:0.85rem}

.health-1{color:#2c8560}
.health-2{color:#2663a8}
.health-3{color:#a86e26}
.health-4{color:#bd5252}
.health-5{color:#4a58a0}


.table .form-check-input{margin-bottom:0;margin-top:0;padding-bottom:0;padding-top:0;min-height:auto}
.table .form-check{margin-bottom:0;margin-top:0;min-height:auto;padding-bottom:0;padding-top:0}

.portfolios .portfolio{margin-bottom:2rem;position: relative}
.portfolios .portfolio-chart{background:#444;width:200px;height:100px}
.portfolios .portfolio-chart.rounded{border-radius:10px 4px 10px 4px!important}
.portfolios .portfolio-title{font-size:0.85rem}
.portfolios .portfolio-balance{font-size:1.15rem;font-weight:300}
.portfolios .portfolio-balance.zero{color:#f5f5f5}
.portfolios .portfolio-balance.gain{color:#4ef5d1}
.portfolios .portfolio-balance.loss{color:#f8a9a9}
.portfolio-change{color:#fff;position:absolute;top:0;right:0}

.portfolios .portfolio-chart::after{
    content: '';
    position: absolute;
    top: 0;
    left: 8px; /* Ajuste conforme necessário */
    /*transform: translateY(-50%);*/
    width: 10px; /* Ajuste o tamanho do círculo conforme necessário */
    height: 10px; /* Ajuste o tamanho do círculo conforme necessário */
    border-radius:20px 0 4px 0; /* Faz com que o elemento seja circular */
    background-color: currentColor; /* Usa a cor do texto atual */
}

.portfolios .portfolio-chart {
    color: #2fa373; /* Define a cor do círculo via color */
}



@media (max-width: 992px) {
    .operation,
    .operation-daytrade {
        min-width: 800px;
    }
    #normal,
    #daytrade {
        overflow: auto;
        margin-bottom:2rem;
    }
}

#expanded-frame-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,0.8);
    z-index: 9999;
    overflow: auto;
}

.expanded-frame {
    width: 90%;
    max-width: 1200px;
    margin: 40px auto;
    background: #fff;
    border-radius: 8px;
    padding: 20px;
}

.expanded-frame .frame-content {
    height: auto;
    max-height: 80vh;
    overflow-y: auto;
}
.ico-logo{border-radius:10px 4px;background:linear-gradient(130deg,#904fb6 0%,#149ea3 70%);color:#fff;font-size:0.55rem;font-weight:100;height:40px;line-height:40px;margin-right:10px;overflow:hidden;text-align:center;width:40px}
.ico-init{background:linear-gradient(130deg,#149ea3 0%,#904fb6 70%);border-radius:10px 4px;color:#fff;display:inline-block;font-size:1rem;font-weight:300;height:2.5rem;line-height:2.5rem;text-align:center;vertical-align:middle;white-space:nowrap;width:2.6rem}


.dropdown-item .ico-logo{height:24px;line-height:24px;width:24px}

#total_amount{color:#fff;font-size:2rem;font-weight:400}

.payment{color:#999}
.payment .payment-total{color:#2fa373;font-size:1.5rem}
.payment .payment-enddate{color:#d0d0d0;font-size:1rem;font-weight:400}

.accordion-button:not(.collapsed),
.accordion-button.collapsed,
.accordion-item:first-of-type>.accordion-header .accordion-button {
    background-color:#222;border:none;box-shadow:none;color:#d0d0d0
}
.list-group-item{background-color:#1d1d1d;border-color:#333;box-shadow:none;color:#d0d0d0}
.list-group-item a{text-decoration:none;color:#5b68aa}
.list-group-item a:hover{color:#3f4b8a}

.accordion-button {
    background-color:transparent;
    color: #d0d0d0;
}
.accordion-body {
    background-color:transparent;
    color: #d0d0d0;
}
.accordion-item {
    background-color:transparent;
    border: none;
}

.accordion-button:after {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !important;
}

.modal-header .btn-close,
.offcanvas-header .btn-close{
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23ffffff' class='bi bi-x-lg' viewBox='0 0 16 16'><path d='M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z'/></svg>") !important;
}

.accordion-button:not(.collapsed){color:#d0d0d0}

/* TABS - DARK MODE */
.nav-tabs {
    border-bottom: 1px solid #333;
    margin-bottom: 1.5rem;
}

.nav-tabs .nav-link {
    border: none;
    padding: 0.75rem 1.5rem;
    font-weight: 300;
    color: #8a9bff;
    background-color: rgba(138, 155, 255, 0.08);
    margin-right: 0.25rem;
    border-radius: 0.5rem 0.5rem 0 0;
    transition: all 0.2s ease;
    position: relative;
}

.nav-tabs .nav-link:hover {
    color: #b3bfff;
    background-color: rgba(138, 155, 255, 0.15);
}

.nav-tabs .nav-link.active {
    color: #b3bfff;
    background-color: transparent;
    box-shadow: none;
}

.nav-tabs .nav-link.active:after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #b3bfff;
    border-radius: 3px 3px 0 0;
}

/* Efeito de foco acessível */
.nav-tabs .nav-link:focus-visible {
    outline: 2px solid #8a9bff;
    outline-offset: 2px;
}

.video-container {
    position: relative;
    width: 90%;
    padding-bottom: 56.25%; /* 16:9 ratio */
    height: 0;
    overflow: hidden;
    margin:0 auto;
}

.video-container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Estilo padrão para mobile */
.container-nav-fixed {
    width: auto;
}

.nav-fixed{position:relative}

/* Estilo específico para telas de desktop (a partir de 768px) */
@media (min-width: 768px) {
    .container-nav-fixed {
        width: 60px;
    }
    .nav-fixed{position:fixed}
}
.charts .highcharts-container,
.charts .highcharts-container * {
    pointer-events: all;
}

.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
}

.calendar-header {
    color:#149ea3;
    font-size:1rem;
    font-weight: bold;
    text-align:center;
    padding:8px;
    border-radius: 4px;
}

.calendar-day {
    min-height: 100px;
    min-width: 40px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    padding: 4px;
    position: relative;
}

.calendar-day.empty {
    border: none;
}

.calendar-day.today {
    background-color: rgba(1, 117, 250, 0.15);
    border-color: rgba(1, 117, 250, 0.5);
}

.calendar-day.weekend {
    background-color: rgba(59, 250, 1, 0.1);
    border-color: rgba(37, 158, 0, 0.5);
}

.day-number {
    font-size:1rem;
    font-weight: bold;
    margin-bottom: 5px;
}

.income-badge, .expense-badge {
    display:block;
    font-size: 0.6rem;
    width:18px;
    height:18px;
    line-height:18px;
    margin:2px auto;
    text-align:center;
    border-radius:50px;
}

.income-badge,.income-badge:hover{
    background:#2c8560;
    color:#fff;
}

.expense-badge,.expense-badge:hover{
    background:#bd5252;
    color:#fff;
}

.day-total {
    position: absolute;
    bottom: 5px;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 0.8em;
}

.chat-bubble {
    border-radius: 12px;
    padding: 10px 15px;
    font-size:0.85rem;
    margin: 5px 0;
    max-width: 80%;
    display: inline-block;
    word-break: break-word;
}

.chat-user {
    background: #904fb6;
    color: #fff;
    align-self: flex-end;
}

.chat-assistant {
    background: #444;
    color: #f0f0f0;
    align-self: flex-start;
}

#chat-log {
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex-grow: 1;
    overflow-y: auto;
    padding: 10px;
}

#chat-box {
    max-width: 600px;
    margin: auto;
    height: 100%;
}

#offcanvasChat{
    background-color:#222;
}

#offcanvasChat .offcanvas-title{
    color:#aaa
}

.floating-chat-btn {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 56px;
  height: 56px;
  z-index: 1030; /* abaixo do offcanvas (1040) */
}
