﻿/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
for details on configuring this project to bundle and minify static web assets. */

@font-face {
    font-family: 'Inter';
    src: url('/energyring/fonts/Inter/Inter_28pt-ThinItalic.ttf') format('truetype');
    font-weight: 100;
    font-style: italic;
}

@font-face {
    font-family: 'Inter';
    src: url('/energyring/fonts/Inter/Inter_18pt-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Inter';
    src: url('/energyring/fonts/Inter/Inter_18pt-BlackItalic.ttf') format('truetype');
    font-weight: 900;
    font-style: italic;
}

@font-face {
    font-family: 'Inter';
    src: url('/energyring/fonts/Inter/Inter_18pt-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Inter';
    src: url('/energyring/fonts/Inter/Inter_18pt-BoldItalic.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
}

@font-face {
    font-family: 'Inter';
    src: url('/energyring/fonts/Inter/Inter_18pt-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
}

@font-face {
    font-family: 'Inter';
    src: url('/energyring/fonts/Inter/Inter_18pt-ExtraBoldItalic.ttf') format('truetype');
    font-weight: 800;
    font-style: italic;
}

@font-face {
    font-family: 'Inter';
    src: url('/energyring/fonts/Inter/Inter_18pt-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Inter';
    src: url('/energyring/fonts/Inter/Inter_18pt-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: 'Inter';
    src: url('/energyring/fonts/Inter/Inter_18pt-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Inter';
    src: url('/energyring/fonts/Inter/Inter_18pt-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
}

/* Pode continuar seguindo este padrão para todas as variantes */



a.navbar-brand {
    white-space: normal;
    text-align: center;
    word-break: break-all;
}

/* Provide sufficient contrast against white background */
a {
    color: #2E2E2E !important;
    text-decoration: underline !important;
}

table td {
    padding: 5px 10px;
}

.er-move-menu-150p {
    transition: .7s ease-out;
    margin-left: 150px;
}

.er-menu-list {
    list-style: none;
    color: #fff;
    padding: 15px 20px;
}

.er-menu-list-option {
    padding: 10px 0px;
    font-weight: 300 !important;
    font-size: 21px !important;
    cursor: pointer;
}

    .er-menu-list-option a {
        text-transform: uppercase;
        font-weight: bold;
        font-size: 15px;
        text-decoration: none !important;
        letter-spacing: 0.5px;
        color: #fff !important;
        margin-left: 20px !important;
        display: block;
    }

.btn-primary {
    color: #fff;
    background-color: #617ec7 !important;
    border-color: #617ec7 !important;
    font-size: 11px;
    text-align: left;
    padding: 5px 12px !important;
    outline: none !important;
    box-shadow: unset !important;
}

    .btn-primary:hover {
        background-color: #2E2E2E !important;
        border-color: #2E2E2E !important;
    }

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

/* Sticky footer styles
-------------------------------------------------- */
html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.border-top {
    border-top: 1px solid #e5e5e5;
}

.border-bottom {
    border-bottom: 1px solid #e5e5e5;
}

.box-shadow {
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}

button.accept-policy {
    font-size: 1rem;
    line-height: inherit;
}

/* Sticky footer styles
-------------------------------------------------- */
html {
    position: relative;
    min-height: 100%;
}

a {
    transition: .14s ease-out;
    color: #9FC53D;
}

    a:hover {
        color: #878787 !important;
    }

body {
    position: relative;
    font-family: "Inter", serif;
}


.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    white-space: nowrap;
    line-height: 60px; /* Vertically center the text there */
}

/* ENERGY RING STYLES */
body {
    min-height: 100%;
    background: #EDEFED;
    background-size: cover;
}

.phase {
    display: none;
}

.checkbox input[type="checkbox"] {
    display: none;
}

.checkbox label {
    padding-left: 0;
}

    .checkbox label:before {
        content: "";
        width: 20px;
        color: #000;
        height: 20px;
        display: inline-block;
        vertical-align: bottom;
        margin-right: 10px;
        line-height: 20px;
        text-align: center;
        background-color: #fff;
        border: 2px solid gray;
        box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
        font-family: "Font Awesome 5 Pro";
    }

.checkbox input[type="checkbox"]:checked + label::before {
    content: "\f00c";
}

.navbar {
    background-color: #2E2E2E !important;
    border: 0px !important;
    margin-bottom: 0px !important;
    padding: 10px 38px;
    max-height: 40px;
}

.page-header {
    background-color: transparent;
    padding: 20px 50px;
}

#loginContainer .er-input {
    background-color: transparent !important;
}

#loginContainer .blue-text,
#loginContainer .er-label,
#loginContainer .er-input,
#bannerWithLogo .blue-text {
    color: #fff !important;
}

.phase {
    margin-bottom: 20px;
    padding: 0px 15px;
}

#image-box {
    height: 100%;
    width: 100%;
    background-size: contain;
    background-repeat: no-repeat;
}

#image-box-c {
    height: 100px;
    max-height: 100px;
    width: 100%;
    background-size: contain;
    background-repeat: no-repeat;
}

.box-user-content {
    background-color: #fff;
    border-radius: 2px;
    min-height: 27px;
    padding: 4px 9px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 13px;
}

#login-info {
    font-size: 17px;
    color: #ff4e4e;
}

.upload-button {
    background-color: lightgray;
    text-align: center;
    height: 100px;
    transition: .14s ease-out;
}

    .upload-button:hover {
        background-color: gray;
    }

.upload-icon {
    transition: .14s ease-out;
    font-size: 40px;
    color: #fff;
}

#er-menu {
    height: 100%;
    width: 350px;
    position: fixed;
    top: 0;
    background-color: #2E2E2E;
    z-index: 9999999;
    left: -500px;
}

#er-menu-upacs {
    padding: 20px 50px 50px 50px;
    height: 100%;
    width: 350px;
    position: fixed;
    top: 45px;
    background-color: #2D3748;
    z-index: 9999999;
    left: -500px;
    overflow: auto;
}

.fixed-navbar {
    position: fixed;
    width: 100%;
    z-index: 999999;
}

#er-menu-upacs .menu-upac-list li {
    display: block;
    padding: 5px 0px;
    text-transform: uppercase;
}

#er-menu-upacs .menu-upac-list img {
    width: 24px;
    height: 24px;
    object-fit: cover;
}

.search-box img {
    z-index: 99999;
    position: absolute;
    right: 57px;
    top: 27px;
}

.menu-upac-title {
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}

.devices li {
    color: #E2E8F0;
    font-size: 12px;
    font-weight: 500;
    padding: 1px 0px !important;
    text-transform: capitalize !important;
}

#overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 99999;
    display: none;
}

.er-label {
    width: 100%;
    margin-top: 10px;
}

.er-link {
    color: #18C47C;
}

.er-button {
    background-color: #2E2E2E;
    color: #fff;
    border: 0px;
    border-radius: 4px;
    font-size: 17px;
    text-transform: uppercase;
    padding: 9px 35px 8px;
    outline: none !important;
    transition: .14s ease-out;
}

    .er-button:disabled {
        background-color: #555555 !important;
        color: lightgray !important;
    }

    .er-button:hover {
        background-color: #2e2e2e;
        box-shadow: 0px 2px 8px #2e2e2e;
    }

.er-button-dashed {
    border: 2px dashed #9FC53D;
    background-color: transparent;
    outline: none !important;
    transition: .3s ease-out;
    border-radius: 5px;
    padding: 10px;
}

    .er-button-dashed:hover {
        border: 2px solid #2e2e2e;
        background-color: #2e2e2e;
        color: #fff;
        box-shadow: 0px 2px 4px #2e2e2e;
    }

.er-button-icon {
    transition: .14s ease-out;
}

    .er-button-icon:hover {
        color: #9FC53D;
    }

.er-input-file {
    background-color: #9FC53D;
    color: #fff;
    border-radius: 5px;
    text-transform: uppercase;
    padding: 10px 30px;
    cursor: pointer;
    transition: .14s ease-out;
}

    .er-input-file:hover {
        background-color: #2e2e2e;
        box-shadow: 0px 2px 8px #2e2e2e;
    }

.er-input {
    border-radius: 1px;
    width: 100% !important;
    font-size: 15px;
    font-weight: 400;
    outline: none;
    padding: 10px;
    border-radius: 5px;
    border: 2px solid #dddcdc !important;
    background-color: #fff;
    transition: .14s ease-out;
    color: #000 !important;
}

.er-input-white {
    border: 0px;
    text-align: center;
    width: 120px;
    border-radius: 3px;
    outline: none;
}

.footer-content {
    padding: 10px;
}

.all-but-footer {
    min-height: calc(100vh - 64px);
}

.item-footer {
    color: #A0AEC0 !important;
    text-decoration: none !important;
    font-size: 12px;
}

    .item-footer:hover {
        color: #2E2E2E !important;
    }

.er-input-b-w {
    background-color: #fff;
}

.er-input-c-b {
    color: #000;
}

.er-input:focus {
    border: 2px solid #18C47C;
}

.er-bar {
    border-bottom: 2px solid #9FC53D;
    margin: 0px;
}

.overlay {
    background-color: rgb(0 0 0 / 56%);
    color: #fff !important;
    padding: 15px 10px 15px 35px;
}

.alert {
    position: fixed;
    background-color: red;
    left: -500px;
    bottom: 25px;
    color: #fff;
    max-width: calc(100% - 55px);
    z-index: 999999;
}

.success {
    background-color: green;
}

.warning {
    background-color: yellow;
}

.info {
    background-color: cornflowerblue;
}

.Logo {
    padding: 0px 10px 0px 20px;
    height: 110px;
}

.LogoAfter {
    font-weight: 900;
    color: #18C47C;
}

.GreenText {
    color: #9FC53D;
    font-size: 20px;
}

#descricao {
    font-family: Roboto;
    font-size: 18px;
    color: #747474;
    font-weight: 400;
    line-height: 21px;
}

label {
    margin-bottom: 0px;
}

h1 {
    color: #777777;
    font-family: Roboto;
    font-size: 30px;
    font-weight: 400;
    line-height: 125%;
}

.Text {
    font-size: 20px;
}

.MediumText {
    font-size: 18px;
}

.SmallText {
    font-size: 15px;
}

.WhiteText {
    color: #fff !important;
}

.BlackText {
    color: #2e2e2e !important;
}

.blue-text {
    color: #2E2E2E;
}

.gray-text {
    color: #718096;
}

.fw-700 {
    font-weight: 700;
}

.Thin {
    font-weight: 300;
}

.Medium {
    font-weight: 400;
}

.Bold {
    font-weight: 500;
}

.UpperCase {
    text-transform: uppercase;
}

div#ui-datepicker-div {
    z-index: 999 !important;
}

input, select {
    padding: 8px 15px !important;
    border: 1px solid #fafafa !important;
    border-radius: 5px;
}

.left-dashboard-col {
    background-color: #2E2E2E !important;
}

    .left-dashboard-col input, .left-dashboard-col select {
        width: 100%;
    }

    .left-dashboard-col .filters {
        padding: 40px 15px 0px 15px;
    }

.filters-top {
    gap: 20px;
    float: right;
}

    .filters-top img {
        height: 25px;
    }

.noUi-horizontal {
    height: 4px !important;
}

.noUi-target {
    background: #737373 !important;
    border: 1px solid #737373 !important;
    box-shadow: unset !important;
}

.noUi-connect {
    background-color: #fff !important;
}

.noUi-handle:after, .noUi-handle:before {
    background-color: #fff !important;
    display: none !important;
}

.noUi-handle {
    box-shadow: unset !important;
    border-radius: 17px !important;
}

.noUi-horizontal .noUi-handle {
    top: -8px !important;
    width: 20px !important;
    height: 20px !important;
}

.noUi-tooltip {
    font-size: 11px !important;
}

.noUi-horizontal .noUi-tooltip {
    bottom: -190% !important;
}

.slider-container {
    display: flex;
    align-items: center;
}

    .slider-container > span {
        flex: 0 0 30px; /* Isso define o tamanho fixo dos spans para "Min" e "Max" */
        text-align: center;
        color: #fff;
    }

#producaoSlider {
    flex-grow: 1; /* Isso faz com que o slider ocupe o espaço restante */
    margin: 0 10px; /* Adiciona um pouco de espaço entre o slider e os spans */
}

#potenciaSlider,
#percentageSlider {
    flex-grow: 1;
    margin: 0 10px;
}

.map-grayscale img {
    filter: grayscale(100%);
}

.map-status {
    padding: 10px;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    z-index: 9999;
    width: 100%;
}

#map_view {
    height: 100%;
}

.list-status {
    padding: 20px 10px 10px;
    background-color: #fff;
    z-index: 9999;
    width: 100%;
}

.marker-cluster {
    background-clip: padding-box;
    border-radius: 50%;
    border: 3px solid white;
    color: white;
    text-align: center;
    font-weight: bold;
    line-height: 40px;
    font-family: "Inter", serif;
}

.marker-cluster-small {
    background-color: #2161ff !important;
    width: 40px !important;
    height: 40px !important;
}

.marker-cluster-medium {
    background-color: #1847bb !important;
    width: 50px !important;
    height: 50px !important;
    line-height: 50px !important;
}

.marker-cluster-large {
    background-color: #2E2E2E !important;
    width: 60px !important;
    height: 60px !important;
    line-height: 60px !important;
}

.status-block {
    border: 1px solid #c4c3c3;
    border-radius: 20px;
    padding: 3px 15px;
    cursor: pointer;
}

    .status-block span {
        font-size: 14px;
    }

    .status-block.inactive {
        background-color: gray;
    }

button {
    background-color: #2D3748;
    font-size: 13px;
    font-weight: bold;
    color: #fff;
    border: 0px;
    border-radius: 7px;
    padding: 6px 40px;
    text-transform: uppercase;
}

.t-button {
    background-color: transparent;
    font-size: 14px;
    color: #2D3748 !important;
    text-decoration: none !important;
    font-weight: bold;
    border: 1px solid #2D3748;
    padding: 5px 20px;
    border-radius: 5px;
}

    .t-button.active {
        background-color: #2D3748; /* Cor da borda para o fundo */
        color: #fff !important; /* Cor do texto para branco */
    }


    .t-button:hover {
        background-color: #2D3748;
        color: #fff !important;
    }

.g-button {
    background-color: #C3C5D5;
    font-size: 14px;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: bold;
    border: 1px solid #C3C5D5;
    padding: 5px 20px;
    border-radius: 5px;
}

    .g-button:hover {
        background-color: #2D3748;
        color: #fff !important;
    }

.blue-button {
    background-color: #2E2E2E;
}

    .blue-button:hover {
        background-color: #2D3748;
    }

.list-container {
    background-color: #fff;
    border-radius: 15px;
    padding: 10px;
    box-shadow: 0px 5px 5px 1px #e2e2e2;
}

    .list-container .row-list {
        padding: 6px 6px 5px;
    }

.col-md-12 .list-container {
    max-width: 1290px;
    pad
}

.table-header {
    background-color: #F7FAFC;
    margin: 0px -10px;
    border-bottom: unset !important;
}

    .table-header div {
        color: #A0AEC0;
        font-size: 10px !important;
        letter-spacing: 1px;
        line-height: 12px;
        font-weight: 700;
        padding: 0;
    }


.table-row {
    padding: 5px 5px;
    position: relative;
}

    .table-row span, .table-row div {
        padding: 5px 15px;
        font-size: 14px;
        color: #718096;
    }

    .table-row .arrow {
        height: 20px;
        width: 20px;
        position: absolute;
        right: 30px;
        top: 17px;
    }

.box-data-device {
    padding: 0 !important;
}

    .box-data-device span {
        padding-left: 0 !important;
    }

.main-table-text {
    padding: 12px 16px;
}

    .main-table-text h5 {
        padding-left: 30px;
        font-weight: bold;
        text-transform: uppercase;
        padding: 0;
    }

.pad {
    padding: 20px 50px;
}

.page-box {
    padding: 15px 0px;
    border-radius: 10px;
    box-shadow: 0px 5px 14px 0px #0000002e;
}

    .page-box .upac-state {
        height: 20px;
        padding-right: 10px;
    }

    .page-box .t-button,
    .page-box .g-button {
        font-size: clamp(10px, 0.6vw, 12px); /* Mínimo de 10px, ideal em 1.2vw, máximo de 14px */
    }

.upac-device {
    height: 48px;
    width: 48px;
    margin-left: -25px;
}

.upac-device-separotor {
    height: 20px;
    width: 20px;
}

.upac-device-box {
    padding: 20px;
    background-color: #fff;
    border-radius: 20px;
    margin-bottom: 20px;
    max-height: 120px;
    box-shadow: 0px 6px 18px -12px #aaa5a5;
}

.upac-history .upac-device-box {
    max-height: unset !important;
    padding: 20px 15px 7px 0px;
}

.upac-device-box .upac-device-type {
    font-size: 14px;
    color: #A0AEC0 !important;
    font-weight: bold;
    margin-bottom: 3px;
}

.upac-history .upac-device-id {
    font-size: 14px;
    color: #718096 !important;
    font-weight: bold;
}

.upac-history .upac-device-type {
    color: #718096;
    font-weight: 400;
}

.upac-device-box .upac-device-inner {
    font-size: 18px;
    color: #2E2E2E;
    font-weight: bold;
}

.upac-device-box .upac-device-state {
    font-size: 14px;
    color: gray;
    padding-left: 5px;
}

.upac-device-box .upac-device-state-time {
    font-size: 14px;
    color: gray;
    padding-left: 5px;
}

.flex-fill {
    flex: 1 !important;
}

.text-bold {
    font-weight: bold;
}

.no-margin {
    margin: unset !important;
}

.swiper-pagination-bullet-active {
    background: #2E2E2E !important;
}

.chart-title {
    height: 30px;
    font-size: 16px;
    color: #A0AEC0;
    text-transform: uppercase;
    font-weight: 700;
}

.chart-value-text {
    font-size: 17px;
    color: #A6B3C4;
    font-weight: 700;
}

.border-radius-20px {
    border-radius: 20px;
}

.value-counter {
    font-size: 14px;
    color: #718096;
    font-weight: 400;
    flex: 2;
}

.value-chart-block {
    position: absolute !important;
    left: 0;
    right: 0;
    top: 150px;
}

.chart-legends {
    margin: 15px auto;
}

.progress {
    flex: 5;
    height: 5px !important;
}

.progress-bar {
    background-color: #ED8936;
}

.swiper-button-next, .swiper-button-prev {
    border-radius: 50%; /* Tornar as setas circulares */
    padding: 10px; /* Espaçamento maior ao redor da seta */
    opacity: 0.1; /* Menos opacidade para deixar menos visíveis */
    transition: opacity 0.3s ease; /* Suaviza a transição de opacidade */
}

    .swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
        opacity: 0.1 !important;
    }

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: -5px !important;
}

.swiper-button-next:hover, .swiper-button-prev:hover {
    opacity: 1; /* Aumenta a opacidade quando o usuário passar o mouse */
}

.swiper-button-next, .swiper-button-prev {
    z-index: 10; /* Coloca as setas acima das caixas, mas com menos impacto visual */
}

.swiper-button-next {
    right: 10px; /* Ajuste da posição à direita */
}

.swiper-button-prev {
    left: 10px; /* Ajuste da posição à esquerda */
}

.chart-legends {
    display: block !important;
}

.chart-container {
    height: 180px;
    margin-top: 20px;
}

.graphics .chart-container {
    margin-top: unset !important;
    margin-bottom: 50px;
    height: unset !important;
}

.upac-chart {
    width: 100% !important;
    height: 100% !important;
}

#upac-main-info {
    display: none;
}

.icon-span {
    padding-left: 20px;
}

/* Esconde o checkbox padrão */
.custom-checkbox input {
    display: none;
}

/* Criação do estilo da caixa personalizada */
.custom-checkbox .checkmark {
    position: relative;
    display: inline-block;
    width: 18px;
    height: 18px;
    background-color: #fff;
    border: 2px solid #1D1B2047;
    border-radius: 4px;
    transition: background-color 0.3s, border-color 0.3s;
    cursor: pointer;
}

/* Efeito quando a checkbox é marcada */
.custom-checkbox input:checked + .checkmark {
    background-color: #2E2E2E;
    border-color: #2E2E2E !important;
}

    /* Adiciona um ícone de check quando marcado */
    .custom-checkbox input:checked + .checkmark::after {
        content: '';
        position: absolute;
        left: 5px;
        top: 2px;
        width: 5px;
        height: 10px;
        border: solid white;
        border-width: 0 3px 3px 0;
        transform: rotate(45deg);
    }

/* Efeito quando o mouse passa sobre a caixa */
.custom-checkbox .checkmark:hover {
    border-color: #4A5568;
}

.custom-checkbox input:focus + .checkmark {
    outline: none;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}

.upac-history .custom-checkbox {
    float: right;
    margin-top: -13px;
    margin-right: 20px;
}

.specs-container {
    padding: 20px;
}

.bg-gray {
    background-color: #EBECF1;
}

.button-container button {
    height: 35px;
    max-height: 35px;
    line-height: 100%;
    font-size: 14px !important;
}

.custom-checkbox span {
    font-size: 14px;
}

.form-column input::placeholder,
.form-column textarea::placeholder {
    color: #A0AEC0;
}


.form-column label {
    font-size: 14px;
}

.form-column input {
    font-size: 14px;
}

.item-box img {
    width: 50px;
    height: 50px;
    margin: 0 auto;
}

.item-box span {
    font-size: 12px;
    color: #718096;
}

.item-box {
    display: flex;
    flex-direction: column;
    margin-top: 15px;
    margin-bottom: 20px;
    text-align: center;
    position: relative;
    max-width: 80px;
}

    .item-box .status-item {
        position: absolute;
        top: -10px;
        right: -7px;
        height: 25px;
        width: 25px;
    }

#box-logger {
    background-color: #F7FAFC;
    border-radius: 10px;
    padding: 0px 10px;
}

#esquema-unifilar {
    position: relative;
    height: 200px;
    width: 181px;
    margin: 0 auto;
    zoom: 1.6;
}

.eu-i {
    width: 60px;
    height: 60px;
    padding: 10px;
    border-radius: 100px;
    position: absolute;
}

    .eu-i img {
        width: 100%;
    }

.eu-orange {
    border: 1px solid #FF5900;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.eu-blue {
    border: 1px solid #3182CE;
    right: 150px;
    top: 100px;
}

.eu-green {
    border: 1px solid #38B2AC;
    left: 150px;
    top: 100px;
}

#paineis-solares svg {
    height: 150px;
    position: absolute;
    left: -80px;
    top: 31px;
}

    #paineis-solares svg:nth-of-type(2) {
        left: -65px;
    }

    #paineis-solares svg:nth-of-type(3) {
        top: 120px;
        left: -52px;
    }

#consumo svg {
    height: 150px;
    position: absolute;
    left: -60px;
    top: 31px;
}

@keyframes seta-movimento {
    0% {
        stroke-dashoffset: 10;
    }

    100% {
        stroke-dashoffset: 0;
    }
}

.seta-autoconsumo,
.seta-consumo,
.seta-excedente {
    stroke-dasharray: 10;
    stroke-dashoffset: 10;
    animation: seta-movimento 0.5s ease-in-out infinite alternate;
}

*/
/* estado base */
.linha-autoconsumo,
.linha-excedente,
.linha-consumo {
    transition: stroke 200ms ease;
}

/* quando há fluxo, tornamos a linha tracejada e animamos o dash */
.flowing {
    stroke-dasharray: 6 8; /* padrão do traço */
    animation: dash-move 1.25s linear infinite;
}

/* NOVO: fluxo invertido (direita → esquerda) */
.flowing-reverse {
    stroke-dasharray: 6 8;
    animation: dash-move-reverse 1.25s linear infinite;
}

@keyframes dash-move-reverse {
    to {
        stroke-dashoffset: 28;
    }
}

@keyframes dash-move {
    to {
        stroke-dashoffset: -28;
    }
    /* move o traço no sentido do fluxo */
}



.label-kwh {
    position: absolute;
    font-size: 9px;
    font-weight: bold;
    color: #2D3748;
    background-color: #fff;
    padding: 1px 4px;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    white-space: nowrap;
}

#label-autoconsumo {
    top: 90px;
    left: 30px;
}

#label-excedente {
    top: 90px;
    left: 110px;
}

#label-consumo {
    top: 150px;
    left: 70px;
}


.filters-button {
    background-color: #3182CE;
    width: 100%;
    margin-bottom: 10px;
    color: #fff;
    font-size: 14px;
}

.modal {
    display: none;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9999;
}

.modal-content {
    font-family: "Inter", serif !important;
    background: #2d3748;
    padding: 40px 50px 40px 50px;
    border-radius: 25px;
    text-align: center;
    width: 400px;
    max-width: 100%;
    box-sizing: border-box;
}

    .modal-content h1 {
        color: #fff;
        text-transform: uppercase;
        font-family: "Inter", serif !important;
        font-size: 12px;
    }


.modal-input {
    margin-top: 15px;
    padding: 10px;
    width: 100%;
}

#cancel-link {
    display: block;
    margin-top: 15px;
    text-decoration: none;
    color: #fafafa !important;
}

.remove-filter {
    color: #fafafa !important;
}

ul.devices a {
    color: #fafafa !important;
}

.cancel-dahsboard {
    margin-top: 0px !important;
}

.modal-content #confirm-button {
    margin-top: 20px;
}


tbody, td, tfoot, th, thead, tr {
    border-bottom: 0px !important;
}

table.dataTable.no-footer {
    border-bottom: 1px solid #E2E8F0 !important;
}


th {
    background-color: #f7fafc;
    font-size: 10px;
}

td {
    background-color: #fff !important;
    font-size: 14px !important;
    padding: 10px 17px !important;
}

.arrow-upac {
    position: absolute;
    right: 20px;
}

#upac-table {
    width: 100% !important;
    table-layout: auto;
}

    #upac-table a {
        color: #2E2E2E !important;
    }

.paginate_button {
    border-radius: 30px !important;
    background: #f7fafc !important;
    color: #000000 !important;
    border: 1px solid #f7fafc !important;
}

.filters-top a img {
    transition: .14s opacity ease-out;
}

.filters-top a:hover img {
    opacity: 0.7;
}

.alarms-settings button {
    padding: 0px 20px;
    height: 36px;
}

.alarms-settings img {
    padding: 3px 14px;
    border: 1px solid #dfdfdf;
    border-radius: 10px;
    margin: 0px 9px;
}

.dataTables_wrapper .dataTables_length, .dataTables_wrapper .dataTables_filter, .dataTables_wrapper .dataTables_info, .dataTables_wrapper .dataTables_processing, .dataTables_wrapper .dataTables_paginate {
    padding-left: 33px;
}

.dataTables_length {
    margin-bottom: 15px;
}

.dataTables_wrapper .dataTables_filter input {
    padding: 2px 9px !important;
    background-color: #edefed !important;
    border-radius: 10px !important;
}

.clear-selection {
    margin-left: 10px;
    cursor: pointer;
    font-size: 16px;
    color: white;
}

#selection-button {
    padding: 5px 15px;
    position: relative;
}

    #selection-button.selected {
        background-color: #3182CE; /* Cor quando há seleção */
        color: white;
    }

.alarms-container {
    padding: 0px 40px;
}


.list-row {
    border-top: 1px solid #e0e0e0;
    background-color: #f3f3f3;
    height: 40px;
}

.anomalia-titulo, .report-titulo {
    font-size: 14px;
    text-transform: uppercase;
    font-weight: bold;
    color: #718096;
}

.anomalia-estado, .report-titulo {
    font-size: 14px;
    color: #718096;
}

.switch {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 30px;
}

    .switch input {
        opacity: 0;
        width: 0;
        height: 0;
    }

.switch-col span {
    text-transform: uppercase;
    color: #718096;
    font-weight: bold;
    font-size: 14px;
    padding-left: 15px;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ebecf1;
    border: 2px solid #2E2E2E;
    transition: .4s;
    border-radius: 20px;
}

    .slider:before {
        position: absolute;
        content: "";
        height: 18px;
        width: 18px;
        left: 5px;
        bottom: 4px;
        background-color: #2E2E2E;
        transition: .4s;
        border-radius: 50%;
    }

input:checked + .slider {
    background-color: #2E2E2E;
}

    input:checked + .slider:before {
        transform: translateX(20px);
        background-color: #fff;
        height: 23px;
        width: 23px;
        left: 2px;
        bottom: 2px;
    }

.row-settings-alarm {
    border-bottom: 1px solid #E2E8F0;
}

.data-col {
    position: relative;
}

    .data-col button {
        position: absolute;
        right: 20px;
    }

    .data-col h3 {
        font-size: 14px;
        color: #718096;
        font-weight: bold;
        text-transform: uppercase;
    }

    .data-col .normal-text {
        padding-left: 11px;
    }

    .data-col .er-input {
        margin-left: 10px;
        margin-top: 10px;
        width: 50% !important;
    }

.normal-text {
    font-size: 14px !important;
    color: #718096 !important;
    font-weight: 300 !important;
    text-transform: none !important;
}

.mb-45px {
    margin-bottom: 45px;
}

.gray-button {
    background-color: #C3C5D5;
    font-size: 13px;
    font-weight: bold;
    color: #fff;
    border: 0px;
    border-radius: 7px;
    padding: 6px 40px;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: .14s ease-out;
}

    .gray-button:hover {
        background-color: #2d3748;
    }

.button {
    display: block;
    background-color: #2d3748;
    font-size: 13px;
    font-weight: bold;
    color: #fff;
    border: 0px;
    border-radius: 7px;
    padding: 7px 40px;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: .14s ease-out;
    text-align: center;
}

    .button:hover {
        background-color: #2d3748;
    }

.bar-buttons-col a {
    height: 34px;
    margin-top: 5px;
}

.user-box span {
    font-size: 13px;
    font-weight: bold;
}

.er-menu-button, .er-menu-button-upacs {
    cursor: pointer;
}

.menu-upac-list ul {
    list-style: none;
    padding: 0;
}

#er-menu-upacs .menu-upac-list {
    margin-left: -20px;
}

.menu-upac-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px;
    cursor: pointer;
}

.menu-upac-list .devices {
    margin-left: 20px;
    padding: 10px 0;
    padding: 0px 10px !important;
}

.arrow {
    width: 16px; /* Ajuste o tamanho da seta conforme necessário */
    height: 16px;
    transition: transform 0.3s; /* Suaviza a rotação da seta */
}

.arrow-wrapper .arrow {
    width: 10px;
    height: 16px;
    transition: transform 0.5s; /* Suaviza a rotação da seta */
}

.navbar {
    transition: all 0.3s ease-in-out;
}

.fixed-navbar {
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.8); /* Cor de fundo ao fixar */
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease-in-out;
}

.navbar {
    width: 100%;
    top: 0;
    left: 0;
    background-color: transparent;
    transition: all 0.3s ease-in-out;
}

.fixed-navbar {
    position: fixed;
    top: -50px; /* Começa um pouco acima */
    left: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
    animation: slideDown 0.3s ease-in-out forwards;
}

/* Animação para descer suavemente */
@keyframes slideDown {
    from {
        top: -50px;
    }

    to {
        top: 0;
    }
}

.devices a {
    text-transform: capitalize;
}

.user-options {
    position: absolute;
    top: 102%;
    right: 40px;
    background-color: #333;
    color: white;
    border-radius: 5px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    padding: 10px;
    width: 150px;
    z-index: 9999;
}

    .user-options ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .user-options li {
        padding: 10px;
        text-align: center;
    }

        .user-options li a {
            color: white !important;
            text-decoration: none !important;
            display: block;
        }

            .user-options li a:hover {
                background-color: #444 !important;
            }

.pointer {
    cursor: pointer;
}

#upac-devices-table th {
    padding: 10px;
    padding-left: 0px;
    font-size: 10px;
    color: #A0AEC0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

#upac-devices-table .device-id {
    font-size: 14px;
    font-weight: 700 !important;
    color: #718096 !important;
}

#upac-devices-table .device-row td {
    padding: 18px !important;
    padding-left: 0px !important;
    color: #718096;
    font-size: 14px;
}

.details-row td {
    padding: 0px !important;
}

.details-box {
    background-color: #EBECF1;
    padding: 30px 50px;
    font-size: 14px;
}

    .details-box .manual {
        border: 1px solid #CCCCCC;
        color: #0067FF !important;
        padding: 10px !important;
        border-radius: 8px;
    }

    .details-box label {
        padding-bottom: 5px;
    }

    .details-box .configuration-title {
        color: #2D3748;
        font-size: 14px;
        font-weight: 700;
        text-transform: uppercase;
    }

    .details-box ul {
        margin: 0;
        padding-left: 20px;
    }

    .details-box .panels-and-turbins {
        padding: 10px;
        margin-top: 20px;
    }

        .details-box .panels-and-turbins th {
            background-color: #FFFFFF;
            color: #000 !important;
        }

        .details-box .panels-and-turbins td {
            color: #718096;
            background-color: unset !important;
            border-bottom: 1px solid #fff !important;
            padding: 10px 0px !important;
        }

.panels-and-turbins .top-column {
    background-color: #FFFFFF94;
    padding: 10px;
}

.panels-and-turbins button {
    background-color: unset !important;
    font-size: 21px;
    font-weight: bold;
    color: #000000;
    border: 0px;
    float: right;
    border-radius: 7px;
    padding: 6px 15px;
    text-transform: uppercase;
    margin-top: -10px;
}

.panels-and-turbins a {
    color: #0067FF !important;
}

.details-row .details-box .panels-and-turbins .subtype-col {
    padding-left: 40px !important;
}

.panels-and-turbins .sub-devices-quantity span {
    padding-right: 20px;
}

.form-control:disabled {
    background-color: #fff !important;
    color: #A0AEC0;
    font-weight: 400;
}

/* Esconder a seta padrão */
.custom-dropdown select {
    appearance: none; /* Esconde a seta padrão */
    -webkit-appearance: none; /* Para navegadores Webkit (Chrome, Safari) */
    -moz-appearance: none; /* Para Firefox */
    padding-right: 30px; /* Dá espaço para a seta personalizada */
}

/* Estilo da caixa do select */
.custom-dropdown {
    position: relative;
}

    /* Estilo da seta personalizada */
    .custom-dropdown .dropdown-arrow {
        filter: brightness(0) saturate(100%) invert(12%) sepia(89%) saturate(2387%) hue-rotate(213deg) brightness(97%) contrast(93%);
        position: absolute;
        top: 53%;
        right: 10px;
        transform: translateY(-50%);
        width: 18px;
        height: 10px;
        pointer-events: none;
    }


/* Estilo para o campo de upload de ficheiro */
#manual {
    display: none; /* Esconde o input original */
}

.modal label {
    color: #fff;
}

.modal .form-group {
    text-align: left;
}

.modal input {
    margin-top: 0px !important;
    margin-bottom: 15px;
}

/* Container do drag and drop */
.file-upload {
    margin-bottom: 15px;
    width: 100%;
    padding: 20px;
    border: 2px dashed #007bff; /* Borda em estilo dashed */
    border-radius: 8px;
    text-align: center;
    background-color: #f9f9f9;
    color: #007bff;
    cursor: pointer;
    transition: background-color 0.3s, border-color 0.3s;
}

    .file-upload:hover {
        background-color: #e9f7ff;
        border-color: #0056b3;
    }

    .file-upload.drag-over {
        background-color: #e1f5fe;
        border-color: #0288d1;
    }

    /* Texto explicativo */
    .file-upload p {
        margin: 0;
        font-size: 14px;
    }

    /* Estilo para o ficheiro carregado */
    .file-upload .file-name {
        margin-top: 10px;
        color: #333;
        font-size: 14px;
    }

    /* Estilo para mostrar o nome do arquivo depois de ser carregado */
    .file-upload input[type="file"] {
        display: none;
    }


.create-subtype {
    opacity: 0.5;
    transition: .14s ease-out;
}

    .create-subtype:hover {
        cursor: pointer;
        opacity: 1;
    }

#device-creation-modal .modal-content {
    margin: 65px auto;
    width: 45%;
}

.password-container {
    position: relative;
}

.password-toggle {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    height: 30px;
    margin-top: -9px;
}

.file-upload label {
    color: #2E2E2E !important;
    cursor: pointer;
}


.header-text {
    text-align: right !important;
}

@media (max-width: 500px) {
    .header-text {
        text-align: left !important;
    }
}

.button-container {
    gap: 30px;
    display: flex;
    width: 750px;
}

@media (min-width: 1300px) {
    .button-container {
        width: 750px;
    }
}

/* Barra de rolagem para navegadores modernos (Webkit) */
::-webkit-scrollbar {
    width: 8px; /* Largura da barra de rolagem */
    height: 8px; /* Altura da barra de rolagem horizontal */
}

::-webkit-scrollbar-thumb {
    background-color: #2b437e; /* Cor do botão da barra de rolagem */
    border-radius: 0; /* Sem bordas arredondadas */
}

    ::-webkit-scrollbar-thumb:hover {
        background-color: #555; /* Cor quando o usuário passa o mouse sobre a barra de rolagem */
    }

::-webkit-scrollbar-track {
    background: #2D3748; /* Cor do fundo da barra de rolagem */
    border-radius: 0; /* Sem bordas arredondadas */
}

/* Barra de rolagem para navegadores Firefox */
scrollbar {
    width: 8px;
    height: 8px;
}

scrollbar-thumb {
    background-color: #2b437e;
    border-radius: 0;
}

    scrollbar-thumb:hover {
        background-color: #555;
    }

scrollbar-track {
    background: #2D3748;
    border-radius: 0;
}

.graphics {
    display: none;
    background-color: #fff;
    padding: 45px;
    border-radius: 20px;
}

    .graphics .custom-checkbox {
        float: left !important;
        padding-top: 10px;
    }

    .graphics #graphic-title {
        color: #A0AEC0;
        font-weight: bold;
        font-size: 18px;
        letter-spacing: 1px;
    }

.custom-select-arrow {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg fill="white" height="20" viewBox="0 0 24 24" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1rem;
    padding-right: 2rem; /* Espaço para a seta */
}

.dropdown-toggle::after {
    float: right;
    margin-top: 6px;
}

.dashboard-graphics h2 {
    color: #000;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 0.8vw;
}

.dashboard-graphics h5 {
    text-align: center;
    color: #A0AEC0;
    font-size: 0.9vw;
    height: 50px;
    font-weight: bold;
}

.dashboard-graphics .col-2 {
    padding: 0px 30px;
}

.dashboard-map-column {
    display: flex;
    flex-direction: column;
}

/* A classe .loading-content ficará oculta enquanto o spinner estiver visível */
.loading-content {
    display: none;
}

#loading-spinner {
    display: flex; /* Spinner é inicialmente escondido */
}

#remove-upac-button {
    display: none;
}


.pi-search input {
    border: 1px solid #8477A5 !important;
    border-radius: 11px;
    color: #8477A5 !important;
    padding: 20px 20px !important;
    font-weight: bold;
    font-size: 13px;
}

.pi-search label {
    margin-top: 10px;
    font-weight: bold;
    font-size: 12px;
}


.pi-graphics h3 {
    color: #A0AEC0;
    font-size: 18px;
    font-weight: bold;
    height: 50px;
}

.group-graphics h3 {
    color: #A0AEC0;
    font-size: 18px;
    font-weight: bold;
    height: 50px;
}


#upac-main-graphics #upac-graphics {
    display: none;
}

#modal-users .modal-content {
    width: 600px;
}

#modal-users span {
    font-size: 14px;
}

#modal-users h1 {
    font-size: 18px;
}

.input-erro {
    border: 2px solid red !important;
    border-radius: 4px;
    background-color: #fff0f0;
}

#hidden-data {
    display: none;
}

#devices-diagram {
    display: none;
}

#user-info-box {
    margin-top: 20px;
    background-color: #fff;
    padding: 10px;
}

.blue-title {
    font-size: 17px;
    color: #0f2f7e;
    font-weight: bold;
}

.column-divider {
    border-left: 1px solid #ccc;
}

.no-data-message {
    position: absolute;
    left: 0;
    right: 0;
    top: 60px;
    color: #999;
    font-style: italic;
    padding: 40px 0;
    text-align: center;
}

.home-link a {
    color: white !important;
    text-decoration: none !important;
}

    .home-link a:hover {
        text-decoration: underline !important;
    }

#btn-mark-as-resolved:disabled {
    opacity: 0.5;
}

.blinking {
    animation: blink 1s infinite;
}

.delay {
    animation-delay: .5s;
}

@keyframes blink {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.offline {
    width: 32px;
    height: 32px;
    background-image: url('/energyring/images/icons/offline.png');
    background-size: cover;
}

.anomalia {
    width: 32px;
    height: 32px;
    background-image: url('/energyring/images/icons/anomalia.png');
    background-size: cover;
}

.produção, .emproducao {
    width: 32px;
    height: 32px;
    background-image: url('/energyring/images/icons/produção.png');
    background-size: cover;
}

.online {
    width: 32px;
    height: 32px;
    background-image: url('/energyring/images/icons/online.png');
    background-size: cover;
}

.red {
    color: red;
}

.yellow {
    color: #ffa700;
}

.gray-link {
    color: #979797 !important;
    font-size: 14px;
}

.footer-fixed {
    position: fixed;
    bottom: 0;
    left: 0px;
    z-index: 9999;
    background-color: #fff;
    width: 100%;
}

.a4 {
    width: 794px;
    margin: 0 auto;
}

/* cada gráfico com altura fixa para evitar “pulo”/corte */
.chart-wrap {
    height: 380px;
    position: relative;
}

/* quebras de página previsíveis */
.page-break {
    page-break-before: always;
    break-before: page;
}

@media print {
    /* remova sombras/transform, que quebram renderização */
    * {
        box-shadow: none !important;
        transform: none !important;
    }
}

.prod-eu {
    font-size: 9px;
    margin-left: 55px;
    margin-top: -12px;
    position: absolute;
    font-weight: bold;
}

.rede-eu {
    font-size: 9px;
    margin-left: 159px;
    margin-top: 165px;
    position: absolute;
    font-weight: bold;
}

.consumo-eu {
    font-size: 9px;
    margin-left: -31px;
    margin-top: 165px;
    position: absolute;
    font-weight: bold;
}


//
// Tabs
//

.nav-tabs {
    border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;
    .nav-link

{
    margin-bottom: -$nav-tabs-border-width;
    background: none;
    border: $nav-tabs-border-width solid transparent;
    @include border-top-radius($nav-tabs-border-radius);
    &:hover, &:focus

{
    border-color: $nav-tabs-link-hover-border-color;
    // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link isolation: isolate;
}

&.disabled {
    color: $nav-link-disabled-color;
    background-color: transparent;
    border-color: transparent;
}

}

.nav-link.active,
.nav-item.show .nav-link {
    color: $nav-tabs-link-active-color;
    background-color: $nav-tabs-link-active-bg;
    border-color: $nav-tabs-link-active-border-color;
}

.dropdown-menu {
    // Make dropdown border overlap tab border margin-top: -$nav-tabs-border-width;
    // Remove the top rounded corners here since there is a hard edge above the menu @include border-top-radius(0);
}

}


.data-col .nav button {
    position: relative !important;
    right: 0px !important;
}

.subdevice-options {
    position: absolute;
    top: 102%;
    right: 40px;
    background-color: #333;
    color: white;
    border-radius: 5px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    padding: 10px;
    width: 150px;
    z-index: 9999;
}

    .subdevice-options li a {
        color: white !important;
        text-decoration: none !important;
        display: block;
    }


.select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__remove {
    position: relative;
    margin-left: 1em;
    margin-righ: 0;
}