* { box-sizing: border-box; margin: 0; padding: 0; font-family: Arial, sans-serif; } h2 { text-align: center; } body { display: flex; justify-content: center; align-items: center; background-color: #f4f4f4; width: 100vw; height: 100vh; overflow: hidden; } .container { width: 750px; padding: 20px; background: #fff; border-radius: 8px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } .form-group { margin-bottom: 10px; } label { font-weight: bold; display: block; margin-bottom: 5px; } input, select, button { width: 100%; padding: 8px; font-size: 14px; border: 1px solid #ccc; border-radius: 4px; } .date-group { display: flex; gap: 10px; } .checkbox-container { display: flex; align-items: center; gap: 40px; flex-wrap: nowrap; } .checkbox-group { display: flex; align-items: center; gap: 8px; white-space: nowrap; } .checkbox-group input[type="checkbox"] { transform: translateY(-2px); } .form-row { display: flex; gap: 20px; } .form-row .form-group { flex: 1; } .file-input { display: flex; align-items: center; gap: 10px; } .file-input input[type="text"] { flex: 1; /* Faz a caixa de texto ocupar o maior espaço possível */ padding: 8px; font-size: 14px; border: 1px solid #ccc; border-radius: 4px; } .file-input button { flex-shrink: 0; /* Impede que o botão mude de tamanho */ width: auto; /* Define o tamanho do botão conforme o conteúdo */ white-space: nowrap; /* Garante que o texto não quebre em várias linhas */ padding: 8px 12px; /* Ajusta o preenchimento interno para torná-lo menor */ font-size: 14px; background-color: #b82727; color: #fff; border: none; border-radius: 4px; cursor: pointer; text-align: center; } .file-input button:hover { background-color: #9e0101; } button { background-color: #b82727; color: #fff; border: none; cursor: pointer; font-weight: bold; } button:hover { background-color: #9e0101; } .spinner-image { width: 30vw; /* 80% da largura da viewport */ height: auto; /* Altura proporcional à largura */ max-width: 100%; /* Limitar para não ultrapassar a tela */ max-height: 100%; /* Limitar para não ultrapassar a tela */ object-fit: contain; /* Ajusta a proporção sem distorção */ animation: spin 2s linear infinite, pulse 1.5s ease-in-out infinite; } #spinner-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background-color: rgba(255, 255, 255, 0.8); /* Fundo semi-transparente */ display: flex; justify-content: center; align-items: center; z-index: 1000; /* Garantir que fique acima de outros elementos */ } #spinner-overlay.hidden { display: none; } .spinner-content { text-align: center; } .spinner-content p { margin-top: 20px; font-size: 18px; color: #333; } /* Animação de rotação */ @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* Animação de pulsação */ @keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.2); } }