

/* ========= NAVBAR ========= */
body {
    position: relative;
    font-family: var(--font-primary);
}

body.is-cursor-loading,
body.is-cursor-loading * {
  cursor: wait !important;
}

.table-loading {
    opacity: 0.5;
    pointer-events: none;
}

h1, h2, h3, h4, h5, h6, th, tr, td, button, p, label, a, span, text {
    margin: 0px;
    padding: 0px;
    font-weight: 600;
    color:#212022;
    font-family: var(--font-primary);
}

.-m0 {
    margin:0;
}


#lab-nexa {
    top: 0;
    z-index: 2000;
}

input[type="file"] {
    &:hover {
        background-color: var(--color-graylight);
        cursor:pointer;
    }

    &::file-selector-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.7rem;
        white-space: nowrap;
        border-radius: 0.7rem;        /* rounded-md */

        font-size: 1rem;            /* text-xs (sm size overrides text-sm) */
        font-weight: 600;
        color: var(--text-secondary);

        line-height: 1;
        cursor: pointer;
        transition-property: color, background-color, border-color;
        transition-duration: 150ms;

        background-color: transparent;
        border:none;
        box-shadow: none;

        padding: 0.4rem 0.90rem;          /* px-3 */
        font-family:var(--font-primary);
    }
}
.nexa-file-container {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

/* Garante que o input utilize todo o espaço e tenha respiro na direita para o   ão X não cobrir textos */
.nexa-file-container input[type="file"] {
    width: 100%;
    padding-right: calc(var(--spacing) * 9) !important;
}


/* ========== MAIN CONTENT ========== */
.main-content {
    margin-left: var(--sidebar-width);
    min-height: 100vh;
    padding-top: var(--nav-h);
    background:#f5f5f6;
    transition: margin-left 0.3s ease;
}
.sidebar-collapsed {
    margin-left: 0;
}

.content-wrapper {
    padding: 10px;
    max-width: 1600px;
    margin: 0 auto;
    background: #f5f5f6;
}

/* ========== SISTEMA CARDS ========== */
.sistema-card {
    background: var(--color-system-card);
    border-radius: 12px;
    padding: 25px;
    text-align: center;
    border: 1px solid rgba(0, 102, 204, 0.1);
    transition: all 0.3s ease;
    height: 100%;
}

.sistema-card:hover {
    transform: translateY(-4px);
}

.sistema-icon {
    font-size: 2.5rem;
    color: var(--color-system-icon);
    margin-bottom: 15px;
}

.sistema-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--color-system-title);
    margin-bottom: 10px;
}

.sistema-description {
    font-size: 0.9rem;
    color: var(--color-system-description);
    margin-bottom: 20px;
}

/* ========== SCROLLBAR ========== */
.nexa-sidebar::-webkit-scrollbar {
    width: 6px;
}

.nexa-sidebar::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.1);
}

.nexa-sidebar::-webkit-scrollbar-thumb {
    background: rgba(0, 102, 204, 0.3);
    border-radius: 3px;
}

.nexa-sidebar::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 102, 204, 0.5);
}

/* ========== COLORS ========== */

.nexa-color {

    &.-palette1 {
        --color-warning: #ffbd59;
        --color-error: #f8341b;
        --color-sucess: #10b981;
        --color-purple: #7625ac;
        --color-nexa: #487ffa;
    }

    &.-palette2 {
        --color-warning:   #F2A44B; /* Amarelo limão gélido */
        --color-error:     #EA2B36; /* Magenta frio/Carmesim */
        --color-sucess:    #42B76D; /* Turquesa/Ciano */
        --color-purple:    #8B248B; /* Violeta/Índigo azulado */
        --color-nexa:      #5164EB; /* Azul ciano vibrante */
    }

    &.-palette3 {
        --color-warning:   #E58A3D; 
        --color-error:     #DC2352; 
        --color-sucess:    #73B659; 
        --color-purple:    #A0236B; 
        --color-nexa:      #5A48DD; 
    }

    &.-palette4 {
        --color-warning:   #D7712F; 
        --color-error:     #CE1A6D; 
        --color-sucess:    #A5B444; 
        --color-purple:    #B4214A; 
        --color-nexa:      #622DCE; 
    }

    &.-palette5 {
        --color-warning:   #CA5721; /* Laranja solar intenso */
        --color-error:     #C01188; /* Vermelho queimado vibrante */
        --color-sucess:    #D6B230; /* Verde oliva/aquecido */
        --color-purple:    #C92029; /* Magenta escarlate */
        --color-nexa:      #6B11BF; /* Púrpura quente */
    }

    &.-warm {
        --color-warning:   #ff8800; /* Laranja solar intenso */
        --color-error:     #e60000; /* Vermelho queimado vibrante */
        --color-sucess:    #5eb800; /* Verde oliva/aquecido */
        --color-purple:    #a60f7e; /* Magenta escarlate */
        --color-nexa:      #372bdb; /* Púrpura quente */
    }
}

input[type="checkbox"] {
  appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #ddd;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  background-color: #fff;
}

input[type="checkbox"]:hover {
  border-color: var(--color-nexa);
  background-color: #f5f5f5;
}

input[type="checkbox"]:checked {
  background-color: var(--color-nexa);
  border-color: var(--color-nexa);
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 11-1.06-1.06l7.25-7.25a.75.75 0 011.06 0z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px;
}

input[type="checkbox"]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

input[type="checkbox"]:focus {
  outline: 2px solid var(--color-nexa);
  outline-offset: 2px;
}