body {
    background-color: rgb(228, 228, 228) !important;
}
#back{
    margin-bottom: 35px;
}
form .form-label{
    font-weight: bold;
}

.required::after{
    content: " *";
    color: red;
    font-weight: bold;
}

/* =========================
   LOGOS - RESPONSIVO
========================= */

.logo-main {
    height: 26px;
    object-fit: contain;
}

.logo-desktop {
    height: 32px;
    object-fit: contain;
}

/* Esconde logos extras no celular */
@media (max-width: 768px) {
    .logo-desktop {
        display: none;
    }
}

/* Evita quebra de layout no navbar */
.navbar-brand {
    max-width: 60%;
    overflow: hidden;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .logo-desktop { display: none; }     
    .logo-main { height: 22px; } 
    .navbar-brand {
        max-width: 55%;
    }
}

.navbar .navbar-toggler {
    margin-left: 8px;
}

.supply-action-btn {
  min-width: 130px;    /* impede que fiquem muito estreitos em telas médias */
  white-space: normal; /* permite quebra de linha do texto do botão */
  padding-left: 0.9rem;
  padding-right: 0.9rem;
  text-align: center;
}

/* Ajuste fino: no celular (<=576px) garantir padding e margem interna confortável */
@media (max-width: 576px) {
  .supply-action-btn {
    font-size: 0.95rem;
    padding: 0.5rem 0.6rem;
  }
}

.btn-custom {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        font-weight: 600;
        font-size: 0.85rem;
        padding: 0.6rem 0.4rem; /* Padding reduzido para caber em telas pequenas */
        white-space: nowrap;
        border: none;
        border-radius: 8px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.05);
        min-width: 0; /* Evita que o flexbox quebre */
    }

.btn-custom i {
    font-size: 1.1rem;
}

/* Ajuste para telas minúsculas (iPhone SE, etc) */
@media (max-width: 380px) {
    .btn-custom {
        padding: 0.5rem 0.2rem;
    }
    .btn-custom i {
        font-size: 1rem;
    }
}

.card-header h3 {
    letter-spacing: -0.5px;
}

/* Garante que o cabeçalho não force a barra de rolagem */
.card-header {
    overflow: hidden;
}

/* Ajuste para telas muito pequenas */
@media (max-width: 350px) {
    .card-header h3 {
        font-size: 1.1rem !important;
    }
}

.header-grid {
        display: grid;
        grid-template-columns: 1fr auto 1fr; /* Colunas laterais iguais para forçar o centro */
        gap: 15px;
    }

    .header-center h3 {
        letter-spacing: -0.5px;
        white-space: nowrap;
    }

    /* Ajuste para Mobile (Celulares Pequenos) */
    @media (max-width: 576px) {
        .header-grid {
            display: flex; /* Volta para flex no mobile para não esmagar o título */
            justify-content: space-between;
        }
        
        .header-center {
            flex-grow: 1;
            margin-right: 40px; /* Compensa o espaço do botão para o título não bater no canto */
        }

        .header-center h3 {
            font-size: 1.1rem !important;
        }
    }


