@import url('https://fonts.googleapis.com/css2?family=Poppins&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

/* ═══════════════════════════════════════════════════════
   DESIGN TOKENS — light mode (default)
   ═══════════════════════════════════════════════════════ */
:root {
    --dm-bg:           #F7FAFC;
    --dm-bg-2:         #ffffff;
    --dm-surface:      #ffffff;
    --dm-surface-2:    #f0f4f8;
    --dm-border:       #e2e8f0;
    --dm-text:         #1a202c;
    --dm-text-muted:   #718096;
    --dm-nav-bg:       #ffffff;
    --dm-nav-border:   #e2e8f0;
    --dm-input-bg:     #f7fafc;
    --dm-card-bg:      #ffffff;
    --dm-card-shadow:  0 1px 8px rgba(0,0,0,.08);
    --dm-modal-bg:     #ffffff;
    --dm-switch-bg:    #d6d6d6;
    --dm-switch-color: #616161;
    --dm-accent:       #4d7cf5;
    --dm-dropdown-bg:  #ffffff;
    --dm-dropdown-hover: #f0f4f8;
    --dm-form-bg:      #cbcbcb3b;
    --dm-form-color:   #1a202c;
}

/* ── Dark mode overrides ── */
body[data-isDarkmode="true"] {
    --dm-bg:           #1b202b;
    --dm-bg-2:         #151821;
    --dm-surface:      #151821;
    --dm-surface-2:    #1e2535;
    --dm-border:       #222630;
    --dm-text:         #e6e6e6;
    --dm-text-muted:   #ffffffb0;
    --dm-nav-bg:       #151821;
    --dm-nav-border:   #222630;
    --dm-input-bg:     #1e2535;
    --dm-card-bg:      #151821;
    --dm-card-shadow:  0 1px 8px rgba(0,0,0,.35);
    --dm-modal-bg:     #151821;
    --dm-switch-bg:    #1e2535;
    --dm-switch-color: #9aa4b2;
    --dm-accent:       #4d7cf5;
    --dm-dropdown-bg:  #1a1f2e;
    --dm-dropdown-hover: #2d3349;
    --dm-form-bg:      #1e212b;
    --dm-form-color:   #e6e6e6;
}

/* Troca de tema instantânea — sem transição de cor (suavidade via JS rAF) */

body {
    font-family: "Cantarell", sans-serif;
    letter-spacing: .4px;
}

a {
    text-decoration: none !important;
    color: inherit;
}

.centerVertical {
    margin-top: auto;
    margin-bottom: auto;
}

.flex{
    display: flex;
}

.menu {
    background: radial-gradient(circle, rgba(0, 104, 165, 1) 0%, rgba(0, 75, 119, 1) 55%, rgba(0, 75, 119, 1) 100%);
    color: #ccc;
    padding-bottom: 1em;
}

.span_dot {
    position: absolute;
    left: -2;
    top: -2;
}

.span_dot.new {
    color: #fbc30b;
}

.span_dot.allow {
    color: #85c174;

}

.span_dot.deny {
    color: #ed4141;
}

.dropleft .dropdown-toggle::before {
    position: absolute;
    top: 20px;
    left: 5px;
}

.popover-content button {
    color: rgba(33, 33, 33, 0.66);
    z-index: 12;
    position: relative;
    background: none;
    border: none;
    text-align: center;
    margin: .5em;
    z-index: 9999;
    transition: .2s ease;

}

.popover-content button:hover {
    color: rgba(255, 255, 255, 0.96) !important;

}

.popover-content:before {
    position: absolute;
    z-index: -1;
    content: "";
    right: calc(100% - 10px);
    top: 15px;
    border-style: solid;
    border-width: 0 10px 10px 10px;
    border-color: transparent transparent #b5b5b5 transparent;
    transition-duration: 0.3s;
    transform: rotate(-90deg);
    transition-property: transform;
}

.popover-btn {
    z-index: 11;
    position: absolute;
    right: 0;
    top: 0;
    background: none;
    border: none;
    padding: 0px 10px;
    font-size: 16px;
    color: #9191919f;
    transition: .3s ease;
}

.popover-btn:hover {
    color: #2a2929;
}

.admin[data-isDarkmode="true"] .popover-btn:hover {
    color: #ffffff;
}



.popover-content {
    display: none;
    position: absolute;
    right: -170px;
    top: 0;
    width: 150px;
    background-color: #b5b5b5;
    box-shadow: 0 0 15px rgba(62, 62, 62, 0.281);
    padding: 10px;
    border-radius: 5px;
    z-index: 12;
    animation: fadeIn .2s ease-in-out;
    -webkit-animation: fadeIn .2s ease-in-out;
}

.popover-btn.active+.popover-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}


.btn-primary {
    background-color: #314D82 !important;
    transition: .5s;
}

.mt-10 {
    margin-top: 12px;
}

#tableArquivos tbody tr:hover {
    background-color: rgba(210, 210, 210, 0.5);
}

.loader {
    border: 6px solid #a3a3a300;
    /* Light grey */
    border-top: 6px solid #3498db;
    border-bottom: 6px solid #3498db;
    /* Blue */
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin 2s linear infinite;
    position: fixed;
    background-size: cover;
    background-color: #16161611;
    z-index: 3;
    top: 50%;
    left: 50%;
}

.loader.error {
    color: #fff;
    border-top: 6px solid #c01010 !important;
    border-bottom: 6px solid #c01010 !important;
    background-color: #c01010 !important;
    border-radius: 5% !important;
    width: auto;
    height: auto;
    padding: 10px;
    box-shadow: 0px 0px 10px #c01010;
    left: 48%;
    transition: all .3s ease-in-out !important;
    animation: spin 1s linear;
}

.loader.green {
    color: #fff;
    border-top: 6px solid #30c712 !important;
    border-bottom: 6px solid #30c712 !important;
    background-color: #30c712 !important;
    border-radius: 5% !important;
    width: auto;
    height: auto;
    padding: 10px;
    box-shadow: 0px 0px 50px green;
    left: 48%;
    transition: all .3s ease-in-out !important;
    animation: spin 1s linear;
}

.loading {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 10000;
    background-color: #000000b3;
    transition: all .5s ease-in-out !important;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.custom-control-label::before,
.custom-file-label,
.custom-select {
    margin-right: 5px;
    margin-left: 5px;
}

.material-icons {
    vertical-align: middle;
}

.m-50 {
    margin-top: 30px;
}

.form-control {
    background: var(--dm-form-bg);
    color: var(--dm-form-color);
    border: 1px solid var(--dm-border);
    border-radius: 7px;
    padding: 6px 12px;
    height: 38px;
    font-size: .875rem;
    transition: border-color .15s ease, box-shadow .15s ease;
}

textarea.form-control {
    height: auto;
    min-height: 80px;
    padding: 8px 12px;
    resize: vertical;
}


select.form-control,
.select.form-control {
    height: 38px;
    padding: 6px 32px 6px 12px;
    border-radius: 7px;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16'%3E%3Cpath fill='%239aa4b2' d='M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    cursor: pointer;
}

select.form-control.new-login {
    height: 38px;
    padding: 6px 32px 6px 12px;
    border-radius: 7px;
}

select.form-control#level_user {
    height: 38px;
    padding: 6px 32px 6px 12px;
    border-radius: 7px;
}

/* filter selects replaced by saas-filter-drop dropdowns */

.form-control:active,
.form-control:focus {
    outline: none;
    border-color: var(--dm-accent);
    -webkit-box-shadow: 0 0 0 3px rgba(49,130,206,.15);
    box-shadow: 0 0 0 3px rgba(49,130,206,.15);
}

.col-form-label {
    color: var(--dm-text);
    font-size: 13px;
}

.btn {
    border-radius: 0;
}

.custom-select {
    background: var(--dm-form-bg);
    color: var(--dm-form-color);
    border: 1px solid var(--dm-border);
    border-radius: 7px;
    padding: 6px 32px 6px 12px;
    height: 38px;
    font-size: .875rem;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.custom-select:active,
.custom-select:focus {
    outline: none;
    border-color: var(--dm-accent);
    -webkit-box-shadow: 0 0 0 3px rgba(49,130,206,.15);
    box-shadow: 0 0 0 3px rgba(49,130,206,.15);
}

.btn {
    border: none;
    border-radius: 0;
    font-size: 14px;
    border-radius: 5px !important;
    transition: .2s;
    padding: 10px 20px 10px 20px;
}


.status {
    display: flex;
    flex-direction: column;
}


.btn.btn-primary {
    border-radius: 20px;
    background: #24375e;
    color: #fff;
}


.btn:active,
.btn:focus {
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.contact-wrap {
    -webkit-box-shadow: 0 0px 20px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0px 20px 0 rgba(0, 0, 0, 0.2);
    background: #fff;
}

.contact-wrap .col-form-label {
    font-size: 14px;
    color: #161616;
    margin: 0 0 10px 0;
    display: inline-block;
    padding: 0;
}

.contact-wrap .form,
.contact-wrap .contact-info {
    padding: 40px;
}

.contact-wrap .contact-info {
    color: rgba(255, 255, 255, 0.5);
}

.contact-wrap .contact-info ul li {
    margin-bottom: 15px;
    color: rgba(255, 255, 255, 0.5);
}

.contact-wrap .contact-info ul li .wrap-icon {
    font-size: 20px;
    color: #fff;
    margin-top: 5px;
}

.contact-wrap .form {
    background: #fff;
}

.contact-wrap .form h3 {
    color: #000;
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 30px;
}

.contact-wrap .contact-info {
    height: 100vh;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.contact-wrap .contact-info a {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

@media (max-width: 1199.98px) {
    .contact-wrap .contact-info {
        height: 400px !important;
    }
}

.contact-wrap .contact-info h3 {
    color: #fff;
    font-size: 20px;
    margin-bottom: 30px;
}

label.error {
    font-size: 12px;
    color: red;
}

#message {
    resize: vertical;
}

#form-message-warning,
#form-message-success {
    display: none;
}

#form-message-warning {
    color: #B90B0B;
}

#form-message-success {
    color: #55A44E;
    font-size: 18px;
    font-weight: bold;
}

.submitting {
    float: left;
    width: 100%;
    padding: 10px 0;
    display: none;
    font-weight: bold;
    font-size: 12px;
    color: #000;
}


.card-text {
    color: #8a8989
}


.sans {
    font-family: 'Helvetica';
}


.divider-modern {
    position: relative;
    height: 1px;
    width: 100%;
    background: #d3d3d6;
}

.divider-modern::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 45px;
    background: #2F4F4F;
}

.fonte {
    color: #1e212b;
    font-size: 1.2rem;
    font-weight: 600;
}

@media (min-width: 576px) {
    html {
        font-size: .7rem;
    }
}

@media (min-width: 1500px) {
    html {
        font-size: .8rem;
    }
}

@media (min-width: 1800px) {
    html {
        font-size: 1rem;
    }
}

.btn-sec:hover {
    color: rgb(129, 128, 128);
}

.popover__title {
    color: rgb(44, 44, 44);
    text-decoration: none;
    text-align: left;
}

.popover__wrapper {
    position: relative;
    display: inline-block;
}

.popover__content {
    top: 70px;
    opacity: 0;
    visibility: hidden;
    position: absolute;
    left: -10px;
    transform: translate(0, 10px);
    background-color: hsl(190, 15%, 92%);
    padding: 1rem;
    box-shadow: 0 2px 5px 0 rgb(0 0 0 / 18%);
    width: auto;
    max-width: 500px;
    border-radius: 5px;
}

.popover__content:before {
    position: absolute;
    z-index: -1;
    content: "";
    right: calc(50% - 10px);
    top: -8px;
    border-style: solid;
    border-width: 0 10px 10px 10px;
    border-color: transparent transparent hsl(0, 0%, 93%) transparent;
    transition-duration: 0.3s;
    transition-property: transform;
}

img .popover__content:before {
    max-width: 200px;
}

.popover__wrapper:hover .popover__content {
    z-index: 10;
    opacity: 1;
    visibility: visible;
    transform: translate(0, -20px);
    transition: all 0.5s cubic-bezier(0.75, -0.02, 0.2, 0.97);
}

.popover__message {
    text-align: center;
}

.tools_btn {
    display: flex;
    align-items: center;
    justify-content: center;
}

.tools_btn .botinho {
    padding: 0px .3em;
}

.botinho {

    transition: all 0.1s;
    z-index: 1;
}

.botinho:hover {
    transform: scale(1.1);
}

.alarme {
    z-index: 1;
    animation: fadeIn 1s infinite alternate;
    -webkit-animation: fadeIn 1s infinite alternate;
}

@keyframes fadeIn {
    0% {
        opacity: .2;
    }

    100% {
        opacity: 1;
    }
}

.fadeInRight {
    position: relative;
    z-index: 1;
    animation: intro 1s;
    -webkit-animation: intro 1s;
}

@keyframes intro {
    0% {
        left: -100px;
        opacity: .2;
    }

    100% {
        left: 0;
        opacity: 1;
    }
}

.fadeInRight2 {
    position: relative;
    animation: intro2 1.5s;
    -webkit-animation: intro2 1.5s;
}

@keyframes intro2 {
    0% {
        left: -100px;
        opacity: 0;
    }

    100% {
        left: 0;
        opacity: 1;
    }
}

.fadeInRight3 {
    position: relative;
    animation: intro3 1.5s;
    -webkit-animation: intro3 1.5s;
}

@keyframes intro3 {
    0% {
        left: -100px;
        opacity: 0;
    }

    50% {
        left: -100px;
        opacity: 0;
    }

    100% {
        left: 0;
        opacity: 1;
    }
}


.max-width {
    width: auto;
    justify-content: center;
    display: flex;
}

#imgPhoto {
    width: 200px;
    height: 200px;
    padding: 7px;
    background-color: #eeeeee26;
    border-radius: 50%;
    cursor: pointer;
    transition: all .3s ease-in-out;
}

#imgPhoto:hover {
    background-color: rgba(180, 180, 180, 0.568);
    opacity: .8;
}

.category-tags {
    display: flex;
    justify-self: flex-end;
}

.category {
    padding: 8px 14px;
    border-radius: 20px;
    background: linear-gradient(to right, #fadb54 0%, #e9ad09 100%);
    color: #363636;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.5px;
}

.divider {
    margin-top: 0;
    margin-bottom: 0;
    border: none;
    height: 1px;
    width: 100%;
    background-color: #e8e8e8;
}

.divider-small {
    display: block;
    font-size: 0;
    line-height: 0;
}

.divider-small::before {
    content: '';
    display: inline-block;
    height: 3px;
    width: 59px;
    background: #2F4F4F;
}

.divider-medium {
    display: block;
    font-size: 0;
    line-height: 0;
}

.divider-medium::before {
    content: '';
    display: inline-block;
    height: 1px;
    width: 90%;
    margin: 5%;
    background: #dbdddf59;
}



.badge_ {
    background-color: transparent;
    top: -15%;
    left: 90%;
}

.fadeInRight {
    position: relative;
    z-index: 1;
    opacity: 0;
    animation: fadeIn 1s ease-in-out forwards;
    -webkit-animation: fadeIn 1s ease-in-out forwards;
}

@keyframes fadeIn {
    0% {
        left: -100px;
        opacity: 0;
    }

    100% {
        left: 0;
        opacity: 1;
    }
}

.fadeInRight2 {
    position: relative;

    z-index: 1;
    animation: fadeIn2 1.5s;
    -webkit-animation: fadeIn2 1.5s;
}

@keyframes fadeIn2 {
    0% {
        left: -100px;
        opacity: 0;
    }

    25% {
        left: -100px;
        opacity: 0;
    }

    100% {
        left: 0;
        opacity: 1;
    }
}

.fadeTop1 {
    position: relative;

    z-index: 1;
    animation: fadetop 1s;
    -webkit-animation: fadetop 1s;
}

@keyframes fadetop {
    0% {
        top: 70px;
        opacity: 0;
    }

    100% {
        top: 0;
        opacity: 1;
    }
}

.fadeTop2 {
    position: relative;

    z-index: 1;
    animation: fadetop 1.25s;
    -webkit-animation: fadetop 1.25s;
}

@keyframes fadetop {
    0% {
        top: 70px;
        opacity: 0;
    }

    100% {
        top: 0;
        opacity: 1;
    }
}

.fadeTop3 {
    position: relative;

    z-index: 1;
    animation: fadetop 1.5s;
    -webkit-animation: fadetop 1.5s;
}

.fadeTop4 {
    position: relative;

    z-index: 1;
    animation: fadetop 1s;
    -webkit-animation: fadetop4 1s;
}

@keyframes fadetop4 {
    0% {
        top: 30px;
        opacity: 0;
    }

    100% {
        top: 0;
        opacity: 1;
    }
}

.fadeDown {
    position: relative;
    z-index: 1;
    animation: intro 1s;
    -webkit-animation: fadedown 1s;
}

@keyframes fadedown {
    0% {
        bottom: 30px;
        opacity: 0;
    }

    100% {
        bottom: 0;
        opacity: 1;
    }
}

.reveal {
    position: relative;
    opacity: 0;
}

.reveal.active {
    opacity: 1;
}

.active.fade-bottom {
    animation: fade-bottom .7s ease-in-out forwards;

}

@keyframes fade-bottom {
    0% {
        transform: translateY(30px);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}


.branco a {
    color: rgb(182, 182, 182);
    display: flex;
    align-items: center;
    text-decoration: none;
}

.branco a i {
    position: relative;
    transition: color .15s ease;
}

.branco a p {
    /* margin-left: 2rem; */
    margin-bottom: 0;
}

.branco:hover a i {
    animation: swing .5s alternate;
}

@keyframes swing {
    0% {
        transform: rotate(0deg);
    }

    25% {
        transform: rotate(-12deg);
    }

    50% {
        transform: rotate(12deg);
    }

    75% {
        transform: rotate(-12deg);
    }

    100% {

        transform: rotate(0deg);
    }
}

.branco:hover a {
    color: #ffffff;
    text-decoration: none;

}



.alarme-pc {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(194, 19, 7, 0.2);
    z-index: 0;
    animation: alarmes 1s infinite alternate;
    -webkit-animation: alarmes 1s infinite alternate;
}

@keyframes alarmes {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 0.8;
    }
}

.check {
    cursor: pointer;
    color: #3c3838c9;
    transition: .2s ease-in-out;

}

.check:hover {
    color: #262424;
}

body[data-isDarkmode="true"] .check {
    color: #ffffffc9;
}

body[data-isDarkmode="true"] .check:hover {
    color: #fff;
}

.risco {
    transition: .2s ease-in-out;
    text-decoration: line-through;
    color: #8a898965;
}

body[data-isDarkmode="true"] .risco {
    color: #8e8e8ea7;
}


.filtro {
    color: white;
}

.topline {
    height: 3px;
    width: 100%;
    background: linear-gradient(to right, #55A44E 0%, #B90B0B 100%);
    position: absolute;
    top: 0%;
    left: 0;
}


.topline-blue {
    height: 3px;
    width: 100%;
    background: linear-gradient(to right, #21b7dc 0%, #f3ba1f 100%);
    position: absolute;
    top: 0%;
    left: 0;
    border-radius: 2px 2px 0 0;

}


/* Body usa variáveis — sem seletor de darkmode hardcoded */
body.admin {
    background: var(--dm-bg);
    color: var(--dm-text);
}

body[data-isDarkmode="true"] .col-form-label {
    color: var(--dm-text-muted) !important;
}

body[data-isDarkmode="true"] .close {
    color: var(--dm-text);
}

body[data-isDarkmode="true"] .contact-form input[type="text"],
body[data-isDarkmode="true"] .contact-form input[type="tel"],
[data-isDarkmode="true"] .contact-form input[type="email"],
[data-isDarkmode="true"] .contact-form textarea {
    color: var(--dm-text);
    border: 0px #ddd;
    background-color: var(--dm-input-bg);
    border-radius: 5px;
}

input[type="date"] {
    border-radius: 7px;
    padding: 6px 12px;
}

body[data-isDarkmode="true"] .form-control {
    border-color: var(--dm-border);
    color: var(--dm-text);
    background-color: var(--dm-input-bg);
}

.form-group :focus-visible,
.form-group :focus {
    outline: none;
    border-color: var(--dm-accent) !important;
    box-shadow: 0 0 0 3px rgba(49,130,206,.15) !important;
}

body[data-isDarkmode="true"] .switch {
    background-color: var(--dm-switch-bg);
    color: var(--dm-switch-color);
}

.chamado {
    background: rgba(0, 0, 0, .03);
}

.chamado p,
.chamado .filtro {
    color: #30303049;
    cursor: pointer;
}

.chamado .filtro:hover {
    cursor: pointer;
    color: #303030af;
    text-decoration: none;
}

body[data-isDarkmode="true"] .chamado p,
body[data-isDarkmode="true"] .chamado .filtro {
    color: #ffffff49;
}

body[data-isDarkmode="true"] .chamado .filtro:hover {
    color: #ffffff9d;
}

.user {
    box-shadow: var(--dm-card-shadow);
    border: none;
}

.user:hover {
    box-shadow: 0 0 10px #2e2e2e37;
}

.id {
    color: #e9ad09;
}

body[data-isDarkmode="true"] .user,
body[data-isDarkmode="true"] .chamado {
    background: var(--dm-surface);
}

.card {
    border: none;
    box-shadow: var(--dm-card-shadow);
}

body[data-isDarkmode="true"] .card {
    background: var(--dm-card-bg);
    color: var(--dm-text);
}

body[data-isDarkmode="true"] .card-header {
    background: var(--dm-surface);
    background-image: none;
}

body[data-isDarkmode="true"] .fonte {
    color: var(--dm-text) !important;
}

body[data-isDarkmode="true"] .popover__title {
    color: var(--dm-text-muted);
}

body[data-isDarkmode="true"] .popover__content {
    background-color: var(--dm-surface-2);
}

body[data-isDarkmode="true"] .popover__content:before {
    border-color: transparent transparent var(--dm-surface-2) transparent;
}


.options {
    max-height: 50vh;
    overflow-y: scroll;
    overflow-x: hidden;
}

.filiais_card p {
    margin: 0;
}

.filiais_card.card-header:hover {
    background: #4583ed;
    cursor: pointer;
}

.admin-stats {
    border-radius: 10px;
    overflow: hidden;

}

/* ══════════════════════════════════════════
   SIDEBAR — modern dashboard nav
   ══════════════════════════════════════════ */

:root {
    --sidebar-w-open:   220px;
    --sidebar-w-closed: 64px;
}

.sidebar {
    flex: 0 0 var(--sidebar-w-closed);
    max-width: var(--sidebar-w-closed);
    transition: flex .28s cubic-bezier(.4,0,.2,1),
                max-width .28s cubic-bezier(.4,0,.2,1);
}

.sidebar[data-isToggle="false"] {
    flex: 0 0 var(--sidebar-w-open);
    max-width: var(--sidebar-w-open);
}

.coluna-content {
    flex: 1;
    min-width: 0;
}

/* ── Panel ── */
.sidebar-nav {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: var(--sidebar-w-closed);
    display: flex;
    flex-direction: column;
    background: var(--dm-nav-bg);
    border-right: 1px solid var(--dm-nav-border);
    overflow: hidden;
    transition: width .28s cubic-bezier(.4,0,.2,1);
    z-index: 100;
}

.sidebar[data-isToggle="false"] .sidebar-nav {
    width: var(--sidebar-w-open);
}

/* ── Header ── */
.sidebar-header {
    display: flex;
    align-items: center;
    height: 56px;
    padding: 0 12px;
    flex-shrink: 0;
    border-bottom: 1px solid var(--dm-nav-border);
}

.sidebar-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    overflow: hidden;
    flex: 1;
    min-width: 0;
    padding-left: 2px;
}

.brand-icon {
    width: 26px;
    height: 20px;
    flex-shrink: 0;
    color: var(--dm-accent);
}

.brand-name {
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--dm-text);
    white-space: nowrap;
    opacity: 1;
    transform: translateX(0);
    transition: opacity .2s ease .05s, transform .2s ease .05s;
}

.sidebar[data-isToggle="true"] .brand-name {
    opacity: 0;
    transform: translateX(-6px);
    pointer-events: none;
    width: 0;
    overflow: hidden;
}

/* ── Toggle button — flutua na borda direita do sidebar ── */
.sidebar-toggle {
    position: fixed;
    top: 16px;
    /* expanded: borda direita do sidebar (220px) menos metade do botão (14px) */
    left: calc(var(--sidebar-w-open) - 14px);
    z-index: 200;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid var(--dm-nav-border);
    background: var(--dm-nav-bg);
    color: var(--dm-text-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,.25);
    transition: left .28s cubic-bezier(.4,0,.2,1),
                background .15s ease,
                color .15s ease;
}

/* Collapsed: borda direita do sidebar (64px) menos metade do botão (14px) */
.sidebar[data-isToggle="true"] .sidebar-toggle {
    left: calc(var(--sidebar-w-closed) - 14px);
}

.sidebar-toggle:hover {
    background: var(--dm-surface-2);
    color: var(--dm-text);
}

.sidebar-toggle i {
    font-size: .72rem;
    transition: transform .28s cubic-bezier(.4,0,.2,1);
}

.sidebar[data-isToggle="true"] .sidebar-toggle i {
    transform: rotate(180deg);
}

/* ── Body ── */
.sidebar-body {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 8px 0;
    scrollbar-width: none;
}

.sidebar-body::-webkit-scrollbar { display: none; }

/* ── Nav groups ── */
.nav-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0 8px;
}

.nav-divider {
    height: 1px;
    background: var(--dm-nav-border);
    margin: 10px 16px;
}

/* ── Nav items ── */
.nav-item {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 38px;
    padding: 0 8px 0 9px;
    border-radius: 7px;
    color: var(--dm-text-muted);
    font-size: .82rem;
    font-weight: 500;
    white-space: nowrap;
    text-decoration: none;
    /* padding-left animates smoothly — no layout jump */
    transition: background .15s ease, color .15s ease,
                padding-left .28s cubic-bezier(.4,0,.2,1);
    position: relative;
}

.nav-item:hover {
    background: var(--dm-surface-2);
    color: var(--dm-text);
}

.nav-item.active {
    background: var(--dm-surface-2);
    color: var(--dm-text);
}

.nav-item.active .nav-icon {
    color: var(--dm-accent);
}

.nav-icon {
    font-size: 1rem;
    flex-shrink: 0;
    width: 20px;
    text-align: center;
    transition: color .15s ease;
}

.nav-label {
    opacity: 1;
    transform: translateX(0);
    transition: opacity .18s ease .04s, transform .18s ease .04s;
    overflow: hidden;
    white-space: nowrap;
}

.sidebar[data-isToggle="true"] .nav-label {
    opacity: 0;
    transform: translateX(-4px);
    pointer-events: none;
    width: 0;
}

/* Collapsed: slide icon to center via padding-left (animatable, no jump) */
/* nav-group padding 0 8px → item width = 48px. (48−20)/2 = 14px */
.sidebar[data-isToggle="true"] .nav-item {
    padding-left: 14px;
}

.sidebar[data-isToggle="true"] .nav-divider {
    margin: 10px 10px;
}

/* ── Nav add-new CTA ── */
.nav-item-new {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 36px;
    padding: 0 8px 0 9px;
    border-radius: 7px;
    border: 1.5px dashed color-mix(in srgb, var(--dm-accent) 50%, transparent);
    color: var(--dm-accent);
    font-size: .8rem;
    font-weight: 600;
    white-space: nowrap;
    text-decoration: none;
    transition: background .15s ease, border-color .15s ease, color .15s ease,
                padding-left .28s cubic-bezier(.4,0,.2,1);
}

.nav-item-new:hover {
    background: color-mix(in srgb, var(--dm-accent) 12%, transparent);
    border-color: var(--dm-accent);
    border-style: solid;
    color: var(--dm-accent);
}

.nav-item-new .nav-icon {
    font-size: 1rem;
    flex-shrink: 0;
    width: 20px;
    text-align: center;
}

.sidebar[data-isToggle="true"] .nav-item-new {
    padding-left: 14px;
}

/* ── Theme toggle (topbar) ── */
.theme-toggle {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 1px solid var(--dm-nav-border);
    background: transparent;
    color: var(--dm-text-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: .9rem;
    padding: 0;
    transition: background .15s ease, color .15s ease;
}

.theme-toggle:hover {
    background: var(--dm-surface-2);
    color: var(--dm-text);
}


/* compat: saas-theme still references these */
.switchCont { cursor: pointer; }

.coluna-nav[data-isToggle="false"] .nav-extra {
    overflow-y: auto;
}


body[data-isDarkmode="true"] table {
    background: transparent;
    color: var(--dm-text);
}

.equip th {
    border: none !important;
    border-bottom: 1px solid hsl(0deg 0% 49.29% / 11.6%);
}

body[data-isDarkmode="true"] .equip th,
body[data-isDarkmode="true"] td {
    border: 1px solid var(--dm-border);
}

.btn:hover {
    color: hsl(0, 0%, 48%);
    transition: ease-in-out .2s;
}

body[data-isDarkmode="true"] .btn:hover {
    color: hsl(0, 0%, 100%) !important;
}

body[data-isDarkmode="true"] .btn {
    color: hsl(0, 0%, 81%) !important;
}

.modal-content {
    background-color: var(--dm-modal-bg);
    color: var(--dm-text);
    border: 1px solid var(--dm-border);
}

.modal-header,
.modal-footer {
    border: none !important;
}

.list-group-item {
    background: var(--dm-surface);
    color: var(--dm-text) !important;
    border-color: var(--dm-border);
}

body[data-isDarkmode="true"] .filiais div a {
    color: #3498db;
}

.botao_verde {
    color: rgb(22, 129, 7);
}

body[data-isDarkmode="true"] .botao_verde {
    color: rgb(34, 201, 117);
}

/* ── Dark mode: content area overrides ── */
body[data-isDarkmode="true"] input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
body[data-isDarkmode="true"] textarea,
body[data-isDarkmode="true"] select,
body[data-isDarkmode="true"] .form-control,
body[data-isDarkmode="true"] .custom-select {
    background: var(--dm-input-bg) ;
    color: var(--dm-form-color) !important;
    border-color: var(--dm-border) !important;
}

body[data-isDarkmode="true"] input::placeholder,
body[data-isDarkmode="true"] textarea::placeholder {
    color: var(--dm-text-muted) !important;
    opacity: 1;
}

body[data-isDarkmode="true"] label,
body[data-isDarkmode="true"] .col-form-label,
body[data-isDarkmode="true"] .form-label {
    color: var(--dm-text) !important;
}

body[data-isDarkmode="true"] .card {
    background: var(--dm-card-bg) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

body[data-isDarkmode="true"] .card-header,
body[data-isDarkmode="true"] .card-footer {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
}

body[data-isDarkmode="true"] .card-body {
    background: var(--dm-card-bg) !important;
}

body[data-isDarkmode="true"] .modal-header {
    border-bottom-color: var(--dm-border) !important;
}

body[data-isDarkmode="true"] .modal-body {
    background: var(--dm-modal-bg);
    color: var(--dm-text);
}

body[data-isDarkmode="true"] .modal-footer {
    background: var(--dm-modal-bg);
    border-top-color: var(--dm-border) !important;
}

body[data-isDarkmode="true"] hr {
    border-color: var(--dm-border);
}

body[data-isDarkmode="true"] p,
body[data-isDarkmode="true"] span,
body[data-isDarkmode="true"] h1,
body[data-isDarkmode="true"] h2,
body[data-isDarkmode="true"] h3,
body[data-isDarkmode="true"] h4,
body[data-isDarkmode="true"] h5,
body[data-isDarkmode="true"] h6 {
    color: var(--dm-text);
}

body[data-isDarkmode="true"] #tableArquivos tbody tr {
    background: var(--dm-surface);
    color: var(--dm-text);
    border-color: var(--dm-border);
}

body[data-isDarkmode="true"] #tableArquivos tbody tr:hover {
    background: var(--dm-surface-2) !important;
}

body[data-isDarkmode="true"] th {
    color: var(--dm-text-muted);
    background: var(--dm-surface) !important;
}

body[data-isDarkmode="true"] .divider,
body[data-isDarkmode="true"] .divider-link {
    background-color: var(--dm-border) !important;
}

.disabled {
    pointer-events: none;
    border: 1px solid #dddddd7d !important;
}

.disabled::-webkit-input-placeholder {
    color: #aaaaaa98 !important;
}


input#user {}

.tela {
    width: 100%;
    height: 300px;
    position: absolute;
    background-color: #1e212b88;
    z-index: 10;
}

.hero-text {
    position: relative;
    z-index: 20;
    color: rgb(240, 206, 14);
}

.hero-text span {
    position: relative;
    z-index: 20;
    color: rgb(240, 240, 240);
}


.admin[data-isDarkmode="true"] .btn.btn-home {
    position: relative;
    background-color: rgb(240, 187, 14);
    border: 2px rgba(240, 206, 14, 0) solid;
    color: #ffffff !important;
    z-index: 11;
    text-transform: none;
    border-radius: 50px !important;
}

.admin[data-isDarkmode="true"] .btn.btn-home:hover {
    /*  */
}

.btn.btn-home {
    position: relative;
    background-color: rgb(240, 206, 14);
    border: 2px rgba(240, 206, 14, 0) solid;
    color: #504949;
    z-index: 11;
    text-transform: none;
    border-radius: 50px !important;
}

.btn.btn-home.outlined {
    position: relative;
    background-color: rgba(255, 255, 255, 0);
    border: 2px rgb(240, 206, 14) solid;
    color: rgb(240, 206, 14);
    z-index: 11;
    border-radius: 50px !important;
}

.btn.btn-home h5 {
    margin: 0;
}

.btn.btn-home:hover {
    background-color: rgb(0, 19, 48);
    color: rgb(240, 206, 14) !important;
}

.btn.btn-home.outlined:hover {
    background-color: rgb(240, 206, 14);
    color: #504949 !important;
}

.btn-status {
    padding: 10px 20px;
    align-self: center;
    border-radius: 5px !important;
    transition: .2s ease-in;
    text-decoration: none !important;
    box-shadow: 0px 0px 5px 0px #16161632;
    font-family: 'Poppins';
    color: #000;
}


.btn-status:hover {
    color: #dda619;
}

.btn-status.active {
    background: #dda619 !important;
    color: #fff;
}

body[data-isDarkmode="true"] .btn-status {
    box-shadow: 0px 0px 10px 0px #161616;
    color: #cfcfcf;
}

body[data-isDarkmode="true"] .btn-status:hover {
    background-color: hsl(230, 19%, 12%);
    /* border: 3px hsl(230, 19%, 12%) solid; */
    box-shadow: 0px 0px 8px 0px #161616;
    color: #fff;
}

.btn.btn-chamado {
    position: relative;
    font-weight: bolder;
    letter-spacing: 1.3;
    font-family: 'poppins';
    text-transform: none;
    z-index: 11;
    border: none;
    border-radius: 50px;
    overflow: hidden;
    transition: .2s ease-in-out;
    background: rgba(0, 0, 0, .03);
}

.btn.btn-chamado:hover {

    color: rgb(240, 240, 240) !important;
    background-color: hsl(220, 59%, 32%);
}

body[data-isDarkmode="true"] .btn.btn-chamado {
    background-color: hsl(230, 19%, 14%);

}

body[data-isDarkmode="true"] .btn.btn-chamado:hover {
    background-color: hsl(230, 19%, 10%);
    /* border: 3px hsl(230, 19%, 12%) solid; */
}


.btn-title {
    position: relative;
    font-weight: bolder;
    letter-spacing: 1.3;
    font-family: 'poppins';
    background-color: rgba(9, 59, 105, 0);
    border: 3px rgb(9, 59, 105) solid;
    z-index: 11;
    border-radius: 50px;
    overflow: hidden;
}

.btn-title:hover {
    background-color: rgb(9, 59, 105);
    border: 3px rgb(9, 59, 105) solid;
    color: rgb(240, 240, 240) !important;
}

.btn.btn-user {
    position: relative;
    font-weight: bolder;
    letter-spacing: 1.3;
    font-family: 'poppins';
    background-color: rgba(0, 132, 255, 0);
    border: 3px rgb(30, 96, 158) solid;
    z-index: 11;
    border-radius: 50px;
    overflow: hidden;
}

.btn.btn-user:hover {
    background-color: rgb(30, 96, 158);
    border: 3px rgb(30, 96, 158) solid;
    color: rgb(240, 240, 240) !important;
}

.btn.btn-chamado.admin {
    background-color: rgba(70, 218, 255, 0);
}

.btn.btn-chamado.admin:hover {
    background-color: rgb(255, 198, 43) !important;
    color: rgba(46, 55, 75, 0.893) !important;
}

.btn.btn-chamado i {
    position: relative;
    left: -20px;
    opacity: 0;
    transition: .2s ease-in-out;

}

.btn.btn-chamado p {
    padding: 0px 1em 0px 1px;
    margin: 0;
}



.btn.btn-chamado:hover i {
    opacity: 1;
    left: -5px;
}

.form-select {
    border-radius: 5px;
    padding: 10px 20px;
    font-size: 15px;
    width: 10em;
}


.info-window.active {
    box-shadow: 0px 2px 10px 2px #1616162c;
    display: block;
    position: fixed;
    padding: 20px;
    left: 80%;
    bottom: 20;
    z-index: 2000;
    width: 300px;
    color: #2b2d33;
    height: 350px;
    background-color: #fff;
    border-radius: 5px;
}

.info-window {
    box-shadow: 0px 2px 10px 2px #dfb80e2c;
    display: block;
    position: fixed;
    left: 95%;
    bottom: 20;
    z-index: 2000;
    width: 40px;
    height: 40px;
    background-color: #eec50e;
    color: #eec50e;
    border-radius: 50px;
    transition: .3s ease-in-out;
    overflow: hidden;
}

.hidden {
    visibility: hidden;
    width: 0px !important;
    height: 0px !important;
    margin: 0px;
    padding: 0px;
    position: absolute;
    overflow: hidden;
}

.col.img img {
    width: 70px;
    transition: .3s ease-in-out;

}

.col.img img:hover {
    transform: scale(1.1, 1.1);
}


.col p {
    /* margin-top: 1em; */
    font-weight: 500;
    /* text-align: center; */
}

.col {
    text-align: center;
}

.option-content {
    text-align: start;
    font-size: 18px;
}

@keyframes fadeLeft {
    0% {
        right: -500;
        opacity: 0;
    }

    100% {
        right: 3rem;
        opacity: 1;
    }
}

@keyframes fadeLeftBack {
    0% {
        right: 3rem;
        opacity: 1;
    }

    100% {
        right: -500px;
        opacity: 0;
    }
}


.voltar {
    position: relative;
    margin-right: 3em;
    transition: .3s ease-in-out;
    height: min-content;
}

.voltar:hover {
    transform: scale(1.2, 1.2);
}


.area {
    background: #4e81c8;
    background: -webkit-linear-gradient(to left, #8da9f5, #437bba);
    width: 100%;
    height: 100vh;


}

.circles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.circles li {
    position: absolute;
    display: block;
    list-style: none;
    width: 20px;
    height: 20px;
    background: rgba(255, 255, 255, 0.2);
    animation: animate 25s linear infinite;
    bottom: -150px;

}

.circles li:nth-child(1) {
    left: 25%;
    width: 80px;
    height: 80px;
    animation-delay: 0s;
}


.circles li:nth-child(2) {
    left: 10%;
    width: 20px;
    height: 20px;
    animation-delay: 2s;
    animation-duration: 12s;
}

.circles li:nth-child(3) {
    left: 70%;
    width: 20px;
    height: 20px;
    animation-delay: 4s;
}

.circles li:nth-child(4) {
    left: 40%;
    width: 60px;
    height: 60px;
    animation-delay: 0s;
    animation-duration: 18s;
}

.circles li:nth-child(5) {
    left: 65%;
    width: 20px;
    height: 20px;
    animation-delay: 0s;
}

.circles li:nth-child(6) {
    left: 75%;
    width: 110px;
    height: 110px;
    animation-delay: 3s;
}

.circles li:nth-child(7) {
    left: 35%;
    width: 150px;
    height: 150px;
    animation-delay: 7s;
}

.circles li:nth-child(8) {
    left: 50%;
    width: 25px;
    height: 25px;
    animation-delay: 15s;
    animation-duration: 45s;
}

.circles li:nth-child(9) {
    left: 20%;
    width: 15px;
    height: 15px;
    animation-delay: 2s;
    animation-duration: 35s;
}

.circles li:nth-child(10) {
    left: 85%;
    width: 150px;
    height: 150px;
    animation-delay: 0s;
    animation-duration: 11s;
}



@keyframes animate {

    0% {
        transform: translateY(0) rotate(0deg);
        opacity: 1;
        border-radius: 0;
    }

    100% {
        transform: translateY(-1000px) rotate(720deg);
        opacity: 0;
        border-radius: 50%;
    }

}


.selected_type {
    background: rgb(9, 59, 105) !important;
    color: #fff;
}

.form-control:focus {
    outline: 0 !important;
    border-color: var(--dm-accent) !important;
    box-shadow: 0 0 0 3px rgba(49,130,206,.15) !important;
}

.total {
    background-color: #00000000;
    outline: none;
    box-shadow: none;
    color: #787878;
    border: 1px solid #78787881;
    border-radius: 2px;
    transition: ease-in-out .2s;
    margin: .3em;
    padding: 1px 5px;

}

.total:hover {
    background-color: rgba(75, 192, 192, 0.2);
    box-shadow: none;
    color: rgb(40, 166, 166);
    border: 1px solid rgba(75, 192, 192);
}

.total.selected {
    background-color: rgba(75, 192, 192, 0.2);
    box-shadow: none;
    color: rgb(40, 166, 166);
    border: 1px solid rgba(75, 192, 192);
}


.total_red {
    background-color: #00000000;
    outline: none;
    box-shadow: none;
    color: #787878;
    border: 1px solid #78787881;
    border-radius: 2px;
    transition: ease-in-out .2s;
    margin: .3em;
    padding: 1px 5px;
}

.total_red:hover {
    background-color: rgba(192, 75, 75, 0.2);
    box-shadow: none;
    color: rgb(166, 40, 40);
    border: 1px solid rgb(192, 75, 75);
}

.total_red.selected_red {
    background-color: rgba(192, 75, 75, 0.2);
    box-shadow: none;
    color: rgb(166, 40, 40);
    border: 1px solid rgba(192, 75, 75, 0.276);
}

.bg-white {
    background: #161b2600 !important;
}





h3.border-bottom {
    width: 0;
    visibility: hidden;
    height: 0;
    margin: 0;
}

.content-chamado-card {
    max-height: 60vh;
    overflow-y: scroll;
}

.media-body p {
    text-transform: uppercase;
    color: #3f3f3f98;
    font-weight: bold;
    line-height: 2em;
    font-size: 14px;
}

.media-body p strong {
    color: #5a5a5a;
    text-transform: none !important;
    font-size: 18px;

}

.admin[data-isdarkmode="true"] .media-body p {
    color: #ffffff4b;
}

.admin[data-isdarkmode="true"] .media-body p strong {
    color: #ffffffec;
}


.title-bold {
    color: #8c8c8cb6;
    font-weight: bold;
    text-transform: uppercase;
}

.card-header {
    border-bottom: none;
    padding: 20px 10px;
}

.chamado.card-header {
    font-weight: bolder;
    letter-spacing: 2px;
    color: rgba(56, 56, 56, 0.576);
    border-radius: 10px 10px 0px 0px;
}

.admin[data-isDarkmode="true"] .chamado.card-header {
    color: rgba(255, 255, 255, 0.576);
}

.equipamento.card-header {
    transition: all .2s ease !important;
    cursor: pointer;

}

.equipamento.card-header.pos:hover {
    background: #0c81d5 !important;
}

.equipamento.pinpad.card-header:hover {
    background: #2cacdf !important;
}

.hov h1 {
    transition: all .2s ease-in-out;
}

.hov span {
    top: 0;
    transition: .2s ease-in-out;
    position: relative;
}

.hov .trash {
    transition: all .2s ease-in-out;
}

.hov:hover .trash {
    color: #df3535e3;
    transform: scale(1.3, 1.3);
}

.hov:hover .trash+span {
    color: #df3535e3;
}

.hov:hover h1 {
    color: #0c81d5;
    transform: scale(1.3, 1.3);
}

.hov:hover span {
    color: #0c81d5;
    top: 10px;
}

.equipamento_add {
    border: 2px dashed #5353534c;
    color: #5353534c;
    padding: .7em;
    background: #00000000 !important;
    transition: .2s ease-in-out;
}

.equipamento_add:hover {
    border-color: #2a2a2a;
    color: #979797;
    background: hsl(230, 19%, 12%) !important;
    cursor: pointer;
}

.card-header.hint {
    cursor: pointer;
}

.card-header.hint:hover {
    background: #4583ed;
}

@keyframes pop-up {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
        background: #4583ed;

    }

    100% {
        transform: scale(1);
    }
}



.in {
    position: absolute;
    width: 100%;
    padding: 0 2em;
    left: 0;
    opacity: 1;
    z-index: 1;
    transition: all .4s ease-in-out;
}

.out {
    position: absolute;
    width: 100%;
    left: -200px;
    opacity: 0;
    z-index: 0;
    transition: all .4s ease-in-out;

}

.out-right {
    position: absolute;
    left: 200px;
    opacity: 0;
    z-index: 0;

    transition: all .4s ease-in-out;
}

.box-blur {
    padding: 10px;
    background: #ffffff22;
    border-radius: 10px;
}

.botinho-active {
    transform: translate(0, -7px);
}

.tag-input {
    background: none;
    border: none;
    text-align: center;
    font-family: 'Poppins';
    color: #fff;

}

.extra {
    width: 100%;
    padding: 5px;
    background-image: linear-gradient(to left, #9224b6, #fa8815);
    position: absolute;
    min-height: 300px;
    border-radius: 5px;
    z-index: 1;
}




.back {
    background: #ffffff;
}

.admin[data-isDarkmode="true"] .back {
    background: #161616;
}


.popover-content-user {
    display: none;
    top: 60px;
    left: 50%;
    position: absolute;
    width: 150px;
    background-color: #fff;
    box-shadow: 0 2px 15px rgba(47, 47, 47, 0.259);
    padding: 10px;
    border-radius: 5px;
    z-index: 9999 !important;
    animation: fadePopover .2s ease-in-out;
    -webkit-animation: fadePopover .2s ease-in-out;
}

.admin[data-isDarkmode="true"] .popover-content-user {
    background-color: #3e414a;
}

.popover-btn {
    position: relative;
    z-index: 3;
    cursor: pointer;
}

.popover-btn.active+.popover-content-user {
    display: flex;
    flex-direction: column;

}

.popover-content-user:before {
    position: absolute;
    z-index: -1;
    content: "";
    right: calc(50% - 10px);
    top: -8px;
    border-style: solid;
    border-width: 0 10px 10px 10px;
    border-color: transparent transparent hsl(0, 0%, 100%) transparent;
    transition-duration: 0.3s;
    transition-property: transform;
}

.admin[data-isDarkmode="true"] .popover-content-user:before {
    border-color: transparent transparent #3e414a transparent;
}

.popover-content-user p.disabled {
    opacity: 50% !important;
    transform: scale(1) !important;
    font-weight: 400 !important;
    cursor: default !important;


}

.popover-content-user p {
    opacity: 1;
    padding: 3px;
    margin: 0;
    transition: .2s ease-in-out;
}

.popover-content-user p:hover {
    cursor: pointer;
}


.tela-hidden.active {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background-color: #00000000;
}

@keyframes fadePopover {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}


.cup {
    width: 76px;
    height: 76px;
    background: #dedede;
    border-radius: 50%;
    position: absolute;
    left: 50%;
    margin-left: -38px;
    top: 120px;
    box-shadow: -4px -1px 0 rgba(0, 0, 0, 0.2);
}

.cup:after {
    content: "";
    width: 66px;
    height: 66px;
    position: absolute;
    border-radius: 50%;
    background: linear-gradient(-45deg, #cbcbcb, #f2f2f2);
    left: 50%;
    margin-left: -33px;
    top: 5px;
}

.coffee {
    width: 47px;
    height: 47px;
    background: #562809;
    /*background-image: linear-gradient(15deg, transparent 0px, transparent 29px, rgba(255,255,255,0.05) 29px, rgba(255,255,255,0.05) 47px);*/
    border-radius: 50%;
    position: absolute;
    left: 50%;
    margin-left: -25px;
    z-index: 1;
    top: 50%;
    margin-top: -26px;
    border: 3px solid #e9e9e9;
    box-shadow: -3px 2px 0 rgba(0, 0, 0, 0.1);
    transform: rotate(30deg);
    transition: transform 0.3s;
}

.coffee:after {
    /*assa*/
    content: "";
    width: 15px;
    height: 8px;
    position: absolute;
    left: -19px;
    top: 18px;
    background: linear-gradient(90deg, #d6d6d6, #aeaeae);
    box-shadow: 0px 2px 0 rgba(0, 0, 0, 0.2);
}

.coffee:before {
    content: "";
    width: 47px;
    height: 47px;
    background-image: radial-gradient(75% 59%, ellipse, rgba(255, 255, 255, 0.2), transparent 95%), radial-gradient(5% 9%, ellipse, rgba(255, 255, 255, 0.1), transparent 5%), radial-gradient(0% 0%, ellipse, rgba(255, 255, 255, 0.3), transparent 55%);
    background-image: -webkit-radial-gradient(75% 59%, ellipse, rgba(255, 255, 255, 0.2), transparent 95%), -webkit-radial-gradient(5% 9%, ellipse, rgba(255, 255, 255, 0.1), transparent 5%), -webkit-radial-gradient(0% 0%, ellipse, rgba(255, 255, 255, 0.3), transparent 55%);
    background-image: -moz-radial-gradient(75% 59%, ellipse, rgba(255, 255, 255, 0.2), transparent 95%), -moz-radial-gradient(5% 9%, ellipse, rgba(255, 255, 255, 0.1), transparent 5%), -moz-radial-gradient(0% 0%, ellipse, rgba(255, 255, 255, 0.3), transparent 55%);
    position: absolute;
    left: 0;
    border-radius: 50%;
}

.cup:hover .coffee {
    transform: rotate(15deg);
}

.smoke {
    position: absolute;
    left: 50%;
    margin-left: -4px;
    top: 104px;
    width: 0;
    height: 0;
}

.smoke span {
    position: absolute;
    border-radius: 50%;
    filter: blur(4px);
    animation: bk ease-out infinite both;
}

.smoke span:nth-child(1) {
    width: 10px;
    height: 10px;
    left: -20px;
    background: rgba(130, 130, 130, 0.55);
    animation-duration: 2.8s;
    animation-delay: 0s;
}

.smoke span:nth-child(2) {
    width: 10px;
    height: 10px;
    left: -3px;
    background: rgba(130, 130, 130, 0.5);
    animation-duration: 3.2s;
    animation-delay: 0.9s;
}

.smoke span:nth-child(3) {
    width: 10px;
    height: 10px;
    left: 14px;
    background: rgba(130, 130, 130, 0.45);
    animation-duration: 2.5s;
    animation-delay: 1.8s;
}

@keyframes bk {
    0%   { transform: translateY(0) scale(0.5); opacity: 0; }
    18%  { opacity: 0.65; }
    75%  { opacity: 0.2; }
    100% { transform: translateY(-65px) scale(6); opacity: 0; }
}

.features {
    position: absolute;
    bottom: 50px;
    right: -200px;
}

.icon-dash-solu {
    display: flex;
    position: absolute;
    top: -10px;
    background: #55555563;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    justify-content: center;
    align-items: center;
}


#estoque_sub {
    height: auto;
    transition: .3s ease;
}

.card-preview {
    position: relative;
    margin: 0 0 25px 2em;
    padding: 40px;
    width: 50em;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #aaaaaa11;
    border: 5px dashed hsl(0, 0%, 90%);
    font-family: 'Poppins';
}

.admin[data-isDarkmode="true"] .card-preview {
    background-color: #00000011;
    border: 5px dashed hsl(230, 19%, 12%);
}


.card-preview h2 {
    position: absolute;
    top: 20px;
    color: #2e2e2e55;
}



.preview {
    width: 50em;
    height: 14em;
    background-image: url('/images/assinatura-out.png');
    background-size: contain;
    background-repeat: no-repeat;
}

.admin.preview {
    width: 45em;
    height: 14em;
    background-image: url('/images/assinatura-out.png');
    background-size: contain;
    background-repeat: no-repeat;
}

.preview .text-view {
    padding: .5em 0 0 .7em;
    font-size: 1.8em;
    color: #176fc2;
    font-family: 'Montserrat';
    font-weight: bolder;
}

.card-preview #download {
    position: absolute;
    display: inline-block;
    bottom: 20px;
    right: 20px;
}

.card-preview #download a {
    padding: 10px;
    font-size: 28px;
    color: #3d3d3d;
    transition: .2s ease;
    text-decoration: none;
}

.card-preview #download a:hover {
    color: #181818;
}

.admin[data-isDarkmode="true"] .card-preview h2,
.admin[data-isDarkmode="true"] .card-preview #download a {
    color: #c9c9c9;
}

.task-card {
    background-color: #dfd7d74a;
}

.task-card-2 {
    background-color: #fff18867;
}

.task-card-3 {
    background-color: #ffffff67;
}

.task_ver i {
    font-size: 18px;
    color: #98989884;
    transition: .2s ease-in-out;
}

body[data-isDarkmode="true"] .task_ver i {
    color: #e1e1e184;
}

.task_ver:hover i {
    color: #ff8b8bfe !important;
}

.lista-users {
    padding: 20px;
    height: 80vh;
    overflow-y: scroll;
    overflow-x: unset;
}


html ::-webkit-scrollbar {
    width: 8px;
}

html ::-webkit-scrollbar-thumb {
    background: #5f5f5f99;
}

html ::-webkit-scrollbar-track {
    background: #b8b8b800;
}

#feedback {
    z-index: 9998;
    position: fixed;
    margin: auto;
    background-color: #00000027;
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    animation: fadePopover .6s forwards;
    -webkit-animation: fadePopover .6s forwards;
}


#feedback .back {
    background: transparent;
    position: absolute;
    width: 100%;
    height: 100%;
}

#feedback .card {
    z-index: 1001;
    width: 500px;
    height: 15em;
    text-align: center;
    transition: .2s ease-in-out;
}

#feedback .card.expand {
    height: 28em;
}


#feedback .card .btn-grp {
    opacity: 0;
    height: 0;
    width: 100%;
    transition: .4s ease-in-out;
}


#feedback .card.expand .btn-grp {
    height: auto;
    opacity: 1;
}

#feedback .icon-group {
    position: relative;
    width: auto;
    margin: auto;
    height: 6em;
    display: flex;
    justify-content: center;
    align-items: center;
}

#feedback i {
    font-size: 38px;
    color: #b8b8b888;
    width: 1.8em;
    transition: .1s ease-in-out;
}

#feedback i.active,
#feedback i.selected {
    color: gold;
    transform: scale(1.08);
}

#feedback .card .text-group {
    opacity: 0;
    width: 90%;
    position: relative;
    margin: auto;
    margin-top: 2em;
    transition: .4s ease-in-out;
}

#feedback .card.expand .text-group {
    opacity: 1;
}

#feedback textarea {
    height: 0;
    width: 100%;
    border: 1px solid #6a6a6a34;
    border-radius: 4px;
    font-size: 14px;
    outline: none;
    padding: 10px;
}

#feedback .card.expand textarea {
    height: auto;
}

#feedback .btn-close {
    position: absolute;
    right: 10;
    font-size: 12px;
    color: gray;
}

#feedback .btn-close:hover i {
    color: rgb(74, 74, 74);
    text-decoration: none;
}

.feedback-box {
    padding: 1rem 1.8rem 2rem;
}

.alert-div {
    color: #ffffff;
    border-radius: 5px;
    font-size: 16px;
    text-align: left;
    width: 400px;
    padding: 20px;
    animation: fadeLeft .8s forwards, fadeLeftBack .8s forwards 4s;
    -webkit-animation: fadeLeft .8s forwards, fadeLeftBack .8s forwards 4s;
    position: fixed;
    bottom: 50px;
    right: 3rem;
    z-index: 9999;
    display: flex;
    align-items: center;
}

.alert-div i {
    font-size: 18px;
    margin-right: 25px;
}

.alert-div p {
    margin: 0;
}

.success-alert {
    background-color: #4caf50;

}

.error-alert {
    background-color: #f55153;
}

.wait-alert {
    background-color: #fbc107;
}

.lupa-icon div {
    background-image: url('/images/lupa-logo-x.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 30px;
    height: 30px;
}

.admin[data-isDarkmode=true] .lupa-icon div {
    background-image: url('/images/lupa-logo-xs.png');
}

.ativos-col div {
    text-align: left;
    font-size: 18px;
    height: 3em;
}

.info-ativos div {
    text-align: right;
    font-weight: bold;
}


.ativos-row {
    display: flex;
    padding: .5em 0;
}

.ativos-row h5 {
    font-size: 15px;
}

.ativos-btn {
    padding: 5px;
    width: fit-content;
    text-transform: none;
    transition: .2s ease-in-out;
    display: flex;
    justify-content: end;
    align-items: center;
}


.ativos-btn i {
    font-size: 1.5em;
}

.ativos-btn.loading-btn {
    pointer-events: none;
}


.ativos-btn.loading-btn i {
    color: rgb(250, 187, 12);
    animation: spin 1s infinite;
}

.paginate-btn {
    margin: 1em;
    display: flex;
    justify-content: space-between;
    text-align: end;
}

.paginate-item a {
    cursor: pointer;
    color: #4343439f;
    transition: .1s ease-in-out;
}

.paginate-item a:hover {
    color: #141414;
}

.admin[data-isDarkmode=true] .paginate-item a {
    color: #ffffff9f;
}

.admin[data-isDarkmode=true] .paginate-item a:hover {
    color: #ffffff;
}

.ativos-header {
    padding: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.ativos-header a {
    background: hsla(0, 0%, 57%, 0.55);

}

.ativos-header input {
    height: auto;

}

.admin[data-isDarkmode=true] .ativos-header a {
    background: hsl(230, 19%, 12%);
}

.scroll-container {
    height: 600px;
    /* Defina a altura conforme necessário */
    overflow-y: scroll;
    position: relative;
}



@media (min-width: 576px) {
    .extra {
        min-height: 290px;
    }
}


@media (max-width: 1600px) {
    .nav-link {
        font-size: 12px;
    }

    .extra {
        min-height: 340px;
    }
}

.add_field {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px;
    width: 100%;
    background: #ffffff;
    border: 2px dashed #a3a3a33a;
    transition: .2s ease-in-out;
}

.add_field i,
.add_field h5 {
    color: #a3a3a3a4;
    font-size: 20px;
    transition: .2s ease-in-out;
    margin-left: 10px;
    text-decoration: none;
    margin-bottom: 0;

}

.add_field:hover {
    background: #a3a3a323;
    border: 2px solid #a3a3a300;
    text-decoration: none !important;
    cursor: pointer;

}

.add_field:hover i,
.add_field:hover h5 {
    color: #5f5f5f;
}

.absolute-top-right {
    position: absolute;
    top: 10px;
    right: 20px;
    z-index: 99;
}


:root {
    --loading-grey: hsl(228, 9%, 31%);
}


.image {
    height: 200px;
}

.image img {
    display: block;
    width: 100%;
    height: inherit;
    object-fit: cover;
}

.content {
    padding: 2rem 1.8rem 0;
    min-height: calc(100vh - 56px);
    display: flex;
    flex-direction: column;
}

.content > .container {
    flex: 1;
}

.stars-box {
    padding: 2rem 1.8rem;

}

h4 {
    margin: 0 0 1rem;
    font-size: 1.5rem;
    line-height: 1.5rem;
}

.description {
    font-size: 1rem;
    line-height: 1.4rem;
}

.loading_post .image,
.loading_post h4,
.loading_post .description {
    background-color: var(--loading-grey);
    background: linear-gradient(100deg,
            rgba(255, 255, 255, 0) 40%,
            rgba(255, 255, 255, .5) 50%,
            rgba(255, 255, 255, 0) 60%) var(--loading-grey);
    background-size: 200% 100%;
    background-position-x: 180%;
    animation: 1s loading ease-in-out infinite;
}



@keyframes loading {
    to {
        background-position-x: -20%;
    }
}

.loading_post h4 {
    min-height: 1.6rem;
    border-radius: 4px;
    animation-delay: .05s;
    width: 50%;
}

.loading_post h3 {
    min-height: 1.6rem;
    border-radius: 4px;
    animation-delay: .05s;
    width: 50%;
}

.loading_post .description {
    min-height: 4rem;
    border-radius: 4px;
    animation-delay: .06s;
}


.chat {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.chat.reverse {
    justify-content: end;
    text-align: center;
    align-items: center;
}

.chat-container {
    overflow-y: auto;
    min-height: 45vh;
    max-height: 60vh;
    border-radius: 5px;
}

.chat-op {
    background: #fff;
    border-radius: 30px;
    padding: 1em 2em;
    height: fit-content;

}

.chat-you {
    background: #ffd876;
    border-radius: 30px;
    padding: 1em 2em;
    height: fit-content;
}

.chat-admin-note {
    background: #fef3c7;
    border-radius: 30px;
    padding: 1em 2em;
    height: fit-content;
    border: 1px solid #facc15;
    color: #92400e;
}

.admin[data-isDarkMode="true"] .chat-op {
    background: #3b3b4a;
    border-radius: 30px;
    padding: 1em 2em;
    height: fit-content;
    color: #ffffff;

}

.admin[data-isDarkMode="true"] .chat-you {
    background: #ffd876;
    border-radius: 30px;
    padding: 1em 2em;
    height: fit-content;
    color: #444141;
}

.back-chat {
    background: #e2e6ec76;
}

.admin[data-isDarkMode="true"] .back-chat {
    background: hsl(230, 19%, 12%);
}

.f1 {
    font-size: 18px;
}

.back-chat {
    border-radius: 5px 5px 0 0;
}

.response-form {
    position: relative;
    bottom: 0;
    margin: 0;
    width: 100%;
    display: flex;
    z-index: 99;
}

.response-form .response {
    position: relative;
    background: #c1c4c96e;
    padding: 5px 0 0 12px;
    font-size: 18px;
    width: 100%;
    height: 50px;
    padding-top: 10px;
    padding-right: 50px;
    padding-bottom: 10px;
    padding-left: 15px;
    border: none;
    resize: none;
    outline: none;
    border-top: none;
    border-bottom-right-radius: 5px;
    overflow: hidden;
}

.response-form .response {
    color: #000;
}

body[data-isDarkmode="true"] .response-form .response {
    background: hsl(228, 19%, 10%);
    color: #fff;
}

.response:focus-visible {
    border-style: none;
    box-shadow: 0 0 0 0;
    outline: 0;
}

.response-btn {
    background-color: #65983b;
    color: #fff;
    transition: .2s ease;
}

.response-btn.accept {
    background: #5a8f2f84;
    color: #fff !important;
    border-radius: 0px 5px 5px 0px;
}

.response-btn:hover {
    background: #3a5822;
    color: #fff !important;
}

.response-acomp-btn {
    position: absolute;
    bottom: 12px;
    right: 10px;
    background: transparent;
    box-shadow: none;
    border: none;
    border-radius: 50%;
    color: #ffc123;
    font-size: 25px;
    transition: .2s ease-in-out;

}


.response-btn:hover i {
    transform: scale(1.2);
}

.response-btn.reject {
    background-color: #d71c1391;
    color: #fff;
    transition: .2s ease;
    border-radius: 5px 0px 0px 5px;

}

.response-btn.reject:hover {
    background: #760c0c;
    color: #fff !important;
}

/* ── Site header (welcome layout) ── */
.site-header {
    background: #fff;
    border-bottom: 1px solid #e8ecf0;
    z-index: 1030;
}

.site-header-inner {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: .6rem 2.5rem;
    max-width: 1400px;
    margin: 0 auto;
}

.site-logo img {
    display: block;
}

.site-nav {
    display: flex;
    align-items: center;
    gap: .70rem;
    flex: 1;
}

.site-nav-link {
    font-family: 'Poppins', sans-serif;
    font-size: .875rem;
    font-weight: 500;
    color: #5a6478;
    padding: .45rem .85rem;
    border-radius: 6px;
    text-decoration: none;
    transition: background .15s, color .15s;
    white-space: nowrap;
}

.site-nav-link:hover {
    background: #f0f3f8;
    color: #002c5e;
    text-decoration: none;
}

.site-nav-link.active {
    background: #eaf0fb;
    color: #002c5e;
    font-weight: 600;
}

.site-header-end {
    margin-left: auto;
    flex-shrink: 0;
}

.site-user-btn {
    display: flex;
    align-items: center;
    gap: .5rem;
    background: none;
    border: 1px solid #e8ecf0;
    border-radius: 50px;
    padding: .3rem .75rem .3rem .35rem;
    cursor: pointer;
    transition: background .15s, border-color .15s;
    font-family: 'Poppins', sans-serif;
}

.site-user-btn:hover {
    background: #f4f6fa;
    border-color: #c8d0de;
}

.site-user-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.site-user-name {
    font-size: .82rem;
    font-weight: 500;
    color: #374151;
}

.site-user-chevron {
    font-size: .7rem;
    color: #9aa4b2;
}

.site-dropdown-name {
    font-size: .82rem;
    color: #374151;
    font-weight: 600;
    pointer-events: none;
    margin-bottom: 0;
}

.site-login-btn {
    font-family: 'Poppins', sans-serif;
    font-size: .875rem;
    font-weight: 500;
    color: #002c5e;
    background: #eaf0fb;
    border: none;
    border-radius: 6px;
    padding: .45rem 1rem;
    cursor: pointer;
    transition: background .15s;
}

.site-login-btn:hover {
    background: #d6e4f7;
}

.site-nav-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 1.4rem;
    color: #374151;
    padding: .25rem .5rem;
    cursor: pointer;
    margin-left: auto;
}

@media (max-width: 991px) {
    .site-nav-toggle {
        display: block;
    }

    .site-header-inner {
        flex-wrap: wrap;
        padding: .6rem 1.25rem;
        gap: .5rem;
    }

    .site-nav {
        display: none;
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
        padding: .5rem 0 .25rem;
        gap: .1rem;
    }

    .site-nav.open {
        display: flex;
    }

    .site-nav-link {
        width: 100%;
    }

    .site-header-end {
        margin-left: 0;
        width: 100%;
    }
}

/* ═══════════════════════════════════════════════════════
   TOAST NOTIFICATIONS — notif-stack
   ═══════════════════════════════════════════════════════ */
.notif-toast {
    pointer-events: all;
    background: var(--dm-bg, #fff);
    min-width: 300px;
    border: 1px solid var(--dm-border, #e2e8f0);
    border-left: 4px solid #4d7cf5;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
    padding: 12px 14px;
    font-family: 'Poppins', sans-serif;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    animation: notif-in .25s ease;
}
.notif-toast.solved,
.notif-toast.success { border-left-color: #22c97b; }
.notif-toast.replied,
.notif-toast.wait    { border-left-color: #f0b429; }
.notif-toast.warning { border-left-color: #f0b429; }
.notif-toast.error   { border-left-color: #ea5455; }

@keyframes notif-in {
    from { opacity: 0; transform: translateX(16px); }
    to   { opacity: 1; transform: translateX(0); }
}

.notif-icon {
    font-size: 1.15rem;
    margin-top: 1px;
    flex-shrink: 0;
}
.notif-toast.solved  .notif-icon,
.notif-toast.success .notif-icon { color: #22c97b; }
.notif-toast.replied .notif-icon,
.notif-toast.wait    .notif-icon { color: #f0b429; }
.notif-toast.warning .notif-icon { color: #f0b429; }
.notif-toast.error   .notif-icon { color: #ea5455; }

.notif-link {
    display: inline-block;
    margin-top: 4px;
    font-size: .7rem;
    font-weight: 600;
    color: #4d7cf5;
    text-decoration: none;
}
.notif-link:hover { text-decoration: underline; }

.notif-body {
    flex: 1;
    min-width: 0;
}

.notif-title {
    font-size: .8rem;
    font-weight: 700;
    color: var(--dm-text, #1a202c);
    margin: 0 0 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.notif-sub {
    font-size: .72rem;
    color: var(--dm-text-muted, #718096);
    margin: 0;
}

.notif-close {
    background: none;
    border: none;
    padding: 0;
    color: var(--dm-text-muted, #a0aec0);
    font-size: 14px;
    cursor: pointer;
    line-height: 1;
    flex-shrink: 0;
    margin-top: 1px;
}
.notif-close:hover {
    color: var(--dm-text, #4a5568);
}

/* ═══════════════════════════════════════════════════════
   UTILITY CLASSES
   ═══════════════════════════════════════════════════════ */
.no-transition,
.no-transition * { transition: none !important; }

.btn-round-icon {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height: 1;
}

.badge-aprovado {
    background-color: #28c76f !important;
    color: white !important;
}

.badge-reprovado {
    background-color: #ea5455 !important;
    color: white !important;
}

.badge-pendente {
    background-color: #6c757d80 !important;
    color: #1e1e1e !important;
}
