body {
    position: relative;
    /*overflow-x: hidden;*/
    /*overflow-y: hidden;*/
    background: #ffffff;
    background: -webkit-linear-gradient(right, #ffffff, #ffffff);
    background: -moz-linear-gradient(right, #ffffff, #ffffff);
    background: -o-linear-gradient(right, #ffffff, #ffffff);
    background: linear-gradient(to left, #ffffff, #ffffff);
    /*font-family: 'Lato', sans-serif;*/
    font-family: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;      
}

body,

html { height: 100%;}

pre, code {
    white-space: pre !important; /* Preserva rigorosamente quebras de linha e espaços */
    word-break: normal;
}        

.table-clean thead th {
    position: sticky;
    top: 0;
    background-color: #000000;
    color: #ffffff;
}

.table-clean thead th label {
    background-color: #fff;
    color: #000;
}

.table-clean th,
.table-clean td {
    font-size: 0.80rem; /* ou 13px */
    padding: 0.5rem 0.75rem; /* Ajusta o espaçamento interno */
}        

.table-hover tbody tr:hover {
    --bs-table-hover-bg: #add8e6;
    --bs-table-hover-color: #000000;
}        

.modal-full-height {
  max-width: 1140px; /* Largura padrão da classe modal-xl */
  height: calc(100vh - 3.5rem); /* Ocupa 100% da altura da viewport com margem */
  margin: 1.75rem auto;
}

/* Faz o container interno do modal se expandir verticalmente */
.modal-full-height .modal-content {
  height: 100%;
}

/* Faz o corpo do modal ocupar todo o espaço restante com rolagem interna se necessário */
.modal-full-height .modal-body {
  overflow-y: auto;
  flex: 1;
}


.form-label {
    margin-top: 5px;
    margin-bottom: 0px;
    font-size: 13px;
    font-weight: 700;
}

.modulo {
    margin-left: 62px;
    padding-top: 10px;
    padding-right: 15px;
}

.modulo div {
    background-color: #000;
    color: #fff;
    border-radius: 5px;
    padding: 15px;
}

.modulo div label{
    padding: 0px;
    margin: 0px;
    font-weight: 900;
}

.desktop {
    position: fixed;
    top: 60px;
    bottom: 30px;
    left: 0;
    right: 0;
    padding: 10px;
    /*background-color: #F63;*/
    overflow: auto;
}

.rodape {
    align-items: center;
    display: flex;
    justify-content: center;
    height: 30px;
    padding-left: 15px;
    padding-right: 15px;
}

.rodape img {
    margin-left: 5px;
    float: right;
    width: 25px;
}

.rodape label {
    font-weight: 700;
    font-size: 12px;
}

.resultado .erro {
    color: red;
    width: 100%;
}

.resultado .sucesso {
    color: blue;
    width: 100%;
}

.aguarde {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
}

.aguarde img {
    height: 100px;
}

.login-page {
    padding: 25% 0 0;
    margin: auto;
}

.form-login {
    position: relative;
    z-index: 1;
    background: #ffffff;
    min-width: 360px;
    max-width: 360px;
    margin: 0 auto 100px;
    padding: 45px;
    text-align: center;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24);
}

.formulario {
    position: relative;
    z-index: 1;
    background: #ffffff;
    max-width: 100%;
    min-width: 100%;
    max-height: 100%;
    min-height: 100%;
    padding: 10px;
    text-align: center;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24);
}

.formulario .botao {
    text-transform: uppercase;
    outline: 0;
    background: #000000;
    width: 100%;
    border: 0;
    border-radius: 5px;
    padding: 15px;
    box-sizing: border-box;
    color: #ffffff;
    font-size: 14px;
    -webkit-transition: all 0.3 ease;
    transition: all 0.3 ease;
    cursor: pointer;
}

.form input {
    outline: 0;
    background: #f2f2f2;
    width: 100%;
    border: 0;
    margin: 0 0 15px;
    padding: 15px;
    box-sizing: border-box;
    font-size: 14px;
}
.form span {
    margin: 0 0 15px;
}
.form .botao {
    text-transform: uppercase;
    outline: 0;
    background: #000000;
    width: 100%;
    border: 0;
    border-radius: 5px;
    padding: 15px;
    box-sizing: border-box;
    color: #ffffff;
    font-size: 14px;
    -webkit-transition: all 0.3 ease;
    transition: all 0.3 ease;
    cursor: pointer;
}

.form button :hover,.form button:active,.form button:focus {
    background: #D21D23;
}
.form .link {
    margin: 15px 0 0;
    color: #b3b3b3;
    font-size: 12px;
}
.form .link a {
    color: #000000 !important;
    text-decoration: none;
}

.form .mensagem {
    margin: 15px 0 0;
    color: #b3b3b3;
    font-size: 12px;
}
.form .mensagem a {
    color: #EC2127 !important;
    text-decoration: none;
}
.form .register-form {
    display: none;
}


/* input file */

input[type="file"]:focus-within::file-selector-button,
input[type="file"]:focus::file-selector-button {
    outline: 2px solid #0964b0;
    outline-offset: 2px;
}
input[type="file"] {
    outline: none;
    padding: 4px;
    margin: -4px;
    position: relative;
    width: 100%;
    border-radius: 5px;
    box-sizing: border-box;
    border: 1px solid #cecece;
}

input[type="file"]::file-selector-button {
    width: 50px;
    color: transparent;
}

/* Faked label styles and icon */
input[type="file"]::before {
    position: absolute;
    pointer-events: none;
    top: 11px;
    color: #0964b0;
    content: "";
}

input[type="file"]::after {
    position: absolute;
    pointer-events: none;
    top: 8px;
    left: 10px;
    height: 20px;
    width: 20px;
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 25' fill='%230964B0'%3E%3Cpath d='M18 15v3H6v-3H4v3c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-3h-2zM7 9l1.41 1.41L11 7.83V16h2V7.83l2.59 2.58L17 9l-5-5-5 5z'/%3E%3C/svg%3E");
}

/* ------- From Step 1 ------- */

/* file upload button */
input[type="file"]::file-selector-button {
    border-radius: 4px;
    padding: 0 16px;
    height: 44px;
    cursor: pointer;
    background-color: white;
    border: 1px solid rgba(0, 0, 0, 0.16);
    box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.05);
    margin-right: 16px;
    transition: background-color 200ms;
}

/* file upload button hover state */
input[type="file"]::file-selector-button:hover {
    background-color: #f3f4f6;
}

/* file upload button active state */
input[type="file"]::file-selector-button:active {
    background-color: #e5e7eb;
}
/* input file */

/* ------------------------ */

/* default boilerplate to center input */
/*body {
  min-height: 100vh;
  max-width: 100vw;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5vmax;
  box-sizing: border-box;
}*/